私はちょうど最近、tbody タグに関して一貫性のない Jsoup の動作に気付きました。
<table>
<tbody>
<tr><td>... text
</tbody>
</table>
Jsoup は、select メソッド () によって返される要素に tbody 要素を含めません。
メソッド connect().get() を使用して、次のようなドキュメント変数にリモート ページを読み込みます。
Document doc = Jsoup.connect(url).get();
String expr = "table>tr>td";
String parsedTxt = doc.select(expr).text();
しかし、ローカル ディスクで同じページを解析したとき (ダウンロード後)。Jsoup には tbody タグが含まれています。tbody 要素が欠落しているため、式が機能しなくなります。
私が使う:
File input = new File(locationOfFile);
Document doc = Jsoup.parse(input, "UTF-8", "");
私の Jsoup 式は、最初のケースでのみ機能します。
両方のケースで同じ式を使用できるように、Jsoup に tbody 要素を認識させる (または削除する) ようにする方法はありますか?
これは Jsoup の正常な動作ですか?
ローカル ページの解析にも connect メソッドを使用する必要がありますか?