При скрапинге/кроулинге сайта админов может раздражать слишком большое число запросов, и они банят за такую активность. Вот нашёл советы, как скрыть повышенную активность.
1. Установить задержку между запросами:
response = requests.get(url, timeout=(10, 0.01)) # таймаут на соединения, таймаут на чтение (в секундах)
2. Притвориться браузером, используя selenium web driver или передав содержимое заголовка user-agent, формируя запрос:
user_agent = ('Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) '
'Gecko/20100101 Firefox/50.0')
request = requests.get(url, headers={'User-Agent':user_agent})
3. Использовать прокси:
request = requests.get(url, proxies={"http":"http://10.10.1.10:3128"})
Заодно заглянул в свой код двухлетней давности по той же (парсинг\кроулинг) тематике, вспомнил что для обработки html-разметки модель lxml мне понравилась больше чем Beautiful Soup. И xpath отдельно понравился ;]
А модуль requests, по всеобщему мнению, лучше чем urllib2.
Комментариев нет:
Отправить комментарий