Python自带:urllib,urllib2
第三方:requests
框架: Scrapy
urllib 和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能。
urllib2: urllib2.urlopen可以接受一个Request对象或者url,(在接受Request对象时,并以此可以来设置 一个URL的headers),urllib.urlopen只接收一个url。
urllib 有urlencode,urllib2没有,因此总是urllib, urllib2常会一起使用的原因
scrapy是封装起来的框架,他包含了下载器,解析器,日志及异常处理,基于多线程,twisted的方式 处理,对于固定单个网站的爬取开发,有优势,但是对于多网站爬取100个网站,并发及分布式处理不 够灵活,不便调整与扩展