0

私はJsoupを使用してこのWebページを解析しています

そのWebページでは、ブラウザで何かを見ることができますが、Jsoupで解析しようとすると

Document doc = Jsoup.parse("https://daisy.dsv.su.se/servlet/schema.MomentInfoRuta?id=261020&kind=100&nochange=true&allPrio=true&multiple=true&allEx=true");
System.out.println(doc);

戻ってきます

<html>
<head></head>
<body>
https://daisy.dsv.su.se/servlet/schema.MomentInfoRuta?id=261020&amp;kind=100&amp;nochange=true&amp;allPrio=trueμltiple=true&amp;allEx=true
</body>
</html>

これはすべて HTML ではありません。

どうすれば解決できるか、またはなぜそれが起こっているのか、何か提案はありますか?

4

1 に答える 1

1

通常はユーザー エージェントを介してクローラーを検出し、別のコンテンツを送信しているようです。ユーザー エージェント文字列を標準ブラウザの文字列に設定してみて、問題が解決するかどうかを確認してください。

ここでの問題ではないと思いますが、もう 1 つの潜在的な問題は、AJAX 経由で読み込まれたデータが JSoup によってダウンロードされないことです。提供される HTML を解析しますが、JavaScript は実行しないため、後で追加されるコンテンツを取得することはできません。HTML、CSS、および JavaScript を処理およびレンダリングできるPhantomJSのようなものを使用して、この問題を解決できる可能性があります。これにより、(理論的には) 実際の HTML がブラウザーに表示されます。

于 2012-09-01T01:13:31.090 に答える