1
0
mirror of https://github.com/wbt5/real-url.git synced 2025-08-01 14:48:01 +08:00

新增抖音直播

This commit is contained in:
wbt5 2020-01-07 23:07:11 +08:00
parent c42f16fe6d
commit 35189b645e
3 changed files with 32 additions and 40 deletions

View File

@ -1,6 +1,8 @@
### 获取直播平台的真实流媒体地址直播源可在PotPlayer、VLC、flv.js等播放器中播放。
目前有16个直播平台斗鱼直播、虎牙直播、哔哩哔哩直播、战旗直播、网易CC直播、火猫直播、企鹅电竞、YY直播、一直播、快手直播、花椒直播、映客直播、西瓜直播、触手直播、NOW直播、收米直播。
目前有16个直播平台斗鱼直播、虎牙直播、哔哩哔哩直播、战旗直播、网易CC直播、火猫直播、企鹅电竞、YY直播、一直播、快手直播、花椒直播、映客直播、西瓜直播、触手直播、NOW直播、抖音直播。
> 2020.01.07:新增抖音直播;删除一个直播平台。
> 2020.01.03:修复快手直播,请求移动网页版。

29
douyin.py Normal file
View File

@ -0,0 +1,29 @@
# 获取抖音直播的真实流媒体地址,默认最高画质。
# 如果知道该直播间如“6779127643792280332”形式的room_id则直接传入room_id。
# 如果不知道room_id可以使用手机上打开直播间后选择“分享--复制链接”传入如“https://v.douyin.com/qyRqMp/”形式的分享链接。
import requests
import re
def get_real_url(rid):
try:
if 'v.douyin.com' in rid:
room_id = re.findall(r'live/(\d+)\?utm', requests.get(url=rid).url)[0]
else:
room_id = rid
room_url = 'https://webcast-hl.amemv.com/webcast/room/reflow/info/?room_id={}&live_id=1'.format(room_id)
response = requests.get(url=room_url).json()
hls_pull_url = response.get('data').get('room').get('stream_url').get('hls_pull_url')
rtmp_pull_url = response.get('data').get('room').get('stream_url').get('rtmp_pull_url')
real_url = [rtmp_pull_url, hls_pull_url]
except:
real_url = '直播间不存在或未开播或参数错误'
return real_url
rid = input('请输入抖音直播间room_id或分享链接\n')
real_url = get_real_url(rid)
print('该直播间源地址为:')
print(real_url)

39
smzb.py
View File

@ -1,39 +0,0 @@
# 收米直播http://smzb.tv:66/live/)所有直播间。
import requests
import re
import json
def get_all_rooms():
room_url = 'http://api.shoumilive.com:83/pc/anchor.json'
try:
response = requests.get(url=room_url).text
response_json = json.loads(re.findall(r'anchor\(([\s\S]*)\)', response)[0])
all_hot = response_json.get('data').get('hot')
all_rooms = dict()
for room in all_hot:
room_id = room.get('room_num')
room_title = str(room_id) + ':' + room.get('title')
room_flv = get_real_url(str(room_id))
all_rooms[room_title] = room_flv
except:
all_rooms = '获取错误'
return all_rooms
def get_real_url(rid):
room_url = 'http://api.shoumilive.com:83/pc/room/{}.json'.format(rid)
try:
response = requests.get(url=room_url).text
response_json = json.loads(re.findall(r'livePath\(([\s\S]*)\)', response)[0])
real_url = response_json.get('data').get('flv_hd')
except:
real_url = '获取错误'
return real_url
if __name__ == "__main__":
print(get_all_rooms())