Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
peater12
dr_py
提交
64acf990
dr_py
项目概览
peater12
/
dr_py
落后 Fork 源项目 2 个版本
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,发现更多精彩内容 >>
提交
64acf990
编写于
9月 16, 2022
作者:
H
hjdhnx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加drpy筛选
上级
1c82c220
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
204 addition
and
8 deletion
+204
-8
controllers/cms.py
controllers/cms.py
+19
-7
js/drpy.js
js/drpy.js
+35
-0
libs/pre.js
libs/pre.js
+10
-0
py/drpy一级.js
py/drpy一级.js
+125
-0
py/豆瓣筛选.py
py/豆瓣筛选.py
+14
-0
utils/encode.py
utils/encode.py
+1
-1
未找到文件。
controllers/cms.py
浏览文件 @
64acf990
...
...
@@ -122,8 +122,10 @@ class CMS:
headers
=
default_headers
cookie
=
self
.
getCookie
()
# print(f'{self.title}cookie:{cookie}')
self
.
oheaders
=
self_headers
if
cookie
:
headers
[
'cookie'
]
=
cookie
self
.
oheaders
[
'cookie'
]
=
cookie
limit
=
rule
.
get
(
'limit'
,
6
)
encoding
=
rule
.
get
(
'编码'
,
'utf-8'
)
self
.
limit
=
min
(
limit
,
30
)
...
...
@@ -183,6 +185,7 @@ class CMS:
'getParse'
:
self
.
getParse
,
'saveParse'
:
self
.
saveParse
,
'headers'
:
self
.
headers
,
'oheaders'
:
self
.
oheaders
,
'encoding'
:
self
.
encoding
,
'name'
:
self
.
title
,
'timeout'
:
self
.
timeout
,
...
...
@@ -496,7 +499,8 @@ class CMS:
'input'
:
self
.
homeUrl
,
'HOST'
:
self
.
host
,
'TYPE'
:
'home'
,
# 海阔js环境标志
'fetch_params'
:
{
'headers'
:
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'oheaders'
:
self
.
d
.
oheaders
,
'fetch_params'
:
{
'headers'
:
self
.
d
.
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'd'
:
self
.
d
,
'getParse'
:
self
.
d
.
getParse
,
'saveParse'
:
self
.
d
.
saveParse
,
...
...
@@ -673,9 +677,13 @@ class CMS:
py_ctx
.
update
({
'input'
:
url
,
'TYPE'
:
'cate'
,
# 海阔js环境标志
'fetch_params'
:
{
'headers'
:
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'oheaders'
:
self
.
d
.
oheaders
,
'fetch_params'
:
{
'headers'
:
self
.
d
.
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'd'
:
self
.
d
,
'cateID'
:
fyclass
,
# 分类id
'MY_CATE'
:
fyclass
,
# 分类id
'MY_FL'
:
fl
,
# 筛选
'MY_PAGE'
:
fypage
,
# 页数
'detailUrl'
:
self
.
detailUrl
or
''
,
# 详情页链接
'getParse'
:
self
.
d
.
getParse
,
'saveParse'
:
self
.
d
.
saveParse
,
...
...
@@ -688,7 +696,7 @@ class CMS:
loader
,
_
=
runJScode
(
jscode
,
ctx
=
ctx
)
# print(loader.toString())
vods
=
loader
.
eval
(
'VODS'
)
# print(vods)
# print(
'vods:',
vods)
if
isinstance
(
vods
,
JsObjectWrapper
):
videos
=
vods
.
to_list
()
...
...
@@ -785,7 +793,8 @@ class CMS:
'input'
:
url
,
'TYPE'
:
'detail'
,
# 海阔js环境标志
'cateID'
:
fyclass
,
# 当前分类
'fetch_params'
:
{
'headers'
:
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'oheaders'
:
self
.
d
.
oheaders
,
'fetch_params'
:
{
'headers'
:
self
.
d
.
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'd'
:
self
.
d
,
'getParse'
:
self
.
d
.
getParse
,
'saveParse'
:
self
.
d
.
saveParse
,
...
...
@@ -869,7 +878,8 @@ class CMS:
'html'
:
html
,
'TYPE'
:
'detail'
,
# 海阔js环境标志
'cateID'
:
fyclass
,
# 当前分类
'fetch_params'
:
{
'headers'
:
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'oheaders'
:
self
.
d
.
oheaders
,
'fetch_params'
:
{
'headers'
:
self
.
d
.
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'd'
:
self
.
d
,
'getParse'
:
self
.
d
.
getParse
,
'saveParse'
:
self
.
d
.
saveParse
,
...
...
@@ -992,7 +1002,8 @@ class CMS:
headers
[
'Referer'
]
=
getHome
(
url
)
py_ctx
.
update
({
'input'
:
url
,
'fetch_params'
:
{
'headers'
:
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'oheaders'
:
self
.
d
.
oheaders
,
'fetch_params'
:
{
'headers'
:
self
.
d
.
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'd'
:
self
.
d
,
'KEY'
:
key
,
# 搜索关键字
'TYPE'
:
'search'
,
# 海阔js环境标志
...
...
@@ -1126,7 +1137,8 @@ class CMS:
headers
[
'Referer'
]
=
getHome
(
play_url
)
py_ctx
.
update
({
'input'
:
play_url
,
'fetch_params'
:{
'headers'
:
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'oheaders'
:
self
.
d
.
oheaders
,
'fetch_params'
:{
'headers'
:
self
.
d
.
headers
,
'timeout'
:
self
.
d
.
timeout
,
'encoding'
:
self
.
d
.
encoding
},
'd'
:
self
.
d
,
'jxs'
:
jxs
,
'getParse'
:
self
.
d
.
getParse
,
...
...
js/drpy.js
0 → 100644
浏览文件 @
64acf990
var
rule
=
{
title
:
'
drpy
'
,
host
:
'
https://frodo.douban.com
'
,
homeUrl
:
''
,
searchUrl
:
'
https://v.sogou.com/v?query=**&typemask=6&p=&dp=&dr=&_asf=v.sogou.com&enter=1&ie=utf8
'
,
searchable
:
1
,
quickSearch
:
0
,
filterable
:
1
,
// 分类链接fypage参数支持1个()表达式
url
:
'
/?pg=fypage&class=fyclass
'
,
filter_url
:
'
fl={{fl}}
'
,
headers
:{
"
Host
"
:
"
frodo.douban.com
"
,
"
Connection
"
:
"
Keep-Alive
"
,
"
Referer
"
:
"
https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html
"
,
"
content-type
"
:
"
application/json
"
,
"
User-Agent
"
:
"
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat
"
},
timeout
:
5000
,
class_name
:
'
我的豆瓣&热门电影&热播剧集&热播综艺&电影筛选&电视筛选&电影榜单&电视榜单
'
,
class_url
:
'
interests&hot_gaia&tv_hot&show_hot&movie&tv&rank_list_movie&rank_list_tv
'
,
filter
:{
'
interests
'
:
[{
'
key
'
:
'
status
'
,
'
name
'
:
'
状态
'
,
'
value
'
:
[{
'
n
'
:
'
想看
'
,
'
v
'
:
'
mark
'
},
{
'
n
'
:
'
在看
'
,
'
v
'
:
'
doing
'
},
{
'
n
'
:
'
看过
'
,
'
v
'
:
'
done
'
}]},
{
'
key
'
:
'
subtype_tag
'
,
'
name
'
:
'
形式
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
电影
'
,
'
v
'
:
'
movie
'
},
{
'
n
'
:
'
电视
'
,
'
v
'
:
'
tv
'
}]},
{
'
key
'
:
'
year_tag
'
,
'
name
'
:
'
年代
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
'
全部
'
},
{
'
n
'
:
'
2022
'
,
'
v
'
:
'
2022
'
},
{
'
n
'
:
'
2021
'
,
'
v
'
:
'
2021
'
},
{
'
n
'
:
'
2020
'
,
'
v
'
:
'
2020
'
},
{
'
n
'
:
'
2019
'
,
'
v
'
:
'
2019
'
},
{
'
n
'
:
'
2010年代
'
,
'
v
'
:
'
2010年代
'
},
{
'
n
'
:
'
2000年代
'
,
'
v
'
:
'
2000年代
'
},
{
'
n
'
:
'
90年代
'
,
'
v
'
:
'
90年代
'
},
{
'
n
'
:
'
80年代
'
,
'
v
'
:
'
80年代
'
},
{
'
n
'
:
'
70年代
'
,
'
v
'
:
'
70年代
'
},
{
'
n
'
:
'
60年代
'
,
'
v
'
:
'
60年代
'
},
{
'
n
'
:
'
更早
'
,
'
v
'
:
'
更早
'
}]}],
'
hot_gaia
'
:
[{
'
key
'
:
'
sort
'
,
'
name
'
:
'
排序
'
,
'
value
'
:
[{
'
n
'
:
'
热度
'
,
'
v
'
:
'
recommend
'
},
{
'
n
'
:
'
最新
'
,
'
v
'
:
'
time
'
},
{
'
n
'
:
'
评分
'
,
'
v
'
:
'
rank
'
}]},
{
'
key
'
:
'
area
'
,
'
name
'
:
'
地区
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
'
全部
'
},
{
'
n
'
:
'
华语
'
,
'
v
'
:
'
华语
'
},
{
'
n
'
:
'
欧美
'
,
'
v
'
:
'
欧美
'
},
{
'
n
'
:
'
韩国
'
,
'
v
'
:
'
韩国
'
},
{
'
n
'
:
'
日本
'
,
'
v
'
:
'
日本
'
}]}],
'
tv_hot
'
:
[{
'
key
'
:
'
type
'
,
'
name
'
:
'
分类
'
,
'
value
'
:
[{
'
n
'
:
'
综合
'
,
'
v
'
:
'
tv_hot
'
},
{
'
n
'
:
'
国产剧
'
,
'
v
'
:
'
tv_domestic
'
},
{
'
n
'
:
'
欧美剧
'
,
'
v
'
:
'
tv_american
'
},
{
'
n
'
:
'
日剧
'
,
'
v
'
:
'
tv_japanese
'
},
{
'
n
'
:
'
韩剧
'
,
'
v
'
:
'
tv_korean
'
},
{
'
n
'
:
'
动画
'
,
'
v
'
:
'
tv_animation
'
}]}],
'
show_hot
'
:
[{
'
key
'
:
'
type
'
,
'
name
'
:
'
分类
'
,
'
value
'
:
[{
'
n
'
:
'
综合
'
,
'
v
'
:
'
show_hot
'
},
{
'
n
'
:
'
国内
'
,
'
v
'
:
'
show_domestic
'
},
{
'
n
'
:
'
国外
'
,
'
v
'
:
'
show_foreign
'
}]}],
'
movie
'
:
[{
'
key
'
:
'
类型
'
,
'
name
'
:
'
类型
'
,
'
value
'
:
[{
'
n
'
:
'
全部类型
'
,
'
v
'
:
''
},
{
'
n
'
:
'
喜剧
'
,
'
v
'
:
'
喜剧
'
},
{
'
n
'
:
'
爱情
'
,
'
v
'
:
'
爱情
'
},
{
'
n
'
:
'
动作
'
,
'
v
'
:
'
动作
'
},
{
'
n
'
:
'
科幻
'
,
'
v
'
:
'
科幻
'
},
{
'
n
'
:
'
动画
'
,
'
v
'
:
'
动画
'
},
{
'
n
'
:
'
悬疑
'
,
'
v
'
:
'
悬疑
'
},
{
'
n
'
:
'
犯罪
'
,
'
v
'
:
'
犯罪
'
},
{
'
n
'
:
'
惊悚
'
,
'
v
'
:
'
惊悚
'
},
{
'
n
'
:
'
冒险
'
,
'
v
'
:
'
冒险
'
},
{
'
n
'
:
'
音乐
'
,
'
v
'
:
'
音乐
'
},
{
'
n
'
:
'
历史
'
,
'
v
'
:
'
历史
'
},
{
'
n
'
:
'
奇幻
'
,
'
v
'
:
'
奇幻
'
},
{
'
n
'
:
'
恐怖
'
,
'
v
'
:
'
恐怖
'
},
{
'
n
'
:
'
战争
'
,
'
v
'
:
'
战争
'
},
{
'
n
'
:
'
传记
'
,
'
v
'
:
'
传记
'
},
{
'
n
'
:
'
歌舞
'
,
'
v
'
:
'
歌舞
'
},
{
'
n
'
:
'
武侠
'
,
'
v
'
:
'
武侠
'
},
{
'
n
'
:
'
情色
'
,
'
v
'
:
'
情色
'
},
{
'
n
'
:
'
灾难
'
,
'
v
'
:
'
灾难
'
},
{
'
n
'
:
'
西部
'
,
'
v
'
:
'
西部
'
},
{
'
n
'
:
'
纪录片
'
,
'
v
'
:
'
纪录片
'
},
{
'
n
'
:
'
短片
'
,
'
v
'
:
'
短片
'
}]},
{
'
key
'
:
'
地区
'
,
'
name
'
:
'
地区
'
,
'
value
'
:
[{
'
n
'
:
'
全部地区
'
,
'
v
'
:
''
},
{
'
n
'
:
'
华语
'
,
'
v
'
:
'
华语
'
},
{
'
n
'
:
'
欧美
'
,
'
v
'
:
'
欧美
'
},
{
'
n
'
:
'
韩国
'
,
'
v
'
:
'
韩国
'
},
{
'
n
'
:
'
日本
'
,
'
v
'
:
'
日本
'
},
{
'
n
'
:
'
中国大陆
'
,
'
v
'
:
'
中国大陆
'
},
{
'
n
'
:
'
美国
'
,
'
v
'
:
'
美国
'
},
{
'
n
'
:
'
中国香港
'
,
'
v
'
:
'
中国香港
'
},
{
'
n
'
:
'
中国台湾
'
,
'
v
'
:
'
中国台湾
'
},
{
'
n
'
:
'
英国
'
,
'
v
'
:
'
英国
'
},
{
'
n
'
:
'
法国
'
,
'
v
'
:
'
法国
'
},
{
'
n
'
:
'
德国
'
,
'
v
'
:
'
德国
'
},
{
'
n
'
:
'
意大利
'
,
'
v
'
:
'
意大利
'
},
{
'
n
'
:
'
西班牙
'
,
'
v
'
:
'
西班牙
'
},
{
'
n
'
:
'
印度
'
,
'
v
'
:
'
印度
'
},
{
'
n
'
:
'
泰国
'
,
'
v
'
:
'
泰国
'
},
{
'
n
'
:
'
俄罗斯
'
,
'
v
'
:
'
俄罗斯
'
},
{
'
n
'
:
'
加拿大
'
,
'
v
'
:
'
加拿大
'
},
{
'
n
'
:
'
澳大利亚
'
,
'
v
'
:
'
澳大利亚
'
},
{
'
n
'
:
'
爱尔兰
'
,
'
v
'
:
'
爱尔兰
'
},
{
'
n
'
:
'
瑞典
'
,
'
v
'
:
'
瑞典
'
},
{
'
n
'
:
'
巴西
'
,
'
v
'
:
'
巴西
'
},
{
'
n
'
:
'
丹麦
'
,
'
v
'
:
'
丹麦
'
}]},
{
'
key
'
:
'
sort
'
,
'
name
'
:
'
排序
'
,
'
value
'
:
[{
'
n
'
:
'
近期热度
'
,
'
v
'
:
'
T
'
},
{
'
n
'
:
'
首映时间
'
,
'
v
'
:
'
R
'
},
{
'
n
'
:
'
高分优先
'
,
'
v
'
:
'
S
'
}]},
{
'
key
'
:
'
年代
'
,
'
name
'
:
'
年代
'
,
'
value
'
:
[{
'
n
'
:
'
全部年代
'
,
'
v
'
:
''
},
{
'
n
'
:
'
2022
'
,
'
v
'
:
'
2022
'
},
{
'
n
'
:
'
2021
'
,
'
v
'
:
'
2021
'
},
{
'
n
'
:
'
2020
'
,
'
v
'
:
'
2020
'
},
{
'
n
'
:
'
2019
'
,
'
v
'
:
'
2019
'
},
{
'
n
'
:
'
2010年代
'
,
'
v
'
:
'
2010年代
'
},
{
'
n
'
:
'
2000年代
'
,
'
v
'
:
'
2000年代
'
},
{
'
n
'
:
'
90年代
'
,
'
v
'
:
'
90年代
'
},
{
'
n
'
:
'
80年代
'
,
'
v
'
:
'
80年代
'
},
{
'
n
'
:
'
70年代
'
,
'
v
'
:
'
70年代
'
},
{
'
n
'
:
'
60年代
'
,
'
v
'
:
'
60年代
'
},
{
'
n
'
:
'
更早
'
,
'
v
'
:
'
更早
'
}]}],
'
tv
'
:
[{
'
key
'
:
'
类型
'
,
'
name
'
:
'
类型
'
,
'
value
'
:
[{
'
n
'
:
'
不限
'
,
'
v
'
:
''
},
{
'
n
'
:
'
电视剧
'
,
'
v
'
:
'
电视剧
'
},
{
'
n
'
:
'
综艺
'
,
'
v
'
:
'
综艺
'
}]},
{
'
key
'
:
'
电视剧形式
'
,
'
name
'
:
'
电视剧形式
'
,
'
value
'
:
[{
'
n
'
:
'
不限
'
,
'
v
'
:
''
},
{
'
n
'
:
'
喜剧
'
,
'
v
'
:
'
喜剧
'
},
{
'
n
'
:
'
爱情
'
,
'
v
'
:
'
爱情
'
},
{
'
n
'
:
'
悬疑
'
,
'
v
'
:
'
悬疑
'
},
{
'
n
'
:
'
动画
'
,
'
v
'
:
'
动画
'
},
{
'
n
'
:
'
武侠
'
,
'
v
'
:
'
武侠
'
},
{
'
n
'
:
'
古装
'
,
'
v
'
:
'
古装
'
},
{
'
n
'
:
'
家庭
'
,
'
v
'
:
'
家庭
'
},
{
'
n
'
:
'
犯罪
'
,
'
v
'
:
'
犯罪
'
},
{
'
n
'
:
'
科幻
'
,
'
v
'
:
'
科幻
'
},
{
'
n
'
:
'
恐怖
'
,
'
v
'
:
'
恐怖
'
},
{
'
n
'
:
'
历史
'
,
'
v
'
:
'
历史
'
},
{
'
n
'
:
'
战争
'
,
'
v
'
:
'
战争
'
},
{
'
n
'
:
'
动作
'
,
'
v
'
:
'
动作
'
},
{
'
n
'
:
'
冒险
'
,
'
v
'
:
'
冒险
'
},
{
'
n
'
:
'
传记
'
,
'
v
'
:
'
传记
'
},
{
'
n
'
:
'
剧情
'
,
'
v
'
:
'
剧情
'
},
{
'
n
'
:
'
奇幻
'
,
'
v
'
:
'
奇幻
'
},
{
'
n
'
:
'
惊悚
'
,
'
v
'
:
'
惊悚
'
},
{
'
n
'
:
'
灾难
'
,
'
v
'
:
'
灾难
'
},
{
'
n
'
:
'
歌舞
'
,
'
v
'
:
'
歌舞
'
},
{
'
n
'
:
'
音乐
'
,
'
v
'
:
'
音乐
'
}]},
{
'
key
'
:
'
综艺形式
'
,
'
name
'
:
'
综艺形式
'
,
'
value
'
:
[{
'
n
'
:
'
不限
'
,
'
v
'
:
''
},
{
'
n
'
:
'
真人秀
'
,
'
v
'
:
'
真人秀
'
},
{
'
n
'
:
'
脱口秀
'
,
'
v
'
:
'
脱口秀
'
},
{
'
n
'
:
'
音乐
'
,
'
v
'
:
'
音乐
'
},
{
'
n
'
:
'
歌舞
'
,
'
v
'
:
'
歌舞
'
}]},
{
'
key
'
:
'
地区
'
,
'
name
'
:
'
地区
'
,
'
value
'
:
[{
'
n
'
:
'
全部地区
'
,
'
v
'
:
''
},
{
'
n
'
:
'
华语
'
,
'
v
'
:
'
华语
'
},
{
'
n
'
:
'
欧美
'
,
'
v
'
:
'
欧美
'
},
{
'
n
'
:
'
国外
'
,
'
v
'
:
'
国外
'
},
{
'
n
'
:
'
韩国
'
,
'
v
'
:
'
韩国
'
},
{
'
n
'
:
'
日本
'
,
'
v
'
:
'
日本
'
},
{
'
n
'
:
'
中国大陆
'
,
'
v
'
:
'
中国大陆
'
},
{
'
n
'
:
'
中国香港
'
,
'
v
'
:
'
中国香港
'
},
{
'
n
'
:
'
美国
'
,
'
v
'
:
'
美国
'
},
{
'
n
'
:
'
英国
'
,
'
v
'
:
'
英国
'
},
{
'
n
'
:
'
泰国
'
,
'
v
'
:
'
泰国
'
},
{
'
n
'
:
'
中国台湾
'
,
'
v
'
:
'
中国台湾
'
},
{
'
n
'
:
'
意大利
'
,
'
v
'
:
'
意大利
'
},
{
'
n
'
:
'
法国
'
,
'
v
'
:
'
法国
'
},
{
'
n
'
:
'
德国
'
,
'
v
'
:
'
德国
'
},
{
'
n
'
:
'
西班牙
'
,
'
v
'
:
'
西班牙
'
},
{
'
n
'
:
'
俄罗斯
'
,
'
v
'
:
'
俄罗斯
'
},
{
'
n
'
:
'
瑞典
'
,
'
v
'
:
'
瑞典
'
},
{
'
n
'
:
'
巴西
'
,
'
v
'
:
'
巴西
'
},
{
'
n
'
:
'
丹麦
'
,
'
v
'
:
'
丹麦
'
},
{
'
n
'
:
'
印度
'
,
'
v
'
:
'
印度
'
},
{
'
n
'
:
'
加拿大
'
,
'
v
'
:
'
加拿大
'
},
{
'
n
'
:
'
爱尔兰
'
,
'
v
'
:
'
爱尔兰
'
},
{
'
n
'
:
'
澳大利亚
'
,
'
v
'
:
'
澳大利亚
'
}]},
{
'
key
'
:
'
sort
'
,
'
name
'
:
'
排序
'
,
'
value
'
:
[{
'
n
'
:
'
近期热度
'
,
'
v
'
:
'
T
'
},
{
'
n
'
:
'
首播时间
'
,
'
v
'
:
'
R
'
},
{
'
n
'
:
'
高分优先
'
,
'
v
'
:
'
S
'
}]},
{
'
key
'
:
'
年代
'
,
'
name
'
:
'
年代
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
2022
'
,
'
v
'
:
'
2022
'
},
{
'
n
'
:
'
2021
'
,
'
v
'
:
'
2021
'
},
{
'
n
'
:
'
2020
'
,
'
v
'
:
'
2020
'
},
{
'
n
'
:
'
2019
'
,
'
v
'
:
'
2019
'
},
{
'
n
'
:
'
2010年代
'
,
'
v
'
:
'
2010年代
'
},
{
'
n
'
:
'
2000年代
'
,
'
v
'
:
'
2000年代
'
},
{
'
n
'
:
'
90年代
'
,
'
v
'
:
'
90年代
'
},
{
'
n
'
:
'
80年代
'
,
'
v
'
:
'
80年代
'
},
{
'
n
'
:
'
70年代
'
,
'
v
'
:
'
70年代
'
},
{
'
n
'
:
'
60年代
'
,
'
v
'
:
'
60年代
'
},
{
'
n
'
:
'
更早
'
,
'
v
'
:
'
更早
'
}]},
{
'
key
'
:
'
平台
'
,
'
name
'
:
'
平台
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
腾讯视频
'
,
'
v
'
:
'
腾讯视频
'
},
{
'
n
'
:
'
爱奇艺
'
,
'
v
'
:
'
爱奇艺
'
},
{
'
n
'
:
'
优酷
'
,
'
v
'
:
'
优酷
'
},
{
'
n
'
:
'
湖南卫视
'
,
'
v
'
:
'
湖南卫视
'
},
{
'
n
'
:
'
Netflix
'
,
'
v
'
:
'
Netflix
'
},
{
'
n
'
:
'
HBO
'
,
'
v
'
:
'
HBO
'
},
{
'
n
'
:
'
BBC
'
,
'
v
'
:
'
BBC
'
},
{
'
n
'
:
'
NHK
'
,
'
v
'
:
'
NHK
'
},
{
'
n
'
:
'
CBS
'
,
'
v
'
:
'
CBS
'
},
{
'
n
'
:
'
NBC
'
,
'
v
'
:
'
NBC
'
},
{
'
n
'
:
'
tvN
'
,
'
v
'
:
'
tvN
'
}]}],
'
rank_list_movie
'
:
[{
'
key
'
:
'
榜单
'
,
'
name
'
:
'
榜单
'
,
'
value
'
:
[{
'
n
'
:
'
实时热门电影
'
,
'
v
'
:
'
movie_real_time_hotest
'
},
{
'
n
'
:
'
一周口碑电影榜
'
,
'
v
'
:
'
movie_weekly_best
'
},
{
'
n
'
:
'
豆瓣电影Top250
'
,
'
v
'
:
'
movie_top250
'
}]}],
'
rank_list_tv
'
:
[{
'
key
'
:
'
榜单
'
,
'
name
'
:
'
榜单
'
,
'
value
'
:
[{
'
n
'
:
'
实时热门电视
'
,
'
v
'
:
'
tv_real_time_hotest
'
},
{
'
n
'
:
'
华语口碑剧集榜
'
,
'
v
'
:
'
tv_chinese_best_weekly
'
},
{
'
n
'
:
'
全球口碑剧集榜
'
,
'
v
'
:
'
tv_global_best_weekly
'
},
{
'
n
'
:
'
国内口碑综艺榜
'
,
'
v
'
:
'
show_chinese_best_weekly
'
},
{
'
n
'
:
'
国外口碑综艺榜
'
,
'
v
'
:
'
show_global_best_weekly
'
}]}]},
limit
:
20
,
play_parse
:
true
,
// 手动调用解析请求json的url,此lazy不方便
lazy
:
'
js:print(input);fetch_params.headers["user-agent"]=MOBILE_UA;let html=request(input);let rurl=html.match(/window
\\
.open
\\
(
\'
(.*?)
\'
,/)[1];rurl=urlDeal(rurl);input={parse:1,url:rurl};
'
,
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
一级
:
''
,
一级
:
'
js:print(input);print(MY_CATE);print(MY_PAGE);print(MY_FL);let d=[];let douban_api_host="https://frodo.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print(e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{if(MY_CATE==="interests"){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";let res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count});print(res)}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count});print(res)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];print(items);items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_id:item.type+"$"+item.id,vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d);setResult2(res);
'
,
二级
:
''
,
二级
:
'
js:var vod={vod_id:input};let html=request(input);function adhead(url){let hd="https://v.sogou.com";if(!url.startsWith(hd)){url=hd+url}return urlencode(url)}try{let json=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).detail.itemData;let key=json.dockey;let name=json.name;let zone=json.zone;let score=json.score?json.score:"暂无";let style=json.style;let emcee=json.emcee?"主持:"+json.emcee:json.name;let director=json.director?"导演:"+json.director:name;director=director.replace(/;/g,"
\\
t");let starring=json.starring?"演员:"+json.starring:"声优:"+json.shengyou;starring=starring.replace(/.*undefined/,"").replace(/;/g,"
\\
t");let update=json.update_wordstr?json.update_wordstr:"";let tv_station=json.tv_station?json.tv_station:zone;let introduction=json.introduction;let shengyou=json.shengyou;let shows=json.play_from_open_index;let plays=json.play.item_list;if(shows){vod.vod_name=name;vod.vod_area=emcee+","+tv_station;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_remarks=style+" 评分:"+score+","+update;vod.vod_content=introduction}else{vod.vod_name=name;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_content=introduction}let tp="&type=json";try{let tabs=[];let lists=[];plays.forEach(function(it){lists.push(it.info);let tbn=it.sitename[0]||it.site.replace(".com","");tbn=tbn.split("").join(" ");tabs.push(tbn)});vod.vod_play_from=tabs.join("$$$");vod_lists=[];play_url=play_url.replace("&play_url=","&type=json&play_url=");lists.forEach(function(item,idex){if(item||shows){if(item&&Array.isArray(item)&&item.length>1){let tmp=item.slice(1).map(function(its){return its.index+"$"+play_url+base64Encode(adhead(its.url))});vod_lists.push(tmp.join("#"))}if(shows){let arr=[];let tmp=[];let zy=shows.item_list[idex];zy.date.forEach(function(date){let day=date.day;for(let j=0;j<day.length;j++){let dayy=day[j][0]>=10?day[j][0]:"0"+day[j][0];let Tdate=date.year+date.month+dayy;arr.push(Tdate)}});for(let k=0;k<arr.length;k++){let url="https://v.sogou.com/vc/eplay?query="+arr[k]+"&date="+arr[k]+"&key="+key+"&st=5&tvsite="+plays[idex].site;tmp.push("第"+arr[k]+"期"+"$"+play_url+base64Encode(adhead(url)))}vod_lists.push(tmp.join("#"))}}else if(plays[idex].site){let tmp=[];if(!plays[idex].flag_list.includes("trailer")){tmp.push(plays[idex].sitename[0]+"$"+play_url+base64Encode(adhead(plays[idex].url)))}else{tmp.push(plays[idex].sitename[0]+"—预告"+"$"+play_url+base64Encode(adhead(plays[idex].url)))}vod_lists.push(tmp.join("#"))}});vod.vod_play_url=vod_lists.join("$$$")}catch(e){let img=json.photo.item_list;vod.vod_name="本片无选集";vod.vod_pic=img.length>0?img[0]:""}}catch(e){}
'
,
// 二级:'js:var vod={vod_id:input};let html=request(input);function adhead(url){let hd="https://v.sogou.com";if(!url.startsWith(hd)){url=hd+url}return url}try{let json=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).detail.itemData;let key=json.dockey;let name=json.name;let zone=json.zone;let score=json.score?json.score:"暂无";let style=json.style;let emcee=json.emcee?"主持:"+json.emcee:json.name;let director=json.director?"导演:"+json.director:name;director=director.replace(/;/g,"\\t");let starring=json.starring?"演员:"+json.starring:"声优:"+json.shengyou;starring=starring.replace(/.*undefined/,"").replace(/;/g,"\\t");let update=json.update_wordstr?json.update_wordstr:"";let tv_station=json.tv_station?json.tv_station:zone;let introduction=json.introduction;let shengyou=json.shengyou;let shows=json.play_from_open_index;let plays=json.play.item_list;if(shows){vod.vod_name=name;vod.vod_area=emcee+","+tv_station;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_remarks=style+" 评分:"+score+","+update;vod.vod_content=introduction}else{vod.vod_name=name;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_content=introduction}let tp="&type=json";try{let tabs=[];let lists=[];plays.forEach(function(it){lists.push(it.info);let tbn=it.sitename[0]||it.site.replace(".com","");tbn=tbn.split("").join(" ");tabs.push(tbn)});vod.vod_play_from=tabs.join("$$$");vod_lists=[];play_url=play_url.replace("&play_url=","&type=json&play_url=");lists.forEach(function(item,idex){if(item||shows){if(item&&Array.isArray(item)&&item.length>1){let tmp=item.slice(1).map(function(its){return its.index+"$"+play_url+base64Encode(adhead(its.url))});vod_lists.push(tmp.join("#"))}if(shows){let arr=[];let tmp=[];let zy=shows.item_list[idex];zy.date.forEach(function(date){let day=date.day;for(let j=0;j<day.length;j++){let dayy=day[j][0]>=10?day[j][0]:"0"+day[j][0];let Tdate=date.year+date.month+dayy;arr.push(Tdate)}});for(let k=0;k<arr.length;k++){let url="https://v.sogou.com/vc/eplay?query="+arr[k]+"&date="+arr[k]+"&key="+key+"&st=5&tvsite="+plays[idex].site;tmp.push("第"+arr[k]+"期"+"$"+play_url+base64Encode(adhead(url)))}vod_lists.push(tmp.join("#"))}}else if(plays[idex].site){let tmp=[];if(!plays[idex].flag_list.includes("trailer")){tmp.push(plays[idex].sitename[0]+"$"+play_url+base64Encode(adhead(plays[idex].url)))}else{tmp.push(plays[idex].sitename[0]+"—预告"+"$"+play_url+base64Encode(adhead(plays[idex].url)))}vod_lists.push(tmp.join("#"))}});vod.vod_play_url=vod_lists.join("$$$")}catch(e){let img=json.photo.item_list;vod.vod_name="本片无选集";vod.vod_pic=img.length>0?img[0]:""}}catch(e){}',
搜索
:
''
,
搜索
:
'
js:let d=[];let html=request(input);let jsonA=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).result.longVideo.results;jsonA.forEach(function(it){let name=it.name;let introduction=it.introduction;let pic=it.v_picurl;let url=it.tiny_url;let zone=it.zone;let score=it.score||"暂无";let style=it.style;if(it.play.item_list){let r={};r.title=name.replace(//,"").replace(//,"");r.url="https://v.sogou.com"+url;r.desc=it.list_category.join(",");r.content=introduction;r.pic_url=pic;d.push(r)}});setResult(d);
'
,
}
\ No newline at end of file
libs/pre.js
浏览文件 @
64acf990
...
...
@@ -144,6 +144,16 @@ function setResult(d){
});
return
VODS
}
function
setResult2
(
res
){
VODS
=
res
.
list
;
return
VODS
}
function
setHomeResult
(
res
){
if
(
!
res
||
typeof
(
res
)
!==
'
object
'
){
return
[]
}
return
setResult
(
res
.
list
);
}
// 千万不要用for in 推荐 forEach (for in 会打乱顺序)
//猫函数
function
maoss
(
jxurl
,
ref
,
key
)
{
...
...
py/drpy一级.js
0 → 100644
浏览文件 @
64acf990
js
:
print
(
input
);
print
(
MY_CATE
);
print
(
MY_PAGE
);
print
(
MY_FL
);
let
d
=
[];
let
douban_api_host
=
'
https://frodo.douban.com/api/v2
'
;
let
miniapp_apikey
=
'
0ac44ae016490db2204ce0a042db2916
'
;
const
count
=
30
;
function
miniapp_request
(
path
,
query
){
try
{
let
url
=
douban_api_host
+
path
;
query
.
apikey
=
miniapp_apikey
;
// let headers = {
// "Host": "frodo.douban.com",
// "Connection": "Keep-Alive",
// "Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html",
// "content-type": "application/json",
// "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat"
// }
// fetch_params.headers = headers;
fetch_params
.
headers
=
oheaders
;
// print(fetch_params);
url
=
buildUrl
(
url
,
query
);
// let html = request(url);
let
html
=
fetch
(
url
,
fetch_params
);
// print(html);
return
JSON
.
parse
(
html
);
}
catch
(
e
){
print
(
e
.
message
);
return
{}
}
}
function
cate_filter
(
d
,
douban
){
douban
=
douban
||
''
;
try
{
if
(
MY_CATE
===
'
interests
'
){
let
status
=
MY_FL
.
status
||
"
mark
"
;
let
subtype_tag
=
MY_FL
.
subtype_tag
||
""
;
let
year_tag
=
MY_FL
.
year_tag
||
"
全部
"
;
let
path
=
"
/user/
"
+
douban
+
"
/interests
"
;
let
res
=
miniapp_request
(
path
,
{
"
type
"
:
"
movie
"
,
"
status
"
:
status
,
"
subtype_tag
"
:
subtype_tag
,
"
year_tag
"
:
year_tag
,
"
start
"
:
(
MY_PAGE
-
1
)
*
count
,
"
count
"
:
count
});
print
(
res
);
}
else
if
(
MY_CATE
===
"
hot_gaia
"
){
let
sort
=
MY_FL
.
sort
||
"
recommend
"
;
let
area
=
MY_FL
.
area
||
"
全部
"
;
let
path
=
'
/movie/
'
+
MY_CATE
;
res
=
miniapp_request
(
path
,
{
"
area
"
:
area
,
"
sort
"
:
sort
,
"
start
"
:
(
MY_PAGE
-
1
)
*
count
,
"
count
"
:
count
});
print
(
res
);
}
let
result
=
{
"
page
"
:
MY_PAGE
,
"
pagecount
"
:
Math
.
ceil
(
res
.
total
/
count
),
"
limit
"
:
count
,
"
total
"
:
res
.
total
}
let
items
=
[];
if
(
/rank_list|tv_hot|show_hot/
.
test
(
MY_CATE
))
{
items
=
res
[
'
subject_collection_items
'
]
}
else
if
(
MY_CATE
===
'
interests
'
){
res
[
"
interests
"
].
forEach
(
function
(
it
){
items
.
push
(
it
.
subject
)
});
}
else
{
items
=
res
.
items
}
let
lists
=
[];
// print(items);
items
.
forEach
(
function
(
item
){
if
(
item
.
type
===
'
movie
'
||
item
.
type
===
'
tv
'
){
let
rating
=
item
.
rating
?
item
.
rating
.
value
:
''
;
let
rat_str
=
rating
||
'
暂无评分
'
;
let
title
=
item
.
title
;
let
honor
=
item
.
honor_infos
||
[];
let
honor_str
=
honor
.
map
(
function
(
it
){
return
it
.
title
}).
join
(
'
|
'
);
let
vod_obj
=
{
// "vod_id": f'msearch:{item.get("type", "")}__{item.get("id", "")}',
"
vod_id
"
:
item
.
type
+
'
$
'
+
item
.
id
,
"
vod_name
"
:
title
!==
"
未知电影
"
?
title
:
"
暂不支持展示
"
,
"
vod_pic
"
:
item
.
pic
.
normal
,
"
vod_remarks
"
:
rat_str
+
"
"
+
honor_str
};
let
vod_obj_d
=
{
url
:
item
.
type
+
'
$
'
+
item
.
id
,
title
:
title
!==
"
未知电影
"
?
title
:
"
暂不支持展示
"
,
pic_url
:
item
.
pic
.
normal
,
desc
:
rat_str
+
"
"
+
honor_str
};
lists
.
push
(
vod_obj
);
d
.
push
(
vod_obj_d
);
}
});
result
.
list
=
lists
;
return
result
}
catch
(
e
)
{
print
(
e
.
message
);
}
return
{}
}
// cate_filter(d);
// setResult(d);
let
res
=
cate_filter
(
d
);
// setHomeResult(res);
setResult2
(
res
);
\ No newline at end of file
py/豆瓣筛选.py
0 → 100644
浏览文件 @
64acf990
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File : 豆瓣筛选.py
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
# Date : 2022/9/16
a
=
{
"class"
:[{
"type_id"
:
"interests"
,
"type_name"
:
"我的豆瓣"
},{
"type_id"
:
"hot_gaia"
,
"type_name"
:
"热门电影"
},{
"type_id"
:
"tv_hot"
,
"type_name"
:
"热播剧集"
},{
"type_id"
:
"show_hot"
,
"type_name"
:
"热播综艺"
},{
"type_id"
:
"movie"
,
"type_name"
:
"电影筛选"
},{
"type_id"
:
"tv"
,
"type_name"
:
"电视筛选"
},{
"type_id"
:
"rank_list_movie"
,
"type_name"
:
"电影榜单"
},{
"type_id"
:
"rank_list_tv"
,
"type_name"
:
"电视榜单"
}],
"filters"
:{
"interests"
:[{
"key"
:
"status"
,
"name"
:
"状态"
,
"value"
:[{
"n"
:
"想看"
,
"v"
:
"mark"
},{
"n"
:
"在看"
,
"v"
:
"doing"
},{
"n"
:
"看过"
,
"v"
:
"done"
}]},{
"key"
:
"subtype_tag"
,
"name"
:
"形式"
,
"value"
:[{
"n"
:
"全部"
,
"v"
:
""
},{
"n"
:
"电影"
,
"v"
:
"movie"
},{
"n"
:
"电视"
,
"v"
:
"tv"
}]},{
"key"
:
"year_tag"
,
"name"
:
"年代"
,
"value"
:[{
"n"
:
"全部"
,
"v"
:
"全部"
},{
"n"
:
"2022"
,
"v"
:
"2022"
},{
"n"
:
"2021"
,
"v"
:
"2021"
},{
"n"
:
"2020"
,
"v"
:
"2020"
},{
"n"
:
"2019"
,
"v"
:
"2019"
},{
"n"
:
"2010年代"
,
"v"
:
"2010年代"
},{
"n"
:
"2000年代"
,
"v"
:
"2000年代"
},{
"n"
:
"90年代"
,
"v"
:
"90年代"
},{
"n"
:
"80年代"
,
"v"
:
"80年代"
},{
"n"
:
"70年代"
,
"v"
:
"70年代"
},{
"n"
:
"60年代"
,
"v"
:
"60年代"
},{
"n"
:
"更早"
,
"v"
:
"更早"
}]}],
"hot_gaia"
:[{
"key"
:
"sort"
,
"name"
:
"排序"
,
"value"
:[{
"n"
:
"热度"
,
"v"
:
"recommend"
},{
"n"
:
"最新"
,
"v"
:
"time"
},{
"n"
:
"评分"
,
"v"
:
"rank"
}]},{
"key"
:
"area"
,
"name"
:
"地区"
,
"value"
:[{
"n"
:
"全部"
,
"v"
:
"全部"
},{
"n"
:
"华语"
,
"v"
:
"华语"
},{
"n"
:
"欧美"
,
"v"
:
"欧美"
},{
"n"
:
"韩国"
,
"v"
:
"韩国"
},{
"n"
:
"日本"
,
"v"
:
"日本"
}]}],
"tv_hot"
:[{
"key"
:
"type"
,
"name"
:
"分类"
,
"value"
:[{
"n"
:
"综合"
,
"v"
:
"tv_hot"
},{
"n"
:
"国产剧"
,
"v"
:
"tv_domestic"
},{
"n"
:
"欧美剧"
,
"v"
:
"tv_american"
},{
"n"
:
"日剧"
,
"v"
:
"tv_japanese"
},{
"n"
:
"韩剧"
,
"v"
:
"tv_korean"
},{
"n"
:
"动画"
,
"v"
:
"tv_animation"
}]}],
"show_hot"
:[{
"key"
:
"type"
,
"name"
:
"分类"
,
"value"
:[{
"n"
:
"综合"
,
"v"
:
"show_hot"
},{
"n"
:
"国内"
,
"v"
:
"show_domestic"
},{
"n"
:
"国外"
,
"v"
:
"show_foreign"
}]}],
"movie"
:[{
"key"
:
"类型"
,
"name"
:
"类型"
,
"value"
:[{
"n"
:
"全部类型"
,
"v"
:
""
},{
"n"
:
"喜剧"
,
"v"
:
"喜剧"
},{
"n"
:
"爱情"
,
"v"
:
"爱情"
},{
"n"
:
"动作"
,
"v"
:
"动作"
},{
"n"
:
"科幻"
,
"v"
:
"科幻"
},{
"n"
:
"动画"
,
"v"
:
"动画"
},{
"n"
:
"悬疑"
,
"v"
:
"悬疑"
},{
"n"
:
"犯罪"
,
"v"
:
"犯罪"
},{
"n"
:
"惊悚"
,
"v"
:
"惊悚"
},{
"n"
:
"冒险"
,
"v"
:
"冒险"
},{
"n"
:
"音乐"
,
"v"
:
"音乐"
},{
"n"
:
"历史"
,
"v"
:
"历史"
},{
"n"
:
"奇幻"
,
"v"
:
"奇幻"
},{
"n"
:
"恐怖"
,
"v"
:
"恐怖"
},{
"n"
:
"战争"
,
"v"
:
"战争"
},{
"n"
:
"传记"
,
"v"
:
"传记"
},{
"n"
:
"歌舞"
,
"v"
:
"歌舞"
},{
"n"
:
"武侠"
,
"v"
:
"武侠"
},{
"n"
:
"情色"
,
"v"
:
"情色"
},{
"n"
:
"灾难"
,
"v"
:
"灾难"
},{
"n"
:
"西部"
,
"v"
:
"西部"
},{
"n"
:
"纪录片"
,
"v"
:
"纪录片"
},{
"n"
:
"短片"
,
"v"
:
"短片"
}]},{
"key"
:
"地区"
,
"name"
:
"地区"
,
"value"
:[{
"n"
:
"全部地区"
,
"v"
:
""
},{
"n"
:
"华语"
,
"v"
:
"华语"
},{
"n"
:
"欧美"
,
"v"
:
"欧美"
},{
"n"
:
"韩国"
,
"v"
:
"韩国"
},{
"n"
:
"日本"
,
"v"
:
"日本"
},{
"n"
:
"中国大陆"
,
"v"
:
"中国大陆"
},{
"n"
:
"美国"
,
"v"
:
"美国"
},{
"n"
:
"中国香港"
,
"v"
:
"中国香港"
},{
"n"
:
"中国台湾"
,
"v"
:
"中国台湾"
},{
"n"
:
"英国"
,
"v"
:
"英国"
},{
"n"
:
"法国"
,
"v"
:
"法国"
},{
"n"
:
"德国"
,
"v"
:
"德国"
},{
"n"
:
"意大利"
,
"v"
:
"意大利"
},{
"n"
:
"西班牙"
,
"v"
:
"西班牙"
},{
"n"
:
"印度"
,
"v"
:
"印度"
},{
"n"
:
"泰国"
,
"v"
:
"泰国"
},{
"n"
:
"俄罗斯"
,
"v"
:
"俄罗斯"
},{
"n"
:
"加拿大"
,
"v"
:
"加拿大"
},{
"n"
:
"澳大利亚"
,
"v"
:
"澳大利亚"
},{
"n"
:
"爱尔兰"
,
"v"
:
"爱尔兰"
},{
"n"
:
"瑞典"
,
"v"
:
"瑞典"
},{
"n"
:
"巴西"
,
"v"
:
"巴西"
},{
"n"
:
"丹麦"
,
"v"
:
"丹麦"
}]},{
"key"
:
"sort"
,
"name"
:
"排序"
,
"value"
:[{
"n"
:
"近期热度"
,
"v"
:
"T"
},{
"n"
:
"首映时间"
,
"v"
:
"R"
},{
"n"
:
"高分优先"
,
"v"
:
"S"
}]},{
"key"
:
"年代"
,
"name"
:
"年代"
,
"value"
:[{
"n"
:
"全部年代"
,
"v"
:
""
},{
"n"
:
"2022"
,
"v"
:
"2022"
},{
"n"
:
"2021"
,
"v"
:
"2021"
},{
"n"
:
"2020"
,
"v"
:
"2020"
},{
"n"
:
"2019"
,
"v"
:
"2019"
},{
"n"
:
"2010年代"
,
"v"
:
"2010年代"
},{
"n"
:
"2000年代"
,
"v"
:
"2000年代"
},{
"n"
:
"90年代"
,
"v"
:
"90年代"
},{
"n"
:
"80年代"
,
"v"
:
"80年代"
},{
"n"
:
"70年代"
,
"v"
:
"70年代"
},{
"n"
:
"60年代"
,
"v"
:
"60年代"
},{
"n"
:
"更早"
,
"v"
:
"更早"
}]}],
"tv"
:[{
"key"
:
"类型"
,
"name"
:
"类型"
,
"value"
:[{
"n"
:
"不限"
,
"v"
:
""
},{
"n"
:
"电视剧"
,
"v"
:
"电视剧"
},{
"n"
:
"综艺"
,
"v"
:
"综艺"
}]},{
"key"
:
"电视剧形式"
,
"name"
:
"电视剧形式"
,
"value"
:[{
"n"
:
"不限"
,
"v"
:
""
},{
"n"
:
"喜剧"
,
"v"
:
"喜剧"
},{
"n"
:
"爱情"
,
"v"
:
"爱情"
},{
"n"
:
"悬疑"
,
"v"
:
"悬疑"
},{
"n"
:
"动画"
,
"v"
:
"动画"
},{
"n"
:
"武侠"
,
"v"
:
"武侠"
},{
"n"
:
"古装"
,
"v"
:
"古装"
},{
"n"
:
"家庭"
,
"v"
:
"家庭"
},{
"n"
:
"犯罪"
,
"v"
:
"犯罪"
},{
"n"
:
"科幻"
,
"v"
:
"科幻"
},{
"n"
:
"恐怖"
,
"v"
:
"恐怖"
},{
"n"
:
"历史"
,
"v"
:
"历史"
},{
"n"
:
"战争"
,
"v"
:
"战争"
},{
"n"
:
"动作"
,
"v"
:
"动作"
},{
"n"
:
"冒险"
,
"v"
:
"冒险"
},{
"n"
:
"传记"
,
"v"
:
"传记"
},{
"n"
:
"剧情"
,
"v"
:
"剧情"
},{
"n"
:
"奇幻"
,
"v"
:
"奇幻"
},{
"n"
:
"惊悚"
,
"v"
:
"惊悚"
},{
"n"
:
"灾难"
,
"v"
:
"灾难"
},{
"n"
:
"歌舞"
,
"v"
:
"歌舞"
},{
"n"
:
"音乐"
,
"v"
:
"音乐"
}]},{
"key"
:
"综艺形式"
,
"name"
:
"综艺形式"
,
"value"
:[{
"n"
:
"不限"
,
"v"
:
""
},{
"n"
:
"真人秀"
,
"v"
:
"真人秀"
},{
"n"
:
"脱口秀"
,
"v"
:
"脱口秀"
},{
"n"
:
"音乐"
,
"v"
:
"音乐"
},{
"n"
:
"歌舞"
,
"v"
:
"歌舞"
}]},{
"key"
:
"地区"
,
"name"
:
"地区"
,
"value"
:[{
"n"
:
"全部地区"
,
"v"
:
""
},{
"n"
:
"华语"
,
"v"
:
"华语"
},{
"n"
:
"欧美"
,
"v"
:
"欧美"
},{
"n"
:
"国外"
,
"v"
:
"国外"
},{
"n"
:
"韩国"
,
"v"
:
"韩国"
},{
"n"
:
"日本"
,
"v"
:
"日本"
},{
"n"
:
"中国大陆"
,
"v"
:
"中国大陆"
},{
"n"
:
"中国香港"
,
"v"
:
"中国香港"
},{
"n"
:
"美国"
,
"v"
:
"美国"
},{
"n"
:
"英国"
,
"v"
:
"英国"
},{
"n"
:
"泰国"
,
"v"
:
"泰国"
},{
"n"
:
"中国台湾"
,
"v"
:
"中国台湾"
},{
"n"
:
"意大利"
,
"v"
:
"意大利"
},{
"n"
:
"法国"
,
"v"
:
"法国"
},{
"n"
:
"德国"
,
"v"
:
"德国"
},{
"n"
:
"西班牙"
,
"v"
:
"西班牙"
},{
"n"
:
"俄罗斯"
,
"v"
:
"俄罗斯"
},{
"n"
:
"瑞典"
,
"v"
:
"瑞典"
},{
"n"
:
"巴西"
,
"v"
:
"巴西"
},{
"n"
:
"丹麦"
,
"v"
:
"丹麦"
},{
"n"
:
"印度"
,
"v"
:
"印度"
},{
"n"
:
"加拿大"
,
"v"
:
"加拿大"
},{
"n"
:
"爱尔兰"
,
"v"
:
"爱尔兰"
},{
"n"
:
"澳大利亚"
,
"v"
:
"澳大利亚"
}]},{
"key"
:
"sort"
,
"name"
:
"排序"
,
"value"
:[{
"n"
:
"近期热度"
,
"v"
:
"T"
},{
"n"
:
"首播时间"
,
"v"
:
"R"
},{
"n"
:
"高分优先"
,
"v"
:
"S"
}]},{
"key"
:
"年代"
,
"name"
:
"年代"
,
"value"
:[{
"n"
:
"全部"
,
"v"
:
""
},{
"n"
:
"2022"
,
"v"
:
"2022"
},{
"n"
:
"2021"
,
"v"
:
"2021"
},{
"n"
:
"2020"
,
"v"
:
"2020"
},{
"n"
:
"2019"
,
"v"
:
"2019"
},{
"n"
:
"2010年代"
,
"v"
:
"2010年代"
},{
"n"
:
"2000年代"
,
"v"
:
"2000年代"
},{
"n"
:
"90年代"
,
"v"
:
"90年代"
},{
"n"
:
"80年代"
,
"v"
:
"80年代"
},{
"n"
:
"70年代"
,
"v"
:
"70年代"
},{
"n"
:
"60年代"
,
"v"
:
"60年代"
},{
"n"
:
"更早"
,
"v"
:
"更早"
}]},{
"key"
:
"平台"
,
"name"
:
"平台"
,
"value"
:[{
"n"
:
"全部"
,
"v"
:
""
},{
"n"
:
"腾讯视频"
,
"v"
:
"腾讯视频"
},{
"n"
:
"爱奇艺"
,
"v"
:
"爱奇艺"
},{
"n"
:
"优酷"
,
"v"
:
"优酷"
},{
"n"
:
"湖南卫视"
,
"v"
:
"湖南卫视"
},{
"n"
:
"Netflix"
,
"v"
:
"Netflix"
},{
"n"
:
"HBO"
,
"v"
:
"HBO"
},{
"n"
:
"BBC"
,
"v"
:
"BBC"
},{
"n"
:
"NHK"
,
"v"
:
"NHK"
},{
"n"
:
"CBS"
,
"v"
:
"CBS"
},{
"n"
:
"NBC"
,
"v"
:
"NBC"
},{
"n"
:
"tvN"
,
"v"
:
"tvN"
}]}],
"rank_list_movie"
:[{
"key"
:
"榜单"
,
"name"
:
"榜单"
,
"value"
:[{
"n"
:
"实时热门电影"
,
"v"
:
"movie_real_time_hotest"
},{
"n"
:
"一周口碑电影榜"
,
"v"
:
"movie_weekly_best"
},{
"n"
:
"豆瓣电影Top250"
,
"v"
:
"movie_top250"
}]}],
"rank_list_tv"
:[{
"key"
:
"榜单"
,
"name"
:
"榜单"
,
"value"
:[{
"n"
:
"实时热门电视"
,
"v"
:
"tv_real_time_hotest"
},{
"n"
:
"华语口碑剧集榜"
,
"v"
:
"tv_chinese_best_weekly"
},{
"n"
:
"全球口碑剧集榜"
,
"v"
:
"tv_global_best_weekly"
},{
"n"
:
"国内口碑综艺榜"
,
"v"
:
"show_chinese_best_weekly"
},{
"n"
:
"国外口碑综艺榜"
,
"v"
:
"show_global_best_weekly"
}]}]}}
print
(
a
)
class_name
=
'&'
.
join
([
cls
[
'type_name'
]
for
cls
in
a
[
'class'
]])
class_url
=
'&'
.
join
([
cls
[
'type_id'
]
for
cls
in
a
[
'class'
]])
print
(
class_name
)
print
(
class_url
)
print
(
a
[
'filters'
])
\ No newline at end of file
utils/encode.py
浏览文件 @
64acf990
...
...
@@ -235,7 +235,7 @@ def buildUrl(url,obj=None):
if
str
(
url
).
find
(
'?'
)
<
0
:
url
=
str
(
url
)
+
'?'
prs
=
'&'
.
join
([
f
'
{
i
}
=
{
obj
[
i
]
}
'
for
i
in
obj
])
if
len
(
new_obj
)
>
0
:
if
len
(
new_obj
)
>
0
and
not
str
(
url
).
endswith
(
'?'
)
:
url
+=
'&'
url
=
(
url
+
prs
).
replace
(
'"'
,
''
).
replace
(
"'"
,
''
)
# print(url)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录