我正在尝试从中获得每种技能的水平 https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1=Feed%20Meh%20Dog
这是一张桌子,但我在任何地方都看不到桌子的ID。我只需要知道我应该使用什么ID或类。
尝试了多个教程,但是所有教程都有一个简单的表类或ID。 我想应该使用一个div ID,只是不确定如何提取每个特定的行/技能。
最终文档文档= Jsoup.connect(“ https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1=Feed%20Meh%20Dog”)。get();
for (Element row : document.select("WHAT DO I PUT HERE tr")); {
final String Attack = row.select("WHAT DO I PUT HERE")
final String Defence = row.select("WHAT DO I PUT HERE")
final String Strength = row.select("WHAT DO I PUT HERE")
}
只想将行或个人技能输出到控制台。任何帮助将不胜感激。
答案 0 :(得分:0)
如果您想轻松获取所需的数据,我建议使用官方API。使用此链接:https://secure.runescape.com/m=hiscore_oldschool/index_lite.ws?player=
以一种怪诞的方式使用Jsoup看起来像这样...
final Document document = Jsoup.connect("https://secure.runescape.com/m=hiscore_oldschool/index_lite.ws?player=Feed%20Meh%20Dog").get();
final Element body = document.selectFirst("body");
String[] rawSkills = body.html().split(" ");
ArrayList<String[]> skills = new ArrayList<>();
for(String s: rawSkills ) {
skills.add(s.split(","));
}
System.out.println(skills.get(0)[1]);
然后选择一个单独的技能,您将执行类似skills.get(x)[y]
的操作,其中x是该技能在数组中的索引(从0开始),而y是您想要的技能信息。 0为等级,1为技能等级,2为xp。
API并未提供每种技能的名称,因此您必须手动进行操作。技能顺序与高分页面here相同。
编辑:我已经为这个特定的端点创建了一个小的Java包装器,您可以在其中找到here。