📖 小白友好 · 零基础入门

NotebookLM-Py
完整中文教程

手把手教你使用 Google NotebookLM 的 Python API
从安装到实战,每一步都有详细解释

📑 目录导航

🤔 什么是 NotebookLM-Py?

简单来说

NotebookLM 是 Google 推出的一款 AI 笔记工具,你可以上传文档(PDF、网页、视频等),然后让 AI 帮你:

  • 📝 总结内容 - 快速理解长文档的核心要点
  • 💬 问答对话 - 像聊天一样询问文档内容
  • 🎙️ 生成播客 - 自动把内容转成两人对话的音频节目
  • 📊 制作测验 - 生成学习测试题和闪卡
NotebookLM-Py 就是一个 Python 工具库,让你可以用代码或命令行来操作 NotebookLM,实现自动化批量处理。

为什么要用这个工具?

批量处理

一次性导入几十个网页或PDF,不用一个个手动添加

🤖

自动化

设置好脚本,自动生成播客、报告等内容

🔗

集成开发

把 NotebookLM 集成到你自己的应用程序中

这是一个非官方工具,使用了未公开的 Google API。Google 可能随时更改接口导致工具失效。建议用于个人学习和研究项目。

它能做什么?

功能类别 具体能力 使用场景
📁 笔记本管理 创建、列出、重命名、删除、分享 整理不同项目的资料
📎 添加来源 网页URL、YouTube视频、PDF文件、Google Drive、纯文本 导入各种格式的学习资料
💬 AI对话 提问、查看对话历史、自定义AI角色 向AI询问文档内容
🎙️ 内容生成 播客音频、视频、幻灯片、测验、闪卡、报告、思维导图 把资料转化成各种形式
📥 下载 音频、视频、幻灯片、报告等所有生成内容 保存到本地使用

📋 准备工作(必读)

开始之前,请确保你满足以下条件:

1
拥有 Google 账号

你需要一个 Google 账号来使用 NotebookLM。如果没有,先去 accounts.google.com 注册一个。

建议先在浏览器中访问 notebooklm.google.com,确认你的账号可以正常使用 NotebookLM。
2
安装 Python 3.10 或更高版本

这个工具需要 Python 3.10+。检查你是否已安装:

命令行 / 终端
python --version
# 应该显示类似:Python 3.10.x 或更高

如果没有安装 Python:

  • Windows:去 python.org 下载安装,记得勾选 "Add Python to PATH"
  • Mac:使用 Homebrew 安装:brew install python
  • Linux:使用包管理器:sudo apt install python3 python3-pip
3
了解如何打开命令行/终端
  • Windows:按 Win + R,输入 cmd 回车;或搜索 "PowerShell"
  • Mac:按 Cmd + 空格,搜索 "终端" 或 "Terminal"
  • Linux:按 Ctrl + Alt + T

⬇️ 安装步骤

安装非常简单,只需要两条命令:

1
安装 notebooklm-py 包

打开命令行,输入以下命令:

命令行 / 终端
pip install "notebooklm-py[browser]"
pip install Python 的包安装命令,用来安装第三方库
[browser] 额外安装浏览器支持,用于自动登录 Google 账号(首次必需)
如果提示 pip 找不到,试试用 pip3 install "notebooklm-py[browser]"
2
安装 Chromium 浏览器(用于登录)
命令行 / 终端
playwright install chromium

这会下载一个用于自动化的 Chromium 浏览器,大约 100-200MB。

3
验证安装成功
命令行 / 终端
notebooklm --help
# 如果显示帮助信息,说明安装成功!

🔐 登录认证

首次使用需要登录你的 Google 账号:

1
执行登录命令
命令行 / 终端
notebooklm login
2
在弹出的浏览器中登录

执行命令后,会自动打开一个浏览器窗口:

  1. 输入你的 Google 账号邮箱
  2. 输入密码
  3. 完成两步验证(如果有)
  4. 等待页面跳转到 NotebookLM
3
登录成功

当命令行显示类似 "Login successful" 的信息时,说明认证完成。

登录凭证会保存在本地,下次使用不需要重新登录。凭证保存在 ~/.notebooklm/ 目录中。

