بنقرة واحدة
annas-to-notebooklm
自动从 Anna's Archive 下载书籍并上传到 Google NotebookLM。支持 PDF/EPUB 格式,自动转换,一键创建知识库。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
自动从 Anna's Archive 下载书籍并上传到 Google NotebookLM。支持 PDF/EPUB 格式,自动转换,一键创建知识库。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | annas-to-notebooklm |
| description | 自动从 Anna's Archive 下载书籍并上传到 Google NotebookLM。支持 PDF/EPUB 格式,自动转换,一键创建知识库。 |
| author | Adapted from zstmfhy/zlibrary-to-notebooklm |
| version | 1.0.0 |
让 Claude 帮你自动下载书籍并上传到 NotebookLM,实现"零幻觉"的 AI 对话式阅读。
span.bg-gray-200 标签中)当用户提到以下需求时,使用此 Skill:
annas-archive.pm、annas.archive 等域名)当用户提供 Anna's Archive 链接时,按以下流程执行:
从用户提供的 URL 中提取:
https://annas-archive.pm/slow_download/... 格式)检查必需的依赖和配置:
# 检查 Playwright
python3 -c "import playwright" 2>/dev/null || pip install playwright
# 检查 NotebookLM CLI
which notebooklm || echo "请安装 NotebookLM CLI"
# 检查登录状态(可选)
ls ~/.annas/storage_state.json 2>/dev/null || echo "建议先登录"
使用脚本访问 Anna's Archive 并下载:
cd /path/to/annas-to-notebooklm
python3 scripts/upload.py "<Anna's Archive URL>"
下载逻辑:
span.bg-gray-200 标签中查找包含下载 URL 的文本~/Downloads 目录关键代码:
# 查找 span.bg-gray-200 元素
spans = await page.query_selector_all('span.bg-gray-200')
for span in spans:
span_text = await span.inner_text()
# span 的文本内容就是下载链接
if span_text.strip().startswith('http'):
download_url = span_text.strip()
# 直接导航下载
await page.goto(download_url)
脚本会自动处理:
convert_epub.py)脚本会自动:
# 创建笔记本
notebooklm create "书名" --json
# 上传文件
notebooklm source add "文件路径" --json
向用户返回:
✅ 下载成功!
📚 书名: [书名]
🆔 笔记本 ID: [notebook-id]
📄 来源 ID: [source-id]
现在你可以问我:
- "这本书的核心观点是什么?"
- "总结第3章的内容"
- "作者有哪些独特的见解?"
如果遇到错误:
未找到登录会话
python3 scripts/login.py未找到下载链接
下载失败
NotebookLM 上传失败
用户:
帮我把这本书上传到 NotebookLM:
https://annas-archive.pm/slow_download/3cd1081b5bc0a229bb794f0d96f04e22/0/5
Claude:
cd /path/to/annas-to-notebooklm
python3 scripts/upload.py "https://annas-archive.pm/slow_download/..."
返回:
✅ 下载成功!
📚 书名: 消费者行为学 英文版·原书第8版
🆔 笔记本 ID: 43231995-16aa-4bbe-87e6-043012def86c
现在你可以问我:
- "这本书的核心观点是什么?"
- "总结第3章的内容"
- "消费者行为学有哪些主要理论?"
用户:
帮我下载这3本书:
[链接1] [链接2] [链接3]
Claude:
cd /path/to/annas-to-notebooklm
for url in "链接1" "链接2" "链接3"; do
echo "正在处理: $url"
python3 scripts/upload.py "$url"
echo "完成!"
done
用户:
帮我下载《认知觉醒》这本书
Claude:
请问有 Anna's Archive 的链接吗?
请提供 Anna's Archive 书籍页面链接(格式类似:
https://annas-archive.pm/slow_download/...),我可以帮你自动下载并上传到 NotebookLM。
用户:
这个 PDF 能上传到 NotebookLM 吗?[本地文件路径]
Claude:
本 Skill 主要用于 Anna's Archive 链接的自动下载和上传。
对于本地文件,你可以直接使用 NotebookLM CLI:
```bash
notebooklm create "书名"
notebooklm source add "/path/to/your/file.pdf"
## ⚠️ 重要限制
**仅限合法资源!**
- ✅ 用户拥有合法访问权限的资源
- ✅ 公共领域或开源许可的文档
- ✅ 个人拥有版权或已获授权的内容
- ❌ 不要鼓励或协助版权侵权行为
**如果 URL 明显涉及受版权保护的商业作品,提醒用户:**
> "请确保你有合法访问权限。本项目仅用于学习研究目的,请支持正版阅读。"
## 🛠️ 依赖工具
### 必需工具
1. **Python 3.8+**
2. **Playwright** - 浏览器自动化
```bash
pip install playwright
playwright install chromium
ebooklib - EPUB 处理
pip install ebooklib beautifulsoup4 lxml
NotebookLM CLI - 上传工具
~/.annas/storage_state.json - 保存的登录会话(可选)~/.annas/browser_profile/ - 浏览器数据(可选)如果页面需要登录:
cd /path/to/annas-to-notebooklm
python3 scripts/login.py
注意: 某些 Anna's Archive 页面不需要登录即可下载。
Anna's Archive 的下载链接特征:
span.bg-gray-200 标签内<a> 标签)93.123.118.12:6060 等下载服务器http:// 或 https:// 开头实现:
spans = await page.query_selector_all('span.bg-gray-200')
for span in spans:
span_text = await span.inner_text()
if span_text.strip().startswith('http'):
download_url = span_text.strip()
# 直接使用此 URL
~/.annas/storage_state.jsonQ: 提示"未找到登录会话"
A:
python3 scripts/login.pyQ: 未找到下载链接
A:
annas-archive.pm/slow_download/...)Q: 下载失败,超时
A:
Q: NotebookLM 上传失败
A:
如果你想了解更多:
Skill Version: 1.0.0 Last Updated: 2025-01-17 Author: Adapted from zstmfhy/zlibrary-to-notebooklm License: MIT