javascript - 如何用js提取网页中当前所有的视频文件及其地址?

标签 javascript dom web-scraping

 var imgs=document.images.length;

它可以提取网页上的所有图片。
如何用js提取网页中所有后缀为flv的flv文件如sample.flv?不是我本地目录下的所有flv文件,而是网页。
firefox中的插件Video DownloadHelper可以获取当前的mp4文件。
enter image description here 为什么我的 js 代码不能完成相同的任务?

var Links = document.querySelectorAll('a[href$=".mp4"]');
console.log(Links);

enter image description here

firefox中的Video DownloadHelper插件等js如何提取当前视频文件?

最佳答案

Yahoo Movies使用 blob 流传输视频数据。没有直接mp4/flv任何地方的链接,你也不能直接得到这样的链接。 src<video>标签指的是一个 blob 流链接:

<video class="yvp-html5-video" preload="" id="2413371376" src="blob:https://www.yahoo.com/1dfafd99-a1ff-4cc8-bcff-255e69db9977"></video>

当您点击从 Video DownloadHelper 下载 MP4 时,插件实际上读取 blob 流并将其写入 MP4 文件中的磁盘。它不会下载 MP4 文件。如果你尝试 Copy URL , 你会在剪贴板中看到类似这样的内容:

https://roarack01.vpg.cdn.yimg.com/yahoomovies/61fb473f-04a2-381e-b2ae-9496dfba5e66_VYtMtix1DscECbXMT9tHT7yf2P9BZF-mRCMjBejFgALFHl7NSm1ZXPOMICAOr949v2xUgEASYLw-_1_0_vtt.m3u8?a=yahoomovies&ib=sapi&m=application%2fvnd.apple.mpegurl&mr=0&ns=c+i+ci+cii&vid=61fb473f-04a2-381e-b2ae-9496dfba5e66&x=1479599999&s=370695a7063b6aae06fb7f537c85773a

您可以录制 blob 流,但这不是一件容易的事。

有关视频 blob 流的更多详细信息,请查看以下链接:

What is blob in the <video src=blob:url>?

Export HTML5 blob video to MP4

W3C Media Source Extensions

A URL for Blob and File reference

关于javascript - 如何用js提取网页中当前所有的视频文件及其地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40379347/

相关文章:

r - 用 r 抓取 ajax 站点

r - 在 R 中从 html 中提取声明的变量

javascript - 如何将单击事件绑定(bind)到文档,以便仅在没有单击对象时触发该事件

javascript - IndexedDB游标

javascript - 将元素从数组插入到现有 Html 元素的有效方法是什么?

javascript - 使用 jQuery 对列表进行数字排序,然后按字母顺序排序?

python - 使用 beautifulsoup 在表格的第二列中打印文本

javascript - 检查 lodash 中对象数组的属性值

javascript - Resolve Pouch Couch 数据库

java - 从 DOM 对象创建的 ArrayList 中删除属性,也会将它们从原始文档中删除。我究竟做错了什么