スクレイピングでtableデータを取得し活用

HTML
HTMLはスマホでも使えるよ。

tableタグはHTMLですが、データを解りやすく表示するために使うことが多いです。tableにはセルがあり、基本的に一つのセルの中に一つのデータが入ります。そんなtableには、重要がデータが含まれていることもあります。

本記事ではtableタグに囲まれたデータを、取得する方法を考えたいと思います。スタイルシートの普及でtableタグは使用頻度が減るのではないかと思われていましたが、tableタグは今でも現役バリバリです。

スタイルシートで、tableタグを使用することも可能です。スタイルシートのtableタグはデザイン性がいいので、見ていて楽しいです。

スクレイピングとtableタグ

tableタグで囲まれたデータを取得する前に、tableタグの整理をしたいと思います。

使われているタグ

HTML
HTMLはスマホでも使えるよ。

tableタグといっても、tableというタグだけが使われているのではありません。tableには以下のタグがあります。

  • th要素 見出しに使われることが多い
  • tr要素 行を作成するために使われる
  • td要素 データを入れるためのボックスを作る

上記のタグに色を指定することも可能ですが、今回は割愛させていただきます。

tableタグのスクレイピングも基本通りで大丈夫

tableタグのスクレイピングといっても、特別なことをする必要はありません。スクレイピングツールで、上記のタグを指定するだけです。もしかしてサイトによってはtableタグが入れ子状になっている可能性がありますが、その際は対象のタグをしっかり見極めましょう。

表形式のデータはほぼ100%tableタグが使われていますが、念の為に対象のサイト上で右クリックをし、使われているタグを確認しましょう。

スクレイピングはExcelでも可能

Excelでスクレイピング
Excelはweb上のデータも読み込む

tableタグで囲まれたデータは、Excelでも取得できます。Excelで取得したらグラフ化するときに便利ですよ。少し前ですが、実際に試しました。

スクレイピングデータをグラフ化
Excelを使えば簡単にグラフ化できる

複雑なサイトをExcelでスクレイピングするのは難しいですが、tableタグのスクレイピングはほぼ大丈夫です。

スポンサーリンク

tableをスクレイピングするときの問題点と対策

これからはtableに格納されているデータを、スクレイピングする問題点を考察します。

画像のテーブル

昨日はある記事を執筆していましたが、執筆のために公式ホームページを閲覧しました。公式ホームページには大切なデータも記載されていましたが、データは画像化したtableでした。

このようなテーブルを、スクレイピングするのは難しいです。画像情報をスクレイピングするのは簡単ですが、画像に含まれたデータをスクレイピングするのは難しいです。しかし不可能ではありません。

不動産屋に必要なデータ
不動産屋には不動産屋に必要なデータがある

実際Googleをはじめとする一部のサービスは、画像をテキストにするサービスを提供しています。

画像化したテーブルのデータをスクレイピングするには、一旦画像をテキストに変換するしかありません。プログラミングで変換できる人は挑戦してもいいですが、熟練した技術者以外はGoogleなどが提供している変換サービスを使った方が無難です。

スクレイピングを禁止しているwebサービス

この場合は諦めるしかないと言いたいところですが、自己責任で挑戦したい人は短時間で完遂できるスクレイピングをするしかありません。腕に自信のある人は自らスクレイピングツールを開発したらいいですが、自信がない人は有名なスクレイピングツールを使った方が無難です。

短時間でスクレイピングを済ませたら何のペナルティもないと思いますが、あまりにも長いスクレイピングはサーバーに負荷がかかるので、何らかのペナルティを受ける可能性があります。会員制のサイトであれば、会員資格の取消があるかもしれません。

会員制でないサイトでも、アクセス者のIPアドレスは解ります。あまりにもサーバーに負荷をかけるIPアドレスは、ブロックされる可能性があります。

tableデータを使い回す知恵

tableタグに囲まれたデータは重要なデータが多いですが、重要なデータは使い回したいものです。こちらのコーナーでは、tableタグに囲まれたデータを使い回す知恵を解説します。

