GASコード付き|Google Apps ScriptでXのトレンドを自動取得する方法|getdaytrendsで手軽に作る話題リスト
getdaytrendsとGoogle Apps Scriptを使って、Xで話題のトレンドワードを自動取得し、スプレッドシートで整理・分析する方法をコード付きで解説。SNS運用やネタ探しに便利な自動化ガイド。
こんにちは、SHOです。
みなさんは最近流行ってるものって何かしっていますか?
僕は知っています。インフルエンザです。ここしばらくnoteには来れていませんでした。1週間くらい。つまりお久しぶりです。
だからこのタイミングでせっかく僕のnoteを紹介してくれた人の記事への御礼とかコメントとかすぐにできなくてごめんなさい。
で、ようやく復帰してみたものの、今度は困ったことに何もしてないので、ネタが無いです。僕何もしてないのに。
というわけで、今回は僕の初めての日記です。では行きます。
今日僕は、ずっと何もできなかったからネタが無いという状態でネタを考えるnoteはじめて日記を書こうと思います。
…ところでみなさんはgetdaytrendsというサイトは知っていますか?
Xのトレンドをまとめてくれているサイトです。
つまり、流行りの題材がここにあるということなので、GASを作ればいいんじゃないかということなのでやっていきたいとおもいます。
というわけで、日記はやめてお勉強です。
getdaytrendsとは?
これのことです。getdaytrends 。
Xで「いま話題になっているワード」を国や地域ごとにまとめてくれていて、いわゆるトレンド観測系のサイトです。
Now(いまこの瞬間のトップ)
Most Tweeted(24時間で最もツイートされたもの)
Longest Trending(長時間トレンド入りしていたもの)
などが一覧になっていて、ざっくり何が話題なのかをつかむのに便利です。
ちょっと気をつけたいポイント
getdaytrends は X公式のデータをもとにした非公式サービスなので、次の点だけ頭に入れておくと安全です。
・データの更新タイミングは 1時間ごと
・X公式アプリで見たトレンドと完全一致するとは限らない
・調査方法・内部アルゴリズムは非公開
・サイト側の仕様変更で、取得ロジックが変わる場合がある
・大量アクセスや商用目的でのデータ収集は禁止されています
今回は 個人利用・1日1回レベル・Top10だけ取得 の非常にライトな使い方なので、規約にあるような重いスクレイピングには該当しないと思います。
もし使ってみようって思った人は利用規約を確認してください。
とりあえずチャレンジ
そんなわけで今回のテーマは、世の中の流行にのってしまった僕が流行を追いかけようということです。
僕がXで投稿した流行最先端の情報の発信がトレンド入りするやや手前から若干遠い位置にある少し先の山の向こうの海を隔てた海岸沿いまできているので、ぼくのXの役目は果たせている気がします。
インフルエンザになってしまったのでnoteはちょっとお休みですというご連絡です🤧
— SHO (@SHOPromptDesign) November 18, 2025
※コメントありがとうございます!思い出が走馬灯のように見えていた中、とっても救われました。noteのみんなはあったかいです。
出来上がったのはこれです。


「#インフルエンザ」は入っていないです。
んで、Googleのスプレッドシートにはシートを2枚用意しています。
Raw シート
getdaytrends から「Now / Most Tweeted / Longest Trending」の Top10 をそのまま保存します。
・collected_at:日付
・rel_time:「now」、「most」、「longest」
・rank:ランキング
・keyword:キーワード
・tweet_count:ツィートカウント
・url:そのキーワードでXを検索するURL
毎回実行するたびに Raw シートは初期化されて、そのタイミングの Top10 だけが入るようになっています。
Scores シート
Rawシートだけだとつまんないので今日一日の中で同じキーワードが、
どのくらいのツイート数を持ってて
「now / most / longest」に何回顔を出しているか
をちょっと工夫してわかりやすくしたやつです。出力はこんな形です。
・keyword:キーワード
・occurrences:頻出回数
・tweet_count:ツイート数
tweet_count は「max」か「sum」か選べるようにしていて、デフォルトは「max」にしています。たぶん使うこと無いけど。
これを見ると、
今日一番熱かったワード
何度もトレンド入りしていたワード
などがわかりやすいです。
※Most Tweeted / Longest Trendingが何故か取れないので、ゆっくり調べて改造してみます。
Google Apps Script(GAS)のこと
これのことです。GASってみんな言ってます。
Google が提供しているクラウドで動く JavaScript ベースの自動化環境で、
Googleのサーバーで動く
コードは全部クラウド保存
ブラウザさえあれば動く
Google アカウントがあれば無料で使える
1日 90分程度の実行時間が上限
UrlFetchApp.fetchの外部アクセスは無料枠だと 1日あたり 20,000回くらいまで
つまり、なんやかんやいい感じで今回のように色々便利な事をしてくれます。
今回はClaudを使ってやってみました。僕こんなの一人で出来ません。
だから僕はいま勉強中なので、記念すべき初GASをここに置いておきます。
もし、今回つくったものが何かに使えるかもって思ってくれたら使ってみてください。
僕の記念のGAS第1号!
※ダウンロード前に必ず本文末尾にある「txtファイルのご利用について」をご確認ください。
Googleスプレッドシートの拡張機能を使う
今回はGoogle Spread sheetにアクセスします。
スプレッドシートの拡張機能でGoogle Apps Scriptのコードをセットしておくイメージです。たぶん。


