Почему в моем коде JSoup отключается в случайных местах? - PullRequest
0 голосов
/ 09 марта 2019

В настоящее время я пытаюсь использовать JSoup в Java для очистки retrosheets.org для проекта кодирования бейсбола, над которым я работаю.

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

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

Вот пример соединения, которое я выполняю (все соединения следуют этому формату).

doc = Jsoup.connect("https://www.retrosheet.org/boxesetc/index.html").maxBodySize(0).userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15").get();

Этоя получаю ошибку

1 Ответ

0 голосов
/ 09 марта 2019

Это, безусловно, защита от нагрузки на целевом веб-сайте - он обнаруживает слишком много запросов с одного и того же IP-адреса и на некоторое время блокирует его или ограничивает количество подключений / запросов с этого IP-адреса. Вот почему вы также не можете открыть веб-сайт в браузере - речь идет не о JSoup или Java, а о подключениях / запросах с вашего IP-адреса к целевому веб-сайту, который блокируется / регулируется.

...