我正在努力刮一个包含博彩赔率数据的网站。
在编写页面的方式中,它在标签标记中列出了市场名称,标签标记不是选择的父标记,而是页面的分隔符。
使用JSoup,我可以提取我想要的所有选择数据,但我不知道如何计算“label”前面的值是用于选择的值。因此,实际上我在页面上有所有的选择和价格,但我无法解决‘巴西4美元’是否涉及世界杯市场,得分最高的球队还是任何其他市场。
我用来获取市场和选择的代码是:
Elements marketNames = doc.getElementsByTag("label");
Elements runnerNames = doc.getElementsByClass("selection");基本上现在我有一个选择,如“巴西-4.0美元”。我还想知道之前的标签是什么,所以我可以称之为“赢家-巴西-4.0美元”。
发布于 2014-06-06 08:23:51
如果您想要上一个标签,您可以迭代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
...https://stackoverflow.com/questions/24070100
复制相似问题