Apps Scriptっていうのが出てきます。

僕がつくったコードを使う人はここにコピペしてください。

ここでは、「updateAll」を選んで「▷実行」を押します。
すると、一回目の実行ではこんな感じの流れになります。




僕は自分で作ったものだから怖くないです。



function 一覧(何をしているの?)
Claudと一緒につくったから、ちゃんと僕も理解しておかないとだめなのでどんな機能(関数)があるのかを整理します。
これは、僕が書いたこのコードにどんな機能があるかっていうのをまとめておきます。

🟣 updateAll
全体のメイン処理
トレンドを取得して Raw シートを更新
Raw をもとに Scores シートを更新する「まとめ役」
🟣 fetchJapanFromGetDayTrends
getdaytrends の日本ページを取得
テキストを行単位に分解
「now / most / longest」の3つのTop10を抽出して Raw に書き込む
この中で下の関数も呼ばれています:
getOrCreateRaw:Raw シートが無ければ作り、ヘッダを整える
resetRawSheet:毎回 Raw シートの中身を初期化する
parseSectionTop10:テキストの中から 各Top10 を抽出する
🟣 updateScores
Raw を読み込む
キーワードごとに「出現回数(occ)」と「tweet数(tweet)」を集計
tweet数 → 降順
出現回数 → 降順
という優先順位で並べて Scores シートを作る
「今日の日本トレンドで一番強いワードが何か」が分かるやつです。
🟣 findLineIndex
たくさん並んだ文字列の中から、「ここから読み始めてね」っていう目印を探す関数です。
🟣 parseTweetCount
スコア計算するときに、tweet数を数値に変換する小さな関数です。
「23.2K tweets」 → 23200
「2.1M tweets」 → 2100000
という感じです。
🟣 runOnce
手動のテスト用です。updateAllを一回だけ実行するための関数です。
🟣 createDaily8JST
毎日 朝8時(JST)に updateAllを自動実行するトリガーを作るもの。以前のトリガーを全部削除してから回しなおすときに使います。
まとめ
いかがでしたでしょうか?今回は僕の初の日記にチャレンジしてみました。
本来であれば、X の公式APIを使うのが一番だと思います。
ただ、XのAPIを調べてみたのですが、開発者登録や有料プランなどイマイチよくわからなかったので、「ちょっとネタを拾いたいだけ」の用途にはだいぶ重たい感じがします。
だから今回は、公開トレンドをまとめてくれている getdaytrends のページを
Readerモード経由でテキストとして取得し、それを自分用のネタリストとしてスプレッドシートにまとめる、というアプローチをしてみました。
もし、面白かったり何か役に立ったら、スキやフォローしてくれるととっても嬉しいです!
最後に
txtファイルのご利用について
このファイルは、みんなが自由に使えるように公開しています。自由に閲覧・学習・カスタマイズ・個人利用ももちろんOKです。
ただし、ご利用は自己責任でお願いします。
禁止事項
このファイルを無断で再配布・販売すること。作者を偽って自作発言を行うこと。公序良俗に反する形での利用。
免責事項
このファイルの利用により生じたいかなる損害・トラブルについては一切の責任を負うことができません。また、今後のアップデートやサポートを保証するものではありません。
※他にもこんなチャレンジしています。
※Googleを活用した内容もこちらにまとめてます。
