КОНФУЗ о проблеме замены ip-прокси в Scrapy Framework - PullRequest
0 голосов
/ 29 октября 2018

В настоящее время я пытаюсь случайным образом попробовать прокси ip в платформе Scrapy. (Я использую Python3.6, а версия Scrapy 1.5.1, мой проект называется ip, а рабочее имя ip_test), и я встречаю это сбивающее с толку ошибка:

raise SchemeNotSupported("Unsupported scheme: %r" % (uri.scheme,)) twisted.web.error.SchemeNotSupported: Unsupported scheme: b'' Я не знаю, где я был не прав, а это мой middlewares.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

А это мои settings.py

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

ТНХ!

1 Ответ

0 голосов
/ 29 октября 2018

Как указано в сообщении об ошибке, Scrapy (или, если быть точным, Twisted) требует, чтобы URL прокси включал схему, а не только <netloc>:<port>.

например. вместо установки request.meta["proxy"] = '117.95.7.27:11170' вам нужно request.meta["proxy"] = 'http://117.95.7.27:11170'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...