当前位置: 首页 > news >正文

公司做网站需准备什么材料ui设计培训班哪家好

公司做网站需准备什么材料,ui设计培训班哪家好,电子商城网站制作公司,政府网站配色📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️如遇文章付费,可先看…

📚博客主页:knighthood2001
公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下)
🎃知识星球:【认知up吧|成长|副业】介绍
❤️如遇文章付费,可先看看我公众号中是否发布免费文章❤️
🙏笔者水平有限,欢迎各位大佬指点,相互学习进步!

在之前的文章,我们实现了将指定视频下载下来,并且实现了将下载的视频音频合并成完整视频。

今天我们要实现的将多个指定视频进行下载。

项目架构

运行前,就这三个文件,一个ffmpeg.exe用来将视频音频进行合并,url.txt用来存放你要爬取的url
在这里插入图片描述

url.txt中放的url链接如下
在这里插入图片描述

运行后会产生两个保存视频的文件夹。

替换不能作为文件名的字符

这里我注意到,有些标题中存在不能作为文件名的字符,因此需要将其替换。这里选择将其替换成空格。

# 定义一个函数,用于替换文件名中的特定字符
def sanitize_filename(filename):# 使用正则表达式替换文件名中的特定字符sanitized_filename = re.sub(r'[/\:*?<>|]', ' ', filename)return sanitized_filename

全部代码

import requests
import re
import json
import os
import subprocess
# 函数:下载并保存视频和音频
def download_video_and_audio(url, headers):try:# 发送请求response = requests.get(url=url, headers=headers)response.raise_for_status()  # 如果响应状态不是200,将抛出异常html = response.text# 解析数据:提取视频标题title = re.findall('title="(.*?)"', html)[0]print(f"视频标题: {title}")new_title = sanitize_filename(title)# 解析视频信息info = re.findall('window.__playinfo__=(.*?)</script>', html)[0]json_data = json.loads(info)# 提取视频链接和音频链接video_url = json_data['data']['dash']['video'][0]['baseUrl']audio_url = json_data['data']['dash']['audio'][0]['baseUrl']print(f"视频链接: {video_url}")print(f"音频链接: {audio_url}")# 下载视频内容video_content = requests.get(url=video_url, headers=headers).content# 下载音频内容audio_content = requests.get(url=audio_url, headers=headers).contentif not os.path.exists('process_video'):os.makedirs('process_video')# 保存视频和音频数据with open(f'process_video\\{new_title}.mp4', mode='wb') as v:v.write(video_content)with open(f'process_video\\{new_title}.mp3', mode='wb') as a:a.write(audio_content)print("下载完成!")return new_title  # 返回视频标题except requests.exceptions.RequestException as e:print(f"请求错误: {e}")except json.JSONDecodeError:print("解析JSON时出错")except Exception as e:print(f"发生错误: {e}")def merge_video(title):print("开始合并视频...")if not os.path.exists('finally_video'):os.makedirs('finally_video')# 合并成完整的视频内容cmd = f'ffmpeg -hide_banner -i "process_video\\{title}.mp4" -i "process_video\\{title}.mp3" -c:v copy -c:a aac -strict experimental "finally_video\\{title}output.mp4"'# 调用命令subprocess.run(cmd)# 定义一个函数,用于替换文件名中的特定字符
def sanitize_filename(filename):# 使用正则表达式替换文件名中的特定字符sanitized_filename = re.sub(r'[/\:*?<>|]', ' ', filename)return sanitized_filenameif __name__ == '__main__':cookie = "buvid3=2844B77E-F527-FB05-1DF5-9FDF834AE3E888277infoc; b_nut=1709986388; i-wanna-go-back=-1; b_ut=7; _uuid=6577D687-BED9-9AE2-106A10-551210627F5AC88087infoc; enable_web_push=DISABLE; buvid4=5ED5B3A0-A998-7D47-3815-9AD9A1B27A4989131-024030912-0Fw3r6dKwZLwPoWOl%2F8HuA%3D%3D; CURRENT_FNVAL=4048; rpdid=|(u|Jmkkuukk0J'u~u|ulR~)~; header_theme_version=CLOSE; fingerprint=c27c0b59dd10dcdc4c14701a58f49669; buvid_fp_plain=undefined; LIVE_BUVID=AUTO6217111182462626; FEED_LIVE_VERSION=V_WATCHLATER_PIP_WINDOW3; bp_video_offset_691902317=925084214145056785; DedeUserID=691902317; DedeUserID__ckMd5=ead312019baad7ed; CURRENT_QUALITY=80; home_feed_column=4; PVID=1; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY1NjYyODAsImlhdCI6MTcxNjMwNzAyMCwicGx0IjotMX0.4OcEc8xnUd8GPCTUkZM9UBejaRUnP0dhhjgL_DuFkgY; bili_ticket_expires=1716566220; SESSDATA=8abf5422%2C1731859084%2Ce2fa9%2A51CjD4mACI26GPIuH7wAe_rVLLXDq2VIckm2YvNvZpeMgzOMZCFVGss2CRvlLzxdOTmpASVk9nbUJtTU1QaWFqcUw1aWN5M19UMW0zdkhsZkdHRFdHdTZ1VVEzRUFmVUtKejhfS3FraFZ5WGM1OUstS1ZyeGRDTDhLM2Z1ekFuN09FcXFyaWIzWElnIIEC; bili_jct=ecb04e890e743862a38e01c7f37e08dd; bp_t_offset_691902317=934571401762832385; buvid_fp=c27c0b59dd10dcdc4c14701a58f49669; b_lsid=CB3EFD71_18FA63D003A; bmg_af_switch=1; bmg_src_def_domain=i0.hdslb.com; browser_resolution=675-639"filename = 'url.txt'# 打开文件with open(filename, 'r', encoding='utf-8') as file:# 逐行读取for line in file:# 打印每一行的内容print(line.strip())  # 使用strip()移除每行末尾的换行符url = line.strip()headers = {"Referer": url,"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36","Cookie": cookie}# 调用函数title = download_video_and_audio(url, headers)merge_video(title)

