使用油猴脚本给猫抓发送资源
Tampermonkey 俗称油猴 chrome脚本扩展神器。官方扩展商店对扩展的更新审核非常慢,油猴脚本也能快速编写和更新对特定网站的支持。
猫抓自带的深度搜索虽能满足大部分情况,在对特别保护的网站还是需要一些特殊处理,油猴脚本刚好能弥补猫抓的不足。这里示范如何给猫抓发送数据,以便大家自己写脚本。
通过 window.postMessage()
函数可以对猫抓发送一条资源或密钥。
发送资源
参数为对象,对象属性如下:
属性 | 值(示例) | 说明 |
---|---|---|
action | "catCatchAddMedia" | 固定 必须,告诉猫抓添加一条资源 |
url | * | 资源的地址 |
href | location.href | 当前页面的网址,让猫抓区分从哪里来的资源。一般为 location.href |
ext | * | 资源的扩展,如果不填写,猫抓会从资源地址分析,可为空 |
mime | * | 资源的mime类型 如: video/mp4,可为空 |
referer | * | 打开资源所需的referer头属性,可为空 |
脚本示例
https://greasyfork.org/zh-CN/scripts/456150/code
安装后回到本页面刷新,应该可以看到猫抓会多出来一条资源,这就是从油猴脚本发送的。
也可以用脚本把资源通过GM_xmlhttpRequest或者ajax/fetch方式下载到内存里,通过new Blob() 和 URL.createObjectURL() 创建一条blob网址发送给猫抓。
发送密钥
部分网站的m3u8的密钥不在文件内,需要对网页进行分析得出,可以通过脚本获得密钥发送给猫抓m3u8解析器。详见 寻找到疑似key
属性 | 值(示例) | 说明 |
---|---|---|
action | "catCatchAddKey" | 固定 必须,告诉猫抓添加一个密钥 |
key | * | 密钥数据,经过base64编码或arrayBuffer类型。 |
href | location.href | 当前页面的网址,让猫抓区分从哪里来的密钥。一般为 location.href即可 |
ext | "base64Key" / "key" | 密钥经过base64编码,填入 base64Key 密钥为arrayBuffer类型,填入 key 2.3.0 版本之后能自动判断密钥类型,不需要填写 |
在线ffmpeg转格式
需要猫抓2.3.0 以上版本
属性 | 值(示例) | 说明 |
---|---|---|
action | "catCatchFFmpeg" | 固定 必须 |
use | "transcode" "merge" "onlyAudio" | transcode 格式为 mp4 merge 音频视频合并 onlyAudio 提取音频 |
media | Array | 媒体文件 详见 media 对象数组 |
title | document.title | 最后输出的文件名 可为空 默认 document.title |
media 对象数组
属性 | 值 | 说明 |
---|---|---|
data | * | 媒体的URL 可以是blob地址(必须可以正常打开) |
type | "video" / "audio" | 媒体类型,音频还是视频。 可为空 默认"video" |
name | * | 文件名 为空自动 "memory"+时间戳 命名 |
示例 合并音频和视频
不能连续多次提交,在线ffmpeg不接受多个命令,需等待上一个视频处理完毕。
暂无处理进程回传功能。
所有值区分大小写
目前接口正在完善中,可能会随时增删改。
最后更新于