Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
老鼎玩网络
dr_py
提交
c371401f
dr_py
项目概览
老鼎玩网络
/
dr_py
与 Fork 源项目一致
Fork自
晚风拂柳颜 / dr_py
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
dr_py
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c371401f
编写于
12月 12, 2022
作者:
H
hjdhnx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
改个版本号,改个哔哩解析
上级
30ae6278
变更
11
显示空白变更内容
内联
并排
Showing
11 changed file
with
144 addition
and
34 deletion
+144
-34
base/rules.db
base/rules.db
+0
-0
controllers/parse.py
controllers/parse.py
+4
-0
jiexi/哔哩.js
jiexi/哔哩.js
+92
-0
jiexi/无名.js
jiexi/无名.js
+1
-0
js/AB影院[飞].js
js/AB影院[飞].js
+16
-0
js/version.txt
js/version.txt
+1
-1
js/厂长资源.js
js/厂长资源.js
+4
-11
js/酷客影院.js
js/酷客影院.js
+3
-2
js/饭团.js
js/饭团.js
+13
-4
js/麦豆com.js
js/麦豆com.js
+7
-16
readme.md
readme.md
+3
-0
未找到文件。
base/rules.db
浏览文件 @
c371401f
无法预览此类型文件
controllers/parse.py
浏览文件 @
c371401f
...
...
@@ -11,6 +11,7 @@ from utils.log import logger
from
utils.encode
import
OcrApi
,
base64ToImage
from
controllers.service
import
storage_service
from
utils.pyctx
import
py_ctx
,
getPreJs
,
runJScode
,
JsObjectWrapper
,
PyJsString
,
parseText
,
jsoup
,
time
from
utils.env
import
get_env
import
base64
parse
=
Blueprint
(
"parse"
,
__name__
)
...
...
@@ -63,6 +64,7 @@ def image(text:str):
def
parse_home
(
filename
):
url
=
getParmas
(
'url'
)
# http://localhost:5705/parse/api/%E6%97%A0%E5%90%8D.js?url=https://www.iqiyi.com/v_ik3832z0go.html
# http://localhost:5705/parse/api/哔哩.js?url=https://www.bilibili.com/bangumi/play/ep704873
if
not
url
or
not
url
.
startswith
(
'http'
):
return
R
.
failed
(
f
'url必填!
{
url
}
,且必须是http开头'
)
base_path
=
'jiexi'
...
...
@@ -73,12 +75,14 @@ def parse_home(filename):
logger
.
info
(
f
'开始尝试通过
{
filename
}
解析:
{
url
}
'
)
jsp
=
jsoup
(
url
)
env
=
get_env
()
py_ctx
.
update
({
'vipUrl'
:
url
,
'fetch_params'
:
{
'headers'
:
{
'Referer'
:
url
},
'timeout'
:
10
,
'encoding'
:
'utf-8'
},
'jsp'
:
jsp
,
'重定向'
:
重定向
,
'toast'
:
toast
,
'env'
:
env
,
'image'
:
image
,
'print'
:
print
,
'log'
:
logger
.
info
,
...
...
jiexi/哔哩.js
0 → 100644
浏览文件 @
c371401f
// print(env);
// vipUrl = 'https://www.bilibili.com/bangumi/play/ep704873';
fetch_params
.
headers
=
{
'
User-Agent
'
:
PC_UA
,
"
Referer
"
:
"
https://www.bilibili.com
"
,
"
Cookie
"
:
env
.
bili_cookie
||
''
};
let
appkey
=
env
.
appkey
||
''
;
let
access_key
=
env
.
access_key
||
''
;
// print(fetch_params);
function
getEpUrl
(
ssUrl
){
let
html
=
request
(
ssUrl
);
let
short_link
=
html
.
match
(
/short_link
(
.*
?)
,/
)[
1
];
short_link
=
short_link
.
split
(
'
:
'
).
slice
(
1
,
-
1
).
join
(
'
"
'
).
split
(
'
"
'
)[
1
];
let
epUrl
=
unescape
(
short_link
);
return
epUrl
}
function
getCidEid
(
vipUrl
){
// print(vipUrl);
let
url
=
vipUrl
.
split
(
'
?
'
)[
0
];
// print(url);
if
(
url
.
endsWith
(
'
/
'
)){
url
=
url
.
slice
(
0
,
-
1
);
}
if
(
url
.
includes
(
'
bilibili.com/video/
'
)){
let
r
=
request
(
vipUrl
);
try
{
let
mtext
=
r
.
match
(
/window
\.
__INITIAL_STATE__=
(
.*
?)
;
\(
function/
)[
1
];
mtext
=
JSON
.
parse
(
mtext
);
let
avid
=
mtext
[
'
aid
'
];
let
bvid
=
mtext
[
'
bvid
'
];
let
cid
=
mtext
[
'
videoData
'
][
'
cid
'
];
return
[
cid
,
avid
,
bvid
]
}
catch
(
e
)
{
return
null
}
}
else
if
(
url
.
includes
(
'
/ep
'
)){
let
epid
=
url
.
split
(
'
ep
'
)[
1
];
let
data_url
=
'
https://api.bilibili.com/pgc/view/web/season?ep_id=
'
+
epid
;
let
r
=
JSON
.
parse
(
request
(
data_url
));
if
(
r
.
code
===
0
){
let
episodes
=
r
[
'
result
'
][
'
episodes
'
];
let
furl
=
url
.
replace
(
'
https://m.bilibili.com
'
,
'
https://www.bilibili.com
'
);
let
now_ep
=
episodes
.
filter
(
function
(
it
){
return
[
it
[
'
short_link
'
],
it
[
'
share_url
'
],
it
[
'
link
'
]].
includes
(
furl
)
})[
0
];
let
avid
=
now_ep
[
'
aid
'
];
let
cid
=
now_ep
[
'
cid
'
];
return
[
cid
,
avid
,
null
];
}
else
{
return
null
}
}
else
if
(
url
.
includes
(
'
/ss
'
)){
let
epUrl
=
getEpUrl
(
vipUrl
);
return
getCid
(
epUrl
)
}
else
{
return
null
}
}
if
(
!
/bilibili/
.
test
(
vipUrl
)){
realUrl
=
vipUrl
;
}
else
{
try
{
// print(vipUrl);
let
ids
=
getCidEid
(
vipUrl
);
if
(
Array
.
isArray
(
ids
))
{
print
(
ids
);
let
cid
=
ids
[
0
];
let
avid
=
ids
[
1
];
let
rurl
=
"
https://api.bilibili.com/x/player/playurl?avid=
"
+
avid
+
"
&cid=
"
+
cid
+
"
&qn=120&type=&128=128&otype=json&fnver=&fourk=1&mid=&appkey=
"
+
appkey
+
"
&access_key=
"
+
access_key
;
print
(
rurl
);
try
{
let
r
=
JSON
.
parse
(
request
(
rurl
));
print
(
r
);
let
purl
=
r
[
'
data
'
][
'
durl
'
][
0
][
'
url
'
];
print
(
'
purl:
'
+
purl
);
realUrl
=
purl
;
}
catch
(
e
)
{
print
(
e
.
message
);
realUrl
=
vipUrl
;
}
}
else
{
realUrl
=
vipUrl
;
}
}
catch
(
e
)
{
print
(
e
.
message
);
}
}
\ No newline at end of file
jiexi/无名.js
浏览文件 @
c371401f
// let jxUrl = 'http://api.ckflv.cn/?url=';
log
(
env
);
let
jxUrl
=
'
https://k.json.icu/home/api?type=ys&uid=12406929&key=adgouwyCGIRSTUV046&url=
'
;
fetch_params
.
headers
.
Referer
=
jxUrl
;
try
{
...
...
js/AB影院[飞].js
0 → 100644
浏览文件 @
c371401f
var
rule
=
{
title
:
'
AB影院
'
,
host
:
'
https://abu22.com/
'
,
url
:
'
vodtype/fyclass-fypage.html
'
,
searchUrl
:
'
/search.php;**
'
,
headers
:{
'
User-Agent
'
:
'
PC_UA
'
,},
class_name
:
'
电影&剧集&综艺&动漫&伦理
'
,
class_url
:
'
1&2&4&3&40
'
,
推荐
:
'
.stui-vodlist__item;*;*;*;*
'
,
一级
:
'
.stui-vodlist__item;a&&title;a&&data-original;.pic-text&&Text;a&&href
'
,
二级
:{
"
title
"
:
"
h3&&Text;.stui-content__detail p:eq(0)&&Text
"
,
"
img
"
:
"
.lazyload&&data-original
"
,
"
desc
"
:
"
;;;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text
"
,
"
content
"
:
"
.stui-content__detail p:eq(5)&&Text
"
,
"
tabs
"
:
"
.stui-pannel__head.clearfix&&h3
"
,
"
lists
"
:
"
.stui-content__playlist.clearfix:eq(#id) a
"
},
搜索
:
'
js:let url=input.split(";")[0];let d=[];let body={searchword:input.split(";")[1]};body="searchword="+input.split(";")[1];fetch_params.body=body;let html=post(url,fetch_params);let pdfa=jsp.pdfa;let pdfh=jsp.pdfh;let pd=jsp.pd;let lists=pdfa(html,"ul.stui-vodlist__media&&li");lists.forEach(function(it){d.push({title:pdfh(it,".title&&Text"),url:pd(it,"a&&href"),desc:pdfh(html,".pic-text&&Text"),pic_url:pd(html,".lazyload&&data-original")})});setResult(d);
'
,
}
\ No newline at end of file
js/version.txt
浏览文件 @
c371401f
3.9.30beta7
\ No newline at end of file
3.9.31
\ No newline at end of file
js/厂长资源.js
浏览文件 @
c371401f
var
rule
=
{
title
:
'
厂长资源
'
,
// host:'https://www.c-zzy.com',
host
:
'
https://czspp.com
'
,
url
:
'
/fyclass/page/fypage
'
,
searchUrl
:
'
/xssearch?q=**&f=_all&p=fypage
'
,
searchable
:
2
,
//是否启用全局搜索,
quickSearch
:
1
,
//是否启用快速搜索,
filterable
:
0
,
//是否启用分类筛选,
searchable
:
2
,
quickSearch
:
1
,
filterable
:
0
,
headers
:{
'
User-Agent
'
:
'
PC_UA
'
,
},
play_parse
:
true
,
lazy
:
''
,
limit
:
6
,
class_name
:
'
豆瓣电影Top250&最新电影&电视剧&国产剧&美剧&韩剧&番剧&动漫
'
,
class_url
:
'
dbtop250&zuixindianying&dsj&gcj&meijutt&hanjutv&fanju&dm
'
,
推荐
:
'
.bt_img;ul&&li;*;*;*;*
'
,
double
:
true
,
一级
:
'
.bt_img&&ul&&li;h3.dytit&&Text;img.lazy&&data-original;.jidi&&Text;a&&href
'
,
二级
:{
"
title
"
:
"
h1&&Text;.moviedteail_list li&&a&&Text
"
,
"
img
"
:
"
div.dyimg img&&src
"
,
"
desc
"
:
"
.moviedteail_list li:eq(3) a&&Text;.moviedteail_list li:eq(2) a&&Text;.moviedteail_list li:eq(1) a&&Text;.moviedteail_list li:eq(7) a&&Text;.moviedteail_list li:eq(5) a&&Text
"
,
"
content
"
:
"
.yp_context&&Text
"
,
"
tabs
"
:
"
.mi_paly_box
&&
span
"
,
"
lists
"
:
"
.paly_list_btn:eq(#id) a
"
},
二级
:{
"
title
"
:
"
h1&&Text;.moviedteail_list li&&a&&Text
"
,
"
img
"
:
"
div.dyimg img&&src
"
,
"
desc
"
:
"
.moviedteail_list li:eq(3) a&&Text;.moviedteail_list li:eq(2) a&&Text;.moviedteail_list li:eq(1) a&&Text;.moviedteail_list li:eq(7) a&&Text;.moviedteail_list li:eq(5) a&&Text
"
,
"
content
"
:
"
.yp_context&&Text
"
,
"
tabs
"
:
"
.mi_paly_box
span
"
,
"
lists
"
:
"
.paly_list_btn:eq(#id) a
"
},
搜索
:
'
.search_list&&ul&&li;*;*;*;*
'
,
// 预处理:'rule_fetch_params.headers.Cookie = "Hm_lvt_d06dda04a24e89e1117ee1455e217c30=1669008856; 6de728358f84bf15ea9bb771c18f37fb=b4a901c371f729a828c31d9d78def299; myannoun=1; Hm_lvt_c08e84f2c697dc9d0af77ff0dbfb3d6d=1669356917; Hm_lpvt_c08e84f2c697dc9d0af77ff0dbfb3d6d=1669357024; Hm_lpvt_d06dda04a24e89e1117ee1455e217c30=1669357024"',
预处理
:
''
,
预处理
:
'
rule_fetch_params.headers.Cookie="68148872828e9f4d64e7a296f6c6b6d7=5429da9a54375db451f7f9e4f16ce0ea";let new_host="https://czspp.com";let new_html=request(new_host);if(/正在进行人机识别/.test(new_html)){let new_src=pd(new_html,"script&&src",new_host);log(new_src);let hhtml=request(new_src,{withHeaders:true});let json=JSON.parse(hhtml);let html=json.body;let key=html.match(new RegExp(
\'
var key="(.*?)"
\'
))[1];let avalue=html.match(new RegExp(
\'
value="(.*?)"
\'
))[1];let c="";for(let i=0;i<avalue.length;i++){let a=avalue[i];let b=a.charCodeAt();c+=b}let value=md5(c);log(value);let yz_url="https://czspp.com/a20be899_96a6_40b2_88ba_32f1f75f1552_yanzheng_ip.php?type=96c4e20a0e951f471d32dae103e83881&key="+key+"&value="+value;log(yz_url);hhtml=request(yz_url,{withHeaders:true});json=JSON.parse(hhtml);let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");let cookie=setCk?json[setCk].split(";")[0]:"";log("cookie:"+cookie);rule_fetch_params.headers.Cookie=cookie;setItem(RULE_CK,cookie)}
'
,
}
\ No newline at end of file
js/酷客影院.js
浏览文件 @
c371401f
...
...
@@ -3,8 +3,8 @@ var rule = {
host
:
'
http://www.2kuke.com
'
,
// homeUrl:'/',
url
:
'
/list/fyclass_fypage.html
'
,
//searchUrl:'/vodsearch/**----------fypage---.html
',
searchable
:
0
,
//是否启用全局搜索,
searchUrl
:
'
/search.php#searchword=**;post
'
,
searchable
:
2
,
//是否启用全局搜索,
quickSearch
:
0
,
//是否启用快速搜索,
filterable
:
0
,
//是否启用分类筛选,
headers
:{
//网站的请求头,完整支持所有的,常带ua和cookies
...
...
@@ -21,5 +21,6 @@ var rule = {
double
:
true
,
// 推荐内容是否双层定位
一级
:
'
.stui-vodlist.clearfix li;a&&title;a&&data-original;.pic-text&&Text;a&&href
'
,
二级
:{
"
title
"
:
"
h1.line1&&Text;.stui-content__detail p:eq(0)&&Text
"
,
"
img
"
:
"
.lazyload&&data-original
"
,
"
desc
"
:
"
;;;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text
"
,
"
content
"
:
"
.stui-content__detail p:eq(-1)&&Text
"
,
"
tabs
"
:
"
.nav.nav-tabs.pull-right&&li
"
,
"
lists
"
:
"
.stui-content__playlist:eq(#id) li
"
},
搜索
:
'
ul.stui-vodlist__media&&li;*;*;*;*
'
}
js/饭团.js
浏览文件 @
c371401f
var
rule
=
{
var
rule
=
{
title
:
'
饭团
'
,
模板
:
'
首图
'
,
host
:
'
https://fositv.com
'
,
url
:
'
/vod____type/fyclass-fypage.html
'
,
url
:
'
/vod_____type/fyclass-fypage.html
'
,
searchUrl
:
'
/vod_____search/-------------.html?wd=**&submit=
'
,
searchable
:
2
,
quickSearch
:
0
,
filterable
:
0
,
headers
:{
'
User-Agent
'
:
'
MOBILE_UA
'
,},
class_name
:
'
电影&电视剧&综艺&动漫&记录
'
,
class_url
:
'
1&2&3&4&5
'
,
推荐
:
'
.myui-vodlist__thumb.lazyload;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href
'
,
一级
:
'
.myui-vodlist__thumb;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href
'
,
二级
:{
"
title
"
:
"
.text-fff&&Text;.myui-player__data p&&Text
"
,
"
img
"
:
""
,
"
desc
"
:
"
.myui-player__data p&&Text;;;.text-collapse p:eq(1)&&Text;.text-collapse p:eq(0)&&Text
"
,
"
content
"
:
"
.data&&Text
"
,
"
tabs
"
:
"
.nav-tabs:eq(0) li
"
,
"
lists
"
:
"
.myui-content__list:eq(#id) li
"
},
searchUrl
:
'
/vod_search/-------------.html?wd=**
'
,
搜索
:
'
.myui-vodlist__thumb;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href
'
,
}
\ No newline at end of file
js/麦豆com.js
浏览文件 @
c371401f
var
rule
=
{
title
:
'
麦豆com
'
,
host
:
'
https://www.mdoutv.com
'
,
// homeUrl:'/',
url
:
'
/movie_bt_series/fyclass/page/fypage
'
,
searchUrl
:
'
/search/**/page/fypage
'
,
searchable
:
2
,
//是否启用全局搜索,
quickSearch
:
0
,
//是否启用快速搜索,
filterable
:
0
,
//是否启用分类筛选,
headers
:{
//网站的请求头,完整支持所有的,常带ua和cookies
'
User-Agent
'
:
'
MOBILE_UA
'
,
// "Cookie": "searchneed=ok"
},
class_parse
:
'
.submenu_mi&&li;a&&Text;a&&href;.*/(.*)
'
,
//class_name:'国产&港台&欧美&韩剧&日剧&泰剧&剧集&电影&动漫&综艺',
//class_url:'guocanju&gangtai&en&hanju&riju&taiju&tv&movie&ac&zongyi',
searchable
:
2
,
quickSearch
:
0
,
filterable
:
0
,
headers
:{
'
User-Agent
'
:
'
MOBILE_UA
'
,},
class_name
:
'
国产&港台&欧美&韩剧&日剧&泰剧&剧集&电影&动漫&综艺
'
,
class_url
:
'
guocanju&gangtai&en&hanju&riju&taiju&tv&movie&ac&zongyi
'
,
cate_exclude
:
'
留言|幸运码|更多播放线路|蚂蚁导航|迷历史
'
,
play_parse
:
true
,
lazy
:
''
,
limit
:
6
,
推荐
:
'
body&&.mi_btcon;ul&&li;img&&alt;img&&data-original;.jidi&&Text;a&&href
'
,
double
:
true
,
// 推荐内容是否双层定位
推荐
:
'
.newindex&&ul&&li;img&&alt;img&&data-original;.jidi&&Text;a&&href
'
,
一级
:
'
.mrb&&ul&&li;img&&alt;img&&data-original;.jidi&&Text;a&&href
'
,
二级
:{
"
title
"
:
"
h1&&Text;.moviedteail_list&&li:eq(2)&&Text;
"
,
"
img
"
:
"
.dyxingq&&img&&src
"
,
"
desc
"
:
"
.moviedteail_list&&li:eq(3)&&Text;.moviedteail_list&&li:eq(4)&&Text
"
,
"
content
"
:
"
.yp_context&&Text
"
,
"
tabs
"
:
"
.fr&&a
"
,
"
lists
"
:
"
.paly_list_btn:eq(#id) a
"
},
搜索
:
'
.search_list&&ul&&li;h3&&Text;img&&data-original;.hdinfo&&span&&Text;a&&href
'
,
...
...
readme.md
浏览文件 @
c371401f
...
...
@@ -49,6 +49,9 @@
[
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/12/12
-
[X] 增加哔哩自建解析和对应的环境变量:appkey,access_key (手机端抓包搜索可得)
-
[X] 修复部分源
###### 2022/12/6
-
[X] 增加外部更新环境变量的方法,详情参考 /py/外部更新环境变量.py,可以自行用js等其他语言实现调用
###### 2022/12/4
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录