簡體   English   中英

從論壇抓取數據

[英]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'),
    ]
  1. 您需要自己定制一種機制並將其放入設置中。 像這樣:

從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'
  1. 是。 只要爬網處於運行狀態,它將起作用
  2. 是。
  3. 我看不到這里的困難。 使用您熟悉的任何數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM