下面我们再来看看 urllib 模块提供的 urlretrieve() 函数。urlretrieve() 方法直接将远程数据下载到本地。
1 |
>>> help (urllib.urlretrieve) |
2 |
Help on function urlretrieve in module urllib: |
4 |
urlretrieve(url, filename = None , reporthook = None , data = None ) |
- 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
- 参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
- 参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。
下面通过例子来演示一下这个方法的使用,这个例子将 google 的 html 抓取到本地,保存在 D:/google.html 文件中,同时显示下载的进度。
08 |
per = 100.0 * a * b / c |
15 |
urllib.urlretrieve(url, local, cbk) |
在 Python Shell 里执行如下:
01 |
Python 2.7 . 5 (default, May 15 2013 , 22 : 44 : 16 ) [MSC v. 1500 64 bit (AMD64)] on win32 |
02 |
Type "copyright" , "credits" or "license()" for more information. |
10 |
per = 100.0 * a * b / c |
18 |
>>> urllib.urlretrieve(url, local, cbk) |
23 |
( 'd://google.html' , <httplib.HTTPMessage instance at 0x0000000003450608 >) |
下面是 urlretrieve() 下载文件实例,可以显示下载进度。
11 |
per = 100.0 * a * b / c |
16 |
#local = url.split('/')[-1] |
17 |
local = os.path.join( '/data/software' , 'Python-2.7.5.tar.bz2' ) |
18 |
urllib.urlretrieve(url,local,Schedule) |
通过上面的练习可以知道,urlopen() 可以轻松获取远端 html 页面信息,然后通过 python 正则对所需要的数据进行分析,匹配出想要用的数据,在利用urlretrieve() 将数据下载到本地。对于访问受限或者对连接数有限制的远程 url 地址可以采用 proxies(代理的方式)连接,如果远程数据量过大,单线程下载太慢的话可以采用多线程下载,这个就是传说中的爬虫。
- urllib.urlretrieve远程下载
下面我们再来看看 urllib 模块提供的 urlretrieve() 函数.urlretrieve() 方法直接将远程数据下载到本地. >>> help(urllib.urlret ...
- python urllib从远程服务器下载文件到本地
#!/usr/bin/env python #-*-coding:utf--*-' #Filename:download_file.py import sys,os import urllib def ...
- urllib.request.urlretrieve()用于下载制定url内容到本地
函数:urllib.urlretrieve(url[, filename[, reporthook[, data]]]) 参数说明: url:外部或者本地url ,url中不要含有中文,好像会出错.f ...
- Python urllib urlretrieve函数解析
Python urllib urlretrieve函数解析 利用urllib.request.urlretrieve函数下载文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Ur ...
- urllib.urlretrieve的用法
urllib.urlretrieve(url, local, cbk) urllib.urlretrieve(p,'photo/%s.jpg'%p.split('/')[-4]) url要下载的网站 ...
- Python 模块功能paramiko SSH 远程执行及远程下载
模块 paramiko paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现 ...
- [properJavaRDP]在网页中实现远程连接
内容摘要: 利用开源软件properJavaRDP实现远程桌面连接 如何让Applet嵌入到网页中正常运行 如何处理连接win7时的异常:Wrong modulus size! Expected 64 ...
- 树莓派2B安装Xware迅雷远程下载
转自:http://www.cnblogs.com/liangjh/articles/5347811.html 一.安装使用迅雷Xware (1)下载Xware1.0.31_armel_v5te_gl ...
- paip.点击每个网页链接都提示下载的解决。
paip.点击每个网页链接都提示下载的解决. 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn. ...
随机推荐
- 20145211 《Java程序设计》第2周学习总结——桃花依旧笑春风
教材学习内容总结 基本类型 整数 short 2字节,int 4字节,long 8字节 字节 byte 1字节 浮点数 float 4字节,double 8字节 字符 char 2字节(包括字母.汉字 ...
- [LeetCode]题解(python):035-Search Insert Position
题目来源 https://leetcode.com/problems/search-insert-position/ Given a sorted array and a target value, ...
- SQL语句创建表和数据库
删除数据库,SQL Server将数据库的清单存放在master系统数据库的sysdatabases表中,只需要查看该表是否存在于该数据库中就可以了,语句如下: use master -- 设置当 ...
- iOS企业开发plist安装包实现
第一步: 在使用MACBOOK导出ipa的时候,我们得到ipa的同时,还得到一份plist文件 看到我们导出的plist,需要注意的地方有两个已经用中文标注. 一个是URL,一个是bundle-ide ...
- shell自动计算脚本
shell自动计算脚本 #!/bin/bash echo $(($)) [root@bogon ~]# sh b.sh 123+123246 let用户声明这个操作是要计算,后者的效率更高 (expr ...
- Linux主机安全
Linux主机安全 1. 禁用远程登录root. 2.修改ssh默认端口 暂定为3600. 3. 输错三次密码,禁用5分钟. 3.1 非图形界面登录 vim /etc/pam.d/login 在# ...
- Linux就这个范儿 第11章 独霸网络的蜘蛛神功
Linux就这个范儿 第11章 独霸网络的蜘蛛神功 第11章 应用层 (Application):网络服务与最终用户的一个接口.协议有:HTTP FTP TFTP SMTP SNMP DNS表示层 ...
- Android 使用Okhttp/Retrofit持久化cookie的简便方式
首先cookie是什么就不多说了,还是不知道的话推荐看看这篇文章 Cookie/Session机制详解 深入解析Cookie技术 为什么要持久化cookie也不多说了,你能看到这篇文章代表你有这个需求 ...
- 磁盘空间已满导致rabbitmq无法启动
rabbitmq-server 启动问题 今天遇到一个挺奇怪的 rabbitmq-server 的启动问题. 在内部使用的 openstack 环境上,rabbitmq-server突然就关掉了,无法 ...
- 8月3日奥威Power-BI V11 视频交流开课啦!
) 进群备注:奥威Power-BI V11 在QQ群上不见不散! 主题: Power-BI V11 基于EXCEL数据源快速制作管理驾驶舱 分享交流内容: 1.产品安装与配置(超级简单,傻瓜式安装) ...