用nodejs编写抓取网页图片代码
时间: 2024-05-08 19:15:33 浏览: 107
以下是使用Node.js编写抓取网页图片的示例代码:
```javascript
const axios = require('axios');
const cheerio = require('cheerio');
const fs = require('fs');
const path = require('path');
const url = 'https://www.example.com'; // 网页地址
const folder = 'images'; // 图片保存文件夹
axios.get(url)
.then(response => {
const $ = cheerio.load(response.data);
$('img').each((i, el) => {
const imgUrl = $(el).attr('src'); // 图片地址
const imgName = path.basename(imgUrl); // 图片文件名
const imgPath = path.join(folder, imgName); // 图片保存路径
axios.get(imgUrl, { responseType: 'stream' })
.then(res => {
res.data.pipe(fs.createWriteStream(imgPath));
})
.catch(err => console.error(err));
});
})
.catch(err => console.error(err));
```
说明:
- 使用`axios`模块发起HTTP请求。
- 使用`cheerio`模块解析HTML。
- 遍历网页中的图片元素,并获取图片地址。
- 使用`path`模块拼接图片保存路径。
- 使用`fs`模块创建可写流并将图片保存到本地。
阅读全文