Appearance
公众号文章获取技能:OpenClaw轻量级爬取方案与?scene=1技巧
利用
?scene=1参数绕过微信验证码,配合OpenClaw内置浏览器提取动态渲染内容。轻量、免费、不用Selenium,适合批量获取公众号文章文本。
为什么公众号文章难获取
微信公众号文章是个"硬骨头":
| 关卡 | 说明 |
|---|---|
| URL校验机制 | 直接访问会被拦截或触发验证码 |
| 动态渲染 | 内容是JS加载的,静态请求拿不到 |
| 反爬检测 | 频繁访问会触发风控 |
传统方案要么上Selenium(重),要么用第三方API(贵)。今天介绍一个轻量级方案。
核心技巧:?scene=1
这个技能的核心思路:模拟真实浏览器访问,绕过反爬检测,提取DOM节点。
关键点在于URL参数:?scene=1
这个参数告诉微信服务器,你是从"场景值1"进入的——场景值1是微信规定的"聊天窗口打开"场景。有了这个参数,微信会认为你是正常用户访问,不会触发验证码。
为什么是?而不是&?
?表示查询参数开始&表示追加参数- 如果原链接没有查询参数,用
?scene=1是正确的
选择器说明
| 选择器 | 说明 |
|---|---|
#js_content | 公众号文章正文容器(优先) |
.rich_media_content | 备用选择器 |
document.body | 最后兜底 |
安装使用
bash
# 方式一:通过find skills安装
openclaw skills find wechat article
# 方式二:直接安装
# 对OpenClaw说:安装 WeChat Article ReaderHermes及其他Agent都可以用。
注意事项
URL正确写法:
https://mp.weixin.qq.com/s/xxxxx?scene=1 ✅数据范围:这个方案只提取纯文本。图片、样式、格式都不在范围内。
故障排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 验证码 | URL缺少?scene=1 | 检查URL格式 |
| 内容为空 | 页面未加载完 | 重试browser wait |
| 文章已删除 | 作者删除文章 | 无解,换其他文章 |
方案对比
| 方案 | 优点 | 缺点 |
|---|---|---|
| Selenium | 功能完整 | 重,需要安装驱动 |
| 第三方API | 简单 | 收费,有延迟 |
| requests+正则 | 快 | 搞不定动态渲染 |
| 本方案 | 轻量、免费、支持动态渲染 | 只提取文本 |
技术要点
记住三个:
- URL必须带
?scene=1绕过验证码 - 用内置浏览器等页面加载完再提取DOM
- 只提取文本,图片格式不在范围内
技能安全检测为Benign。
