1
0
mirror of https://github.com/wbt5/real-url.git synced 2025-08-01 14:48:01 +08:00
zhibo-url/danmu/danmaku/longzhu.py
2020-07-18 15:02:54 +08:00

38 lines
1.3 KiB
Python

import json
import aiohttp
import re
class LongZhu:
heartbeat = None
@staticmethod
async def get_ws_info(url):
rid = url.split('/')[-1]
async with aiohttp.ClientSession() as session:
async with session.get('http://m.longzhu.com/' + rid) as resp:
res1 = await resp.text()
roomid = re.search(r'var roomId = (\d+);', res1).group(1)
async with session.get('http://idc-gw.longzhu.com/mbidc?roomId=' + roomid) as resp2:
res2 = json.loads(await resp2.text())
ws_url = res2['data']['redirect_to'] + '?room_id=' + roomid
return ws_url, None
@staticmethod
def decode_msg(message):
msgs = []
msg = {'name': '', 'content': '', 'msg_type': 'other'}
message = json.loads(message)
type_ = message['type']
# type_ == 'gift' 礼物
if type_ == 'chat':
msg['name'] = message['msg']['user']['username']
msg['content'] = (message['msg']['content']).strip()
msg['msg_type'] = 'danmaku'
elif type_ == 'commonjoin':
msg['name'] = message['msg']['user']['username']
msg['content'] = message['msg']['userMessage']
msg['msg_type'] = 'danmaku'
msgs.append(msg.copy())
return msgs