[英]Scrapy crawling data from a forum
我是Scrapy的新手。 我想从论坛中检索所有帖子,并为这些新帖子获取最新信息。 我想找出一些问题。
1.如何确保抓取工具不会两次抓取帖子?
2.如果有某种机制可以避免两次抓取帖子。 即使我重新启动搜寻器,此机制也会起作用吗?
3.爬虫会继续自动爬行新帖子吗?
4.我需要在这个项目中使用什么数据库/插件?
这是蜘蛛类的初始化
name = "forum"
allowed_domains = ["forum.com"]
start_urls = (
'http://s7.forum.com/posts.aspx',
)
rules = [
Rule(LinkExtractor(allow=('mid=', )), callback='parse_item'),
]
从scrapy.dupefilter导入RFPDupeFilter
类SeenURLFilter(RFPDupeFilter):
def __init__(self, path=None):
self.urls_seen = set()
RFPDupeFilter.__init__(self, path)
def request_seen(self, request):
if request.url in self.urls_seen:
return True
else:
self.urls_seen.add(request.url)
确保将DUPEFILTER_CLASS常量添加到settings.py:
DUPEFILTER_CLASS = 'scraper.custom_filters.SeenURLFilter'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.