公众号文章一键抓取的实现思路
抓取公众号文章的核心只有三步:拿到 HTML、定位内容节点、转成 Markdown。
1. 拿到 HTML
直接请求文章链接即可,但需要伪装成微信内置浏览器,否则可能拿到验证页:
request.Headers.UserAgent.ParseAdd(
"Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) ... MicroMessenger/8.0.42");
2. 定位内容节点
公众号正文统一放在 #js_content 里,标题在 #activity-name:
| 内容 | 选择器 |
|---|---|
| 标题 | //h1[@id='activity-name'] |
| 正文 | //div[@id='js_content'] |
| 作者 | //meta[@name='author'] |
3. 转成 Markdown
图片要读 data-src(懒加载),再按标签逐个转换即可。