如何通过YouTube video id列表批量获取对应视频标题?
批量获取YouTube视频ID对应标题的操作方法
方法1:Python脚本批量处理(适合数据量大于50条的场景)
这是效率最高的方案,全程本地运行无需上传数据:
- 第一步:申请YouTube Data API v3密钥,在Google Cloud控制台中启用YouTube Data API v3后创建凭证即可获取,免费配额足够日常使用
- 第二步:安装所需依赖库,运行命令:
pip install pandas google-api-python-client - 第三步:运行以下Python脚本,替换脚本中的
YOUR_API_KEY和input_csv_path为你自己的密钥和导出的csv文件路径:
import pandas as pd from googleapiclient.discovery import build # 替换为你自己的参数 API_KEY = "YOUR_API_KEY" INPUT_CSV = "input_csv_path" # 你的Google Takeout导出的csv文件路径 OUTPUT_CSV = "playlist_with_titles.csv" youtube = build('youtube', 'v3', developerKey=API_KEY) df = pd.read_csv(INPUT_CSV) video_ids = df['video id'].tolist() titles = [] # 分批查询,API单次最多支持50个ID for i in range(0, len(video_ids), 50): batch_ids = video_ids[i:i+50] response = youtube.videos().list( part='snippet', id=','.join(batch_ids) ).execute() id_to_title = {} for item in response['items']: video_id = item['id'] title = item['snippet']['title'] id_to_title[video_id] = title # 处理不可访问的视频(删除、私享等) for vid in batch_ids: titles.append(id_to_title.get(vid, "*不可访问的视频*")) # 把标题列追加到原数据表 df['video title'] = titles df.to_csv(OUTPUT_CSV, index=False, encoding='utf-8-sig')
- 运行完成后你会得到新的csv文件,已经包含
video title列对应每个视频的名称。
方法2:手动处理(适合数据量小于50条的场景)
如果不想申请API,可以手动构造视频链接查看:
- 每个YouTube视频的链接格式为
https://www.youtube.com/watch?v={video id},替换括号内容为你csv里的video id即可直接访问查看标题 - 也可以用本地支持批量提取网页标题的工具,批量导入构造好的链接一次性提取标题。
注意事项
- YouTube Data API免费配额每日为10000单位,每次查询50个视频仅消耗1单位配额,完全满足普通用户使用
- 被删除、设为私享、地区限制的视频无法通过API获取标题,会统一标记为不可访问的视频
内容的提问来源于stack exchange,提问作者Utkarsh Kumar
相关产品推荐
相关产品推荐

