Python Scrapy Proxies Мертвые после нескольких раундов? - PullRequest
1 голос
/ 06 ноября 2019

Я хочу построить Amazon Crawler с помощью scrapy.

Это сработало, но после примерно 10 хороших прокси каждый следующий прокси получает Proxy <IP:PORT> is DEAD

Я не понимаю, почему ...

Это мое Middlewares

DOWNLOADER_MIDDLEWARES = {
    'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
    'scrapy_user_agents.middlewares.RandomUserAgentMiddleware': 400,

    'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
    'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
}

У меня 1000 прокси, большинство не мертвы, там почти все работают на другом гусеничном шасси, но не на Амазоне после нескольких раундов ...

У кого-нибудь есть идеи? Пользовательский агент работает и прокси-сервер также вращается, он показывает на каждом следующем «мертвом» прокси-сервере разные IP и что-то

Вот один журнал

2019-11-06 21:52:40 [rotating_proxies.expire] DEBUG: Proxy <http://XXX:XXX@XXXX:8080> is DEAD
2019-11-06 21:52:40 [rotating_proxies.middlewares] DEBUG: Retrying <GET https://www.amazon.de/gp/offer-listing/B00VB2ISDM/ref=olp_f_used?f_primeEligible=true&f_usedAcceptable=true&f_usedGood=true&f_used=true&f_usedLikeNew=true&f_usedVeryGood=true> with another proxy (failed 9 times, max retries: 300)
2019-11-06 21:52:40 [scrapy_user_agents.middlewares] DEBUG: Proxy is detected http://xxxx:8080

, как я уже сказал, там в основном работает длядругой сайт, так что там не так много мертвых прокси, как это было показано на Amazon Crawler

Я также пытался добавить, что

DOWNLOAD_DELAY = 5
AUTOTHROTTLE_ENABLED = True
AUTOTHROTTLE_START_DELAY = 20
AUTOTHROTTLE_MAX_DELAY = 60

не помогает

1 Ответ

0 голосов
/ 07 ноября 2019

Amazon применяет расширенные меры борьбы с ботами.

Используйте интеллектуальный прокси-сервер, такой как Crawlera или другой альтернативный прокси-сервис, обеспечивающий хорошую ротацию IP-адресов и другие функции сканирования в Интернете.

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