视频下载: 怎么样下载 TED 视频?


之前视频下载插件是可以下载TED视频的, 当时下载原理很简单, 就是分析 HTML 源代码里 META TAG中的 video_src 字段, 视频地址直接就明文写着, 但是后来就突然不好使了, 发现视频地址存在了JS代码中JSON值的URI. 比如:

ted-video-html 视频下载: 怎么样下载 TED 视频? I.T. 视频下载

ted-video-html

于是改了一下, 通过JS的正则表达式, 匹配所有URI键值对:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
if (domain.includes("ted.com")) {
    if (!ValidURL(video_url)) {
        var re = /{"uri":"([^"\']+)"/gi;
        var found = re.exec(html);                        
        var video_url_arr = [];
        while (found != null) {
            var tmp_url = CheckURL(found[1]);
            if (ValidURL(tmp_url)) {
                video_url_arr.push(tmp_url);    
            }                            
            found = re.exec(html);
        }
        if (valid_domain) {                
            if (video_url_arr.length > 0) {
                chrome.runtime.sendMessage({
                    action: "getSource",
                    source: JSON.stringify(video_url_arr)
                });                          
            } else {
                chrome.runtime.sendMessage({
                    action: "getSource",
                    source: JSON.stringify(CheckURL(video_url))
                });                              
            }
        }
    }
}   
if (domain.includes("ted.com")) {
    if (!ValidURL(video_url)) {
        var re = /{"uri":"([^"\']+)"/gi;
        var found = re.exec(html);                        
        var video_url_arr = [];
        while (found != null) {
            var tmp_url = CheckURL(found[1]);
            if (ValidURL(tmp_url)) {
                video_url_arr.push(tmp_url);    
            }                            
            found = re.exec(html);
        }
        if (valid_domain) {                
            if (video_url_arr.length > 0) {
                chrome.runtime.sendMessage({
                    action: "getSource",
                    source: JSON.stringify(video_url_arr)
                });                          
            } else {
                chrome.runtime.sendMessage({
                    action: "getSource",
                    source: JSON.stringify(CheckURL(video_url))
                });                              
            }
        }
    }
}   

亲测好用:

download-video-from-ted-using-chrome-extension 视频下载: 怎么样下载 TED 视频? I.T. 视频下载

download-video-from-ted-using-chrome-extension

同时已经整合到了服务器端API+在线下载工具: 视频下载工具 + TED视频下载工具. CHROME视频下载插件也及时同步.

视频下载相关技术帖子

视频下载相关的几个帖子:

英文: How to Download Video from ted.com in Javascript?

GD Star Rating
loading...
本文一共 143 个汉字, 你数一下对不对.
视频下载: 怎么样下载 TED 视频?. (AMP 移动加速版本)
上一篇: 在公司搞个鸡蛋羹真是美味啊
下一篇: 2017年公司圣诞聚餐 (剑桥大学 圣凯瑟琳学院)

扫描二维码,分享本文到微信朋友圈
fac903dd135a7bbc0bda4c0ef8d77e91 视频下载: 怎么样下载 TED 视频? I.T. 视频下载

评论