Skip to main content

Command Palette

Search for a command to run...

归档 | 全自动解析 微博/微信 视频

Published
4 min read
归档 | 全自动解析 微博/微信 视频

本项目开源地址: https://github.com/zkeq/icodeq-api

视频解析(直链接口示例)

若出现卡顿请 刷新页面 以使用 Dplayer 🚀

使用说明

  • 全自动:指直接加相关的参数就可以解析。

  • 半自动:指需要运行相关的 Action服务器后台 来维持链接的可用性。

微信公共平台(全自动)

示例视频

接口使用说明

  • 本接口为自己搭建的接口,功能是通过 微信公共平台 里面的 素材库

  • 素材库 获取到微信视频的 wxv 并接在接口后面来实现自动解析。

  • 不需要发布文章,只需要上传视频,然后过审,就可以使用本接口。

解析接口

https://api.icodeq.com/api/wechat_video_public?wxv_{wxv}

接口示例

https://api.icodeq.com/api/wechat_video_public?wxv_2281672366986412045
https://api.icodeq.com/api/wechat_video_public?wxv_2281669760981450761

图片示例

2

微博用户视频直链(全自动)

示例视频

接口使用说明

  • 本接口是自己搭建的接口,功能是通过微博视频的信息定位到具体的视频链接

  • 使用方法为查看微博视频的 瀑布流 信息,获取到 用户ID 视频ID 清晰度ID 3 个参数

  • 本接口获取视频的逻辑是从瀑布流视频的上一个时间戳来获取视频

  • 这样获取到视频列表的第一个即为所查询的视频 ID ,可以保证 以后的更新之后此接口依旧可用

  • 清晰度排序为 最高清 为 0 第二高清为 1,依次类推。

解析接口

https://api.icodeq.com/api/weibo_307_video?uid={uid}&cursor={cursor}&hd={hd}

接口示例

https://api.icodeq.com/api/weibo_307_video?uid=3908615569&cursor=4696609415234742&hd=2
https://api.icodeq.com/api/weibo_307_video?uid=1239246050&cursor=4720854242429953&hd=0
https://api.icodeq.com/api/weibo_307_video?uid=3908615569&cursor=4729250207239479&hd=2

图片示例

3

网易MV(全自动逆向缓存版)[新增]

API 开源地址

示例视频(最高清):

接口使用说明

  • 本接口由后台和前台两部分组成(获取数据的部分和生成数据的部分)

  • 获取数据的部分负责查询 Redis 数据。如果没有查到数据就去请求后台。

  • 后台生成数据后传递到 Redis 和前台上,完成 308 跳转。

  • 外加 vercel 的缓存功能,所以 2小时内 的速度非常快。

  • vid 是云音乐网页端地址栏上那个。

解析接口

https://163.icodeq.com/?vid={vid}

API 接口

https://163mv.icodeq.com/?vid={vid}

接口文档

https://163mv.icodeq.com/docs

接口示例

https://163.icodeq.com/?vid=10882549

API 示例

https://163mv.icodeq.com/?vid=10882549

图片示例

10

网易MV(半自动)

逆向版(最高清)

示例视频:

接口使用说明

  • 本接口为通过 JS逆向网易云 来获取到真实的 MV 地址,并且清晰度最高

  • 但是因为我没有服务器的原因(高考完买服务器),所以只能通过 Github Action 来刷新链接

  • 具体操作就是通过 163.js 来进行加密,之后获取到服务器返回的数据来存储到 Redis 上面

  • 接着通过 API,来获取存储在 Redis 上面的数据,所以不部署相应的 Action 的话,无法使用该接口

  • 具体操作就是在 /api/get_163_mv_vercel/get-new-url/main_local.py 修改 main,函数里面的列表值,然后运行对于的 Action 即可。

  • 所对应的 ActionWorking 163 MV JavaScript Reverse

  • 详情参见 Zkeq/icodeq-api

接口示例

