JavaアプリケーションからいくつかのWebサイトをミラーリングする必要があります。この仕事をするためのオープンソースのJavaライブラリを探していましたが、適切なものが見つかりませんでした。
Webサイト全体を取得するためのJavaに適したツールについて知っている人はいますか、それともプログラムからexec wgetに固執する必要がありますか?
どうもありがとう。
この種のライブラリで私が見つけた最大の問題は、css解析がサポートされていないことでした。そのため、Webサイトをミラーリングするときに、インポートされたスタイルシートや背景画像などもダウンロードされます。
wgetにはこれに対するサポートが組み込まれています(少なくとも最近のバージョンでは)。Javaからこのプログラムを実行するのはあまりクリーンなソリューションではありませんが、最初に試して、ニーズに合うかどうかを確認します。
クローラー/スパイダーをお勧めします。AspiderとSperowiderは、Apache HttpClient lib(私のお気に入りのhttplib)を使用し、リンクをたどってサイトをクロールします。それらはOSSであるため、ソフトウェアに統合できるはずです。これらも現在メンテナンスされていませんが、Javaで独自のミラーリングツールを作成する場合は、ApacheHttpClientライブラリから始めるとよいでしょう。