【发布时间】:2014-11-03 20:52:50
【问题描述】:
我想使用 jSoup 从http://www.futbol24.com/Live/?__igp=1&LiveDate=20141104 获取数据。我知道如何使用 jSoup - 但我发现很难确定我需要的数据。
我想要 tbody 表每一行的时间、主队和客队。所以第一行的输出应该是:
08:30 Persipura Jayapura Pelita Bandung Raya
我可以将每个元素的 td 类视为“status alt”、“home”和“guest”。
目前我已经尝试了以下,但它似乎没有输出任何东西......我做错了什么?
matches = new ArrayList<Match>();
//getHistory
String website = "http://www.futbol24.com/Live/?__igp=1&LiveDate=20141104";
Document doc = Jsoup.connect(website).get();
Element tblHeader = doc.select("tbody").first();
List<Match> data = new ArrayList<>();
for (Element element1 : tblHeader.children()){
Match match = new Match();
match.setTimeOfMatch(element1.select("td.status.alt").text());
match.setAwayTeam(element1.select("td.home").text());
match.setHomeTeam(element1.select("td.guest").text());
data.add(match);
System.out.println(data.toString());
有人知道我如何使用 jSoup 从表格的每一行中获取这些元素吗?
谢谢,
罗伯
【问题讨论】:
-
我怀疑这个内容是由JavaScript在页面加载后动态生成的。如果是这种情况,那么您将无法在此处使用 Jsoup,因为它是解析器,而不是浏览器模拟器。你需要像 selenium 这样的网络驱动程序。