# Wechat Article Reader

> Skill: Wechat Article Reader (微信公众号文章阅读与笔记记录)

- Skill: `jennyee1/wechat-article-reader` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jennyee1/wechat-article-reader`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jennyee1/wechat-article-reader/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jennyee1 (https://skillmd.com/u/jennyee1)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jennyee1/wechat-article-reader

---

# Skill: Wechat Article Reader (微信公众号文章阅读与笔记记录)

## 🎯 目标 (Objective)
当用户提供一个微信公众号文章链接时，能够自动绕过防爬策略，提取文章的标题、正文及由于懒加载被隐藏的图片（`data-src`），并自动对其进行总结、格式化，最后无缝追加到用户的公众号学习笔记中。

## 📥 输入 (Input)
- 一个微信公众号文章的 URL（通常以 `https://mp.weixin.qq.com/s/...` 开头）。
- 目标写入文件：`e:\Materials\AntiG\日常学习笔记\公众号学习笔记.md`

## ⚙️ 执行流程 (Workflow)

### 步骤 1：提取网页内容 (Python 脚本爬取)
由于直接使用 `read_url_content` 会遇到微信的验证拦截，且图片使用了懒加载（存储在 `data-src` 中），**必须通过执行 Python 脚本** 来提取数据。
- 编写一个使用 `urllib.request` 和 `BeautifulSoup` 的 Python 脚本。
- 伪造 `User-Agent`，解析网页内容。
- 提取 `h1.rich_media_title` 作为标题。
- 解析 `div#js_content` 下的所有内容，**并将其转换为结构化的 Markdown 格式（保留各级标题、加粗、列表等格式）**。
  - 对于正文，可借助 HTML 到 Markdown 的转换库（如 `markdownify`）或直接利用 LLM 的总结与排版能力进行格式还原。允许适度调整排版以提升可读性，但**必须保留原文的所有信息量**。
  - 对于图片，提取其 `data-src` 或 `src` 属性，并保留其在正文中的原有次序转换为 `<img src="url" width="50%" />`，以避免图片过大。
- 将提取与格式化后的内容整合生成最终 Markdown 笔记文本。

### 步骤 2：生成 Markdown 笔记
基于提取的 JSON 数据，用 Python 脚本或直接在 Agent 内生成符合以下模板的 Markdown 字符串，注意更新当天日期：

```markdown
## <mark>📅 YYYY-MM-DD | [文章标题]</mark>

**🔗 文章链接**：[[URL]]  
**🏷️ 标签**：#Agent #公众号文章 #提取的相关标签  

### 📌 核心摘要 / 总结
> 简要总结这篇文章的核心观点、你学到了什么，或者对你的实际项目有什么启发。
- [提炼要点 1]
- [提炼要点 2]

---

### 📖 内容摘录与批注
*(⚠️ **极其重要**：不需要死板地提取无格式的纯文本，**允许对正文进行适度调整与重新排版**，使其符合优雅的 Markdown 阅读体验（例如明确的各级小节标题分隔、粗体强调等）。但是，**必须保留原文的【所有信息量】和【所有图片】**，追求全面，绝不能阉割核心细节！)*

#### 1. [原文对应的小节标题 A]
> [经过良好排版的原文段落，可提炼出层次...]
> 
> [保留全部信息量的段落...]

[按照原文顺序插入该部分的图片 `![image](url)`]

**🧑‍💻 我的注解/思考**：
[针对性地留白或生成启发性思考]

#### 2. [原文对应的小节标题 B]
> [完整保留下一小节的全部原文段落...]
...

---

### 🔄 关联与延伸
- [结合当前项目如 AcademicAgent 的一些启发]
---
```

### 步骤 3：追加写入目标文档
- 将生成的 Markdown 文本追加写入到 `e:\Materials\AntiG\日常学习笔记\公众号学习笔记.md` 文档的末尾。
- （建议通过 Python 的 `with open(..., 'a') as f:` 实现追加，以避免编码或截断问题）。

### 步骤 4：清理与汇报
- 删除生成的临时文件（如 `wechat_temp.json` 以及格式化脚本）。
- 向用户汇报执行完成，并展示核心摘要的几句话，引导用户去 `.md` 文档中查看和补充个人思考。

## ⚠️ 注意事项 (Constraints)
- 务必保证图片使用的是 `data-src` 抓取，否则会发生图片无法显示的问题。
- 始终以**追加 (Append)** 模式写入目标文件，不要覆盖用户原有的笔记内容。
- 注意在抓取的文本中过滤空行，保持排版紧凑。

