Так вроде как ниоткуда перестал работать мой паук, использующий прокси-сервис, 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")
Это не например, мои прокси-серверы только что были забанены на этом сайте, потому что теперь ни один из моих пауков не работает при использовании прокси-сервиса. Но если я закомментирую настройку прокси и промежуточное ПО, он будет работать нормально. Есть идеи?