爬虫所需要的功能,基本上在urllib中都能找到,学习这个标准库,可以更加深入的理解后面更加便利的requests库。
首先
在Pytho2.x中使用import urllib2——-对应的,在Python3.x中会使用import urllib.request,urllib.error
在Pytho2.x中使用import urllib——-对应的,在Python3.x中会使用import urllib.request,urllib.error,urllib.parse
在Pytho2.x中使用import urlparse——-对应的,在Python3.x中会使用import urllib.parse
在Pytho2.x中使用import urlopen——-对应的,在Python3.x中会使用import urllib.request.urlopen
在Pytho2.x中使用import urlencode——-对应的,在Python3.x中会使用import urllib.parse.urlencode
在Pytho2.x中使用import urllib.quote——-对应的,在Python3.x中会使用import urllib.request.quote
在Pytho2.x中使用cookielib.CookieJar——-对应的,在Python3.x中会使用http.CookieJar
在Pytho2.x中使用urllib2.Request——-对应的,在Python3.x中会使用urllib.request.Request
urllib是Python自带的标准库,无需安装,直接可以用。
urllib模块提供了如下功能:
- 网页请求(urllib.request)
- URL解析(urllib.parse)
- 代理和cookie设置
- 异常处理(urllib.error)
- robots.txt解析模块(urllib.robotparser)
urllib包中urllib.request模块
1、urllib.request.urlopen
urlopen一般常用的有三个参数,它的参数如下:
r = urllib.requeset.urlopen(url,data,timeout)
url:链接格式:协议://主机名:[端口]/路径
data:附加参数 必须是字节流编码格式的内容(bytes类型),可通过bytes()函数转化,如果要传递这个参数,请求方式就不再是GET方式请求,而是POST方式
timeout: 超时 单位为秒
get请求
import urllibr = urllib.urlopen('//press(‘utf-8','ignore')才能打开,猜测应该是header的问题,换一个有时会好本文主要讲解了python爬虫模块urllib详细使用方法与实例全解,更多关于python爬虫模块urllib详细使用方法与实例请查看下面的相关链接