🎓 LearningHub
notebooklm-py // מדריך מעשי
v0.3.4 Python 3.10+ ⚠ לא-רשמי
🏠 ראשי / קטגוריות / AI ואוטומציה / notebooklm-py
PYTHON TUTORIAL

notebooklm-py

ממשק Python לא-רשמי ל-Google NotebookLM. גישה פרוגרמטית מלאה — כולל יכולות שאין בממשק הרגיל — דרך Python, CLI ו-AI agents.

⭐ 7.2k GitHub Stars MIT License Python 3.10 – 3.14 API לא-רשמי
01

מה זה notebooklm-py?

Google NotebookLM הוא כלי AI מבית Google שמאפשר להעלות מקורות (מאמרים, PDF, YouTube) ולשאול שאלות, ליצור פודקאסטים, חידונים ועוד. ספריית notebooklm-py פותחת את הממשק הפרוגרמטי ומאפשרת אוטומציה מלאה.

⚠️
ספרייה לא-רשמית — משתמשת ב-API פנימי של Google שעלול להשתנות ללא הודעה. לא מומלצת לסביבת ייצור. מתאימה למחקר, אוטומציה אישית ולמידה.
🎙️
יצירת תוכן
פודקאסט, וידאו, שקופיות, חידונים, כרטיסיות
📥
הורדות
MP3, MP4, PDF, PNG, CSV, JSON, PPTX
🤖
אוטומציה
ייבוא מקורות בכמות, פייפליין מחקר
💬
צ'אט
שאלות ותשובות, שמירת שיחות, פרסונות
02

דרישות מקדימות

לפני שמתחילים — וודאו שיש לכם את הדברים הבאים:

1
Python 3.10 ומעלה
בדיקה: פתחו Terminal ורשמו python --version
bash
# בדיקת גרסת Python
python --version
# Python 3.10.x ← צפוי
2
pip — מנהל חבילות Python
מגיע כברירת מחדל עם Python. בדיקה: pip --version
3
חשבון Google עם גישה ל-NotebookLM
נדרש אימות דרך הדפדפן בהתקנה הראשונה. NotebookLM זמין בחינם.
4
כ-200MB פנויים בדיסק
הספרייה תוריד דפדפן Chromium לאימות (~100MB) בנוסף לחבילות.
03

התקנה

שלושה פקודות — וסיימנו:

bash
# שלב 1: התקנה בסיסית
pip install notebooklm-py

# שלב 2: הוספת תמיכה בהתחברות דרך דפדפן (חובה)
pip install "notebooklm-py[browser]"

# שלב 3: הורדת Chromium לאימות
playwright install chromium
💡
אם אתם עובדים עם virtual environment (venv), הפעילו אותו לפני ההתקנה.

גרסת פיתוח — הכי עדכנית, פחות יציבה:

bash
pip install git+https://github.com/teng-lin/notebooklm-py@main
⚠️
גרסת ה-main עלולה להכיל שינויים לא יציבים. לקורס — עדיפו pip.
04

אימות — כניסה לחשבון Google

לאחר ההתקנה, יש להתחבר פעם אחת עם חשבון Google:

bash
# פותח חלון דפדפן לאימות Google
notebooklm login

# אם הארגון שלכם דורש Microsoft Edge:
notebooklm login --browser msedge

לאחר הכניסה — בדיקה שהכל תקין:

bash
notebooklm auth check --test
# ✓ Authentication OK ← צפוי
האימות נשמר אוטומטית. לא צריך להתחבר בכל פעם — רק פעם ראשונה.
05

CLI — שימוש משורת הפקודה

הדרך הפשוטה ביותר. כל הפקודות מתחילות ב-notebooklm:

bash — זרימת עבודה בסיסית
# 1. יצירת מחברת חדשה
notebooklm create "המחברת שלי"

# 2. בחירת מחברת לעבודה (העתיקו את ה-ID שקיבלתם)
notebooklm use <notebook_id>

# 3. הוספת מקורות
notebooklm source add "https://example.com/article"
notebooklm source add ./document.pdf

# 4. שאלה על המקורות
notebooklm ask "מה הנושאים המרכזיים?"

# 5. יצירת פודקאסט אודיו
notebooklm generate audio "הפוך לסיכום מרתק" --wait

# 6. הורדת האודיו
notebooklm download audio ./podcast.mp3

# 7. יצירת חידון
notebooklm generate quiz --difficulty hard
notebooklm download quiz --format markdown ./quiz.md

