Python中pyspider和scrapy框架的对比与选择

用过两者的朋友吗? 说说具体咋样

要做选型


Python中pyspider和scrapy框架的对比与选择
10 回复

现在还有用 pysipder 的吗?


这两个框架我都用过,各有各的适用场景。

Scrapy 是更成熟、更“标准”的工业级框架。它的架构清晰(引擎、调度器、下载器、爬虫、管道),扩展性极强。你想加代理池、分布式(配合Scrapy-Redis)、深度定制中间件,或者项目结构要求清晰,选Scrapy准没错。它更像一个给你搭好了主干的框架,你往里面填肉就行。但它的调试和实时交互性相对弱一些。

pyspider 最大的特点是自带Web UI,调试和监控非常直观。它用起来更像一个脚本,上手快,特别适合爬取页面结构相对简单、不需要复杂分布式架构的项目。它的“项目”管理在Web页面上完成,对新手或者需要快速验证、监控少量任务的情况很友好。不过,在应对大规模、复杂结构的爬取时,它的灵活性和扩展性不如Scrapy。

怎么选?

  • 如果你要做的是一个正经的、长期的、可能很复杂的爬虫项目,需要良好的架构和强大的扩展能力,用Scrapy
  • 如果你需要快速上手、实时调试和可视化监控,爬取的量不大、逻辑不复杂,或者主要目的是写一些灵活的抓取脚本,可以试试pyspider

简单说,大型复杂项目选Scrapy,快速轻量任务可考虑pyspider

lz 爬虫规模大吗,不大的话,说真心话,上 node 吧

不大 Python 更方便吧

感觉 pyspider 在任务调度方面比 scrapy 做的好一些,但是个人还是喜欢可控的 scrapy.像 pyspider 出错不容易查问题并且一旦进入 pause 状态就 10 分钟不能动这是不能忍的。

node 用什么库来爬?

两者都用过,但只是做自己的小项目,都是很好的框架,但比较喜欢 scrapy,目录结构好,做图片等资源采集不错,pyspider 编辑起来不太方便,但任务调度比 scrapy 方便很多,可以很方便进行定时、增量爬取。

谢邀 :P
pyspider 本来就是为了解决 scrapy 不好解决的问题设计的。但是作为框架本身的成熟度来说,和 scrapy 比还是有差距的。
https://stackoverflow.com/questions/27243246/can-scrapy-be-replaced-by-pyspider
https://www.quora.com/How-does-pyspider-compare-to-scrapy

scrapy 好用,调度方面有 scrapyd。

https://scrapyd.readthedocs.io/en/latest/

scrapyd 能否暂停和恢复任务?

回到顶部