尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

如何用 xhs 快速采集小红书笔记、评论与素材:完整新手指南(附避坑清单)

如何用 xhs 快速采集小红书笔记、评论与素材:完整新手指南(附避坑清单) 如何用 xhs 快速采集小红书笔记、评论与素材完整新手指南附避坑清单【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhs用 Python 采集小红书公开数据绕开手动一条条复制粘贴的繁琐核心就是开源库 xhs它把小红书 Web 端的请求封装成一个XhsClient你传入登录 Cookie 后笔记详情、用户主页、完整评论、搜索与信息流都能直接取回甚至还能点赞、关注、发布图文和视频笔记。下面按先跑通、再扩量、后维稳的路子带你走完一遍。一、开工前先把环境三件套装好 很多人卡在第一步其实不是代码难而是签名没配好。小红书接口带x-s校验光靠 xhs 本身还不够得再拉两样工具一个模拟浏览器行为的playwright一个绕过环境检测的stealth.min.js。三条命令装齐pip install xhs playwright playwright install再单独把stealth.min.js下载到本地签名脚本里会用到它的路径。如果你想直接吃最新版也可以克隆源码装git clone https://gitcode.com/gh_mirrors/xh/xhs cd xhs python setup.py install装完先别急着写业务逻辑环境能跑起来才算数。关于签名和基础用法的完整说明在 docs/basic.rst 里都有。二、第一次成功把一条笔记数据跑出来 现在只追求一件事让控制台吐出一条真实笔记。核心调用其实就三行——from xhs import XhsClient client XhsClient(cookie你的cookie, signsign) note client.get_note_by_id(笔记ID, xsec_token)两个关键参数别搞混cookie从浏览器开发者工具里复制a1、web_session、webId三个字段缺一不可少了会直接签名失败。xsec_token在小红书网页版打开目标笔记地址栏 URL 里那个xsec_token参数原样复制进来即可。sign是你在 playwright 里实现的签名函数官方 example/basic_usage.py 里给了带 10 次重试的完整实现直接抄改就行。打印出note的那一刻你就正式过线了。三、从单条到批量账号、评论、素材一次收齐✅ 单条通了之后真正的价值才开始。xhs 把常见的读操作都整理成了方法见 docs/crawl.rst你按需取用整账号笔记get_user_all_notes(user_id)自动翻页拉全图片、视频地址都解析好了。评论区get_note_all_comments(note_id)递归抓完所有子评论自动处理翻页游标返回扁平列表方便直接丢去做情感分析。批量下载素材save_files_from_note_id(note_id, dir_path)会把一篇笔记的图片/视频按标题建目录存到本地做素材收集很省事。搜索与信息流get_note_by_keyword(keyword)支持综合/最热/最新排序和图文/视频过滤get_home_feed(feed_type)能抓推荐、穿搭、美食等十几个分类get_home_feed_category()可以先把分类列表列出来。想分析某个竞品账号时get_user_info、get_user_collect_notes、get_user_like_notes能帮你还原对方的内容和偏好。所有方法的签名都集中在 xhs/core.py注释清楚直接翻源码学最快。四、跑卡了对着错误表逐个排 报错不用慌xhs 把常见异常单独拎出来了定义在 xhs/exception.py对号入座现象对应的异常大概率原因提示网络连接异常、被限流IPBlockError请求太密加 sleep 放缓节奏签名一直失败SignErrora1 没对齐或 stealth 没加载好笔记打不开、当前内容无法展示DataFetchError笔记被删/设为私密换一篇突然要求验证NeedVerifyError触发了风控降频 换网络环境两条经验特别顶用批量循环里每次加约 1 秒间隔能显著降低被限流概率签名偶发window._webmsxyw is not a function属正常包一层 try/except 重试就行官方示例就是这么干的。五、跑久了更省心签名服务与登录续命⏳ Cookie 会过期签名服务也可能要常驻。两个动作能让脚本长期稳定1多账号共用一个签名服务。把 playwright 包成独立的 Flask 服务主进程用 requests 去要签名。官方提供了 example/basic_sign_server.py 和本地镜像直接docker run -it -d -p 5005:5005 reajason/xhs-api:latest服务启动会打印出a1务必把你每个账号 Cookie 里的a1调成和服务端一致否则会持续报签名错。调用侧参考 example/basic_sign_usage.py服务结构在 xhs-api/。2用登录代替手动换 Cookie。xhs 支持三种拿登录态的方式日常脚本建议前两种省得反复复制扫码get_qrcode()生成二维码check_qrcode(qr_id, code)轮询直到code_status 2见 example/login_qrcode.py。手机号send_code(phone)发验证码 →check_code(phone, code)→login_code(phone, token)完成登录见 example/login_phone.py。六、什么时候该改代码进阶玩法 当你不满足于读可以碰写能力create_image_note上传本地图片发图文笔记create_video_note支持视频分片上传、自动截取首帧当封面还都支持定时发布和私密发布。这些写操作不可逆正式跑之前一定先用测试号完整走一遍。更多接口的返回结构直接读 tests/test_xhs.py 里的断言比看文档还直白。建议的节奏是先用示例脚本跑通单条 → 组合成批量任务 → 加个定时调度最后沉淀成你自己的数据看板。核心类就一个XhsClient入口清晰、方法命名直观现在就把第一条数据跑出来吧剩下的都是顺水推舟。【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表