create cc.py for cc.163.com

This commit is contained in:
James Jing committed 2021-03-02 16:44:23 +08:00
1 parent 4e3b62e2ae
commit fb3e615b3b
1 file changed
+38
+38
View File
@@ -0,0 +1,38 @@
import base64
import html
import json
import re
import requests
from common.decorators import Plugin
from engine.plugins import match1, logger
from engine.plugins.base_adapter import fake_headers, FFmpegdl
@Plugin.download(regexp=r'(?:https?://)?cc\.163\.com')
class CC(FFmpegdl):
def __init__(self, fname, url, suffix='flv'):
super().__init__(fname, url, suffix)
def check_stream(self):
logger.debug(self.fname)
rid = re.search(r"[0-9]{4,}", self.url).group(0)
res = requests.get(
f"https://api.cc.163.com/v1/activitylives/anchor/lives?anchor_ccid={rid}",
timeout=5,
headers=fake_headers
)
res.close()
jsons = json.loads(res.text)
if jsons["data"]:
channel_id = jsons["data"][rid]["channel_id"]
res = requests.get(
f"https://cc.163.com/live/channel/?channelids={channel_id}",
timeout=5,
headers=fake_headers
)
res.close()
jsons = json.loads(res.text)
self.raw_stream_url = jsons["data"][0]["sharefile"]
return True