GoogleスプレッドシートでWebデータを取得する

Webサイトからデータを抜き出し、xls、csv、txt、xmlなどに変換するには、コピペが一番使われますよね。でも、データの量が多いなら、相当な労力を費やします。もしPythonなどのプログラミング技術があれば、Webスクレイピングでコピペを自動化でき、その仕事が楽になります。プログラミングの知識がないなら、コピペしかありませんか?そこで、Googleスプレッドシートを試してみてください。

Googleスプレッドシートはリリース以来、多くの人々の日常業務に使われていますが、多くの組み込み関数があることを知らないかもしれません。実は、スプレッドシートを利用して、コードを書く必要なしに、Webから自動的にデータを取得できます。

この記事では、まずGoogleスプレッドシートだけで簡易なスクレイピングができる方法をお伝えします。次に、スクレイピングツールOctoparseを使って、データ取得のプロセスを比較します。皆さんは、スクレイピングニーズに適した方法を選択することができます。

 

Googleスプレッドシートでデータを取得する

Octoparseでデータを取得する

 

 

GoogleスプレッドシートでIMPORTXML関数を使って簡単なWebクローラーを構築する

ステップ1:新しいGoogleスプレッドシートを開きます。

Googleスプレッドシート

 


ステップ2:ChromeブラウザでターゲットWebサイトsteamspy.comを開きます。ページを右クリックして「検証」を選択し、コンビネーションキー「Ctrl + Shift + C」を押して「セレクタ」を有効にします。そうすると、必要な箇所にカーソルを置くと、対応する情報が「検証パネル」に表示されます。

  検証パネルを表示する

 

 

 

コンビネーションキー「Ctrl + Shift + C」

 

必要な箇所にカーソルを置く

 


ステップ3:URLをスプレッドシートにコピペします。ここではA2に指定します。

 

URLをスプレッドシートにコピペする

 

 

IMPORTXMLという非常に便利な関数を使って、価格データを取得します。

 

価格データを取得する

 
まず、要素のXpathをコピーする必要があります。

価格の箇所を選択 → Copy → Copy XPath をクリック。

 

//*[@id="trendinggames"]/tbody/tr[1]/td[4]

XPathを取得しました。

XPathを取得

 

 

 

次、シートに下の関数式を入力します。

=IMPORTXML(URL, XPathクエリ)

そして、URLとXPathクエリを指定します。ダブルクオートがスプレッドシートの引数とぶつかってしまうため、そこだけシングルクオートに変更してください。

=IMPORTXML(A2,"//*[@id='trendinggames']/tbody/tr[1]/td[4]")

 

URLとXPathクエリを指定

 

これで無事、"$19.99" という文字列が取得できました。

文字列が取得できる


テーブルの取得方法もあります。

= IMPORTHTML(URL, クエリ, 指数)

この式を使うと、テーブル全体を簡単に抽出できます。

 

 

テーブル全体を簡単に抽出できる

 

さて、スクレイピングツールOctoparseを使って、同じ作業をどのように達成できるかを見てみましょう。

 

 

ステップ1:Octoparseでスクレイピングするサイトを開く

Octoparseを起動します。スクレイピングしたいWebページのURLを入力します。「抽出開始」 ボタンをクリックして進みます。

Octoparse8

 

 

ステップ2: ページ上の内容を自動識別

Octoparseでページが読み込みされたら、自動的にページ上の内容を識別します。もし自動識別機能をオフする場合は、右上の操作ヒントパネルで Webページを自動識別する、ページ上の内容を識別します。 自動識別とは、自動的にページ上の必要なデータを検出して識別するという役立つ機能です。ポイント&クリックをする必要はなく、Octoparseは自動的に処理します。

octoparse-8-自動識別

 

 

 

ステップ3:ワークフローを生成する

識別が完了すると、データプレビューで識別したデータを表示され、どのようなデータが取得されているかを確認することができます。「ワークフローを生成をクリックして確認し、タスクを作成します。

 octoparse-8-自動識別完了

 

 

上の「実行」ボタンをクリックして、すぐタスクを実行できます。

 octoparse-8-実行ボタン

 

これがOctoparseのスピードです。

 octoparse-8-抽出結果

 

 

 

まとめ

1. Octoparseは、無料プランも提供しているWebスクレイピングツールです。ノーコード技術を使うため、非エンジニアでもスクレイピングすることができます。Webスクレイピングプロジェクトを1から始める最適なツールです。

2. Octoparseの自動識別機能を利用して、Webサイトから簡単にデータを取得することができます。これにより、他のツールでややこしいステップ設定から解放されます。

 

 

関連記事:

デキる人は知っている!Webスクレイピング用のソフト30選

WebサイトをスクレイピングするWebクローラー20選

Webスクレイピングするなら何言語?Python、Ruby、またはJavaScript?

WebサイトからデータをExcelに取り込む方法