Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
言程序plus
dr_py
提交
4ee0dc07
dr_py
项目概览
言程序plus
/
dr_py
与 Fork 源项目一致
从无法访问的项目Fork
通知
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,发现更多精彩内容 >>
提交
4ee0dc07
编写于
9月 11, 2022
作者:
H
hjdhnx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
菜狗源编写中,完成了一半了
上级
e909ef11
变更
8
显示空白变更内容
内联
并排
Showing
8 changed file
with
369 addition
and
11 deletion
+369
-11
controllers/cms.py
controllers/cms.py
+24
-4
js/菜狗.js
js/菜狗.js
+33
-0
py/搜狗二级.js
py/搜狗二级.js
+218
-0
py/搜狗搜索.js
py/搜狗搜索.js
+25
-0
py/搜狗筛选.py
py/搜狗筛选.py
+38
-0
py/搜索一级.js
py/搜索一级.js
+18
-0
readme.md
readme.md
+1
-0
utils/htmlParser.py
utils/htmlParser.py
+12
-7
未找到文件。
controllers/cms.py
浏览文件 @
4ee0dc07
...
...
@@ -13,7 +13,7 @@ from utils.system import getHost
from
utils.config
import
playerConfig
from
utils.log
import
logger
from
utils.encode
import
base64Encode
,
baseDecode
,
fetch
,
post
,
request
,
getCryptoJS
,
getPreJs
,
buildUrl
,
getHome
from
utils.encode
import
verifyCode
,
setDetail
,
join
,
urljoin2
from
utils.encode
import
verifyCode
,
setDetail
,
join
,
urljoin2
,
parseText
from
utils.safePython
import
safePython
from
utils.parser
import
runPy
,
runJScode
,
JsObjectWrapper
from
utils.htmlParser
import
jsoup
...
...
@@ -463,6 +463,9 @@ class CMS:
result
[
'class'
]
=
classes
if
self
.
filter
:
if
isinstance
(
self
.
filter
,
dict
):
result
[
'filters'
]
=
self
.
filter
else
:
result
[
'filters'
]
=
playerConfig
[
'filter'
]
result
.
update
(
video_result
)
# print(result)
...
...
@@ -611,7 +614,23 @@ class CMS:
# url = self.url + '/{0}.html'.format
t1
=
time
()
pg
=
str
(
fypage
)
url
=
self
.
url
.
replace
(
'fyclass'
,
fyclass
).
replace
(
'fypage'
,
pg
)
url
=
self
.
url
.
replace
(
'fyclass'
,
fyclass
)
if
url
.
find
(
'fypage'
)
>
-
1
:
if
'('
in
url
and
')'
in
url
:
# url_rep = url[url.find('('):url.find(')')+1]
# cnt_page = url.split('(')[1].split(')')[0].replace('fypage',pg)
# print(url_rep)
url_rep
=
re
.
search
(
'.*?\((.*)\)'
,
url
,
re
.
M
|
re
.
S
).
groups
()[
0
]
cnt_page
=
url_rep
.
replace
(
'fypage'
,
pg
)
# print(url_rep)
# print(cnt_page)
cnt_ctx
=
{}
exec
(
f
'cnt_pg=
{
cnt_page
}
'
,
cnt_ctx
)
cnt_pg
=
str
(
cnt_ctx
[
'cnt_pg'
])
# 计算表达式的结果
url
=
url
.
replace
(
url_rep
,
str
(
cnt_pg
)).
replace
(
'('
,
''
).
replace
(
')'
,
''
)
print
(
url
)
else
:
url
=
url
.
replace
(
'fypage'
,
pg
)
if
fypage
==
1
and
self
.
test
(
'[\[\]]'
,
url
):
url
=
url
.
split
(
'['
)[
1
].
split
(
']'
)[
0
]
p
=
self
.
一级
...
...
@@ -958,9 +977,10 @@ class CMS:
loader
,
_
=
runJScode
(
jscode
,
ctx
=
ctx
)
# print(loader.toString())
vods
=
loader
.
eval
(
'VODS'
)
# print(
vods
)
# print(
len(vods),type(vods)
)
if
isinstance
(
vods
,
JsObjectWrapper
):
videos
=
vods
.
to_list
()
# print(videos)
else
:
p
=
p
.
split
(
';'
)
if
len
(
p
)
<
5
:
...
...
js/菜狗.js
0 → 100644
浏览文件 @
4ee0dc07
var
rule
=
{
title
:
'
菜狗
'
,
host
:
'
https://waptv.sogou.com/
'
,
homeUrl
:
''
,
detailUrl
:
'
https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid
'
,
searchUrl
:
'
https://v.sogou.com/v?query=**&typemask=6&p=&dp=&dr=&_asf=v.sogou.com&enter=1&ie=utf8
'
,
searchable
:
1
,
quickSearch
:
0
,
// 分类链接fypage参数支持1个()表达式
url
:
'
/napi/video/classlist?abtest=0&iploc=CN1304&spver=&listTab=fyclass&filter=&start=((fypage-1)*15)&len=15&fr=filter
'
,
headers
:{
'
User-Agent
'
:
'
MOBILE_UA
'
},
timeout
:
5000
,
class_name
:
'
电视剧&电影&动漫&综艺&纪录片
'
,
class_url
:
'
teleplay&film&cartoon&tvshow&documentary
'
,
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,
// 手动调用解析请求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
'
,
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
// 一级:'json:.listData.results;name;v_picurl;ipad_play_for_list.episode||score||date;url',
一级
:
'
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);
'
,
// 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"},
// 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites","lists":"data.playlinksdetail.#idv.default_url"},
二级
:
''
,
二级
:
'
js:var vod={};let d=[];let video_list=[];let video_lists=[];let list=[];let html=fetch(input,fetch_params);let sourceId=/get_playsource/.test(input)?input.match(/id=(
\\
d*?)&/)[1]:input.split("cid=")[1];let cid=sourceId;let detailUrl="https://v.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;try{let json=JSON.parse(html);vod={vod_id:json.c.vid,vod_url:input,vod_name:json.c.title,type_name:json.typ.join(","),vod_actor:json.nam.join(","),vod_year:json.c.year,vod_content:json.c.description,vod_remarks:json.rec,vod_pic:urljoin2(input,json.c.pic)}}catch(e){log("解析片名海报等基础信息发生错误:"+e.message)}if(/get_playsource/.test(input)){eval(html);let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+sourceId+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"
\\
t
\\
t
\\
t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else{let json=JSON.parse(html);video_lists=json.c.video_ids;let url="https://v.qq.com/x/cover/"+sourceId+".html";if(json.c.type===10){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json";let o_html=fetch(dataUrl,fetch_params);eval(o_html);video_lists=[];let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"
\\
t
\\
t
\\
t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else if(video_lists.length===1){d.push({title:"在线播放",url:url})}else if(video_lists.length>1){for(let i=0;i<video_lists.length;i+=30){video_list.push(video_lists.slice(i,i+30))}video_list.forEach(function(it,idex){let o_url="https://union.video.qq.com/fcgi-bin/data?otype=json&tid=682&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist="+it.join(",");let o_html=fetch(o_url,fetch_params);eval(o_html);QZOutputJson.results.forEach(function(it1){it1=it1.fields;let url="https://v.qq.com/x/cover/"+cid+"/"+it1.vid+".html";d.push({title:it1.title,pic_url:it1.pic160x90.replace("/160",""),desc:it1.video_checkup_time,url:url})})})}}vod.vod_play_from="qq";vod.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");
'
,
搜索
:
''
,
搜索
:
'
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
0 → 100644
浏览文件 @
4ee0dc07
js
:
var
res
=
{};
var
d
=
[];
var
html
=
getResCode
();
var
jsUrl
=
fetch
(
'
hiker://files/cache/MyParseSet.json
'
);
if
(
jsUrl
==
''
||
!
fetch
(
JSON
.
parse
(
jsUrl
).
cj
))
{
var
jsFile
=
fetch
(
'
https://gitee.com/Duan-Nian/Dn/raw/master/hikerview/CloudParse-V2_Dn.js
'
);
}
else
{
var
jsFile
=
fetch
(
JSON
.
parse
(
jsUrl
).
cj
);
}
eval
(
jsFile
);
if
(
getVar
(
"
解析列表
"
)
==
"
开
"
)
{
setParse
();
}
var
easy
=
`@lazyRule=.js:try{var input=fetch(input,{}).split("('")[1].split("',")[0];if(input.match(/ixigua|iqiyi|qq.com|mgtv|le.com|bili|sohu|youku|pptv|cctv|1905.com/)){var input=input.split("?")[0];{input;`
+
lazy
+
`}}else if(input.match(/huanxi/)){var input=input.split("&")[0];{input;`
+
lazy
+
`}}else if(input.match(/migu/)){var input=input.replace(/\\?.*cid/,'?cid').replace(/http/,'https').split("&")[0];{input;`
+
lazy
+
`}}else{input;`
+
lazy
+
`}}catch(e){input}`
;
var
Rule
=
MY_URL
+
`@rule=js:var res={};var d=[];var html=getResCode();var get=parseDomForHtml(html, 'body&&.srch-result-info&&Html');for(let i = 0;;i++){try{d.push({title:parseDomForHtml(get, 'div,' +i+ '&&Html'),col_type: 'rich_text'});d.push({col_type: 'line'});}catch(e){break;}};res.data=d;setHomeResult(res);`
;
try
{
var
json
=
JSON
.
parse
(
html
.
match
(
/INITIAL_STATE.*
?(
{.*}
)
;/
)[
1
]).
detail
.
itemData
;
var
key
=
json
.
dockey
;
var
name
=
json
.
name
;
var
zone
=
json
.
zone
;
var
score
=
json
.
score
?
json
.
score
:
'
暂无
'
;
var
style
=
json
.
style
;
var
emcee
=
json
.
emcee
?
'
主持:
'
+
json
.
emcee
:
json
.
name
;
var
director
=
json
.
director
?
'
导演:
'
+
json
.
director
:
name
;
var
starring
=
json
.
starring
?
'
演员:
'
+
json
.
starring
:
'
声优:
'
+
json
.
shengyou
;
var
update
=
json
.
update_wordstr
?
json
.
update_wordstr
:
''
;
var
tv_station
=
json
.
tv_station
?
json
.
tv_station
:
zone
;
var
introduction
=
json
.
introduction
;
var
shengyou
=
json
.
shengyou
;
var
shows
=
json
.
play_from_open_index
;
var
plays
=
json
.
play
.
item_list
;
if
(
shows
)
{
d
.
push
({
title
:
emcee
+
'
\n
'
+
tv_station
,
desc
:
style
+
'
评分:
'
+
score
+
'
\n
'
+
update
,
pic_url
:
parseDom
(
html
,
'
#thumb_img&&img&&src
'
),
url
:
set_switch
,
col_type
:
'
movie_1_vertical_pic_blur
'
});
}
else
{
d
.
push
({
title
:
director
.
replace
(
/;/g
,
'
\t
'
)
+
'
\n
'
+
starring
.
replace
(
/.*undefined/
,
''
).
replace
(
/;/g
,
'
\t
'
),
desc
:
style
+
'
评分:
'
+
score
+
'
\n
'
+
update
,
pic_url
:
parseDom
(
html
,
'
#thumb_img&&img&&src
'
),
url
:
set_switch
,
col_type
:
'
movie_1_vertical_pic_blur
'
});
}
d
.
push
({
title
:
"
剧情
"
,
url
:
Rule
,
pic_url
:
'
https://s1.ax1x.com/2020/11/09/BT6WIe.png
'
,
col_type
:
'
icon_small_3
'
});
d
.
push
({
title
:
"
资源网
"
,
url
:
'
hiker://search?s=
'
+
name
+
'
&rule=资源网采集.xyq
'
,
pic_url
:
'
https://s3.ax1x.com/2020/11/23/DGW0de.png
'
,
col_type
:
'
icon_small_3
'
});
d
.
push
({
title
:
"
剧照
"
,
url
:
MY_URL
+
`@rule=js:var res={};var d=[];var html=getResCode();try{var tabs=parseDomForArray(html, '#photoList&&.sort_lst_bx&&a');for(var i in tabs){d.push({pic_url: parseDomForHtml(tabs[i], 'img&&data-src'),url: parseDomForHtml(tabs[i], 'img&&data-src'),col_type: 'pic_1_full'});d.push({col_type: 'line'});}}catch(e){};res.data=d;setHomeResult(res);`
,
pic_url
:
'
https://s1.ax1x.com/2020/11/09/BT6cqK.png
'
,
col_type
:
'
icon_small_3
'
});
d
.
push
({
col_type
:
"
line
"
});
try
{
var
tabs
=
[];
var
lists
=
[];
for
(
var
i
in
plays
)
{
lists
.
push
(
plays
[
i
].
info
)
tabs
.
push
(
plays
[
i
].
sitename
[
0
])
}
function
setTabs
(
tabs
,
vari
)
{
if
(
plays
[
i
].
info
||
shows
)
{
d
.
push
({
title
:
(
getVar
(
'
shsort
'
)
==
'
- 逆序
'
)
?
'
““””<b><span style="color: #FF0000">∨</span></b>
'
:
'
““””<b><span style="color: #1aad19">∧</span></b>
'
,
url
:
`#noLoading#@lazyRule=.js:let conf = getVar('shsort');if(conf==' - 逆序'){putVar({key:'shsort', value:' - 正序'});}else{putVar({key:'shsort', value:' - 逆序'})};refreshPage(false);'toast://切换排序成功';'#noHistory#hiker://empty'`
,
col_type
:
'
flex_button
'
})
;
for
(
var
o
in
tabs
)
{
var
url
=
"
#noLoading#@lazyRule=.js:putVar('
"
+
vari
+
"
', '
"
+
o
+
"
');refreshPage(false);'toast://切换成功!';'#noHistory#hiker://empty'
"
;
d
.
push
({
title
:
getVar
(
vari
,
'
0
'
)
==
o
?
'
‘‘
'
+
tabs
[
o
]
+
'
’’
'
:
tabs
[
o
],
url
:
url
,
col_type
:
'
flex_button
'
})
}
d
.
push
({
col_type
:
"
line
"
})
}
else
{
d
.
push
({
col_type
:
"
blank_block
"
})
}
}
function
setLists
(
lists
,
index
)
{
if
(
plays
[
i
].
info
||
shows
)
{
var
list
=
lists
[
index
];
if
(
list
)
{
if
(
getVar
(
'
shsort
'
)
==
'
- 逆序
'
)
{
for
(
var
j
=
list
.
length
-
1
;
j
>=
0
;
j
--
)
{
if
(
!
list
[
j
].
index
==
'
0
'
)
{
d
.
push
({
title
:
list
[
j
].
index
,
url
:
'
https://v.sogou.com
'
+
list
[
j
].
url
+
easy
,
col_type
:
"
text_4
"
});
}
}
}
else
{
for
(
var
j
=
0
;
j
<
list
.
length
;
j
++
)
{
if
(
!
list
[
j
].
index
==
'
0
'
)
{
d
.
push
({
title
:
list
[
j
].
index
,
url
:
'
https://v.sogou.com
'
+
list
[
j
].
url
+
easy
,
col_type
:
"
text_4
"
});
}
}
}
}
if
(
shows
)
{
var
arr
=
[];
zy
=
shows
.
item_list
[
index
];
for
(
var
ii
in
zy
.
date
)
{
date
=
zy
.
date
[
ii
];
day
=
zy
.
date
[
ii
].
day
;
for
(
j
in
day
)
{
dayy
=
day
[
j
][
0
]
>=
10
?
day
[
j
][
0
]
:
"
0
"
+
day
[
j
][
0
];
Tdate
=
date
.
year
+
date
.
month
+
dayy
;
arr
.
push
(
Tdate
);
if
(
getVar
(
'
shsort
'
)
==
'
- 逆序
'
)
{
arr
.
sort
(
function
(
a
,
b
)
{
return
b
-
a
})
}
else
{
arr
.
sort
(
function
(
a
,
b
)
{
return
a
-
b
})
}
}
}
for
(
var
k
=
0
;
k
<
arr
.
length
;
k
++
)
{
url
=
"
https://v.sogou.com/vc/eplay?query=
"
+
arr
[
k
]
+
"
&date=
"
+
arr
[
k
]
+
"
&key=
"
+
json
.
dockey
+
"
&st=5&tvsite=
"
+
plays
[
index
].
site
;
d
.
push
({
title
:
"
第
"
+
arr
[
k
]
+
"
期
"
,
col_type
:
"
text_2
"
,
url
:
url
+
easy
});
}
}
}
else
if
(
plays
[
index
].
site
)
{
for
(
var
m
in
plays
)
{
if
(
plays
[
m
].
flag_list
.
indexOf
(
'
trailer
'
)
==
-
1
)
{
d
.
push
({
title
:
plays
[
m
].
sitename
[
0
],
img
:
plays
[
m
].
picurl
||
'
http://dlweb.sogoucdn.com/video/wap/static/img/logo/
'
+
plays
[
m
].
sitename
[
1
],
url
:
'
https://v.sogou.com
'
+
plays
[
m
].
url
+
easy
,
col_type
:
!
plays
[
m
].
picurl
?
"
icon_2
"
:
"
movie_2
"
})
}
else
{
d
.
push
({
url
:
"
https://v.sogou.com
"
+
plays
[
m
].
url
+
easy
,
img
:
plays
[
m
].
picurl
||
'
http://dlweb.sogoucdn.com/video/wap/static/img/logo/
'
+
plays
[
m
].
sitename
[
1
],
title
:
plays
[
m
].
sitename
[
0
]
+
'
—预告
'
,
col_type
:
!
plays
[
m
].
picurl
?
"
icon_2
"
:
"
movie_2
"
});
}
}
}
}
setTabs
(
tabs
,
MY_URL
);
setLists
(
lists
,
getVar
(
MY_URL
,
'
0
'
));
}
catch
(
e
)
{
var
img
=
json
.
photo
.
item_list
;
d
.
push
({
title
:
'
‘‘本片无选集’’
'
,
col_type
:
"
text_center_1
"
});
for
(
var
i
in
img
)
{
d
.
push
({
img
:
img
[
i
],
col_type
:
"
pic_1_full
"
})
}
}
}
catch
(
e
)
{}
res
.
data
=
d
;
setHomeResult
(
res
);
\ No newline at end of file
py/搜狗搜索.js
0 → 100644
浏览文件 @
4ee0dc07
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
);
}
});
// print(d);
setResult
(
d
);
\ No newline at end of file
py/搜狗筛选.py
0 → 100644
浏览文件 @
4ee0dc07
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File : 搜狗筛选.py
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
# Date : 2022/9/11
import
requests
from
pprint
import
pprint
cates
=
'teleplay&film&cartoon&tvshow&documentary'
.
split
(
'&'
)
urls
=
[
f
'https://waptv.sogou.com/napi/video/classlist?abtest=0&iploc=CN1304&spver=&listTab=
{
cate
}
&filter=&start=0&len=15&fr=filter'
for
cate
in
cates
]
print
(
urls
)
headers
=
{
'user-agent'
:
'Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36'
}
ft_dict
=
{}
def
getOne
(
url
):
r
=
requests
.
get
(
url
,
headers
=
headers
)
html
=
r
.
json
()
filters
=
html
[
'listData'
][
'list'
][
'filter_list'
]
cate_id
=
html
[
'listData'
][
'list'
][
'entity'
]
ft_dict
[
cate_id
]
=
[]
for
i
in
range
(
len
(
filters
)):
ft
=
filters
[
i
]
value
=
[{
"n"
:
"全部"
,
"v"
:
""
}]
vl
=
[{
"n"
:
i
,
"v"
:
i
}
for
i
in
ft
[
'option_list'
]]
value
.
extend
(
vl
)
ft_dict
[
cate_id
].
append
({
'key'
:
ft
[
'option_name'
],
'name'
:
ft
[
'name'
],
'value'
:
value
})
return
ft_dict
# print(ft_dict)
for
url
in
urls
:
# print(getOne(urls[0]))
# print(getOne(url))
getOne
(
url
)
print
(
ft_dict
)
\ No newline at end of file
py/搜索一级.js
0 → 100644
浏览文件 @
4ee0dc07
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
);
\ No newline at end of file
readme.md
浏览文件 @
4ee0dc07
...
...
@@ -201,6 +201,7 @@ var rule = {
searchable
:
0
,
//是否启用全局搜索,
quickSearch
:
0
,
//是否启用快速搜索,
filterable
:
0
,
//是否启用筛选,
filter
:{},
// 筛选条件字典
// 注意,由于猫有配置缓存,搜索配置没法热加载,修改了js不需要重启服务器
// 但是需要tv_box进设置里换源使配置重新装载
headers
:{
//网站的请求头,完整支持所有的,常带ua和cookies
...
...
utils/htmlParser.py
浏览文件 @
4ee0dc07
...
...
@@ -31,6 +31,7 @@ class jsoup:
parse
=
' '
.
join
([
i
if
self
.
test
(
':eq|:lt|:gt|#'
,
i
)
else
f
'
{
i
}
:eq(0)'
for
i
in
parse
])
else
:
parse
=
parse
[
0
]
if
self
.
test
(
':eq|:lt|:gt|#'
,
parse
[
0
])
else
f
'
{
parse
[
0
]
}
:eq(0)'
# FIXME 暂时不支持jsonpath那样的|| 分割取或属性
if
option
:
# print(f'parse:{parse}=>(option:{option})')
ret
=
doc
(
parse
)
...
...
@@ -89,13 +90,17 @@ class jsoup:
return
''
if
not
parse
.
startswith
(
'$.'
):
parse
=
f
'$.
{
parse
}
'
ret
=
jsonpath
(
html
,
parse
)
ret
=
''
for
ps
in
parse
.
split
(
'||'
):
ret
=
jsonpath
(
html
,
ps
)
if
isinstance
(
ret
,
list
):
ret
=
str
(
ret
[
0
])
if
ret
[
0
]
else
''
else
:
ret
=
str
(
ret
)
if
ret
else
''
if
add_url
:
if
add_url
and
ret
:
ret
=
urljoin
(
self
.
MY_URL
,
ret
)
if
ret
:
break
return
ret
def
pj
(
self
,
html
,
parse
:
str
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录