Запросы Python - Автоматизированные запросы - PullRequest
0 голосов
/ 20 февраля 2019

Я пытался написать скрипт, который входит в учетную запись и получает данные за последние несколько дней, но мне не удается получить его для входа в систему, и я всегда сталкиваюсь с этим сообщением об ошибке:

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

Я предполагаю, что это сообщение об ошибке, предоставленное ReCaptcha v2, я использую сервис ReCaptcha, но я даже получаю эту ошибкусообщение на моей машине локально без или с прокси.

Я пробовал разные прокси, разные источники прокси, заголовки, пользовательские агенты, похоже, ничего не работает.Я использовал запросы, и я все еще получаю это сообщение об ошибке, Selenium, и все еще получаю это сообщение об ошибке, и мой собственный браузер, и все еще получаю это сообщение об ошибке.

Какой обходной путь существует, чтобы предотвратить это?

1 Ответ

0 голосов
/ 20 февраля 2019

Так что я пишу этот ответ из моего общего опыта с веб-скребком.

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

Вот несколько методик обхода:

  • Используйте только селен и установите правильный размер окна.Большинство современных веб-приложений идентифицируют пользователей по размеру окна и пользовательскому агенту.В вашем случае не рекомендуется использовать другие решения, например запросы, которые не позволяют правильно обрабатывать размер окна.
  • Использовать современный действительный пользовательский агент (Mozilla 5.0 compatible).Обычно браузер Chrome> 60.0 UA будет работать хорошо.
  • Сохраняйте цепочки и меняйте прокси с каждым интервалом запросов xxx (зависит от вашей рабочей нагрузки).
  • Используйте один пользовательский агент для определенногопрокси.Если ваш UA продолжает меняться для определенного IP-адреса, Recaptcha захватит вас как автоматизированный.
  • Правильно обрабатывайте файлы cookie.Убедитесь, что файлы cookie, установленные сервером, отправляются с последующими запросами (для одного прокси-сервера).
  • Используйте промежуток времени между запросами.Используйте time.sleep() для задержки последовательных запросов.Обычно задержка в 2 секунды бывает достаточна.

Я знаю, что это значительно замедлит вашу работу, но Recaptcha - это то, что предназначено для предотвращения таких автоматических запросов / очистки.

...