Python3 requests文件下载 期间显示文件信息和下载进度代码实例
这篇文章主要介绍了Python3 requests文件下载 期间显示文件信息和下载进度代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
"""使用模块线程方式实现网络资源的下载 # 实现文件下载, 期间显示文件信息&下载进度 # 控制台运行以显示进度 """ import requests import os.path as op import os from sys import stdout def downloadfile(url, filename): """下载文件并显示过程 :param url: 资源地址 :param filename: 保存的名字, 保存在当前目录 """ # print(url) filename = filename + '.' + op.splitext(url)[-1] file_to_save = op.join(os.getcwd(), filename) # print(file_to_save) with open(file_to_save, "wb") as fw: with requests.get(url, stream=True) as r: # 此时只有响应头被下载 # print(r.headers) print("下载文件基本信息:") print('-' * 30) print("文件名称:", filename) print("文件类型:", r.headers["Content-Type"]) filesize = r.headers["Content-Length"] print("文件大小:", filesize, "bytes") print("下载地址:", url) print("保存路径:", file_to_save) print('-' * 30) print("开始下载") chunk_size = 128 times = int(filesize) // chunk_size show = 1 / times show2 = 1 / times start = 1 for chunk in r.iter_content(chunk_size): fw.write(chunk) if start <= times: stdout.write(f"下载进度: {show:.2%}\r") start += 1 show += show2 else: stdout.write("下载进度: 100%") print("\n结束下载") if __name__ == "__main__": downloadfile("https://code.jquery.com/jquery-3.4.1.js", "a")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Python使用requests发送POST请求实例代码
本文研究的主要是Python使用requests发送POST请求的相关内容,具体介绍如下. 一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行 请求报头 消息主体 HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式.服务端通过是根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码,再对消息主体进行解析.具体的编码方式包括: application/x-www-form-urlencode
-
Python 通过requests实现腾讯新闻抓取爬虫的方法
最近也是学习了一些爬虫方面的知识.以我自己的理解,通常我们用浏览器查看网页时,是通过浏览器向服务器发送请求,然后服务器响应以后返回一些代码数据,再经过浏览器解析后呈现出来.而爬虫则是通过程序向服务器发送请求,并且将服务器返回的信息,通过一些处理后,就能得到我们想要的数据了. 以下是前段时间我用python写的一个爬取TX新闻标题及其网址的一个简单爬虫: 首先需要用到python中requests(方便全面的http请求库)和 BeautifulSoup(html解析库). 通过pip来安装这两个
-
Python3使用requests模块实现显示下载进度的方法详解
本文实例讲述了Python3使用requests模块实现显示下载进度的方法.分享给大家供大家参考,具体如下: 一.配置request 1. 相关资料 请求关键参数:stream=True.默认情况下,当你进行网络请求后,响应体会立即被下载.你可以通过 stream 参数覆盖这个行为,推迟下载响应体直到访问 Response.content 属性. tarball_url = 'https://github.com/kennethreitz/requests/tarball/master' r =
-
python requests使用socks5的例子
网络爬虫由于一个ip频繁访问同一网站,容易返回456或者被长时间封禁. 特别的本机有socks5客户端的设置如下,前提是已经安装了socks5的客户端软件,并且启动起来在固定端口为本机提供服务. 使用前先更新requests版本为支持socks的版本. pip install -U requests[socks] import requests my_proxies={"http":"http://127.0.0.1:1080","https":
-
解决python3中的requests解析中文页面出现乱码问题
第一部分 关于requests库 (1) requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到. (2) 其中的Request对象在访问服务器后会返回一个Response对象,这个对象将返回的Http响应字节码保存到content属性中. (3) 但是如果你访问另一个属性text时,会返回一个unicode对象,乱码问题就会常常发成在这里. (4) 因为Response对象会通过另一个属性encoding来将字节码编码成unicode,而这个en
-
详解Python requests 超时和重试的方法
网络请求不可避免会遇上请求超时的情况,在 requests 中,如果不设置你的程序可能会永远失去响应. 超时又可分为连接超时和读取超时. 连接超时 连接超时指的是在你的客户端实现到远端机器端口的连接时(对应的是 connect() ),Request 等待的秒数. import time import requests url = 'http://www.google.com.hk' print(time.strftime('%Y-%m-%d %H:%M:%S')) try: html = re
-
浅谈python requests 的put, post 请求参数的问题
post, put请求的参数有两种形式 一种是把参数拼接在url中 对应postman 第二种是把参数放在body中 对应postman 在Python requests 库中 一般在的资料都会介绍 post,put请求的参数 用data 这种情况下参数会放在body中 但是有些接口参数通过body传入获取不到只能获取到URL中的参数 我们就需要用到 类似于get请求中的 params 传入参数 requests.post(url=url, params=data, verify=False,
-
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
此程序以李毅吧为例子,以面向对象的设计思想实现爬取保存网页数据,暂时并未用到并发处理,以后有机会的话会加以改善 首先去百度贴吧分析贴吧地址栏中url后的参数,找到分页对应的参数pn,贴吧名字对应的参数kw 首先创建类,写好__init__方法,run方法,__init__方法里先可以直接写pass run方法里大概整理一下整体的思路 构造 url 列表,因为要爬取1000页,每页需对应一个url 遍历发送请求,获取响应 保存 将可封装的步骤封装到单独的方法,所以这里又增加了三个方法 get_ur
-
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
这篇文章主要介绍了Python3 requests文件下载 期间显示文件信息和下载进度代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 """使用模块线程方式实现网络资源的下载 # 实现文件下载, 期间显示文件信息&下载进度 # 控制台运行以显示进度 """ import requests import os.path as op import os from sys import
-
javascript写一个ajax自动拦截并下载数据代码实例
这篇文章主要介绍了javascript写一个ajax自动拦截并下载数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width
-
python基于gevent实现并发下载器代码实例
这篇文章主要介绍了python基于gevent实现并发下载器代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 并发下载原理 import gevent from gevent import monkey import urllib.request monkey.patch_all() def my_download(url): print('GET: %s' % url) resp = urllib.request.urlopen(url
-
Android中使用AsyncTask做下载进度条实例代码
android AsyncTask做下载进度条 AsyncTask是个不错的东西,可以使用它来做下载进度条.代码讲解如下: package com.example.downloadfile; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.a
-
python3 requests库文件上传与下载实现详解
在接口测试学习过程中,遇到了利用requests库进行文件下载和上传的问题.同样,在真正的测试过程中,我们不可避免的会遇到上传和下载的测试. 文件上传: url = ztx.host+'upload/uploadFile?CSRFToken='+self.getCSRFToken()#上传文件的接口地址 header = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', '
-
python3 下载网络图片代码实例
说明:这里仅展示在已经获取图片链接后的下载方式,对于爬虫获取链接部分参考前面的文章 1.利用文件读写的方式下载图片 #第一种:用urllib2模块下载 import urllib2 link = ' ' headers = { } request = urllib2.Request(link, headers=headers) image = urllib2.urlopen(request).read() filename = link[-5:] # 注意这里要用wb模式 with open (
-
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
复制代码 代码如下: <?php function Download() { $urlodd=explode('//',$_POST["url"],2);//把链接分成2段,//前面是第一段,后面的是第二段 $head=strtolower($urlodd[0]);//PHP对大小写敏感,先统一转换成小写,不然 出现HtTp:或者ThUNDER:这种怪异的写法不好处理 $behind=$urlodd[1]; if($head=="
-
Python selenium文件上传下载功能代码实例
上传 html文件内容如下:操作步骤 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>upload_file</title> <script type="text/javascript" async="" src="htt
-
Python3 pyecharts生成Html文件柱状图及折线图代码实例
代码如下 pip3 install pyechatrs #! /usr/bin/python3 from pyecharts.charts import Bar, Page from pyecharts import options as opts x = [ 'python数据可视化库 a1','python数据可视化库 b1','python数据可视化库 c1' ] y1 = [ 1140,520,270 ] y2 = [1000,300,500] bar = Bar() #设置x轴 bar
随机推荐
- ASP.NET如何获取两个日期之间的天数
- C#入门教程之ListBox控件使用方法
- Perl合并文本的一段实例代码
- jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
- vbs sendmail发邮件带附件方法
- 新安装的用户,请检查有没有修改默认的数据库密码。
- JS实现自定义简单网页软键盘效果代码
- 简要剖析PHP的Yii框架的组件化机制的基本知识
- 利用Python破解验证码实例详解
- 使用maven一步一步构建spring mvc项目(图文详解)
- DOM 事件流详解
- 异步加载script的代码
- .NET微信公众号开发之创建自定义菜单
- javascript smipleChart 简单图标类
- SQL Server恢复模型之批量日志恢复模式
- Javascript实现重力弹跳拖拽运动效果示例
- 基于JavaScript实现生成名片、链接等二维码
- checkbox实现全选的多种方法 不断更新 原创
- Vim自定义高亮分组以及一些实用技巧小结
- Javascript 高性能之递归,迭代,查表法详解及实例