1

这个问题本质上与将抓取的 URL 从一个蜘蛛传递到另一个蜘蛛相同,但我想仔细检查是否没有“Scrapy-native”方法来做到这一点。

我正在抓取 99% 的时间可以在不渲染 JavaScript 的情况下成功抓取的网页。然而,有时这会失败并且某些Fields 不存在。我想用一种方法编写一个 Scrapy扩展item_scraped,该方法检查是否填充了所有预期的字段,如果没有,则生成一个包含 Splash 设置SplashRequest的不同蜘蛛(参见https://blog.scrapinghub.com/2015/ 03/02/handling-javascript-in-scrapy-with-splash/)。custom_settings

是否有任何 Scrapy 方法可以在不使用外部服务(如 Redis)的情况下做到这一点?

4

1 回答 1

4

启用scrapy-splash 只会使SplashRequest 工作,它不会影响常规的scrapy.Request(如果request.meta 中没有'splash')。

您可以包含 Splash 设置并仍然产生 scrapy.Request - 它们将在没有 Splash 的情况下进行处理。

于 2017-07-20T11:08:42.510 回答