データはExcelで管理する

スクレイピングしたデータは、Excelで管理することをおすすめします。Excelはご存じのようにセルの中にデータを入れますが、列幅や行幅を変更することができます。セルのレイアウトを整形したら、使い回すときに便利です。

またExcelで管理したら画像化するときも便利です。セル自体がtable形式になっているので、見栄え良く切り取ることができますね。

VBA
ExcelにはVBAの開発環境がある

それからスクレイピングしたデータを、グラフ化するのも良いアイディアです。tableタグでデザインしたデータも見やすいですが、グラフ化したら視覚的に理解しやすいです。

インターネットのユーザーは、長時間同じ記事を読むのが苦手な人が多いです。そのためせっかくデータを掲載しても、飛ばし読みされるおそれがあります。しかしグラフ化したら一目で解るので、飛ばし読みされる可能性は低くなるでしょう。

データには引用元を明記する

データを公開するときは引用元を明記するのがマナーですが、ついつい忘れてしまうことがあります。そんなうっかりミスを防ぐには、Excelにも引用元を付け加えるのが一番です。

公開するときはExcelのデータをコピーしますが、Excelに引用元が書かれていたら忘れることはないでしょう。

引用元を明記するのは、マナーを守るためだけではありません。引用元を明記することで、データに対する信憑性が増します。引用元が権威ある記事であれば、閲覧者は盲目的に信じてくれるでしょう。

スポンサーリンク

tableタグを取得するときはデータコレクター

tableタグに囲まれたデータをスクレイピングするときは、Bright Dataのデータコレクターが便利です。データコレクターはタグの指定が簡単で、フォームから対象のタグを指定するだけです。また日付も簡単に追加できるので、データの整理が楽です。

データコレクターはドメイン単位でのスクレイピングも可能なので、巨大サイトのtableタグをスクレイピングするときは助かると思います。

以前のデータコレクターは日本語化があまり進んでいませんでしたが、最近のデータコレクターは90%以上日本語化しています。そのため、英語がまったく解らない人でも利用できます。

スクレイピングツールは外国産が多いせいか、スクレイピングツールによっては英語のままのものがありますが、英語に慣れている人以外は使うのが難しいです。データコレクターで使われている日本語は自然なので、ITツールに慣れていない人でも大丈夫ですよ。

法人だけですが、データコレクターを体験することができます。体験中にメールが来ることがありますが、無理に返信する必要はありません。また体験中に振り込み方法の案内が表示されることがありますが、体験中は×ボタンを押し消してください。

データコレクター
データ収集を任せたい人は、データコレクタープランが便利

Bright Dataにはデータコレクターだけではなく、ライブデータセット、サーチエンジンクローラーというサービスもあります。いずれもスクレイピングツールですが、ライブデータセットはスクレイピングの代行サービスのようなものです。

サーチエンジンクローラーはプログラマー用のスクレイピングツールで、メジャーなプログラム言語はすべて利用できます。自動的にコードを生成してくれるので、プログラマーは絶対に助かると思います。

Bright Dataの公式サイト

日本人の担当が確実に着くのは本ブログ経由の方のみになりますので、ご注意ください。こちらのサイトからお申し込みいただければ、間違いなく日本人担当がつきます

まとめ

スクレイピングでtableデータを取得する方法を解説しましたが、tableデータの取得は簡単です。簡単なサイトだったら、Excelでも余裕です。Excelがない人はテーブルごとコピーして、無料の表計算ソフトに貼り付けてもいいでしょう。(スクレイピングとは言えないかもしれませんが。)

巨大サイトのtableタグは、是非ともBright Dataのデータコレクターでスクレイピングしてください。データコレクターは本格的なスクレイピングツールで、きっと満足すると思います。

Bright Dataの公式サイト

日本人の担当が確実に着くのは本ブログ経由の方のみになりますので、ご注意ください。こちらのサイトからお申し込みいただければ、間違いなく日本人担当がつきます