まず、「ミラーリング」と「スクレイピング」の違いを明確にしましょう。
ミラーリングとは、Web サイトのコンテンツ全体、または一部の重要なセクション (HTML、画像、スクリプト、CSS スタイルシートなどを含む) をダウンロードすることを指します。これは、多くの場合、貴重な (そしてしばしば制限された) インターネット リソースへのアクセスを保持および拡張するため、または追加のフェールオーバー冗長性を追加するために行われます。たとえば、多くの大学や IT 企業は、さまざまな Linux ベンダーのリリース アーカイブをミラーリングしています。ミラーリングは、(元のコンテンツ所有者の許可を得て) 自分のサーバーで Web サイトのコピーをホストすることを計画していることを意味する場合があります。
スクレイピングとは、ウェブサイトから興味深いデータをコピーして抽出することを指します。ミラーリングとは異なり、スクレイピングはサイトのコンテンツ全体ではなく、特定のデータセット (名前、電話番号、株価など) を対象とします。たとえば、米国国勢調査局の平均収入データや Google Finance の株価情報を「スクレイピング」できます。これは、ホストの利用規約に反して行われることがあり、違法になります。
この 2 つを組み合わせて、データのコピー (ミラーリング) を情報抽出 (スクレイピング) の問題から切り離すことができます。たとえば、データの抽出と分析が遅い場合や処理が集中する場合は、サイトをミラーリングしてからローカル コピーをスクレイピングする方が速いことに気付くかもしれません。
残りの質問に答えるには...
file_get_contents
PHP 関数は、file
ローカルまたはリモート マシンからファイルを読み取るためのものです。ファイルは HTML ファイルの場合もあれば、テキスト ファイルやスプレッドシートなどの別のファイルの場合もあります。これは、「ミラーリング」または「スクレイピング」が通常指すものではありませんが、これらを使用して独自の PHP ベースのミラー/スクレーパーを作成することはできます。
wget
およびcurl
さまざまなオプション、条件、およびプロトコルを使用して、リモート サーバーから 1 つまたは複数のファイルをダウンロードするためのコマンドライン スタンドアロン プログラムです。どちらも信じられないほど強力で人気のあるツールですが、主な違いは、wget
Web サイト全体をミラーリングするための豊富な機能が組み込まれていることです。
HTTrack
の目的は に似てwget
いますが、コマンドラインの代わりに GUI を使用します。これにより、ターミナルからコマンドを実行することに慣れていない人でも使いやすくなりますが、 が提供するパワーと柔軟性が失われwget
ます。
HTTrack
とをミラーリングに使用できますwget
が、それが最終的な目標である場合は、ダウンロードした結果のデータに対して独自のプログラムを実行して情報を抽出 (スクレイピング) する必要があります。
Mozenda
はスクレーパーであり、またはとは異なりHTTrack
、すべてのコンテンツをやみくもにコピーするのではなく、抽出する特定のデータをターゲットにすることができます。しかし、私はそれについてほとんど経験がありません。wget
curl
PS 私は通常wget
、関心のある HTML ページをミラーリングするために使用し、Ruby と R スクリプトを組み合わせて実行して、データを抽出および分析します。