如何在 youtube 频道上传 python 中的视频时收到通知

How to get notification when youtube channel uploads video in python

我正在尝试创建一个脚本,每当 YouTube 频道上传视频时它都会通知我。就像订阅按钮一样

我尝试过的:
我曾尝试寻找与此相关的文档,并且在此过程中还学习了如何在 Google Cloud 中设置 YouTube V3 API。我找到的最近的图书馆是 python-youtube and youtube-channel-subscribe.

目前我的进度:
我已经尝试过 youtube-channel-subscribe 但问题是它会打开浏览器然后订阅,这不会起作用,因为我将在服务器上成为 运行 这个。我浏览了 python-youtube 文档,但我认为它没有这方面的功能(我可能错了)

如有任何帮助,我们将不胜感激。

很简单,

  1. 找到您要监控的页面。
  1. 得到它 URL 并用 Python 图书馆美汤刮它。 https://pypi.org/project/beautifulsoup4/.

  2. 列表项

  3. 为该文件的第一个版本创建一个 Json 文件(您可以使这非常简单,只需取最近视频的名称)。

  4. 在任何你喜欢的时间间隔,再次调用 python scraper 进行比较

  5. 当 JSON 文件不同时,(如果最近的名称与原始名称不同,则执行 x)对 Z[=50 进行 API 调用=]呃https://zapier.com/

  6. 让 Zapi 的人通过 api 电话向您发送关于零钱的短信。

上面的代码可以直接在文档中找到。如果你想要一个更完整的 scraping 方法,它可以绕过来自客户端网站的任何类型的阻塞,我会使用代理链接,仅供参考。

只需使用 2 个 built-in python 库即可完成此操作:requests and 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 带有一个时间,当从当前日期中减去该时间晚于数据库中的最后一个日期,则新视频已上传。