生活服务
使用 Python 构建小红书用户动态监控系统
2025-01-31 12:48  浏览:83

"今天她又发新笔记了吗?"

"糟了,她更新了我却没能第一时间看到..."

"为什么别人都能秒回评论,我却总是来晚一步..."

"为什么我总是错过她的新动态..."

相信很多同学都有过这样的经历。作为一名资深舔狗,一直秉承着 “舔得狗中狗,方为人上人” 的原则,必须 24 小时待命,不能错过女神的任何动态,但同时作为一名资深软件工程师,与其整天盯着手机刷新,不如用技术来解决这个问题! 今天,我们就来构建一个专属得“女神小红书动态监控系统”,让你永远不错过她的每一条动态,永远第一时间向她嘘寒问暖,做她最忠实的粉丝(舔狗)!

作为一名合格的舔狗,我们需要

  • 实时监控女神的小红书最新笔记
  • 第一时间获得更新提醒
  • 快人一步送上点赞或者评论

通过这个项目,你将获得

  • 女神更新笔记时,第一时间收到通知
  • 展现你的技术实力
  • 提升你的 Python 编程能力
  • 成为女神最忠实的粉丝(舔狗

为了实现这个浪漫的需求,我们需要

  • 使用 Python + xhs 库获取女神的最新笔记
  • 通过企业微信接收消息通知
  • 使用 SQLite 存储笔记历史数据

确定好大致技术方案后,就让我们开始这段浪漫的编程之旅吧!

首先让我们创建一个新的项目目录并进入该目录,然后创建一个虚拟环境,并安装所需的依赖库。

 

bash

代码解读

复制代码

实现配置模块

创建 config.py 文件, 用来配置小红书,企业微信通知以及监控相关的可配置信息。

 

python

代码解读

复制代码

实现企业微信通知模块

创建 wecom.py 文件, 用来实现企业微信通知功能。

 

python

代码解读

复制代码

  • 我们创建一个  类, 用来实现企业微信通知功能。
  • 根据企业微信相关文档(developer.work.weixin.qq.com/document/pa…, 我们使用企业微信的 message API 来发送应用消息实现通知。这需要一些企业微信的配置信息, 包括企业ID, 应用ID, 应用Secret。我们通过配置模块存放这些信息,并将这些信息作为  类的  方法的参数。
  • 发送应用消息需要获取访问令牌(access_token), 我们通过  方法来获取。
  • 最后,我们通过  方法来发送文本消息。

实现数据库模块

创建 db.py 文件, 用来实现数据库相关功能。

 

python

代码解读

复制代码

  • 我们创建一个  类, 用来实现数据库相关功能。
  • 通过  方法来初始化数据库表, 如果 notes 数据库表不存在, 则创建它。
  • 通过  方法来添加笔记记录。如果笔记已存在, 则返回 False, 否则将笔记插入到数据库表并返回 True
    • 由于该监控系统主要是监控用户是否有新笔记,对笔记的具体内容并不是很关心, 所以这里我们只保存笔记的 id, 用户 id, 标题, 发现时间以及笔记类型。
    • 之所以将笔记持久化到数据库,也只是为了去重,防止重复发送通知。

实现工具模块

创建 utils.py 文件, 用来实现程序所需的工具函数。

 

python

代码解读

复制代码

  • 这里我们实现了一个  方法,用来生成小红书请求的签名。
  • 该方法通过 playwright 库来模拟浏览器行为,获取小红书请求的签名,并返回签名信息。而不是直接逆向小红书请求的签名算法,因为小红书请求的签名算法可能会随时更新,导致我们之前逆向的代码失效。
  • 如果签名获取失败,则抛出异常,并重试 10 次。

实现监控主程序

创建 monitor.py 文件, 用来实现监控主程序。

 

python

代码解读

复制代码

  • 首先我们定义一个  函数,用来启动监控。 函数中我们通过  类来初始化监控对象,并传入配置模块中的小红书 cookie, 企业微信配置信息以及监控配置信息。
  • 然后我们通过  方法来监控女神的最新笔记。
  •  类中我们一共需要实现 5 个方法, 分别是
    •  方法
    •  方法
    •  方法
    •  方法
    •  方法

XHSMonitor 类详解

 方法

 方法用来初始化监控对象的属性, 我们需要在这个方法中初始化  对象,  对象以及  对象,并赋值给监控对象对应的属性。同时,我们还需要初始化一个错误计数器,用来记录 API 请求失败的次数。 其中在初始化  对象时,我们传入了 cookie 和 sign 参数。cookie 是我们在配置模块中配置的小红书 cookie,sign 则是我们在 utils 模块中实现的  方法, 用来生成小红书请求的签名。

 方法

 方法的主要功能是获取女神的最新笔记。内部通过  的  方法来获取小红书用户笔记。如果获取失败,则将错误信息记录到错误计数器中,如果错误计数器达到最大重试次数,则调用  方法发送错误通知并退出程序。当然,如果获取成功,则将错误计数器清零。由于大多数错误是触发了小红书的反爬虫机制,所以这里我们也会通过  方法来等待一段时间,然后再重试。

 方法

 方法的主要功能是发送错误通知到企业微信。核心逻辑也很简单,就是将错误信息和当前时间拼接成一条文本消息,然后调用  的  方法发送。

 方法

 方法用来监控女神的最新笔记。通过 while 循环不断调用  方法获取女神的最新笔记,然后通过  方法判断笔记是否已存在,如果笔记不存在,则说明是新笔记,则调用  方法发送笔记通知到企业微信,告知我们女神发布了新笔记,我们就可以第一时间去点赞或者评论了。

 方法

 方法和  类似。将笔记的标题, 链接, 类型, 监控时间以及用户名拼接成一条文本消息,然后调用  的  方法发送。

以上,我们的核心代码已经实现完毕,接下来我们就可以运行我们的监控程序,测试程序是否正常,行为是否符合预期。

在正式运行之前,我们需要先配置好小红书 cookie, 企业微信配置信息以及监控配置信息。

获取小红书 cookie

我们登录小红书 Web 端,打开开发者工具,在 Network 标签下找到请求头中包含 cookie(a1, web_session 和 webId)的请求,复制请求头中的 cookie 信息,然后粘贴到配置模块中的 XHS_ConFIG 中。 

获取企业微信配置信息

登录企业微信后台,创建一个企业或者加入一个企业,获取企业的 CORPID,然后在应用管理中创建一个应用,获取应用的 AGENTID 和 SECRET,然后粘贴到配置模块中的 WECOM_ConFIG 中。 

 

获取女神小红书用户 ID

通过小红书 Web 端,访问女神的笔记主页,浏览器地址栏 /user/profile/xxx 中的 xxx 就是小红书用户 ID。 

本地运行

当完成以上配置后,本地运行很简单,只需要在终端中执行以下命令即可

 

bash

代码解读

复制代码

    以上就是本篇文章【使用 Python 构建小红书用户动态监控系统】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/tnews/5895.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
腾讯围棋(野狐)手机版最新版中国象棋手机版「腾讯围棋(野狐)手机版最新版」
中国象棋竞技版最新版是有着很多经典的象棋残谱的经典益智游戏,在这里解锁自己感兴趣的棋谱,不管是是和电脑竞技还是真人pk,都
小米手机掉水里了应该怎么处理手机掉水里怎么处理「小米手机掉水里了应该怎么处理」
在日常生活中,我们难免会遇到一些突发情况,比如小米手机不慎掉入水中。面对这种情况,如果处理不当,可能会导致手机严重损坏。
有钱人“买爆”上海豪宅,有楼盘卖出200亿!去年多个“10万+”豪宅“日光”
本文来源:时代财经 作者:陈泽旋图源:图虫创意有钱人仍在楼市发挥他们的“钞能力”。近日,来自上海的中高端改善型项目海玥黄
华为WatchGT3可以遥控拍照吗?华为WatchGT3遥控拍照介绍华为手机驱动「华为WatchGT3可以遥控拍照吗?华为WatchGT3遥控拍照介绍」
近日有些朋友询问能否用华为Watch GT 3远程控制拍摄照片?以下是相关说明。(注:以上为简化版文本)华为WatchGT3支持遥控拍照,
谱写中印尼命运共同体新篇章
王鲁彤 中国和印度尼西亚是隔海相望的好邻居、命运与共的好伙伴,两国友谊源远流长。古代海上丝绸之路曾将双方紧密联系在一起,
东京股市继续上涨
  新华社东京4月18日电(记者钱铮)受医药和生物相关股普遍上涨拉动,日本东京股市18日继续上涨。日经225种股票平均价格指数收
如何有效格式化手机以清理存储空间和提升性能手机格式化是什么意思「如何有效格式化手机以清理存储空间和提升性能」
  在现代社会,手机已经成为我们生活中不可或缺的一部分。随着时间的推移,手机中的数据会逐渐增多,可能会导致设备运行缓慢,
如何快速关闭手机勿扰模式?详细步骤解析!手机勿扰模式在哪里「如何快速关闭手机勿扰模式?详细步骤解析!」
如何在Android手机上关闭勿扰模式 通过快捷设置关闭:用户可从屏幕顶部向下滑动以打开通知面板,接着找到“勿扰模式”图标(通常
microsd卡是什么卡手机sd卡是什么「microsd卡是什么卡」
  microsd卡是什么卡,很多人都有这样的疑问吧?下面就让我来为大家介绍一下吧!microsd卡是什么卡?  其实,MicroSD卡是一种
名茶汇聚的安徽,何以大而不强?
01为何名茶多,但名企少、名牌也少?说起安徽茶叶,大家第一印象是名优茶多,但这并不意味着龙头企业、知名品牌也多。中国十大名