【发布时间】:2015-09-29 03:08:33
【问题描述】:
所以我正在使用 JSoup 并尝试解析这个网站:
http://www.sportstats.com/soccer/germany/bundesliga/
我试图至少获得第一个<div class = clubTable>,它会在接下来的 3 天里举行即将举行的比赛。
这是我的代码:
try{
url = new URL("http://www.sportstats.com/soccer/germany/bundesliga/");
doc = Jsoup.parse(url, 3 * 1000);
}catch(MalformedURLException ie){
System.out.println(ie);
}catch(IOException e){
System.out.println(e);
}
Elements links = doc.select("div > div.tableShadow");
System.out.println(links);
我的输出是这样的:
<div class="tableShadow" id="LS_nextMatchesContent"></div>
问题是,在<div> 之间应该有整个表格(如果您查看网站的 HTML 代码,您可能已经看到了)。但是当我解析网站时它没有出现。
当我尝试选择特定的 <div> 时,它也没有显示。
我不是很喜欢 JSoup,所以如果有人知道如何解决这个问题,我会很高兴听到。
【问题讨论】:
-
它不存在。使用 JSoup 时常见的错误之一是认为 Javascript 填充的数据是页面的一部分。但是,如果您使用“查看页面源”而不是 FireBug/Browser 工具查看页面源,您会看到 div 是空的。所以 JSoup 不会为你获取这些数据。
-
是的,我只是想出了同样的事情,但感谢您的快速回答!我使用了谷歌浏览器提供的“检查元素”工具。