井戸端日記の盛り上がりを文字数を使用して観測
bsahd.icon
take 1
調子よくいっているので、グラフにしたい
並列取得する
https://gyazo.com/1f5d125a91e75158dfc65b3c25fd2951
曜日との相関もありそう
https://gyazo.com/f0861a7194049886f193aac412772ee4
順序がそろってない
並列処理後の順序をどうにかする
https://gyazo.com/631ef5587f7722d91e556320241de9c2
活動指標としての文字数を扱うときに対数に変換してたmtane0412.icon
長期間取得する
初期は抜けがありそうなので404対応する
2020年10月1日から
https://gyazo.com/d399c233d99bcf233f77073518637c80
アイコンを検知する
code:index.js
//@ts-check
const fs = require("fs").promises;
const { plot, stack, clear } = require("nodeplotlib");
// @ts-ignore
const Plot = require("nodeplotlib").Plot;
/**
* @type {Plot}
*/
const data = [
{
x: [],
y: [],
type: "bar",
},
];
/**
*
* @param {Date} date
* @param {string} sep
* @returns {string}
*/
function formatDate(date, sep) {
const yyyy = date.getFullYear();
const mm = ("00" + (date.getMonth() + 1)).slice(-2);
const dd = ("00" + date.getDate()).slice(-2);
return ${yyyy}${sep}${mm}${sep}${dd};
}
/**
*
* @param {string} url
* @param {number} n
* @returns {Promise<Response>}
*/
const fetch_retry = async (url, n) => {
try {
console.log(url, n);
return await fetch(url);
} catch (err) {
if (n === 1) {
throw err;
}
return await fetch_retry(url, n - 1);
}
};
/**
*
* @param {number} index
* @return {Promise<{datetext2:String,leng:Number}>}
*/
const sub1 = async (index) => {
const date = new Date(Date.now());
date.setDate(date.getDate() + index);
const datetext = formatDate(date, "/");
const datetext2 = (
formatDate(date, "/") +
"(" +
")"
).slice(2);
const pglisttempreq = await fetch_retry(
datetext
)}/text`,
15
);
const pglisttemptxt = await pglisttempreq.text();
if (pglisttempreq.status == 200) {
console.log(datetext2, pglisttemptxt.length);
return { datetext2, leng: pglisttemptxt.length };
} else {
console.error(datetext2, "not found");
return { datetext2, leng: 0 };
}
};
const main = async () => {
const promises = [];
for (let index = -1460; index < 0; index++) {
promises.push(sub1(index));
}
const res = await Promise.all(promises);
res.forEach((obj) => {
data0.x.push(obj.datetext2); });
stack(data);
plot();
};
main();