הבעיה שזה פותר
תמלול ידני מגביל מחקרים לכמה עשרות סרטונים, וסקריפטים מאולתרים לסקרייפינג נשברים וקשה לשחזר אותם. חוקרים צריכים דרך אמינה לאסוף תמלולים מלאים עבור מדגם מוגדר של ערוצים ותאריכים, לשמור אותם עם מטא-דאטה, ולשתף את השיטה כדי שאחרים יוכלו לשחזר אותה.
מה לכלול בגרסה הראשונה
- מדגם מתועד של ערוצים וטווח תאריכים
- תמלולים מלאים שנשמרים כ-JSON גולמי עם מטא-דאטה
- תיעוד מקור הכתוביות לכל סרטון (ידניות, אוטומטיות או AI)
- ייצוא ל-CSV או לטקסט עבור R, Python, NVivo או ATLAS.ti
- סקריפט איסוף שאפשר להריץ מחדש לצורך שחזור
איך לבנות את זה, שלב אחר שלב
- 01
הגדירו את המדגם
רשמו את הערוצים ואת חלון הזמן שתחקרו, ותעדו את קריטריוני ההכללה לפרק השיטה.
- 02
המירו לרשימות סרטונים
קראו ל-/channels/resolve לכל ערוץ וסננו את התוצאות לפי תאריך פרסום.
- 03
אספו תמלולים
שלחו מזהי סרטונים ל-/batch ושמרו את תגובת ה-JSON המלאה, כולל השפה ומקור הכתוביות של כל תמלול.
- 04
הכינו לניתוח
ייצאו את התמלולים כטקסט או כ-CSV עם מזהה סרטון, ערוץ, תאריך וחותמות זמן, ואז נתחו אותם במודלים של נושאים, בספירת מילות מפתח או בקידוד איכותני.
קוד התחלתי
הרעיון הזה מבוסס על התבנית "מתכון 3: טעינת פלייליסט שלם למאגר ידע". החליפו בערוצים, בפרומפטים ובאחסון שלכם.
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
"limit": 100}).json()
ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
"video_ids": ids,
"format": {"timestamp": True, "paragraphs": True},
}).json()
# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
if r["status"] == "completed":
for p in r["data"]["transcript"].get("paragraphs") or []:
store(video_id=r["video_id"], start=p["start"], text=p["text"]) # your vector DBלמה כדאי לבנות את זה
עבור חוקרים, התמורה היא מערך נתונים משוחזר בחלק קטן מהעלות והזמן של תמלול ידני. צוותים בונים גם מערכי נתונים בתשלום או שירותי אנליטיקה לחברות ניטור מדיה ולמכוני מחקר.
טעויות שכדאי להימנע מהן
- ערבוב כתוביות אוטומטיות ואנושיות בלי לציין זאת: תעדו את מקור הכתוביות כי רמת הדיוק שונה.
- אי-שמירה של התגובות הגולמיות: שמרו את ה-JSON המקורי כדי שאפשר יהיה להריץ את הניתוח מחדש.
- התעלמות מוועדת אתיקה ומתנאי הפלטפורמה: בדקו את דרישות המוסד שלכם ואת תנאי השימוש של YouTube לפני פרסום מערכי נתונים.
שאלות על הרעיון הזה
אפשר להשתמש בתמלולי YouTube למחקר אקדמי?
חוקרים רבים עושים זאת. בדקו את דרישות האתיקה של המוסד שלכם, את תנאי השימוש של YouTube ואת דיני זכויות היוצרים, במיוחד לפני שיתוף מערך נתונים בפומבי.
כמה מדויקות הכתוביות האוטומטיות של YouTube?
זה משתנה לפי איכות האודיו, המבטאים והנושא. ה-API מדווח אם כל תמלול הגיע מכתוביות ידניות, מכתוביות אוטומטיות או מזיהוי דיבור מבוסס AI, כדי שתוכלו להביא את זה בחשבון.
כמה סרטונים אפשר לאסוף בבת אחת?
בקשת batch אחת מקבלת עד 3,000 מזהי סרטונים במסלול Business. מחקרים גדולים יותר יכולים להריץ כמה מנות.