スクレイピングはHTMLソースからデータを集めますが、なぜソースからデータを集める必要があるのでしょうか?本記事ではこのテーマを深掘りしたいと思います。
スクレイピングを初めて見た人はスクレイピングの便利さに気付くと同時に、スクレイピングのテクニックの凄さに感嘆することが多いです。
しかしスクレイピングは高度な技術を駆使して、データを収集しているのではありません。していることは極めてシンプルなことです。
目次
ソースタグからスクレイピングする理由を解説
これからはソースタグから、スクレイピングする理由を解説します。
非テキスト情報はブラウザからは解らない
サイトに画像が表示されていることはありますが、画像を表示するときは<img src=”test.jpeg”>のようにタグを書きます。しかしこれはブラウザ上からは解りません。画像の情報を知るには、ソースタグを見るしかありません。
これは画像だけではなく、音声ファイル、動画ファイルも同様です。
効率化のため
ブラウザ上からも特定のデータは取得できますが、同じ要素で囲まれたデータを取得するときは、ソースタグから取得した方が格段に効率的です。見だしに<h2>タグが使われることはありますが、すべての<h2>タグで囲まれたデータを収集するときは、HTMLソースから収集しなければ凄く効率が悪いです。
そもそもブラウザ上からは、データが<h2>で囲まれているかどうかも解りません。スクレイピングは対象のタグを頼りに特定のデータを収集する技術なので、HTMLソースがなければ成立しません。
スポンサーリンク
どうしたらソースは解るのか?
これからは、どうしたらソースは解るのかを解説します。
閲覧するときは対象のページで右クリック
簡単にソースを知る方法があります。それは対象のページ上で右クリックすることです。上記の画像は記事のソースですが、対象のページ上で右クリックしたら表示されました。今回はプライバシーの観点から私たちの記事で試しましたが、他のサイトでも利用できます。
ただサイトによっては、解りにくいソースにしている可能性があります。その場合はソースを解析する必要がありますが、どんなサイトも基本的には右クリックでソース画面は出ます。
プログラムでソースを出すときは専用の関数
プログラムでソースタグを見るときは、専用の関数を使います。そして対象のタグを見つけ、データを収集します。専用の関数はプログラム言語によって異なりますが、いずれも引数はシンプルなので、さほど悩まずに実行できると思います。
ところで最近知ったことですが、スクリプト言語のPHPにはshow_source(ファイル名) という関数がありました。詳しくは以下のページを参考にしてもらったらいいですが、凄く便利な関数ですね。
スクレイピングツールの使用はソースタグの知識が必要か?
スクレイピングの基本はソースタグを参照することですが、スクレイピングツールを使うときに、ソースタグの知識は必要なのでしょうか?考察します。
スクレイピングツールによる
一部のスクレイピングツールは、自動的にタグを検出してくれます。そのようなスクレイピングツールを使う限り、ソースタグの知識は必要ないと思います。スクレイピングツールがソースタグを誤検知する可能性はありますが、誤検知したらやり方を変えて再度チャレンジしたらいいでしょう。
自動的にソースタグを検出してくれるスクレイピングツールには、Octoparseがあります。Octoparseの公式ホームページでも、自動検出について触れています。
ソースタグの知識が必要なスクレイピングツールの方が多い
私の知る限り、ソースタグの知識が必要なスクレイピングツールの方が多いです。そのようなスクレイピングツールでは対象のタグを指定しますが、簡単に指定できるスクレイピングツールの方がいいと思います。
無料のスクレイピングツールでもタグを指定してスクレイピングすることは可能ですが、タグの指定方法が若干難解です。HTMLやJavaスクリプトに慣れている人であれば直ぐに理解できると思いますが、門外漢の人はタグを指定する段階で右往左往します。
タグを指定するタイプのスクレイピングツールで一番簡単なのは、Bright Dataのデータコレクターだと思います。データコレクターはフォームからタグを指定するようになっていますが、タグのタイプまで指定できるので、誤検出する可能性は極めて低いと思います。
結論
見出しの結論ですが、スクレイピングする人はソースタグの知識があった方がいいです。何故ならばソースタグを直接指定した方が、誤検出が少ないからです。データによってはタグが入れ子状になっていることがありますが、そのようなデータのタグをスクレイピングツールが見抜くのは大変です。
簡単な構造のサイトであれば自動的にソースタグを検出してくれるツールの方がいいですが、最近のサイトのソースタグは複雑化しています。そのため、ソースタグの知識はあった方がいいです。
マスターしておきたいソースタグ
HTMLタグは数ヶ月もあれば習得できると思いますが、これからソースタグを勉強する人は、頻出頻度の高いソースタグから覚えたらいいと思います。
ここでは頻出頻度の高いタグを表にまとめました。
タグの種類 | タグの働き |
h1からh5 | 見出しに使われることが多い。 |
img | 画像を表示するときに使う |
a href | リンクを貼るときに使う |
b | 文字を太字にするときに使う |
table | テーブルを作成するときに使う |
他にもいろいろなタグがありますが、取りあえずは表にまとめたソースタグを覚えたらいいと思います。覚えるときはあれこれ難しいことは考えず、実際に自分で書いてみることが大切です。
インターネット上にはHTMLタグの解説をしているサイトがあるので、多くのタグを覚えたい人はそれらの解説サイトを参考にしてください。
スポンサーリンク
基本的なソースタグを勉強した後はBright Dataに挑戦
基本的なソースタグを勉強した後は、Bright Dataのデータコレクターに挑戦してほしいと思います。データコレクターは名称からも解るように、データを集めるツールです。以下では詳しく見ますね。
データコレクターの操作方法
こちらの動画は、データコレクターの解説をしています。流れを見ます。
- 対象のURLを指定
- 必要な項目を指定または追加する
- IPアドレスを指定する
データコレクターの主な流れを解説しましたが、データコレクターの操作方法は簡単だと思います。必要な項目を指定するときは、タグの知識が必要ですが、記述方法は簡単です。
データコレクターよりも操作が簡単にスクレイピングツールはありますが、データコレクターのように細かい指定をしたり、ドメイン単位でスクレイピングをすることはできません。
不安な方は無料体験しよう
法人だけですが、Bright Dataのデータコレクターを体験することができます。体験期間は一週間ですが、一週間もあればデータコレクターの概略は解ると思います。体験プランでは実際に注文することはできませんが、支払い方法を指定した後は好きなだけ注文できます。
体験中は、いろいろなことを試してほしいと思います。クレジットカードとPayPalを登録しない限り、自動課金されることはないので安心してください。
無料体験中に営業メールが来ると思いますが、必要な方だけ返信してください。必要がない場合は、メールを無視しても構いません。
まとめ
ソースからスクレイピングする理由を解説しましたが、スクレイピングの仕組みって非常に簡単でしたね。しかしスクレイピングツールを使わなければ、データの収集は非常に面倒くさいです。技術力のある人は自らスクレイピングツールを開発したらいいですが、初めて挑戦する人はかなりの開発期間を要すると思います。
手っ取り早くスクレイピングをしたい人は、Bright Dataのデータコレクターを使ってください。データコレクターは本格的なスクレイピングツールで、世界中で愛用されています。