0

すべて-私は次のコードを持っています:

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」という出力が得られます (ちなみに Green Bay が勝ちました)。それは素晴らしいことですが、実際のスコアを取得しようとすると、方法がわかりませんでした。私の問題は、「頭」を<div id="awayScoreBox" class="vscorebox">...</div>(これは<Body>タグの下にあります)に置き換えようとしていたことでした。したがって、「head」タグを使用する形式に従って、これを試しました:

docTitle = doc.select("div id="awayScoreBox" class="vscorebox"").first().text();
return null;    

ご想像のとおり、構文エラーが発生しましたが、その理由がわかりませんでした。これがタグの下にあることを指定する必要があるかもしれないことは理解していますが、これを<Body>行う方法に関する情報は見つかりませんでした. どんな助けでも大歓迎です。

4

2 に答える 2

1

idとclassを同時に選択するCSSセレクタなので、

doc.select("div#awayScoreBox.vscorebox");
于 2012-09-15T00:01:36.090 に答える
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

于 2012-09-15T00:12:08.767 に答える