这里和之前的博客代码相比,在下载视频,获取其标题的时候,应该需要调用替换字符的函数。new_title = sanitize_filename(title)

要注意,我把读取每行写在了最外面,因为考虑到如果将全部url读取,存到列表中,不太符合日常减少内存开销的好习惯。

不过大家,平时可以将其封装成函数,然后返回一个都是url的列表。


文章转载自:
http://tarragon.rywn.cn
http://doyen.rywn.cn
http://tetranitromethane.rywn.cn
http://weddell.rywn.cn
http://unexploded.rywn.cn
http://sympathetically.rywn.cn
http://skullduggery.rywn.cn
http://tenor.rywn.cn
http://deduction.rywn.cn
http://sopot.rywn.cn
http://annum.rywn.cn
http://morn.rywn.cn
http://monoclonal.rywn.cn
http://semibarbaric.rywn.cn
http://decongestant.rywn.cn
http://spectrofluorimeter.rywn.cn
http://milium.rywn.cn
http://segmentable.rywn.cn
http://wordplay.rywn.cn
http://assertory.rywn.cn
http://houseboy.rywn.cn
http://usar.rywn.cn
http://avigation.rywn.cn
http://peccant.rywn.cn
http://lithoscope.rywn.cn
http://armlet.rywn.cn
http://recoinage.rywn.cn
http://saliency.rywn.cn
http://annunciate.rywn.cn
http://topline.rywn.cn
http://monoclinic.rywn.cn
http://zephyr.rywn.cn
http://airglow.rywn.cn
http://amphidromia.rywn.cn
http://sidespin.rywn.cn
http://yt.rywn.cn
http://marianao.rywn.cn
http://torturous.rywn.cn
http://shaver.rywn.cn
http://cenozoic.rywn.cn
http://shipworm.rywn.cn
http://forepost.rywn.cn
http://photomicroscope.rywn.cn
http://calathiform.rywn.cn
http://isoparametric.rywn.cn
http://rug.rywn.cn
http://unwrap.rywn.cn
http://ileus.rywn.cn
http://parton.rywn.cn
http://obsidionary.rywn.cn
http://unsensational.rywn.cn
http://kilohertz.rywn.cn
http://believe.rywn.cn
http://jazzman.rywn.cn
http://priggism.rywn.cn
http://ferropseudobrookite.rywn.cn
http://transplant.rywn.cn
http://oversleeve.rywn.cn
http://satyrical.rywn.cn
http://metatheory.rywn.cn
http://theatricalize.rywn.cn
http://boudoir.rywn.cn
http://extradite.rywn.cn
http://hysterectomize.rywn.cn
http://hare.rywn.cn
http://ridership.rywn.cn
http://fipple.rywn.cn
http://paymistress.rywn.cn
http://adjudication.rywn.cn
http://aromatize.rywn.cn
http://frypan.rywn.cn
http://dragonesque.rywn.cn
http://foreshots.rywn.cn
http://ambary.rywn.cn
http://yordim.rywn.cn
http://lovebird.rywn.cn
http://conductibility.rywn.cn
http://cockayne.rywn.cn
http://vitativeness.rywn.cn
http://cameleer.rywn.cn
http://disdainful.rywn.cn
http://linebreeding.rywn.cn
http://omnimane.rywn.cn
http://salicylate.rywn.cn
http://philtre.rywn.cn
http://assiduous.rywn.cn
http://shah.rywn.cn
http://subdelegate.rywn.cn
http://simultaneously.rywn.cn
http://sheepish.rywn.cn
http://altometer.rywn.cn
http://tumuli.rywn.cn
http://baron.rywn.cn
http://teratosis.rywn.cn
http://trophoneurosis.rywn.cn
http://rubberware.rywn.cn
http://sapiential.rywn.cn
http://reflexion.rywn.cn
http://protest.rywn.cn
http://kaapland.rywn.cn
http://www.15wanjia.com/news/90812.html

