如何解决使用 createWriteStream 为每个请求创建单独的文件
我正在使用 URL
发出多个 Axios
请求并使用 Cheerio
收集数据。
一切都很好,我只是不知道如何防止数据被使用 response
方法生成到文件中的前一个 createWriteStream
覆盖。
我正在尝试为每个请求创建不同的文件,最好使用唯一的名称,但在文档中没有找到任何解决方案。
const axios = require("axios").default;
const cheerio = require('cheerio');
const fs = require('fs');
const writeStream = fs.createWriteStream('./names/names.text')
const getTitle = (res) => {
const $ = cheerio.load(res.data);
const names = $('.name_wrap > .name')
names.each(function (i,el) {
const item = $(el).text().replace(/^\s*$/g,'')
writeStream.write(`${item}\n`)
});
}
// URL'S Array
let URLS = []
for (let index = 1; index <= 3; index++) {
let url = `https://www.example.com/name-1-${index}`
URLS.push(axios.get(url))
}
Promise.all(URLS)
.then(responses => {
getTitle(responses[0])
getTitle(responses[1])
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。