私はいくつかのHTMLテーブルを持つ特定のサイトからテーブルを抽出するプロジェクトに取り組んでいます。ここでは赤いボックスに私が抽出したい特定のテーブルを強調した画像です:jsoupを使ってウェブサイトからテーブルを抽出する際の問題
そして、私のコード:
String html = "https://finance.yahoo.com/quote/GOOG/analysts?p=GOOG";
try {
Document doc = Jsoup.connect(html).get();
Element tableElements = doc.select("table").get(7);
for (Element row : tableElements.select("tr")) {
Elements tds = row.select("td");
for (int j = 0; j < tds.size(); j++) {
System.out.println(tds.get(j).text());
}
}
} catch (IOException e) {
e.printStackTrace();
}
テーブルを選択するときに、このコードは、境界エラーのうちのインデックスを返します。しかし、 。インデックスを下げると、他のテーブルの1つがページに表示されます。私が望む特定のテーブルを選択する方法が不明です。
私はjsoupサポートcssセレクタを覚えています。あなたは、ページ上のテーブルにテーブルセレクタを修正する必要があります。コードでは、汎用セレクタ・テーブルを選択しています。 –