如何向另一个具有不同设置的蜘蛛提供Scrapy请求?

时间:2017-07-20 11:02:41

标签: python scrapy scrapy-splash

此问题与Pass scraped URL's from one spider to another基本相同,但我想仔细检查是否没有“Scrapy-native”#39;这样做的方法。

我正在抓取网页,可以在不渲染JavaScript的情况下成功抓取99%的网页。但是,有时会失败并且某些Field不存在。我想用item_scraped方法编写一个Scrapy Extension来检查是否填充了所有预期的字段,如果没有,则为{{1}的另一个蜘蛛产生SplashRequest包括Splash设置(参见https://blog.scrapinghub.com/2015/03/02/handling-javascript-in-scrapy-with-splash/)。

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

1 个答案:

答案 0 :(得分:4)

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

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