xxmdmst 发表于 2024-6-13 22:32

【油猴脚本】抖音用户数据与视频下载v0.3.5大更新

插件安装地址:https://greasyfork.org/zh-CN/scripts/471880
在去年开发过插件后,大概半年时间是可用的,今年上半年我一直没上过抖音,不清楚是否可用,最近几天又刷了几次抖音发现插件已经不可用。
今天花了些时间,把插件彻底大改版了一下,基本上大部分的颜值已经与官方融为一体。

操作指引:
安装插件后,等待自身头像加载完毕,会提示已加载的数据条数:

然后展开头像即可看到下载按钮(按钮也可能在我的作品后面):

注意:若你使用office,而不是wps,则需要勾选gbk后再下载用户数据。

对于当前用户的视频,也可以单独点击按钮进行下载,若目标为图片则可以下载打包好的图片。

即使不在用户主页,每个正在播放的视频也可以进行下载:


初次发布链接:https://www.52pojie.cn/thread-1814333-1-1.html
里面发布了原始代码。
完整最新的代码都可以在安装脚本后查看。


其中前端js将文本转换为gbk编码的代码为:

   let table;

    function initGbkTable() {
      // https://en.wikipedia.org/wiki/GBK_(character_encoding)#Encoding
      const ranges = [
            ,
            ,
            ,
            ,
            ,
            ,
            ,
            ,
      ];
      const codes = new Uint16Array(23940);
      let i = 0;

      for (const of ranges) {
            for (let b2 = b2Begin; b2 <= b2End; b2++) {
                if (b2 !== 0x7F) {
                  for (let b1 = b1Begin; b1 <= b1End; b1++) {
                        codes = b2 << 8 | b1
                  }
                }
            }
      }
      table = new Uint16Array(65536);
      table.fill(0xFFFF);
      const str = new TextDecoder('gbk').decode(codes);
      for (let i = 0; i < str.length; i++) {
            table = codes
      }
    }

    function str2gbk(str, opt = {}) {
      if (!table) {
            initGbkTable()
      }
      const NodeJsBufAlloc = typeof Buffer === 'function' && Buffer.allocUnsafe;
      const defaultOnAlloc = NodeJsBufAlloc
            ? (len) => NodeJsBufAlloc(len)
            : (len) => new Uint8Array(len);
      const defaultOnError = () => 63;
      const onAlloc = opt.onAlloc || defaultOnAlloc;
      const onError = opt.onError || defaultOnError;

      const buf = onAlloc(str.length * 2);
      let n = 0;

      for (let i = 0; i < str.length; i++) {
            const code = str.charCodeAt(i);
            if (code < 0x80) {
                buf = code;
                continue
            }
            const gbk = table;

            if (gbk !== 0xFFFF) {
                buf = gbk;
                buf = gbk >> 8
            } else if (code === 8364) {
                buf = 0x80
            } else {
                const ret = onError(i, str);
                if (ret === -1) {
                  break
                }
                if (ret > 0xFF) {
                  buf = ret;
                  buf = ret >> 8
                } else {
                  buf = ret
                }
            }
      }
      return buf.subarray(0, n)
    }

hanbazhen 发表于 2024-6-13 22:48

楼主你好,收藏和喜欢的视频因为各种原因失效了,但官方不像破站那样还能显示大致信息,你能做出来吗?

另外能加个商城入口吗?手机上看显示太少东西

刘春文 发表于 2024-6-13 22:41

怎么用啊

microfans 发表于 2024-6-13 23:05

我试试哈

vip1639253946 发表于 2024-6-13 23:22

不错试试看

zj19970417 发表于 2024-6-13 23:38

好工具 支持楼主

sshemail 发表于 2024-6-13 23:40

不错试试看,感谢

meder 发表于 2024-6-13 23:44

感谢分享

helh0275 发表于 2024-6-13 23:52

首先得感谢制作分享,安装后测试了一下,应该是有的视频解析不了

gequ 发表于 2024-6-14 03:16

不错不错,感谢{:1_899:}
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【油猴脚本】抖音用户数据与视频下载v0.3.5大更新