关于scray fram替换代理ip问题的一个困惑

2024-09-28 20:49:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在Scrapy框架中随机尝试代理ip(我使用的是Python3.6,Scrapy版本是1.5.1,我的项目名是ip,工作名是ip\u test),我遇到了这个令人困惑的错误:

raise SchemeNotSupported("Unsupported scheme: %r" % (uri.scheme,)) twisted.web.error.SchemeNotSupported: Unsupported scheme: b'' 我不知道哪里错了,这是我的错中间件.py你知道吗

class IpDownloaderMiddleware(object):
PROXY = ["117.95.7.27:11170", "119.114.17.24:38715", "183.149.2.23:28970", "117.60.3.6:26965",
         "123.245.11.50:25550"]
def process_request(self, request, spider):
    proxy = random.choice(self.PROXY)
    request.meta["proxy"] = proxy

这是我的设置.py你知道吗

DOWNLOADER_MIDDLEWARES = {'ip.middlewares.IpDownloaderMiddleware': 100,}

谢谢!你知道吗


Tags: 项目pyself版本ip框架代理request
1条回答
网友
1楼 · 发布于 2024-09-28 20:49:15

如错误消息所示,Scrapy(准确地说,Twisted)要求代理URL包含一个方案,而不是只包含<netloc>:<port>。你知道吗

例如,不是设置request.meta["proxy"] = '117.95.7.27:11170',而是需要request.meta["proxy"] = 'http://117.95.7.27:11170'

相关问题 更多 >