【发布时间】:2021-07-16 03:58:39
【问题描述】:
我正在尝试检查 4 个 YouTube 视频的列表是否仍然在线。我知道其中一个处于离线状态,有时我想看看是否对其他人采取了任何行动。通过网络搜索并使用一些编码(我是初学者)我做了这个:
import requests
from pprint import pprint
videos = ["id1","id2","id3","id4"]
for i in videos:
id_of_video = i
your_api_key = 'myapi'
url = 'https://www.googleapis.com/youtube/v3/videos?id={}&key={}&part=status'.format(id_of_video, your_api_key)
url_get = requests.get(url)
pprint(url_get.json())
代码运行良好,我收到类似这样的信息(我只复制了两个结果):
{'etag': 'somenumbersandcharactershere',
'items': [{'etag': 'somenumbersandcharactershere',
'id': 'videoid',
'kind': 'youtube#video',
'status': {'embeddable': True,
'license': 'youtube',
'madeForKids': False,
'privacyStatus': 'public',
'publicStatsViewable': True,
'uploadStatus': 'processed'}}],
'kind': 'youtube#videoListResponse',
'pageInfo': {'resultsPerPage': 1, 'totalResults': 1}}
{'etag': 'somenumbersandcharactershere',
'items': [],
'kind': 'youtube#videoListResponse',
'pageInfo': {'resultsPerPage': 0, 'totalResults': 0}}
其中一个在线,另一个不在线。太好了。
但我想创建一个代码,不时为我检查它并说:“此视频 ID 不再可用”。但我不知道怎么做。
我现在的主要任务是为每个视频 ID 打印一条消息!所以,假设:“ID1 在线”和“ID2 离线”。
我考虑过创建一个 if 语句来检查“url_get.json()”标签的结果,但它只保存最后一个视频 ID...
如果我跑步
url_get.json()
我只得到列表中的最后一个 ID。
【问题讨论】:
-
那么,你想
print一个'message',只有ifyour_json['pageInfo']['totalResult']的值是== 0? -
您可以为此创建一个 cron 作业或创建一个机器人来为您执行此操作
-
@Grismar 是的。实际上,我想为每个视频 ID 打印一条消息!所以,假设:“ID1 在线”和“ID2 离线”。
标签: python python-3.x