mirror of
https://github.com/wbt5/real-url.git
synced 2025-08-01 14:48:01 +08:00
新增抖音直播
This commit is contained in:
parent
c42f16fe6d
commit
35189b645e
@ -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
29
douyin.py
Normal 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
39
smzb.py
@ -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())
|
Loading…
x
Reference in New Issue
Block a user