【问题标题】:YouTube API - Scrape Video Upload DateYouTube API - 抓取视频上传日期
【发布时间】:2019-05-17 18:07:46
【问题描述】:
我想在 YouTube 上抓取视频的发布日期和上传日期。我的公司会在视频公开发布前几天或几周将视频上传为私人列表。查询 part=sn-p 将返回“publishedAt”项,即视频公开发布的时间。但我没有看到类似的“uploadedAt”项目。当我转到 YouTube 上的视频编辑页面时,我可以看到上传日期(目前我正在手动将其复制到我的电子表格中),但它似乎无法在 YouTube APIv3 中访问。
我是否遗漏了什么,或者我是否正确地假设无法抓取视频的上传日期?
【问题讨论】:
标签:
javascript
web-scraping
youtube
youtube-data-api
【解决方案1】:
很遗憾,一旦私人视频更新为公开,publishedAt 日期将从视频上传日期更新到公开日期。此时,上传日期不再直接在 API 中提供。
来自 YouTube 关于 snippet.publishedAt 的文档:
视频发布的日期和时间。请注意,这一次
可能与上传视频的时间不同。为了
例如,如果视频作为私人视频上传,然后制作
稍后公开,此属性将指定
视频已公开。
有几种特殊情况:
- 如果视频作为私有视频上传并且视频元数据是
由频道所有者检索,然后属性值指定
上传视频的日期和时间。
- 如果将视频作为不公开视频上传,则属性值还会指定上传视频的日期和时间。在这个
在这种情况下,任何知道视频唯一视频 ID 的人都可以检索
视频元数据。
该值以 ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) 格式指定。
Relevant documentation about this behavior can be found here
作为替代方案,您可以考虑使用基于浏览器的工具(例如 Selenium)抓取 YouTube Studio 信息中心(或使用 BeautifulSoup 之类的工具来解析信息中心 HTML)以获取您正在寻找的数据。