python自动下载网页中的文件,python 自动下载脚本

news2024/9/20 10:58:41

本篇文章给大家谈谈python自动下载文件 下载的不完整,以及python登录网站自动下载文件,希望对各位有所帮助,不要忘了收藏本站喔。

问题描述

Python自动下载文件,通用文件,包括但不限于压缩文件、图片等。

解决方法

一般情况下,Python下载文件的方式有以下几种:

利用urllib、urllib2,即Python爬虫用的最多的库;

import urllib

import urllib2

import requests

url = "你的下载链接"

urllib.urlretrieve(url, demo.zip)

urllib.urlretrieve(url, demo.zip)这个函数还可以接受另外一个参数,比如这样用:

urllib.urlretrieve(url,local,Schedule),其中Schedule为:

def Schedule(a,b,c):

'''''

a:已经下载的数据块

b:数据块的大小

c:远程文件的大小

'''

per = 100.0 * a * b / c

if per > 100 :

per = 100

print '%.2f%%' % per

这样程序可以即时打印出下载的进度怎么用python画五瓣花朵。

利用urllib2.urlopen(url);

import urllib2

print downloading with urllib2

url = "您的链接"

f = urllib2.urlopen(url)

data = f.read()

with open ("demo2.zip", "wb" ) as code:

code.write(data)

利用requests,划重点,我女神推荐的!

import requests

url = "您的链接"

r = requests.get(url)

with open ("demo3.zip", "wb") as code:

code.write(r.content)

这三种下载方式一般都可以,根据自己的喜好选择。

问题升级

17f477d45363

第一次下载下来的文件仔细看发现,这是一个请求登录的表单:

于是手动复制地址到浏览器,跳转到EARTHDATA的登录页

17f477d45363

跳转到的登录页.png果断申请账号登录。

问题解决,Python携带cookie下载文件

登录之后,跳转至下载链接,发现文件可以正常下载。

打开https://n5eil01u.ecs.nsidc.org,在页面打开调试模式(F12),选择Console,输入document.cookie,可以看到自己登录之后的Cookie:

17f477d45363

如何获取网站的cookie.png那么剩下的就是下载了,用了女神推荐的函数:

第一种

# --------------------第一种:使用headers携带cookie-----------------------------

# coding = utf-8

import requests

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64),

'Cookie':'_ga=GA1.2.1096053304.1523154394; googtrans=/en/zh-CN; _ceg.s=p6uhnx; _ceg.u=p6uhnx',

}

# 发起请求,获取二进制数据

html_str = requests.get(url,headers=headers).content

# 写入文件,采用二进制写入文件

with open('路径/文件名.后缀','wb') as f:

f.write(html_str)

第二种

# --------------------第二种:在requests直接携带--------------------------------

# coding = utf-8

import requests

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'

}

# cookies = {你的cookies,这里必须是以键值对,也就是字典的形式}

cookies = {"_ga": "GA1.2.1096053304.1523154394", "googtrans": "/en/zh-CN", "_ceg.s": "p6uhnx", "_ceg.u": "p6uhnx", " CIsForCookie_OPS": "Wss4tcCozd0AANFW49YAAABM"}

# 发起请求,获取二进制数据

html_str = requests.get(url,headers=headers,cookies = cookies).content

# 写入文件,采用二进制写入文件

with open('路径/文件名.后缀','wb') as f:

f.write(html_str)

最后成功的下载了文件。

Python大法系列文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1304516.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

隐语开源|周爱辉:隐语 TEE 技术解读与跨域管控实践

“隐语”是开源的可信隐私计算框架,内置 MPC、TEE、同态等多种密态计算虚拟设备供灵活选择,提供丰富的联邦学习算法和差分隐私机制 开源项目 github.com/secretflow gitee.com/secretflow 11月25日,「隐语开源社区 Meetup西安站」顺利举办&…

【动态规划】03斐波那契数列模型_最小花费爬楼梯_C++(easy1)

题目链接:leetcode使用最小花费爬楼梯 目录 题目解析: 算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 编写代码 题目解析: 题目让我们求达到楼梯顶部的最低花费. 由题可得: cost[i] 是从楼梯第 i 个…

【EMQX】通过EMQX webhook实现转发消息到Python web服务器

EMQX webhook消息转发Web服务器 一、前言二、实现1、EMQX服务器搭建EMQX下载、安装、启动 2、本地Web服务搭建创建Flask项目代码 3、EMQX中创建webhook数据桥接4、EMQX中创建数据转发规则 三、效果 一、前言 需求:获取设备通过mqtt协议发送过来的数据并将数据保存到…

【sqli靶场】第四关和第五关通关思路

目录 前言 一、sqli靶场第四关 1.1 判断注入类型 1.2 观察报错 1.3 判断数据表中的列数 1.4 使用union联合查询 1.5 使用group_concat()函数 二、sqli靶场第五关 2.1 判断注入类型 2.2 使用extractvalue函数报错 2.3 爆出数据库中的表名 2.4 爆出users表中的列名 2.5 爆出use…

异地现场工控设备,如何实现远程配置、调试?

