楽天Googleなど検索サジェストからキーワードのヒントを得ることは多いですよね。Script(GAS)でも取得できます。Script大好きカグア!です。GASでツールを自作しています。Scriptで取得する、2018年1月16日時点での方法とコードをご紹介します。サジェストAPIの利用については各ドキュメントをお読み下さい。Scriptでは、標準でhttp通信をする関数を持っています。以下のGIFアニメのように、セルにその関数を記述するだけで自動的に検索キーワードを拾ってきてくれます。IMPORTXML()関数IMPORTXML()は、スプレッドシートからXMLを取得する関数です。公式のヘルプには、WikipediaからAタグのリンクをひっぱってくるコードが紹介されています。"//a/@href")Googleサジェストの仕組みGoogleサジェストは、検索窓への入力を検知して、以下のURLがapiにコールされることでXMLが発行されます。IMPORTXML()関数を記述しますと、Googleサジェストの一覧が取得できます。IMPORTXML()関数は結構お利口で取得したXMLからリストを抽出し、自動でそのセル以下に列挙してくれるのです。=IMPORTXML("http://www.google.com/complete/search?hl=ja&output=toolbar&q="&D1,"//suggestion/@data")では次にグーグル以外でサジェストを取得できる、YouTubeの検索キーワードを取得してみましょう。Scriptを書かなくてはなりません。私はメニュー化して操作の簡略化を図っています。URLをコールgetContentText()でテキスト化JSON.parse()でパースして配列から値を取得YouTubeでも前述のGoogleのように、検索キーワードのサジェスト一覧を返してくれるURLが存在します。http://clients1.google.com/complete/search?hl=ja&ds=yt&q=キーワード以下のスクリプトでは、いちおう念のためブラウザにFirefoxを指定してはいます。実際のコード以下のコードは上記のアルゴリズムを実践し、取得ルーチンとメニュー生成ルーチンとで構成されています。セル番地や細かな実装は各自でカスタマイズして下さい。Scriptコード解説サイトが見つかると思います。他には、コールするURLを含めて検索しても良いかもしれません。同様に、サジェストをフェッチしたい記事が見つかるかと思います。Qiitaでサイト内検索してもいいかもしれません。サジェストを取得する方法を調べるXPathの取得方法こちらに詳しく書いてありますが、IMPORTXMLでは、取得するURLとXPathという、ページ内のどの部分から値を持ってくるという場所(XPath)を指定する必要があります。>>SpreadSheetでスクレイピング。Qiitaただこれが結構難しくて、私は結構ハマりました。これかなこうかなといろいろと記述してみて値を得る、ということを繰り返して調べます。取得するのですが、そのXPath通りにいかないことのほうが多いので苦労します。後述の関連リンクなどいろいろと文献を調べてみて下さい。サジェストURLの取得方法YouTubeなど検索サジェストのキーワードを表示してくれるサイトの多くは、検索窓に何かしらのキーワードを入力しますと、その都度、サジェスト取得用のURLを投げています。それはデベロッパーツールの「Networkタブ」から確認できます。ここでコールされているURLを見れば、サジェストを取得しているURLがわかりますので、あとは必要なパラメーターなどを試行錯誤すればOKです。サジェストAPIの利用範囲内で使いましょう。8サイト取得URL前述の方法で調べました大手サイトで投げているサジェストURLです。ご利用にあたっては、必ず各ドキュメントをご一読下さい。Instagramhttps://www.instagram.com/web/search/topsearch/?query=Yahoo!Japanhttps://assist-search.yahooapis.jp/SuggestSearchService/V5/webassistSearch?query=教えてgoohttps://search.goo.ne.jp/sgt.jsp?MT=楽天市場http://api.suggest.search.rakuten.co.jp/suggest?cl=dir&rid=0&sid=0&oe=utf-8&cb=cb&q=GooglePlayhttps://market.android.com/suggest/SuggRequest?json=1&c=0&query=Twitterhttps://twitter.com/i/search/typeahead.json?count=10&filters=true&q=Amazonhttp://completion.amazon.co.jp/search/complete?method=completion&search-alias=aps&mkt=6&q=niconicohttp://sug.search.nicovideo.jp/suggestion/expand/※実際にはさらにパラメーターが必要なところもあります。サジェストAPIのURLコールは回数制限がある、もしくは非公開(利用を認めていない)のはずなので、サジェストAPIの利用前には必ず開発者向けドキュメントをお読み頂き、自己責任にてご利用下さい。2018年1月16日時点での情報ですので、古くなっている可能性もありますので、やはりドキュメントを読まれることをおすすめします。よるWebページアクセスの便利さについてご理解いただけたかと思います。Scriptでちょっとした情報収集を効率化し、社内で定期的にSlackなどに送信し共有する。皆さんも独自の視点で、なにかツールを作ってみてはいかがでしょうか。Googleスプレッドシートを共有すれば社内でのスクリプトの共有も簡単に行なえます。今回のいろいろと試したサジェスト取得ですが、私もその可能性を強く実感しました。Scriptに慣れていない方は、いろいろな記事を見て、「そのコード内の命令+したいこと」などで検索するといろいろと見つかると思います。基本のお作法(記述)を学びますと応用はきくはずですので、ぜひ挑戦してみてはいかがでしょうか。Scriptを無料で学べるドットインストールがおすすめです。ほんと楽しいですよね。高橋宣成Amazonで詳しく見る書籍は2017年12月のこちらが新しいという点でもおすすめ。関連本」最新一覧はこちら。Scriptはすでに多くの企業内システムとして、業務効率化に使われています。YouTubeXMLを取得できますので、いろいろなデータ取得に便利です。>>SpreadSheetでスクレイピング。Qiitaヤフーファイナンスから値を持ってくることを試みています。Seamonkey-DirectorリクルートもAPIを公開しているのですね。AndroidのメモとかURLをFETCHできるとほんと便利。Script(GAS)は定期実行させられるのも魅力。StimulatorただしGASは結構制限もあるので注意。ゆたんぷろぐ>>【容量制限】これは困った。Script)の落とし穴フレーズからいろいろな検索意図が読み取れます。検索汚染という問題もありますが。Web担当者Forum使い方には気をつけて。Eプロ取得した値をメール送信とも簡単に連携できます。Scriptが使えるランサーさんを見つけて、スクリプトを外注するなど。Scriptを使って実際に業務効率化をされているという求人。使いますと、多くのウェブサイトにアクセスし値を取得することができます。悪用しないようにしたいものです。よる定期実行(cron)などと組み合わせて、仕事の効率化に役立てたいものですね。Yoshidaブロガー兼ユーチューバー。個人事業主でネット業界のお仕事24年目です。「マツコの知らない世界」Googleマップ案内人TV出演。Googleストリートビュー認定フォトグラファー。Googleアナリティクス公式コミュニティ・アンサリスト最高ランク「レジェンド」国内初獲得。主な著書「Googleアナリティクス基礎講座」(技術評論社)。趣味はデジカメとゲームとパン作り。当サイトについて・プライバシーについて当ブログではGoogleアナリティクスとcookieを用い、個人を特定しない範囲でアクセス状況を記録しています。Google側ではその情報をGoogleアカウントと紐付けパーソナライズ広告に利用しています。その情報は取り扱いに注意しつつ、内容充実や企画立案など、皆様のお役に立てるよう活用しています。パーソナライズド設定をオフにするには、Google公式ページを御覧ください。運営するアフィリエイトプログラムに参加しています。それらのリンクからユーザー様が該当サイトにて購入されたとき、サイトが紹介料を獲得します。・引用/画像利用について当ブログでは一部外部の画像を利用しています。TwitterやInstagramなどSNSで公開された投稿については、本文の説明上必要と思われます著作権法で認められています「引用」としての利用として、ASPの埋め込み引用機能(エンベッド)を用い掲載をしています。・免責事項について当ブログの記事の内容や感想については、あくまでも個人的な見解となります。記事執筆当時の情報で、実際の状況や環境によって掲載内容と異なる場合がございます。万一トラブルや問題、損害が発生しましても、一切の責任を負えません。