bnsgt's diary

個人的な備忘と日記

GoogleスプレッドシートのIMPORTXML関数でWebページのメタ情報スクレイピングして指示通りか自動チェックする方法

Webのコーダーとして働いていると、クライアントや代理店、ディレクターから、URLごとにtitleやmeta descriptionなどをエクセルか何かでまとめて、「この通りに適用してください」といった指示がよくある。

チェックする時はわざわざソースを見て、目視かエクセルからコピペでcommand + fとかで一致しているかチェックするけど、ページ数が多かったりすると疲れるし、見たつもりでもミスの指摘が漏れたりする。何より作業の属性としてつまらない。。

GoogleスプレッドシートのIMPORTXMLという関数で、ページのソースをスクレイピングできるらしいので、

| 指示の列 | スクレイピングで取得した文字の列 | 左の2列の値が同じかチェックする列 |

の様にすれば、自動でチェックできる。

これをチェックしたいURL分の行数、チェックしたい項目分作ればOK。

titleタグをチェックしたい場合の参考

  • 指示の列
titleタグの指示が入ります
=IMPORTXML("チェックしたいURL", "//title")
  • 左の2列の値が同じかチェックする列 ※セルがA2とB2の場合
=EXACT(A2,B2)

→ チェックする列でTRUEが返ってきたら、同じなので問題なし。

GoogleスプレッドシートのIMPORTXML関数でメタ情報スクレイピングして指示通りか自動チェックする方法

XPath記法

IMPORTXMLの第2引数で指定する取得したい要素は、XPathっていう記法で指定しないといけない。

  • titleタグの場合
//title
  • meta name="description" の場合
//meta[@name='description']/@content

XPath記法について

qiita.com

参考にした記事

tanuhack.com

Google検索のサジェストなんかも取得できるみたいなんで、コンテンツマーケッター的なひとも使えそう。

https://tanuhack.com/importxml-scraping/#Google-2