nodejs 站酷抓取
时间: 2024-01-30 14:12:19 浏览: 156
根据提供的引用内容,以下是使用Node.js抓取站酷ZCOOL作品图片并归档的示例代码:
```javascript
const axios = require('axios');
const cheerio = require('cheerio');
const fs = require('fs');
// 定义要抓取的站酷ZCOOL页面URL
const url = 'https://www.zcool.com.cn/discover/0!0!0!0!0!!!!2!-1!1';
// 发起HTTP请求获取页面内容
axios.get(url)
.then(response => {
// 使用cheerio解析页面内容
const $ = cheerio.load(response.data);
// 找到作品列表的容器
const workBox = $('.work-list-box');
// 找到每个作品的容器
const cardBoxList = workBox.find('.card-box');
// 遍历每个作品容器
cardBoxList.each((index, element) => {
// 找到作品图片的URL
const imgUrl = $(element).find('img').attr('src');
// 下载图片并保存到本地
axios.get(imgUrl, { responseType: 'stream' })
.then(response => {
response.data.pipe(fs.createWriteStream(`image${index}.jpg`)); })
.catch(error => {
console.log('下载图片失败:', error);
});
});
})
.catch(error => {
console.log('请求页面失败:', error);
});
```
请注意,上述代码使用了Axios库来发起HTTP请求,Cheerio库来解析HTML内容,并使用fs库来保存图片到本地。在运行代码之前,请确保已经安装了这些依赖库。
阅读全文