女神照片当背景,使用Python做个免费的VIP视频播放软件
/1 前言/
最近在家闲的快发霉了,想看看电视剧吧,发现这个要充会员,那个也要充会员???
这种特殊时期我连饭都吃不起了哪还有钱充会员,于是我决定发挥技术宅男的优势,用python做个免费的vip视频播放软件,从此告别会员充值,“白嫖”看视频!
下面本宅男就给大家介绍一下,不充会员,如何看VIP视频。
主体思路是引用VIP视频解析接口,然后用python将其整合到可视化窗口,再添加VIP视频网址输入模块和启动浏览器播放按钮,最后,使用女神的照片为背景,就大功告成了,下面是具体的实现步骤。
/2 分析找到解析地址/
1、首先找到解析地址的网站,这种网站很多,随便找一个,如下图所示。
2、将vip视频网址输进去,然后打开流量分析工具。
3、点击“Go-点击开始解析”,如下图所示。
仔细看一下划红线的url,发现它是一个拼接的url,后面的https://www.iqiyi.com/v_19rv62nbf8.html是视频网页,那么http://jx.598110.com/?url=就是我们要找的视频接口啦!
/3 启用selenium模块/
Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器,支持Windows、Linux、IOS、Android等多种操作系统。
Selenium的安装比较简单,只需命令行输入pip install Selenium
Selenium调用浏览器必须有一个webdriver驱动文件
Chrome驱动文件下载:‘https://chromedriver.storage.googleapis.com/index.html?path=2.35/’
Firefox驱动文件下载:
‘https://github.com/mozilla/geckodriver/releases’
Selenium调用浏览器打开网页只需三行代码,如下图所示。
上图中的url为接口地址+vip视频网页地址。
/4 调用tkinter模块,做个可视化界面/
最近在家闲的快发霉了,想看看电视剧吧,发现这个要充会员,那个也要充会员。
Tkinter是python默认的GUI库,我们可以用它实现很多直观的功能,而且使用比较简单,通过各种控件可以增加可视化窗口的功能。
本次主要使用Label、Entry、Button等控件。其中Canvas组件和 html5 中的画布一样,都是用来绘图的,可以将图形,文本,小部件或框架放置在画布上。
主要解释一下,第一行width和heigth是画布的宽度和高度,第五行266和150是图片中心在画布中的位置,因为图片像素是533X300,所以这种布局恰好将画布铺满。
Label 组件用于显示文本和图像,如下图所示。
Text是要显示的文本,bg是背景颜色,font是字体样式及大小,fg是字体颜色,padx是文本和文本框的横向距离,pady是文本和文本框的纵向距离,单位是像素。
Entry(输入框)组件通常用于获取用户的输入文本,如下图所示。
在这一步走了很多坑,最终发现要这样表述,Search即是输入框获得的内容。Button(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。
Text为按钮名称OpenHtml为要执行的函数,search_text.get()Entry输入框的内容,作为OpenHtml的参数,到此的效果图如下。
哇喔,女神好美啊!
/5 将程序打包成可执行的.exe文件/
关于Python实现打包的方式,小编最近也有写,回头发给大家学习。利用python有现成的模块pyinstaller,在pycharm里可以直接安装,安装完成后打开Win+R,输入cmd打开命令窗口,直接输入下图命令。
打码的是代码文件地址,运行成功后,会提示生成exe文件的位置。
/6 整体效果演示/
最终呈现的整体效果动图,小编以gif动图形式给大家展示,但是其大小超过了5M,在文章中加载不出来,小编将动图和代码文件都上传到了github地址上,后台回复“视频播放”四个字即可获取代码和动图地址。
/7 结语/
本文主体思路是引用VIP视频解析接口,然后用python将其整合到可视化窗口,再添加VIP视频网址输入模块和启动浏览器播放按钮,最后,使用女神的照片为背景,就大功告成了。
欢迎大家尝试,消耗在家的无聊时间。本文涉及的代码都上传到了github地址上,视频播放代码和动图展示代码:https://github.com/cassieeric/python_crawler/tree/master/video_play,觉得不错,记得给个star噢。