Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
西城十七妹
dr_py
提交
b7e01278
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,发现更多精彩内容 >>
提交
b7e01278
编写于
12月 02, 2022
作者:
H
hjdhnx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新了api
上级
2e3bd1f5
变更
10
展开全部
隐藏空白更改
内联
并排
Showing
10 changed file
with
35 addition
and
26 deletion
+35
-26
base/rules.db
base/rules.db
+0
-0
controllers/cms.py
controllers/cms.py
+7
-2
js/version.txt
js/version.txt
+1
-1
js/哔哩影视.js
js/哔哩影视.js
+2
-1
libs/drpy.js
libs/drpy.js
+7
-1
libs/drpy.min.js
libs/drpy.min.js
+1
-1
libs/drpy2.js
libs/drpy2.js
+7
-1
libs/drpy2.min.js
libs/drpy2.min.js
+1
-1
py/哔哩一级.js
py/哔哩一级.js
+8
-18
readme.md
readme.md
+1
-0
未找到文件。
base/rules.db
浏览文件 @
b7e01278
无法预览此类型文件
controllers/cms.py
浏览文件 @
b7e01278
...
@@ -882,8 +882,13 @@ class CMS:
...
@@ -882,8 +882,13 @@ class CMS:
# print(result)
# print(result)
# print(result['pagecount'])
# print(result['pagecount'])
logger
.
info
(
f
'
{
self
.
getName
()
}
获取分类
{
fyclass
}
第
{
fypage
}
页耗时:
{
get_interval
(
t1
)
}
毫秒,共计
{
round
(
len
(
str
(
result
))
/
1000
,
2
)
}
kb'
)
logger
.
info
(
f
'
{
self
.
getName
()
}
获取分类
{
fyclass
}
第
{
fypage
}
页耗时:
{
get_interval
(
t1
)
}
毫秒,共计
{
round
(
len
(
str
(
result
))
/
1000
,
2
)
}
kb'
)
nodata
=
{
return
result
'list'
:
[{
'vod_name'
:
'无数据,防无限请求'
,
'vod_id'
:
'no_data'
,
'vod_remarks'
:
'不要点,会崩的'
,
'vod_pic'
:
'https://ghproxy.com/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg'
}],
'total'
:
1
,
'pagecount'
:
1
,
'page'
:
1
,
'limit'
:
1
}
# return result
return
result
if
len
(
result
[
'list'
])
>
0
else
nodata
def
二级渲染
(
self
,
parse_str
:
'str|dict'
,
**
kwargs
):
def
二级渲染
(
self
,
parse_str
:
'str|dict'
,
**
kwargs
):
# *args是不定长参数 列表
# *args是不定长参数 列表
...
...
js/version.txt
浏览文件 @
b7e01278
3.9.28
3.9.28beta1
\ No newline at end of file
\ No newline at end of file
js/哔哩影视.js
浏览文件 @
b7e01278
...
@@ -2,6 +2,7 @@ var rule = {
...
@@ -2,6 +2,7 @@ var rule = {
title
:
'
哔哩影视
'
,
title
:
'
哔哩影视
'
,
host
:
'
https://api.bilibili.com
'
,
host
:
'
https://api.bilibili.com
'
,
url
:
'
/fyclass-fypage
'
,
url
:
'
/fyclass-fypage
'
,
filter_url
:
'
fl={{fl}}
'
,
searchUrl
:
'
/index.php?m=vod-search#wd=**&search=;post
'
,
searchUrl
:
'
/index.php?m=vod-search#wd=**&search=;post
'
,
searchable
:
1
,
searchable
:
1
,
filterable
:
1
,
filterable
:
1
,
...
@@ -21,7 +22,7 @@ var rule = {
...
@@ -21,7 +22,7 @@ var rule = {
推荐
:
''
,
推荐
:
''
,
double
:
true
,
// 推荐内容是否双层定位
double
:
true
,
// 推荐内容是否双层定位
一级
:
''
,
一级
:
''
,
一级
:
'
js:let d=[];function get_result(url){let
result={};let html=request(url);let jo=JSON.parse(html);if(jo["code"]===0){let videos=[];let vodList=jo.result?jo.result.list:jo.data.list;vodList.forEach(function(vod){let aid=(vod["season_id"]+"").trim();let title=vod["title"].trim();let img=vod["cover"].trim();let remark=vod["new_ep"]["index_show"];videos.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})});result["list"]=videos;result["page"]=1;result["pagecount"]=1;result["limit"]=90;result["total"]=999999}return result}function get_rank(tid,pg){return get_result("https://api.bilibili.com/pgc/web/rank/list?season_type="+tid+"&pagesize=20&page="+pg+"&day=3")}function get_rank2(tid,pg){return get_result("https://api.bilibili.com/pgc/season/rank/web/list?season_type="+tid+"&pagesize=20&page="+pg+"&day=3")}function get_zhui(pg,mode){let url="https://api.bilibili.com/x/space/bangumi/follow/list?type="+mode+"&follow_status=0&pn="+pg+"&ps=10&vmid="+getItem("userid","");return get_result(url)}function get_all(tid,pg,order,season_status){let url="https://api.bilibili.com/pgc/season/index/result?order="+order+"&pagesize=20&type=1&season_type="+tid+"&page="+pg+"&season_status="+season_status;return get_result(url)}function get_timeline(tid,pg){let result={};let url="https://api.bilibili.com/pgc/web/timeline/v2?season_type="+tid+"&day_before=2&day_after=4";let html=request(url);let jo=JSON.parse(html);if(jo["code"]===0){let videos1=[];let vodList=jo.result.latest;vodList.forEach(function(vod){let aid=(vod["season_id"]+"").trim();let title=vod["title"].trim();let img=vod["cover"].trim();let remark=vod["pub_index"]+" "+vod["follows"].replace("系列","");videos.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})});let videos2=[];for(let i=0;i<7;i++){let vodList=jo["result"]["timeline"][i]["episodes"];vodList.forEach(function(vod){if(vod["published"]+""==="0"){let aid=(vod["season_id"]+"").trim();let title=vod["title"].trim();let img=vod["cover"].trim();let date=vod["pub_ts"];let remark=date+" "+vod["pub_index"];videos2.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})}})}result["list"]=videos2.concat(videos1);result["page"]=1;result["pagecount"]=1;result["limit"]=90;result["total"]=999999}return result}function cate_filter(d,cookie){if(MY_CATE==="1"){return get_rank(MY_CATE,MY_PAGE)}else if(["2","3","4","5","7"].includes(MY_CATE)){return get_rank2(MY_CATE,MY_PAGE)}else if(MY_CATE==="全部"){let tid=MY_FL.tid||"1";let order=MY_FL.order||"2";let season_status=MY_FL.season_status||"-1";return get_all(tid,MY_PAGE,order,season_status)}else if(MY_CATE==="追番"){return get_zhui(MY_PAGE,1)}else if(MY_CATE==="追剧"){return get_zhui(MY_PAGE,2)}else if(MY_CATE==="时间表"){let tid=MY_FL.tid||"1";return get_timeline(tid,MY_PAGE)}else{return{}}}VODS=cate_filter().list
;
'
,
一级
:
'
js:let d=[];function get_result(url){let
videos=[];let html=request(url);let jo=JSON.parse(html);if(jo["code"]===0){let vodList=jo.result?jo.result.list:jo.data.list;vodList.forEach(function(vod){let aid=(vod["season_id"]+"").trim();let title=vod["title"].trim();let img=vod["cover"].trim();let remark=vod["new_ep"]["index_show"];videos.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})})}return videos}function get_rank(tid,pg){return get_result("https://api.bilibili.com/pgc/web/rank/list?season_type="+tid+"&pagesize=20&page="+pg+"&day=3")}function get_rank2(tid,pg){return get_result("https://api.bilibili.com/pgc/season/rank/web/list?season_type="+tid+"&pagesize=20&page="+pg+"&day=3")}function get_zhui(pg,mode){let url="https://api.bilibili.com/x/space/bangumi/follow/list?type="+mode+"&follow_status=0&pn="+pg+"&ps=10&vmid="+getItem("userid","");return get_result(url)}function get_all(tid,pg,order,season_status){let url="https://api.bilibili.com/pgc/season/index/result?order="+order+"&pagesize=20&type=1&season_type="+tid+"&page="+pg+"&season_status="+season_status;return get_result(url)}function get_timeline(tid,pg){let videos=[];let url="https://api.bilibili.com/pgc/web/timeline/v2?season_type="+tid+"&day_before=2&day_after=4";let html=request(url);let jo=JSON.parse(html);if(jo["code"]===0){let videos1=[];let vodList=jo.result.latest;vodList.forEach(function(vod){let aid=(vod["season_id"]+"").trim();let title=vod["title"].trim();let img=vod["cover"].trim();let remark=vod["pub_index"]+" "+vod["follows"].replace("系列","");videos1.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})});let videos2=[];for(let i=0;i<7;i++){let vodList=jo["result"]["timeline"][i]["episodes"];vodList.forEach(function(vod){if(vod["published"]+""==="0"){let aid=(vod["season_id"]+"").trim();let title=vod["title"].trim();let img=vod["cover"].trim();let date=vod["pub_ts"];let remark=date+" "+vod["pub_index"];videos2.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})}})}videos=videos2.concat(videos1)}return videos}function cate_filter(d,cookie){if(MY_CATE==="1"){return get_rank(MY_CATE,MY_PAGE)}else if(["2","3","4","5","7"].includes(MY_CATE)){return get_rank2(MY_CATE,MY_PAGE)}else if(MY_CATE==="全部"){let tid=MY_FL.tid||"1";let order=MY_FL.order||"2";let season_status=MY_FL.season_status||"-1";return get_all(tid,MY_PAGE,order,season_status)}else if(MY_CATE==="追番"){return get_zhui(MY_PAGE,1)}else if(MY_CATE==="追剧"){return get_zhui(MY_PAGE,2)}else if(MY_CATE==="时间表"){let tid=MY_FL.tid||"1";return get_timeline(tid,MY_PAGE)}else{return{}}}VODS=cate_filter()
;
'
,
二级
:{
"
title
"
:
"
.data h4--i&&Text;.yac&&Text
"
,
"
img
"
:
"
.item-lazy&&data-original
"
,
"
desc
"
:
"
;;;.act&&Text;.dir&&Text
"
,
"
content
"
:
"
.tbox_js&&Text
"
,
"
tabs
"
:
"
js:pdfa=jsp.pdfa;TABS=pdfa(html,'.tbox_t h3').map(function(it,idex){return '线路'+(idex+1)})
"
,
"
lists
"
:
"
ul.list_block:eq(#id) li
"
,
"
tabs
"
:
"
.tbox_t h3
"
},
二级
:{
"
title
"
:
"
.data h4--i&&Text;.yac&&Text
"
,
"
img
"
:
"
.item-lazy&&data-original
"
,
"
desc
"
:
"
;;;.act&&Text;.dir&&Text
"
,
"
content
"
:
"
.tbox_js&&Text
"
,
"
tabs
"
:
"
js:pdfa=jsp.pdfa;TABS=pdfa(html,'.tbox_t h3').map(function(it,idex){return '线路'+(idex+1)})
"
,
"
lists
"
:
"
ul.list_block:eq(#id) li
"
,
"
tabs
"
:
"
.tbox_t h3
"
},
搜索
:
'
ul.tbox_m li;*;*;*;*
'
,
搜索
:
'
ul.tbox_m li;*;*;*;*
'
,
...
...
libs/drpy.js
浏览文件 @
b7e01278
...
@@ -1509,13 +1509,19 @@ function categoryParse(cateObj) {
...
@@ -1509,13 +1509,19 @@ function categoryParse(cateObj) {
print
(
`MY_CATE:
${
MY_CATE
}
,pagecount:
${
JSON
.
stringify
(
rule
.
pagecount
)}
`
);
print
(
`MY_CATE:
${
MY_CATE
}
,pagecount:
${
JSON
.
stringify
(
rule
.
pagecount
)}
`
);
pagecount
=
parseInt
(
rule
.
pagecount
[
MY_CATE
]);
pagecount
=
parseInt
(
rule
.
pagecount
[
MY_CATE
]);
}
}
return
d
.
length
<
1
?
'
{}
'
:
JSON
.
stringify
({
let
nodata
=
{
list
:[{
vod_name
:
'
无数据,防无限请求
'
,
vod_id
:
'
no_data
'
,
vod_remarks
:
'
不要点,会崩的
'
,
vod_pic
:
'
https://ghproxy.com/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg
'
}],
total
:
1
,
pagecount
:
1
,
page
:
1
,
limit
:
1
};
let
vod
=
d
.
length
<
1
?
JSON
.
stringify
(
nodata
):
JSON
.
stringify
({
'
page
'
:
parseInt
(
cateObj
.
pg
),
'
page
'
:
parseInt
(
cateObj
.
pg
),
'
pagecount
'
:
pagecount
||
999
,
'
pagecount
'
:
pagecount
||
999
,
'
limit
'
:
20
,
'
limit
'
:
20
,
'
total
'
:
999
,
'
total
'
:
999
,
'
list
'
:
d
,
'
list
'
:
d
,
});
});
// print(vod);
return
vod
}
}
/**
/**
...
...
libs/drpy.min.js
浏览文件 @
b7e01278
此差异已折叠。
点击以展开。
libs/drpy2.js
浏览文件 @
b7e01278
...
@@ -1401,13 +1401,19 @@ function categoryParse(cateObj) {
...
@@ -1401,13 +1401,19 @@ function categoryParse(cateObj) {
print
(
`MY_CATE:
${
MY_CATE
}
,pagecount:
${
JSON
.
stringify
(
rule
.
pagecount
)}
`
);
print
(
`MY_CATE:
${
MY_CATE
}
,pagecount:
${
JSON
.
stringify
(
rule
.
pagecount
)}
`
);
pagecount
=
parseInt
(
rule
.
pagecount
[
MY_CATE
]);
pagecount
=
parseInt
(
rule
.
pagecount
[
MY_CATE
]);
}
}
return
d
.
length
<
1
?
'
{}
'
:
JSON
.
stringify
({
let
nodata
=
{
list
:[{
vod_name
:
'
无数据,防无限请求
'
,
vod_id
:
'
no_data
'
,
vod_remarks
:
'
不要点,会崩的
'
,
vod_pic
:
'
https://ghproxy.com/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg
'
}],
total
:
1
,
pagecount
:
1
,
page
:
1
,
limit
:
1
};
let
vod
=
d
.
length
<
1
?
JSON
.
stringify
(
nodata
):
JSON
.
stringify
({
'
page
'
:
parseInt
(
cateObj
.
pg
),
'
page
'
:
parseInt
(
cateObj
.
pg
),
'
pagecount
'
:
pagecount
||
999
,
'
pagecount
'
:
pagecount
||
999
,
'
limit
'
:
20
,
'
limit
'
:
20
,
'
total
'
:
999
,
'
total
'
:
999
,
'
list
'
:
d
,
'
list
'
:
d
,
});
});
// print(vod);
return
vod
}
}
/**
/**
...
...
libs/drpy2.min.js
浏览文件 @
b7e01278
此差异已折叠。
点击以展开。
py/哔哩一级.js
浏览文件 @
b7e01278
js
:
js
:
let
d
=
[];
let
d
=
[];
function
get_result
(
url
){
function
get_result
(
url
){
let
result
=
{}
;
let
videos
=
[]
;
let
html
=
request
(
url
);
let
html
=
request
(
url
);
let
jo
=
JSON
.
parse
(
html
);
let
jo
=
JSON
.
parse
(
html
);
if
(
jo
[
'
code
'
]
===
0
){
if
(
jo
[
'
code
'
]
===
0
){
let
videos
=
[];
let
vodList
=
jo
.
result
?
jo
.
result
.
list
:
jo
.
data
.
list
;
let
vodList
=
jo
.
result
?
jo
.
result
.
list
:
jo
.
data
.
list
;
vodList
.
forEach
(
function
(
vod
){
vodList
.
forEach
(
function
(
vod
){
let
aid
=
(
vod
[
'
season_id
'
]
+
''
).
trim
();
let
aid
=
(
vod
[
'
season_id
'
]
+
''
).
trim
();
...
@@ -19,13 +18,8 @@ function get_result(url){
...
@@ -19,13 +18,8 @@ function get_result(url){
"
vod_remarks
"
:
remark
"
vod_remarks
"
:
remark
});
});
});
});
result
[
'
list
'
]
=
videos
;
result
[
'
page
'
]
=
1
;
result
[
'
pagecount
'
]
=
1
;
result
[
'
limit
'
]
=
90
;
result
[
'
total
'
]
=
999999
;
}
}
return
result
;
return
videos
;
}
}
function
get_rank
(
tid
,
pg
){
function
get_rank
(
tid
,
pg
){
return
get_result
(
'
https://api.bilibili.com/pgc/web/rank/list?season_type=
'
+
tid
+
'
&pagesize=20&page=
'
+
pg
+
'
&day=3
'
)
return
get_result
(
'
https://api.bilibili.com/pgc/web/rank/list?season_type=
'
+
tid
+
'
&pagesize=20&page=
'
+
pg
+
'
&day=3
'
)
...
@@ -46,7 +40,7 @@ function get_all(tid, pg, order, season_status){
...
@@ -46,7 +40,7 @@ function get_all(tid, pg, order, season_status){
}
}
function
get_timeline
(
tid
,
pg
){
function
get_timeline
(
tid
,
pg
){
let
result
=
{}
;
let
videos
=
[]
;
let
url
=
'
https://api.bilibili.com/pgc/web/timeline/v2?season_type=
'
+
tid
+
'
&day_before=2&day_after=4
'
;
let
url
=
'
https://api.bilibili.com/pgc/web/timeline/v2?season_type=
'
+
tid
+
'
&day_before=2&day_after=4
'
;
let
html
=
request
(
url
);
let
html
=
request
(
url
);
let
jo
=
JSON
.
parse
(
html
);
let
jo
=
JSON
.
parse
(
html
);
...
@@ -58,7 +52,7 @@ function get_timeline(tid,pg){
...
@@ -58,7 +52,7 @@ function get_timeline(tid,pg){
let
title
=
vod
[
'
title
'
].
trim
();
let
title
=
vod
[
'
title
'
].
trim
();
let
img
=
vod
[
'
cover
'
].
trim
();
let
img
=
vod
[
'
cover
'
].
trim
();
let
remark
=
vod
[
'
pub_index
'
]
+
'
'
+
vod
[
'
follows
'
].
replace
(
'
系列
'
,
''
);
let
remark
=
vod
[
'
pub_index
'
]
+
'
'
+
vod
[
'
follows
'
].
replace
(
'
系列
'
,
''
);
videos
.
push
({
videos
1
.
push
({
"
vod_id
"
:
aid
,
"
vod_id
"
:
aid
,
"
vod_name
"
:
title
,
"
vod_name
"
:
title
,
"
vod_pic
"
:
img
,
"
vod_pic
"
:
img
,
...
@@ -83,15 +77,10 @@ function get_timeline(tid,pg){
...
@@ -83,15 +77,10 @@ function get_timeline(tid,pg){
});
});
}
}
});
});
}
}
result
[
'
list
'
]
=
videos2
.
concat
(
videos1
);
videos
=
videos2
.
concat
(
videos1
);
result
[
'
page
'
]
=
1
;
result
[
'
pagecount
'
]
=
1
;
result
[
'
limit
'
]
=
90
;
result
[
'
total
'
]
=
999999
;
}
}
return
result
;
return
videos
;
}
}
function
cate_filter
(
d
,
cookie
)
{
function
cate_filter
(
d
,
cookie
)
{
...
@@ -115,5 +104,5 @@ function cate_filter(d, cookie) {
...
@@ -115,5 +104,5 @@ function cate_filter(d, cookie) {
return
{}
return
{}
}
}
}
}
VODS
=
cate_filter
()
.
list
;
VODS
=
cate_filter
();
// print(VODS);
// print(VODS);
\ No newline at end of file
readme.md
浏览文件 @
b7e01278
...
@@ -54,6 +54,7 @@
...
@@ -54,6 +54,7 @@
```
json
```
json
{
"1"
:
1
,
"2"
:
1
,
"3"
:
1
,
"4"
:
1
,
"5"
:
1
,
"7"
:
1
,
"时间表"
:
1
}
{
"1"
:
1
,
"2"
:
1
,
"3"
:
1
,
"4"
:
1
,
"5"
:
1
,
"7"
:
1
,
"时间表"
:
1
}
```
```
-
[X] 增加分类api无数据时显示一条提示数据防止软件无限请求
###### 2022/11/30
###### 2022/11/30
-
[X] 修复哔哩zb,jrkan zb无法播放问题
-
[X] 修复哔哩zb,jrkan zb无法播放问题
###### 2022/11/29
###### 2022/11/29
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录