写一个油猴脚本,用来爬取小红书网站列表的数据,包括标题、作者、点赞数量、笔记链接
时间: 2024-12-16 17:21:41 浏览: 45
油猴(Tampermonkey)是一个浏览器插件,主要用于扩展网页功能并编写用户脚本。在小红书上爬取数据需要遵守网站的Robots协议,并且通常不建议直接使用自动化工具进行大规模数据抓取。下面是一个简化的示例,展示了如何使用油猴脚本来获取帖子信息的基本结构,但这并不是一个完整的、可以直接运行的脚本,因为实际的小红书API访问受到限制。
```javascript
// ==UserScript==
// @name 小红书数据爬虫 (简化版)
// @namespace http://tampermonkey.net/
// @version 1
// @description 简单演示如何爬取小红书帖子信息
// @author Your Name
// @match https://www.xiaohongshu.com/explore/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 使用正则表达式匹配目标数据
const titleRegex = /<h3 class="Post-title__title.*?>(.*?)<\/h3>/g;
const authorRegex = /<a class="Post-author__link.*?">(.*?)<\/a>/g;
const likeCountRegex = /data-like-count="(.*?)"/g;
const noteLinkRegex = /href="(note\/\d+)" target="_blank">查看笔记<\/a>/g;
function extractData(element) {
let title = element.textContent.match(titleRegex)[0];
let author = element.querySelector('.Post-author__link').textContent;
let likeCount = element.getAttribute('data-like-count');
let noteLink = element.querySelector('.Note-link').getAttribute('href');
return { title, author, likeCount, noteLink };
}
// 当页面加载完成后,开始抓取数据
document.addEventListener('DOMContentLoaded', () => {
const postElements = document.querySelectorAll('.Post-item');
postElements.forEach((postElement) => {
const data = extractData(postElement);
console.log(data); // 这里仅用于测试,实际应用应存储到数据库或文件中
});
});
})();
```
阅读全文