Как веб-сайт может обнаружить автоматическое извлечение? - PullRequest
0 голосов
/ 09 февраля 2012

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

Автоэкстракция запрещена
Автоматическое извлечение нашего контента запрещено. Смотри http://www.xe.com/errors/noautoextract.htm.

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

Ответы [ 4 ]

2 голосов
/ 09 февраля 2012

1) Пользователь-агент

2) Представляем всплывающее окно Javascript. Что-то вроде Click OK to enter.

3) Вычисление количества запросов в час с определенного IP-адреса, если вы не находитесь за NAT.

Для более подробной информации взгляните на этот разговор Pycon web-стратегии-для-программирования-сайтов-которые-не-ожидаемые-это от asheesh laroia .

Также взгляните на Стандарт для исключения роботов .

Некоторые веб-сайты также используют

4) Капчи и ре-капчи

5) Перенаправление, которое означает, что вам нужно добавить HTTP Referrer для получения ваших данных.

1 голос
/ 09 февраля 2012

Мне кажется, они смотрят как минимум два параметра:

  • количество запросов с одного и того же IP за промежуток времени
  • Заголовок User-Agent в ваших HTTP-запросах. Если он пустой или не похож на заголовок User-Agent веб-браузера, особенно если он указывает «Java» или что-то в этом роде;), они могут предположить, что это не «добросовестное использование».
1 голос
/ 09 февраля 2012

Это делается на уровне HTTP-сервера путем реализации протокола исключения роботов .

С Стандарт исключения для роботов

Стандарт исключения роботов, также известный как исключение роботов Протокол или протокол robots.txt, это соглашение, чтобы предотвратить сотрудничающие веб-сканеры и другие веб-роботы получают доступ ко всем или часть веб-сайта, которая в противном случае является общедоступной. Роботы часто используется поисковыми системами для классификации и архивирования веб-сайтов, или веб-мастерами, чтобы вычитать исходный код.

0 голосов
/ 09 февраля 2012

По сути, если вы запрашиваете URL-адрес и возвращаете HTML-страницу, сайт практически ничего не может с этим поделать - и, в общем-то, для этого и нужен веб-сервер.

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

...