js教程

纯JS下载视频号高清视频源码分享

我的站长站 2023-09-25 人阅读

下载视频号步骤总体为两个步骤,首先抓包获取视频链接,最后将视频链接替换下可以直接下载,如果需要下载高清视频则需要删除链接中的多余参数。

操作方法

1、下载抓包工具,没有的去下载,链接: https://www.wdzzz.com/ruanjian/tools/1010.html

2、打开HTTP Debugger Pro后,再打开视频号对应的链接,可以看到的GET链接,如下图:

纯JS下载视频号高清视频源码分享

3、将以下代码保存到HTML文件并打开,随便复制一个抓包到的链接,用下面保存好的js代码去生成替换下链接,就可以直接得到下载链接了。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, viewport-fit=cover"/>
    <title>微信视频号视频下载</title>
</head>
<body>
<textarea placeholder="请输入原始视频下载链接"
          style="width: 99%;max-width: 860px;min-height: 200px"></textarea>
<p>
    <button>下载普通视频</button>
    <button>下载高清视频</button>
</p>
<p>
    <button>复制普通链接</button>
    <button>复制高清链接</button>
</p>
</body>
<script>
    function copyToClipboard(text) {
        try {
            const textarea = document.createElement('textarea');
            textarea.setAttribute('readonly', 'readonly');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            let flag = document.execCommand('copy');
            document.body.removeChild(textarea);
            return flag;
        } catch (e) {
            console.log(e);
            return false;
        }
    }
 
    let url1, url2;
 
    function parseWxVideoUrl(url) {
        let [baseUrl, search] = url.split("?", 2);
        const urlParams = new URLSearchParams(search);
        let encfilekey = urlParams.get("encfilekey");
        let token = urlParams.get("token");
        url1 = baseUrl.replace("/20302/", "/20304/") + "?" + search;
        return url1 + `?encfilekey=${encfilekey}&token=${token}`;
    }
 
    function downloadData(url, e) {
        let xhr = new XMLHttpRequest();
        xhr.open('GET', url, true);
        xhr.responseType = 'blob';
        xhr.onload = (e) => {
            let link = document.createElement('a');
            link.href = URL.createObjectURL(xhr.response);
            link.download = "视频号视频.mp4";
            link.click();
        };
        xhr.onprogress = (event) => {
            if (event.lengthComputable) {
                e.target.textContent = "下载" + (event.loaded * 100 / event.total).toFixed(1) + '%';
            }
        };
        xhr.send();
    }
 
    function copyUrl(url, e) {
        let tmp = e.target.textContent;
        if (copyToClipboard(url))
            e.target.textContent = "复制成功";
        else
            e.target.textContent = "复制失败";
        setTimeout(() => {
            e.target.textContent = tmp;
        }, 2000);
    }
 
    document.querySelector("button.down1").addEventListener("click", evt => downloadData(url1, evt));
    document.querySelector("button.down2").addEventListener("click", evt => downloadData(url2, evt));
    document.querySelector("button.copy1").addEventListener("click", (event) => copyUrl(url1, event));
    document.querySelector("button.copy2").addEventListener("click", (event) => copyUrl(url2, event));
    const textarea = document.querySelector('textarea');
    textarea.addEventListener('input', (event) => {
        const modifiedText = event.target.value;
        url2 = parseWxVideoUrl(modifiedText);
        document.querySelector("button.down1").textContent = "下载普通视频";
        document.querySelector("button.down2").textContent = "下载高清视频";
    });
</script>
</html>

最后处理完毕的链接为:

https://finder.video.qq.com/251/20304/stodownload?encfilekey=6xykWLEnztKcKCJZcV0rWCM8ua7DibZkibPSZaIgeFjxHdXG667ep3WWuicTxoCdZnevLoAMoPJS5xicCBvsMZ4TYxqCA0vybuNAz4RwPxu67GTtsLib2XImN1CrpAv3FAuB0czTp58wZwOPcSuZjgT57lO1lmruPIC1551fMeBs9I48&token=cztXnd9GyrFgWibaZnNzz3ALIdicHeF3jahXZf267DGXLT6NtRT2h8VY6NHiaZiaXeEMIhdy9ceeJRg53MCRaPkWlXImnibfYjGGWytqIqd1PHm8bS3weLFGKIiaXJoCpdHv5Q

点击下载高清视频会在前端后台下载完毕后弹出下载框。


相关推荐
  • 视频号
  • 视频号视频下载助手
    视频号视频下载助手

    软件介绍视频号视频下载助手,自带抓包的下载助手,点击开始抓取,浏览视频号里要下载的视频,软件自动抓取链接。右击列表框链接,选择下载视频,保存至“运行目录/下载视频/” 软件截图...

    软件分享 23 1年前
  • 微信视频号开放付费推广
    微信视频号开放付费推广

    微信低调的把视频号付费推广全面开放了,想要提高微信视频号曝光量,加大营销力度的个人账户和企业账户都可以根据自己的推广需求付费买流量大力推广了!视频号之前的付费推广属于内测阶段,仅给开通广...

    网络新闻 127 3年前
  • 2021微信视频号认证方法

    我的站长站给大家分享一篇微信视频号兴趣/职业歌手/音乐人认证方法,职业黄V认证需要一万粉丝才可以认证,本教程不需要一个粉丝就可以认证。微信视频号认证要求截图认证步骤认证要求:必须是腾讯音乐人而且必须线上有原创作品。第一步:音乐人点击链接http:...

    经验分享 2092 3年前
最新更新
  • js返回上一页、刷新页面代码大全

    返回上一页代码:<a href="javascript:history.go(-1)">返回上一页</a>onclick返回上一页代码:<a href="javasc...

    js教程 2天前
  • js语言!=与!==的区别

    != (不等于)!= 是松散的不等于运算符。它在比较两个值时,会先进行类型转换(type coercion),然后再比较值是否不...

    js教程 6天前
  • JS防止网站被扒的解决方法

    这个代码能够直接保护整个站,而不再是单个页面,直接把代码放到自己的网站上,如果是博客建议放到header.php头部...

    js教程 3周前
  • Hexo插件开发实战教程

    Hexo的插件嵌入有两种方式,一种是通过脚本(Scripts)的方式引入,一种是通过插件(Packages)的方式将自定义的插件内...

    js教程 1个月前
  • JavaScript定时删除指定元素方法

    JavaScript定时删除指定元素一般用到自动隐藏的效果功能上面,主要用到了JS的setTimeout语法。下面是一个定时...

    js教程 1个月前