所以我正在尝试使用Jsoup从this webpage获取数据...
我尝试查找许多不同的方法来做,但我已经接近了,但是我不知道如何找到某些统计信息的标签(攻击,力量,防守等)。
举例来说,我想打印出来
'Attack', '15', '99', '200,000,000'
我应该怎么做呢?
最佳答案
您可以在CSS selectors中使用Jsoup轻松提取列数据。
// retrieve page source code
Document doc = Jsoup
.connect("http://services.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1=Lynx%A0Titan")
.get();
// find all of the table rows
Elements rows = doc.select("div#contentHiscores table tr");
ListIterator<Element> itr = rows.listIterator();
// loop over each row
while (itr.hasNext()) {
Element row = itr.next();
// does the second col contain the word attack?
if (row.select("td:nth-child(2) a:contains(attack)").first() != null) {
// if so, assign each sibling col to variable
String rank = row.select("td:nth-child(3)").text();
String level = row.select("td:nth-child(4)").text();
String xp = row.select("td:nth-child(5)").text();
System.out.printf("rank=%s level=%s xp=%s", rank, level, xp);
// stop looping rows, found attack
break;
}
}