提交 89c566b0 编写于 作者: H hjdhnx

增加了新源

上级 b1548e17
无法预览此类型文件
......@@ -1052,7 +1052,11 @@ class CMS:
vlists = loader.eval('LISTS')
if isinstance(vod, JsObjectWrapper):
vlists = vlists.to_list() # [['第1集$http://1.mp4','第2集$http://2.mp4'],['第3集$http://1.mp4','第4集$http://2.mp4']]
for i in range(len(vlists)):
try:
vlists[i] = list(map(lambda x:'$'.join(x.split('$')[:2]),vlists[i]))
except Exception as e:
logger.info(f'LISTS格式化发生错误:{e}')
vod_play_url = vod_play_url.join(list(map(lambda x:'#'.join(x),vlists)))
else:
list_text = p.get('list_text','') or 'body&&Text'
......
3.9.17
\ No newline at end of file
3.9.17beta1
\ No newline at end of file
var rule = {
title:'听书网',
host:'https://www.tingbook.cc',
// url:'/book/fyclass_fypage.html',
url:'/book/fyclass-fypage.html',
searchUrl:'/search.php?page=fypage&searchword=**&searchtype=-1',
searchable:2,
quickSearch:0,
headers:{
'User-Agent':'MOBILE_UA'
},
timeout:5000,
// class_name:'玄幻&武侠&都市&言情&科幻&推理&恐怖&惊悚&历史&军事&网游&官商&评书&相声&文学&儿童&穿越&娱乐&笑话&戏曲&其它&百家讲坛',
// class_url:'1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&28&29&30&31&32&33',
class_parse:'.nav li;a&&Text;a&&href;/book/(\\d+).html',
play_parse:true,
lazy:'',
limit:6,
double:true,
// 推荐:'.row2;ul&&li;.f-bold&&Text;.img-box&&img;.f-gray&&Text;a&&href',
推荐:'.row2;ul&&li;.f-bold&&Text;.img-box img&&src;.f-gray&&Text;a&&href',
// 一级:'.row3&&li;.f-bold&&Text;img-box&&img;.f-gray&&Text;a&&href',
一级:'.row3&&li;.f-bold&&Text;.img-box img&&src;.f-gray&&Text;a&&href',
// 二级:{title:'h2&&Text',img:'.img-box&&img',desc:'section&&p:eq(1)&&Text',content:'section&&p:eq(2)&&Text',tabs:'#yuedu&&h2',lists:'#yuedu:eq(#id)&&ul&&li'},
二级:{title:'h2&&Text',img:'.img-box img&&src',desc:'section&&p:eq(1)&&Text',content:'section&&p:eq(2)&&Text',tabs:'#yuedu&&h2',lists:'#yuedu:eq(#id)&&ul&&li'},
搜索:'*',
}
\ No newline at end of file
......@@ -18,6 +18,12 @@ var rule = {
double:true,
推荐:'.list-ul;a;.list-name&&Text;img&&data-original;.module-slide-author&&Text;a&&href',
一级:'.book-ol&&li;h4&&Text;img&&data-original;.book-submeta&&Text;a&&href',
二级:{title:'h2&&Text',img:'.bookimg&&img&&data-original',desc:'.book-rand-a:eq(0)&&Text;.book-rand-a:eq(1)&&Text;.book-rand-a:eq(2)&&Text;.book-rand-a:eq(3)&&Text',content:'.book_intro&&Text',tabs:'.list-contitle&&h3',lists:'#playlist:eq(#id)&&ul&&li'},
二级:{title:'h2&&Text',img:'.bookimg&&img&&data-original',desc:'.book-rand-a:eq(0)&&Text;.book-rand-a:eq(1)&&Text;.book-rand-a:eq(2)&&Text;.book-rand-a:eq(3)&&Text',content:'.book_intro&&Text',
tabs:'.list-contitle&&h3',
lists:'',
lists:'js:pd=jsp.pd;let url=pd(html,".bookbutton&&a&&href");log(url);html=request(url);let v=pd(html,".booksite&&script&&Html");var document={};var VideoListJson;VideoListJson=eval(v.split("VideoListJson=")[1].split(",urlinfo")[0]);log(typeof VideoListJson);let list1=VideoListJson[0][1];LISTS=[list1];log(LISTS);',
// 有声小说有防盗链,我服了(上面的列表数据正常拿到了,没法播放)
lists:'#playlist:eq(#id)&&ul&&li',
},
搜索:'*',
}
// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py
// 道长 drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md
// 道长 drpy写源 模板规则说明 https://gitcode.net/supertlo/dr_py#%E6%A8%A1%E6%9D%BF%E8%A7%84%E5%88%99%E8%AF%B4%E6%98%8E
// 道长 drpy写源 套模模版 https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/%E6%A8%A1%E6%9D%BF.js
// 道长 drpy写源 影片教程 http://101.34.67.237:5244/%E6%95%99%E8%82%B2/drpy
// 道长 drpy写源 影片教程(m3u8切片) https://freedrpy.run.goorm.io/txt/jc/playlist.m3u8
// 海阔下载 https://haikuo.lanzoui.com/u/GoldRiver
// Pluto Player官方TG https://t.me/PlutoPlayer
// Pluto Player官方TG https://t.me/PlutoPlayerChannel
// Pluto: 嗅探播放 完全正常
// 俊老的殼 或 PythonBox: 請在rules新增底下設定,确保能嗅探较多的源
// "rules":[
// 海盗听书(drpy)
// {"host":"www.tingxiaoshuo.cc","rule":["baidupcs.com","/file/"]},
// {"host":"www.tingxiaoshuo.cc","rule":["365ting.com"]},
// {"host":"www.tingxiaoshuo.cc","rule":["tingshijie.com"]},
// {"host":"www.tingxiaoshuo.cc","rule":["xmcdn.com"]},
// {"host":"www.tingxiaoshuo.cc","rule":["vb.wting.info","token="]}
// ],
var rule = {
title:'海盗听书',
host:'https://www.tingxiaoshuo.cc',
homeUrl:'/category/6/3.html',
url:'/category/6/fyclass.html?page=fypage',
searchUrl:'/pc/index/search.html?keyword=**&page=fypage',
searchable:2,
quickSearch:0,
headers:{
'User-Agent':'PC_UA'
},
timeout:5000,
class_name:'新书&更新&人气',
class_url:'1&2&3',
play_parse:true,
play_json:0,
lazy:"let bookId=input.match(/play\\/(.*?)\\//)[1];let chapterId=input.match(/.*\\/(.*?)\\.html/)[1];let url='https://app.tingxiaoshuo.cc/listen/apptingchina/AppGetChapterUrl2022?uid=09e0bbefd378830f9615a98f239aceab&chapterId='+chapterId+'&bookId='+bookId;let res=request(url,{headers:{'User-Agent':PC_UA}});res=JSON.parse(res);input=res.src;log(input);",
limit:6,
double:true,
推荐:'*',
一级:'.list-works li;a&&title;img&&src;.list-book-cs span:eq(0)&&Text;a&&href',
二级:{title:'h1&&Text;.book-info dd:eq(1)&&Text',img:'.book-img img&&src',desc:';;.book-info dd:gt(3):lt(6)&&Text;.book-info dd:eq(3)&&Text;.book-info dd:eq(2)&&Text',content:'.div-b&&Text',tabs:'.playlist-top&&h2',lists:'#playlist:eq(#id) li'},
搜索:'*',
}
var rule = {
title:'蜻蜓FM',
host:'http://www.qingting.fm',
url:'/radiopage/fyclass/fypage',
searchUrl:'',
searchable:0,
quickSearch:0,
class_name:'广东&浙江&北京&天津&河北&上海&山西&内蒙古&辽宁&吉林&黑龙江&江苏&安徽&福建&江西&山东&河南&湖北&湖南&广西&海南&重庆&四川&贵州&云南&陕西&甘肃&宁夏&新疆&西藏&青海&资讯&音乐&交通&经济&文艺&都市&体育&双语&综合&生活&旅游&曲艺&方言',
class_url:'217&99&3&5&7&83&19&31&44&59&69&85&111&129&139&151&169&187&202&239&254&257&259&281&291&316&327&351&357&308&342&433&442&429&439&432&441&430&431&440&438&435&436&434',
headers:{
'User-Agent':'PC_UA'
},
timeout:5000,
play_parse:true,
play_json:0,
lazy:'js:input=input.replace("www.qingting.fm/radios/","lhttp.qingting.fm/live/")+"/64k.mp3"',
limit:6,
double:false,
//推荐:'*',
一级:'.contentSec&&.radio;span&&Text;img&&src;.descRadio&&Text;a&&href',
二级:'*',
搜索:'',
}
\ No newline at end of file
......@@ -588,8 +588,11 @@ const parseTags = {
sp.splice(sp.length - 1);
if (sp.length > 1) {
for (let i in sp) {
if (!SELECT_REGEX.test(sp[i])) {
sp[i] = sp[i] + ':eq(0)';
//Javascript自定义Array.prototype干扰for-in循环
if(sp.hasOwnProperty(i)){
if (!SELECT_REGEX.test(sp[i])) {
sp[i] = sp[i] + ':eq(0)';
}
}
}
} else {
......@@ -639,10 +642,12 @@ const parseTags = {
if (parse.indexOf('&&') > -1) {
let sp = parse.split('&&');
for (let i in sp) {
if (!SELECT_REGEX_A.test(sp[i]) && i < sp.length - 1) {
if(sp[i]!=='body'){
// sp[i] = sp[i] + ':eq(0)';
sp[i] = sp[i] + ':first';
if(sp.hasOwnProperty(i)){
if (!SELECT_REGEX_A.test(sp[i]) && i < sp.length - 1) {
if(sp[i]!=='body'){
// sp[i] = sp[i] + ':eq(0)';
sp[i] = sp[i] + ':first';
}
}
}
}
......@@ -1709,16 +1714,31 @@ function detailParse(detailObj){
if(p.lists){
if(p.lists.startsWith('js:')){
print('开始执行lists代码:'+p.lists);
if(html&&typeof (html)!=='string'){
// 假装是jq的对象拿来转换一下字符串,try为了防止json的情况报错
try {
html = html.rr(html.ele).toString();
}catch (e) {}
try {
if(html&&typeof (html)!=='string'){
// 假装是jq的对象拿来转换一下字符串,try为了防止json的情况报错
try {
html = html.rr(html.ele).toString();
}catch (e) {}
}
var input = MY_URL;
var play_url = '';
eval(p.lists.replace('js:',''));
for(let i in LISTS){
if(LISTS.hasOwnProperty(i)){
// print(i);
try {
LISTS[i] = LISTS[i].map(it=>it.split('$').slice(0,2).join('$'));
}catch (e) {
print('格式化LISTS发生错误:'+e.message);
}
}
}
vod_play_url = LISTS.map(it=>it.join('#')).join(vod_play_url);
}catch (e) {
print('js执行lists: 发生错误:'+e.message);
}
var input = MY_URL;
var play_url = '';
eval(p.lists.replace('js:',''));
vod_play_url = LISTS.map(it=>it.join('#')).join(vod_play_url);
}else{
let list_text = p.list_text||'body&&Text';
let list_url = p.list_url||'a&&href';
......@@ -1803,6 +1823,7 @@ function playParse(playObj){
let common_play = {
parse:1,
url:input,
// url:urlencode(input),
jx:tellIsJx(input)
};
let lazy_play;
......
此差异已折叠。
js:
pd = jsp.pd;
let url=pd(html,".bookbutton&&a&&href");
log(url);
html = request(url);
let v=pd(html,'.booksite&&script&&Html');
var document={};
var VideoListJson;
// log(v);
VideoListJson=eval(v.split('VideoListJson=')[1].split(',urlinfo')[0]);
// 截取剔除eval代码js不兼容的部分 quickjs不支持没定义变量的情况下直接赋值!!!
// v = v.split('VideoListJson=')[1].split(',urlinfo')[0];
// eval(v);
log(typeof(VideoListJson));
let list1=VideoListJson[0][1];
LISTS=[list1];
log(LISTS);
\ No newline at end of file
......@@ -47,6 +47,8 @@
[dockerfile教程](https://blog.csdn.net/qq_46158060/article/details/125718218)
[获取本地设备信息](https://blog.csdn.net/cui_yonghua/article/details/125508991)
[获取本地设备信息](https://m.jb51.net/article/140716.htm)
###### 2022/10/25
- [X] v3.9.17beta1 增加海盗听书源
###### 2022/10/24
- [X] v3.9.17
- [X] drpy(道长) 服务端聚搜支持自动排除未来功能里隐藏的源
......
......@@ -20,8 +20,9 @@ class tencent:
def parse_cookie(self):
if self.cookie:
for i in self.cookie.split(";"):
for i in self.cookie.rstrip(';').split(";"):
kv = i.split("=")
print(kv)
self.cookie_dict[kv[0].strip()] = kv[1]
print(self.cookie_dict)
......@@ -172,10 +173,27 @@ if __name__ == '__main__':
cookie = """
pgv_pvid=5805499462; iip=0; RK=yQaYRyNLbG; ptcz=2a0d041daba2e1e3872184cd999e01bf90678c0e492c5900527c802251d224ad; tvfe_boss_uuid=53b5e88a3ebeba2c; ts_uid=8123938908; tvfe_search_uid=225c6955-d257-4d4a-97d0-cc327ffea211; txv_boss_uuid=95755769-e482-3a22-3e9f-6f8d842da1a7; pgv_pvi=1381712896; logTrackKey=613d40c3fea04aafb45fc9642dd67b99; video_platform=2; main_login=qq; vqq_vuserid=1260982452; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_appid=101483052; qq_nick=feng; pgv_info=ssid=s1368217315; pac_uid=1_434857005; vversion_name=8.2.95; video_guid=3419ca23530808d22bb278e881e46647; video_omgid=3419ca23530808d22bb278e881e46647; _qpsvr_localtk=0.710205836458567; compared_guid=bc772040638cf0da; vqq_access_token=88AEE1A8BC32318537BC7D81586E44A4; o_cookie=434857005; qv_als=vzJJwNyUEiCeDF1UA11662524934RoBNzA==; video_bucketid=4; fqm_pvqid=0a2a19f9-b09d-48d2-835a-cee916bdb63f; fqm_sessionid=a2c625f7-98e9-4d69-adb4-ad82846832bc; uin=o0434857005; skey=@rZMv3mYSR; tab_experiment_str=8752038#9047927#8752037#9040406#9099387; bucket_id=9231009; last_refresh_time=1666604352564; last_refresh_vuserid=1260982452; ts_refer=m.v.qq.com/; qq_head=http://thirdqq.qlogo.cn/g?b=sdk&k=llMfAicCbslpBk4funDukzg&s=100&t=318; vqq_vusession=sj85gfjn1ZL5jGI_RW5lLA.N; ptag=m_v_qq_com|channel; tab_experiment_data=exp_id=9099387&status=1; ts_last=v.qq.com/x/cover/m441e3rjq9kwpsc.html
""".strip()
# print(cookie)
login_token = """
vqq_appid=101483052; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_vuserid=1260982452;vqq_vusession=Xd5bba2m9ByWls30Vi2FSQ.N; vqq_refresh_token=2D85975A29FB056EB6F9A338CB8F1EF5;vqq_next_refresh_time=6530;vqq_access_token=88AEE1A8BC32318537BC7D81586E44A4;main_login=qq;
""".strip()
auth_token = """
vqq_appid=101483052; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_vuserid=1260982452;vqq_vusession=
""".strip()
cookie = login_token
print(cookie)
# refresh_url = 'https://access.video.qq.com/user/auth_refresh?vappid=11059694&vsecret=fdf61a6be0aad57132bc5cdf78ac30145b6cd2c1470b0cfe&type=qq&g_tk=1698594290&g_vstk=270754686&g_actk=2412125&callback=jQuery191028559957521840595_1666665357793&_=1666665357794'
# headers = {
# "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
# "Referer":"https://v.qq.com/",
# # "cookie":cookie,
# "cookie":auth_token,
# }
# r = requests.get(refresh_url,headers=headers)
# print(r.text)
# 斗罗大陆
url = 'https://v.qq.com/x/cover/m441e3rjq9kwpsc/c00442r6ry6.html'
# 复仇者联盟
url = 'https://v.qq.com/x/cover/v2098lbuihuqs11/m00314jtw6k.html'
# url = 'https://v.qq.com/x/cover/v2098lbuihuqs11/m00314jtw6k.html'
vqq = tencent(url=url,cookie=cookie)
vqq.start()
\ No newline at end of file
......@@ -9,10 +9,21 @@ import re
time_out = 2
cookie = """
pgv_pvid=5805499462; iip=0; RK=yQaYRyNLbG; ptcz=2a0d041daba2e1e3872184cd999e01bf90678c0e492c5900527c802251d224ad; tvfe_boss_uuid=53b5e88a3ebeba2c; ts_uid=8123938908; tvfe_search_uid=225c6955-d257-4d4a-97d0-cc327ffea211; txv_boss_uuid=95755769-e482-3a22-3e9f-6f8d842da1a7; pgv_pvi=1381712896; logTrackKey=613d40c3fea04aafb45fc9642dd67b99; video_platform=2; main_login=qq; vqq_vuserid=1260982452; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_appid=101483052; qq_nick=feng; pgv_info=ssid=s1368217315; pac_uid=1_434857005; vversion_name=8.2.95; video_guid=3419ca23530808d22bb278e881e46647; video_omgid=3419ca23530808d22bb278e881e46647; _qpsvr_localtk=0.710205836458567; compared_guid=bc772040638cf0da; vqq_access_token=88AEE1A8BC32318537BC7D81586E44A4; o_cookie=434857005; qv_als=vzJJwNyUEiCeDF1UA11662524934RoBNzA==; video_bucketid=4; fqm_pvqid=0a2a19f9-b09d-48d2-835a-cee916bdb63f; fqm_sessionid=a2c625f7-98e9-4d69-adb4-ad82846832bc; uin=o0434857005; skey=@rZMv3mYSR; tab_experiment_str=8752038#9047927#8752037#9040406#9099387; bucket_id=9231009; last_refresh_time=1666604352564; last_refresh_vuserid=1260982452; ts_refer=m.v.qq.com/; qq_head=http://thirdqq.qlogo.cn/g?b=sdk&k=llMfAicCbslpBk4funDukzg&s=100&t=318; vqq_vusession=sj85gfjn1ZL5jGI_RW5lLA.N; ptag=m_v_qq_com|channel; tab_experiment_data=exp_id=9099387&status=1; ts_last=v.qq.com/x/cover/m441e3rjq9kwpsc.html
pgv_pvid=5805499462; iip=0; RK=yQaYRyNLbG; ptcz=2a0d041daba2e1e3872184cd999e01bf90678c0e492c5900527c802251d224ad; tvfe_boss_uuid=53b5e88a3ebeba2c; video_platform=2; _tc_unionid=78fa72d7-2485-49f5-abf3-e72f7122cbb5; pgv_pvi=1381712896; logTrackKey=613d40c3fea04aafb45fc9642dd67b99; main_login=qq; vqq_appid=101483052; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_vuserid=1260982452; pgv_info=ssid=s1368217315; pac_uid=1_434857005; vversion_name=8.2.95; video_omgid=3419ca23530808d22bb278e881e46647; _qpsvr_localtk=0.710205836458567; vqq_access_token=88AEE1A8BC32318537BC7D81586E44A4; vqq_refresh_token=2D85975A29FB056EB6F9A338CB8F1EF5; o_cookie=434857005; video_guid=3419ca23530808d22bb278e881e46647; video_bucketid=4; fqm_pvqid=0a2a19f9-b09d-48d2-835a-cee916bdb63f; fqm_sessionid=a2c625f7-98e9-4d69-adb4-ad82846832bc; uin=o0434857005; skey=@rZMv3mYSR; vqq_vusession=Xd5bba2m9ByWls30Vi2FSQ.N; vqq_next_refresh_time=6530; vqq_login_time_init=1666665341; login_time_last=2022-10-25 10:35:44
""".strip()
login_token = """
vqq_appid=101483052; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_vuserid=1260982452;vqq_vusession=Xd5bba2m9ByWls30Vi2FSQ.N; vqq_refresh_token=2D85975A29FB056EB6F9A338CB8F1EF5;vqq_next_refresh_time=6530;
""".strip()
auth_token = """
vqq_appid=101483052; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_vuserid=1260982452;vqq_vusession=
""".strip()
user_token = """
pgv_pvid=5805499462;video_platform=2;o_cookie=434857005;ptui_loginuin=434857005;uid=o0434857005;uin=o0434857005;vqq_vuserid=1260982452;vversion_name=8.2.95;vqq_next_refresh_time=6530;vqq_login_time_init=1666665341; login_time_last=2022-10-25 10:35:44
""".strip()
cookie = login_token
headers = {
# "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36¬",
"User-Agent": "qqlive",
......@@ -75,6 +86,6 @@ if __name__ == '__main__':
# 斗罗大陆
url = 'https://v.qq.com/x/cover/m441e3rjq9kwpsc/c00442r6ry6.html'
# 复仇者联盟
url = 'https://v.qq.com/x/cover/v2098lbuihuqs11/m00314jtw6k.html'
vqq_jx(url)
# vqq_jx_rx(url)
\ No newline at end of file
# url = 'https://v.qq.com/x/cover/v2098lbuihuqs11/m00314jtw6k.html'
# vqq_jx(url)
vqq_jx_rx(url)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册