feat: add ddys spider

This commit is contained in:
Harold
2026-04-19 16:45:47 +08:00
parent c2db1748b4
commit 89cb53297c
2 changed files with 81 additions and 3 deletions
+11
View File
@@ -205,6 +205,17 @@ class TestDDYSSpider(unittest.TestCase):
self.assertEqual(baidu["url"], "https://pan.baidu.com/s/demo")
self.assertEqual(xunlei["url"], "https://pan.xunlei.com/s/demo")
def test_home_content_keeps_reference_filter_values_for_movie(self):
movie_filters = self.spider.homeContent(False)["filters"]["movie"]
class_values = movie_filters[0]["value"]
area_values = movie_filters[1]["value"]
year_values = movie_filters[2]["value"]
sort_values = movie_filters[3]["value"]
self.assertIn({"n": "动作", "v": "/genre/action"}, class_values)
self.assertIn({"n": "中国", "v": "/region/china"}, area_values)
self.assertIn({"n": "2025", "v": "/year/2025"}, year_values)
self.assertEqual(sort_values[1], {"n": "评分", "v": "rating/"})
if __name__ == "__main__":
unittest.main()
+70 -3
View File
@@ -28,6 +28,73 @@ class Spider(BaseSpider):
{"type_id": "variety", "type_name": "综艺"},
{"type_id": "anime", "type_name": "动漫"},
]
common_class_values = [
{"n": "全部", "v": ""},
{"n": "动作", "v": "/genre/action"},
{"n": "喜剧", "v": "/genre/comedy"},
{"n": "爱情", "v": "/genre/romance"},
{"n": "科幻", "v": "/genre/scifi"},
{"n": "悬疑", "v": "/genre/thriller"},
{"n": "剧情", "v": "/genre/drama"},
{"n": "恐怖", "v": "/genre/horror"},
{"n": "惊悚", "v": "/genre/suspense"},
{"n": "冒险", "v": "/genre/adventure"},
{"n": "战争", "v": "/genre/war"},
{"n": "历史", "v": "/genre/history"},
{"n": "传记", "v": "/genre/biography"},
{"n": "犯罪", "v": "/genre/crime"},
{"n": "西部", "v": "/genre/western"},
{"n": "奇幻", "v": "/genre/fantasy"},
{"n": "音乐", "v": "/genre/music"},
{"n": "歌舞", "v": "/genre/musical"},
{"n": "家庭", "v": "/genre/family"},
{"n": "运动", "v": "/genre/sport"},
{"n": "古装", "v": "/genre/costume"},
{"n": "武侠", "v": "/genre/martial"},
{"n": "都市", "v": "/genre/urban"},
{"n": "灾难", "v": "/genre/disaster"},
{"n": "其他", "v": "/genre/other"},
]
common_area_values = [
{"n": "全部", "v": ""},
{"n": "中国", "v": "/region/china"},
{"n": "美国", "v": "/region/usa"},
{"n": "日本", "v": "/region/japan"},
{"n": "韩国", "v": "/region/korea"},
{"n": "英国", "v": "/region/uk"},
{"n": "法国", "v": "/region/france"},
{"n": "德国", "v": "/region/germany"},
{"n": "印度", "v": "/region/india"},
{"n": "意大利", "v": "/region/italy"},
{"n": "西班牙", "v": "/region/spain"},
{"n": "加拿大", "v": "/region/canada"},
{"n": "澳大利亚", "v": "/region/australia"},
{"n": "俄罗斯", "v": "/region/russia"},
{"n": "泰国", "v": "/region/thailand"},
{"n": "中国香港", "v": "/region/hongkong"},
{"n": "中国台湾", "v": "/region/taiwan"},
{"n": "中国澳门", "v": "/region/macau"},
{"n": "其他", "v": "/region/other"},
]
common_year_values = [
{"n": "全部", "v": ""},
{"n": "2026", "v": "/year/2026"},
{"n": "2025", "v": "/year/2025"},
{"n": "2024", "v": "/year/2024"},
{"n": "2023", "v": "/year/2023"},
{"n": "2022", "v": "/year/2022"},
{"n": "2021", "v": "/year/2021"},
{"n": "2020", "v": "/year/2020"},
{"n": "2019", "v": "/year/2019"},
{"n": "2018", "v": "/year/2018"},
{"n": "2017", "v": "/year/2017"},
{"n": "2016", "v": "/year/2016"},
{"n": "2015", "v": "/year/2015"},
{"n": "2014", "v": "/year/2014"},
{"n": "2013", "v": "/year/2013"},
{"n": "2012", "v": "/year/2012"},
{"n": "2011", "v": "/year/2011"},
]
self.filter_def = {
"movie": {"cateId": "movie"},
"series": {"cateId": "series"},
@@ -36,9 +103,9 @@ class Spider(BaseSpider):
}
self.filters = {
key: [
{"key": "class", "name": "剧情", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "area", "name": "地区", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "year", "name": "年份", "init": "", "value": [{"n": "全部", "v": ""}]},
{"key": "class", "name": "剧情", "init": "", "value": list(common_class_values)},
{"key": "area", "name": "地区", "init": "", "value": list(common_area_values)},
{"key": "year", "name": "年份", "init": "", "value": list(common_year_values)},
{
"key": "by",
"name": "排序",