实战:用Python抓取腾讯视频电影

爬虫-python实现的抓取腾讯视频所有电影 用python实现的抓取腾讯视频所有电影的爬虫 # -*- coding: utf-8 -*- import re import urllib2 from bs4 import BeautifulSoup import string, time import pymongo NUM = 0 #全局变量,电影数量 m_type = u'' #全局变量,电影... 阅读详情
AI摘要

本文介绍如何使用Python3.6在PyCharm环境中,通过第三方工具解析腾讯视频URL,抓取并下载ts文件,然后将它们合并为mp4格式的视频。作者通过示例代码展示了整个过程,包括网络请求、页面解析、多线程下载和文件转换技术。,

运行环境

  • IDE丨pycharm

  • 版本丨Python3.6

  • 系统丨Windows

实现目的与思路

目的:

实现对腾讯视频目标url的解析与下载。

思路:

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

完整代码

import re``import os,shutil``import requests,threading``from urllib.request import urlretrieve``from pyquery import PyQuery as pq``from multiprocessing import Pool``'''``'''``class video_down():`    `def __init__(self,url):`        `# 拼接全民解析url`        `self.api='https://jx.618g.com'`        `self.get_url = 'https://jx.618g.com/?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='https://v.qq.com/x/cover/r6ri9qkcu66dna8.html'`    `#电影碟中谍5:神秘国度`    `url1='https://v.qq.com/x/cover/5c58griiqftvq00.html'`    `#电视剧斗破苍穹`    `url2='https://v.qq.com/x/cover/lcpwn26degwm7t3/z0027injhcq.html'`    `url3='https://v.qq.com/x/cover/33bfp8mmgakf0gi.html'`    `video_down(url2)

视频缓存ts文件

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

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

实现效果


以上就是“实战:用Python抓取腾讯视频电影”的全部内容,希望对你有所帮助。
​
​关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至优快云官方,朋友如果需要可以直接微信扫描下方优快云官方认证二维码免费领取【保证100%免费】。

爬取腾讯视频网站数据 1 数据获取腾讯视频的网站中隐含的是一个非结构化的数据。R语言的“XML”包中htmlParse和getNodeSet非常强大,通过htmlParse可以抓取页面数据并形成树状结构,getNodeSet可以对抓取的数据根据XPath语法来选取特定的节点集合。“revst”包的html_nodes与html_attr可以分别获得节点和属性。 下面是爬取腾讯视频网站中电影数据的一部分关键代码:1.1加 阅读详情

相关推荐

Python爬虫实战,requests模块,Python实现抓取腾讯视频弹幕评论

前言 利用Python实现抓取腾讯视频弹幕,废话不多说。 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块; pandas模块 以及一些Python自带的模块。 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 思路分析 本文以爬取电影《革命者》为例,讲解如何爬取腾讯视频的弹幕和评论! 目标网址 https://v.qq.com/x/cover/mzc00200m72fcup.html 抓取弹幕 分析网址 依然进入浏览器的开发者工具

weixin_43649691的博客 1万+

Python下载腾讯视频

m3u8 文件实质是一个播放列表(playlist),其可能是一个媒体播放列表(Media Playlist),或者是一个主列表(Master Playlist)。但无论是哪种播放列表,其内部文字使用的都是 utf-8 编码。当 m3u8 文件作为媒体播放列表(Meida Playlist)时,其内部信息记录的是一系列媒体片段资源,顺序播放该片段资源,即可完整展示多媒体资源。。。。。中间省略。。。。。其中每一个链接都包含了十几秒的视频。

Trb701012的博客 7123

Python爬取腾讯视频电影信息 并进行数据可视化

一、实验目的 1.掌握网络爬虫及数据分析和处理方法 2.掌握python网络爬虫的各种模块 3.掌握数据可视化方法 二、实验内容 1.爬取腾讯视频电影信息 2.处理和保存爬取的数据 3.利用pyecharts将数据可视化 三、实验过程 获取网页源代码 腾讯视频电影信息网页的网址为https://v.qq.com/channel/movie 实现代码如下 运行之后可以看到网页的源代码...

