全部 - 我有以下代码:
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 - Chicago vs Green Bay”(绿湾赢了)。这很好,但是当我试图得到实际分数时,我无法弄清楚如何。我的问题是我试图将{head}替换为<div id="awayScoreBox" class="vscorebox">...</div>
(这是<Body>
标签下)。所以按照使用“head”标签的格式我尝试了这个:
docTitle = doc.select("div id="awayScoreBox" class="vscorebox"").first().text();
return null;
你可以想象我遇到了语法错误但无法找出原因。我意识到我可能必须指定它在<Body>
标签下,但我找不到有关如何执行此操作的任何信息。任何帮助将不胜感激。
答案 0 :(得分:1)
它是selecting id and class at the same time的css选择器,所以它是
doc.select("div#awayScoreBox.vscorebox");
答案 1 :(得分:0)
你没有逃避报价。您目前正在使用此功能。
docTitle = doc.select("div id="awayScoreBox" class="vscorebox"").first().text();
return null;
将doc.select
部分改为此。
doc.select("div id=\"awayScoreBox\" class=\"vscorebox\"").first().text();
这就是你得到SyntaxException
。