我正在尝试抓取一个包含betting odds data的网站。
页面的编写方式,它在标签标签中列出市场名称,该标签不是选择的父级,更多是页面的分隔符。
使用JSoup我可以提取我想要的所有选择数据,但我不知道如何找出'标签'的前面的值。是供选择的。所以实际上我在网页上有各种选择和价格,但我无法解决巴西4美元和4美元的问题。涉及世界杯市场,最高得分队或任何其他市场。
我用来获取市场和选择的代码是:
Elements marketNames = doc.getElementsByTag("label");
Elements runnerNames = doc.getElementsByClass("selection");
基本上我现在有一个像"巴西的选择 - $ 4.0"。我也想知道以前的标签是什么,所以我可以称之为" Winner - 巴西 - $ 4.0"
答案 0 :(得分:0)
如果你想要上一个标签,你可以迭代div标签,这样你就可以了解标签的顺序。
Elements divs = doc.select("div.sports_FfCell"); //gets the div part that has the information you want.
for (Element div : divs) {
if (div.toString().contains("market")) //there is a market tag for the table labels (sports_FfCell market).
System.out.print(div.text() + " - "); //no new line after the winner text.
else
System.out.println(div.text().replace("MULTI", "- ")); //it gets the MULTI part too, so i replace it.
}
输出:
Place Win World Cup 2014
Winner - Brazil - 3.75
Argentina - 5.00
Germany - 6.50
Spain - 7.00
Belgium - 21.00
...