九思的博客 1万+

就这么简单!20行Python代码爬取腾讯视频

点击上方“涛哥聊Python”,选择“星标”公众号重磅干货,第一时间送达来源:Leo说点事元旦放假前,老板让我下载一个视频发给同事群看一下,仔细研究后发现腾讯视频下载的都是QLV视频文件...

涛哥聊Python 2万+

KV Cache 详解:新手也能理解的 LLM 推理加速技巧

(Autoregressive)生成的,即每次生成一个 token,然后将其作为输入继续生成下一个 token。:如果序列太长,超过了 KV Cache 的存储限制,就需要丢弃最早的 tokens(类似滑动窗口)。时,每次只会生成一个新 token,然后再把这个 token 作为输入继续生成下一个 token。,只缓存计算过的 K,VK, V,每次只计算新 token 的 K,VK, V,从而提升推理效率。:如果输入的 prompt 发生变化,之前的 KV Cache 不能复用,必须重新计算。

Harry的博客 7359

从零到一:高通QCS6490边缘AI开发板的Linux生态构建与实战避坑指南

本文详细介绍了在高通QCS6490边缘AI开发板上构建Linux生态系统的完整流程,包括开发环境准备、系统镜像构建与烧录、AI运行时环境配置、模型部署优化以及性能调试。重点解析了如何利用Hexagon DSP的高达12 TOPS AI算力,并提供了实战中的避坑指南和性能优化技巧,帮助开发者高效实现边缘AI应用从概念验证到产品落地的全过程。

eee77的博客 770

Python实战 | 如何抓取腾&讯视频

python 3.8 解释器pycharm 编辑器。

python56123的博客 2811

ENU坐标系实战:5分钟搞定无人机导航中的站心坐标转换

本文针对无人机导航中GPS坐标与视觉感知不匹配的定位漂移问题,提供了基于ENU坐标系的实战解决方案。通过Python代码演示了如何快速、精准地实现地心地固坐标与站心坐标之间的转换,并详细解释了转换原理、精度对比及工程优化技巧,帮助开发者从根本上解决局部相对定位不准的难题。

mqtt6iot的博客 552

2024年最全微众Fate-横向联邦学习-预测

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

2401_84562425的博客 805

Numpy快速入门(np)!看这一篇就够了

Numpy快速入门(np)!看这一篇就够了

weixin_74009895的博客 2679

Notepad++ XML Tools插件:手把手教你格式化混乱XML与一键语法检查(保姆级教程)

本文详细介绍了如何使用Notepad++的XML Tools插件格式化混乱的XML文件并进行一键语法检查。通过插件安装、格式化实战和语法排错的完整流程,帮助开发者高效处理XML数据,提升API通信和数据存储的工作效率。特别适合需要快速验证和整理XML配置的开发人员。

weixin_42619742的博客 326

腾讯视频Python爬虫项目实战

做了一些小项目,用的技术和技巧会比较散比较杂,写一个帖子记录一下,帮助各位熟悉!需要如下Python包:requestspandas就这些,不需要复杂的自动化爬虫架构,简单而且常用的包就够了。

WANGWUSAN66的博客 4107

C# MES通信从入门到精通(1)——串口传输文件

本文详细介绍了在Mes通信领域如何使用串口发送文件,由实战经验总结,堪称MES通信领域的葵花宝典!

qq_34059233的博客 3750

Python爬虫实现抓取腾讯视频所有电影-源码【实战必学】

用python实现的抓取腾讯视频所有电影的爬虫 1. # -*- coding: utf-8 -*- 2. import re 3. import urllib2 4. from bs4 import BeautifulSoup 5. import string, time 6. import pymongo 8. NUM = 0 #全局变...

python入门学习进阶教程 1万+

Gromacs 模拟昆虫 P450 解毒酶与农药结合完整指南,仅供参考!

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1240

