サイトでtitleやh1などのタグをを取得したいと思ったことはありませんか?
本来はタグの取得はスクレイピングという技必要ですが、スプレッドシートの場合、IMPORTXML関数を使えば、簡単に実現可能です。
- IMPORTXMLの使い方
- IMPORTXMLでタイトルを取得する方法
- IMPORTXMLでメタディスクリプションを取得する方法
- IMPORTXMLでmeta keywords を抽出する数式
- IMPORTXMLでH1を抽出する数式
- IMPORTXMLでmeta og:description を抽出する数式
- IMPORTXMLでmeta og:type を抽出する数式
- IMPORTXMLでmeta og:url を抽出する数式
- IMPORTXMLでmeta og:image を抽出する数式
- IMPORTXMLでmeta fb:app_id を抽出する数式
- IMPORTXMLでmeta twitter:card を抽出する数式
- IMPORTXMLでmeta twitter:site を抽出する数式
- IMPORTXMLでmeta twitter:creator を抽出する数式
- IMPORTXMLでmeta og:site_name を抽出する数式
- IMPORTXMLでcanonical URL を抽出する数式
- 【悲報】IMPORTXMLを使い過ぎるとスプレッドシートが重たくなる件
IMPORTXMLの使い方
【IMPORTXMLの構文】
=IMPORTXML(“URL”, “XPathクエリ”)
URLには「情報を取得したいURL」を入れて、XPathクエリには「欲しい情報(タグなど)」をを数式に記入するだけです。
井口はXPathクエリで以下の情報をよく入れています。
- title
- description
- h1
【補足】XPathとは?
XPathとは、XML文章中の要素、属性値などを指定するための言語です。XPathを使うとHTML文章の中から、さまざまな情報を取得することが出来るようになります。
IMPORTXMLでタイトルを取得する方法
例えば、当サイトのタイトルを取得したい場合は以下の通りです。
=IMPORTXML(“https://published-articles.com/”, “//title”)
IMPORTXMLでメタディスクリプションを取得する方法
=IMPORTXML(A1,”//meta[@name=’description’]/@content”)
meta og:title を抽出する数式
=IMPORTXML(“https://published-articles.com/”,”//meta[@name=’description’]/@content”)
IMPORTXMLでmeta keywords を抽出する数式
=IMPORTXML(A1,”//meta[@name=’keywords’]/@content”)
分割したい場合はSPLIT関数と組み合わせます。
=SPLIT(IMPORTXML(A1,”//meta[@name=’keywords’]/@content”),”,”)
SPLIT関数で分割すると横方向に展開されるので、転置したい場合はTRANSPOSE関数も組み合わせます。
IMPORTXMLでH1を抽出する数式
=IMPORTXML(A1,”//h1″)
meta description を抽出する数式
IMPORTXMLでmeta og:description を抽出する数式
=IMPORTXML(A1,”//meta[@property=’og:description’]/@content”)
IMPORTXMLでmeta og:type を抽出する数式
=IMPORTXML(A1,”//meta[@property=’og:type’]/@content”)
IMPORTXMLでmeta og:url を抽出する数式
=IMPORTXML(A1,”//meta[@property=’og:url’]/@content”)
IMPORTXMLでmeta og:image を抽出する数式
=IMPORTXML(A1,”//meta[@property=’og:image’]/@content”)
IMPORTXMLでmeta fb:app_id を抽出する数式
=IMPORTXML(A1,”//meta[@property=’fb:app_id’]/@content”)
IMPORTXMLでmeta twitter:card を抽出する数式
=IMPORTXML(A1,”//meta[@name=’twitter:card’]/@content”)
IMPORTXMLでmeta twitter:site を抽出する数式
=IMPORTXML(A1,”//meta[@name=’twitter:site’]/@content”)
IMPORTXMLでmeta twitter:creator を抽出する数式
=IMPORTXML(A1,”//meta[@name=’twitter:creator’]/@content”)
IMPORTXMLでmeta og:site_name を抽出する数式
=IMPORTXML(A1,”//meta[@property=’og:site_name’]/@content”)
IMPORTXMLでcanonical URL を抽出する数式
=IMPORTXML(A1,”//link[@rel=’canonical’]/@href”)
【悲報】IMPORTXMLを使い過ぎるとスプレッドシートが重たくなる件
便利なIMPORTHTMLですが、実は何行も実行するとスプレッドシートの動きが遅くなってしまいます。。。
そんな時の対処法について以下の記事でまとめています。
IMPORTHTMLが遅いときの対処法を解説⇒作成中
また昔はIMPORTHTMLで以下の構文を書くと、Twitterのフォロワー数を取得することも出来ました。
=IMPORTXML(“https://twitter.com/アカウントURL[アカウント名]”,”//a[@data-nav=’followers’]/span[3]/@data-count”)
しかし、今ではTwitterの内部デザインの変更によりフォロワー数は計測できなくなりました。Twitterのフォロワー数を計測したい場合はGASを使いましょう。以下の記事で詳しく説明しています。(ちなみにコピペですぐ使えます!)
⇒作成中
コメント