Подтвердить что ты не робот

Каким будет наиболее этический способ потребления контента с сайта, который не предоставляет API?

Мне было интересно, какой будет самый этический способ потреблять некоторые байты (386 точно) контента с данного сайта A с приложением (например, Google App Engine) на каком-то сайте B, но делать это правильно, без соскабливания Я просто хочу проверить статус публичной службы, и в настоящее время они не предоставляют API. Таким образом, разметка на сайте А имеет массив JavaScript с информацией, в которой я нуждаюсь, и возможностью доступа, которая позволяет говорить один раз каждые пять минут.

Любые советы будут высоко оценены.

UPDATE:

Во-первых, спасибо за отзывы. Сайт A - это, в основном, веб-сайт компании, которая в настоящее время управляет нашей общественной сетью метро, ​​поэтому я планирую разработать крошечное бесплатное приложение для Android для всех, у кого есть не только карта со всей сетью и ее радиостанциями, но и обновленная информация о доступность услуги (и это байты, которые я в конечном итоге буду потреблять), etcétera.

4b9b3361

Ответ 1

Будут некоторые очень разные точки зрения, но, надеюсь, здесь есть пища для размышлений:

  • Сначала попросите владельца сайта, если они знают заранее, они менее подвержены раздражению.
  • Доступно ли содержимое на сайте A в общедоступной части сайта, например. без необходимости входа?
  • Если ответ на # 2 заключается в том, что он является общедоступным контентом, то я не вижу проблемы, поскольку очистка сайта от этой информации действительно не отличается от того, что указывает на ваш браузер на сайте и читает его для себя.
  • Конечно, ответ на # 3 зависит от монетизации сайта. Если Site A предоставляет рекламу для получения дохода для сайта, тогда может не возникнуть идея начать очищать контент, поскольку вы будете обходить способ создания сайта.

Я думаю, что самое главное, прежде всего, поговорить с владельцем сайта и определить прямо из них, если:

  • Хорошо ли, чтобы я соскабливал контент со своего сайта.
  • У них есть API в конвейере (просто подсветка желания может побудить их рассмотреть его).

Просто моя точка зрения...

Ответ 2

Обновление (4 года спустя): Вопрос конкретно затрагивает этическую сторону проблемы. Вот почему этот старый ответ написан таким образом.

Обычно в такой ситуации вы связываетесь с ними.

Если им это не нравится, то этично вы не можете это сделать (юридически это еще одна история, в зависимости от предоставления лицензии на сайте или нет), какой логин/анонимность или другие ограничения, которые они имеют для доступа, у вас есть использовать тестовые/поддельные данные и т.д.).

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

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

Ответ 3

Я бы не коснулся его, чтобы отправить электронную почту администратору сайта, а затем получить их письменное разрешение. При этом - если вы потребляете контент, но не извлекаете значение за пределы значения один пользователь получает, наблюдая за данными, которые вам нужны от них, можно утверждать, что любой TOU они не нашли бы вас в нарушении. Если, однако, вы получаете примечательную ценность за что один пользователь получит от данных, которые вам нужны с их сайта - то есть, скажем, вы используете данные, то ваши результаты в конечном итоге обеспечивают ценность 100x ваших собственных пользователей сайта - я бы сказал вам нужно прямое разрешение на это, чтобы хорошо спать по ночам.

Все это, однако, если информация уже находится в общественном достоянии (и вы можете это доказать), или данные, которые вам нужны, находятся под каким-то типом "открытой лицензии", например, из GNU.

Затем снова сеть - это ничего, кроме ссылок на контент других. Мы все фиксируем, а затем повторно публикуем на разных форумах, скажем - мы читаем статью о cnn, а затем комментируем ее на онлайн-форуме, возможно, процитировать статью и предоставить ссылку на нее. Просто зависит от того, насколько гибко и открытые администратор сайта и владелец. Но на самом деле, чтобы избежать судебного преследования (если толчок приходит в себя) Я бы получил разрешение.

Ответ 4

  • Используйте заголовок user-agent, который идентифицирует вашу службу.
  • Проверьте robots.txt (и повторите проверку с регулярными интервалами, например, ежедневно).
  • Уважайте Disallow в записи, которая соответствует вашему пользовательскому агенту (быть либеральной при интерпретации имени). Если для вашего пользовательского агента нет записи, используйте запись для User-agent: *.
  • Уважайте (нестандартный) Crawl-delay, в котором указано, сколько секунд вы должны ждать, прежде чем запрашивать ресурс с этого хоста еще раз.

Ответ 5

"нет соскабливания" - вы намереваетесь царапать. =)

Единственные разумные причины, основанные на этике, не должны принимать его со своего веб-сайта:

  • Они могут пожелать показывать рекламу или важные уведомления о безопасности пользователям
  • Это может сделать их статистику неточной.

Что касается взлома их сайта, это, вероятно, не проблема. Но если это:

  • Возможно, вы захотите очистить минимальную требуемую сумму (например, сделать минимальное количество HTTP-запросов), а не слишком часто забивать сервер.
  • Возможно, вы не хотите, чтобы все ваши приложения запрашивали веб-сайт; вы можете запросить их собственный веб-сайт через cronjob. Это позволит вам лучше контролировать, если они изменят свое форматирование или позволят вам использовать "недоступные в данный момент" ошибки для своих пользователей, просто изменив свой сайт; он вводит еще один момент отказа, но он, вероятно, стоит того. Таким образом, если есть ошибка, людям не нужно обновлять свои приложения.

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