python爬虫之腾讯vip(腾讯python爬虫项目实战)

运行环境

IDE:pycharm

python:3.6.5

实现目的

实现对腾讯视频目标url的解析与下载,由于第三方vip解析,只提供在线观看,隐藏想实现对目标视频的下载

实现思路

首先拿到想要看的腾讯电影url,通过第三方vip视频解析网站进行解析,通过抓包,模拟浏览器发送正常请求,通过拿到缓存ts文件,下载视频ts文件,最后通过转换为mp4文件,即可实现正常播放

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者有兴趣学习python的伙伴可以私信回复小编“学习” 领取全套免费python学习资料、视频()装包

python爬虫之腾讯视频vip下载!VIP什么的不存在的

源码

import reimport os,shutilimport requests,threadingfrom urllib.request import urlretrievefrom pyquery import PyQuery as pqfrom multiprocessing import Poolclass video_down(): def __init__(self,url): # 拼接全民解析url self.api='***' self.get_url = '***/?url=' + url #设置UA模拟浏览器访问 self.head = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'} #设置多线程数量 self.thread_num=32 #当前已经下载的文件数目 self.i = 0 # 调用网页获取 html = self.get_page(self.get_url) if html: # 解析网页 self.parse_page(html) def get_page(self,get_url): try: print('正在请求目标网页....',get_url) respOnse=requests.get(get_url,headers=self.head) if response.status_code==200: #print(response.text) print('请求目标网页完成....n 准备解析....') self.head['referer'] = get_url return response.text except Exception: print('请求目标网页失败,请检查错误重试') return None def parse_page(self,html): print('目标信息正在解析........') doc=pq(html) self.title=doc('head title').text() print(self.title) url = doc('#player').attr('src')[14:] html=self.get_m3u8_1(url).strip() #self.url = url + '800k/hls/index.m3u8' self.url = url[:-10] +html print(self.url) print('解析完成,获取缓存ts文件.........') self.get_m3u8_2(self.url) def get_m3u8_1(self,url): try: respOnse=requests.get(url,headers=self.head) html=response.text print('获取ts文件成功,准备提取信息') return html[-20:] except Exception: print('缓存文件请求错误1,请检查错误') def get_m3u8_2(self,url): try: respOnse=requests.get(url,headers=self.head) html=response.text print('获取ts文件成功,准备提取信息') self.parse_ts_2(html) except Exception: print('缓存文件请求错误2,请检查错误') def parse_ts_2(self,html): pattern=re.compile('.*?(.*?).ts') self.ts_lists=re.findall(pattern,html) print('信息提取完成......n准备下载...') self.pool() def pool(self): print('经计算需要下载%d个文件' % len(self.ts_lists)) self.ts_url = self.url[:-10] if self.title not in os.listdir(): os.makedirs(self.title) print('正在下载...所需时间较长,请耐心等待..') #开启多进程下载 pool=Pool(16) pool.map(self.save_ts,[ts_list for ts_list in self.ts_lists]) pool.close() pool.join() print('下载完成') self.ts_to_mp4() def ts_to_mp4(self): print('ts文件正在进行转录mp4......') str='copy /b '+self.title+'*.ts '+self.title+'.mp4' os.system(str) filename=self.title+'.mp4' if os.path.isfile(filename): print('转换完成,祝你观影愉快') shutil.rmtree(self.title) def save_ts(self,ts_list): try: ts_urls = self.ts_url + '{}.ts'.format(ts_list) self.i += 1 print('当前进度%d/%d'%(self.i,len(self.ts_lists))) urlretrieve(url=ts_urls, filename=self.title + '/{}.ts'.format(ts_list)) except Exception: print('保存文件出现错误')if __name__ == '__main__': #电影目标url:狄仁杰之四大天王 url='***/x/cover/r6ri9qkcu66dna8.html' #电影碟中谍5:神秘国度 url1='***/x/cover/5c58griiqftvq00.html' #电视剧斗破苍穹 url2='***/x/cover/lcpwn26degwm7t3/z0027injhcq.html' url3='***/x/cover/33bfp8mmgakf0gi.html' video_down(url2)```

