我试图找到一种方法,使用Javascript在任何网站上提取媒体文件的链接。我正在使用Unity3D,但它与使用uWebkit这是一个Web浏览器插件有关,这个网页浏览器插件允许我将Javascript注入网站,这样(希望)可以解决。
目的是返回我希望脚本找到的所有媒体链接的URL列表(* .mp3,* .ogg,* .mp4,* .pdf等)然后我可以单击打开在一个单独的窗口中,在自定义视频播放器/音乐播放器/ pdf阅读器等中只有该文件。我发现并非所有网站都将这些文件保留在公开状态,我会为那些人进行解决。
我在搜索引擎和GitHub上搜索过有关它的脚本或文档但没有成功。
PS:jQuery也很好。
答案 0 :(得分:2)
基于Caleb的答案,我只是使用数据结构来优化它的性能,以存储您想要检查的文件类型。
var extensions = {};
extensions["mp3"]=true;
extensions["mp4"]=true;
extensions["pdf"]=true;
/* etc */
var extPattern = /\.([0-9a-z]+)(?:[\?#]|$)/i;
var links = [];
$('a').each(function(){
var href = $(this).attr('href');
if (typeof href !== 'undefined') {
var ext = href.match(extPattern)
if(ext!= null && ext.length >1) {
if(extensions[ext] != undefined) {
links.push(href);
}
}
}
});
答案 1 :(得分:1)
快速而又脏的jQuery版本可以点击页面上的所有标签,你可以从这个
分支var links = [];
$('a').each(function(){
var href = $(this).attr('href');
if (typeof href !== 'undefined') {
if (href.indexOf('mp3') > -1 || href.indexOf('ogg') > -1 || href.indexOf('mp4') > -1 || href.indexOf('pdf') > -1) {
links.push(href);
}
}
});
console.log(links);