web-dev-qa-db-ja.com

クローラーvsスクレーパー

スコープと機能の点で、誰かがクローラーとスクレーパーを区別できますか?.

53
Nayn

クローラーはWebページを取得します-すなわち、開始アドレス(または開始アドレスのセット)といくつかの条件(例:深くリンクする数、無視するファイルの種類)を与えられて、開始点からリンクされているものをダウンロードします( s)。

スクレーパーは、ダウンロードされたページ、またはより一般的な意味で、表示用にフォーマットされたデータを取得し、それらのページからデータを抽出(試行)して、データベースに保存し、必要に応じて操作できるようにします。

結果の使用方法によっては、スクレイピングは、情報の所有者の権利やWebサイトの使用に関するユーザー契約に違反する可能性があります(クロールは、場合によっては後者にも違反します)。多くのサイトでは、ルートに robots.txt という名前のファイルが含まれています(つまり、URL http://server/robots.txt)クローラがそのサイトを処理する方法(およびその場合)を指定します。特に、クローラがアクセスを試みてはならない(部分的な)URLをリストできます。これらは、必要に応じてクローラー(ユーザーエージェント)ごとに個別に指定できます。

82
Jerry Coffin

Webクローラーはロジック内のリンク(URL-ページ)を取得し、スクレーパーはHTMLから値(抽出)を取得します。

非常に多くのWebクローラーツールがあります。 ページにアクセス 一部を表示します。任意のXML-HTMLパーサーを使用して、クロールされたページからデータを抽出(スクラップ)できます。 (データの解析と抽出には Jsoup をお勧めします)

4
cuneytykaya

クローラーはリンクをたどってウェブを閲覧します。例は、インデックスを作成するページを取得するGoogleロボットです。スクレーパーはフォームから値を抽出しますが、必ずしもWebとは関係ありません。

3
Steven Sudit

一般に、クローラーはリンクをたどって多数のページにアクセスしますが、スクレーパーはある意味ではオンラインで表示されているコンテンツをプルするだけで、より深いリンクには到達しません。

最も典型的なクローラーはGoogleボットで、リンクをたどってWebサイト上のすべてのWebページにアクセスし、有用であると判断された場合はコンテンツのインデックスを作成します(そのため、robots.txtを使用して、どのコンテンツになりたくないかを判断する必要があります)インデックス付き)。そのため、このような種類のコンテンツをWebサイトで検索できます。スクレーパーの目的は、個人的な使用のためにコンテンツをプルすることだけであり、他の人にはあまり影響しません。

ただし、一部の自動Webスクレイピングツールでは、Octoparseやimport.ioなどのリンクをたどってWebサイトをクロールできるため、クローラーとスクレーパーに明確な違いはありません。 Googleボットのようなクローラーではありませんが、Webサイトを自動的にクロールして、コーディングせずに多数のデータを取得できます。

0
M John