即使在Scrapy中设置了中间件>process_request,也没有修复引用

wfypjpf4  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(119)

我在middlewares.py > process_request中有以下代码:

def process_request(self, request, spider):
        refreerr_list = [
            'https://google.com',
            'https://amazon.com',
            'https://facebook.com',.....
        ]
        referr = random.choice(refreerr_list)

        request.header['referer'] = referr

因为它应该显示referer,但在日志中,它显示:

2022-07-17 07:17:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.amazon.com/AMD-Ryze.....RO-3995WX/dp/B08V5HPXVY> (referer: None)

我是否必须在www.example.com中添加一些内容settings.py?
但在settings.py中执行以下操作时,它有效:

DEFAULT_REQUEST_HEADERS = {
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',,
  'referer': 'https://www.amazon.com/',
}

感谢您的帮助!

dzjeubhm

dzjeubhm1#

您需要在设置中取消注解此部分。

DOWNLOADER_MIDDLEWARES = {
    'spiders.middlewares.MyProjectDownloaderMiddleware': 543,
}

类的名称将取决于项目的名称。

相关问题