2022.12.09(更新日: 2024.07.29)
googleスプレッドシートで、初歩的なスクレイピングを試してみた
はじめに
スクレイピングとは、WEBサイトの情報を引っ張ってくることです。
googleスプレッドシートの「IMPORTXML関数」を使えば、スクレイピングができるみたいなので、やってみました。
今回スクレイピングする情報
私の個人サイトのプロフィール欄にある名前を引っ張ってきて、googleスプレッドシートに記入したいと思います。
全体の流れ
- googleスプレッドシートとサイトを開く
- 関数を記入する
- 関数の第一引数を記入する
- 関数の第二引数を記入する
googleスプレッドシートとサイトを開く
googleスプレッドシートと、スクレイピングしたいWEBサイトを開きます。
関数を記入する
セルに「IMPORT」と入力すれば、IMPORTXML関数が提案されるので、クリックしましょう。
関数の第一引数を記入する
IMPORT関数の第一引数には、スクレイピング対象のWEBサイトのURLを記入します。
今回は以下のようになりました。
=IMPORTXML("https://ki-hi-ro.com/",
関数の第二引数を記入する
第二引数には、スクレイピングしたい要素のXPathを入力します。
XPathをコピーする方法
- 要素の検証を行う
- 対象の要素を検証する
- 右クリック > 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…と表示された後に、取得したい情報が、スプレッドシートに記入されました。
投稿ID : 7817
コメントを残す