用Python打造批量下载视频并能可视化下载进度的炫酷下载器.docxVIP

用Python打造批量下载视频并能可视化下载进度的炫酷下载器.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Python打造批量下载视频并能可视化下载进度的炫酷下载器 【一、项目背景】 平常宅在家的我们最爱做的事莫过于追剧了,但是有时候了,网络缘由,可能会让你无网可上,这个时候那些好看的电视剧和电影自然是无法观看了,本期我们要讲的就是怎样下载这些视频。 【二、项目目标】 通过Python程序对所感爱好的视频进行批量下载,正好小编近期看到一些不错的视频,由于想往安卓方向走,但又苦于重新学习太简单,有没有简约点的,之前好像有什么e4a但是要学易言语就放弃了,于是乎在茫茫网络发觉了一个小众的编程言语---裕言语。好家伙,不说了,抓紧下载,盘它。 【三、项目实施】 接受sublime text 3 编写程序,先看看效果: C:\Users\Administrator\Desktop\232.jpg 接下来,由小编我为大家呈现程序的具体实现步骤。 【四、实现步骤】 1.分析网页结构 老样子,审查元素定位,如下图: C:\Users\Administrator\Desktop\1212.jpg 发觉视频全都在a标签里面,由于这个页面的视频比较多,所以我们连续分析页面,发觉一个奇特的事情。哈哈,原来全部的视频都在class为videoDown的a标签里,有了这个重要的信息就什么都好办了。 #解析页面 def parser(): ab=[] rep=requests.get(:93/iappce.htm#sp,timeout=5,headers=headers) rep.encoding=utf-8 soup=BeautifulSoup(rep.text,html.parser) res=soup.find_all(a,class_=videoDown)#查找全部class为videoDown的a标签 for y in res: ab.append(:93+y.attrs[href]) #将猎取到的视频URL地址添加到列表中 return ab #前往全部视频地址的列表 这样就悄然松松拿到了页面全部的视频地址,怎样样,是不是超级简约了。 2.下载文件 由于我们讲的是批量下载,所以在此之前需要先了解单个下载,当然,单个下载是很耗费时间,而且系统资源利用率太低。 我们来看看这个下载函数如何实现: #下载函数 def down(y,x): print(------下载第,str(x),课-------) ss=str(y.split(.)[3:4]) \#截取文件名 sa=ss.replace([,).replace(],)\#替换文件名中的特殊符号 ree=requests.get(y) with open(%d.%s.mp4%(x,sa),wb) as f: f.write(ree.content) \#保存文件 无非就是一些常用的字符串分隔以及文件操作罢了,不过此种由于比较单一,下载多个文件就行不通了,所以一般只需不是大批量下载,这种方法就够了。 然后在给他套一个函数用来简化他的启动之路。 def main(): for y in range(len(parser())): down(parser()[y],y) \#下载 main() 最终调用主函数main,悄然松松完成单个文件下载。 3.猎取文件大小并给下载文件添加缓冲 在下载视频的时候假如我们一下子把全部的资源你都拿出来放进CPU读取,那么很快就会崩溃,所以我们需要设置一个缓冲,等他缓冲区满了然后拿出来读取,听起来好像挺笼统,让我们一起来看一下吧。 C:\Users\Administrator\Desktop\4343.jpg 图中所示即为视频大小值和恳求范围的值。 1.猎取视频大小 def download(url, file_name): \#下载视频 urllib3.disable_warnings() rep=requests.get(url,headers=headers) head=rep.headers rep=requests.get(url,headers=headers) head=rep.headers \#猎取恳求头字典 length=head.get(Content-Length) \#猎取到视频的大小,单位是字节 若想让他以MB为单位,则需除以两个1024 file_size = int(length) \#视频大小用int转换 if os.path.exists(file_name): \#推断文件名能否存在 first_byte = os.path.getsize(file_name) \#猎取文件名大小 else: first_byte = 0 if first

文档评论(0)

duanbingbing + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档