1

多くの Web サイトからデータを取得する必要があるクローラーを作成しています。問題は、すべての Web サイトの構造が異なることです。(多くの) 異なる Web サイトから (正しく) データをダウンロードするクローラーを簡単に作成するにはどうすればよいですか? Web サイトの構造が変わる場合、クローラーを書き直す必要がありますか、それとも他の方法はありますか?

自動 Web クローラー (多くの Web サイトはさまざまな構造に関与しています) によってマイニングされるデータの品質を向上させるために使用できる、論理的で実装されたツールは何ですか?

ありがとう!

4

4 に答える 4

0

実際にそれを許可したいWebサイトからデータをスクレイピングしている場合、構造化された方法でデータをクエリできるようにするための何らかのWebサービスを提供する可能性があります.

そうしないと、あなたは独力であり、利用規約に違反している可能性さえあります.

于 2012-07-19T21:29:52.227 に答える
0

何らかの方法でクエリを実行したい場合は、データを柔軟なデータ ストアに格納する必要があると思います。リレーショナル データベースは厳密なスキーマを持っているため、目的には適していませんが、スキーマを前もって定義しなくても半構造化データを格納できるmongodbのようなものですが、それでも強力なクエリ言語を提供します。

クローラー コードでデータを表現する方法についても同じことが言えます。構造が事前に定義されているクラスにデータをマップしないでください。ただし、実行時に変更できる柔軟なデータ構造を使用してください。Java を使用している場合は、データを HashMap に逆シリアル化します。他の言語では、これは辞書またはハッシュと呼ばれる場合があります。

于 2012-07-19T21:22:23.743 に答える
0

Web サイトで API が提供されていない場合は、冷静であり、遭遇するデータ形式ごとに個別の抽出モジュールを作成する必要があります。Web サイトでフォーマットが変更された場合は、フォーマット モジュールを更新する必要があります。クロールしているすべての Web サイトにプラグインを用意し、収集済みのデータを使用して回帰テストを行うテスト フレームワークを用意するのが標準的な方法です。テストが失敗すると、問題が発生したことがわかり、フォーマット プラグインを更新する必要があるかどうか、または別の問題があるかどうかを調査できます。

収集しているデータの種類を知らなければ、マイニングされたデータの「品質」を改善する方法について仮説を立てることは非常に困難です。

于 2012-07-20T21:07:23.283 に答える