Мой скрипт не может сканировать этот веб-сайт (http: 403), но не мои браузеры - PullRequest
0 голосов
/ 01 апреля 2019

Я сканировал веб-сайт, когда они заблокировали меня с 403. Я все еще могу получить доступ к веб-сайту из любого моего браузера, но мой сценарий Scrapy не может сканировать.

Я ползаю из дома, используя 5 прокси, и у каждого есть 10 случайно выбранных IP-адресов. Я выбрал около 40 пользовательских_агентов случайным образом (см. Код ниже). Новый набор прокси и user_agent выбирается при каждом запросе. Каждый запрос доходности составляет около 1 МБ. Когда собрано около 100 запросов, скрипт (используя S3pipelines от Github) отправляет пакет на мой S3 на AWS. У меня задержка загрузки 10 и активированы дроссели в настройках моего проекта Scrapy. Все, что связано с запросом сайта robots.txt - сканирование с задержкой 10.

Я читал инструкции по эксплуатации от Scrapy, от Python и некоторых других, но не мог найти способ стать более «человечным» в ползании.

Мои настройки (извлечение):

BOT_NAME = 'acCrawler10'

SPIDER_MODULES = ['acCrawler10.spiders']
NEWSPIDER_MODULE = 'acCrawler10.spiders'
s3 = boto3.client('s3', aws_access_key_id='AWS_ACCESS_KEY_ID',
                  aws_secret_access_key='AWS_SECRET_ACCESS_KEY')
USER_AGENT = get_random_agent()
# Obey robots.txt rules
ROBOTSTXT_OBEY = True
CONCURRENT_REQUESTS = 32
DOWNLOAD_DELAY = 10
PROXYMESH_TIMEOUT = 60
# CONCURRENT_REQUESTS_PER_DOMAIN = 16
CONCURRENT_REQUESTS_PER_IP = 16
# Disable cookies (enabled by default)
# COOKIES_ENABLED = False
AUTOTHROTTLE_ENABLED = True
AUTOTHROTTLE_START_DELAY = 5
AUTOTHROTTLE_MAX_DELAY = 60
AUTOTHROTTLE_TARGET_CONCURRENCY = 4.0
AUTOTHROTTLE_DEBUG = False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...