Files
ksapi/downKsVideo/data.js
2025-07-23 23:52:30 +08:00

55 lines
1.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const request = require("./src/http/http");
const config = require("./src/config/config");
const fs = require('fs');
let result = []
// 延迟函数,单位为毫秒
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
const main = async () => {
for (let index = 1; index <= 50; index++) {
try {
let { feeds } = await request.post(config.visionNewRecoFeed, { dailyFirstPage: false });
console.log(`第: ${index} 次爬`);
console.log(`爬到的数据长度: ${feeds.length}`);
console.log(``);
feeds.forEach(v => {
result.push({
video_introduce: v.photo.caption,
video_url: v.photo.photoUrl,
video_img: v.photo.coverUrl
});
});
// 设置延迟时间例如3000毫秒=3秒
await delay(1000); // 你可以调整这个值
} catch (error) {
console.error(`${index} 次请求出错:`, error);
// 出错时也等待一段时间再继续
await delay(3000);
}
}
// 先读取现有数据,然后追加新数据
fs.readFile('data.json', 'utf8', (err, data) => {
if (err) {
console.error('读取文件出错:', err);
return;
}
const existingData = JSON.parse(data);
console.log(`data.json 原文件数据长度: ${existingData.length}`);
console.log(`爬到的新数据长度: ${result.length}`);
const updatedData = [...existingData, ...result];
console.log(`合并后总数据长度: ${updatedData.length}`);
fs.writeFile('data.json', JSON.stringify(updatedData, null, 2), (err) => {
if (err) console.error('写入文件出错:', err);
else console.log('数据已成功追加到data.json');
});
});
}
main();