首页 > 解决方案 > 有没有办法通过 youtube API 上的 viewCount 来搜索视频?

问题描述

我正在尝试做一个小项目,只是为了更好地学习如何使用 API;我想制作一些 Python 脚本,向用户返回没有观看次数的 YouTube 视频。一开始我打算按天搜索,一个一个测试,直到找到一个没有观看次数的视频,但我不知道有查询配额,所以我想知道是否而不是挑选一堆视频和测试它们,有没有办法只选择不观看的视频?

这是我的代码:

from googleapiclient.discovery import build
import datetime
rawdate = str(datetime.date.today()).replace('-','')
year = rawdate[0:4]
month = rawdate[5:6]
day = rawdate[6:]
months = ['January', 'February','March','April','May','June','Jule','August','September','October','November','December']
ytdate = '{} {},{}'.format(months[int(month)-1],day,year)
print(ytdate)
youTubeApiKey='...'
youtube = build('youtube','v3',developerKey=youTubeApiKey)
d = datetime.datetime.now()
print(d.isoformat("T") + "Z")
req = youtube.search().list(q=ytdate,part='snippet',type='video',order = 'date',maxResults = 50,publishedAfter =d.isoformat("T") + "Z" )
i = True
pt = 0
while i == True:
    res = req.execute()
    id = res['items'][pt]['id']['videoId']
    print(id)
    request = youtube.videos().list(part="id, statistics",id=id)
    response = request.execute()
    views = response['items'][0]['statistics']['viewCount']
    print(views)
    if int(views) > 0:
        pt+=1;
        i = True

    else:
        print('success!')
        print(id)
        i = False
´´´

标签: python-3.xapiyoutubeyoutube-apiyoutube-data-api

解决方案


推荐阅读