Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
iodata999
dr_py
提交
65daaf65
dr_py
项目概览
iodata999
/
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,发现更多精彩内容 >>
提交
65daaf65
编写于
10月 09, 2022
作者:
H
hjdhnx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
抄了一波最新的代码
上级
79b12c1a
变更
6
展开全部
隐藏空白更改
内联
并排
Showing
6 changed file
with
1497 addition
and
28 deletion
+1497
-28
js/version.txt
js/version.txt
+1
-1
js/看视界.js
js/看视界.js
+1
-6
libs/drpy-ym.js
libs/drpy-ym.js
+1447
-0
libs/drpy.js
libs/drpy.js
+46
-20
libs/drpy.min.js
libs/drpy.min.js
+1
-1
readme.md
readme.md
+1
-0
未找到文件。
js/version.txt
浏览文件 @
65daaf65
3.8.3beta2
3.8.4
\ No newline at end of file
\ No newline at end of file
js/看视界.js
浏览文件 @
65daaf65
var
rule
=
Object
.
assign
(
muban
.
mx
pro
,{
var
rule
=
Object
.
assign
(
muban
.
mx
one5
,{
title
:
'
看视界
'
,
title
:
'
看视界
'
,
host
:
'
https://www.1080kan.cc
'
,
host
:
'
https://www.1080kan.cc
'
,
url
:
'
/show/fyclass--------fypage---.html
'
,
searchUrl
:
'
/search/**----------fypage---.html
'
,
searchable
:
2
,
class_parse
:
'
.navbar-items li:gt(1):lt(6);a&&Text;a&&href;.*/(.*?).html
'
,
});
});
\ No newline at end of file
libs/drpy-ym.js
0 → 100644
浏览文件 @
65daaf65
此差异已折叠。
点击以展开。
libs/drpy.js
浏览文件 @
65daaf65
...
@@ -371,8 +371,8 @@ function getCryptoJS(){
...
@@ -371,8 +371,8 @@ function getCryptoJS(){
return
'
console.log("CryptoJS已装载");
'
return
'
console.log("CryptoJS已装载");
'
}
}
globalThis
.
VODS
=
[];
// 一级或者搜索需要的数据列表
let
VODS
=
[];
// 一级或者搜索需要的数据列表
globalThis
.
VOD
=
{};
// 二级的单个数据
let
VOD
=
{};
// 二级的单个数据
globalThis
.
encodeUrl
=
urlencode
;
globalThis
.
encodeUrl
=
urlencode
;
globalThis
.
urlencode
=
urlencode
;
globalThis
.
urlencode
=
urlencode
;
...
@@ -499,10 +499,18 @@ const parseTags = {
...
@@ -499,10 +499,18 @@ const parseTags = {
},
},
jq
:{
jq
:{
pdfh
(
html
,
parse
,
base_url
)
{
pdfh
(
html
,
parse
,
base_url
)
{
if
(
!
parse
||
!
parse
.
trim
()){
if
(
!
parse
||
!
parse
.
trim
())
{
return
''
return
''
}
}
let
eleFind
=
typeof
html
===
'
object
'
;
let
option
=
undefined
;
let
option
=
undefined
;
if
(
eleFind
&&
parse
.
startsWith
(
'
body&&
'
))
{
parse
=
parse
.
substr
(
6
);
if
(
parse
.
indexOf
(
'
&&
'
)
<
0
)
{
option
=
parse
.
trim
();
parse
=
'
*=*
'
;
}
}
if
(
parse
.
indexOf
(
'
&&
'
)
>
-
1
)
{
if
(
parse
.
indexOf
(
'
&&
'
)
>
-
1
)
{
let
sp
=
parse
.
split
(
'
&&
'
);
let
sp
=
parse
.
split
(
'
&&
'
);
option
=
sp
[
sp
.
length
-
1
];
option
=
sp
[
sp
.
length
-
1
];
...
@@ -521,23 +529,23 @@ const parseTags = {
...
@@ -521,23 +529,23 @@ const parseTags = {
parse
=
sp
.
join
(
'
'
);
parse
=
sp
.
join
(
'
'
);
}
}
let
result
=
''
;
let
result
=
''
;
const
$
=
cheerio
.
load
(
html
);
const
$
=
eleFind
?
html
.
rr
:
cheerio
.
load
(
html
);
let
ret
=
$
(
parse
);
let
ret
=
eleFind
?
((
parse
===
'
*=*
'
||
$
(
html
.
ele
).
is
(
parse
))
?
html
.
ele
:
$
(
html
.
ele
).
find
(
parse
))
:
$
(
parse
);
if
(
option
)
{
if
(
option
)
{
if
(
option
===
'
Text
'
){
if
(
option
===
'
Text
'
)
{
result
=
$
(
ret
).
text
();
result
=
$
(
ret
).
text
();
}
}
else
if
(
option
===
'
Html
'
){
else
if
(
option
===
'
Html
'
)
{
result
=
$
(
ret
).
html
();
result
=
$
(
ret
).
html
();
}
}
else
{
else
{
result
=
$
(
ret
).
attr
(
option
);
result
=
$
(
ret
).
attr
(
option
);
}
}
if
(
result
&&
base_url
&&
DOM_CHECK_ATTR
.
test
(
option
))
{
if
(
result
&&
base_url
&&
DOM_CHECK_ATTR
.
test
(
option
))
{
if
(
/http/
.
test
(
result
))
{
if
(
/http/
.
test
(
result
))
{
result
=
result
.
substr
(
result
.
indexOf
(
'
http
'
));
result
=
result
.
substr
(
result
.
indexOf
(
'
http
'
));
}
else
{
}
else
{
result
=
urljoin
(
base_url
,
result
)
result
=
urljoin
(
base_url
,
result
)
}
}
}
}
}
else
{
}
else
{
...
@@ -546,9 +554,10 @@ const parseTags = {
...
@@ -546,9 +554,10 @@ const parseTags = {
return
result
;
return
result
;
},
},
pdfa
(
html
,
parse
)
{
pdfa
(
html
,
parse
)
{
if
(
!
parse
||
!
parse
.
trim
()){
if
(
!
parse
||
!
parse
.
trim
())
{
return
[];
return
[];
}
}
let
eleFind
=
typeof
html
===
'
object
'
;
if
(
parse
.
indexOf
(
'
&&
'
)
>
-
1
)
{
if
(
parse
.
indexOf
(
'
&&
'
)
>
-
1
)
{
let
sp
=
parse
.
split
(
'
&&
'
);
let
sp
=
parse
.
split
(
'
&&
'
);
for
(
let
i
in
sp
)
{
for
(
let
i
in
sp
)
{
...
@@ -558,12 +567,12 @@ const parseTags = {
...
@@ -558,12 +567,12 @@ const parseTags = {
}
}
parse
=
sp
.
join
(
'
'
);
parse
=
sp
.
join
(
'
'
);
}
}
const
$
=
cheerio
.
load
(
html
);
const
$
=
eleFind
?
html
.
rr
:
cheerio
.
load
(
html
);
let
ret
=
$
(
parse
);
let
ret
=
eleFind
?
(
$
(
html
.
ele
).
is
(
parse
)
?
html
.
ele
:
$
(
html
.
ele
).
find
(
parse
))
:
$
(
parse
);
let
result
=
[];
let
result
=
[];
if
(
ret
)
{
if
(
ret
)
{
ret
.
each
(
function
(
idx
,
ele
)
{
ret
.
each
(
function
(
idx
,
ele
)
{
result
.
push
(
$
(
ele
).
toString
()
);
result
.
push
(
{
rr
:
$
,
ele
:
ele
}
);
});
});
}
}
return
result
;
return
result
;
...
@@ -914,6 +923,7 @@ function homeParse(homeObj) {
...
@@ -914,6 +923,7 @@ function homeParse(homeObj) {
try
{
try
{
let
html
=
getHtml
(
homeObj
.
MY_URL
);
let
html
=
getHtml
(
homeObj
.
MY_URL
);
if
(
html
)
{
if
(
html
)
{
homeHtmlCache
=
html
;
let
list
=
pdfa
(
html
,
p
[
0
]);
let
list
=
pdfa
(
html
,
p
[
0
]);
if
(
list
&&
list
.
length
>
0
)
{
if
(
list
&&
list
.
length
>
0
)
{
list
.
forEach
((
it
,
idex
)
=>
{
list
.
forEach
((
it
,
idex
)
=>
{
...
@@ -929,8 +939,8 @@ function homeParse(homeObj) {
...
@@ -929,8 +939,8 @@ function homeParse(homeObj) {
}
}
classes
.
push
({
classes
.
push
({
'
type_id
'
:
url
,
'
type_id
'
:
url
.
trim
()
,
'
type_name
'
:
name
'
type_name
'
:
name
.
trim
()
});
});
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
`分类列表定位第
${
idex
}
个元素正常报错:
${
e
.
message
}
`
);
console
.
log
(
`分类列表定位第
${
idex
}
个元素正常报错:
${
e
.
message
}
`
);
...
@@ -993,7 +1003,8 @@ function homeVodParse(homeVodObj){
...
@@ -993,7 +1003,8 @@ function homeVodParse(homeVodObj){
let
is_json
=
p
[
0
].
startsWith
(
'
json:
'
);
let
is_json
=
p
[
0
].
startsWith
(
'
json:
'
);
p
[
0
]
=
p
[
0
].
replace
(
/^
(
jsp:|json:|jq:
)
/
,
''
);
p
[
0
]
=
p
[
0
].
replace
(
/^
(
jsp:|json:|jq:
)
/
,
''
);
// print(p[0]);
// print(p[0]);
let
html
=
getHtml
(
MY_URL
);
let
html
=
homeHtmlCache
||
getHtml
(
MY_URL
);
homeHtmlCache
=
undefined
;
if
(
is_json
){
if
(
is_json
){
// print('是json,开始处理');
// print('是json,开始处理');
html
=
dealJson
(
html
);
html
=
dealJson
(
html
);
...
@@ -1292,7 +1303,7 @@ function searchParse(searchObj) {
...
@@ -1292,7 +1303,7 @@ function searchParse(searchObj) {
function
detailParse
(
detailObj
){
function
detailParse
(
detailObj
){
fetch_params
=
JSON
.
parse
(
JSON
.
stringify
(
rule_fetch_params
));
fetch_params
=
JSON
.
parse
(
JSON
.
stringify
(
rule_fetch_params
));
let
vod
=
{
let
vod
=
{
vod_id
:
"
id
"
,
vod_id
:
detailObj
.
orId
,
//
"id",
vod_name
:
"
片名
"
,
vod_name
:
"
片名
"
,
vod_pic
:
""
,
vod_pic
:
""
,
type_name
:
"
剧情
"
,
type_name
:
"
剧情
"
,
...
@@ -1328,10 +1339,12 @@ function detailParse(detailObj){
...
@@ -1328,10 +1339,12 @@ function detailParse(detailObj){
if
(
!
html
){
if
(
!
html
){
html
=
getHtml
(
MY_URL
);
html
=
getHtml
(
MY_URL
);
}
}
let
_impJQP
=
true
;
let
_ps
;
let
_ps
;
if
(
p
.
is_json
){
if
(
p
.
is_json
){
_ps
=
parseTags
.
json
;
_ps
=
parseTags
.
json
;
html
=
dealJson
(
html
);
html
=
dealJson
(
html
);
_impJQP
=
false
;
}
else
if
(
p
.
is_jsp
){
}
else
if
(
p
.
is_jsp
){
_ps
=
parseTags
.
jsp
;
_ps
=
parseTags
.
jsp
;
}
else
if
(
p
.
is_jq
){
}
else
if
(
p
.
is_jq
){
...
@@ -1339,6 +1352,10 @@ function detailParse(detailObj){
...
@@ -1339,6 +1352,10 @@ function detailParse(detailObj){
}
else
{
}
else
{
_ps
=
parseTags
.
jq
;
_ps
=
parseTags
.
jq
;
}
}
if
(
_impJQP
)
{
let
c$
=
cheerio
.
load
(
html
);
html
=
{
rr
:
c$
,
ele
:
c$
(
'
html
'
)[
0
]
}
}
_pdfa
=
_ps
.
pdfa
;
_pdfa
=
_ps
.
pdfa
;
_pdfh
=
_ps
.
pdfh
;
_pdfh
=
_ps
.
pdfh
;
_pd
=
_ps
.
pd
;
_pd
=
_ps
.
pd
;
...
@@ -1381,6 +1398,10 @@ function detailParse(detailObj){
...
@@ -1381,6 +1398,10 @@ function detailParse(detailObj){
let
playFrom
=
[];
let
playFrom
=
[];
if
(
p
.
重定向
&&
p
.
重定向
.
startsWith
(
'
js:
'
)){
if
(
p
.
重定向
&&
p
.
重定向
.
startsWith
(
'
js:
'
)){
html
=
eval
(
p
.
重定向
.
replace
(
'
js:
'
,
''
));
html
=
eval
(
p
.
重定向
.
replace
(
'
js:
'
,
''
));
if
(
_impJQP
)
{
let
c$
=
cheerio
.
load
(
html
);
html
=
{
rr
:
c$
,
ele
:
c$
(
'
html
'
)[
0
]
}
}
}
}
// console.log(2);
// console.log(2);
...
@@ -1429,7 +1450,8 @@ function detailParse(detailObj){
...
@@ -1429,7 +1450,8 @@ function detailParse(detailObj){
vodList
.
forEach
(
it
=>
{
vodList
.
forEach
(
it
=>
{
// 请注意,这里要固定pdfh解析body&&Text,不需要下划线,没写错
// 请注意,这里要固定pdfh解析body&&Text,不需要下划线,没写错
// new_vod_list.push(pdfh(it,'body&&Text')+'$'+_pd(it,'a&&href',MY_URL));
// new_vod_list.push(pdfh(it,'body&&Text')+'$'+_pd(it,'a&&href',MY_URL));
new_vod_list
.
push
(
cheerio
.
load
(
it
).
text
()
+
'
$
'
+
_pd
(
it
,
'
a&&href
'
,
MY_URL
));
// new_vod_list.push(cheerio.load(it).text()+'$'+_pd(it,'a&&href',MY_URL));
new_vod_list
.
push
(
_pdfh
(
it
,
'
body&&Text
'
)
+
'
$
'
+
_pd
(
it
,
'
a&&href
'
,
MY_URL
));
});
});
let
vlist
=
new_vod_list
.
join
(
'
#
'
);
let
vlist
=
new_vod_list
.
join
(
'
#
'
);
vod_tab_list
.
push
(
vlist
);
vod_tab_list
.
push
(
vlist
);
...
@@ -1569,6 +1591,8 @@ function playParse(playObj){
...
@@ -1569,6 +1591,8 @@ function playParse(playObj){
}
}
}
}
let
homeHtmlCache
=
undefined
;
/**
/**
* js源获取首页分类和筛选特定返回对象中的函数
* js源获取首页分类和筛选特定返回对象中的函数
* @param filter 筛选条件字典对象
* @param filter 筛选条件字典对象
...
@@ -1630,6 +1654,7 @@ function category(tid, pg, filter, extend) {
...
@@ -1630,6 +1654,7 @@ function category(tid, pg, filter, extend) {
* @returns {string}
* @returns {string}
*/
*/
function
detail
(
vod_url
)
{
function
detail
(
vod_url
)
{
let
orId
=
vod_url
;
let
fyclass
=
''
;
let
fyclass
=
''
;
if
(
vod_url
.
indexOf
(
'
$
'
)
>-
1
){
if
(
vod_url
.
indexOf
(
'
$
'
)
>-
1
){
let
tmp
=
vod_url
.
split
(
'
$
'
);
let
tmp
=
vod_url
.
split
(
'
$
'
);
...
@@ -1646,6 +1671,7 @@ function detail(vod_url) {
...
@@ -1646,6 +1671,7 @@ function detail(vod_url) {
url
=
detailUrl
url
=
detailUrl
}
}
let
detailObj
=
{
let
detailObj
=
{
orId
:
orId
,
url
:
url
,
url
:
url
,
二级
:
rule
.
二级
,
二级
:
rule
.
二级
,
detailUrl
:
detailUrl
,
detailUrl
:
detailUrl
,
...
...
libs/drpy.min.js
浏览文件 @
65daaf65
此差异已折叠。
点击以展开。
readme.md
浏览文件 @
65daaf65
...
@@ -49,6 +49,7 @@
...
@@ -49,6 +49,7 @@
###### 2022/10/09
###### 2022/10/09
-
[X] 1.v3.8.2 本地drpy.js抄了一下影魔代码实现了base64加解密和md5加密并且引入全局的CryptoJS对象
-
[X] 1.v3.8.2 本地drpy.js抄了一下影魔代码实现了base64加解密和md5加密并且引入全局的CryptoJS对象
-
[X] 2.v3.8.3 本地drpy.js抄了一下影魔代码不用import模板改成init加载模板解决换源冲突问题
-
[X] 2.v3.8.3 本地drpy.js抄了一下影魔代码不用import模板改成init加载模板解决换源冲突问题
-
[X] 3.v3.8.4 抄了影魔最新的代码并更新版本
###### 2022/10/08
###### 2022/10/08
-
[X] 1.v3.8.1 本地drpy.js优化优酷兼容,已全部完善
-
[X] 1.v3.8.1 本地drpy.js优化优酷兼容,已全部完善
###### 2022/10/07
###### 2022/10/07
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录