gpt4 book ai didi

python - Scrapy 中的项目缓存

转载 作者:行者123 更新时间:2023-12-01 05:50:38 26 4
gpt4 key购买 nike

我正在抓取一个结构如下的网站:

Archive
Article 1
Authors
Author 1
Author 2
Title
Body
Comments
Comment 1
Comment 2
...

Authors 中的每位作者都有自己的个人资料页面。问题是作者写了多篇文章,所以当我的蜘蛛抓取网站时,我最终会一遍又一遍地抓取相同作者的个人资料。

如何使用 Scrapy 缓存作者个人资料?

最佳答案

您应该添加重复过滤器,如下例所示:

from scrapy import signals
from scrapy.exceptions import DropItem

class DuplicatesPipeline(object):

def __init__(self):
self.author_ids_seen = set()

def process_item(self, item, spider):
if item['author_id'] in self.author_ids_seen:
raise DropItem("Duplicate item found: %s" % item)
else:
self.ids_seen.add(item['author_id'])
return item

并激活 ITEM_PIPELINES 列表中的 DuplicatesPipeline,

ITEM_PIPELINES = [
'myproject.pipeline.DuplicatesPipeline',
]

关于python - Scrapy 中的项目缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14450049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com