Mac M1环境下Scrapy持续报HTTPDownloadHandler加载错误求助
Apple M1 Mac(Sonoma 14.1.2)上Scrapy HTTP请求启动报错解决方案
问题描述
在搭载Apple M1芯片的Mac arm64设备(系统Mac Sonoma 14.1.2)上,使用Python 3.9.18虚拟环境运行Scrapy 2.11项目时,无论设置何种起始URL,程序始终抛出错误:"Loading scrapy.core.downloader.handlers.http.HTTPDownloadHandler" for scheme "http",已尝试重装Scrapy、升级Twisted但问题未解决。
解决步骤
- 重新编译适配arm64的依赖包:M1芯片的架构特性可能导致部分依赖未正确编译,执行以下命令卸载并重装核心依赖:
pip uninstall scrapy twisted cryptography pyopenssl -y ARCHFLAGS="-arch arm64" pip install scrapy twisted cryptography pyopenssl - 指定适配arm64的Twisted版本:若升级至最新版仍有问题,安装对M1支持更完善的
23.10.0版本:ARCHFLAGS="-arch arm64" pip install twisted==23.10.0 - 确认Scrapy下载器配置:检查项目
settings.py中的下载器配置,确保HTTP/HTTPS处理器未被错误修改:DOWNLOAD_HANDLERS = { 'http': 'scrapy.core.downloader.handlers.http.HTTPDownloadHandler', 'https': 'scrapy.core.downloader.handlers.http.HTTPDownloadHandler', } - 极简脚本测试:创建基础爬虫排除项目其他配置干扰,验证请求是否正常:
运行测试命令:import scrapy class TestSpider(scrapy.Spider): name = 'test_spider' start_urls = ['http://example.com'] def parse(self, response): self.log(f"请求成功,状态码:{response.status}")scrapy crawl test_spider
内容的提问来源于stack exchange,提问作者Snofus
相关产品推荐
相关产品推荐

