• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 好看短视频解析下载Python脚本

好看短视频解析下载Python脚本

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了好看短视频,短视频解析,Python脚本等相关知识,希望对您有所帮助

好看视频是百度旗下的短视频平台,里面有海量好看的短视频,遇到我们喜欢的,要如何下载呢。

下面直接给出python语言中地址的解析及各种不同格式视频的下载。

#encoding:utf-8# 好看视频下载  import socketfrom urllib.request import urlopenimport urllibimport reimport timefrom pyquery import PyQuery as pqimport requestsfrom tqdm import tqdm # 打印进度条的库import gzip  print('程序开始运行。。。')requests.adapters.DEFAULT_RETRIES = 5# connect to a URLtimeout = 30socket.setdefaulttimeout(timeout)#这里对整个socket层设置超时时间。后续文件中如果再使用到socket,不必再设置sleep_download_time = 3time.sleep(sleep_download_time) #这里时间自己设定  # 输入好看视频地址haokanurl = input('请输入要下载的好看视频的网页地址:')# haokanurl = 'https://haokan.baidu.com/v?vid=7448757459481911514&tab=yinyue_new'#示例地址  #为了避免出现403提示,这里伪装浏览器headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}req = urllib.request.Request(url=haokanurl, headers=headers)website = urlopen(req,timeout = 90)print('好看视频下载地址解析中')  # read html codehtml = website.read().decode('UTF-8')#html = website.read().decode()#当使用上面的直接decode()出错时可以使用下面的方法# html = website.read()# buff = BytesIO(html)# f = gzip.GzipFile(fileobj=buff)# html = f.read().decode('utf-8')website.close()  # use re.findall to get all the links  # 取得视频名称(标题)videotitle = re.findall('<h1 class="videoinfo-title">(.*?)</h1>',html)[0]print(videotitle)# 默认地址links = re.findall('"playurl":"(.*)","clarityUrl"',html)#默认地址downurl = links[0]downurl = downurl.replace('\\','')print('视频实际地址:')print(downurl)print('现在开始下载该视频,请稍等。。。')res = requests.get(downurl, headers={'user-agent': 'chrome'})total_size = round(int(res.headers["Content-Length"])/1024/1024)print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。')with open(f'{videotitle}down.mp4', 'wb') as f:     for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):\         f.write(chunk)     print('下载完成。')  sdlinks = re.findall('"key":"sd","rank":0,"title":"(.*?)","videoBps":',html)[0]#标清地址sdlinks = re.findall('"url":"(.*)',sdlinks)sdurl = sdlinks[0]sdurl = sdurl.replace('\\','')print('标清视频地址是:')print(sdurl)print('现在开始下载标清视频,请稍等。。。')res = requests.get(sdurl, headers={'user-agent': 'chrome'})total_size = round(int(res.headers["Content-Length"])/1024/1024)print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。')with open(f'{videotitle}标清.mp4', 'wb') as f:     for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):\         f.write(chunk)     print('下载完成。')    hdlinks = re.findall('"key":"hd","rank":1,"title":"(.*?)","videoBps":',html)[0]#高清地址hdlinks = re.findall('"url":"(.*)',hdlinks)hdurl = hdlinks[0]hdurl = hdurl.replace('\\','')print('高清视频地址是:')print(hdurl)print('现在开始下载高清视频,请稍等。。。')res = requests.get(hdurl, headers={'user-agent': 'chrome'})total_size = round(int(res.headers["Content-Length"])/1024/1024)print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。')with open(f'{videotitle}高清.mp4', 'wb') as f:     for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):\         f.write(chunk)     print('下载完成。')    sclinks = re.findall('"key":"sc","rank":2,"title":"(.*?)","videoBps":',html)[0]#超清地址sclinks = re.findall('"url":"(.*)',sclinks)scurl = sclinks[0]scurl = scurl.replace('\\','')print('超清视频地址是:')print(scurl)print('现在开始下载超清视频,请稍等。。。')res = requests.get(scurl, headers={'user-agent': 'chrome'})total_size = round(int(res.headers["Content-Length"])/1024/1024)print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。')with open(f'{videotitle}超清.mp4', 'wb') as f:     for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):\         f.write(chunk)     print('下载完成。')    p1080links = re.findall('"key":"1080p","rank":3,"title":"(.*?)","videoBps":',html)[0]#蓝光地址p1080links = re.findall('"url":"(.*)',p1080links)p1080url = p1080links[0]p1080url = p1080url.replace('\\','')print('蓝光视频地址是:')print(p1080url)print('现在开始下载蓝光视频,请稍等。。。')res = requests.get(p1080url, headers={'user-agent': 'chrome'})total_size = round(int(res.headers["Content-Length"])/1024/1024)print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。')with open(f'{videotitle}蓝光.mp4', 'wb') as f:     for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):\         f.write(chunk)     print('下载完成。')  print('所有格式视频下载完成,请检查是否正确。')


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 好看短视频解析下载Python脚本

相关文章

  • 2022-04-29针对SEO怎样聪明的使用 Flash
  • 2022-04-29Photoshop制作绚丽的放射光线效果图
  • 2022-04-29去除dedecms织梦升级友情链接增加织梦链投放链接
  • 2022-04-29Photoshop简单制作蓝色洁净星星文字效果
  • 2022-04-29Photoshop设计血淋淋的文字效果图
  • 2022-04-29去除csdn必须登录复制代码限制JS脚本
  • 2022-04-29实例详解之怎样使用css实现3D穿梭效果
  • 2022-04-29PhotoShop滤镜制作简单的冰晶字效果教程
  • 2022-04-29Phpstudy:80或者3306端口占用解决方案
  • 2022-04-29详解vue2项目优雅封装echarts地图的方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 什么是依赖注入?在Angular中怎么实现?
    • 如何解决微信公众平台php乱码问题
    • 教你在laravel中如何使用elaticsearch(步骤分明)
    • 一起聊聊PHP中return语句的作用和echo的区别(详解及实例)
    • 微信小程序wx.request使用POST请求时后端无法获取数据解决办法
    • 一起来了解下Bootstrap中的tab选项卡
    • jQuery如何判断css是否存在
    • jQuery sibling是什么意思
    • photoshop制作蟒蛇皮纹字效果
    • PS制作金属字教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有