diff --git a/biliup/plugins/douyin.py b/biliup/plugins/douyin.py index 059fc60..556e284 100644 --- a/biliup/plugins/douyin.py +++ b/biliup/plugins/douyin.py @@ -2,7 +2,7 @@ import json import urllib.request import requests - +import re from . import logger from .. import config from ..engine.decorators import Plugin @@ -15,16 +15,24 @@ class Douyin(DownloadBase): super().__init__(fname, url, suffix) def check_stream(self): - if len(self.url.split("live.douyin.com/")) < 2: - logger.debug("直播间地址错误") - return False - rid = self.url.split("live.douyin.com/")[1] headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/94.0.4606.71 Safari/537.36 Edg/94.0.992.38", "referer": "https://live.douyin.com/", "cookie": config.get('douyin_cookie') } + if len(self.url.split("live.douyin.com/")) < 2: + if len(self.url.split("douyin.com/user/")) < 2: + logger.debug("直播间地址错误") + return False + else: + mainPage=requests.get(self.url, headers=headers).text\ + .split('')[0] + txt = urllib.request.unquote(mainPage) + rex = re.compile(r'(?<=\"web_rid\":\")[0-9]*(?=\")') + rid = rex.findall(txt)[0] + else: + rid=self.url.split("live.douyin.com/")[1] r1 = requests.get('https://live.douyin.com/' + rid, headers=headers).text \ .split('')[0] r2 = urllib.request.unquote(r1)