新增NOW直播 (#550)

* 新增NOW直播

* 修改提示等级为error

* 取消注释debug
This commit is contained in:
Kataick authored and GitHub committed 2023-07-25 09:41:09 +00:00
1 parent d3cbe4b082
commit c78f6a834f
1 file changed
+43
+43
View File
@@ -0,0 +1,43 @@
import json
import urllib.request
import requests
import re
from . import logger
from biliup.config import config
from ..engine.decorators import Plugin
from ..engine.download import DownloadBase
@Plugin.download(regexp=r'(?:https?://)?(?:now\.)?qq\.com')
class now(DownloadBase):
def __init__(self, fname, url, suffix='flv'):
super().__init__(fname, url, suffix)
def check_stream(self):
logger.debug(self.fname)
rid = re.search(r'roomid=([a-zA-Z0-9]+)', self.url).group(1)
r1 = requests.get(
f"https://now.qq.com/cgi-bin/now/web/room/get_room_info_v2?room_id={rid}",
timeout = 5,
headers = self.fake_headers
)
r1.close()
jsons = json.loads(r1.text)
if jsons:
if jsons.get('retcode') == 100001:
logger.error("直播间地址错误")
return False
if jsons['result']['is_on_live']:
self.room_title = jsons['result']['room_name']
r2 = requests.get(
f"https://now.qq.com/cgi-bin/now/web/room/get_live_room_url?platform=8&room_id={rid}",
timeout = 5,
headers = self.fake_headers
)
r2.close()
self.raw_stream_url = json.loads(r2.text)['result']['raw_flv_url']
return True
logger.debug("主播未开播")
return False