feat: finish dbku spider implementation

This commit is contained in:
Harold
2026-04-18 12:04:40 +08:00
parent 6a060f8214
commit b72587d86b
2 changed files with 50 additions and 0 deletions
+22
View File
@@ -155,6 +155,28 @@ class TestDBKUSpider(unittest.TestCase):
"https://video.example/trimmed.m3u8",
)
@patch.object(Spider, "_request_html")
def test_player_content_returns_decoded_direct_url(self, mock_request_html):
mock_request_html.return_value = """
<script>
var player_data = {"url":"https://video.example/final.m3u8","encrypt":"0"};
</script>
"""
result = self.spider.playerContent("独播库", "https://www.dbku.tv/vodplay/100-1-1.html", {})
self.assertEqual(result["parse"], 0)
self.assertEqual(result["url"], "https://video.example/final.m3u8")
self.assertEqual(result["header"]["Referer"], "https://www.dbku.tv/vodplay/100-1-1.html")
@patch.object(Spider, "_request_html")
def test_player_content_follows_internal_jump(self, mock_request_html):
mock_request_html.side_effect = [
'<script>var player_data = {"url":"/vodplay/100-1-2.html","encrypt":"0"};</script>',
'<script>var player_data = {"url":"https://video.example/jump-final.m3u8","encrypt":"0"};</script>',
]
result = self.spider.playerContent("独播库", "https://www.dbku.tv/vodplay/100-1-1.html", {})
self.assertEqual(result["parse"], 0)
self.assertEqual(result["url"], "https://video.example/jump-final.m3u8")
if __name__ == "__main__":
unittest.main()