0
我正在使用scrapy-splash從Javascript驅動的IFRAMEd HTML頁面中提取信息。有時,由於某些瀏覽器條件,我的splash Javascript函數失敗,並返回錯誤消息,如{"error": "NotSupportedError: DOM Exception 9"}
)。如何強制scrapy-splash重試失敗的項目?
在我的項目管道我爲了刪除這些項目,以保持我的結果乾淨:
class NewspaperLayoutPipeline(object):
def process_item(self, item, spider):
if item.has_key('error'):
raise DropItem("Error capturing item %s" % item)
...
不幸的是,我的錯誤項率約爲40%。所以我想讓scrapy-splash重試這些失敗的網址,而不是簡單地刪除這些項目。我怎樣才能做到這一點?
的感謝!兩點評論:我正在使用沒有dont_filter參數的SplashRequest。此外,我想設置最大數量的重試以避免無限循環。 – layoutanalysis
它有兄弟。做一個簡單的谷歌搜索,你會看到它。 – Umair