node.js 实现抓取网页图片
时间: 2023-11-09 16:12:10 浏览: 82
以下是使用 node.js 实现抓取网页图片的简单示例代码:
```javascript
const https = require('https');
const fs = require('fs');
const cheerio = require('cheerio');
const url = 'https://www.example.com';
const dir = './images';
https.get(url, (res) => {
let html = '';
res.on('data', (chunk) => {
html += chunk;
});
res.on('end', () => {
const $ = cheerio.load(html);
$('img').each((i, el) => {
const src = $(el).attr('src');
if (src.startsWith('http')) {
const filename = src.split('/').pop();
https.get(src, (res) => {
res.pipe(fs.createWriteStream(`${dir}/${filename}`));
});
}
});
});
}).on('error', (err) => {
console.error(err);
});
```
上述代码使用 https 模块发起请求,使用 cheerio 模块解析 HTML,查找所有图片标签,分别从远程服务器下载图片并保存到本地文件夹中。请注意,上述代码仅适用于简单的网页,如果需要处理复杂的 AJAX 加载内容,还需要使用其他工具和技巧。
阅读全文