定年後の人生:自由と退屈の狭間で(一日一新を目指します)

定年後の生活のリアルな姿を伝える(近況報告)

【今日の一新】ChatGPT(無料版)を使って、GASを組んでみた。今回は、はてなさんのレポートを加工してみた。

2024年6月27日

まかろんさん、猫娘7号さん、zfinchyanさん、aと mさん、ゆきにーさん、カツピチさん、いつもスターをありがとうございます。

makarotteさん、読者登録をありがとうございます。

 

6月18日に、Gmailから特定のタイトルのメールを抽出して、本文をスプレッドシートに転記するGASを作った。

 

1day1new.hatenadiary.com

 

単に、クレジットカード会社のWebサイトにアクセスすれば良かったのだが、作ってから気づいたのがアホよねえ。

 

今回は、はてなブログの毎日のメール、[Hatena::S] くらーくさんの☆レポート、から、スターをつけてくれた方へのお礼文を自動で作るスクリプトを作ってみた。

今日のブログの1行目は、このスクリプトで作ったものです。IDではなく、プロフィール名にしてみました。

 

今回もChatGP(無料版)に問い合わせて作りました。本当に、1回で9割がた出来ちゃうので、助かりますわ。

ただ、今回苦労したのは、プロフィール名の抽出。メール本文の一部は、次の通り。

くらーくさん (id:WORKER456) の今日の☆レポートです。

本日の☆ : 20
ただいまの☆総数 : 714

■ 【今日の一新】イオンでアイスクリームを買ったら、ドライアイス...
https://1day1new.hatenadiary.com/entry/2024/06/26/180737
まかろん (id:makarotte) ☆☆☆☆☆
猫娘7号 (id:catsgirl) ☆☆☆

ChatGPTが教えてくれたのは、次のソース(該当部分だけ)。

      var pattern = /([\s\S]*?)\s*\(id:([a-zA-Z0-9-_]+)\)\s*(☆{1,200})/g;
      var matches;
      
      while *1 !== null) {
        var nameAndMore = matches[1].trim(); // 名前とその後の文字列を取得
        
        // 名前を改行コードやHTMLタグ(例えば</a>)が来るまでの部分にする
        var name = nameAndMore.split(/\r?\n|<\/a>/)[0].trim();

正規表現が良く分からないけど、これだと、猫娘7号さんは抽出できるのですが、その上のまかろんさんは抽出できず、くらーくさん (id:WORKER456) の今日の☆レポートです。になるんですわ。

 

結局、半日かけて出来るようにはなったのですが、効率悪いなあと。でも、暇つぶしだから良いっかなあ。

 

これで、もっと多くの方のスターを頂いても、作業はコピペ1回で済むようになりました。もっと、スターを頂けるように頑張り。。。ます?

 

あと、今回初めて、囲み枠を使ってみました。

 

ブログランキングに参加してみました。 クリックしていただけると嬉しいです。

にほんブログ村 その他生活ブログ FIRE(無職・フリーター)へ
にほんブログ村 その他日記ブログ 60代男性日記へ
にほんブログ村

 

 

*1:matches = pattern.exec(body