大家好,本文将围绕python怎么下载安装视频教学展开说明,python怎么下载视频文件是一个很多人都想弄明白的事情,想搞清楚怎么用python下载文件需要先了解以下几个事情。
原标题:运用Python爬虫下载电影、电视剧、动漫
前言:
本程序代码仅供学习,切莫用于商业活动,一经被相关人员发现,本小编概不负责!另外,如果有读者想转载我的这篇文章,请注明转载链接!
文章目录
-
-
- 原标题:运用Python爬虫下载电影、电视剧、动漫
-
- 1.完成这个程序代码需要的Python模块
- 2. 爬取视频的链接、简介和名称
- 3.得到这个视频的下载链接的json文件
- 4.下载所有的.ts文件或者给出.mp4文件的下载链接
- 5.合并所有.ts文件
- 6.运行结果和最终代码
- 7.总结
-
1.完成这个程序代码需要的Python模块
需要的Python模块有:requests模块、bs4模块、threading模块、sys模块、urllib模块、os模块
下面简要的介绍一下在这个程序中所使用的Python模块的作用:
requests模块:主要用于爬取网页数据;
bs4模块:主要用于解析爬取得到的数据信息;
threading模块:主要用于下载所有的.ts文件,提高下载速度;
sys模块:如果程序中间出现错误,终止整个程序代码,使用sys.exit()方法;
urllib模块:用于对用户输入的信息进行编码,主要使用urllib.parse.urlencode()方法;
os模块:用于得到一个文件夹下面所有的文件(或者文件夹)(在这里是得到文件),使用os.listdir()方法。
2. 爬取视频的链接、简介和名称
首先,我们要来到这个网址下面:YM影视
在搜索栏上面输入一部视频的名称:小编在这里输入的是:斗罗大陆,点击搜索按钮,来到下面的画面:
接下俩我们需要得到的内容就是这些了,按电脑键盘的F12键,来到开发者工具,可以发现,这些内容和视频的链接在这个标签下面;
实现代码:两个函数
def get_video_content(): # 得到匹配到的相关电影(或者电视剧)的名称、链接、简介的列表
video=input('请输入你想看的电影或者电视剧名称:')
keyword=parse.urlencode({'k':video})[2:] # 对输入的名称进行编码
url='http://ymystv.com/seacher-%s.html'%(keyword)
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4039.400'}
response=requests.get(url=url,headers=headers)
soup=BeautifulSoup(response.text,'lxml')
list_1=soup.select('li.activeclearfix')
# list_1列表里面有的内容为 电影名称(或者电视剧名称)、链接、简介等
return list_1
def get_video_contents(list_1:list): # 进一步处理得到的内容(解析)
list_url=[] # 视频的链接
listName=[] # 视频名称
for i in range(len(list_1)):
url=list_1[i].select('div.detail>h3>a')[0]['href']
url='http://ymystv.com/'+url[url.rfind('./')+2:]
list_url.append(url)
name=list_1[i].select('div.detail>h3>a')[0].text
listName.append(name)
print('【{}】-{}'.format(i+1,name)) # 电影或者电视剧的名称
str1=list_1[i].select('div.detail>div.m-deion')[0].text # 电影或者电视剧的简介
# 对简介进行字符串处理,并按照每行最多50个字符输出
str1='简介:'+str1[str1.find('简 介 :')+6:].strip() # 去空格
for j in range(len(str1)//50+1):
print('{}'.format(str1[j*50:(j+1)*50]))
# print('{}'.format(str1)) # 没处理的输出结果
print('*'+'--'*36)
id=int(input('请输入你想看的序号:'))
return list_url[id-1],listName[id-1]
运行结果:
之后就是选择我们想看的视频了,我选择的是 龙王传说 也就是上面的序号6,虽然我没有显示出它,
点进去之后,可以发现,这里有许多集,现在需要的就是这些集数的链接了python的皮卡丘如何写代码。
跟上面一样,按电脑键盘F12键,来到开发者模式,可以发现,集数在这个标签下面;
3.得到这个视频的下载链接的json文件
这样我们就可以得到这些视频的播放链接了,那怎样下载呢?我们点击NetWork下面的XHR刷新一下,可以发现,在这里有一个视频接口(你懂的),只要将这个接口和刚才我们得到的一个视频链接组合起来,在浏览器上打开,就是一个json数据,如下:
我们只需将这个链接得到,并且得到里面使用的.ts文件的下载链接即可。
4.下载所有的.ts文件或者给出.mp4文件的下载链接
这里我运用的多线程下载,不过并不是所有的.ts文件都能播放的,但是合并成.MP4之后,是可以的;如果得到是一个.MP4文件的下载链接,我会将它直接输出,因为一个.mp4文件比较大,运用Python爬虫下载花费的时间比较多,所以这还不如直接运用浏览器下载。
5.合并所有.ts文件
import os
path=input('请输入需要合并的绝对路径:')
list_1=[path+'\{}.ts'.format(str(ij)) for ij in sorted([int(str_1[:str_1.find('.')]) for str_1 in os.listdir(path)])]
for str_2 in list_1:
with open(file=str_2,mode='rb') as f:
content=f.read()
with open(file='./龙王传说_1.mp4',mode='ab') as fp:
fp.write(content)
合并保存的那个.MP4文件的名称需要我们自己手动修改一下,当然读者也可以改动一个代码,不过,我觉得我的这个合并还不算好,播放的MP4还是有一些问题的,读者如果有什么更好的合并方法,可以在下方留言,谢谢!
6.运行结果和最终代码
运行结果:
运用Python爬虫下载视频
代码:
代码我已经上传到github上了,读者可以自行到上面查看,链接为:
video.py
7.总结
在这个程序代码,我没有用到IP代理,所以当运行次数过多的时候,会出现一些问题,不过,开始的时候下载速度是非常快的。如果读者觉得我的这篇文章写的还可以,记得点赞!谢谢!
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,Python自动化测试学习等教程。带你从零基础系统性的学好Python!
👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]](安全链接,放心点击)文章来源:https://www.toymoban.com/news/detail-861147.html
一、Python大礼包
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、 Python电子书
三、入门学习视频
四、 Python爬虫秘笈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、 数据分析全套资源
六、python副业兼职与全职路线
上述这份完整版的Python全套学习资料已经上传CSDN官方,如果需要可以微信扫描下方CSDN官方认证二维码 即可领取
👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]](安全链接,放心点击)
文章来源地址https://www.toymoban.com/news/detail-861147.html
原标题:运用Python爬虫下载电影、电视剧、动漫
前言:
本程序代码仅供学习,切莫用于商业活动,一经被相关人员发现,本小编概不负责!另外,如果有读者想转载我的这篇文章,请注明转载链接!
文章目录
-
-
- 原标题:运用Python爬虫下载电影、电视剧、动漫
-
- 1.完成这个程序代码需要的Python模块
- 2. 爬取视频的链接、简介和名称
- 3.得到这个视频的下载链接的json文件
- 4.下载所有的.ts文件或者给出.mp4文件的下载链接
- 5.合并所有.ts文件
- 6.运行结果和最终代码
- 7.总结
-
1.完成这个程序代码需要的Python模块
需要的Python模块有:requests模块、bs4模块、threading模块、sys模块、urllib模块、os模块
下面简要的介绍一下在这个程序中所使用的Python模块的作用:
requests模块:主要用于爬取网页数据;
bs4模块:主要用于解析爬取得到的数据信息;
threading模块:主要用于下载所有的.ts文件,提高下载速度;
sys模块:如果程序中间出现错误,终止整个程序代码,使用sys.exit()方法;
urllib模块:用于对用户输入的信息进行编码,主要使用urllib.parse.urlencode()方法;
os模块:用于得到一个文件夹下面所有的文件(或者文件夹)(在这里是得到文件),使用os.listdir()方法。
2. 爬取视频的链接、简介和名称
首先,我们要来到这个网址下面:YM影视
在搜索栏上面输入一部视频的名称:小编在这里输入的是:斗罗大陆,点击搜索按钮,来到下面的画面:
接下俩我们需要得到的内容就是这些了,按电脑键盘的F12键,来到开发者工具,可以发现,这些内容和视频的链接在这个标签下面;
实现代码:两个函数
def get_video_content(): # 得到匹配到的相关电影(或者电视剧)的名称、链接、简介的列表
video=input('请输入你想看的电影或者电视剧名称:')
keyword=parse.urlencode({'k':video})[2:] # 对输入的名称进行编码
url='http://ymystv.com/seacher-%s.html'%(keyword)
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4039.400'}
response=requests.get(url=url,headers=headers)
soup=BeautifulSoup(response.text,'lxml')
list_1=soup.select('li.activeclearfix')
# list_1列表里面有的内容为 电影名称(或者电视剧名称)、链接、简介等
return list_1
def get_video_contents(list_1:list): # 进一步处理得到的内容(解析)
list_url=[] # 视频的链接
listName=[] # 视频名称
for i in range(len(list_1)):
url=list_1[i].select('div.detail>h3>a')[0]['href']
url='http://ymystv.com/'+url[url.rfind('./')+2:]
list_url.append(url)
name=list_1[i].select('div.detail>h3>a')[0].text
listName.append(name)
print('【{}】-{}'.format(i+1,name)) # 电影或者电视剧的名称
str1=list_1[i].select('div.detail>div.m-deion')[0].text # 电影或者电视剧的简介
# 对简介进行字符串处理,并按照每行最多50个字符输出
str1='简介:'+str1[str1.find('简 介 :')+6:].strip() # 去空格
for j in range(len(str1)//50+1):
print('{}'.format(str1[j*50:(j+1)*50]))
# print('{}'.format(str1)) # 没处理的输出结果
print('*'+'--'*36)
id=int(input('请输入你想看的序号:'))
return list_url[id-1],listName[id-1]
运行结果:
之后就是选择我们想看的视频了,我选择的是 龙王传说 也就是上面的序号6,虽然我没有显示出它,
点进去之后,可以发现,这里有许多集,现在需要的就是这些集数的链接了python的皮卡丘如何写代码。
跟上面一样,按电脑键盘F12键,来到开发者模式,可以发现,集数在这个标签下面;
3.得到这个视频的下载链接的json文件
这样我们就可以得到这些视频的播放链接了,那怎样下载呢?我们点击NetWork下面的XHR刷新一下,可以发现,在这里有一个视频接口(你懂的),只要将这个接口和刚才我们得到的一个视频链接组合起来,在浏览器上打开,就是一个json数据,如下:
我们只需将这个链接得到,并且得到里面使用的.ts文件的下载链接即可。
4.下载所有的.ts文件或者给出.mp4文件的下载链接
这里我运用的多线程下载,不过并不是所有的.ts文件都能播放的,但是合并成.MP4之后,是可以的;如果得到是一个.MP4文件的下载链接,我会将它直接输出,因为一个.mp4文件比较大,运用Python爬虫下载花费的时间比较多,所以这还不如直接运用浏览器下载。
5.合并所有.ts文件
import os
path=input('请输入需要合并的绝对路径:')
list_1=[path+'\{}.ts'.format(str(ij)) for ij in sorted([int(str_1[:str_1.find('.')]) for str_1 in os.listdir(path)])]
for str_2 in list_1:
with open(file=str_2,mode='rb') as f:
content=f.read()
with open(file='./龙王传说_1.mp4',mode='ab') as fp:
fp.write(content)
合并保存的那个.MP4文件的名称需要我们自己手动修改一下,当然读者也可以改动一个代码,不过,我觉得我的这个合并还不算好,播放的MP4还是有一些问题的,读者如果有什么更好的合并方法,可以在下方留言,谢谢!
6.运行结果和最终代码
运行结果:
运用Python爬虫下载视频
代码:
代码我已经上传到github上了,读者可以自行到上面查看,链接为:
video.py
7.总结
在这个程序代码,我没有用到IP代理,所以当运行次数过多的时候,会出现一些问题,不过,开始的时候下载速度是非常快的。如果读者觉得我的这篇文章写的还可以,记得点赞!谢谢!
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,Python自动化测试学习等教程。带你从零基础系统性的学好Python!
👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]](安全链接,放心点击)
一、Python大礼包
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、 Python电子书
三、入门学习视频
四、 Python爬虫秘笈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、 数据分析全套资源
六、python副业兼职与全职路线
上述这份完整版的Python全套学习资料已经上传CSDN官方,如果需要可以微信扫描下方CSDN官方认证二维码 即可领取
👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]](安全链接,放心点击)
到了这里,关于python怎么下载视频文件,怎么用python下载文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!