使用YouTube API 获取视频字幕

一、注册Google Cloud Console

打开Google Console:https://console.cloud.google.com/

1、创建一个新项目

在导航栏下拉,创建一个新项目,1个用户免费可以创建12个项目

2、开通Credentials

在菜单栏点击进入Credentials,创建一个新的Credentials,选择API KEY,创建成功后保存API KEY,所有的API都需要这个KEY

3、开通YouTube Data API V3

进入API Libraries,选择YouTube Data API V3,点击开启,现在API就可以使用YouTube的服务啦

二、获取YouTube视频

1、获取YouTube视频对应作者的主页ID

# 根据视频ID获取频道ID
async def youtubeVideoApi(video_ids):
    url = f"https://youtube.googleapis.com/youtube/v3/videos?part=snippet%2CcontentDetails%2Cstatistics&id={video_ids}&key={API_KEY}"
    response = requests.get(url)
    videos = response.json()
    channel_ids = []

    for video in videos.get('items', []):
        try:
            channelId = video['snippet']['channelId']
            channel_ids.append(channelId)
        except Exception:
            continue

    return channel_ids

2、获取作者主页下的YouTube视频

# 根据频道ID获取频道下的视频
async def youtubeSearchApi(channel_id):
    url = f"https://youtube.googleapis.com/youtube/v3/search?part=snippet&channelId={channel_id}&order=date&maxResults=1&type=video&key={API_KEY}"
    response = requests.get(url)
    videos = response.json()
    apivideos = []

    for video in videos.get('items', []):
        try:
            id = video.get('id', {})
            video_id = id.get('videoId', '')
            video_link = f"https://www.youtube.com/watch?v={video_id}"
            apivideos.append(video_link)
        except Exception:
            continue

    return apivideos

3、根据YouTube视频ID获取视频字幕

需要安装langchain:pip3 install langchain

# 根据视频ID获取视频字幕
async def getYoutubeSubtitle(video_url):
    loader = YoutubeLoader.from_youtube_url(
        video_url,
        add_video_info=True,
        language=["zh-Hans"],
        translation="zh-Hans"
    )
    response = loader.load()
    print(response)
    return response

三、注意

每个项目每天免费额度是1万,不同的API每次消耗额度不同(多个项目循环请求账号会被封禁),详细API文档参见:https://developers.google.com/youtube/v3?hl=zh-cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值