错误:今天在启动爬虫的时候遇到[scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to 'XXX'这种错误。
这个错误是指DEBUG: Filtered offsite request to
则是提示我们一个请求被过滤掉了。Scrapy默认只会处理与这些链接同域的请求。如果爬虫在爬取过程中产生了站外的请求,Scrapy就会通过Filtered offsite request to
的方式将这些请求过滤掉。
解决方法1:在settings.py添加如下代码
SPIDER_MIDDLEWARES = { 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware': None, }
解决方法2:在下载中间件middleware.py
文件中添加如下代码
from scrapy.spidermiddlewares.offsite import OffsiteMiddleware
class CustomOffsiteMiddleware(OffsiteMiddleware):
def should_follow(self, request, spider):
# 允许处理站外请求
return True