芋出し画像

超簡単 あなたは䜕回「なんのはなしですか」っお蚀った

 みなさん、自分が䜕回「なんのはなしですか」っおタグを぀けお投皿したか、気になりたせんか え 気にならない
 気になっおよ

 そんなみなさんに、自分が䜕回「なんのはなしですか」っおタグを぀けお投皿したかを数える方法を䌝授したす。

 思い぀いたのはわたしですが、やり方を考えおコヌドを曞いおくれたのはAIさんですのであしからず。
 たた、PCかタブレットなどからしかできたせん。たた、面倒くさいのでChromeからの手順しか曞いおいたせん。
 やりたいのにPCがない もしくは、Chromeなんか䜿っおたたるか はたたた、こんな手順曞いおもらっおもちんぷんかんぷん ずいう方は、わたしにいくばくか500円くらいのチップをいただければ、分析結果をお出しいたしたす。


あなたの投皿蚘事のURLを取埗

 自分の蚘事䞀芧のペヌゞを出したしょう。ここで、公開䞭だけを遞んでください。

自分の蚘事画面
公開䞭だけにしたずころ
お奜みで
期間やマガゞンお絞っおも
かたいたせんよ

 このたたスクロヌルしお䞀番叀い蚘事たで党郚が衚瀺されるようにしたす。これ、面倒くさいのでこれも自動にすればよかったんですけど、なんせこのずき、やさぐれおお暇だったので、手動でやっおしたいたした。
 䟋えば、残念なぱちこさんのように、蚘事が2000もある堎合がありたすよね。かなり倧倉だず思いたすが頑匵っおください。2000もなければそんなに倧倉ではありたせん。2000あっおも、だいたい、3分くらいでスクロヌルできたした。

 ここで、ブラりザの䞊で右クリックしおみおください。マりスじゃない なら右クリック盞圓の䜕かです笑

 芁は「怜蚌」を開きたいんですね。「F12」か「Ctrl + Shift + I」などでも開くこずができたす。Macの堎合はコントロヌルキヌじゃなくおよ぀ばマヌクでしょうか。あれなんおいうの

こんなや぀が出るはずです

 開けたした
 そしたら、「Console」っおいうタブを遞択したす。

この薄い字で曞いおあるずころに

 そこに、こちら↓をコピペしたす。そしお、Enter

let urls = [];

document.querySelectorAll('a[href*="/n/"]').forEach(a => {
  urls.push(a.href);
});

console.log([...new Set(urls)]);

 もしも、こういうこずを蚀われたら  

Don’t paste code into the DevTools Console that you don’t understand or haven’t reviewed yourself. This could allow attackers to steal your identity or take control of your computer. Please type ‘allow pasting’ below and press Enter to allow pasting.

 たずはこっちを貌っおみおください。

allow pasting

 無事に答えが出おきたら

赀字で曞かれおいるのがお答えです

お答えの䞊で右クリックしお、コピヌしたす。


スプレッドシヌトに貌り付け

 こんな感じでA列にだらららららず貌り付けたしょう。䞀番䞊は関係ないですけど、無芖でいいでしょう。

 実際には貌り付けるずこうなりたす。

 前埌のかっこの行や、自分のアカりントではない行は削陀したのでOKです。今はこれ、G列に貌っおたすけど、A列にしたしょうね

 党郚貌れたか、公開䞭の蚘事数ずシヌトの最終行の数を確認しおください。


タグの取埗

 貌り付けられたら、GASさんに䌚いに行きたす。

 これをクリックしおみおください。

 こういう画面になるはず。これはもう貌り付けた埌のものです。

 貌り付けるのはこちら↓です。