💻 命令行使用教程

学会以下命令,你就能完成大部分操作了!

📁 笔记本操作

创建新笔记本

创建笔记本
notebooklm create "我的AI学习笔记"

# 输出示例:
# Created notebook: 我的AI学习笔记
# ID: abc123xyz789
记住输出的 ID,后面的操作会用到它!

查看所有笔记本

列出笔记本
notebooklm list

# 会显示所有笔记本的名称和 ID

选择要操作的笔记本

选择笔记本
# 用笔记本的 ID
notebooklm use abc123xyz789

# 之后的命令都会在这个笔记本上操作

📎 添加来源

添加网页

添加网页来源
notebooklm source add "https://zh.wikipedia.org/wiki/人工智能"

# 工具会自动抓取网页内容并添加到笔记本

添加本地 PDF 文件

添加PDF文件
notebooklm source add "./我的论文.pdf"

# 支持 PDF、TXT、MD、DOCX 格式

添加 YouTube 视频

添加YouTube视频
notebooklm source add "https://www.youtube.com/watch?v=xxxxx"

# 会自动提取视频字幕作为内容

查看已添加的来源

列出来源
notebooklm source list

💬 与 AI 对话

提问

向AI提问
notebooklm ask "这些文档的主要观点是什么?"

# AI 会基于你添加的所有来源回答问题

更多问题示例

各种提问示例
notebooklm ask "用简单的语言解释一下机器学习"
notebooklm ask "列出文中提到的 5 个关键概念"
notebooklm ask "这篇论文和那个视频有什么共同点?"

🎙️ 生成内容

生成播客(音频概述)

生成播客
# 开始生成(需要等待几分钟)
notebooklm generate audio --wait

# 下载生成的音频文件
notebooklm download audio ./我的播客.mp3
--wait 参数表示等待生成完成。播客通常需要 2-5 分钟生成。

生成其他内容

生成各种内容
# 生成测验题
notebooklm generate quiz --wait

# 生成闪卡(学习卡片)
notebooklm generate flashcards --wait

# 生成学习指南
notebooklm generate study-guide --wait

# 生成思维导图
notebooklm generate mindmap --wait

📥 下载内容

下载生成的内容
# 下载音频
notebooklm download audio ./podcast.mp3

# 下载测验(Markdown格式)
notebooklm download quiz ./quiz.md

# 下载闪卡
notebooklm download flashcards ./flashcards.md

🐍 Python API 教程

如果你想在 Python 程序中使用,可以这样写:

基础示例

example.py
import asyncio
from notebooklm import NotebookLMClient

async def main():
    # 创建客户端(自动使用保存的登录信息)
    async with await NotebookLMClient.from_storage() as client:
        
        # 1. 查看所有笔记本
        notebooks = await client.notebooks.list()
        print("你的笔记本:")
        for nb in notebooks:
            print(f"  - {nb.title} (ID: {nb.id})")

        # 2. 创建新笔记本
        new_nb = await client.notebooks.create("Python测试笔记本")
        print(f"创建成功!ID: {new_nb.id}")

        # 3. 添加网页来源
        await client.sources.add_url(
            new_nb.id, 
            "https://zh.wikipedia.org/wiki/Python"
        )
        print("来源添加成功!")

        # 4. 向AI提问
        result = await client.chat.ask(new_nb.id, "Python是什么?")
        print(f"AI回答:{result.answer}")

# 运行程序
asyncio.run(main())
Python API 使用 async/await 异步语法。如果你不熟悉,可以先学习一下 Python 异步编程基础。

生成播客示例

generate_podcast.py
import asyncio
from notebooklm import NotebookLMClient

async def generate_podcast(notebook_id: str):
    async with await NotebookLMClient.from_storage() as client:
        
        # 开始生成播客
        print("开始生成播客...")
        status = await client.artifacts.generate_audio(notebook_id)
        
        # 等待生成完成
        print("生成中,请稍候...")
        await client.artifacts.wait_for_completion(
            notebook_id, 
            status.task_id
        )
        
        print("播客生成完成!")

# 使用方法:把 "你的笔记本ID" 替换成实际ID
asyncio.run(generate_podcast("你的笔记本ID"))

