Я новичок в области терапии.Мой паук scrapy заблокирован ip сайтом, который я хочу проанализировать.Я получаю 520 ошибку.Если я инициализирую header / user_agent прямо в spider, а также устанавливаю прокси в метапараметре scrapy.Request, я могу отправить первый запрос и получить код 200, но затем он застрял на 403 Код состояния HTTP не обрабатывается или не разрешается,Поэтому я отредактировал middlewares.py, добавил CustomProxyMiddleware.В settings.py я установил USER_AGENT и добавил DOWNLOADER_MIDDLEWARES с CustomProxyMiddleware, но когда я запускаю spider, он не использует прокси, и я предполагаю, что user_agent также по умолчанию, кроме моего.
middlewares.py
class CustomProxyMiddleware(object):
def process_request(self, request, spider):
request.meta['proxy'] = "http://103.35.64.12:3128"
return None
settings.py
BOT_NAME = 'SGinfotrackker'
SPIDER_MODULES = ['SGinfotrackker.spiders']
NEWSPIDER_MODULE = 'SGinfotrackker.spiders'
# Crawl responsibly by identifying yourself (and your website) on the user-agent
USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36'
# Obey robots.txt rules
ROBOTSTXT_OBEY = True
DOWNLOAD_DELAY = 15
DOWNLOADER_MIDDLEWARES = {'SGinfotrackker.middlewares.CustomProxyMiddleware': 350,
'SGinfotrackker.middlewares.SginfotrackkerDownloaderMiddleware': None,
}
во-первых, я получил
Игнорирование ответа <520 <a href="http://www.some_url.com" rel="nofollow noreferrer">http://www.some_url.com>: Код состояния HTTP не обрабатывается или не разрешен
Я тогда получаю
403 Код состояния HTTP не обрабатывается или не разрешается