nodejs爬虫小红书评论区
以下是一个简化的Node.js爬虫示例,用于爬取小红书指定帖子的评论区。请注意,实际爬取数据时需要遵守相关法律法规及小红书的robots协议,避免对网站的正常服务造成影响。
const axios = require('axios');
const cheerio = require('cheerio');
// 爬取小红书评论的函数
async function crawlComments(url) {
try {
const { data } = await axios.get(url);
const $ = cheerio.load(data);
// 提取评论信息
const comments = [];
$('.comment-item').each((index, element) => {
const $element = $(element);
const content = $element.find('.comment-content').text().trim();
const user = $element.find('.comment-user').text().trim();
comments.push({
content,
user,
});
});
return comments;
} catch (error) {
console.error('爬取失败:', error);
return [];
}
}
// 使用示例
const postUrl = 'https://housing.douban.com/house/33750331/?from=post'; // 替换为小红书帖子的URL
crawlComments(postUrl).then(comments => {
console.log(comments);
});
这段代码使用了axios
来发送HTTP请求,cheerio
来解析返回的HTML内容,并提取评论信息。函数crawlComments
接收帖子的URL作为参数,发送请求,加载页面内容,并遍历页面中的评论项,提取评论内容和用户信息,最后返回包含评论信息的数组。
请确保在使用此代码前已经安装了axios
和cheerio
依赖:
npm install axios cheerio
此外,由于爬虫可能会受到网站的IP限制或需要登录验证,实际使用时可能需要处理更多复杂情况,如设置代理、模拟登录状态等。
评论已关闭