【发布时间】:2016-06-04 18:58:10
【问题描述】:
我正在寻找一种无需使用 API 即可获得 youtube 视频时长的方法。检查他们的 HTML 源代码,我看到有一个名为 ytplayer.config 的 javascript var(带有视频信息的 JSON)。如何让 JSON 在脚本中解析?
谢谢
编辑。这是变量
ytplayer.config = {
"assets": {
"js": "\/\/s.ytimg.com\/yts\/jsbin\/player-es_MX-vfl0Fpy-X\/base.js",
"css": "\/\/s.ytimg.com\/yts\/cssbin\/www-player-2x-webp-vflCn1Mkc.css"
},
...
...
"args": {
"vm": "CAEQAA",
"cl": "115273808",
"iv_invideo_url": "https:\/\/www.youtube.com\/annotations_invideo?cap_hist=1\u0026video_id=tRY6WtFVtVY",
"tmi": "1",
"no_get_video_log": "1",
"host_language": "es-419",
"keywords": "Jorge,Lanata,TN,periodismo",
"author": "Tribuna de Periodistas",
...
"length_seconds": "130",
...
}
};
【问题讨论】:
-
创建一个服务器端应用程序,该应用程序接受来自您网页的地址并从 youtube 加载给定的 url。希望配置将在“基本”页面中。否则,您将不得不在服务器端使用类似于启用了 javascript 的浏览器的东西来加载包含视频的 youtube 页面,并做一些聪明的事情来获得配置……就个人而言,API 听起来很多更容易
-
我真的,真的不建议您绕过 Google 的 API,除非您束手无策。这些“未记录”的 API 可能会在您不知情的情况下发生更改(这不止一次让我感到痛苦)。
-
也许你们都对,我应该使用 API,但我知道它每天都有限制
-
查看“配额使用”部分 - developers.google.com/youtube/v3/getting-started
标签: javascript json youtube web-scraping