之前讲过urllib库的用法,有的小伙伴问和urllib2有什么区别?还有一个urllib3又是什么?一连串问题铺天盖地而来。不着急,我们一个一个解决呀。在开始今天的讲解之前,大家一定要把urllib库的基础知识掌握牢固了。知识之前的融会贯通,也是需要坚实的基础的。下面就让我们一起来学习吧。
要抓取网页数据,要做的就是向服务器发起请求并获取响应,而在Python中,我们可以使用urllib2这个库来实现。urllib2的用法其实基本和urllib相似,且它只存在于Python2版本,它的使用时需要配合urllib一起使用。
urllib2发起GET请求
这里展示了一个官方使用urllib2的GET请求
import urllib2
res = urllib2.urlopen("http://httpbin.org/get")
print res.read().decode()
拓展:urllib3发起GET请求
urllib3说一个HTTP客户端Python库,Python2和Python3在未安装的情况下均可以使用pip install urllib3即可安装,它提供了很多urllib库中没有的重要特性:线程安全 连接池 客户端SSL/TLS验证 文件分部编码上传协助处理重复请求和HTTP重定位支持gzip和deflate压缩编码支持HTTP和SOCKS代理100%测试覆盖率 。
urllib3主要的特点就是在请求之前需要创建一个连接池对象。
import urllib3
http = urllib3.PoolManager() # 线程池生成请求
res = http.request('GET', 'http://httpbin.org/get')
print(res.data.decode())
以上就是python爬虫Urllib2库的简介以及发出请求的方法。更多Python学习推荐:PyThon学习网教学中心。
发表评论
还没有评论,快来抢沙发吧!