mirror of
https://github.com/wbt5/real-url.git
synced 2025-07-28 03:20:31 +08:00
更新哔哩哔哩直播
This commit is contained in:
parent
cb3fc14883
commit
ca70bf46a9
@ -10,7 +10,7 @@
|
||||
|
||||
1. 项目使用了很简单的 Python 代码,仅在 Python 3 环境运行测试。
|
||||
2. 具体所需模块请查看代码中的 import。
|
||||
3. 爱奇艺直播里有个参数是加盐的 MD5,使用仓库中的 iqiyi.js。
|
||||
3. 爱奇艺直播里有个参数是加盐的 MD5,使用仓库中的 iqiyi.js 获取。
|
||||
|
||||
## 反馈
|
||||
|
||||
@ -18,7 +18,12 @@
|
||||
|
||||
## 更新
|
||||
|
||||
### 2020.05.23:更新17直播、虎牙直播
|
||||
### 2020.05.25:更新哔哩哔哩直播。
|
||||
|
||||
- 默认获取最高画质,不同清晰度取决去请求参数中的 qn。
|
||||
- 增加 .m3u8 格式播放链接的获取方法。
|
||||
|
||||
2020.05.23:更新17直播、虎牙直播
|
||||
|
||||
2020.05.19:更新火猫、快手、酷狗、PPS
|
||||
|
||||
|
33
bilibili.py
33
bilibili.py
@ -1,6 +1,6 @@
|
||||
# 获取哔哩哔哩直播的真实流媒体地址。
|
||||
# 现在B站直播默认画质改为高清了,更高画质需登陆才可获取。
|
||||
|
||||
# PC网页和手机APP端的qn=1是最高画质;qn取值0~4。
|
||||
# 手机网页端的只找到一个值qn=0。
|
||||
|
||||
import requests
|
||||
import re
|
||||
@ -18,13 +18,14 @@ def get_real_rid(rid):
|
||||
return live_status, room_id
|
||||
|
||||
|
||||
def get_real_url(rid):
|
||||
def get_real_url_flv(rid):
|
||||
room = get_real_rid(rid)
|
||||
live_status = room[0]
|
||||
room_id = room[1]
|
||||
qn = 1 # PC网页和手机APP端的qn=1是最高画质;qn取值0~4。
|
||||
if live_status:
|
||||
try:
|
||||
room_url = 'https://api.live.bilibili.com/xlive/web-room/v1/index/getRoomPlayInfo?room_id={}&play_url=1&mask=1&qn=0&platform=web'.format(room_id)
|
||||
room_url = 'https://api.live.bilibili.com/xlive/web-room/v1/index/getRoomPlayInfo?room_id={}&play_url=1&mask=1&qn={}&platform=web'.format(room_id, qn)
|
||||
response = requests.get(url=room_url).json()
|
||||
durl = response.get('data').get('play_url').get('durl', 0)
|
||||
real_url = durl[-1].get('url')
|
||||
@ -35,6 +36,26 @@ def get_real_url(rid):
|
||||
return real_url
|
||||
|
||||
|
||||
def get_real_url_hls(rid):
|
||||
room = get_real_rid(rid)
|
||||
live_status = room[0]
|
||||
room_id = room[1]
|
||||
qn = 0 # 手机网页端的只找到一个值qn=0。
|
||||
if live_status:
|
||||
try:
|
||||
room_url = 'https://api.live.bilibili.com/xlive/web-room/v1/playUrl/playUrl?cid={}&platform=h5&otype=json&quality={}'.format(room_id, qn)
|
||||
response = requests.get(url=room_url).json()
|
||||
durl = response.get('data').get('durl', 0)
|
||||
real_url = durl[-1].get('url')
|
||||
except:
|
||||
real_url = '疑似部分国外IP无法GET到正确数据,待验证'
|
||||
else:
|
||||
real_url = '未开播或直播间不存在'
|
||||
return real_url
|
||||
|
||||
rid = input('请输入bilibili房间号:\n')
|
||||
real_url = get_real_url(rid)
|
||||
print('该直播间源地址为:\n' + real_url)
|
||||
real_url_flv = get_real_url_flv(rid)
|
||||
# real_url_hls = get_real_url_hls(rid)
|
||||
print('该直播间源地址为:')
|
||||
print(real_url_flv)
|
||||
# print(real_url_hls)
|
||||
|
Loading…
x
Reference in New Issue
Block a user