https://api.icodeq.com/api/get_163_mv_vercel?14401004

图片示例

4

爬虫版(不是最高清)

示例视频:

接口使用说明

  • 具体步骤就是使用 Selenium 爬取MV 列表,缺点是只能获取到默认的播放地址

  • 没啥技术含量

  • Action 安装 Selenium 的教程见我的上一篇文章

  • 推荐使用那个逆向的,比这个好。这个有几率触发报错(重新运行就不报错了,奇怪)

接口示例

https://api.icodeq.com/api/get_163_mv?14351340

图片示例

5

B站视频(全自动)[非作者]

示例视频:

接口使用说明

  • 参见原作者自述:https://www.notion.so/B-1080P-Notion-88315db1b76f4e72a610e4e692cd8f96

解析接口

https://video-direct-link.vercel.app/bili.mp4?aid={aid}&bvid={bvid}&cid={cid}

具体代码摘抄

javascript:(()=>{const info = "made by ourongxing(即刻,B站,Github)";try{const link = `https://video-direct-link.vercel.app/bili.mp4?aid=${aid}&bvid=${bvid}&cid=${cid}`;const res = prompt("Command/Ctrl + C 复制,点击确定后直接跳转\n"+info,link);res&&window.open(link)}catch{window.alert("请在 B 站播放界面点击该书签\n"+info)}})()
javascript: window.open( `https://video-direct-link.vercel.app/bili.mp4?aid=${aid}&bvid=${bvid}&cid=${cid}`)

B站视频(半自动)

示例视频:

接口使用说明

  • 本接口为逆向 parwix 不保证一直有效,具体源码已开源,有兴趣可以研究下。

接口示例

https://icodeq-bpi.vercel.app/api/parwix

图片示例

5

开源代码地址

  • https://github.com/zkeq/icodeq-api

赞助

感谢 JetBrains 为本项目提供的许可证。

{% gallery %} 1 2 {% endgallery %}

声明

  • 本文提供的所有内容仅供学习交流使用!
11 views

More from this blog

MySQL | 表的内连接

数据操作语言:表连接查询(一) 从多张表中提取数据 从多张表提取数据,必须指定关联的条件。如果不定义关联条件就会出现无条件连接,两张表的数据会交叉连接,产生 笛卡尔积。 规定了连接条件的表连接语句,就不会出现笛卡尔积。 # 查询每名员工的部门信息 SELECT e.empno,e.ename,d.dname FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno; 表连接的分类 表连接分为两种:内连接 和 外连接 内连接是结果集中只保留符合...

May 16, 20221 min read13
MySQL | 表的内连接

MySQL | 分组查询的应用

数据操作语言:分组查询 为什么要分组? 默认情况下汇总函数是对全表范围内的数据做统计 GROUP BY 子句的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对每个小区域分别进行数据汇总处理 SELECT deptno,AVG(sal) FROM t_emp GROUP BY deptno; SELECT deptno,ROUND(AVG(sal)) FROM t_emp GROUP BY deptno; -- ROUND 取整 逐级分组 数据库支持多列分组条件,执行的时候...

Apr 27, 20221 min read10
MySQL | 分组查询的应用

MySQL | 聚合函数的使用

数据操作语言:聚合函数 什么是聚合函数 聚合函数在数据的查询分析中,应用十分广泛。聚合函数可以对 数据求和、求 最大值 和 最小值 、求 平均值 等等。 求公司员工的评价月收入是多少? SELECT AVG(sal+IFNULL(comm,0)) FROM t_emp; SELECT AVG(sal+IFNULL(comm,0)) AS avg FROM t_emp; SUM 函数 SUM 函数用于求和,只能用户数字类型,字符类型的统计结果为 0 ,日期类型统计结果是毫秒数相加 SE...

Apr 26, 20221 min read8
MySQL | 聚合函数的使用
U

Untitled Publication

173 posts

归档 | 全自动解析 微博/微信 视频