nodejs爬取网页内容并把每个页面分别下载出来,文件格式为.md
时间: 2024-04-05 19:29:42 浏览: 131
要将每个页面下载为 `.md` 文件,可以在上面的代码基础上进行简单的修改。我们可以使用 `fs` 模块来将获取到的内容保存为文件,同时可以使用 `slugify` 等库来生成文件名。
以下是一个修改后的例子:
```javascript
const axios = require('axios');
const cheerio = require('cheerio');
const slugify = require('slugify');
const fs = require('fs');
// 要下载的页面列表
const urls = [
'https://www.example.com/page1',
'https://www.example.com/page2',
'https://www.example.com/page3',
];
// 循环遍历页面列表
urls.forEach(url => {
axios.get(url)
.then(response => {
const html = response.data;
const $ = cheerio.load(html);
// 使用 slugify 生成文件名
const filename = slugify($('title').text()) + '.md';
// 将内容保存为文件
fs.writeFile(filename, html, err => {
if (err) {
console.error(err);
return;
}
console.log(`${filename} saved successfully!`);
});
})
.catch(error => {
console.error(error);
});
});
```
在这个例子中,我们首先定义了要下载的页面列表 `urls`,然后使用 `axios` 和 `cheerio` 来获取每个页面的 HTML 内容。接着,使用 `slugify` 生成文件名,并使用 `fs` 将 HTML 内容保存为 `.md` 文件。最后,输出成功保存文件的信息。
需要注意的是,这个例子中直接将 HTML 内容保存为 `.md` 文件,实际上需要根据网页的内容来进行相应的处理,例如将 HTML 转换为 Markdown 格式。
阅读全文