API定义:
urllib.request.urlretrieve(url,filename=None,reporthook=None, data=None)
利用urlretrieve() 将数据下载到本地。
- 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
 
- 参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
 
- 参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。
用法:
>>> import urllib.request
>>>local_filename,headers=urllib.request.urlretrieve('http://python.org/')
>>> html = open(local_filename)
>>> html.close()
注意:当html=open(local_filename),然后lines=html.readlines()时可能会出现unicode错误
处理方法:html=open(local_filename,'utf-8')这样就会解决unicode问题。
例子:抓取web页面

#coding:utf-8
from urllib.request import urlretrieve def firstNonBlank(lines):
for eachLine in lines:
if not eachLine.strip():
continue
else:
return eachLine def firstLast(webpage):
f=open(webpage,encoding='utf-8')
lines=f.readlines()
f.close()
print(firstNonBlank(lines))
lines.reverse()
print(firstNonBlank(lines)) def download(url='http://www.baidu.com',process=firstLast):
try:
retval=urlretrieve(url)[0]
except IOError:
retval=None
if retval:
process(retval) if __name__=="__main__":
download()

Python中urlretrieve函数的更多相关文章

  1. Python urllib urlretrieve函数解析

    Python urllib urlretrieve函数解析 利用urllib.request.urlretrieve函数下载文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Ur ...

  2. Python中split()函数的用法及实际使用示例

    Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...

  3. Python中利用函数装饰器实现备忘功能

    Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下   " ...

  4. python中range()函数的用法

    python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...

  5. Python 中的函数

    学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数是结构化编程的核心.我们使用函数可以增加程序的可读性.自定义函数时使用关键字def 函数由多条语句组成.在定义函数 ...

  6. python中format函数

    python中format函数用于字符串的格式化 通过关键字 1 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 2 grade = {'nam ...

  7. Python中readline()函数 去除换行符

    从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...

  8. Python中int()函数的用法浅析

      int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int)  Help on class int in module __builti ...

  9. 【313】python 中 print 函数用法总结

    参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...

随机推荐

  1. UIkit框架之UIScrollView

    1.继承链:UIview:UIresponder:NSObject 引言 UIScrollView的是几个UIKit类包括的UITableView和UITextView中的超类. 一个UIScroll ...

  2. javaweb-c3p0

    //c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?><c3p0-config> ...

  3. GCC,GDB,Makefile和IO复用函数

    2015.1.22 c高级的环境搭建:GCC编译器:全称 GNU CC,是GNU工具(tool chain)的一种,源码编译成机器码,gcc的编译依赖于很多小工具4.3.3和3.4.3版本的比较稳定 ...

  4. 【Tsinghua OJ】祖玛(Zuma)问题

    描述 祖玛是一款曾经风靡全球的游戏,其玩法是:在一条轨道上初始排列着若干个彩色珠子,其中任意三个相邻的珠子不会完全同色.此后,你可以发射珠子到轨 道上并加入原有序列中.一旦有三个或更多同色的珠子变成相 ...

  5. 自动打补丁Bat指令

    自动打补丁 补丁放于hotfix文件夹下 for %%i in (hotfix\*.exe) do start /wait %%i /z /u

  6. 修复Dll文件

    for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

  7. Investment_完全背包

    Description John never knew he had a grand-uncle, until he received the notary's letter. He learned ...

  8. Extjs学习笔记(-):ComboBox联动

    http://www.cnblogs.com/wumin97136/archive/2007/12/24/1012720.html http://examples.ext.net/ http://ex ...

  9. .csproj文件的配置 IIS可以调试

    <ProjectExtensions> <VisualStudio> <FlavorProperties GUID="{349c5851-65df-11da-9 ...

  10. DNS劫持和DNS污染解决办法

    编号:1013时间:2016年5月26日09:35:27功能:DNS劫持和DNS污染解决办法URL : http://www.itechzero.com/dns-hijacking-dns-pollu ...