今天在做了个练习,爬取一个新闻列表页的所有新闻内容。
在爬取的时候发现少了两条数据,找了半天才发现该网站的前一页最后两条新闻默认为下一页的前两条。
看一下控制台scrapy的log,可以发现:no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicate)
大概意思是不再显示重复的内容。
原来Scrapy有默认的去重机制,先上结论:
scrapy.Request(url, meta={'item': news_item}, callback=self.parse2, dont_filter=True)
找到Request类:
默认是False,改为True就不去重了。