跟踪youtube播放列表中已删除视频的URL

跟踪youtube播放列表中已删除视频的URL,youtube,youtube-data-api,Youtube,Youtube Data Api,我最近使用Youtube api v3制作了一个Python程序,在该程序中,给定播放列表id,它从播放列表中的每个视频中获取特定信息。然而,通过这段代码的输出和,很明显,Youtube api无法提供关于被剥夺或删除的视频的信息 我是否可以使用其他程序或资源从这些不可用的视频中提取信息,尤其是视频ID 我现在能想到的唯一解决方案是访问显示Youtube的HTML并在其中搜索某些字符串(如“[已删除视频]”),然后提取与该字符串对应的id。但是,我从来没有处理过HTML,如果我正确理解HTML,

我最近使用Youtube api v3制作了一个Python程序,在该程序中,给定播放列表id,它从播放列表中的每个视频中获取特定信息。然而,通过这段代码的输出和,很明显,Youtube api无法提供关于被剥夺或删除的视频的信息

我是否可以使用其他程序或资源从这些不可用的视频中提取信息,尤其是视频ID

我现在能想到的唯一解决方案是访问显示Youtube的HTML并在其中搜索某些字符串(如“[已删除视频]”),然后提取与该字符串对应的id。但是,我从来没有处理过HTML,如果我正确理解HTML,我必须为播放列表中的每50个视频加载一个新页面,这对于包含数千个视频的播放列表来说,变得相当低效和费力

我希望使用像PyTube这样的东西,但这也不能处理不可用的视频


编辑 以下是提取视频ID的代码:

来自GoogleAppClient.discovery导入生成的

api_key=“AI~~~”#从yt获取(私钥)
yt=build(“youtube”、“v3”、developerKey=api\u键)
plst_id=“PLorw3mfu-J0ipF4Ss0XgR8IxcwP-JzNKC”#唯一的yt播放列表id
plst_req=yt.playlitems().list(#从yt api请求信息
part=“contentDetails”,
playlid=plst\u id,
最大结果=50
)
plst=plst_请求执行()
vid_ID=[]#从当前播放列表中获取的可用视频ID
对于plst[‘项目’]中的视频:
附加(vid['contentDetails']['videoId'])
打印(可视ID)
打印(plst['pageInfo']['totalResults'])
打印的第一行包含播放列表中每个可用视频的视频ID。打印的第二行给出播放列表中的视频数量,包括可用和不可用的视频

上面代码中使用的播放列表已给出。它总共包含10个视频,其中一个不可用

在这种情况下,输出是(使用有效的api密钥)

Youtube仍然将不可用视频视为播放列表的一个元素,但没有给出其视频id。在这种情况下,不可用视频的视频id为“t83zUmjr05I”,手动查找并不困难:复制已删除视频的链接地址并提取“v=”后的部分


但是,在更大范围内,手动提取会变得单调乏味。

这里有一个永久的解决方案! 你可以试试tube_dl

pip install tube_dl
它采用模块化方法,并且是最新的

有关这方面的更多信息,请访问:

也许,播放列表模块可以帮助您实现这一点。它使用正则表达式获取所有视频ID,而不是JSON。请让我知道,如果问题是固定的或没有,我会相应地更新模块

编辑 这是工作代码

from tube_dl import Playlist
p = Playlist('https://youtube.com/playlist?list=PLorw3mfu-J0ipF4Ss0XgR8IxcwP-JzNKC').videos
print(p)

这是一个永久的解决办法! 你可以试试tube_dl

pip install tube_dl
它采用模块化方法,并且是最新的

有关这方面的更多信息,请访问:

也许,播放列表模块可以帮助您实现这一点。它使用正则表达式获取所有视频ID,而不是JSON。请让我知道,如果问题是固定的或没有,我会相应地更新模块

编辑 这是工作代码

from tube_dl import Playlist
p = Playlist('https://youtube.com/playlist?list=PLorw3mfu-J0ipF4Ss0XgR8IxcwP-JzNKC').videos
print(p)

您能否在正在检查的播放列表和正在使用的代码中添加已删除视频的示例这些信息应该在你的问题中-如果YouTube API或其网站都无法获取这些信息,我怀疑是否有办法获取此类视频的信息-除非你可以访问任何数据库,该数据库在删除或保密之前保存了这些视频的信息。我没有尝试过,但是,如果存在这样的网站(我的意思是,管理YouTube视频数据库的网站),请在internet上搜索。添加有关我使用的代码的更多信息可以在正在检查的播放列表中添加已删除视频的示例以及正在使用的代码吗?-这些信息应该在你的问题中-如果YouTube API或其网站都无法获取这些信息,我怀疑是否有办法获取此类视频的信息-除非你可以访问任何数据库,该数据库在删除或保密之前保存了这些视频的信息。我没有尝试过,但是,如果有这样的网站(我的意思是,管理YouTube视频数据库的网站),请在互联网上搜索。添加了更多关于我使用的代码的信息