如何从youtube获取所有手表历史记录?

Dar*_*oid 1 youtube history youtube-api

因此,我想创建一个程序来获取我的整个观看历史记录,并将其列为我的观看历史记录中所有视频的列表格式(excel或html列表)及其标题和链接.

虽然我是新手,但我可能要付钱让别人这么做,但我想知道这是否可行以及如何实现它以防我想亲自尝试.

https://google-developers.appspot.com/youtube/2.0/developers_guide_protocol_watch_history?hl=ar-SA

v2.0的API列出了如何操作,但我不确定它是否适用于3.0,因为2.0已被弃用.有什么帮助吗?谢谢.

naf*_*afg 6

我不知道"程序".听起来他们不再拥有API.但是你可以通过javascript控制台部分自动化它.由于youtube已更改为材料设计且历史记录页面使用无限滚动,因此以下说明适用.

  1. 转到Google Chrome中的https://www.youtube.com/feed/history并打开javascript控制台.(其他浏览器也应该可以正常工作,但可能会略有不同.)

  2. 在javascript控制台中,您可以通过输入自动向下滚动window.scrollBy(0, 100000).我没有尝试过,但你应该可以用类似的东西重复这样做window.setInterval(() => window.scrollBy(0, 100000), 5000).这应该导致每5000毫秒(5秒)向下滚动; 根据您计算机的速度,您可以调整该数字.100000是向下滚动的像素数.(它不会滚动到页面的末尾,但是点击页面的末尾会导致它加载更多并展开页面.)

  3. 页面滚动得足够远后,输入console.clear(); document.querySelectorAll('h3 a').forEach(x => console.log(x.innerText)).根据当前页面标记,这将记录所有视频标题(以及其他一些行).(它将首先清除控制台.)注意:该h3 a部件可能会有变化.它意味着"所有锚标签都位于3级标题内." 此外,这条线可以调整,以获得除标题之外的东西.

  4. 在控制台中单击鼠标右键,然后在上下文菜单中单击Save as...以将刚打印的内容导出到文本文件.