douyin/node/post/process-post-img.js
2024-03-16 02:10:01 +08:00

61 lines
1.5 KiB
JavaScript

import fs from 'fs'
import request from 'request'
import {nanoid} from 'nanoid'
let fileName = './data/user-SUNMENG333.json'
let saveFileStr = fs.readFileSync(fileName, "utf8");
let inputData = JSON.parse(saveFileStr);
let saveFilePath = './imgs/'
const downloadImage = async (src, dest,) => {
console.log('下载:', src)
return new Promise(resolve => {
request.head(src, (err, res, body) => {
if (err) {
console.log(err);
return;
}
src &&
request(src)
.pipe(fs.createWriteStream(dest))
.on("close", () => {
setTimeout(() => resolve(true), 1500)
});
});
})
};
async function test3(list) {
let url = list.pop()
if (url.includes('http')) {
let name = nanoid() + '.png'
await downloadImage(url, saveFilePath + name,)
return [name]
}
return [url]
// fs.writeFileSync(fileName, JSON.stringify(inputData, null, 2));
}
inputData = inputData.slice(0, 70)
console.log(inputData.length)
for (let i = 0; i < inputData.length; i++) {
let v = inputData[i]
console.log(`处理:第${i}个视频:`, v.desc,)
if (v.video?.play_addr?.url_list) {
v.video.play_addr.url_list = [v.video.play_addr.url_list.pop()]
}
try {
if (v.video?.cover?.url_list) {
v.video.cover.url_list = await test3(v.video?.cover?.url_list)
}
if (v.video?.animated_cover) {
delete v.video.animated_cover
}
fs.writeFileSync(fileName, JSON.stringify(inputData, null, 2));
} catch (e) {
console.log('出错了', e)
}
}