解决Python爬虫在爬资源过程中使用urlretrieve函数下载文件不完全且避免下载时长过长陷入死循环,并在下载文件的过程中显示下载进度
2017-10-16 21:45
609 查看
import urllib from urllib.request import urlretrieve #解决urlretrieve下载文件不完全的问题且避免下载时长过长陷入死循环 def auto_down(url,filename): try: urlretrieve(url,filename,jindu) except socket.timeout: count = 1 while count <= 15: try: urlretrieve(url, filename,jindu) break except socket.timeout: err_info = 'Reloading for %d time' % count if count == 1 else 'Reloading for %d times' % count print(err_info) count += 1 if count > 15: print("下载失败") #urlretrieve()的回调函数,显示当前的下载进度 #a为已经下载的数据块 #b为数据块大小 #c为远程文件的大小 global myper def jindu(a,b,c): if not a: print("连接打开") if c<0: print("要下载的文件大小为0") else: global myper per=100*a*b/c if per>100: per=100 myper=per print("当前下载进度为:" + '%.2f%%' % per) if per==100: return True
相关文章推荐
- Python爬虫——解决urlretrieve下载不完整问题且避免用时过长
- python下载文件时显示下载进度的方法
- ios使用AFN框架下载文件显示下载百分比带进度条
- 下载远程文件, 加入一个进度显示 分类: python 2013-06-09 12:09 314人阅读 评论(0) 收藏
- python中如何使用requests模块下载文件并获取进度提示?
- 文件下载之使用AsyncTask并在进度对话框中显示下载进度
- 使用Python编写简单网络爬虫抓取视频下载资源
- Android使用ProgressBar、自定义Notification显示文件下载进度
- 【用Python写爬虫】获取html的方法【四】:使用urllib下载文件
- Python HTTP下载文件并显示下载进度条
- (二)使用libcurl实现获取目标文件大小, 下载进度显示, 断点续传等功能
- Python在使用FTP下载上传文件时遇到中文名称和路径时的解决办法
- github 资源文件下载(python 爬虫)
- libcurl开源库在Win32程序中使用下载文件显示进度条实例
- Android Retrofit文件下载进度显示问题的解决方法
- Python3使用requests模块显示下载进度
- 使用libcurl实现获取目标文件大小, 下载进度显示, 断点续传等功能
- python 下载文件到本地,并显示进度
- python学习--下载--下载固定文件显示下载百分之的进度
- 使用Python编写简单网络爬虫抓取视频下载资源