python - youtube频道在python中上传视频时如何获得通知
问题描述
我正在尝试创建一个脚本,该脚本会在 youtube 频道上传视频时通知我。就像订阅按钮一样
我尝试过的:
我尝试寻找有关此的文档,并且在此过程中还学习了如何在 Google Cloud 中设置 YouTube V3 API。我发现最近的库是python-youtube和youtube-channel-subscribe。
到目前为止我的进度:
我已经尝试过 youtube-channel-subscribe,但问题是它会打开浏览器然后订阅,这不起作用,因为我将在服务器上运行它。我已经浏览了 python-youtube 文档,但我认为它没有这个功能(我可能错了)
任何帮助,将不胜感激。
解决方案
这可以通过简单地使用 2 个内置的 python 库来完成:requests
和re
. 基本上,我们要监控 YouTube 频道的最新视频。
我们可以通过以下几行代码获取任何 YouTube 频道最新视频的标题、上传日期和观看次数:
import requests
import re
channel = "https://www.youtube.com/user/PewDiePie"
html = requests.get(channel + "/videos").text
info = re.search('(?<={"label":").*?(?="})', html).group()
date = re.search('\d+ \w+ ago.*seconds ', info).group()
print(info)
print(date)
输出:
Reacting To Strangers Secrets by PewDiePie 4 hours ago 11 minutes, 54 seconds 584,062 views
4 hours ago 11 minutes, 54 seconds
您可以将视频的信息(将相对日期转换为绝对日期)存储在数据库中,并且只要包含数据库中info
不存在的标题,或者包含date
从当前日期减去的时间晚于最后一个的时间数据库中的日期,则已上传新视频。
推荐阅读
- kubernetes - 模板范围中的第一项
- go - Golang 中每个函数调用的 Pre 和 Post 函数
- php - Symfony queryBuilder,无法将sql重写为queryBuidler
- xcode - 如何在 Xcode 中执行任意函数?
- python - 如何突出显示数据框的两个不同列中的唯一数据值?
- java - Java 客户端 SDK - ModuleClient:使用 CreateFromEnvironment 时出现异常
- manim - 不会在 Manim 中运行 example_scenes.py
- python - Python:基于活动/非活动状态的分桶/集群
- java - Android Studio 3.5.3 为项目生成了一些损坏的 java 类
- android - 如何在recyclerview中一次加载所有项目?