使用 Jsoup 的连接方法连接到特定 URL 时出现问题

Problem connecting to a specific URL with Jsoup's connect method

首先,Jsoup的connect方法可能没有问题;我的担心可能是由于对 Document 的 html() 方法的误解,该方法继承自 Element.

我的问题的重点是从特定的 URL 中提取信息,但是由于 Document 的 html() 方法当前返回的字符串,我担心 Jsoup 的 connect() 方法未连接到指定的 URL,而是连接到网站的通用 URL。

这是特定的 URL 我希望我的程序连接到: http://redditsearch.io/?term=&dataviz=false&aggs=false&subreddits=&searchtype=posts&search=true&start=1587355200&end=1587441600&size=100

但我认为它只是连接到该网站的通用 URL: http://redditsearch.io/

我认为这是因为文档的 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 所以我只会和你们分享它的相关方面(请记住,以下文本是从 Document 的 html() 方法返回的) :

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

在我的浏览器检查器 (firefox) 中 HTML 到这个特定 URL 的这方面看起来像这样(请记住,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>

意味着当我将浏览器连接到特定的 URL 时,div id="posts" 标记下有多行;但是,当我将浏览器的检查器连接到通用 URL "redditsearch.io" 时,浏览器的检查器中该标签下没有任何行(即 HTML 的这一方面看起来就像第一个 HTML当我的浏览器连接到通用 URL 时,在我的检查器中给出的示例。这就是为什么我相信我的程序正在连接到通用 URL,即使我使用特定的 URL 作为参数。

另一点可能是 "submission" div 是通过浏览器中的 JavaScript 添加的。

要检查这一点,请在浏览器中关闭 JavaScript(例如使用 NoScript 插件)或在开发人员控制台的网络选项卡中检查第一个返回的 html 文件。