ImportXML関数の使い方!スプレッドシート上でサジェストを取得しよう!

ImportXMLでサジェスト取得する構文を作ろう

では何となく” Xpathの内容 ”が理解出来たところで、早速「サジェストキーワードを取得する構文」を作っていきましょう!

 

今回はスプレッドシートの

  • A1セルにメインキーワードを入力
  • A3セル以降にサジェストを反映

という形を作っていきます。

 

冒頭でご紹介したコチラですね↓

 

ImportXML関数でサジェストキーワードを取得するには、構文内にサジェストを拾ってくるURLを指定しなければなりません。

 

ImportXMLの構文は

=IMPORTXML(URL, XPath クエリ)

なので

 

=importXML(“https://www.google.com”&A1・・・

 

と入力したいところ。

 

だがしかし、これだと単純にGoogle検索窓の指定なので(当たり前ですが)エラーになってしまいます(^q^)

 

正解はコチラ↓

=ImportXML("http://www.google.com/complete/search?hl=en&output=toolbar&q="&A1,"//suggestion/@data")

 

アヒルン
アヒルン

え?Xpastも理解してないのによく正解導けたじゃん?

 

もちろん参考にさせていただきました↓

>>Google suggest API

>>Googleサジェスト結果を取得する

 

importXML関数の第1関数であるURLに『Google suggest API』を指定することで、「サジェストキーワード」を取得出来るようになります。

 

以下赤字がimportxmlの第1関数で、指定したURLです。

=ImportXML(http://www.google.com/complete/search?hl=en&output=toolbar&q=&A1,

 

アヒルン
アヒルン

「Google suggest API」・・な、なんなんだそれ・・

うちゅうじん
うちゅうじん

Googleが提供している「検索キーワード候補を取得するプログラム」のことだ。モチロンGoogleで検索されたサジェストを取得する。

 

また第2関数となる”Xpath指定”は「Googleで検索されたサジェストキーワード」を取得したいので、

//suggestion/@data

となります。

 

このXpathは「”suggestion”要素に従属する”date”を選択する」という意味。

 

よく分からないので、分解してみます。

 

//suggestion・・・Google suggest API で取得した要素ノード suggest を全て選択する。

/@date・・・コンテキストノードsuggest の date属性 を選択する。

 

Windowsで言うと、フォルダの場所を指定するニュアンスに似てる気がします。

 

” / “が、「その要素の中の〜」という感じ。

 

というわけでサジェストキーワードの「Xpathの理解」はコチラを参考にさせていただきました↓

それぞれの構文とその意味

構文意味
paraコンテキストノードの子要素 para を選択する
*コンテキストノードのすべての子要素を選択する
text()コンテキストノードのすべての子テキストノードを選択する
@nameコンテキストノードの name 属性を選択する
@*コンテキストノードのすべての属性を選択する
para[1]コンテキストノードの 1番目の子要素 para を選択する
para[last()]コンテキストノードの最後の子要素 para を選択する
//paraルートノードの子孫ノードから要素ノード para をすべて選択する。つまり、コンテキストノードと同じ文書内のすべての para 要素を選択する
.(ピリオド)コンテキストノードを選択する
..(ダブルピリオド)コンテキストノードの親を選択する
chapter[title=”Introduction“]コンテキストノードの子要素 chapter のうち、文字列値が Introduction である子要素 title を 1個以上持つものを選択する
chapter[title]コンテキストノードの子要素 chapter のうち、子要素 title を 1個以上持つものを選択する
employee[@secretary and @assistant]secretary 属性と assistant 属性の両方をもつコンテキストノードの子要素 employeeをすべて選択する

出典:http://www.techscore.com/

 

これらを組み合わせると・・

=ImportXML("http://www.google.com/complete/search?hl=en&output=toolbar&q="&A1,"//suggestion/@data")

となり、サジェストキーワードをスプレッドシート上で取得出来るようになります\(^o^)/

 

「Xpath」

 

奥が深すぎるぜ(´;ω;`)

ImportXMLを使った応用

サジェストキーワードを取得する以外でも

  • 記事のアイキャッチ画像
  • タイトル
  • URL

などなどもスプレッドシート上にまとめることが出来ます。

 

Importと名付けられただけあって、オンラインでデータ取得してくるのでスプレッドシート上から最新情報の閲覧が可能です。

 

例えばベンチマークしているサイトの※情報を、スプレッドシートにまとめておくことも出来ちゃいます。

Chromeの「検証」という機能をつかって”ブラウザに表示されているサイトのソース”を見ながら行います。

 

とはいっても僕の理解ではまだまだですが・・この辺りはXpathの記事と一緒に紹介出来たらなとがががんばります(泣)

 

scriptスプレッドシート行・列固定をワンクリックで!コピペでカンタンに再現出来るよ!

ImportXML関数で簡単データ収集は出来るね!

https://pixabay.com/users/Free-Photos/

ImportXML関数は日頃から

  • HTML
  • RSS
  • XML

などを触っている方であれば難なく理解出来ると思いますが、普段Excelしか使ってないよwっていう方(あたす)にとってはかなりハードル高めな関数。

 

ですが理解出来ればこれ以上ないお役立ち関数になること必須!

 

もうちょっと理解を深めて記事作成・管理をもっと簡単にしていくぞw

 

テンプレスプレッドシートにテンプレートを作成!Template Galleryの使い方

[st-card id=1893 label=” name=”]

[st-card id=3248 label=’組み合わせ’ name=”]

コメント

タイトルとURLをコピーしました