太刺激了!用python30行代码抓取虎牙上万个小姐姐跳舞视频,不说了,鼻血上来了···

Posted 软件测试小dao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了太刺激了!用python30行代码抓取虎牙上万个小姐姐跳舞视频,不说了,鼻血上来了···相关的知识,希望对你有一定的参考价值。

关注我,每天分享软件测试技术干货、面试经验,想要领取测试资料、进入软件测试学习交流群的可以直接加群644956177~~

在这里插入图片描述
很多小伙伴在平时看视频的时候,都喜欢看小姐姐的舞蹈视频。今天,小编就和大家一起,通过30行代码,对了,只要30行代码就可以搞定!一起来抓取虎牙视频网站中小姐姐的舞蹈视频,火速来围观吧。

01.视频获取展示

大家在打开虎牙视频后,可以在“星秀/颜值”的类别下找到跳舞的视频,小编粗略的翻阅了一下,每页一共有20个视频,而且一共有500页,所以一共有一万个视频,如果能都下载下来,宅男估计要欢呼了。

在这里插入图片描述

02.程序讲解

对于视频的获取,同图片获取相同,都需要得到视频的url地址。我们需要通过分析获取得到每个舞蹈视频的子网页链接,然后在子网页中获取得到视频的url链接。首先,我们来看一下如何获取每个子网页的链接地址。

1).获取子网页链接通过分析网页的源代码,可以发现,主页当中的每个子网页的地址都可以从网页的源代码中获取得到。

在这里插入图片描述

所以可以通过requests库来获取网页的源代码,并通过解析网页的源代码来获取得到当前页面中所有子网页的链接地址,程序如下图所示。在这里插入图片描述
程序当中,通过for循环的方式,来构建所有的主网页链接,通过请求并解析网页的源代码来抓取所有的子网页链接,并保存到self.video_urls列表当中。

2).下载视频

相对于子网页的链接地址获取,对于子网页中的视频链接的获取则更加麻烦,需要我们进行分析和解析,如下图所示:在这里插入图片描述
在子网页中,通过在开发者模式下解析网页元素,就可以找到视频的链接地址,接下来我们复制视频的链接地址,然后到network选项下,通过快捷键ctrl+F来搜索”//huya-w20.huya.com/“,就可以找到对应的请求接口链接。

通过对于视频的请求链接分析,可以得到如下的数据链接地址:https://liveapi.huya.com/moment/getMomentContent?&videoId=468682371,上述的链接地址所返回的是json数据内容,我们通过分析json数据就可以找到真正的视频链接地址,其中参数videoId就是视频子网页的地址,例如子网页为https://v.huya.com/play/468682371.html,则videoId的数值为468682371。

下面的地址就是我们通过分析上述的json数据所得到的视频链接地址:

http://huya-w20.huya.com/2109/468682371/yuanhua/d1ab7c7919a1ce0560c2f34ffb8d11fc.mp4?bitrate=1677&client=22&definition=yuanhua&pid=1243890452&scene=vod&vid=468682371

明白了视频的链接地址的获取,接下来我们就可以通过程序来进行视频地址的获取。

在这里插入图片描述
在这里插入图片描述
程序通过构造json数据的链接地址,然后分析json数据后,抓取视频的链接地址,通过self.SaveVideo来将视频保存到本地文件夹中。通过运行程序,我们便可以不断的抓取小姐姐的跳舞视频。

其实整个的程序非常简单,有兴趣的小伙伴可以动手练习一下,**爬虫只是Python里面的冰山一角,做办公自动化,后端开发,大数据分析,数据挖掘才是真正的发挥威力的地方,**大家还是要多花时间在数据分析,数据挖掘上面,无论是找工作还是提升业务能力都大有裨益。所以还没有学Python的同学不要犹豫,赶紧上车吧!

最后

在这里还是要推荐下我自己建的Python自动化学习群:644956177 ,群里都是学Python自动化测试的,如果你正在学习Python ,小编欢迎你加入,大家都是测试开发党,不定期分享干货(只有Python软件测试相关的),包括我自己整理的一份2021最新的Python自动化资料。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

以上是关于太刺激了!用python30行代码抓取虎牙上万个小姐姐跳舞视频,不说了,鼻血上来了···的主要内容,如果未能解决你的问题,请参考以下文章

60 行代码,10000 个虎牙小姐姐视频来袭!

60 行代码,10000 个虎牙小姐姐视频来袭!

python抓取局域网内数据

女友晚安之后依然在线:python男友用20行代码写了个小工具

普通人学python有什么用 学好了能干什么

25 行 Python 代码实现人脸识别——OpenCV 技术教程