微信公众号文章搜索与读取 (v1.0)
搜索和读取微信公众号文章的完整工具,支持 simple(快速)和 playwright(稳定)双模式 + auto 自动切换。
快速开始
搜索文章
python3 scripts/search.py "关键词" [数量]
示例:
CODEBLOCK1
读取文章
python3 scripts/read.py "微信文章URL" [--mode MODE] [--screenshot PATH]
模式选择:
- -
--mode=simple - 快速模式(requests + BeautifulSoup) - INLINECODE1 - 稳定模式(真实浏览器)
- INLINECODE2 - 自动切换(默认,推荐)
Python API 使用(推荐)
CODEBLOCK3
返回数据结构说明
INLINECODE3 返回一个字典,包含以下字段:
| 字段 | 类型 | 说明 |
|---|
| INLINECODE4 | str | 文章标题 |
| INLINECODE5 |
str | 公众号名称 |
|
publish_time | str | 发布时间(部分文章可能为空) |
|
paragraphs | list[str] | 正文段落列表 |
|
mode | str | 实际使用的读取模式(
simple 或
playwright) |
INLINECODE11 返回列表,每项包含:
| 字段 | 类型 | 说明 |
|---|
| INLINECODE12 | str | 文章标题 |
| INLINECODE13 |
str | 文章链接(有时效性,建议尽快读取) |
|
author | str | 公众号名称 |
|
digest | str | 文章摘要 |
模式对比
| 模式 | 速度 | 资源 | 稳定性 | 适用场景 |
|---|
| simple | 快 (0.5-1s) | 轻量 | 一般 | 简单页面,频繁调用 |
| playwright |
慢 (3-5s) | 较重 | 很高 | 复杂页面,稳定优先 |
| auto | 自适应 | 自适应 | 最佳 | 默认推荐 |
安装依赖
Simple 模式(默认,轻量快速)
pip install beautifulsoup4 requests miku-ai
这些包通常已随 agent-reach 安装。
Playwright 模式(可选,推荐稳定读取)
pip install playwright
playwright install chromium --with-deps
--with-deps 会自动安装 Linux 系统依赖(如 libnss3、libgbm 等),首次运行需几分钟。
注意事项
- - 搜索结果 URL 有时效性,建议尽快读取
- 避免高频请求防止触发反爬
- auto 模式优先尝试 simple,失败后自动切换 playwright;若两者均失败则抛出异常
- Playwright 首次运行需安装 Chromium(约几分钟)
欢迎反馈 & PR!GitHub: https://github.com/johan-oilman/wechat-articles
微信公众号文章搜索与读取 (v1.0)
搜索和读取微信公众号文章的完整工具,支持 simple(快速)和 playwright(稳定)双模式 + auto 自动切换。
快速开始
搜索文章
bash
python3 scripts/search.py 关键词 [数量]
示例:
bash
python3 scripts/search.py 绿电直连政策 10
读取文章
bash
python3 scripts/read.py 微信文章URL [--mode MODE] [--screenshot PATH]
模式选择:
- - --mode=simple - 快速模式(requests + BeautifulSoup)
- --mode=playwright - 稳定模式(真实浏览器)
- --mode=auto - 自动切换(默认,推荐)
Python API 使用(推荐)
python
import sys
sys.path.append(scripts)
from wechatarticles import searcharticles, read_article
搜索文章
articles = search
articles(绿电直连政策, topnum=5)
读取文章(建议加错误处理)
try:
content = read_article(articles[0][url], mode=auto)
print(f标题: {content[title]})
print(f公众号: {content[author]})
print(f发布时间: {content[publish_time]}) # 若有
print(f读取模式: {content[mode]})
for p in content[paragraphs][:10]:
print(p)
except Exception as e:
print(f读取失败: {e})
# auto 模式失败时会抛出异常,建议捕获后降级处理或提示用户
返回数据结构说明
read_article() 返回一个字典,包含以下字段:
str | 公众号名称 |
| publish_time | str | 发布时间(部分文章可能为空) |
| paragraphs | list[str] | 正文段落列表 |
| mode | str | 实际使用的读取模式(simple 或 playwright) |
search_articles() 返回列表,每项包含:
str | 文章链接(有时效性,建议尽快读取) |
| author | str | 公众号名称 |
| digest | str | 文章摘要 |
模式对比
| 模式 | 速度 | 资源 | 稳定性 | 适用场景 |
|---|
| simple | 快 (0.5-1s) | 轻量 | 一般 | 简单页面,频繁调用 |
| playwright |
慢 (3-5s) | 较重 | 很高 | 复杂页面,稳定优先 |
| auto | 自适应 | 自适应 | 最佳 | 默认推荐 |
安装依赖
Simple 模式(默认,轻量快速)
bash
pip install beautifulsoup4 requests miku-ai
这些包通常已随 agent-reach 安装。
Playwright 模式(可选,推荐稳定读取)
bash
pip install playwright
playwright install chromium --with-deps
--with-deps 会自动安装 Linux 系统依赖(如 libnss3、libgbm 等),首次运行需几分钟。
注意事项
- - 搜索结果 URL 有时效性,建议尽快读取
- 避免高频请求防止触发反爬
- auto 模式优先尝试 simple,失败后自动切换 playwright;若两者均失败则抛出异常
- Playwright 首次运行需安装 Chromium(约几分钟)
欢迎反馈 & PR!GitHub: https://github.com/johan-oilman/wechat-articles