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 环境运行测试。
|
1. 项目使用了很简单的 Python 代码,仅在 Python 3 环境运行测试。
|
||||||
2. 具体所需模块请查看代码中的 import。
|
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
|
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 requests
|
||||||
import re
|
import re
|
||||||
@ -18,13 +18,14 @@ def get_real_rid(rid):
|
|||||||
return live_status, room_id
|
return live_status, room_id
|
||||||
|
|
||||||
|
|
||||||
def get_real_url(rid):
|
def get_real_url_flv(rid):
|
||||||
room = get_real_rid(rid)
|
room = get_real_rid(rid)
|
||||||
live_status = room[0]
|
live_status = room[0]
|
||||||
room_id = room[1]
|
room_id = room[1]
|
||||||
|
qn = 1 # PC网页和手机APP端的qn=1是最高画质;qn取值0~4。
|
||||||
if live_status:
|
if live_status:
|
||||||
try:
|
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()
|
response = requests.get(url=room_url).json()
|
||||||
durl = response.get('data').get('play_url').get('durl', 0)
|
durl = response.get('data').get('play_url').get('durl', 0)
|
||||||
real_url = durl[-1].get('url')
|
real_url = durl[-1].get('url')
|
||||||
@ -35,6 +36,26 @@ def get_real_url(rid):
|
|||||||
return real_url
|
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')
|
rid = input('请输入bilibili房间号:\n')
|
||||||
real_url = get_real_url(rid)
|
real_url_flv = get_real_url_flv(rid)
|
||||||
print('该直播间源地址为:\n' + real_url)
|
# 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