0
我正在學習scrapy,我有一些小項目。如何處理scrapy中的重複項?
def parse(self, response):
links = LinkExtractor().extract_links(response)
for link in links:
yield response.follow(link, self.parse)
if (some_condition):
yield {'url': response.url} # Store some data
因此,我打開一個頁面獲取所有鏈接的形式,並存儲一些數據,如果我有這個網頁上的一些數據。例如,如果我處理http://example.com/some_page
,那麼它會在下次跳過它。而我的任務就是在下一次處理它。我想知道這個頁面已經被處理了,我需要在這種情況下存儲一些其他的數據。它應該是這樣的:
def parse(self, response):
if (is_duplicate):
yield{} # Store some other data
else:
links = LinkExtractor().extract_links(response)
for link in links:
yield response.follow(link, self.parse)
if (some_condition):
yield {'url': response.url} # Store some data
這是工作,但它看起來像我這樣做它也會抓取外部鏈接。所以我應該自己過濾它們? – GhostKU
'dont_filter'隻影響重複請求的過濾。 –