你用过的爬虫框架或者模块有哪些?谈谈他们的区别或者优缺点?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

你用过的爬虫框架或者模块有哪些?谈谈他们的区别或者优缺点?

珍宝珠 2019-11-01 15:32:49 455

你用过的爬虫框架或者模块有哪些?谈谈他们的区别或者优缺点?

数据采集
分享到
取消 提交回答
全部回答(1)
  • 茶什i
    2019-11-01 15:40:50

    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个网站,并发及分布式处理方面,不够灵活,不便调整与括展。

    request 是一个HTTP库, 它只是用来,进行请求,对于HTTP请求,他是一个强大的库,下载,解析全部自己处理,灵活性更高,高并发与分布式部署也非常灵活,对于功能可以更好实现.

    Scrapy优缺点:

    优点:scrapy 是异步的

    采取可读性更强的xpath代替正则

    强大的统计和log系统

    同时在不同的url上爬行

    支持shell方式,方便独立调试

    写middleware,方便写一些统一的过滤器

    通过管道的方式存入数据库

    缺点:基于python的爬虫框架,扩展性比较差

    基于twisted框架,运行中的exception是不会干掉reactor,并且异步框架出错后是不会停掉其他任务的,数据出错后难以察觉。

    0 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题