Если прокси-сервер хорош, то как придерживаться только этого прокси до тех пор, пока его не забанят, а затем перейти к другому, в scrapy-proxy-вращении? - PullRequest
1 голос
/ 06 октября 2019

Вчера я задал вопрос , и из ответа я понял, что мне нужно использовать прокси для очистки этого сайта. Поэтому я реализую scrapy-вращение-прокси в этом скрипте

Вот измененные settings.py

ROTATING_PROXY_LIST_PATH = '/my/path/proxies.txt'

DOWNLOADER_MIDDLEWARES = {
    'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
    'rotating_proxies.middlewares.BanDetectionMiddleware': 620,
}

ROBOTSTXT_OBEY = False

После реализации всего этого очистка все еще останавливается после очистки около 370+ страниц. Поскольку я новичок в ротационном прокси, я хочу знать, как придерживаться только одного прокси / ip (в случае, если это хорошо), до тех пор, пока он не будет заблокирован, прежде чем переходить на другой прокси / ip в файле proxies.txt. Потому что я заметил, что в случае, если прокси-сервер хорош, необходимые данные очищаются, как показано ниже

2019-10-06 12:50:11 [rotating_proxies.expire] DEBUG: Proxy <http://197.254.16.30:8080> is DEAD
2019-10-06 12:50:11 [rotating_proxies.middlewares] DEBUG: Retrying <GET https://www.gulahmedshop.com/khadi-net-3-pc-outfit-glamour-19-48> with another proxy (failed 3 times, max retries: 5)
2019-10-06 12:50:12 [rotating_proxies.expire] DEBUG: Proxy <http://181.30.95.162:33078> is GOOD
2019-10-06 12:50:12 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.gulahmedshop.com/gls-18-143> (referer: https://www.gulahmedshop.com/women?cat=399&price=-3000)
2019-10-06 12:50:12 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.gulahmedshop.com/gls-18-143>
{'Image Url': u'https://d224nth7ac0evy.cloudfront.net/catalog/product/cache/1e8ef93b9b4867ab9f3538dde2cb3b8a/g/l/gls-18-143_1_.jpg', 'Price': u'PKR 2,058', 'Category Name': u'and above', 'Product Title': u'GLS-18-143', 'Prouct page': 'https://www.gulahmedshop.com/gls-18-143'}
2019-10-06 12:50:12 [rotating_proxies.expire] DEBUG: Proxy <http://171.239.46.185:8080> is DEAD
2019-10-06 12:50:12 [rotating_proxies.middlewares] DEBUG: Retrying <GET https://www.gulahmedshop.com/gls-18-230> with another proxy (failed 2 times, max retries: 5)

1 Ответ

0 голосов
/ 16 октября 2019

Если вам не нужны постоянные сеансы, вы не хотите этого делать.

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

Если вы используете бесплатные прокси, вам нужно либо больше бесплатных прокси, переключение на платные прокси или, что еще лучше, один умный прокси .

Также было бы неплохо выяснить, почему вас вообще забанят, но это может быть трудно сделать.

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