feat: add dida spider

This commit is contained in:
Harold
2026-04-19 18:30:32 +08:00
parent 9acceb289a
commit 042132b007
2 changed files with 44 additions and 32 deletions
+8
View File
@@ -169,6 +169,14 @@ class TestDidaSpider(unittest.TestCase):
result = self.spider.playerContent("播放线路", "/play/111-1-1.html", {})
self.assertEqual(result, {"parse": 0, "playUrl": "", "url": ""})
def test_home_content_keeps_reference_filter_values(self):
movie_filters = self.spider.homeContent(False)["filters"]["1"]
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.assertIn({"n": "粤语", "v": "粤语"}, movie_filters[3]["value"])
self.assertEqual(movie_filters[4]["value"][1], {"n": "人气", "v": "hits"})
if __name__ == "__main__":
unittest.main()
+36 -32
View File
@@ -35,38 +35,42 @@ class Spider(BaseSpider):
"4": {"cateId": "4", "area": "", "sort": "time", "class": "", "lang": "", "letter": "", "year": ""},
"5": {"cateId": "5", "area": "", "sort": "time", "class": "", "lang": "", "letter": "", "year": ""},
}
self.filters = {
"1": [
{"key": "class", "name": "按剧情", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "area", "name": "按地区", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "year", "name": "年份", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "lang", "name": "语言", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "sort", "name": "排序", "init": "time", "value": [{"n": "时间", "v": "time"}]},
],
"2": [
{"key": "class", "name": "按剧情", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "area", "name": "按地区", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "year", "name": "年份", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "lang", "name": "语言", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "sort", "name": "排序", "init": "time", "value": [{"n": "时间", "v": "time"}]},
],
"3": [
{"key": "year", "name": "按年份", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "lang", "name": "按语言", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "sort", "name": "排序", "init": "time", "value": [{"n": "时间", "v": "time"}]},
],
"4": [
{"key": "year", "name": "年份", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "lang", "name": "按语言", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "sort", "name": "按排序", "init": "time", "value": [{"n": "时间", "v": "time"}]},
],
"5": [
{"key": "class", "name": "剧情", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "year", "name": "按年份", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "lang", "name": "按语言", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "sort", "name": "排序", "init": "time", "value": [{"n": "时间", "v": "time"}]},
],
}
self.filters = json.loads(
"""
{
"1": [
{"key":"class","name":"剧情","init":"","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":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},
{"key":"area","name":"地区","init":"","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":"year","name":"年份","init":"","value":[{"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"},{"n":"2010","v":"2010"}]},
{"key":"lang","name":"按语言","init":"","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"法语","v":"法语"},{"n":"德语","v":"德语"},{"n":"其它","v":"其它"}]},
{"key":"sort","name":"按排序","init":"time","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}
],
"2": [
{"key":"class","name":"剧情","init":"","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":"area","name":"地区","init":"","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":[{"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"},{"n":"2010","v":"2010"}]},
{"key":"lang","name":"按语言","init":"","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},
{"key":"sort","name":"按排序","init":"time","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}
],
"5": [
{"key":"class","name":"剧情","init":"","value":[{"n":"全部","v":""},{"n":"真人秀","v":"真人秀"},{"n":"综艺","v":"综艺"},{"n":"脱口秀","v":"脱口秀"},{"n":"欧美综艺","v":"欧美综艺"},{"n":"日韩综艺","v":"日韩综艺"}]},
{"key":"year","name":"按年份","init":"","value":[{"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"},{"n":"2010","v":"2010"}]},
{"key":"lang","name":"按语言","init":"","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},
{"key":"sort","name":"排序","init":"time","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}
],
"4": [
{"key":"year","name":"按年份","init":"","value":[{"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"},{"n":"2010","v":"2010"}]},
{"key":"lang","name":"按语言","init":"","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},
{"key":"sort","name":"排序","init":"time","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}
],
"3": [
{"key":"year","name":"年份","init":"","value":[{"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"},{"n":"2010","v":"2010"}]},
{"key":"lang","name":"按语言","init":"","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},
{"key":"sort","name":"按排序","init":"time","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}
]
}
"""
)
def init(self, extend=""):
return None