Как извлечь все текущие видеофайлы и их адрес на веб-странице с помощью js?


 var imgs=document.images.length;

Он может извлечь все изображения на веб-странице.
Как извлечь все файлы flv, суффикс которых flv, такие как sample.flv на веб-странице с js?Не все файлы flv в моем локальном каталоге, а веб-страница.
Плагин Video DownloadHelper в firefox может получить текущий файл mp4.
Введите описание изображения здесь Почему мой JS-код не может выполнить ту же задачу?

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

Введите описание изображения здесь

Как извлечь текущие видеофайлы с помощью js, таких как плагин Video DownloadHelper в firefox?

4 10

4 ответа:

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>

Когда вы нажмете, чтобы загрузить MP4 из Video DownloadHelper, плагин фактически считывает поток 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, проверьте следующие ссылки:

Что такое blob в

Экспорт видео HTML5 blob в MP4

W3C Media Source Extensions

URL-адрес для ссылки на Blob и файл

Если я правильно понимаю, вы хотите найти все ссылки, которые имеют связанный .flv.

Если вы хотите этого, вы можете использовать querySelectorAll и выбрать все ссылки, заканчивающиеся на.flv с помощью селектора css $=.

var flvLinks = document.querySelectorAll('a[href$=".flv"]');

Чтобы получить все flv файлы каталога, попробуйте следующий код -

var files = fs.readdirSync("YOUR_DIRECTORY");
var path = require('path');

for(var i in files) {
   if(path.extname(files[i]) === ".flv") {
       //do your desired task here
   }
}

Надеюсь, это поможет..:)

Вы можете проверить все видео запросы на вкладке Chrome - > Networks в разделе Media sub.