Python 皮蜘蛛能代替刮痧吗?
我一直在广泛使用Python 皮蜘蛛能代替刮痧吗?,python,web-scraping,scrapy,web-crawler,pyspider,Python,Web Scraping,Scrapy,Web Crawler,Pyspider,我一直在广泛使用Scrapywebscraping框架,但最近我发现有另一个框架/系统叫做,根据它的github页面,这个框架/系统是全新的、积极开发的和流行的 pyspider的主页列出了一些开箱即用的支持内容: 具有脚本编辑器、任务监视器、项目管理器和结果查看器的强大WebUI 支持Javascript页面 任务优先级、重试、定期和 按年龄或索引页中的标记重新爬网(如更新时间) 分布式体系结构 这些都是Scrapy本身没有提供的,但是,在(用于Web UI),(用于js页面)和(通过AP
Scrapy
webscraping框架,但最近我发现有另一个框架/系统叫做,根据它的github页面,这个框架/系统是全新的、积极开发的和流行的
pyspider
的主页列出了一些开箱即用的支持内容:
- 具有脚本编辑器、任务监视器、项目管理器和结果查看器的强大WebUI
- 支持Javascript页面
- 任务优先级、重试、定期和 按年龄或索引页中的标记重新爬网(如更新时间)
- 分布式体系结构
Scrapy
本身没有提供的,但是,在(用于Web UI),(用于js页面)和(通过API部署和分发)的帮助下,这是可能的
只有pyspider
可以取代所有这些工具,这是真的吗?换句话说,pyspider
是Scrapy的直接替代品吗?如果没有,那么它涵盖哪些用例
我希望我没有越过“过于宽泛”或“基于意见”的界线。pyspider和Scrapy有着相同的目的,即抓取网页,但对这样做有不同的看法
- 蜘蛛死了才停下来。(信息在变化,网站中的数据在更新,spider应该有能力和责任抓取最新的数据。这就是为什么pyspider有URL数据库、强大的调度程序、
、@every
,等等。)age
- pyspider不仅仅是一个框架,更是一种服务。(组件在独立进程中运行,lite-
version也作为服务运行,您不需要Python环境,只需要一个浏览器,关于获取或调度的所有内容都由脚本通过API控制,而不是启动参数或全局配置,资源/项目由pyspider管理,等等。)all
- pyspider是一个spider系统。(任何组件都可以替换,甚至可以用C/C++/Java或任何语言开发,以获得更好的性能或更大的容量)
vson\u start
start\u url
- 交通管制vs
download\u delay
vs返回json
类项目
- 消息队列vs
管道
- 内置url数据库vs
set
- 持久性vs内存中的持久性
- +您喜欢的任何第三个包vs内置CSS/Xpath支持
但是,为什么不呢?pyspider也有易于使用的API,您可以不安装就试用。由于我同时使用scrapy和pyspider,我建议如下: 如果网站真的很小/简单,请先尝试pyspider,因为它几乎提供了您所需的一切
- 使用webui设置项目
- 尝试联机代码编辑器并立即查看解析结果
- 在浏览器中轻松查看结果
- 运行/暂停项目
- 设置过期日期,以便重新处理url
现在,您可以使用scrapy的高级功能,如中间件、项目、管道等。这与基于意见的管道非常接近。我不确定我是否会考虑它。“嗯,谢谢,我很担心。试图添加细节。(至少比这更详细、更具体)。@Amber我想我已经得到了最好的答案。比努克斯是pyspider项目的发明者和维护者。希望这篇文章能成为那些对scrapy和pyspider之间的区别有疑问的人的起点。@alecxe希望能有一份关于你在pyspider方面的经验的报告,因为你在scrapy方面有着更广泛的经验。@chishaku这是个好主意,我想总有一天我会用自己的观察和感受给出答案。谢谢大家!@比努斯:我想看看一个新的网页抓取工具,非常好的工作。但是,为什么不是蟒蛇3呢?Python 2已经过去了,这就是我放弃的原因Scrapy@Jedi我更熟悉Python2.7,pyspider是在两年前用Python2.7首次制作的。我想从我更熟悉的地方开始,重点关注架构。我将使Python3在v0.5.0之前得到支持。看起来您是推荐工具的作者。那很好,但是你可以在这样做的时候添加一个完整的披露说明吗?