Мое промежуточное ПО прокси перестало работать, есть идеи? - Scrapy - PullRequest
0 голосов
/ 05 августа 2020

Так вроде как ниоткуда перестал работать мой паук, использующий прокси-сервис, https://packetstream.io/. Я связался с ними, и они сказали, что у них не было перебоев в обслуживании. Я все время получаю сообщение об ошибке:

Retrying <GET https://www.oddschecker.com/us/boxing-mma> (failed 2 times): User timeout caused connection failure: Getting https://www.oddschecker.com/us/boxing-mma took longer than 180.0 seconds..

Middleware:

DOWNLOADER_MIDDLEWARES = {
    'scrapy_splash.SplashCookiesMiddleware': 723,
    'scrapy_splash.SplashMiddleware': 725,
    'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
    'sfb.middlewares.SurefirebettingDownloaderMiddleware': 543,
    'sfb.middlewares.CustomProxyMiddleware': 350,
    'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 400,
    'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
    'scrapy_useragents.downloadermiddlewares.useragents.UserAgentsMiddleware': 500
}

Настройки:

class CustomProxyMiddleware(object):
    def process_request(self, request, spider):
        request.meta["proxy"] = "https://proxy.packetstream.io:port"
        request.headers["Proxy-Authorization"] = basic_auth_header("username",
                                                                   "API key")

Spider:

class OddscheckerSpider(scrapy.Spider):
    name = 'oddschecker'
    allowed_domains = []
    start_urls = ["https://www.oddschecker.com/us/boxing-mma"]
    def parse(self, response):
        soup = BeautifulSoup(response.text, "lxml")

Это не например, мои прокси-серверы только что были забанены на этом сайте, потому что теперь ни один из моих пауков не работает при использовании прокси-сервиса. Но если я закомментирую настройку прокси и промежуточное ПО, он будет работать нормально. Есть идеи?

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