1
0
mirror of https://github.com/wbt5/real-url.git synced 2025-06-17 08:25:25 +08:00
zhibo-url/renren.py

49 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 人人直播http://zhibo.renren.com/
import requests
import re
import hashlib
class RenRen:
def __init__(self, rid):
self.rid = rid
def get_real_url(self):
with requests.Session() as s:
res = s.get('http://activity.renren.com/liveroom/' + str(self.rid))
livestate = re.search(r'"liveState":(\d)', res.text)
if livestate:
try:
s = re.search(r'"playUrl":"([\s\S]*?)"', res.text).group(1)
if livestate.group(1) == '0':
accesskey = re.search(r'accesskey=(\w+)', s).group(1)
expire = re.search(r'expire=(\d+)', s).group(1)
live = re.search(r'(/live/\d+)', s).group(1)
c = accesskey + expire + live
key = hashlib.md5(c.encode('utf-8')).hexdigest()
e = s.split('?')[0].split('/')[4]
t = 'http://ksy-hls.renren.com/live/' + e + '/index.m3u8?key=' + key
return t
elif livestate.group(1) == '1':
return '回放:' + s
except IndexError:
raise Exception('解析错误')
else:
raise Exception('直播间不存在')
def get_real_url(rid):
try:
rr = RenRen(rid)
return rr.get_real_url()
except Exception as e:
print('Exception', e)
return False
if __name__ == '__main__':
r = input('请输入人人直播房间号:\n')
print(get_real_url(r))