Проблема при подключении к указанному URL c с помощью метода подключения Jsoup - PullRequest
0 голосов
/ 22 апреля 2020

Во-первых, метод соединения Jsoup может быть не виноват; возможно, моя проблема связана с неправильным пониманием метода Document * html (), который унаследован от Element.

В центре моей проблемы извлечение информации из указанного URL-адреса c, но из-за Строка, которая в настоящее время возвращается методом Document 10 * * (). Боюсь, что метод Jsoup connect () не подключается к указанному URL, а скорее к универсальному c URL веб-сайта.

Это указанный c URL, к которому я хотел бы подключить свою программу: http://redditsearch.io/?term=&dataviz=false&aggs=false&subreddits=&searchtype=posts&search=true&start=1587355200&end=1587441600&size=100

, но вместо этого я думаю, что он подключается только к универсальному c URL этого веб-сайта: http://redditsearch.io/

Причина, по которой я полагаю, это из-за строки, возвращаемой методом Document html ():

Document doc = Jsoup.connect("http://redditsearch.io/?term=&dataviz=false&aggs=false&subreddits=&searchtype=posts&search=true&start=1587355200&end=1587441600&size=100").get();
String html = doc.html();
System.out.println(html);

, который печатает много HTML, поэтому я поделюсь с вами, ребята, только соответствующим аспектом (имейте в виду, следующий текст возвращается из метода html () документа):

<div id="results-container" class="data-display"> 
 <div id="posts" class="results"></div> 
 <div id="comments" class="results"></div> 
</div>

Этот аспект HTML к этой спецификации c URL в инспекторе моего браузера (firefox) выглядит следующим образом (имейте в виду, что метод Document html () НЕ возвращает следующий текст, скорее он отображается инспектором в моем браузере):

<div id="results-container" class="data-display"> 
 <div id="posts" class="results"></div> 
  <div class="submission"...> </div> (first line under "posts")
  ...
  <div class="submission"...> </div> (Nth line under "posts")
 <div id="comments" class="results"></div> 
</div>

Это означает, что под тегом div id = "posts" есть несколько строк, когда я подключаю свой браузер к указанному URL c; тем не менее, нет никаких строк под этим тегом в инспекторе моего браузера, когда я подключаю его к универсальному c URL "redditsearch.io" (т.е. этот аспект HTML выглядит так же, как первый пример HTML, приведенный здесь в Инспектор, когда мой браузер подключен к универсальному c URL). Вот почему я считаю, что моя программа подключается к универсальному URL c, хотя я использую указанный аргумент c URL.

1 Ответ

1 голос
/ 23 апреля 2020

Другим моментом может быть то, что в вашем браузере добавляются div "submission" через JavaScript.

Чтобы проверить это, либо отключите JavaScript в вашем браузере (например, с плагином NoScript), либо в Сетевая вкладка консоли разработчика проверяет первый возвращенный html файл.

...