unr*_*ted 7 html web-scraping jsoup
我试图从这个网站上抓取数据:http://www.bundesliga.de/de/liga/tabelle/
在源代码中,我可以看到表,但没有内容,只是这样的事情:
<td>[no content]</td>
<td>[no content]</td>
<td>[no content]</td>
<td>[no content]</td>
....
Run Code Online (Sandbox Code Playgroud)
使用firebug(Firefox中的F12)我也不会看到任何内容,但我可以选择表格,然后通过firebug选项复制innerHTML.在那种情况下,我得到了关于团队的所有信息,但我不知道如何获取Jsoup中的内容表.
要获取属性的值,请使用Node.attr(String key)方法对于元素(及其组合子元素)上的文本,请使用Element.text()对于HTML,请使用Element.html()或Node. outerHtml()视情况而定例如:
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);
Element link = doc.select("a").first();
String text = doc.body().text(); // "An example link"
String linkHref = link.attr("href"); // "http://example.com/"
String linkText = link.text(); // "example""
String linkOuterH = link.outerHtml();
// "<a href="http://example.com"><b>example</b></a>"
String linkInnerH = link.html(); // "<b>example</b>"
Run Code Online (Sandbox Code Playgroud)
参考:http: //jsoup.org/cookbook/extracting-data/attributes-text-html
该表不会直接在服务器上呈现,而是由页面的客户端 JavaScript 构建,并使用通过 AJAX 到达客户端的数据构建。因此,使用简单的 Jsoup 方法所得到的结果是预期的。
我看到两种可能的解决方案:
两种选择都有其(缺点)优点:
也许您在足球表中找到了另一个包含您想要的信息的来源?这可能是最简单的。例如http://www.fussballdaten.de/bundesliga/
| 归档时间: |
|
| 查看次数: |
6496 次 |
| 最近记录: |