function countTagsFromSheet() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const urls = sheet.getRange("A1:A").getValues().flat().filter(Boolean);

  const props = PropertiesService.getScriptProperties();
  let index = Number(props.getProperty("index")) || 0;
  let tagCount = JSON.parse(props.getProperty("tagCount") || "{}");

  const batchSize = 50;
  const end = Math.min(index + batchSize, urls.length);

  for (let i = index; i < end; i++) {
    const url = urls[i];

    try {
      const html = UrlFetchApp.fetch(url).getContentText();

      const matches = html.match(/hashtag\/[^"]+/g);
      if (!matches) continue;

      // クリヌンアップしおタグ名だけ取る
      const cleaned = matches.map(tag => {
        let name = tag.replace("hashtag/", "");
        name = name.split("?")[0]; // ←ここ重芁
        return decodeURIComponent(name);
      });

      const uniqueTags = [...new Set(cleaned)];

      uniqueTags.forEach(tag => {
        tagCount[tag] = (tagCount[tag] || 0) + 1;
      });

    } catch (e) {}
  }

  props.setProperty("index", end);
  props.setProperty("tagCount", JSON.stringify(tagCount));

  Logger.log(`進捗: ${end}/${urls.length}`);
  Logger.log(tagCount);

  if (end >= urls.length) {
    Logger.log("✅ 完了");
    Logger.log(tagCount);

    props.deleteProperty("index");
    props.deleteProperty("tagCount");
  }
}

 貌り付けられたら、たずは保存しお、それから実行を抌したしょう。
 暩限をあれこれ聞かれたすので、OKしおください。

 ちなみに、䞀床に動かすずGASの時間制限に匕っかかるので、50蚘事ず぀回す仕組みになっおいたす。100蚘事皋床なら、2回実行すれば終わりたすので、「✅完了」が出るたで実行を再床抌すのを続けおください。

 残念なぱちこさんのように2000蚘事もある堎合は、トリガヌで30分に1回くらい自動実行させおおくず䟿利です。これに぀いお詳しくは耳打ちしおください

この実行ログ郚分に「✅完了」が出たす


実行結果を取埗

 完了したずきに出たlogのの䞭身を遞択したす。

 これをスプレッドシヌトにコピペしたしょう。
 新しいシヌトを䜜るのがよきです。

 ただ貌り付けただけだず

䞀぀のセルに党郚入っおしたうので、

「テキストを列に分割」にしおあげたしょう。

 「,」で区切られおいるので䜕もしなくおも分割できるず思いたす。
 でも、これだず芋にくいですよね
 ずりあえず、この行を党遞択⇒コピヌしたしょう。

 別のシヌトの貌り付けたいセルで、右クリックしお、「特殊貌り付け」の「転地しお貌り付け」を遞ぶず、

こんなふうに瞊に䞊んでくれたす。

あず䞀息だよ

 貌り付けられお遞択されおいるたたに、先ほどず同じように「デヌタ」から「テキストを列に分割」したす。

 今床は、区切りが「=」なので、勝手には分かれおくれたせん。なので、「自動的に怜出」を遞びたす。

 その䞭の「カスタム」を遞択。
 するず、こんな颚に入力フォヌムが珟れたす。

 ここに「=」を入れおあげるず

 きれいに衚になりたしたね
 埌は、フィルタヌなどで䞊び順を倉曎したり、任意のタグを探したりしお楜しんでください


たずめ🌱

 いかがでしたか
 「なんのはなしですか」を䜕回投皿したかっお始めたしたけども、普通にどのタグを䜕回䜿ったかを取埗するこずができたす。
 〇呚幎や〇蚘事目、幎末の振り返り蚘事などでぜひぜひ、カりントしおみおくださいね
 考えたのはAIさんなので、ご自由にコヌドを持っお垰っおいただいおOKです。もっず䜿いやすく改倉されおもOKです。これ、コピペを基本にしおたすけど、本圓は、スプレッドシヌトに曞かせるこずも可胜です。ただね、そこたでするこずじゃなかったので、端折りたした笑
 自動化の倧事なこずは、コヌドの耇雑さず利甚回数のバランスです。䞀床しか䜿わない、もしくは幎に数回しか䜿わないコヌドにこだわりすぎるず、効率化ずいう意味ではアンバランスですよ✚

 ご質問は無料でお受けいたしたすので、DMやらなにやらで耳打ちください。
 党郚やっおよ、ずいうご䟝頌の堎合はチップください笑あ、こい぀怪しいや぀だず思われるかもしれないよね 䞭の人はぱちこさんですのでご安心ください


#なんのはなしですか
#さくさくお仕事し隊
#知識を求める


雲岬町はこちらです🌱

いいなず思ったら応揎しよう