7

ページからすべてのリンクを取得し、必要なものを選択する必要がある Web ロボットを実装しています。リンクが「テーブル」または「スパン」タグ内にあるという問題に遭遇したことを除いて、すべて機能しました。ここに私のコードスニペットがあります:

Document doc = Jsoup.connect(url)
    .timeout(TIMEOUT * 1000)
    .get();
Elements elts = doc.getElementsByTag("a");

HTML の例を次に示します。

<table>
  <tr><td><a href="www.example.com"></a></td></tr>
</table>

私のコードはそのようなリンクを取得しません。doc.select を使用しても役に立ちません。私の質問は、ページからすべてのリンクを取得する方法ですか?

編集:問題がどこにあるかはわかっていると思います。私が問題を抱えているページの記述は非常に悪く、HTML バリデーターは膨大な量のエラーをスローします。これにより問題が発生する可能性はありますか?

4

2 に答える 2

5

一般に、Jsoup はほとんどの不適切な HTML を処理できます。JSoup が使用する HTML をダンプします (単純な出力が可能ですdoc.toString())。

ヒント:select()の代わりに使用するとgetElementsByX()、より高速で柔軟になります。

Elements elts = doc.select("a"); (編集)

Selector-API の概要は次のとおりです: http://jsoup.org/cookbook/extracting-data/selector-syntax

于 2012-09-21T10:16:00.583 に答える