抖音快手视频下载

发现网页果然是开放的技术,抖音视频在网页版随手一个F12就能下载,就随手做了这个脚本,随手分享一下,不知道能活多久。然后我又做了快手版本。用于抖音/快手网页版。

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         抖音快手视频下载
// @namespace    http://tampermonkey.net/
// @version      0.3.1
// @description  发现网页果然是开放的技术,抖音视频在网页版随手一个F12就能下载,就随手做了这个脚本,随手分享一下,不知道能活多久。然后我又做了快手版本。用于抖音/快手网页版。
// @author       Fyratree
// @match        https://www.douyin.com/*
// @match        https://www.kuaishou.com/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        unsafeWindow
// @grant        GM_registerMenuCommand
// @grant        GM.registerMenuCommand
// @license      none
// ==/UserScript==

(function() {
    'use strict';
    function download () {
        if (window.location.host == 'www.douyin.com') { //抖音
            let element //当前视频元素
            let elements = document.querySelectorAll('xg-video-container.xg-video-container video') //全部符合条件的视频元素
            if (elements.length < 1 /* 0 */) return //一个视频元素也没有
            else if (elements.length <= 2 /* 1 or 2 */) element = elements[0] //有一个或两个时(此时你用滚轮无法回到上一个视频),第一个应该是当前视频元素
            else /* 3 or 3+ */ element = elements[1] //有三个时(此时你用滚轮可以回到上一个视频),第二个应该是当前视频元素
            window.open(element.lastChild.src) //视频元素下面的最后一个子元素应该是一个source元素,src属性就是视频直链。打开视频直链以后可以播放和下载
        } else if (window.location.host == 'www.kuaishou.com') { //快手
            let element //当前视频元素
            let elements = document.querySelectorAll('div.kwai-player-container-video video') //全部符合条件的视频元素
            if (elements.length < 1 /* 0 */) return //一个视频元素也没有
            else if (elements.length <= 2 /* 1 or 2 */) element = elements[0] //有一个或两个时(此时你用滚轮无法回到上一个视频),第一个应该是当前视频元素
            else /* 3 or 3+ */ element = elements[1] //有三个时(此时你用滚轮可以回到上一个视频),第二个应该是当前视频元素
            window.open(element.src) //视频元素的src属性就是视频直链。打开视频直链以后可以播放和下载
        }
    }

    /*以下代码参考了Picviewer CE+的代码*/
    var _GM_registerMenuCommand //脚本管理器菜单命令注册
    if (typeof GM_registerMenuCommand!='undefined') { //脚本管理器有GM_registerMenuCommand
        _GM_registerMenuCommand=GM_registerMenuCommand;
    } else if (typeof GM!='undefined' && typeof GM.registerMenuCommand!='undefined') { //脚本管理器有GM.registerMenuCommand
        _GM_registerMenuCommand=GM.registerMenuCommand;
    } else { //脚本管理器什么也没有
        _GM_registerMenuCommand=(s,f)=>{};
        console.log('[抖音快手视频下载]当前脚本管理器不支持菜单命令,无法下载视频。')
    }
    /*感谢Picviewer CE+的作者大佬们,写的脚本随便一段代码都可以帮助我这样的小白*/

    _GM_registerMenuCommand('下载或打开当前视频直链', download) //注册菜单命令
})();