我正在检查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
所以你想写一个程序定期ping Youtube。实现这一目标的最简单方法是
这将每20秒运行一次。 这里有很多问题
但一开始它会起作用。 我发现了一个很好的问题(线程???here at stackOverflow 答案建议使用一些更高级的“事件循环”概念。 如果你有时间,这绝对值得一试
你可以用字典来解释这个。首先,我将值设置为
None
。然后,在遍历字典时,我将值设置为返回的JSON。在程序结束时,我打印IDx is offline or online
。不过,您可以对字典中的数据执行任何操作相关问题 更多 >
编程相关推荐