4

入力として URL を受け取り、css、画像、js (関連するすべてのリソース) を含む Web ページ全体をディスクに保存する Java メソッドを実装したいと考えています。Jsoup html パーサーを使用して html ページを取得しました。今私が実装しようと考えている唯一のオプションは、jsoup を使用してページを取得し、html コンテンツを解析して相対パスを絶対パスに変換し、JavaScript、画像などの別の取得要求を作成してディスクに保存することです。私はhtmlクリーナー、htmlunitパーサーについても読みましたが、これらすべてのケースで、htmlコンテンツを解析して画像、css、およびjavascriptファイルを取得する必要があると思います。

私が正しく考えているかどうかに関係なく、アドバイス。または、このタスクを達成する簡単な方法はありますか??

4

3 に答える 3

5

基本的に、Jsoupでそれを行うことができます:

 Document doc = Jsoup.connect("http://rabotalux.com.ua/vacancy/4f4f800c8bc1597dc6fc7aff").get();
         Elements links = doc.select("link");
         Elements scripts = doc.select("script");
        for (Element element : links) {
              System.out.println(element.absUrl("href"));
        }
        for (Element element : scripts) {
              System.out.println(element.absUrl("src"));
        }

画像とすべての関連リソースについても同様です。

ただし、サイトがjavaScriptを使用していくつかの要素を作成する場合、javaScript を実行できないため、Jsoup はそれをスキップします。

于 2012-04-12T09:14:19.393 に答える
1

私はあなたが計画しているのとまったく同じメカニズムを使用した数年前に同様の問題に遭遇しました。HTMLコンテンツを解析し、相対パスを絶対パスに変換します。また、複数のスレッドを使用して同時に実行し、パフォーマンスを最適化するために画像やJavaスクリプトなどを取得しました。私たちがやったようにやるべきかどうかはわかりませんが、最終的にはうまくいきます。:-)

于 2012-04-12T08:57:50.910 に答える