YouTube API-抓取视频上传日期

时间:2018-12-17 11:17:23

标签: javascript web-scraping youtube youtube-data-api

我不仅要针对视频的“发布日期”,而且要针对视频的“上传日期”抓取YouTube。我的公司在公开发布视频的几天或几周之前,将视频上传为私有列表。查询part = snippet将返回“ publishedAt”项,这是视频公开发布的时间。但是我没有看到类似的“ uploadedAt”项目。当我转到YouTube上视频的编辑页面时,可以看到“上传日期”(当前正在手动将其复制到电子表格中),但是在YouTube APIv3中似乎无法访问该日期。

我错过了什么吗?还是我假设没有办法刮擦视频的上传日期?

1 个答案:

答案 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)来获取所需的数据。