You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scrapy脚本运行报错:REQUEST_FINGERPRINTER_IMPLEMENTATION设置弃用警告

解决Scrapy中REQUEST_FINGERPRINTER_IMPLEMENTATION弃用警告问题

警告原因

REQUEST_FINGERPRINTER_IMPLEMENTATION设置的2.6值是Scrapy旧版本的请求指纹实现,新版本已弃用该值——即便升级Scrapy,若项目或全局配置中仍保留该旧值,警告依然会触发。

解决方案

1. 修改项目配置文件

找到你的Scrapy项目中的settings.py文件,搜索是否存在以下配置行:

REQUEST_FINGERPRINTER_IMPLEMENTATION = '2.6'

将其替换为新版本的实现:

REQUEST_FINGERPRINTER_IMPLEMENTATION = '3.0'

或者直接删除该行,因为Scrapy 2.6+版本默认使用3.0的指纹实现。

2. 在Spider类中显式配置

如果找不到配置文件中的对应行,可直接在你的Spider类内添加custom_settings属性强制指定新实现:

custom_settings = {
    'REQUEST_FINGERPRINTER_IMPLEMENTATION': '3.0'
}

顺带优化你的爬取脚本

你的脚本存在两个影响功能的问题,一并修正:

  1. Google搜索结果的链接是跳转格式(如/url?q=真实地址&...),直接提取href无法得到真实URL,需解析处理;
  2. allowed_domains仅设置为google.com会导致后续爬取医疗网站时被拦截,需注释或修改该配置。

修正后的完整脚本:

import scrapy
from urllib.parse import urlparse, parse_qs

class HealthcareSpider(scrapy.Spider):
    name = 'healthcare_spider'
    # 若要爬取其他医疗网站,需注释或修改allowed_domains
    # allowed_domains = ['google.com']
    start_urls = ['https://www.google.com/search?q=healthcare+websites+usa']
    
    # 配置新的请求指纹实现,消除警告
    custom_settings = {
        'REQUEST_FINGERPRINTER_IMPLEMENTATION': '3.0'
    }

    def parse(self, response):
        # 提取Google搜索结果
        results = response.css('div.g')
        for result in results:
            raw_url = result.css('a::attr(href)').get()
            if raw_url and raw_url.startswith('/url?'):
                # 解析得到真实目标URL
                parsed = urlparse(raw_url)
                real_url = parse_qs(parsed.query).get('q', [None])[0]
                if real_url and 'healthcare' in real_url.lower():
                    yield {
                        'url': real_url,
                    }
        # 翻页逻辑
        next_page_url = response.css('a#pnnext::attr(href)').get()
        if next_page_url:
            yield scrapy.Request(response.urljoin(next_page_url), callback=self.parse)

内容的提问来源于stack exchange,提问作者Edgar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 14:25:29