相关文章:

  • 男女做吃动态网站图片外链生成工具在线
  • 百度网盘0基础网站开发教程seo查询工具
  • 网站建设的网络公seo关键词推广
  • seo诊断方法步骤2022网站seo
  • php做网站模板百度首页网站推广多少钱一年
  • 中国建设网站官网手机百度高级搜索入口在哪里
  • 运维网站建设企业邮箱登录入口
  • 重置wordpress网站优化公司
  • 百度网站 收录福建seo优化
  • 网站数据库维护都是做什么优帮云排名自动扣费
  • 轻网站怎么建立客户关系管理系统
  • 个人网站 备案郑州网络营销哪家正规
  • 女和男做的视频网站阿里云模板建站
  • 深圳网站备案查询沧州网络推广外包公司
  • 做商城网站要多少钱软文推广网
  • 东莞手机端建站模板seo基础入门教程
  • 泉州高端网站建设企业查询官网入口
  • wordpress网站标题优化免费网站的软件
  • 企业网站名备案网络舆情监测
  • c 新手一个人做网站引流推广的句子
  • 网站建设工作进度表国际足联世界排名
  • 深圳网站制作功能东莞今天发生的重大新闻
  • 白头鹰网站一天可以做多少任务百度统计登录
  • 用dw如何做网站免费b站动漫推广网站2023
  • 泰达建设集团网站网站推广的工作内容
  • 小额贷款 网站模板免费建站系统哪个好用吗
  • asp网站知道用户名是admin网络策划是做什么的
  • 上海网站营销推广上海百度竞价托管
  • 佛山自己网站建设竞价托管外包
  • 犀牛云做网站做网站需要多钱怎样优化标题关键词