How to Get YouTube Transcripts in Python
Two ways to pull YouTube transcripts in Python: the open-source youtube-transcript-api library, and a hosted REST API. Working code for both, and where the self-hosted approach breaks in production.
00:07:00 · SEP 26, 2026
Trả lời nhanh
Cài đặt thư viện mã nguồn mở
youtube-transcript-api là một gói Python được bảo trì tốt, lấy trực tiếp dữ liệu phụ đề của chính YouTube - không cần API key, không cần hạn ngạch YouTube Data API.
pip install youtube-transcript-apiLấy bản chép lời bằng ID video:
from youtube_transcript_api import YouTubeTranscriptApi
api = YouTubeTranscriptApi()
transcript = api.fetch("dQw4w9WgXcQ", languages=["en"])
for snippet in transcript:
print(snippet.text, snippet.start, snippet.duration)Nó gãy ở đâu khi triển khai
Nó hoạt động ổn định trên laptop. Khi triển khai lên máy chủ đám mây, nó có thể gặp các lỗi thực tế đã được ghi nhận đầy đủ - chặn IP, PoTokenRequired, và lỗi 'bản chép lời bị vô hiệu hóa' không phải lúc nào cũng đúng như vẻ ngoài của nó. Xem danh sách chẩn đoán đầy đủ để biết nguyên nhân và cách khắc phục chính xác.
Lấy API key (nếu bạn không muốn tự lưu trữ)
Lấy key miễn phí từ bảng điều khiển - 100 tín dụng miễn phí, không cần thẻ.
pip install requestsGọi API được lưu trữ từ Python
Không cần pool proxy, không cần bảo trì chặn IP - chỉ là một yêu cầu HTTP:
import requests
response = requests.get(
"https://getyoutubetranscript.com/api/v1/transcript",
params={"v": "dQw4w9WgXcQ"},
headers={"Authorization": "Bearer sk_live_..."},
)
result = response.json()
print(result["data"]["transcript"])
print(result["data"]["word_count"])Một yêu cầu thất bại trả về một đối tượng lỗi thay vì ném ra một ngoại lệ riêng của thư viện, vì vậy cùng một cách xử lý lỗi hoạt động trên mọi endpoint.
{ "success": false, "code": "...", "message": "..." }Lấy nhiều hơn một video
Lặp qua danh sách ID video hoạt động theo cùng cách - chỉ cần chú ý giới hạn số yêu cầu mỗi phút của gói bạn. Xem hướng dẫn giới hạn tốc độ để biết logic backoff và thử lại.
Cả hai cách tiếp cận đều trả về cùng thông tin - sự khác biệt là ai duy trì hạ tầng để nó tiếp tục hoạt động. Xem bảng giá đầy đủ (100 tín dụng miễn phí, không cần thẻ) hoặc đọc tài liệu API cho từng endpoint.
Câu hỏi thường gặp về chép lời YouTube bằng Python
Tôi nên dùng cách nào?
youtube-transcript-api cho một script cục bộ nhanh hoặc bản thử nghiệm. Một API được lưu trữ khi bạn triển khai lên production và không muốn tự duy trì các giải pháp proxy/chặn IP.
API được lưu trữ có cần thư viện youtube-transcript-api không?
Không - đó chỉ là một REST API thông thường. Gọi nó bằng bất kỳ HTTP client nào (requests, httpx, thậm chí curl); không cần phụ thuộc riêng của Python.
Tôi có thể lấy dấu thời gian cho từng dòng, không chỉ toàn bộ văn bản không?
Thư viện mã nguồn mở trả về trực tiếp thời điểm bắt đầu/thời lượng của từng đoạn. Endpoint chép lời của API được lưu trữ của chúng tôi hiện trả về toàn bộ bản chép lời dưới dạng văn bản phẳng cộng với số từ, không có dấu thời gian theo từng đoạn - nếu use case của bạn cần mức độ chi tiết đó cụ thể từ API, thư viện mã nguồn mở là lựa chọn phù hợp hơn hiện tại.
Điều gì xảy ra nếu video không có bản chép lời?
Cả hai cách đều trả về một lỗi cụ thể thay vì chuỗi rỗng - xem danh sách chẩn đoán để biết ý nghĩa của từng mã lỗi.
Liên quan
- YouTube API Quota Exceeded: Causes and Fixes
- YouTube Transcript API Rate Limit: What It Is and How to Handle 429s
- YouTube Transcript MCP Server: Setup Guide for Claude and Other AI Tools
- YouTube Transcripts in n8n: HTTP Request Workflow Guide
- Migrating from Supadata: A Field Guide
- Migrating from TranscriptAPI.com: A Field Guide
- Build an AI YouTube Video Summarizer with LangChain and Next.js
- GetYouTubeTranscript so với TranscriptAPI
- GetYouTubeTranscript so với youtubetotranscript.com
- GetYouTubeTranscript so với youtube-transcript.io
- GetYouTubeTranscript vs NoteGPT