Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yq0110
dr_py
提交
281e589a
dr_py
项目概览
yq0110
/
dr_py
落后 Fork 源项目 1 个版本
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,发现更多精彩内容 >>
提交
281e589a
编写于
9月 11, 2022
作者:
H
hjdhnx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化
上级
0560a600
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
38 addition
and
16 deletion
+38
-16
controllers/cms.py
controllers/cms.py
+6
-5
js/菜狗.js
js/菜狗.js
+5
-3
py/搜狗二级.js
py/搜狗二级.js
+7
-5
utils/encode.py
utils/encode.py
+16
-3
utils/system.py
utils/system.py
+4
-0
未找到文件。
controllers/cms.py
浏览文件 @
281e589a
...
...
@@ -58,7 +58,7 @@ class CMS:
self
.
play_disable
=
self
.
lsg
.
getItem
(
'PLAY_DISABLE'
,
False
)
self
.
retry_count
=
new_conf
.
get
(
'RETRY_CNT'
,
3
)
# self.lazy_mode = new_conf.get('LAZYPARSE_MODE')
self
.
lazy_mode
=
self
.
lsg
.
getItem
(
'LAZYPARSE_MODE'
)
self
.
lazy_mode
=
self
.
lsg
.
getItem
(
'LAZYPARSE_MODE'
,
2
)
self
.
ocr_api
=
new_conf
.
get
(
'OCR_API'
)
# self.cate_exclude = new_conf.get('CATE_EXCLUDE','')
self
.
cate_exclude
=
self
.
lsg
.
getItem
(
'CATE_EXCLUDE'
,
''
)
...
...
@@ -89,6 +89,7 @@ class CMS:
# play_url = new_conf.get('PLAY_URL',getHost(2))
if
not
play_url
.
startswith
(
'http'
):
play_url
=
'http://'
+
play_url
# print(play_url)
if
self
.
play_parse
:
# self.play_url = play_url + self.vod + '?play_url='
self
.
play_url
=
f
'
{
play_url
}{
self
.
vod
}
?rule=
{
self
.
id
}
&play_url='
...
...
@@ -98,7 +99,7 @@ class CMS:
else
:
self
.
play_parse
=
False
self
.
play_url
=
''
#
logger.info('播放免嗅地址: '+self.play_url)
logger
.
info
(
'播放免嗅地址: '
+
self
.
play_url
)
self
.
db
=
db
self
.
RuleClass
=
RuleClass
...
...
@@ -758,7 +759,7 @@ class CMS:
'd'
:
self
.
d
,
'getParse'
:
self
.
d
.
getParse
,
'saveParse'
:
self
.
d
.
saveParse
,
'jsp'
:
jsp
,
'setDetail'
:
setDetail
,
'jsp'
:
jsp
,
'setDetail'
:
setDetail
,
'play_url'
:
self
.
play_url
})
ctx
=
py_ctx
# print(ctx)
...
...
@@ -941,7 +942,7 @@ class CMS:
'list'
:
[]
}
logger
.
info
(
f
'
{
self
.
getName
()
}
获取详情页耗时:
{
get_interval
(
t1
)
}
毫秒,发生错误:
{
e
}
'
)
#
print(result)
print
(
result
)
return
result
def
searchContent
(
self
,
key
,
fypage
=
1
):
...
...
@@ -1097,7 +1098,7 @@ class CMS:
'saveParse'
:
self
.
d
.
saveParse
,
'jsp'
:
jsp
,
'pdfh'
:
self
.
d
.
jsp
.
pdfh
,
'pdfa'
:
self
.
d
.
jsp
.
pdfa
,
'pd'
:
self
.
d
.
jsp
.
pd
,
'pdfa'
:
self
.
d
.
jsp
.
pdfa
,
'pd'
:
self
.
d
.
jsp
.
pd
,
'play_url'
:
self
.
play_url
})
ctx
=
py_ctx
# print(ctx)
...
...
js/菜狗.js
浏览文件 @
281e589a
...
...
@@ -16,13 +16,14 @@ var rule = {
filterable
:
1
,
filter
:{
'
teleplay
'
:
[{
'
key
'
:
'
style
'
,
'
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
'
:
'
其他
'
}]},
{
'
key
'
:
'
zone
'
,
'
name
'
:
'
地区
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
内地
'
,
'
v
'
:
'
内地
'
},
{
'
n
'
:
'
香港
'
,
'
v
'
:
'
香港
'
},
{
'
n
'
:
'
台湾
'
,
'
v
'
:
'
台湾
'
},
{
'
n
'
:
'
韩国
'
,
'
v
'
:
'
韩国
'
},
{
'
n
'
:
'
泰国
'
,
'
v
'
:
'
泰国
'
},
{
'
n
'
:
'
日本
'
,
'
v
'
:
'
日本
'
},
{
'
n
'
:
'
美国
'
,
'
v
'
:
'
美国
'
},
{
'
n
'
:
'
英国
'
,
'
v
'
:
'
英国
'
},
{
'
n
'
:
'
新加坡
'
,
'
v
'
:
'
新加坡
'
},
{
'
n
'
:
'
其他
'
,
'
v
'
:
'
其他
'
}]},
{
'
key
'
:
'
year
'
,
'
name
'
:
'
年代
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
2022
'
,
'
v
'
:
'
2022
'
},
{
'
n
'
:
'
2021
'
,
'
v
'
:
'
2021
'
},
{
'
n
'
:
'
2020
'
,
'
v
'
:
'
2020
'
},
{
'
n
'
:
'
2019
'
,
'
v
'
:
'
2019
'
},
{
'
n
'
:
'
2018
'
,
'
v
'
:
'
2018
'
},
{
'
n
'
:
'
2017
'
,
'
v
'
:
'
2017
'
},
{
'
n
'
:
'
2016
'
,
'
v
'
:
'
2016
'
},
{
'
n
'
:
'
2015
'
,
'
v
'
:
'
2015
'
},
{
'
n
'
:
'
2014
'
,
'
v
'
:
'
2014
'
},
{
'
n
'
:
'
更早
'
,
'
v
'
:
'
更早
'
}]},
{
'
key
'
:
'
fee
'
,
'
name
'
:
'
资源
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
正片
'
,
'
v
'
:
'
正片
'
},
{
'
n
'
:
'
免费正片
'
,
'
v
'
:
'
免费正片
'
},
{
'
n
'
:
'
付费正片
'
,
'
v
'
:
'
付费正片
'
}]},
{
'
key
'
:
'
order
'
,
'
name
'
:
'
排序
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
最新
'
,
'
v
'
:
'
最新
'
},
{
'
n
'
:
'
好评
'
,
'
v
'
:
'
好评
'
}]}],
'
film
'
:
[{
'
key
'
:
'
style
'
,
'
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
'
:
'
其他
'
}]},
{
'
key
'
:
'
zone
'
,
'
name
'
:
'
地区
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
内地
'
,
'
v
'
:
'
内地
'
},
{
'
n
'
:
'
香港
'
,
'
v
'
:
'
香港
'
},
{
'
n
'
:
'
台湾
'
,
'
v
'
:
'
台湾
'
},
{
'
n
'
:
'
韩国
'
,
'
v
'
:
'
韩国
'
},
{
'
n
'
:
'
泰国
'
,
'
v
'
:
'
泰国
'
},
{
'
n
'
:
'
日本
'
,
'
v
'
:
'
日本
'
},
{
'
n
'
:
'
美国
'
,
'
v
'
:
'
美国
'
},
{
'
n
'
:
'
英国
'
,
'
v
'
:
'
英国
'
},
{
'
n
'
:
'
新加坡
'
,
'
v
'
:
'
新加坡
'
},
{
'
n
'
:
'
其他
'
,
'
v
'
:
'
其他
'
}]},
{
'
key
'
:
'
year
'
,
'
name
'
:
'
年代
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
2022
'
,
'
v
'
:
'
2022
'
},
{
'
n
'
:
'
2021
'
,
'
v
'
:
'
2021
'
},
{
'
n
'
:
'
2020
'
,
'
v
'
:
'
2020
'
},
{
'
n
'
:
'
2019
'
,
'
v
'
:
'
2019
'
},
{
'
n
'
:
'
2018
'
,
'
v
'
:
'
2018
'
},
{
'
n
'
:
'
2017
'
,
'
v
'
:
'
2017
'
},
{
'
n
'
:
'
2016
'
,
'
v
'
:
'
2016
'
},
{
'
n
'
:
'
2015
'
,
'
v
'
:
'
2015
'
},
{
'
n
'
:
'
2014
'
,
'
v
'
:
'
2014
'
},
{
'
n
'
:
'
更早
'
,
'
v
'
:
'
更早
'
}]},
{
'
key
'
:
'
fee
'
,
'
name
'
:
'
资源
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
正片
'
,
'
v
'
:
'
正片
'
},
{
'
n
'
:
'
免费正片
'
,
'
v
'
:
'
免费正片
'
},
{
'
n
'
:
'
付费正片
'
,
'
v
'
:
'
付费正片
'
}]},
{
'
key
'
:
'
order
'
,
'
name
'
:
'
排序
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
最新
'
,
'
v
'
:
'
最新
'
},
{
'
n
'
:
'
好评
'
,
'
v
'
:
'
好评
'
}]}],
'
cartoon
'
:
[{
'
key
'
:
'
style
'
,
'
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
'
:
'
其他
'
}]},
{
'
key
'
:
'
zone
'
,
'
name
'
:
'
地区
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
日本
'
,
'
v
'
:
'
日本
'
},
{
'
n
'
:
'
欧美
'
,
'
v
'
:
'
欧美
'
},
{
'
n
'
:
'
国产
'
,
'
v
'
:
'
国产
'
},
{
'
n
'
:
'
其他
'
,
'
v
'
:
'
其他
'
}]},
{
'
key
'
:
'
year
'
,
'
name
'
:
'
年代
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
2022
'
,
'
v
'
:
'
2022
'
},
{
'
n
'
:
'
2021
'
,
'
v
'
:
'
2021
'
},
{
'
n
'
:
'
2020
'
,
'
v
'
:
'
2020
'
},
{
'
n
'
:
'
2019
'
,
'
v
'
:
'
2019
'
},
{
'
n
'
:
'
2018
'
,
'
v
'
:
'
2018
'
},
{
'
n
'
:
'
2017
'
,
'
v
'
:
'
2017
'
},
{
'
n
'
:
'
2016
'
,
'
v
'
:
'
2016
'
},
{
'
n
'
:
'
2015
'
,
'
v
'
:
'
2015
'
},
{
'
n
'
:
'
2014
'
,
'
v
'
:
'
2014
'
},
{
'
n
'
:
'
更早
'
,
'
v
'
:
'
更早
'
}]},
{
'
key
'
:
'
fee
'
,
'
name
'
:
'
资源
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
正片
'
,
'
v
'
:
'
正片
'
},
{
'
n
'
:
'
免费正片
'
,
'
v
'
:
'
免费正片
'
},
{
'
n
'
:
'
付费正片
'
,
'
v
'
:
'
付费正片
'
}]},
{
'
key
'
:
'
order
'
,
'
name
'
:
'
排序
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
最新
'
,
'
v
'
:
'
最新
'
},
{
'
n
'
:
'
好评
'
,
'
v
'
:
'
好评
'
}]}],
'
tvshow
'
:
[{
'
key
'
:
'
style
'
,
'
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
'
:
'
其他
'
}]},
{
'
key
'
:
'
zone
'
,
'
name
'
:
'
地区
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
内地
'
,
'
v
'
:
'
内地
'
},
{
'
n
'
:
'
台湾
'
,
'
v
'
:
'
台湾
'
},
{
'
n
'
:
'
日韩
'
,
'
v
'
:
'
日韩
'
},
{
'
n
'
:
'
欧美
'
,
'
v
'
:
'
欧美
'
},
{
'
n
'
:
'
其他
'
,
'
v
'
:
'
其他
'
}]},
{
'
key
'
:
'
emcee
'
,
'
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
'
:
'
谢娜
'
}]},
{
'
key
'
:
'
order
'
,
'
name
'
:
'
排序
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
最新
'
,
'
v
'
:
'
最新
'
},
{
'
n
'
:
'
好评
'
,
'
v
'
:
'
好评
'
}]}],
'
documentary
'
:
[{
'
key
'
:
'
style
'
,
'
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
'
:
'
其他
'
}]},
{
'
key
'
:
'
zone
'
,
'
name
'
:
'
地区
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
内地
'
,
'
v
'
:
'
内地
'
},
{
'
n
'
:
'
香港
'
,
'
v
'
:
'
香港
'
},
{
'
n
'
:
'
台湾
'
,
'
v
'
:
'
台湾
'
},
{
'
n
'
:
'
韩国
'
,
'
v
'
:
'
韩国
'
},
{
'
n
'
:
'
泰国
'
,
'
v
'
:
'
泰国
'
},
{
'
n
'
:
'
日本
'
,
'
v
'
:
'
日本
'
},
{
'
n
'
:
'
美国
'
,
'
v
'
:
'
美国
'
},
{
'
n
'
:
'
英国
'
,
'
v
'
:
'
英国
'
},
{
'
n
'
:
'
新加坡
'
,
'
v
'
:
'
新加坡
'
},
{
'
n
'
:
'
其他
'
,
'
v
'
:
'
其他
'
}]},
{
'
key
'
:
'
year
'
,
'
name
'
:
'
年代
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
2022
'
,
'
v
'
:
'
2022
'
},
{
'
n
'
:
'
2021
'
,
'
v
'
:
'
2021
'
},
{
'
n
'
:
'
2020
'
,
'
v
'
:
'
2020
'
},
{
'
n
'
:
'
2019
'
,
'
v
'
:
'
2019
'
},
{
'
n
'
:
'
2018
'
,
'
v
'
:
'
2018
'
},
{
'
n
'
:
'
2017
'
,
'
v
'
:
'
2017
'
},
{
'
n
'
:
'
2016
'
,
'
v
'
:
'
2016
'
},
{
'
n
'
:
'
2015
'
,
'
v
'
:
'
2015
'
},
{
'
n
'
:
'
2014
'
,
'
v
'
:
'
2014
'
},
{
'
n
'
:
'
更早
'
,
'
v
'
:
'
更早
'
}]},
{
'
key
'
:
'
fee
'
,
'
name
'
:
'
资源
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
正片
'
,
'
v
'
:
'
正片
'
},
{
'
n
'
:
'
免费正片
'
,
'
v
'
:
'
免费正片
'
},
{
'
n
'
:
'
付费正片
'
,
'
v
'
:
'
付费正片
'
}]},
{
'
key
'
:
'
order
'
,
'
name
'
:
'
排序
'
,
'
value
'
:
[{
'
n
'
:
'
全部
'
,
'
v
'
:
''
},
{
'
n
'
:
'
最新
'
,
'
v
'
:
'
最新
'
},
{
'
n
'
:
'
好评
'
,
'
v
'
:
'
好评
'
}]}]},
limit
:
20
,
//
play_parse:true,
play_parse
:
true
,
// 手动调用解析请求json的url,此lazy不方便
lazy
:
'
js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input
'
,
// lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input',
lazy
:
'
js:fetch_params.withHeaders = 1;let data=fetch(input,fetch_params);log(input);log(data);
'
,
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
一级
:
'
js:let d=[];let html=request(input);html=JSON.parse(html);let list=html.listData.results;list.forEach(function(it){let desc1=it.ipad_play_for_list.finish_episode?it.ipad_play_for_list.episode===it.ipad_play_for_list.finish_episode?"全集"+it.ipad_play_for_list.finish_episode:"连载"+it.ipad_play_for_list.episode+"/"+it.ipad_play_for_list.finish_episode:"";let desc2=it.score?"评分:"+it.score:"";let desc3=it.date?"更至:"+it.date:"";d.push({title:it.name,img:it.v_picurl,url:"https://v.sogou.com"+it.url.replace("teleplay","series").replace("cartoon","series"),desc:desc1||desc2||desc3})});setResult(d);
'
,
二级
:
''
,
二级
:
'
js:var vod={vod_id:input};let html=request(input);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}try{let tabs=[];let lists=[];plays.forEach(function(it){lists.push(it.info);
tabs.push(it.sitename[0]||it.site.replace(".com",""))});vod.vod_play_from=tabs.join("$$$");vod_lists=[];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+"$"+"https://v.sogou.com"+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]+"期"+"$"+"https://v.sogou.com"+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]+"$"+"https://v.sogou.com"+plays[idex].url)}else{tmp.push(plays[idex].sitename[0]+"—预告"+"$"
+"https://v.sogou.com"+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);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}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=[];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+"https://v.sogou.com"+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+"https://v.sogou.com"+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+"https://v.sogou.com"+plays[idex].url)}else{tmp.push(plays[idex].sitename[0]+"—预告"+"$"+play_url
+"https://v.sogou.com"+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
py/搜狗二级.js
浏览文件 @
281e589a
...
...
@@ -43,7 +43,9 @@ try {
let
lists
=
[];
plays
.
forEach
(
function
(
it
){
lists
.
push
(
it
.
info
);
tabs
.
push
(
it
.
sitename
[
0
]
||
it
.
site
.
replace
(
'
.com
'
,
''
));
let
tbn
=
it
.
sitename
[
0
]
||
it
.
site
.
replace
(
'
.com
'
,
''
);
tbn
=
tbn
.
split
(
''
).
join
(
'
'
);
// 加空格防止被软件拦截
tabs
.
push
(
tbn
);
});
vod
.
vod_play_from
=
tabs
.
join
(
'
$$$
'
);
// print(vod);
...
...
@@ -53,7 +55,7 @@ try {
lists
.
forEach
(
function
(
item
,
idex
){
// item是个json列表
if
(
item
||
shows
)
{
// 动漫,电视剧
if
(
item
&&
Array
.
isArray
(
item
)
&&
item
.
length
>
1
){
let
tmp
=
item
.
slice
(
1
).
map
(
function
(
its
){
return
its
.
index
+
'
$
'
+
'
https://v.sogou.com
'
+
its
.
url
});
let
tmp
=
item
.
slice
(
1
).
map
(
function
(
its
){
return
its
.
index
+
'
$
'
+
play_url
+
'
https://v.sogou.com
'
+
its
.
url
});
vod_lists
.
push
(
tmp
.
join
(
'
#
'
));
}
if
(
shows
)
{
//综艺,纪录片
...
...
@@ -71,7 +73,7 @@ try {
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
]
+
"
期
"
+
'
$
'
+
'
https://v.sogou.com
'
+
url
);
tmp
.
push
(
"
第
"
+
arr
[
k
]
+
"
期
"
+
'
$
'
+
play_url
+
'
https://v.sogou.com
'
+
url
);
}
vod_lists
.
push
(
tmp
.
join
(
'
#
'
));
}
...
...
@@ -79,9 +81,9 @@ try {
// print(plays[idex].site);
let
tmp
=
[];
if
(
!
plays
[
idex
].
flag_list
.
includes
(
'
trailer
'
))
{
tmp
.
push
(
plays
[
idex
].
sitename
[
0
]
+
'
$
'
+
'
https://v.sogou.com
'
+
plays
[
idex
].
url
);
tmp
.
push
(
plays
[
idex
].
sitename
[
0
]
+
'
$
'
+
play_url
+
'
https://v.sogou.com
'
+
plays
[
idex
].
url
);
}
else
{
tmp
.
push
(
plays
[
idex
].
sitename
[
0
]
+
'
—预告
'
+
'
$
'
+
"
https://v.sogou.com
"
+
plays
[
idex
].
url
);
tmp
.
push
(
plays
[
idex
].
sitename
[
0
]
+
'
—预告
'
+
'
$
'
+
play_url
+
"
https://v.sogou.com
"
+
plays
[
idex
].
url
);
}
vod_lists
.
push
(
tmp
.
join
(
'
#
'
));
}
...
...
utils/encode.py
浏览文件 @
281e589a
...
...
@@ -142,6 +142,8 @@ def dealObj(obj=None):
encoding
=
str
(
encoding
).
replace
(
"'"
,
""
)
method
=
obj
.
get
(
'method'
)
or
'get'
method
=
str
(
method
).
replace
(
"'"
,
""
)
withHeaders
=
obj
.
get
(
'withHeaders'
)
or
''
withHeaders
=
str
(
withHeaders
).
replace
(
"'"
,
""
)
# print(type(url),url)
# headers = dict(obj.get('headers')) if obj.get('headers') else {}
# headers = obj.get('headers').to_dict() if obj.get('headers') else {}
...
...
@@ -163,13 +165,16 @@ def dealObj(obj=None):
'headers'
:
new_headers
,
'timeout'
:
timeout
,
'body'
:
new_body
,
'method'
:
method
'method'
:
method
,
'withHeaders'
:
withHeaders
}
def
base_request
(
url
,
obj
):
# verify=False 关闭证书验证
url
=
str
(
url
).
replace
(
"'"
,
""
)
method
=
obj
.
get
(
'method'
)
or
''
withHeaders
=
obj
.
get
(
'withHeaders'
)
or
''
print
(
f
'withHeaders:
{
withHeaders
}
'
)
if
not
method
:
method
=
'get'
obj
[
'method'
]
=
'method'
...
...
@@ -186,10 +191,18 @@ def base_request(url,obj):
# print(encoding)
r
.
encoding
=
obj
[
'encoding'
]
# print(f'源码:{r.text}')
return
r
.
text
if
withHeaders
:
backObj
=
{
'url'
:
r
.
url
,
'body'
:
r
.
text
,
'headers'
:
r
.
headers
}
return
backObj
else
:
return
r
.
text
except
Exception
as
e
:
print
(
f
'
{
method
}
请求发生错误:
{
e
}
'
)
return
''
return
{}
if
withHeaders
else
''
def
fetch
(
url
,
obj
):
obj
=
dealObj
(
obj
)
...
...
utils/system.py
浏览文件 @
281e589a
...
...
@@ -31,6 +31,10 @@ def get_host_ip(): # 获取局域网ip
def
getHost
(
mode
=
0
,
port
=
None
):
port
=
port
or
request
.
environ
.
get
(
'SERVER_PORT'
)
# mode 为0是本地,1是局域网 2是线上
try
:
mode
=
int
(
mode
)
except
:
mode
=
2
if
mode
==
0
:
host
=
f
'http://localhost:
{
port
}
'
elif
mode
==
1
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录