Маскировка ваших действий по очистке веб-страниц, чтобы они выглядели как обычные действия серфинга в браузере?

c# html-agility-pack web-scraping

Вопрос

Я использую Html Agility Pack, и я продолжаю получать эту ошибку. «Удаленный сервер ответил на ошибку: (500) Внутренняя ошибка сервера». на определенных страницах.

Теперь я не уверен, что это такое, поскольку я могу использовать Firefox, чтобы без проблем попасть на эти страницы.

Я чувствую, что сам сайт блокирует и не отправляет ответ. Есть ли способ сделать мой пакет гибкости HTML более похожим на вызов, который вызывается из FireFox?

Я уже установил таймер там, поэтому он отправляет на сайт каждые 20 секунд.

Есть ли другой способ, который я могу использовать?

Принятый ответ

Установите User-Agent как обычный браузер. Пользовательский агент - это HTTP-заголовок, передаваемый http-клиентом (браузером) для идентификации себя на сервере.


Популярные ответы

Существует множество способов, по которым серверы могут обнаруживать царапины, и это действительно просто гонка вооружений между скребком и царапиной (?), В зависимости от того, насколько плохо один или другой хочет получить доступ / защитить данные. Некоторые из вещей, которые помогут вам разобраться:

  1. Убедитесь, что все отправленные HTTP-заголовки совпадают с обычным браузером, особенно с пользовательским агентом и реферером URL.
  2. Загрузите все изображения и скрипты css, как обычный браузер, в том порядке, в котором будет браузер.
  3. Убедитесь, что установленные файлы cookie отправляются с каждым последующим запросом
  4. Убедитесь, что запросы дросселируются в соответствии с сайтами robots.txt
  5. Удостоверьтесь, что вы не следите за любыми непереходными ссылками, потому что сервер может настраивать honeypot, где они перестают обслуживать ваши ip-запросы
  6. Получите кучу прокси-серверов для изменения вашего IP-адреса
  7. Убедитесь, что сайт не начал отправлять вам captcha, потому что они считают, что вы робот.

Опять же, список может продолжаться в зависимости от того, насколько сложна настройка сервера.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow