前回、タイトルタグやディスクリプションタグをスクレイピングする方法をご紹介いたしました。
SEO捗る!titleタグ・descriptionタグなどをスプレッドシートで一括スクレイピングする方法!
今回はその進化系で、metaタグ以外のウェブサイトの情報をスクレイピングする方法をご紹介します。
IMPORTXML関数とは?
IMPORTXML
関数は、Google Sheetsのスプレッドシートで使用される関数の一つです。この関数は、指定されたURLからXMLデータを取得し、特定のXPathクエリに基づいて情報を抽出するのに使用されます。XMLはeXtensible Markup Languageの略で、テキストベースのデータ形式であり、多くのウェブサイトが情報を提供するために使用しています。
基本構文は
=IMPORTXML(url, “xpath_query”)
となるのですが、
url
: XMLデータを取得するためのウェブページのURLを指定します。xpath_query
: XMLデータから抽出したい情報を指定するXPathクエリを入力します。
ようはサイトのこの部分(このXPATHの箇所)を抜いてきてね、という関数ですw
XPATHとは?
XPath(XML Path Language)は、XML文書内の要素や属性を指定するための言語です。XPathは主にXML文書のツリー構造を対象にして、特定の要素や属性を検索、選択するために使用されます。XPathは、XPathデータモデルに基づいており、XML文書内の要素と属性がツリー構造として表現されることを前提としています。
小難しいですね!前回の記事であればタイトルタグが//titleとなる、みたいなことです。
それぞれの箇所にXPATHがあるので、それを使って今回の作業を行います。
例:記事更新日をスクレイピングしたい!
SEOでメディア管理をしていると、いつ更新してどういう順位なのかが大事なシグナルになるのですが、今まで管理し忘れていた!などあるあるの事象だと減少だと思います。
その際に利用するのがIMPORTXML関数です。

このブログでは、コピーの下の部分に一律記事更新日が記載されています。
F12を押して、デベロッパーツールをひらきます。

右側にソースコードが出てきますので、そこで「2023.11.17」をcontrol+Fで検索します。
※この場合です!対象抜きたいキーワードの箇所を検索して探してください
マウスオーバーで対象箇所の色がグレーアウトすると思います。
その状態で、黄色部分を右クリック>Copy>Copy Xpath

先ほどの関数に入れ込みます。
=IMPORTXML(B2,”//*[@id=’post-198′]/header/div[3]/span/time”)
※コピーしたXPATHに「ダブルコーテーション」(”)がある場合は、シングルコーテーションに変更しましょう!※
今回の例でいくとコピーしたXPATH
//*[@id=“post-198“]/header/div[3]/span/time
↓
//*[@id=‘post-198‘]/header/div[3]/span/time

こんな感じで記事更新日を抜くことができました!
サイトの共通部分であれば、一気に取得することが可能です。
また、Wordpressであれば一律で記事アップ日や更新日がmetaタグで取得されているので
サイト上に表示されていなくても取得できます。
まとめ
記事アップ日と更新日っていつだったっけ・・・?
その場合に役立つスクレイピングをご紹介いたしました。
ひとつひとつ手作業ですすめると莫大な時間がかかるので自動ですすめていきましょう!
コメント