我不仅要针对视频的“发布日期”,而且要针对视频的“上传日期”抓取YouTube。我的公司在公开发布视频的几天或几周之前,将视频上传为私有列表。查询part = snippet将返回“ publishedAt”项,这是视频公开发布的时间。但是我没有看到类似的“ uploadedAt”项目。当我转到YouTube上视频的编辑页面时,可以看到“上传日期”(当前正在手动将其复制到电子表格中),但是在YouTube APIv3中似乎无法访问该日期。
我错过了什么吗?还是我假设没有办法刮擦视频的上传日期?
答案 0 :(得分: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)来获取所需的数据。