python2x与3x下使用urlretrieve下载文件
1、python2x下urlretrieve方法:
直接将远程数据下载到本地。
urllib.urlretrieve(url[, filename[, reporthook[, data]]])
参数说明:
url:外部或者本地url
filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);
reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。
data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。
下面通过例子来演示一下这个方法的使用,这个例子将新浪首页的html抓取到本地,保存在D:/sina.html文件中,同时显示下载的进度。
import urllib
def callbackfunc(blocknum, blocksize, totalsize): '''回调函数 @blocknum: 已经下载的数据块 @blocksize: 数据块的大小 @totalsize: 远程文件的大小 ''' percent = 100.0 * blocknum * blocksize / totalsize if percent > 100: percent = 100 print "%.2f%%"% percent url = 'http://www.sina.com.cn' local = 'd:\\sina.html' urllib.urlretrieve(url, local, callbackfunc)
2、python3下面要使用:urllib.request.urlretrieve()这种形式的调用,下面附一个python3下爬取贴吧上的图片的爬虫程序:
import urllib.request
import re
#py抓取页面图片并保存到本地#获取页面信息
def getHtml(url): html = urllib.request.urlopen(url).read() return html #通过正则获取图片 def getImg(html): reg = 'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imglist = re.findall(imgre,html) # print(imglist) return imglist html = getHtml("http://tieba.baidu.com/p/2460150866") list=getImg(html.decode()) #循环把图片存到本地 x = 0 for imgurl in list: print(x) urllib.request.urlretrieve(imgurl,'d:\\%s.jpg'% x) x+=1 print("done")
python2x与3x下使用urlretrieve下载文件相关推荐
- 已解决urllib.request.urlretrieve下载文件报错403
已解决(python使用urlopen/urlretrieve下载文件时出现403 forbidden)urllib.error.HTTPError: HTTP Error 403: Forbidde ...
- linux 传文件夹,linux下上传下载文件夹的方法
Linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 test1为源目录,test2 ...
- python urlretrieve登录下载_使用python urlretrieve下载文件
urlretrieve()方法直接将远程数据下载到本地.urlretrieve()是python urllib下的一个函数,python3已经将urlretrieve()移到urllib.reques ...
- python2x与3x下urlretrieve的使用
1.python2x下urlretrieve方法: 直接将远程数据下载到本地. urllib.urlretrieve(url[, filename[, reporthook[, data]]]) 参数 ...
- C/C++在VS2015下使用CURL下载文件
CURL库下载地址 http://download.csdn.net/detail/kupig/9060961 #include "stdafx.h" #include & ...
- java本地可以发到linux不行,java 使用 ftp 在windows环境下可以正常下载文件,在linux环境下不行...
windows环境下使用 public static void dowmloadFtpWindos(String fileUuid, HttpServletRequest request,HttpSe ...
- IE浏览器下点击下载文件没反应
今天测试系统中的文件下载时,点击文件下载后,浏览器没反应,在网上找了下原因是IE的临时文件夹目录没有了,设置一下即可. 方法如下: 设置下IE的临时文件夹即可
- ubuntu下 apt-get install 下载文件存放的位置
存放位置: /var/cache/apt/archives/ 清除保存包: 这个命令只会删除缓存起来的deb包,不会取消已经更新了的包 apt-get clean
- python爬虫下载文件-【Py大法系列--03】Python如何自动下载文件
问题描述 Python自动下载文件,通用文件,包括但不限于压缩文件.图片等. 解决方法 一般情况下,Python下载文件的方式有以下几种: 利用urllib.urllib2,即Python爬虫用的最多 ...
最新文章
- 异常处理汇总-开发工具
- python crawler(1)
- 我学shell程序的记录
- Faster-RCNN训练自己数据集遇到的问题集锦
- Confluence与Jira整合之统一用户管理
- pandas数据存储于读取
- JavaScript类型转换的有趣应用
- CNN 模型框架(转)
- 中国老工业基地吉林对外贸易重回历史高水平
- 基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法
- GNURadio For Windows编译安装脚本v1.1.1发布
- vue3 composition API
- 对于现在毕业之后,大部分找不到合适的工作,转行到软件开发(大部分是JAVA)的人来说,分享下自己的经验
- Matlab App Designer自学笔记(九):容器及图窗控件
- 快速将有文件的FAT32格式的U盘转NTFS格式(Windows)
- pip国内镜像解决no matching distribution found for XXX
- 在linux环境下测试和使用aria2c
- 攻防世界MISC进阶之misc1
- 传统行业的互联网创业机会在哪里?
- 1121. Damn Single
热门文章
- 20100506 学习记录:grdview添加新的一行数据
- [CoolStuff]有趣的Zumobi
- (原創) 我的Design Pattern之旅[3]:使用template改進Strategy Pattern (OO) (Design Pattern) (C/C++) (template)...
- 我依然坚持建议你开始写博客 | 写给我的 2017
- tf.name_scope() 和 tf.variable_scope() 的用法和玄机
- F5配置irule,使其系统在X个时间段提供服务,其余时间显示维护页面
- zabbix文档3.4-7配置
- 【Java】全站编码过滤器GenericEncodingFilter代码与配置
- Openvswitch原理与代码分析(3): openvswitch内核模块的加载
- APUE学习笔记——第十章信号中10.15节例程的运行结果与书本里的不一样