如何用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自动化工具日志查询分析脚本代码实现
Nov 26 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
Python 实现删除某路径下文件及文件夹的实例讲解
Apr 24 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
Python中的heapq模块源码详析
Jan 08 Python
Python设计模式之职责链模式原理与用法实例分析
Jan 11 Python
Python判断对象是否相等及eq函数的讲解
Feb 25 Python
适合Python初学者的一些编程技巧
Feb 12 Python
AUC计算方法与Python实现代码
Feb 28 Python
Python参数传递对象的引用原理解析
May 22 Python
Python通过zookeeper实现分布式服务代码解析
Jul 22 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 文件状态缓存带来的问题
2008/12/14 PHP
php print EOF实现方法
2009/05/21 PHP
php设计模式 Composite (组合模式)
2011/06/26 PHP
Admin generator, filters and I18n
2011/10/06 PHP
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
php文件缓存方法总结
2016/03/16 PHP
使用php实现从身份证中提取生日
2016/05/09 PHP
PHP最常用的正则表达式
2017/02/13 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
JavaScript面向对象编程
2008/03/02 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
基于vue.js实现分页查询功能
2018/12/29 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
Python 文件操作的详解及实例
2017/09/18 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
铭立家具面试题
2012/12/06 面试题
业务经理岗位职责
2013/11/11 职场文书
销售行政专员职责
2014/01/03 职场文书
工程部岗位职责
2015/02/10 职场文书
党员个人总结自评
2015/02/14 职场文书
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS