mirror of https://github.com/ziyongdaima/YWJ
Add files via upload
This commit is contained in:
parent
ad172b0db2
commit
255feed8eb
|
@ -0,0 +1,99 @@
|
|||
原文出处:https://github.com/UndCover/PyramidStore/blob/main/tutorial.md
|
||||
|
||||
自动添加代码:https://github.com/lm317379829/TVBoxDIY
|
||||
|
||||
|
||||
## Pyramid添加教程
|
||||
|
||||
以下代码使用TVBOXOSC最后一个版本作为样例,其他的衍生版本请自行参考。目前只支持armeabi-v7a和x86_64,测试结束后续会放出所有版本支持
|
||||
|
||||
### 添加过程
|
||||
|
||||
##### 1.添加pyramid.aar到android项目libs目录下
|
||||
|
||||
##### 2.在 app\build.gradle 中添加内容
|
||||
```gralde
|
||||
dependencies {
|
||||
//添加pyramid.aar引用
|
||||
implementation files('libs\\pyramid.aar')
|
||||
}
|
||||
```
|
||||
##### 3.在 app\proguard-rules.pro 中添加内容
|
||||
```pro
|
||||
-keep public class com.undcover.freedom.pyramid.** { *; }
|
||||
-dontwarn com.undcover.freedom.pyramid.**
|
||||
-keep public class com.chaquo.python.** { *; }
|
||||
-dontwarn com.chaquo.python.**
|
||||
```
|
||||
##### 4.修改项目 App.java
|
||||
```java
|
||||
// 添加引用
|
||||
import com.undcover.freedom.pyramid.PythonLoader;
|
||||
|
||||
public class App extends MultiDexApplication {
|
||||
//...
|
||||
}
|
||||
```
|
||||
```java
|
||||
public void onCreate() {
|
||||
// ....
|
||||
PlayerHelper.init();
|
||||
//pyramid-add-start
|
||||
PythonLoader.getInstance().setApplication(this);
|
||||
//pyramid-add-end
|
||||
}
|
||||
```
|
||||
##### 5.修改 ApiConfig.java
|
||||
```java
|
||||
// 添加引用 51行
|
||||
import com.github.catvod.crawler.SpiderNull;
|
||||
import com.undcover.freedom.pyramid.PythonLoader;
|
||||
public class ApiConfig {
|
||||
//...
|
||||
}
|
||||
```
|
||||
|
||||
```java
|
||||
private void parseJson(String apiUrl, String jsonStr) {
|
||||
//pyramid-add-start 309行
|
||||
PythonLoader.getInstance().setConfig(jsonStr);
|
||||
//pyramid-add-end
|
||||
JsonObject infoJson = new Gson().fromJson(jsonStr, JsonObject.class);
|
||||
//....
|
||||
}
|
||||
```
|
||||
|
||||
```java
|
||||
public Spider getCSP(SourceBean sourceBean) {
|
||||
//pyramid-add-start 俊版589行 TK668行
|
||||
if (sourceBean.getApi().startsWith("py_")) {
|
||||
try {
|
||||
return PythonLoader.getInstance().getSpider(sourceBean.getKey(), sourceBean.getExt());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new SpiderNull();
|
||||
}
|
||||
}
|
||||
//pyramid-add-end
|
||||
return jarLoader.getSpider(sourceBean.getKey(), sourceBean.getApi(), sourceBean.getExt());
|
||||
}
|
||||
```
|
||||
|
||||
```java
|
||||
public Object[] proxyLocal(Map param) {
|
||||
//pyramid-add-start 俊版605行 TK687行
|
||||
try {
|
||||
if(param.containsKey("api")){
|
||||
String doStr = param.get("do").toString();
|
||||
if(doStr.equals("ck"))
|
||||
return PythonLoader.getInstance().proxyLocal("","",param);
|
||||
SourceBean sourceBean = ApiConfig.get().getSource(doStr);
|
||||
return PythonLoader.getInstance().proxyLocal(sourceBean.getKey(),sourceBean.getExt(),param);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
//pyramid-add-end
|
||||
return jarLoader.proxyInvoke(param);
|
||||
}
|
||||
```
|
|
@ -0,0 +1,28 @@
|
|||
## TVBOX的XBiubiu规则
|
||||
## XBiubiu 使用方法
|
||||

|
||||
|
||||
## 
|
||||
|
||||

|
||||
|
||||
## 
|
||||
|
||||
"jiequshuzuqian": "class=\"stui-vodlist__box\"", //------截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义
|
||||
|
||||
"jiequshuzuhou": "</span>", //------截取的列表数组的后关键词
|
||||
|
||||
## 
|
||||
|
||||

|
||||
|
||||
## 
|
||||
|
||||

|
||||
|
||||
## 
|
||||
|
||||

|
||||
|
||||
## 
|
||||

|
|
@ -0,0 +1,189 @@
|
|||
//写法思路来海阔视界,xpath筛选。本人是海阔用户,所以搬了海阔的jsoup写法过来。2022年9月19日
|
||||
//jsoup规则写法请查阅海阔视界或者海阔影视相关教程。不支持js写法
|
||||
//本文档为完整模板,请不要去无中生有添加多余的键值参数。
|
||||
//内置正则写法截取格式为 截取前缀&&截取后缀,&&代表前缀与后缀中间你需要截取的内容
|
||||
{
|
||||
//规则名
|
||||
"规则名": "XYQHiker中文模板",
|
||||
//作者
|
||||
"规则作者": "香雅情",
|
||||
//请求头UA,键名$键值,每一组用#分开,不填则默认okhttp/3.12.11,可填MOBILE_UA,手机,PC_UA,电脑使用内置的手机版或电脑版UA
|
||||
//多个请求头参数写法示例,"User-Agent$PC_UA#Referer$http://ww.baidu.com#Cookie$ser=ok",每一组用#分开。
|
||||
//习惯查看手机源码写建议用手机版UA,习惯查看PC版源码写建议用电脑版UA,不支持Content-Type参数
|
||||
"请求头参数":"PC_UA",
|
||||
//网页编码格式默认UTF-8编码,UTF-8,GBK,GB2312
|
||||
"网页编码格式":"UTF-8",
|
||||
//图片是否需要代理
|
||||
"图片是否需要代理":"0",
|
||||
|
||||
//是否开启获取首页数据,0关闭,1开启
|
||||
"是否开启获取首页数据":"0",
|
||||
//首页推荐数据获取链接
|
||||
"首页推荐链接": "http://www.lezhutv.com",
|
||||
//首页推荐列表数组截取。
|
||||
"首页列表数组规则": "body&&.myui-vodlist",
|
||||
//首页推荐片单列表数组定位。
|
||||
"首页片单列表数组规则": "li",
|
||||
//首页推荐片单信息jsoup与正则截取写法切换,只作用于html网页,1为jsoup写法(默认),0为正则截取写法
|
||||
"首页片单是否Jsoup写法":"1",
|
||||
//下面这六个首页数据如果不填将调用分类那截取的配置(片单写法需一致且取值也得一致)。
|
||||
//首页片单标题
|
||||
"首页片单标题": "h4&&a&&Text",
|
||||
//首页推荐片单链接
|
||||
"首页片单链接": "h4&&a&&href",
|
||||
//首页推荐片单图片,支持自定义图片链接
|
||||
"首页片单图片": ".lazyload&&data-original",
|
||||
//首页推荐片单副标题
|
||||
"首页片单副标题":".pic-text&&Text",
|
||||
//首页推荐片单链接补前缀
|
||||
"首页片单链接加前缀": "http://www.lezhutv.com",
|
||||
//首页推荐片单链接补后缀
|
||||
"首页片单链接加后缀": "",
|
||||
|
||||
//分类链接起始页码,禁止负数和含小数点。
|
||||
"分类起始页码": "1",
|
||||
//分类链接,{cateId}是分类,{catePg}是页码,第一页没有页码的可以这样写 第二页链接[firstPage=第一页的链接]
|
||||
// https://www.libvio.me/show/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html
|
||||
"分类链接": "http://www.lezhutv.com/vodshow/{cateId}--------{catePg}---.html[firstPage=第一页不含页码的链接]",
|
||||
//分类名,分类1&分类2&分类3
|
||||
"分类名称": "电影&电视剧&综艺&动漫",
|
||||
//分类名替换词,替换词1&替换词2&替换词3,替换词包含英文&的用两个中文&&代替,示例:&&id=0&&&id=1
|
||||
"分类名称替换词": "1&2&3&4",
|
||||
//筛选数据,支持直写,clan://本地路径(可能有bug),http云端链接,json格式,参考xpath的筛选写法,填ext可以使用下面手动填写的筛选数据。
|
||||
"筛选数据":{},
|
||||
|
||||
//!!!要使用下面的筛选数据,筛选数据那一定要填ext,"筛选数据":"ext"
|
||||
//子分类名称,对应分类链接{cateId},第一子分类1&第一子分类2||第二子分类1&第二子分类2
|
||||
"筛选子分类名称": "动作片&喜剧片||国产剧&日韩剧||空||国产动漫&日本动漫",
|
||||
//分类名替换词,替换词1&替换词2&替换词3,替换词包含英文&的用两个中文&&代替,示例:&&id=0&&&id=1,如果替换词与名称一致可填*
|
||||
"筛选子分类替换词": "5&6||13&14||空||26&27",
|
||||
//类型/剧情名称,对应分类链接{class},剧情1&剧情2&剧情3
|
||||
"筛选类型名称": "爱情&喜剧&科幻",
|
||||
//类型/剧情替换词,替换词1&替换词2&替换词3。如果替换词与名称一致可填*
|
||||
"筛选类型替换词": "爱情&喜剧&科幻",
|
||||
//地区名称,对应分类链接{area},地区1&地区2&地区3
|
||||
"筛选地区名称": "中国&新加坡",
|
||||
//地区替换词,替换词1&替换词2&替换词3,替换词包含英文&的用两个中文&&代替,示例:&&id=0&&&id=1,如果替换词与名称一致可填*
|
||||
"筛选地区替换词": "中国&新加坡",
|
||||
//年份名称,对应分类链接{year},年份1&年份2&年份3
|
||||
"筛选年份名称": "2022&2021",
|
||||
//年份替换词,替换词1&替换词2&替换词3,如果替换词与名称一致可填*
|
||||
"筛选年份替换词": "2022&2021",
|
||||
//语言名称,对应分类链接{lang},语言1&语言2&语言3
|
||||
"筛选语言名称": "国语&英语",
|
||||
//语言替换词,替换词1&替换词2&替换词3,如果替换词与名称一致可填*
|
||||
"筛选语言替换词": "国语&英语",
|
||||
//排序名称,对应分类链接{by},排序1&排序2&排序3
|
||||
"筛选排序名称": "时间&人气&评分",
|
||||
//排序替换词,替换词1&替换词2&替换词3。如果替换词与名称一致可填*
|
||||
"筛选排序替换词": "time&hits&score",
|
||||
|
||||
|
||||
//分类页面截取数据模式,0为json,其它数字为普通网页。
|
||||
"分类截取模式": "1",
|
||||
//使用截取法从网页中截取json规则,只对截取模式0生效,如data(&&),中间那个&&就是代表json
|
||||
"分类Json数据二次截取":"",
|
||||
//分类列表数组定位,最多支持3层,能力有限,不是所有页面都能支持
|
||||
"分类列表数组规则": ".myui-vodlist&&li",
|
||||
//分类片单信息jsoup与正则截取写法切换,只作用于html网页,1为jsoup写法(默认),0为正则截取写法
|
||||
"分类片单是否Jsoup写法":"1",
|
||||
//下面这六个分类数据如果不填将调用首页那截取的配置(片单写法需一致,且取值也得一致)。
|
||||
//分类片单标题
|
||||
"分类片单标题": "h4&&a&&Text",
|
||||
//分类片单链接
|
||||
"分类片单链接": "h4&&a&&href",
|
||||
//分类片单图片,支持自定义图片链接
|
||||
"分类片单图片": ".lazyload&&data-original",
|
||||
//分类片单副标题
|
||||
"分类片单副标题":".pic-text&&Text",
|
||||
//分类片单链接补前缀
|
||||
"分类片单链接加前缀": "http://www.lezhutv.com",
|
||||
//分类片单链接补后缀
|
||||
"分类片单链接加后缀": "",
|
||||
|
||||
//搜索请求头参数,不填则默认okhttp/3.12.11,可填MOBILE_UA或PC_UA使用内置的手机版或电脑版UA
|
||||
//多个请求头参数写法示例,键名$键值,每一组用#分开。"User-Agent$PC_UA#Referer$http://ww.baidu.com#Cookie$ser=ok"。
|
||||
"搜索请求头参数":"User-Agent$PC_UA",
|
||||
//搜索链接,搜索关键字用{wd}表示,post请求的最后面加;post
|
||||
//POST链接示例 http://www.lezhutv.com/index.php?m=vod-search;post
|
||||
"搜索链接": "http://www.lezhutv.com/index.php/vod/search/page/1/wd/{wd}.html",
|
||||
//POST搜索Params参数,只支持utf-8编码的请求,填写搜索关键字的键值,一般常见的是searchword和wd,不是POST搜索的可留空或删除。
|
||||
"POST请求数据":"wd={wd}&search=",
|
||||
|
||||
//搜索截取模式,0为json搜索,只支持列表在list数组里的,其它数字为网页截取。
|
||||
"搜索截取模式": "0",
|
||||
//搜索列表数组定位,不填默认内置list,最多支持3层,能力有限,不是所有页面都能支持。
|
||||
"搜索列表数组规则": "list",
|
||||
//搜索片单信息jsoup与正则截取写法切换,只作用于html网页,1为jsoup写法(默认),0为正则截取写法
|
||||
"搜索片单是否Jsoup写法":"1",
|
||||
//搜索片单图片,支持自定义图片链接
|
||||
"搜索片单图片": "pic",
|
||||
//搜索片单标题
|
||||
"搜索片单标题": "name",
|
||||
//搜索片单链接
|
||||
"搜索片单链接": "id",
|
||||
//搜索片单副标题
|
||||
"搜索片单副标题":"",
|
||||
//搜索片单链接补前缀
|
||||
"搜索片单链接加前缀": "http://www.lezhutv.com",
|
||||
//搜索片单链接补后缀,这个一般json搜索的需要
|
||||
"搜索片单链接加后缀": ".html",
|
||||
|
||||
//片单链接是否直接播放,0否,1分类片单链接直接播放,2详情选集链接直接播放。
|
||||
//设置成直接播放后,后面3个参数请注意该留空的请务必留空。
|
||||
"链接是否直接播放": "0",
|
||||
//直接播放链接补前缀
|
||||
"直接播放链接加前缀": "https://live.52sf.ga/huya/",
|
||||
//直接播放链接补后缀,设置为#isVideo=true#可强制识别为视频链接
|
||||
"直接播放链接加后缀": "#isVideo=true#",
|
||||
//直接播放链接设置请求头,只对直链视频有效,每一组用#分开
|
||||
"直接播放直链视频请求头": "authority$ku.peizq.online#Referer$https://play.peizq.online",
|
||||
|
||||
//项目信息jsoup与正则截取写法切换,1为jsoup写法(默认),0为正则截取写法
|
||||
"详情是否Jsoup写法":"0",
|
||||
//类型数据,截取前缀&&截取后缀
|
||||
"类型详情": "",
|
||||
//年代数据,截取前缀&&截取后缀
|
||||
"年代详情": "",
|
||||
//地区数据,截取前缀&&截取后缀
|
||||
"地区详情": "",
|
||||
//演员数据,截取前缀&&截取后缀
|
||||
"演员详情": "演员:&&</p>",
|
||||
//简介内容,截取前缀&&截取后缀
|
||||
"简介详情": "简介:&&</p>",
|
||||
|
||||
//线路截取区域,如果不需要请把tab_title或tab_arr_rule置空或者全部不要填。
|
||||
//线路截取数组
|
||||
"线路列表数组规则": ".tabs&&li",
|
||||
//线路标题,截取前缀&&截取后缀,
|
||||
//排除线路写法示例==> "线路标题": "h3&&Text[不包含:网盘,云盘]",
|
||||
"线路标题": "a&&alt",
|
||||
|
||||
//列表数组截取,必须
|
||||
"播放列表数组规则": "body&&.play_list",
|
||||
//集数数组截取,必须
|
||||
"选集列表数组规则": "li",
|
||||
//集数标题与链接jsoup与正则截取写法切换,1为jsoup写法(默认),0为正则截取写法
|
||||
"选集标题链接是否Jsoup写法":"1",
|
||||
//集数标题,截取前缀&&截取后缀
|
||||
"选集标题": "a&&Text",
|
||||
//集数链接,截取前缀&&截取后缀
|
||||
"选集链接": "a&&href",
|
||||
//选集是否反转显示
|
||||
"是否反转选集序列": "0",
|
||||
//集数链接补前缀
|
||||
"选集链接加前缀": "http://www.lezhutv.com",
|
||||
//集数链接补后缀
|
||||
"选集链接加后缀": "",
|
||||
|
||||
//下面几个参数请勿乱用。否则可能会有副作用。
|
||||
//分析网页源码中有<script type="text/javascript">var player_aaaa={"flag":"play","encrypt这种源码的链接解析
|
||||
//如果网页源码里没有这种请设置为0
|
||||
"分析MacPlayer":"0",
|
||||
//是否开启手动嗅探,只对网页嗅探有效,0否,1是
|
||||
"是否开启手动嗅探":"0",
|
||||
//手动嗅探视频链接关键词,每个用#隔开
|
||||
"手动嗅探视频链接关键词":".mp4#.m3u8#.flv#video/tos",
|
||||
//手动嗅探视频链接过滤关键词,每个用#隔开
|
||||
"手动嗅探视频链接过滤词":".html#?http"
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
|
||||
"规则名": "XYQHiker模板",
|
||||
"规则作者": "香雅情",
|
||||
"请求头参数":"MOBILE_UA",
|
||||
"网页编码格式":"UTF-8",
|
||||
"图片是否需要代理":"0",
|
||||
"是否开启获取首页数据":"0",
|
||||
"分类起始页码": "1",
|
||||
"分类链接": "https://www.l0l.tv/index.php/vod/show/id/{cateId}/page/{catePg}.html",
|
||||
"分类名称": "电影&电视剧&动漫&综艺&bilibili&",
|
||||
"分类名称替换词": "1&2&3&4&5&",
|
||||
"筛选数据":{},
|
||||
"分类截取模式": "1",
|
||||
"分类列表数组规则": ".list-width&&.top&&a",
|
||||
"分类片单是否Jsoup写法":"1",
|
||||
"分类片单标题": "a&&title",
|
||||
"分类片单链接": "a&&href",
|
||||
"分类片单图片": ".lazy.eclazy.br&&data-original",
|
||||
"分类片单副标题":"",
|
||||
"分类片单链接加前缀": "https://www.l0l.tv",
|
||||
"分类片单链接加后缀": "",
|
||||
"搜索请求头参数":"User-Agent$PC_UA",
|
||||
"搜索链接": "https://www.l0l.tv/index.php/ajax/suggest?mid=1&wd={wd}",
|
||||
"POST请求数据":"0",
|
||||
"搜索截取模式": "0",
|
||||
"搜索列表数组规则": "list",
|
||||
"搜索片单是否Jsoup写法":"1",
|
||||
"搜索片单图片": "pic",
|
||||
"搜索片单标题": "name",
|
||||
"搜索片单链接": "id",
|
||||
"搜索片单副标题":"",
|
||||
"搜索片单链接加前缀": "https://www.l0l.tv/index.php/vod/play/id/",
|
||||
"搜索片单链接加后缀": "/sid/1/nid/1.html",
|
||||
"详情是否Jsoup写法":"0",
|
||||
"类型详情": "",
|
||||
"年代详情": "",
|
||||
"地区详情": "",
|
||||
"演员详情": "导演:</span>&&</p>",
|
||||
"简介详情": "概要:</span>&&</p>",
|
||||
"线路列表数组规则": "#tag&&a",
|
||||
"线路标题": "a&&Text",
|
||||
"播放列表数组规则": "body&&.content_playlist",
|
||||
"选集列表数组规则": "li",
|
||||
"选集标题链接是否Jsoup写法":"1",
|
||||
"选集标题": "a&&Text",
|
||||
"选集链接": "a&&href",
|
||||
"是否反转选集序列": "0",
|
||||
"选集链接加前缀": "https://www.l0l.tv",
|
||||
"选集链接加后缀": "",
|
||||
"分析MacPlayer":"1",
|
||||
"是否开启手动嗅探":"1",
|
||||
"手动嗅探视频链接关键词":".mp4#.m3u8#.flv",
|
||||
"手动嗅探视频链接过滤词":".html#=http"
|
||||
}
|
Loading…
Reference in New Issue