feat: finalize zxzj spider

This commit is contained in:
Harold
2026-04-20 11:02:32 +08:00
parent a530a8c99b
commit d9b216d3dd
2 changed files with 112 additions and 40 deletions
+11
View File
@@ -207,6 +207,17 @@ class TestZXZJSpider(unittest.TestCase):
{"parse": 0, "jx": 0, "playUrl": "", "url": "https://pan.quark.cn/s/demo", "header": {}},
)
def test_home_content_keeps_reference_filter_values_for_movie_and_anime(self):
filters = self.spider.homeContent(False)["filters"]
movie_filters = filters["1"]
anime_filters = filters["6"]
self.assertIn({"n": "喜剧", "v": "喜剧"}, movie_filters[0]["value"])
self.assertIn({"n": "欧美", "v": "欧美"}, movie_filters[1]["value"])
self.assertIn({"n": "2025", "v": "2025"}, movie_filters[2]["value"])
self.assertEqual(movie_filters[3]["value"][1], {"n": "人气", "v": "hits"})
self.assertIn({"n": "国产", "v": "国产"}, anime_filters[1]["value"])
self.assertIn({"n": "热血", "v": "热血"}, anime_filters[0]["value"])
if __name__ == "__main__":
unittest.main()
+101 -40
View File
@@ -34,6 +34,40 @@ class Spider(BaseSpider):
{"n": "人气", "v": "hits"},
{"n": "评分", "v": "score"},
]
common_years = [
{"n": "全部", "v": ""},
{"n": "2026", "v": "2026"},
{"n": "2025", "v": "2025"},
{"n": "2024", "v": "2024"},
{"n": "2023", "v": "2023"},
{"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": "2013", "v": "2013"},
{"n": "2012", "v": "2012"},
{"n": "2011", "v": "2011"},
]
drama_classes = [
{"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": "其他"},
]
self.filter_def = {key: {"cateId": key} for key in ["1", "2", "3", "4", "5", "6"]}
self.filters = {
"1": [
@@ -41,70 +75,97 @@ class Spider(BaseSpider):
"key": "class",
"name": "剧情",
"init": "",
"value": [{"n": "全部", "v": ""}, {"n": "喜剧", "v": "喜剧"}],
"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": "冒险"},
],
},
{
"key": "area",
"name": "地区",
"init": "",
"value": [{"n": "全部", "v": ""}, {"n": "欧美", "v": "欧美"}],
},
{
"key": "year",
"name": "年份",
"init": "",
"value": [{"n": "全部", "v": ""}, {"n": "2025", "v": "2025"}],
"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": "年份", "init": "", "value": list(common_years)},
{"key": "by", "name": "排序", "init": "time", "value": list(sort_values)},
],
"2": [
{"key": "class", "name": "剧情", "init": "", "value": [{"n": "全部", "v": ""}]},
{
"key": "year",
"name": "年份",
"init": "",
"value": [{"n": "全部", "v": ""}, {"n": "2025", "v": "2025"}],
},
{"key": "class", "name": "剧情", "init": "", "value": list(drama_classes)},
{"key": "year", "name": "年份", "init": "", "value": list(common_years)},
{"key": "by", "name": "排序", "init": "time", "value": list(sort_values)},
],
"3": [
{"key": "class", "name": "剧情", "init": "", "value": [{"n": "全部", "v": ""}]},
{
"key": "year",
"name": "年份",
"init": "",
"value": [{"n": "全部", "v": ""}, {"n": "2025", "v": "2025"}],
},
{"key": "class", "name": "剧情", "init": "", "value": list(drama_classes)},
{"key": "year", "name": "年份", "init": "", "value": list(common_years)},
{"key": "by", "name": "排序", "init": "time", "value": list(sort_values)},
],
"4": [
{"key": "class", "name": "剧情", "init": "", "value": [{"n": "全部", "v": ""}]},
{
"key": "year",
"name": "年份",
"init": "",
"value": [{"n": "全部", "v": ""}, {"n": "2025", "v": "2025"}],
},
{"key": "class", "name": "剧情", "init": "", "value": list(drama_classes)},
{"key": "year", "name": "年份", "init": "", "value": list(common_years)},
{"key": "by", "name": "排序", "init": "time", "value": list(sort_values)},
],
"5": [
{
"key": "year",
"name": "年份",
"init": "",
"value": [{"n": "全部", "v": ""}, {"n": "2025", "v": "2025"}],
},
{"key": "year", "name": "年份", "init": "", "value": list(common_years)},
{"key": "by", "name": "排序", "init": "time", "value": list(sort_values)},
],
"6": [
{"key": "class", "name": "剧情", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "area", "name": "地区", "init": "", "value": [{"n": "全部", "v": ""}]},
{
"key": "year",
"name": "年份",
"key": "class",
"name": "剧情",
"init": "",
"value": [{"n": "全部", "v": ""}, {"n": "2025", "v": "2025"}],
"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": "少年"},
],
},
{
"key": "area",
"name": "地区",
"init": "",
"value": [
{"n": "全部", "v": ""},
{"n": "国产", "v": "国产"},
{"n": "日本", "v": "日本"},
{"n": "欧美", "v": "欧美"},
{"n": "其他", "v": "其他"},
],
},
{"key": "year", "name": "年份", "init": "", "value": list(common_years)},
{"key": "by", "name": "排序", "init": "time", "value": list(sort_values)},
],
}