# 8. יצירת כרטיסיות לימוד
notebooklm generate flashcards --quantity more
notebooklm download flashcards --format json ./cards.json
פקודה תיאור
notebooklm listרשימת כל המחברות שלך
notebooklm create "שם"יצירת מחברת חדשה
notebooklm use <id>בחירת מחברת פעילה
notebooklm source add <url|file>הוספת מקור (URL / קובץ)
notebooklm ask "שאלה"שאלה על המקורות
notebooklm generate audioיצירת פודקאסט MP3
notebooklm generate quizיצירת חידון
notebooklm generate slide-deckיצירת מצגת (PDF/PPTX)
notebooklm generate mind-mapיצירת מפת מחשבה (JSON)
notebooklm download <type> <file>הורדת תוצר לקובץ
notebooklm metadata --jsonייצוא מטא-דאטה של המחברת
06

Python API

לאינטגרציה עמוקה יותר — ישירות מקוד Python. הספרייה async-first:

python — דוגמה בסיסית
import asyncio
from notebooklm import NotebookLMClient

async def main():
    # התחברות (משתמש בפרטים השמורים מ-login)
    async with await NotebookLMClient.from_storage() as client:

        # יצירת מחברת חדשה
        nb = await client.notebooks.create("המחברת שלי")
        print(f"נוצרה מחברת: {nb.id}")

        # הוספת מקור — wait=True מחכה עד שהמקור נסרק
        await client.sources.add_url(
            nb.id,
            "https://example.com/article",
            wait=True
        )

        # שאלה על המחברת
        result = await client.chat.ask(nb.id, "סכם את התוכן")
        print(result.answer)

        # יצירת פודקאסט
        status = await client.artifacts.generate_audio(
            nb.id,
            instructions="הפוך לסיכום מרתק"
        )
        await client.artifacts.wait_for_completion(nb.id, status.task_id)
        await client.artifacts.download_audio(nb.id, "podcast.mp3")

        # יצירת חידון ושמירה כ-JSON
        status = await client.artifacts.generate_quiz(nb.id)
        await client.artifacts.wait_for_completion(nb.id, status.task_id)
        await client.artifacts.download_quiz(
            nb.id, "quiz.json", output_format="json"
        )

asyncio.run(main())
💡
ה-API הוא async (asyncio). אם אתם עובדים ב-Jupyter Notebook, השתמשו ב-await main() ישירות.
07

יכולות מלאות

מה אפשר לייצר ולהוריד:

סוג תוכן אפשרויות פורמט הורדה
Audio Overview 4 פורמטים, 3 אורכים, 50+ שפות MP3 / MP4
Video Overview 3 פורמטים, 9 סגנונות ויזואליים MP4
Slide Deck מפורט / מצגת, אורך מתכוונן PDF / PPTX
Infographic 3 כיוונים, 3 רמות פירוט PNG
Quiz כמות ורמת קושי מוגדרות JSON / Markdown / HTML
Flashcards כמות ורמת קושי מוגדרות JSON / Markdown / HTML
Report Briefing / Study Guide / Blog / Custom Markdown
Data Table מבנה חופשי בשפה טבעית CSV
Mind Map היררכיה אינטראקטיבית JSON

יכולות שאין בממשק הרגיל של NotebookLM:

📦
Batch downloads
הורדת כל הקבצים מסוג מסוים בפעולה אחת
📊
ייצוא חידונים וכרטיסיות
JSON מובנה, Markdown, HTML — הממשק הרגיל רק מציג תצוגה אינטראקטיבית
🗺️
מפת מחשבה כ-JSON
ייצוא נתוני ה-mind map לכלי ויזואליזציה חיצוניים
📎
PPTX ניתן לעריכה
הממשק מציע רק PDF, הספרייה מאפשרת הורדת PowerPoint
🔗
ניהול שיתוף פרוגרמטי
הגדרת הרשאות משתמשים (viewer/editor) ללא ממשק
08

פתרון בעיות נפוצות

!
שגיאה: TypeError: onExit is not a function
שגיאה ידועה ב-Linux בעת התקנת Playwright. פתרון:
bash
python -m playwright install chromium
!
שגיאת Authentication לאחר כמה ימים
ה-cookies פגו. יש להתחבר מחדש:
bash
notebooklm login
notebooklm auth check --test
!
הפקודה notebooklm לא מזוהה
ייתכן ש-pip התקין לנתיב שאינו ב-PATH. נסו:
bash
python -m notebooklm --version
# או
pip install --user notebooklm-py