大家好,今天小编来为大家解答全民解析网站的源码分享这个问题,全民解析cjw很多人还不知道,现在让我们一起来看看吧!
运行环境
IDE:pycharm
python:3.6.5
实现目的
实现对腾讯视频目标url的解析与下载,由于第三方vip解析,只提供在线观看,隐藏想实现对目标视频的下载
实现思路
首先拿到想要看的腾讯电影url,通过第三方vip视频解析网站进行解析,通过抓包,模拟浏览器发送正常请求,通过拿到缓存ts文件,下载视频ts文件,最后通过转换为mp4文件,即可实现正常播放
源码
importre\nimportos,shutil\nimportrequests,threading\nfromurllib.requestimporturlretrieve\nfrompyqueryimportPyQueryaspq\nfrommultiprocessingimportPool\nclassvideo_down():\ndef__init__(self,url):\n设置UA模拟浏览器访问\nself.head={‘User-Agent’:’Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/63.0.3239.132Safari/537.36′}\n当前已经下载的文件数目\nself.i=0\n解析网页\nself.parse_page(html)\ndefget_page(self,get_url):\ntry:\nprint(‘正在请求目标网页….’,get_url)\nresponse=requests.get(get_url,headers=self.head)\nifresponse.status_code==200:\nplayer’).attr(‘src’)[14:]\nhtml=self.get_m3u8_1(url).strip()\n开启多进程下载\npool=Pool(16)\npool.map(self.save_ts,[ts_listforts_listinself.ts_lists])\npool.close()\npool.join()\nprint(‘下载完成’)\nself.ts_to_mp4()\ndefts_to_mp4(self):\nprint(‘ts文件正在进行转录mp4……’)\nstr=’copy/b’+self.title+’\\*.ts’+self.title+’.mp4’\nos.system(str)\nfilename=self.title+’.mp4’\nifos.path.isfile(filename):\nprint(‘转换完成,祝你观影愉快’)\nshutil.rmtree(self.title)\ndefsave_ts(self,ts_list):\ntry:\nts_urls=self.ts_url+'{}.ts’.format(ts_list)\nself.i+=1\nprint(‘当前进度%d/%d’%(self.i,len(self.ts_lists)))\nurlretrieve(url=ts_urls,filename=self.title+’/{}.ts’.format(ts_list))\nexceptException:\nprint(‘保存文件出现错误’)\nif__name__==’__main__’:\n电影碟中谍5:神秘国度\nurl1=’https://v.qq.com/x/cover/5c58griiqftvq00.html’\n#电视剧斗破苍穹\nurl2=’https://v.qq.com/x/cover/lcpwn26degwm7t3/z0027injhcq.html’\nurl3=’https://v.qq.com/x/cover/33bfp8mmgakf0gi.html’\nvideo_down(url2)\n
视频缓存ts文件
这里都是一些缓存视频文件,每个只有几秒钟播放,最后需要合并成一个mp4格式的视频,就可以正常播放,默认高清下载
注意这里的进度因为使用多进程下载,进度仅供参考,没有确切显示进度,可以进文件夹查看正常进度,可以理解为显示一次进度,下载一个ts文件
实现效果
私信小编007即可获取数十套PDF的获取方式哦!
全民解析网站的源码分享和全民解析cjw的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!
