self.did, result)js = execjs.compile(func_ub9)res = js.call('ub98484234')v = re.search(r'v=(\d+)',这个转链接我是真的不会, key = self.get_pre()if error == 0:passelif error == 102:#raise Exception('房间不存在')return '房间不存在'elif error == 104:#raise Exception('房间未开播')return '房间未开播'else:key = self.get_js()return {}.flv?uuid=.format(key)def dic():url = 'https://www.douyu.com/directory'headers = {'user-agent': '''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,7}[0-9a-zA-Z]+)_?\d{0, res).group(1)rb = DouYu.md5(self.rid + self.did + self.t10 + v)func_sign = re.sub(r'return rt;}\);?'。
毕竟吾爱已经有很多大佬来发pid转真实链接的了, 但是我失败了,但是我写出了python版本,}p = re.compile('class=layout-Classify-card href=/(\w+)\n.+?strong(\w+)/strong', import requests import re import execjs import time import hashlib import os import pyperclipclass DouYu:#这一类 是我参考的chiser丶def __init__(self, like Gecko) Chrome/81.0.4044.138 Safari/537.36''', data=data).json()error = res['error']data = res['data']key = ''if data:rtmp_live = data['rtmp_live']key = re.search(r'(\d{1,4}(.m3u8|/playlist)', 下载次数: 1) 下载附件 2021-5-30 23:32 上传 运行结果简单粗暴。
'' + rb + '')js = execjs.compile(func_sign)params = js.call('sign',headers=headers).textdouyu_list = p.findall(html)for i in range(len(douyu_list)): #一行显示5个if (i/5-i//5==0)(i!=0):print(str(i)+':'+douyu_list[i][1])else:print(str(i)+':'+douyu_list[i][1],就不怕我用一用吧哈哈哈) 希望我可以直接在ios快捷指令上做出来, 'strc;}',浏览器地址栏中看到的房间号不一定是真实rid.self.did = '10000000000000000000000000001501'self.t10 = str(int(time.time()))self.t13 = str(int((time.time() * 1000)))self.s = requests.Session()self.res = self.s.get('https://m.douyu.com/' + str(rid)).textresult = re.search(r'rid:(\d{1, res).group(1)return keydef get_real_url(self):error,以便可以只用手机就可以观看直播, 在此说一下重点: 代码中的class Douyu, params=params).textkey = re.search(r'(\d{1, 侵删!侵删!侵删! 重要的事情说三遍(不过我觉得大佬都发出来了,而且写多线程的话估计还会封ip。
默认最高画质。
现在卡在了ios如何用正则了... 好了 废话不多说, self.res).group()func_ub9 = re.sub(r'eval.*;}', 本来是想一口气把所有斗鱼当前所有直播的直播源都爬下来的脚本的。
'did': self.did}auth = DouYu.md5(self.rid + self.t13)headers = {'rid': self.rid,7}), res)func_sign = func_sign.replace('(function (', self.res)if result:self.rid = result.group(1)else:#raise Exception('房间号错误')return '房间号错误'@staticmethoddef md5(data):return hashlib.md5(data.encode('utf-8')).hexdigest()def get_pre(self):url = 'https://playweb.douyucdn.cn/lapi/live/hlsH5Preview/' + self.riddata = {'rid': self.rid,毕竟不懂js。
7}[0-9a-zA-Z]+)_?\d{0,但是运行了一下太慢了, rtmp_live).group(1)return error。
self.rid, 之前有段时间一直在想如何在ios的快捷指令上实现一键获取当前正在直播的房间的真实连接, rid):# 房间号通常为1~7位纯数字,我主要是爬了当前的主播, 'return rt;}', self.t10)params += 'ver=219032101rid={}rate=-1'.format(self.rid)url = 'https://m.douyu.com/api/room/ratestream'res = self.s.post(url, keydef get_js(self):result = re.search(r'(function ub98484234.*)\s(var.*)',所以就这样喽, 'function sign(')func_sign = func_sign.replace('CryptoJS.MD5(cb).toString()'。
没办法获得sign这个参数,vipId', 下载次数: 0) 下载附件 2021-5-30 23:32 上传 屏幕截图 2021-05-30 232948.jpg (26.81 KB,4}(/playlist|.m3u8)',headers=headers).text#p = re.compile('nn:(\w+).*?od:(\w*).*?rid:(\d+)') 这个会只能搜索出斗鱼有官方代号的人p = re.compile('nn:(\w+).*?rid:(\d+)')life_list = p.findall(html)# os.system('cls')for i in range(len(life_list)): #一行显示5个if (i/5-i//5==0)(i!=0):print(str(i)+':'+life_list[i][0])else:print(str(i)+':'+life_list[i][0],'time': self.t13。
end='')s = DouYu(life_list[int(input('\n\n请输入你想看的主播:'))][1])print('\n')print(s.get_real_url())pyperclip.copy(s.get_real_url())print('\n直播源已复制')input('按任意键退出')c = input('1:查看目录\n2:直接输入房间号\n')if c == '1':dic()elif c == '2':s = DouYu(input('请输入你想看的主播:'))print(s.get_real_url())pyperclip.copy(s.get_real_url())print('\n直播源已复制')input('按任意键退出') 免费评分 参与人数 9 吾爱币 +8 热心值 +9 理由 blindcat + 1 + 1 感谢发布原创作品,end='')url = 'https://www.douyu.com/'+douyu_list[int(input('\n\n请输入你想看的分类: '))][0]html = requests.get(url,先看一下截图: 屏幕截图 2021-05-30 232821.jpg (314.02 KB,。
我只是爬了所有的主播的房间号而已,re.DOTALL)#其实xpath更好用html = requests.get(url,吾爱破解论坛因你更精彩! yuehanoo + 1 + 1 谢谢@Thanks! MonsterXx.9 + 1 + 1 我很赞同! 52pojie666z + 1 + 1 热心回复! yjn866y + 1 + 1 我很赞同! hyt891110 + 1 + 1 我很赞同! zhu911 + 1 + 1 我很赞同! 461735945 + 1 + 1 谢谢@Thanks! sdaza + 1 我很赞同! 查看全部评分 。
代码来啦: [Python] 纯文本查看 复制代码 # coding=utf-8 # 获取斗鱼直播间的真实流媒体地址,'auth': auth}res = self.s.post(url, headers=headers,是抄的cs某n的大佬代码或者是chiser丶博主的(我不知道谁更早一点)。
