みなさん、たまにウェブサイトからのデータ収集タスクを自動化する必要があります。ディレクトリからのURLが必要な場合もあれば、XMLサイトマップが必要な場合もあります(そうです、そのためのソフトウェアやオンラインサービスがたくさんあることはわかっています)。
とにかく、前の質問のフォローアップとして、Webサイトにアクセスできる小さなWebクローラーを作成しました。
1つのWebサイトと簡単かつ迅速に対話するための基本的なクローラークラス。
「doAction(StringURL、String content)」をオーバーライドして、コンテンツをさらに処理します(たとえば、コンテンツを保存、解析します)。
コンセプトにより、クローラーのマルチスレッド化が可能になります。すべてのクラスインスタンスは、処理されキューに入れられたリンクのリストを共有します。
オブジェクト内で処理されたリンクとキューに入れられたリンクを追跡する代わりに、データベースにリンクを格納するためにJDBC接続を確立できます。
現在、一度に1つのWebサイトに制限されていますが、externalLinksスタックを追加し、必要に応じて追加することで拡張できます。
JCrawlerは、XMLサイトマップをすばやく生成したり、必要な情報のWebサイトを解析したりするために使用することを目的としています。軽量です。
上記の制限がある場合、これはクローラーを作成するための適切な方法ですか?どんな入力でも非常に役立ちます:)
http://pastebin.com/VtgC4qVE-Main.java http://pastebin.com/gF4sLHEW-JCrawler.java
http://pastebin.com/VJ1grArt-HTMLUtils.java _
_ _