如何用python免费看美剧


Posted in Python onAugust 11, 2020

最早一部《越狱》转变了我对美剧的看法。主人公scofield的聪明才智和坚强的毅力,《绝命毒师》里面主人公的中年逆袭,《纸牌屋》里面老谋深算的政客,等等,这些美剧和里面鲜活的任务,至今令人记忆尤新。

最近,又迷上了美剧,无奈多数视频平台上的美剧都是收费的。对于一个资深Pythoner,我们可以用Python自动获取美剧的网址,下载了慢慢看。

如何用python免费看美剧

我们以天天看M剧这个网站为例,来展示如何分析和下载这些内容,这里提供一种思路供大家学习。当然,我们还是得支持正版内容,这里是介绍技术,大家勿用于非法用途哦,电影下载后请遵照网站协议及时删除。

准备网址

网址大家自己找。我们在主页搜索“危机边缘”

如何用python免费看美剧

然后我们获得1-5季的网址内容,如下图

如何用python免费看美剧

我们知道了1-5季的网址信息,然后,我们来看一下每一个页面的结构。

分析页面内容

我们打开第一季的页面,看下需要获取的内容,如下图:

如何用python免费看美剧

我们需要的是每一集的网址信息(上图中红色框线中的内容),通过将各个季的每一集网址内容下载下来,按季保存为txt文件,然后使用下载工具导入下载即可。

Python如何实现

我们知道,爬取信息主要使用的一些经典库。

如何用python免费看美剧

我们这里主要使用两个经典的库requests和bs4。亲测该网站没有反爬措施,因此我们没有涉及这些内容,感兴趣的小伙伴自己学习下相关内容。

如何用python免费看美剧

我们的一般思路是这样的,下面来看下Python实现过程。

我们定义三个函数,主要代码如下:

【获取网页内容】

def getHtml(url):
return requests.get(url)

直接返回了网页的文本内容。

【获取每页网址信息】

def getInfo(html):
lst = []
bs = BeautifulSoup(html.text, 'html.parser')
urls = bs.findAll('tbody')[0]
for item in urls.findAll('a'):
lst.append((item.get("href"), item.text))
return lst

传入每一季的页面内容,以列表信息返回每一集的网址和每一集的名字。

【保存内容】

def saveInfo(name, lst):
with open('第{}季.txt'.format(name), 'w') as f:
for item in lst:
f.write(item[0] + '\n')

传入每一季的名称的该季中的每一集的网址列表,保存在本地。

做轮子

没错,简单的三步实现了我们需要的效果。下面,我们开始“造轮子”。

如何用python免费看美剧

下面我们来看看我们实现的功能。

如何用python免费看美剧

好了,我们的内容成功获取到了,然后自己下载吧!

程序扩展

聪明的小伙伴一定想到了,还有很多好看的美剧呢,我们如何下载其它的内容呢?

如何下载其它视频呢?

过程同上,先到主页搜索,然后更改我们的url_list列表,执行程序即可!接触过前端的小伙伴肯定知道,每个网站的结构基本是相同的,我们这样的方法在天天看M剧的主页上应该是通用的。感兴趣的小伙伴自己下载看看咯。

到此这篇关于如何用python免费看美剧的文章就介绍到这了,更多相关Python看美剧的方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
爬山算法简介和Python实现实例
Apr 26 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
Jan 16 Python
Python冒泡排序注意要点实例详解
Sep 09 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
Python中序列的修改、散列与切片详解
Aug 27 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
Nov 10 Python
python移位运算的实现
Jul 15 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
Nov 11 Python
PyQt5多线程刷新界面防假死示例
Dec 13 Python
Tensorflow之梯度裁剪的实现示例
Mar 08 Python
基于python图像处理API的使用示例
Apr 03 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 Python
Pythonic版二分查找实现过程原理解析
Aug 11 #Python
Python3合并两个有序数组代码实例
Aug 11 #Python
Python基于gevent实现文件字符串查找器
Aug 11 #Python
Python3如何实现Win10桌面自动切换
Aug 11 #Python
Python3如何使用多线程升程序运行速度
Aug 11 #Python
使用Python pip怎么升级pip
Aug 11 #Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
Aug 11 #Python
You might like
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
PHP编写简单的App接口
2016/08/28 PHP
php实现的http请求封装示例
2016/11/08 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
JavaScript 基础问答三
2008/12/03 Javascript
清空上传控件input file的值
2010/07/03 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
js动态切换图片的方法
2015/01/20 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
JS前端笔试题分析
2016/12/19 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
Django中间件实现拦截器的方法
2018/06/01 Python
Python实现DDos攻击实例详解
2019/02/02 Python
python logging模块的使用总结
2019/07/09 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
技术总监管理职责范本
2014/03/06 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
工伤事故证明
2014/10/20 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android