作案工具如下: function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function fetchData(page) { const url = `https://www.nodeseek.com/api/attendance/board?page=${page}`; const response = await fetch(url); if (response.ok) { return response.json(); } else { return null; } } function convertToCSV(data) { const header = ["id", "member_id", "day_id", "gain", "created_at", "member_name"]; const rows = data.map(item => [ item['id'], item['member_id'], item['day_id'], item['gain'], item['created_at'], item['member_name'] ]); const csvContent = [header, ...rows].map(e => e.join(",")).join("\n"); return csvContent; } function downloadCSV(csvContent, filename = 'attendance_data.csv') { const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' }); const link = document.createElement("a"); const url = URL.createObjectURL(blob); link.setAttribute("href", url); link.setAttribute("download", filename); link.style.visibility = 'hidden'; document.body.appendChild(link); link.click(); document.body.removeChild(link); } async function main() { let page = 1; let allData = []; while (true) { const data = await fetchData(page); console.log(data); if (data && data['list'].length > 0) { allData = allData.concat(data['list']); page += 1; await sleep(5000); // 等待5秒 } else { break; } } if (allData.length > 0) { const csvContent = convertToCSV(allData); downloadCSV(csvContent); console.log("数据已保存到CSV文件中。"); } else { console.log("未获取到数据。"); } } main();
这也能水么
作案工具如下:
@213tmxk #1
也不算水吧,单纯的好奇
我碰运气一般都是5个以下,两个星期有两次1个…
我随缘
反正都六级了
没区别
每天签到随机有赌博的爽感
我赌你今天签到一个🍗
一直不敢随机,不敢赌
经常2、3个
无所谓了,满级了