视频缓存ts文件

这里都是一些缓存视频文件,每个只有几秒钟播放,最后需要合并成一个mp4格式的视频,就可以正常播放,默认高清下载

注意这里的进度因为使用多进程下载,进度仅供参考,没有确切显示进度,可以进文件夹查看正常进度,可以理解为显示一次进度,下载一个ts文件

实现效果

python爬虫之腾讯视频vip下载!VIP什么的不存在的

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 3月 23日 下午4:22
下一篇 2023年 3月 23日 下午4:36

相关推荐

  • 自助建站系统可以建个人网站吗

    就企业而言,如果你想长期发展,它是方便的。适合企业网站的制作方法是采用自助建站系统。百度上有很多自助建站系统,那么个人如何选择自助建站系统?自助建站系统个人网站怎么做? 1.基本要…

    2023年 4月 27日
  • 淘宝新店铺怎样上架商品最好

    随着电商市场的发展,越来越多的人选择在淘宝上开设自己的店铺。但是,对于新手来说,如何正确上架商品却是一件令人头疼的问题。本文将为大家详细介绍淘宝新店铺正确上架商品的步骤,帮助大家能…

    互联网 2023年 6月 8日
  • 有免费的火车票查询软件吗(火车票查询软件哪个最好)

    今日(20210929)软件分享: 手机APP:查火车票 国庆假期即将到来,需要乘坐火车的各位,有的人已经买到票了,有的伙伴还在用各种APP在刷着票,比如智行火车票、高铁管家、铁友…

    2023年 1月 24日
  • 易企秀可以建立多少个h5,易企秀怎么做h5

    拓扑社3月30日报道 (文:窦悦怡) 据统计,2013年全球将有10亿手机浏览器支持HTML5,同时HTML Web开发者数量将达到200万。毫无疑问,HTML5将成为未来5-10…

    2023年 1月 3日
  • 显白又好看的发色

    2022夏季 发 色 推 荐 显白、好看、不挑人、氛围感满满 作为一个精致的女生, 头发颜色也必须重视起来。 发色对于女生来说特别重要, 只要选对了发色, 颜值就会翻倍! 所以小编…

    2023年 7月 4日
  • 两种网络地址段,如何设置内网和外网一起上网功能

    一般企业都会有自己内部专用业务网络、及对外的互联业务两个网络,在具体使用过程中,根据业务类型的不同、部门职能的不同而分开使用两种网络。 但在使用过程中总会有特殊情况,就是一台电脑要…

    2023年 7月 13日
  • word工具栏被隐藏了怎么打开快捷键

    Word工具栏是Word文档菜单栏中的一项功能,它可以帮助用户快速执行常用操作。如果工具栏被隐藏,可以通过简单的操作来打开它。首先,单击Word文档上的“查看”按钮,在弹出的菜单中…

    2023年 5月 1日
  • 怎么设置抖音iP地址(抖音显示ip地址可以关吗)

    你知道怎样把你抖音上的IP地址隐藏起来吗,每当你给别人的视频评论的时候,或者是别人进入你的主页观看你视频的时候,他们都会看见你所在的城市或者是地区,那我们应该怎么去设置,让我们的详…

    2023年 5月 1日
  • 同城上门做饭服务

    1.系统源码:我们提供的源码是专为同城上门做饭服务设计的系统源码。用户可以通过手机轻松下载我们的应用,以方便地预约和享受上门做饭服务。我们的系统界面简洁友好,用户可以快速浏览和选择…

    2023年 9月 18日
  • 异地客服工作到哪里找,居家客服找工作应该问些什么

    很多人都知道或者听说过异地客服这类工作,最大优势就是可以通过电脑在家办公,工作时间相对比在职场上班更自由,那么,这类工作去哪里找呢,今天就为大家整理了5种方法,赶快点赞收藏吧! 1…

    2023年 1月 28日