目次
スプレッドシートでデータを加工しよう
スクレイピングは便利な技術ですが、実際はデータを収集するだけなので、スクレイピングしただけでは実用性はありません。しかしスクレイピングで収集したデータをスプレッドシートで加工したら、使いやすいデータになります。
使いやすいデータは万人に喜ばれるので、データによってはお金になるでしょう。本記事ではスクレイピングしたデータを、スプレッドシートで加工する流れを紹介します。
スプレッドシートでスクレイピングする問題点
スプレッドシートだけでもスクレイピングは可能ですが、問題点が多いです。詳しくみていきます。
スプレッドシートでスクレイピングする流れ
スプレッドシートでスクレイピングをするには、XPATHを取得する必要があります。XPATHがわかればデータのアドレスがわかるので、データを表示をすることができます。
- chromeを開く
- 対象のサイトにアクセスする
- 右クリックして「検証ボタン」を押す
- セレクターを有効にする
- 対象のデータを選ぶ
- 「Copy XPATH」を押す
- コピーしたXPATHをスプレッドシートに貼り付ける
- IMPORTXML関数を使う
IMPORTXML関数の引数はURLとXPATHです。
引数を指定するときは、URLとXPATHを入力したセルの番地を指定します。
スプレッドシートでスクレイピングしたら手間がかかる
スクレイピングは効率的にデータを収集する技術なのに、スプレッドシートでスクレイピングをしたら手間がかかります。勘の良い人は既にピンときたと思いますが、スプレッドシートでスクレイピングをしたら、効率的に大量のデータを取得することができません。
効率的に大量のデータが取得できないのであれば、スクレイピングをする意味がありませんね。むしろサイトをコピーし、スプレッドシートにペーストした方が速いです。
サイトによってはスクレイピングできない可能性がある
スプレッドシートでスクレイピングをするときはIMPORTXML関数を使用するのが基本ですが、サイトの構造によっては上手くいかないことがあります。実際インターネット上には、スクレイピングできないサイトもあると、報告されています。
スクレイピングされることを嫌うサイトの運営者は一定数いるので、何らかの対策を立てているのでしょう。
スポンサーリンク
Scraperとスプレッドシートの組み合わせは便利
一番便利なのは有料のスクレイピングツールですが、Scraperを使えば無料でデータが収集できます。そしてスプレッドシートに貼り付け加工すれば、使いやすいデータになります。流れをみていきます。
Scraperはchromeの拡張機能
Scraperはchromeの拡張機能として利用できます。
インストールしていない人は、先にインストールしてください。インストールが終了してから、サイト上で右クリックします。
執筆画面で右クリックしましたが、Scraperという文字が表示されました。後はクリックするだけです。WordPressの編集画面ではデータが取得できなかったので、以下のサイトで試します。
https://1ran.hikak.com/shinkansen1/
データ形式は、デフォルトのXML形式で大丈夫です。「copyclipboard」の文字を押します。
スプレッドシートに貼り付ける
コピーしたデータをスプレッドシートに貼り付けます。
ただこのままだと右にスクロールしなければすべてのデータが見えないので、表示形式→ラッピングで折り返すを選択しました。これからは必要なデータだけをコピーし、シートの空白部分に貼り付けるだけです。
今回は東海道新幹線の駅だけコピーしました。
東京とうきょう0km0km品川しながわ6.78km6.78km新横浜しんよこはま18.76km25.54km小田原おだわら51.11km76.65km熱海あたみ18.78km95.43km三島みしま15.87km111.3km新富士しんふじ23.7km135km静岡しずおか32.44km167.44km掛川かけがわ43.86km211.3km浜松はままつ27.62km238.92km豊橋とよはし35.25km274.17km三河安城みかわあんじょう38.65km312.82km名古屋なごや29.2km342.02km岐阜羽島ぎふはしま25.1km367.12km米原まいばら41.11km408.23km京都きょうと68.08km476.31km新大阪しんおおさか39.04km515.35km
https://1ran.hikak.com/shinkansen1/
これらの情報はホームページから直接コピーすることも可能ですが、縦長のサイトの場合はスムーズにコピーできません。ソースからコピーすることも可能ですが、ソースからコピーしたらタグも混じってしまうので、Scraperでデータを取得するのが便利です。
スプレッドシートのデータを表示するときはQUERY関数が便利
スプレッドシートにはQUERY関数がありますが、QUERY関数はSQLによく似ています。QUERY関数のマニュアルはインターネット上で公開されていますが、以下のサイトの説明が一番わかりやすいです。
こちらのサイトでは動作確認もできるので、QUERY関数の働きがよくわかりますよ。QUERY関数は、データを分析するときに便利だと思います。データは取り出しやすさも必要ですが、QUERY関数を使えば自由自在に取り出しできます。
スポンサーリンク
Bright Dataとスプレッドシートの組み合わせは最強
スプレッドシートでスクレイピングをすることは可能ですが、効率的ではありません。スクレイピングは、専門ツールで実行した方が手間がかかりません。
Bright Dataのデータコレクターでスクレイピングを実行し、スプレッドシートに転記する。これがベストな選択だと思います。詳しくみます。
データコレクターはCSVデータを提供している
データコレクターはフィルターを活用することで、目的のデータを効率的に収集することができます。収集したデータは、さまざまなファイル形式でダウンロードできます。
スプレッドシートに転記するときは、CSVファイルが便利です。CSVファイルは「,」でデータを区切っていますが、区切ることで一つのセルに、一つのデータだけを収めることができます。
CSVファイルはExcelやAccessでも利用できるので、汎用性は高いです。
Bright DataはAPI関数を提供している
Bright DataはAPI関数を提供していますが、API関数を活用すれば柔軟性のあるシステムが構築できます。ボタン一つで、スクレイピングできるシステムを構築することも可能でしょう。
Bright Dataは各プログラム言語ごとにサンプルコードを提供していますが、サンプルコードがあればプログラミング作業は捗ると思います。
Bright Dataはプロキシサーバーですが、スクレイピングに関する技術も長けています。スクレイピングを丸投げできるプランも提供しているので、忙しい人は利用してください。
まとめ
スプレッドシートとスクレイピングをテーマに解説しましたが、スプレッドシート単独でスクレイピングをするよりも、スプレッドシートは補助的に使った方が良いと思います。
スプレッドシートは無料で使えるツールですが、無料とは思えない機能があります。データを抽出するぐらいであれば、スプレッドシートで十分に間に合います。スプレッドシートは共同で編集ができるので、在宅ワーカーを抱える会社は助かると思います。
Bright Dataのデータコレクターとスプレッドシートの組み合わせは最強なので、スクレイピングを頻繁に実施する人は是非とも検討してください。