可以用pyspider代替Scrapy吗?
我一直在广泛使用Scrapy
网络抓取框架,但是最近我发现还有一个名为的框架/系统pyspider
,根据github页面的介绍,该框架/系统是新鲜的,积极开发的并且很流行。
pyspider
的首页列出了一些现成可用的支持内容:
- 具有脚本编辑器,任务监视器,项目管理器和结果查看器的强大WebUI
- 支持Javascript页面!
- 任务优先级,重试,定期和按年龄或索引页中的标记重新爬网(例如更新时间)
- 分布式架构
这些是它们Scrapy本身不提供的东西,但是,可以借助portia
(对于Web UI),scrapyjs
(对于js页面)和scrapyd
(通过API部署和分发)的帮助。
真的可以pyspider
单独替换所有这些工具吗?换句话说,是pyspider
Scrapy的直接替代品吗?如果没有,那么它涵盖了哪些用例?
回答:
pyspider和Scrapy具有相同的目的,即网页抓取,但对此目的的看法不同。
spider永远都不要停止,直到WWW死了。(信息被改变,数据在网站更新,蜘蛛应该有刮最新数据的能力和责任。这就是为什么pyspider具有URL数据库,强大的调度,
@every,age
,等..)pyspider比框架更能提供服务。(组件在隔离的进程中运行,精简版
- all
版本也作为服务运行,你不必具有Python环境,而是浏览器,有关获取或调度的所有操作均由脚本通过API控制,而不是由启动参数或全局配置,资源/项目控制由pyspider等管理)。pyspider是一个spider系统。(可以替换任何组件,甚至可以用C / C ++ / Java或任何语言开发,以提高性能或扩大容量)
和
- on_start vs start_url
- token bucket traffic control vs download_delay
- return json vs class Item
- message queue vs Pipeline
- built-in url database vs set
- Persistence vs In-memory
- PyQuery + any third package you like vs built-in CSS/Xpath support
PyQuery +你喜欢的任何第三个软件包与内置CSS / Xpath支持
实际上,我对Scrapy的引用并不多。pyspider与Scrapy确实不同。
以上是 可以用pyspider代替Scrapy吗? 的全部内容, 来源链接: utcz.com/qa/435034.html