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

python媒体下载工具 you-get

you-get 是一个基于 Python 3 的强大的命令行工具,使用方式简单,使用 you-get 可以很轻松的下载到网络上的各种媒体文件(视频、图片及音乐等)。

相关功能和配置选项,可以查阅以下以获取详细信息:

  • GitHub 官方文档 :https://you-get.org ↩
  • GitHub you-get :https://github.com/soimort/you-get ↩
  • pypi you-get:https://pypi.org/project/you-get/ ↩

𝟶. 安装 you-get

在使用 you-get 之前,你需要先确保已经安装了 Python。可以通过 pip 安装 you-get,打开终端:

pip install you-get

𝟷. 基本命令

you-get 的基本命令语法和常用参数如下:

基本语法:

you-get [OPTIONS] URL

常用参数:

参数描述
-u解析真实的url
--json获取视频的json格式信息
-i, --info显示信息(清晰度、格式etc.),而不下载
-h, --help显示帮助信息
-f, --force强制覆盖已有文件
-o, --output指定下载文件保存的地址
--playlist下载列表/合集/番剧
-p, --player指定使用某个播放器播放视频,而不下载
-q, --quiet静默模式,减少输出信息
--no-merge禁止合并视频和音频流
--cookies指定 cookies 文件路径,以便下载需要登录验证的内容
--debug显示调试信息

暂停下载:Ctrl+C

2. 使用示例

test.txt

https://www.bilibili.com/video/BV1vy4y1A7jn/
https://v.youku.com/v_show/id_XMjkyODAwNzIw.html
https://www.youtube.com/playlist?list=PL1234567890
http://www.youku.com/playlist_show/id_25917721.html
https://www.bilibili.com/bangumi/play/ss5732/
https://music.163.com/#/song?id=123456
https://www.missevan.com/sound/player?id=9729804

2023-12, 第一部分·下载 download.py
⚠ 需要切换输入法为西文,且路径不含中文。

# 少数下不下来 正常 用解析下载网页也有的下不下来
import time
import pyautogui
import pyperclip #复制粘贴
f=open("bilibili.txt","r",encoding="utf-8")#打开txt文本文档
lines=f.readlines()#按行读取
f.close()
pyautogui.hotkey("win","r")
pyautogui.typewrite('cmd')
time.sleep(3)
pyautogui.press('enter')
time.sleep(3)
for i in range(len(lines)):line=lines[i]pyperclip.copy(line)# because the input method is set to English, the Chinese cannot be entered,# and the path should be free of Chinese characters.pyautogui.typewrite('you-get -o D:/yg/output/ ')pyautogui.hotkey("ctrl","v")pyautogui.press("enter")

或者少的话不用文本文档,直接放一起
在这里插入图片描述

2024-08, 第二部分·合并 merge.py

import os
from moviepy.editor import *
# 需要注意的是,此处不能用 video.audio.write_audiofile 将mp4音频文件转换为mp3音频# 遍历目录中的所有文件
for filename in os.listdir('./output'):# 检查文件名是否以[01].mp4结尾if filename.endswith('[01].mp4'):# 创建新的文件名new_filename = filename.replace('.mp4', '.mp3')# 获取完整路径old_file = os.path.join('./output', filename)new_file = os.path.join('./output', new_filename)# 重命名文件os.rename(old_file, new_file)# 删除文件os.remove(old_file)print(f'Renamed: {old_file} to {new_file}')print(f'Deleted: {old_file}')# 进行合并if filename.endswith('[00].mp4'):mp3_filename = filename.replace('[00].mp4', '[01].mp3')# 构造完整路径mp4_path = os.path.join('./output', filename)mp3_path = os.path.join('./output', mp3_filename)# 检查 mp3 文件是否存在if os.path.exists(mp3_path):# 加载音频和视频文件video_clip = VideoFileClip(mp4_path)audio_clip = AudioFileClip(mp3_path)# 将音频添加到视频中final_clip = video_clip.set_audio(audio_clip)# 修改合并后的文件名,去掉 [00]# new_filename = filename.replace('[00].mp4', '.mp4')new_filename = filename[:-8] + '.mp4'  # 去掉 [00] 并保留 .mp4new_file_path = os.path.join('./output', new_filename)# 写出合并后的文件final_clip.write_videofile(new_file_path, codec='libx264')# 关闭剪辑以释放资源final_clip.close()video_clip.close()audio_clip.close()# 删除文件os.remove(mp3_path)os.remove(mp4_path)print(f'Merged: {mp4_path} and {mp3_path} into {new_file_path}')print(f'Deleted: {mp4_path} and {mp3_path}')

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • centos安装rclone挂载alist
  • MATLAB中cdf2rdf函数用法
  • Promise如何解决回调地狱问题?
  • 电脑图片损坏打不开怎么办?能修复吗?
  • 大厂进阶之二:React高级用法HOC、Hooks对比、异步组件
  • uniapp多图上传uni.chooseImage上传照片uni.uploadFile
  • ECCV 2024 | 南洋理工三维数字人生成新范式:结构扩散模型
  • (Java入门)抽象类,接口,内部类
  • Win/Mac/Linux/Andriod/IOS界面UI设计 - pyside6 - 01 基础系统框架
  • 超详细!!! LVS(Linux virual server)负载均衡知识及其NAT模式、DR模式、火墙标记实验
  • Hadoop,ActiveMQ,RabbitMQ,Springboot Actuator未授权访问漏洞(附带修复方法)
  • 全网最最最详细的haproxy详解!!!
  • MapReduce入门教程
  • 白骑士的Matlab教学进阶篇 2.1 数据可视化
  • 【无标题】Unity Asset Hunter 插件
  • CSS 三角实现
  • JAVA_NIO系列——Channel和Buffer详解
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • JS变量作用域
  • LeetCode18.四数之和 JavaScript
  • Next.js之基础概念(二)
  • nodejs:开发并发布一个nodejs包
  • react-native 安卓真机环境搭建
  • SpiderData 2019年2月16日 DApp数据排行榜
  • tab.js分享及浏览器兼容性问题汇总
  • vue的全局变量和全局拦截请求器
  • 大数据与云计算学习:数据分析(二)
  • 电商搜索引擎的架构设计和性能优化
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 深度学习在携程攻略社区的应用
  • 算法-插入排序
  • 源码安装memcached和php memcache扩展
  • 怎样选择前端框架
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (windows2012共享文件夹和防火墙设置
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (南京观海微电子)——COF介绍
  • (十八)SpringBoot之发送QQ邮件
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)基于IDEA的JAVA基础1
  • (转)3D模板阴影原理
  • (转)大道至简,职场上做人做事做管理
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET 5种线程安全集合
  • .NET CLR基本术语
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • @Autowired自动装配