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%" />,以避免图片过大。
- 对于正文,可借助 HTML 到 Markdown 的转换库(如
- 将提取与格式化后的内容整合生成最终 Markdown 笔记文本。
步骤 2:生成 Markdown 笔记
基于提取的 JSON 数据,用 Python 脚本或直接在 Agent 内生成符合以下模板的 Markdown 字符串,注意更新当天日期:
## <mark>📅 YYYY-MM-DD | [文章标题]</mark>
**🔗 文章链接**:[[URL]]
**🏷️ 标签**:#Agent #公众号文章 #提取的相关标签
### 📌 核心摘要 / 总结
> 简要总结这篇文章的核心观点、你学到了什么,或者对你的实际项目有什么启发。
- [提炼要点 1]
- [提炼要点 2]
---
### 📖 内容摘录与批注
*(⚠️ **极其重要**:不需要死板地提取无格式的纯文本,**允许对正文进行适度调整与重新排版**,使其符合优雅的 Markdown 阅读体验(例如明确的各级小节标题分隔、粗体强调等)。但是,**必须保留原文的【所有信息量】和【所有图片】**,追求全面,绝不能阉割核心细节!)*
#### 1. [原文对应的小节标题 A]
> [经过良好排版的原文段落,可提炼出层次...]
>
> [保留全部信息量的段落...]
[按照原文顺序插入该部分的图片 ``]
**🧑💻 我的注解/思考**:
[针对性地留白或生成启发性思考]
#### 2. [原文对应的小节标题 B]
> [完整保留下一小节的全部原文段落...]
...
---
### 🔄 关联与延伸
- [结合当前项目如 AcademicAgent 的一些启发]
---
步骤 3:追加写入目标文档
- 将生成的 Markdown 文本追加写入到
e:\Materials\AntiG\日常学习笔记\公众号学习笔记.md文档的末尾。 - (建议通过 Python 的
with open(..., 'a') as f:实现追加,以避免编码或截断问题)。
步骤 4:清理与汇报
- 删除生成的临时文件(如
wechat_temp.json以及格式化脚本)。 - 向用户汇报执行完成,并展示核心摘要的几句话,引导用户去
.md文档中查看和补充个人思考。
⚠️ 注意事项 (Constraints)
- 务必保证图片使用的是
data-src抓取,否则会发生图片无法显示的问题。 - 始终以追加 (Append) 模式写入目标文件,不要覆盖用户原有的笔记内容。
- 注意在抓取的文本中过滤空行,保持排版紧凑。