URL解析器urllib2

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()所产生的缓存

 

posted @ 2017-04-05 14:29  corolcorona  阅读(273)  评论(0编辑  收藏  举报