urllib2是Python的一个库(不用下载,安装,只需要使用时导入import urllib2)它提供了一系列用于操作URL的功能。
urlopen
urllib2.urlopen可以接受Request对象,urllib不能,本文采用urllib2
urllib2.urlopen(url, *data, *timeout)
urlopen方法是urllib2模块最常用的方法,用于访问发送某一请求。
可选参数timeout用于设置超时时间,以秒为单位。
在data为None时默认用GET方法:
response = urllib2.urlopen('http://www.baidu.com/') html = response.read()
这样就获取了该网页的html
在data不为None时使用POST方法:
parmas = urllib2.urlencode({'spam':1,'eggs':2,'bacon':0}) parmas = urllib2.urlencode(values)
response=urllib2.urlopen("http://python.org/query",parmas) html = response.read()
urlopen返回对象提供方法:
- read() , readline() ,readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样
- info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
- getcode():返回Http状态码。如果是http请求,200请求成功完成;404网址未找到
- geturl():返回请求的url
urlretrieve
urlretrieve方法将url定位到的html文件下载到你本地的硬盘中。如果不指定filename,则会存为临时文件。
urllib.urlretrieve(link,path)
urllib.urlcleanup()清除由于urllib.urlretrieve()所产生的缓存