版权声明:转载请联系博主。 https://blog.csdn.net/sunyaowu315/article/details/83622293
1 简单介绍
- 相信许多小伙伴学Python的时候,印象最深刻的便是爬虫。而像numpy、pandas一样,Urllib库是Python中一个功能强大、用于操作URL、并在做爬虫的时候经常要用到的库。
- 在Python2.x中,分为Urllib库和Urllin2库,Python3.x之后都合并到Urllib库中,使用方法略微不同。
- httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现。
- Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。更重要的一点是它支持 Python3 哦!
2 相关区别
- 总结1:urllib 和urllib2都是接受URL请求的相关模块,但是urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以伪装你的User Agent字符串等。
- 总结2:urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。
目前的大部分http请求都是通过urllib2来访问的
3 实例讲解
(1)urllib
- urllib简单用法
urllib.urlopen(url[, data[, proxies]]) :
google = urllib.urlopen('http://www.google.com')
print 'http header:/n', google.info()
print 'http status:', google.getcode()
print 'url:', google.geturl()
for line in google: # 就像在操作本地文件
print line,
google.close()
(2)ulrlib2
- urllib2简单用法
(3)httplib
- httplib简单用法
(4)requests
- request简单用法