Node.js ある記事にはてなスターを付けたユーザの一覧

こんにちは。レモンティーです。

今回ははてなスターAPIでスターの取得です。

以下のqに記事のurlを入れてnode.jsで実行するだけ。

index.js

const request = require('request');

const q = "https://www.sawalemontea.com/entry/2019/06/19/160507";

(async () => {
    const main = 'http://s.hatena.com/entry.json?uri=';
    const url = main + q;
    const body = await requestAsync(url);
    const stars = JSON.parse(body).entries[0].stars;
    let last; //重複スキップ用
    for(const star of stars){
        const user = star.name;
        if(user == last)continue;
        console.log(user);
        last = user;
    }
})();

async function requestAsync(options){
    return new Promise((resolve,reject) => {
        request(options, (err,res,body) => {
            if(err)reject(err);
            resolve(body);
        });
    });
}


出力は以下のようになります

aTn
miyatan-naotan
walkingbear
n-rainbow-y
okimusan


コマンドでも出来そうですね。むしろそれが普通かな?
Windows 10のcurlコマンドでhttpリクエスト | 俺の開発研究所
パイプを使いコマンドの出力を別のコマンドの入力へ渡す | コマンドプロンプトの使い方
jq コマンドを使う日常のご紹介 - Qiita

今回はこれでおしまいです。
www.sawalemontea.com