Scrapy: Как настроить HTTP-прокси для подключения к веб-сайтам HTTPS (HTTP работает)?
Я использую промежуточное программное обеспечение для включения прокси, как это:
У меня есть это в settings.py
HTTP_PROXY='127.0.0.1:8080'
Это мое промежуточное ПО
from mybot.settings import HTTP_PROXY
class ProxyMiddleware(object):
def process_request(self, request, spider):
request.meta['proxy'] = 'http://%s' % HTTP_PROXY
Он отлично работает для HTTP-сайтов, но не для HTTPS. Что я делаю неправильно? Я проверил прокси с помощью curl, и он может без проблем подключиться к HTTPS.
Это ошибка:
[<twisted.python.failure.Failure <class 'twisted.internet.error.ConnectionDone'>>]
2 ответа
Вам нужно включить прокси для http и https. Например, в Windows вы можете сделать это прямо из оболочки, как
set http_proxy = 127.0.0.1:8080
set https_proxy = 127.0.0.1:8080
У Scrapy 0.24 есть некоторые проблемы с Twisted 15.0.0, поэтому https throw proxy не работает. Удаление Twisted и установка Twisted 14.0.0 должны работать