我一直在广泛使用Scrapy网络抓取框架,但是最近我发现还有另一个名为 pyspider 的框架/系统,根据github页面的介绍,该框架/系统是新鲜的,活跃的并且很流行。
pyspider的主页列出了一些现成可用的支持内容:



这些是Scrapy本身不提供的东西,但是可以通过 portia (对于Web UI), scrapyjs (对于js页面)和 scrapyd (通过API部署和分发)来实现。

确实pyspider可以代替所有这些工具吗?换句话说,pyspider是Scrapy的直接替代品吗?如果没有,那么它涵盖了哪些用例?

我希望我不会越过“太宽泛”或“基于观点”的界限。

最佳答案

pyspider和Scrapy具有相同的目的,即网页抓取,但对此却持有不同的看法。

  • 蜘蛛永远都不应停止,直到WWW死亡。 (信息在不断变化,网站中的数据正在更新,spider应该具有抓取最新数据的能力和责任。这就是pyspider具有URL数据库,强大的调度程序,@everyage等的原因。)
  • pyspider提供的服务不仅仅是框架。 (组件在隔离的进程中运行,精简版-all版本也作为服务运行,您不需要具有Python环境,而是浏览器,有关获取或调度的所有操作均由脚本通过API控制,而不是由启动参数或全局配置,资源/项目由pyspider等管理))
  • pyspider是蜘蛛系统。 (可以替换任何组件,甚至可以用C/C++/Java或任何语言进行开发,以获得更好的性能或更大的容量)


  • on_startstart_url
  • token bucket交通控制与download_delay
  • return jsonclass Item
  • 消息队列与Pipeline
  • 内置网址数据库与set
  • 持久性与内存中的
  • PyQuery +您喜欢的任何第三个软件包与内置CSS/Xpath支持

  • 实际上,我对Scrapy的引用并不多。 pyspider确实不同于Scrapy。

    但是,为什么不使用try it yourself呢? pyspider也是fast,具有易于使用的API,您无需安装即可尝试。

    关于python - 可以用pyspider代替Scrapy吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27243246/

    10-10 05:50