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

Я работаю над проектом в НЛП, который требует от меня загрузки довольно большого количества обзоров видеоигр - около 10000 на веб-сайт. Итак, я собираюсь написать программу, которая идет по каждому URL и извлекает часть обзора каждой страницы, а также некоторые дополнительные метаданные.

Я использую Java и планировал просто открыть HttpURLConnection и прочитать текст через поток ввода. Затем закрываем соединение и открываем следующее.

Мои вопросы таковы:

1) Давайте предположим, что это сайт со средним и небольшим объемом трафика: обычно они получают около 1000 запросов в секунду от обычных пользователей. Возможно ли, что моя программа вызовет чрезмерную нагрузку на их систему, что повлияет на восприятие пользователем других?

2) Могут ли эти соединения, сделанные один за другим, выглядеть как некая вредоносная атака?

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

2 ответа

Решение

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

Другими словами, просто дросселируйте свое хлебание до 1 страницы за несколько секунд, и никаких проблем.

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

Я полагаю, вы неправильно понимаете, как работают HTTP-запросы. Вы запрашиваете страницу и получаете ее... тот факт, что вы читаете поток по одной строке за раз, не имеет никакого отношения к HTTP-запросу, и сайт совершенно счастлив предоставить вам по одной странице за раз. Это не будет выглядеть злонамеренно (потому что только 1 пользователь читает страницы... абсолютно нормальное поведение). Вы на 100% в порядке, чтобы приступить к реализации своего плана (если он соответствует описанию).

Другие вопросы по тегам