🎯 实战案例

以下是一些真实的使用场景:

📚 案例1:快速学习一个新话题

假设你想快速了解"量子计算":

学习新话题
# 1. 创建笔记本
notebooklm create "量子计算学习"
notebooklm use <笔记本ID>

# 2. 添加多个学习资源
notebooklm source add "https://zh.wikipedia.org/wiki/量子计算机"
notebooklm source add "https://www.youtube.com/watch?v=量子计算视频"

# 3. 让AI帮你总结
notebooklm ask "用小学生能听懂的话解释量子计算"

# 4. 生成播客,通勤路上听
notebooklm generate audio --wait
notebooklm download audio ./量子计算入门.mp3

# 5. 生成测验检验学习效果
notebooklm generate quiz --wait
notebooklm download quiz ./量子计算测验.md

📄 案例2:研究论文分析

分析一批学术论文:

论文分析
# 1. 创建笔记本
notebooklm create "大语言模型研究"
notebooklm use <笔记本ID>

# 2. 添加多篇论文
notebooklm source add "./论文1.pdf"
notebooklm source add "./论文2.pdf"
notebooklm source add "./论文3.pdf"

# 3. 进行分析
notebooklm ask "这三篇论文的共同研究方法是什么?"
notebooklm ask "它们的主要结论有何异同?"
notebooklm ask "基于这些论文,未来研究方向可能是什么?"

🎧 案例3:批量生成内容播客

用 Python 脚本批量处理:

batch_podcast.py
import asyncio
from notebooklm import NotebookLMClient

# 要处理的主题列表
topics = [
    ("人工智能", "https://zh.wikipedia.org/wiki/人工智能"),
    ("机器学习", "https://zh.wikipedia.org/wiki/机器学习"),
    ("深度学习", "https://zh.wikipedia.org/wiki/深度学习"),
]

async def batch_create_podcasts():
    async with await NotebookLMClient.from_storage() as client:
        for topic, url in topics:
            print(f"处理:{topic}")
            
            # 创建笔记本
            nb = await client.notebooks.create(f"{topic}播客")
            
            # 添加来源
            await client.sources.add_url(nb.id, url)
            
            # 生成播客
            status = await client.artifacts.generate_audio(nb.id)
            await client.artifacts.wait_for_completion(nb.id, status.task_id)
            
            print(f"✓ {topic} 完成!")

asyncio.run(batch_create_podcasts())

常见问题解答

这说明 Python 没有正确添加到系统路径。解决方法:

  1. 重新安装 Python,务必勾选 "Add Python to PATH"
  2. 或者使用完整路径:python -m pip install ...
  3. 安装后重启命令行窗口

可能是 Playwright 没有正确安装。尝试:

# 重新安装浏览器
playwright install chromium --with-deps

如果还是不行,检查是否有防火墙或杀毒软件阻止。

登录凭证可能已过期,重新登录即可:

notebooklm login

可能的原因:

  • 网页无法访问:确保 URL 正确且网页可以正常打开
  • 文件路径错误:使用相对路径(./文件.pdf)或绝对路径
  • 文件格式不支持:只支持 PDF、TXT、MD、DOCX
  • 文件太大:NotebookLM 对文件大小有限制

播客生成需要时间,可能需要 5-10 分钟。如果失败:

  • 确保笔记本中有足够的来源内容
  • 尝试减少来源数量
  • 检查 NotebookLM 网页版是否正常工作
  • 稍后重试(可能是 Google 服务器繁忙)

不会。

  • 登录过程在本地浏览器中进行,密码不会发送给第三方
  • 工具只保存 Cookie(登录凭证),不保存密码
  • Cookie 保存在你的电脑本地(~/.notebooklm/
  • 这是开源项目,代码可审计

Windows 用户请注意:

  • 使用 PowerShell 而不是 CMD
  • 路径使用反斜杠:.\文件.pdf
  • 如果权限不足,以管理员身份运行 PowerShell

完全支持!

  • 可以添加中文网页、中文PDF
  • 可以用中文提问
  • 生成的播客支持中文(取决于 NotebookLM 的语言设置)

📚 更多资源