本次目标 http://www.qiqi.la/vod-detail-id-46194.html 目的,down魔道祖师,实现 前期分析文件得到以下粗略步骤 1 进入二级页面,找到 <iframe width="100%" height="480" src="https://cn2.zuixinbo.com/share/722caafb4825ef5d8670710fa29087cf" frameborder="0" allowfullscreen=""></iframe> 得到网址 2 访问 https://cn2.zuixinbo.com/share/722caafb4825ef5d8670710fa29087cf 需要带上协议头 Referer: https://cn2.zuixinbo.com/share/722caafb4825ef5d8670710fa29087cf User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36 返回另一个页面response_1 得到文件标题 <title>重新压制魔道祖师 前尘篇02 序章 诛邪(下)福利加长版 高清(480P).qlv</title> 3 在response_1 得到:var main = "/20180710/4671_a5ef5a19/index.m3u8?sign=b0023d8b455da27a4294b38c7815f7b3"; 拼合网页:https://cn2.zuixinbo.com/20180710/4671_a5ef5a19/index.m3u8?sign=b0023d8b455da27a4294b38c7815f7b3 访问:得到返回结果 #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=800000,RESOLUTION=1080x608 1000k/hls/index.m3u8 4 拼合 https://cn2.zuixinbo.com/20180710/4671_a5ef5a19/1000k/hls/index.m3u8 带协议访问 Referer: https://cn2.zuixinbo.com/share/722caafb4825ef5d8670710fa29087cf User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36 得到.ts下载文件路径 分段下载 5 拼合.ts文件
有空更新完整代码
2018-10-21
开始编写代码
发现在重新写代码的过程中,发现直接在播放页面就有全部的播放地址,只不过是用usc2的
编码转换了一下,我们需要把其转换成ansi编码
2 OK,这下直接拿到播放地址,做一下格式化的工作,进行第2步解析,上面的第一步工作算是白费了一片心思
3 按照上面步骤依次完成,基本没问题


# -*- coding:utf-8 -*- # @time:2018-10-21 14:43 # @Auther:1043453579@qq.com from urllib.request import Request from urllib.request import urlopen import re,time,os from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor static_url_1 = 'http://www.qiqi.la/vod-detail-id-46194.html' class A(object): def __init__(self,url,e=15): self.header= { 'user-agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'} self.path = os.getcwd() self.e = e self.static_url='https://cn2.zuixinbo.com' def num_of_e(self,url_2):#进入二级页面 res = urlopen(Request(url=url_2,headers=self.header)).read() res = res.decode() title = self.take_middle_text(res,'<title>',txt_e='</title>') #标题 var_main=re.search('var main = "(.*?)";',res).group(1) #访问下级地址 if not var_main: exit() return { 'var_main':var_main,'referer':url_2,'标题':title} def open_3(self,url,referer='',**kwargs): url=self.static_url+url a={ 'Referer': referer} a.update(self.header) res = urlopen(Request(url=url,headers=a)).read() res = res.decode() _=self.take_middle_text(res,'1080x608','.m3u8')+'.m3u8' #得到ts视频地址 return { 'url<