Маскировка ваших действий по поиску в Интернете, чтобы они выглядели как обычные действия в браузере? - PullRequest
5 голосов
/ 05 июня 2011

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

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

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

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

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

Ответы [ 2 ]

6 голосов
/ 05 июня 2011

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

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

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

6 голосов
/ 05 июня 2011

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

...