首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提取youtube广告前的视频id

提取youtube广告前的视频id
EN

Stack Overflow用户
提问于 2015-01-12 19:03:48
回答 1查看 1.1K关注 0票数 0

我正在写一个脚本,它与youtube上的广告视频有关,人们必须先看这些视频,然后才能看到实际的视频。(这些广告一开始只是该品牌频道上简单的youtube视频),我搜索了所有的源代码和脚本,但我在任何地方都找不到这些广告的视频id。它肯定在某个地方,但它似乎隐藏得很好。

有人知道去哪找吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-19 13:19:37

我对你的案子做了调查。

广告视频的视频id绝对不是初始源代码的一部分,正如您已经知道的那样。Youtube向http://googleads.g.doubleclick.net/ API发出ajax请求,以获取有关广告视频的信息。

如果您查看源代码,您可以看到大量与google部分相关的javascript。通过查看代码,您可以找到指向API的URL路由。请看截图,这只是一段节选:

但不幸的是,您不能简单地复制url并对其进行远程调用。这样做,您将得到一个400坏的请求响应。

据我所知,有一些缺失的参数,由youtube的javascript动态添加。

如果您比较一下youtube发出的请求,就会发现发送的params更多:

与请求相比,直接从源代码复制的请求:

工作请求的结果如下所示:

我尝试了几种方法来使无效的API请求工作,但没有找到一种方法。调试javascript并不那么容易,因为它被混淆和缩小了。但是另外,变量在函数中的作用域。所以无论如何,你都无法接触到它们。

如果在XHR请求之前设置javascript断点,则可以看到实际的API请求:

但它在本地范围内,无法访问它。

稍后,还会向youtube数据API第二次请求获取有关广告视频的信息。

在我看来,只有两种方法可以获得视频,都需要javascript来运行。

  1. 查看Javascript运行后的源代码。然后,您可以直接从标记中获取id:

  1. 挂接Ajax请求并直接从网络流量获取数据。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27908964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档