Как получить менее 403 и более 200 ответов при Web Scraping в запросе Python с использованием прокси? - PullRequest
0 голосов
/ 24 октября 2019

Я работаю над исследовательским проектом, для которого мне нужно почистить некоторые URL. У меня есть более 5 тысяч URL-адресов foursquare (как этот: https://foursquare.com/v/t-spesjalleke/4c94ec0d533aa09384d5c345), из которого мне просто нужно узнать, недорогой ли ресторан / умеренный / дорогой / очень дорогой. Поэтому я написал скрипт, в котором я разбираю50 прокси из https://free -proxy-list.net для каждого запроса foursquare. Я использую random.choice () из списка прокси для запроса, пока не получу код ответа 200. После полученияКод ответа 200 с использованием красивого супа для получения категории и записи в файл. Но проблема в том, что я получаю много кода 403. И именно поэтому на каждый запрос уходит так много времени. Поэтому я попробовал concurrent.futures. ThreadPoolExecutor (max_workers = 8), чтобы сделать это быстрее, но он не делает это быстрее, так как я получаю много ответов 403. И я использую агент заголовка также для запроса.

Это сценарий, который я 'я пытаюсь запустить: https://paste.ubuntu.com/p/j3FYGngMGS/

Мне нужно сделать процесс оптимальным. Я не нахожу никаких других решений. Пожалуйста, предоставьте некоторые идеи, которые могут помочь. Большое спасибо.

1 Ответ

2 голосов
/ 24 октября 2019

Это проблема с IP-адресом? Вы можете получить ошибку из-за того, что IP-адрес не соответствует стране, которую установил владелец сайта.

Другим может быть черный список IP-адресов, хотя у вас есть пул прокси-серверов, они не являются частными, поэтому другие могутиспользовал их и внес их в список.

...