【网络爬虫】:Python:url基础:urllib

版权声明:转载请联系博主。 https://blog.csdn.net/sunyaowu315/article/details/83622293


1 简单介绍

  • 相信许多小伙伴学Python的时候,印象最深刻的便是爬虫。而像numpy、pandas一样,Urllib库是Python中一个功能强大、用于操作URL、并在做爬虫的时候经常要用到的库。
  • 在Python2.x中,分为Urllib库和Urllin2库,Python3.x之后都合并到Urllib库中,使用方法略微不同。
    - urllib和urllib2
  • 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简单用法

4 项目实战

猜你喜欢

转载自blog.csdn.net/sunyaowu315/article/details/83622293