可以scrapy控制并显示像Selenium这样的浏览器吗?

时间:2015-11-03 23:09:06

标签: python selenium scrapy

当我使用Selenium时,我可以看到浏览器GUI,是否可以使用scrapy或者scrapy严格基于命令行?

3 个答案:

答案 0 :(得分:3)

不,scrapy不支持。

Scrapy专为网络爬虫而设计,而Selenium则用于浏览器自动化测试。如果您为网络爬虫的每个请求打开一个浏览器,它将花费很多资源。

如果您计划抓取动态内容,可以在此处参阅:Can scrapy be used to scrape dynamic content from websites that are using AJAX?

答案 1 :(得分:1)

Scrapy 本身无法控制浏览器。

但是,您可以从Scrapy搜寻器启动Selenium实例。有些人像这样设计他们的Scrapy爬虫。他们可能只使用Scrapy处理大多数页面,但会激活Selenium来处理他们想要处理的一些页面。

答案 2 :(得分:1)

为动态网站构建爬虫系统并非易事。虽然您可以使用Web浏览器自动机(例如selenium),或者您可以将selenium与nutch集成(使用nutch-selenium)。这些解决方案仍然难以开发,难以测试且难以管理会话,因为我们仍然将我们的流程“翻译”为语言(例如java或python)

我想这个问题的新方法。我们可以将原生javascript代码注入浏览器(通过扩展或附加组件),而不是使用Web浏览器自动机。这种方法的优点是我们可以轻松注入第三方库(如jquery(用于dom选择器) ,Run.js(用于复杂的过程)和浏览器支持的API)。我们可以在javascript世界中推进调试工具和测试框架。

我只是为抓取动态网站构建了一个系统,它运行得非常好(与nutch-selenium相比)。