【传感器模块项目实战】机器人/无人驾驶常用传感器模型、选型与安装

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!无人车&无人机导航合集本文先对机器人/无人驾驶常用传感器模型、选型与安装做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容分为位置式绝对型编码器增量式编码器打比赛的时候用过欧姆龙的增量式编码器,也用过待编码器的步进电机。【防盗标记–盒子君hzj】增量式编码器正交编码输出信号,用于识别正转和反转,通过微控制器(单片机)的片内外设硬件/软件解码(1)惯性器件-机械陀螺。

qq_35635374的博客 448

python 项目实战视频_腾讯视频 Python 爬虫项目实战

做了一些小项目,用的技术和技巧会比较散比较杂,写一个小品文记录一下,帮助熟悉。需求:经常在腾讯视频上看电影,在影片库里有一个"豆瓣好评"板块。我一般会在这个条目下面挑电影。但是电影很多,又缺乏索引,只能不停地往下来,让js加载更多的条目。然而前面的看完了,每次找新的片就要拉很久。所以用爬虫将"豆瓣好评"里的电影都爬下来整理到一个表中,方便选片。Python人工智能 - 一节课,让你的效率提升10倍...

weixin_36217616的博客 412

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python爬虫-python实现抓取腾讯视频所有电影

用python实现的抓取腾讯视频所有电影的爬虫 # -*- coding: utf-8 -*- import re import urllib2 from bs4 import BeautifulSoup import string, time import pymongo NUM = 0 #全局变量,电影数量 m_type = u'' #全局变...

Python新手学习之家 6414

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

用python实现的抓取腾讯视频所有电影的爬虫

1. [代码]用python实现的抓取腾讯视频所有电影的爬虫 # -*- coding: utf-8 -*-# by awakenjoys. my site: www.dianying.atimport reimport urllib2from bs4 import BeautifulSoupimport string, timeimport pymongoNUM = 0 ...

weixin_30894583的博客 817

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

基于python实现的抓取腾讯视频所有电影的爬虫

我搜集了国内10几个电影网站的数据,里面近几十W条记录,用文本没法存,mongodb学习成本非常低,安装、下载、运行起来不会花你5分钟时间。 # -*- coding: utf-8 -*- # by mazh. my site: http://blog.youkuaiyun.com/zhongqi2513 import re import urllib2 from bs4 import Beauti

好学若饥,谦卑若愚 5万+

用python实现一个抓取电影的爬虫

实现思路: 抓取一个电影网站中的所有电影的思路如下: 根据一个URL得到电影网站的所有分类 得到每个分类中的电影的页数 根据其电影分类的URL规律构造每个分类中每个页面的URL 分析每个页面中的html,并用正则把电影信息过滤出来 准备工作: 安装python(我用的是mac系统,默认的版本是Python 2.7.1) 安装mongodb,从官网下载最新版本...

awp396918513的博客 1043

腾讯视频 Python 爬虫项目实战

文 | yangrq1018经常在腾讯视频上看电影,在影片库里有一个"豆瓣好评"板块。我一般会在这个条目下面挑电影。但是电影很多,又缺乏索引,只能不停地往下来,让js加...

欢迎关注公众号:【码农突围】,公号后台回复9999,可以获取一份500页的LeetCode刷题笔记。 1354

python爬虫实战-腾讯视频

需求:经常在腾讯视频上看电影,在影片库里有一个"豆瓣好评"板块。我一般会在这个条目下面挑电影。但是电影很多,又缺乏索引,只能不停地往下来,让js加载更多的条目。然而前面的看完了,每次找新的片就要拉很久。所以用爬虫将"豆瓣好评"里的电影都爬下来整理到一个表中,方便选片。 项目地址:https://github.com/yangrq1018/vqq-douban-film 依赖 需要如下Python包: requests bs4 - Beautiful soup pandas

Jmayday 1685
上一篇: 终于见识到 Python 的天花板
下一篇: 用 Python 写了一个电子考勤系统
壹只小小码农
博客等级 码龄5年 8101粉丝 1334原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值