南京某企业专注于工业物联领域,在相关项目中往往会在各个点位部署基于Linux系统的中控主机,实现各类物联设备信息的采集、汇总。但是,由于各点位分散多地,且数量达到了上百个,虽然中控主机具备4G物联网接入能力&#x…

Java设计模式-单例(Singleton)设计模式的概述及实现

目录 🐶1 设计模式概述 🐶2 何为单例模式 🐶3 实现思路 🐶4 饿汉式实现代码 🐶5 懒汉式实现代码 🐶6 对比两种模式(特点、优缺点) 🐶7 单例模式的优点及应用场景 &…

系统提示:comres.dll丢失怎么办,comres.dll丢失的解决方法

comres.dll是Windows操作系统中一个非常重要的动态链接库文件,它负责提供一些重要的功能和资源。当这个文件丢失或损坏时,可能会导致一系列的问题和影响。本文将介绍comres.dll文件丢失对电脑的影响以及comres.dll丢失的原因,并提供5个解决方…

数据科学工作的20个Pandas函数(备忘)

Pandas 是数据科学社区中使用最广泛的库之一,它是一个强大的工具,可以进行数据操作、清理和分析。 本文将提供最常用的 Pandas 函数以及如何实际使用它们的样例。我们将涵盖从基本数据操作到高级数据分析技术的所有内容,到本文结束时&#xf…

Fnac、Darty跨境利用利用自养号测评补单提升销量和排名

Fnac是法国最有名字的零售商之一,成立于1954年,也是欧洲增长最快的平台之一,2016年,Fnac并购Darty,同时在自己的网站上添加了Darty板块,FnacDarty集团正式成立 国内的产品在Fnac,Darty平台上还…

使用shell脚本将一台虚拟机上面数据分发到其他虚拟机上面xsync

目录 1,功能2,注意点3,shell脚本介绍4,bash内容 1,功能 使用shell脚本将一台虚拟机上面数据分发到其他虚拟机上面。 2,注意点 需要修改的地方:hadoop250 hadoop251 hadoop252 hadoop253 hado…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(1.结构与源码概述)

在文章【Redis】不卡壳的 Redis 学习之路:从十大数据类型开始入手中我们介绍了Redis常用的10大数据类型,这10大数据类型可并不是直接在底层通过代码实现的,而是通过不同的底层数据结构组合起来的,这篇我们介绍下Redis常用数据类型…

多域名和通配符SSL证书的区别

域名SSL证书和通配符SSL证书都是SSL数字证书中用一张证书保护多个域名站点的证书产品,这两种类型的SSL数字证书各自有各自的特色,今天就随SSL盾小编了解多域名SSL证书和通配符SSL证书的区别。 1.保护的域名类型不同:多域名SSL证书默认保护3-…

从视频中提取图片,轻松制作专属视频封面

你是否曾经为如何制作一个吸引人的视频封面而烦恼?现在,我们将向你展示如何从视频中提取图片,并轻松制作专属的视频封面。无论你是视频编辑新手,还是经验丰富的专业人士,这个技巧都能够帮助你快速提升你的视频品质。 …

外包干了3年,技术退步太明显了。。。。。

先说一下自己的情况,本科生生,18年通过校招进入武汉某软件公司,干了差不多3年的功能测试,今年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能…

4fiddler抓包工具的使用

一、定义 1.1 抓包的定义 说明:客户端向服务器发送请求以及服务器响应客户端的请求,都是以数据包来传递的。 抓包(packet capture):通过工具拦截客户端与服务器交互的数据包 1.2 fiddler的介绍 Fiddler是一个http协议调试代理工具&#…

黄油市场调研:预计2028年将达到717亿美元

黄油富含矿物质和维生素,奶油主要为脂肪和蛋白质组成,黄油主要用于涂抹面包和煎牛排等,随着西餐认可度提升,国内需求持续上行。黄油营养成分为乳制品之首,脂肪含量更高。 黄油主要用于涂抹面包和煎牛排等,随…

二叉树的所有路径

257. 二叉树的所有路径 - 力扣(LeetCode) 题目描述 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 样例输入 示例 1: 输入:root […

以太坊:前世今生与未来

一、引言 以太坊,这个在区块链领域大放异彩的名字,似乎已经成为了去中心化应用(DApps)的代名词。从初期的萌芽到如今的繁荣发展,以太坊经历了一段曲折而精彩的旅程。让我们一起回顾一下以太坊的前世今生,以…

protobuf基础学习

部分内容出自:https://blog.csdn.net/baidu_32237719/article/details/99723353 proto文件来预先定义的消息格式。数据包是按照proto文件所定义的消息格式完成二进制码流的编码和解码。proto文件,简单地说,就是一个消息的协议文件&#xff0c…

【WinRAR】为什么右键没有压缩选项?

我们安装了WinRAR之后想要压缩文件,但是右键点击文件之后发现并没有WinRAR压缩选项,这应该如何设置才能出现右键带有压缩选项呢?方法如下: 首先打开WinRAR,在上面功能中点击选项 – 设置 然后我们在设置界面中切换到集…