ヤフーが検索行動に関するデータをいくつか公開していますが、その中の「総数ランキング 総合(デイリー)」を取り上げたいと思います。これはヤフーで検索されるすべてのキーワードの日々のトップ20をランキングにしたものです。
Yahoo!検索データ 総数ランキング
http://searchranking.yahoo.co.jp/total_ranking/general/
取得方法は前回の英語ブログの取得の際に使ったスクリプトとほぼ同じなのでコピペ・編集で概ねいけますが、今回は一部のXMLデータ取得の際に名前空間を指定する必要があるので、少々難易度が上がっています。それ以外は同じです。
前回同様、関数は3つです。
onOpen(e)で独自メニューを追加します。
parseXml()で、XMLデータを取得、パースし、スプレッドシートにデータを展開します。
sendemail()で、展開したデータを、指定したメールアドレスに送信します。
【サンプルコード】
サンプルコードはこちらです。前述の通り、一部のXMLデータでrankingという名前空間を指定しているので、それを処理しないといけません。
var ranking = XmlService.getNamespace('ranking', 'http://searchranking.yahoo.co.jp/ns/ranking');
というコードを加えました。getChildメソッドで指定した属性データを取得する際に、オプションで名前空間名を指定すれば取得できるようになります。

また、これもスプレッドシート上の機能を使って、条件付き書式で、"新登場"の場合はグリーン、"下降"の場合はレッド、"上昇"の場合はブルーにテキストカラーを変化させるようにしました。
メール送信機能は今回も加えました。私はこのデータは毎朝8:00に受信するようにトリガーを設定しています。上位5位までのキーワードはさほど変動はないですが、それ以下は新しいキーワードが入ってきやすいので、トレンドが把握できます。
また、今回もスプレッドシートのメニューに関数を加えているので必要な時にスプレッドシートの結果を更新したり、メールすることもできるようになっています。
ちなみにヤフーからRSSで提供されている検索データはいくつか種類があるので、好きなものを取り込んでみるのもいいと思います。
http://searchranking.yahoo.co.jp/rss/
以上です。RSSの取得については、もう何度かやっていきます。
0 件のコメント:
コメントを投稿