googleスプレッドシートで、初歩的なスクレイピングを試してみた

はじめに

スクレイピングとは、WEBサイトの情報を引っ張ってくることです。

googleスプレッドシートの「IMPORTXML関数」を使えば、スクレイピングができるみたいなので、やってみました。

今回スクレイピングする情報

私の個人サイトのプロフィール欄にある名前を引っ張ってきて、googleスプレッドシートに記入したいと思います。

https://ki-hi-ro.com/

全体の流れ

  1. googleスプレッドシートとサイトを開く
  2. 関数を記入する
  3. 関数の第一引数を記入する
  4. 関数の第二引数を記入する

googleスプレッドシートとサイトを開く

googleスプレッドシートと、スクレイピングしたいWEBサイトを開きます。

googleスプレッドシート

関数を記入する

セルに「IMPORT」と入力すれば、IMPORTXML関数が提案されるので、クリックしましょう。

関数の第一引数を記入する

IMPORT関数の第一引数には、スクレイピング対象のWEBサイトのURLを記入します。

今回は以下のようになりました。

=IMPORTXML("https://ki-hi-ro.com/",

関数の第二引数を記入する

第二引数には、スクレイピングしたい要素のXPathを入力します。

XPathをコピーする方法

  1. 要素の検証を行う
  2. 対象の要素を検証する
  3. 右クリック > Copy > CopyXPathをクリック

まずは、以下のような検証画面を開きます(Macで、Google Chromeの場合、command + Shift + I で開くことができます)。

次に、対象の要素にフォーカスを当てます(command + Shift + Cを押した後に、対象の要素をクリックするとフォーカスが当たります)。

対象の要素のDOM上で(DOMとは、検証時に表示されているHTMLのような文字の羅列です)、右クリックを押します。

そうすると、色々とメニューが出てくるので、Copyにカーソルを当てます。

次に、Copy XPathをクリックします。

これで、XPathが取得できました。

このXPathを、IMPORTXML関数の第2引数に指定します。

=IMPORTXML("https://ki-hi-ro.com/","/html/body/main/aside/section/h4")

そうすると、loading…と表示された後に、取得したい情報が、スプレッドシートに記入されました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です