所有 - 我有以下代码:
class AddStringTask extends AsyncTask<Void, String, Void> {
@Override
protected Void doInBackground(Void... unused) {
org.jsoup.nodes.Document doc = null;
try {
doc = Jsoup.connect("http://scores.espn.go.com/
nfl/gamecast?
gameId=320909007',%20'gamecast320909007"
).get();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
docTitle = doc.select("head").first().text();
return null;
}
}
我得到输出“NFL Gamecast - 芝加哥 vs 绿湾”(顺便说一句,绿湾赢了)。这很棒,但当我试图获得实际分数时,我不知道如何获得。我的问题是我试图用 <div id="awayScoreBox" class="vscorebox">...</div>
替换“head” (这是在 <Body>
标签下)。因此,按照使用“head”标签的格式,我尝试了以下操作:
docTitle = doc.select("div id="awayScoreBox" class="vscorebox"").first().text();
return null;
正如你想象的那样,我遇到了语法错误,但无法找出原因。我意识到我可能必须指定它位于 <Body>
下标签,但我找不到任何有关如何执行此操作的信息。任何帮助将不胜感激。
最佳答案
它是 selecting id and class at the same time 的 css 选择器所以它是
doc.select("div#awayScoreBox.vscorebox");
关于java - 解析 <Body>...</> 标签内的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12433378/