查看: 457|回复: 1

超详细you-get的安装与使用教程

[复制链接]

291

主题

52

回帖

2998

积分

超级版主

Rank: 8Rank: 8

积分
2998
发表于 2023-10-26 09:23:14 | 显示全部楼层 |阅读模式
本帖最后由 泥泞有痕 于 2023-10-26 09:27 编辑

超详细you-get的安装与使用教程 - 知乎 (zhihu.com)


还在为下载视频、音频而烦恼吗?下载神器you-get为你解忧,它支持目前市面上大部分视频网站、音频网站,下载速度快,可供选择的选项多。今天就给大家介绍一下如何安装与使用you-get脚本
1 安装python
1.1 下载python
Python Release Python 3.12
https://www.python.org/ftp/python/3.12.0/python-3.12.0-embed-amd64.zip



选择Windows x86-64 executable installer下载
embeddable zip file(压缩包安装,直接解压就可以)
executable installer(应用程序安装,推荐!!)
web-based installer(网络安装,安装的时候需要网络)
1.2 打开下载的安装软件
1.3 选择install now并勾选Add Python 3.8 to PATH(重要!!!)
1.4 安装成功点击close
1.5 在cmd窗口中输入python -V检查是否安装成功
1.6 更新pip
python -m pip install --upgrade pip
2 安装you-get
2.1 用pip安装you-get
pip install you-get
2.2 查看you-get是否安装成功
you-get -V
3 you-get使用方法
3.1 直接下载视频
you-get+url(url为视频链接)
3.2 显示视频可供选择的清晰度、大小与格式等信息
you-get -i+url(url为视频链接)
3.3 批量下载视频列表
you-get  --playlist++url(url为视频链接)
3.4 指定下载视频的清晰度与格式,可以使用you-get -i查看
you-get --format=dash-flv720+url(url为视频链接)
3.5 指定下载视频的保存目录,若不指定则保存在当前的工作目录
you-get -o+文件目录+url(url为视频链接)
3.6 指定下载视频的文件名,若不指定则为默认视频名称
you-get -O+文件名称+url(url为视频链接)
3.7 使用cookies,适用于需要使用会员下载的视频
you-get --cookies=cookies路径+url(url为视频链接)
火狐浏览器的cookies文件路径
C:\Users\users_name\AppData\Roaming\Mozilla\Firefox\Profiles\dln2mhmn.default\cookies.sqlite
4 图形化界面
为了方便使用,为you-get写了一个简单的图形化界面,具体可以参考
you-get项目打包为exe并通过tkinter配置gui界面



回复

使用道具 举报

291

主题

52

回帖

2998

积分

超级版主

Rank: 8Rank: 8

积分
2998
 楼主| 发表于 2023-10-26 09:41:29 | 显示全部楼层
you-get项目打包为exe并通过tkinter配置gui界面 - 知乎 (zhihu.com)



you-get项目打包为exe并通过tkinter配置gui界面


前言
对于通用的下载下载工具,you-get是非常好用的。但是you-get是通过命令行进行下载的,并且需要配置python环境,对于新手有一定的入手困难。
因此我用tkinter写了一个gui界面供大家使用,并打包成exe文件方便大家使用
使用方法
下载压缩包并解压,其中含有四个文件夹
百度云链接链接:https://pan.baidu.com/s/1IEbZtVK_NKC3pqGhbfrJsQ 提取码:lovegithub地址https://github.com/gudu12306/GUI-for-you-get/releases
1 download.exe(点这个开始下载)
2 you.exe(打包的you-get,不用理会)
3 cookies.sqlite(自己的会员cookies可以下载b站和腾讯会员视频)
4 使用前必看.md(使用教程,可以用记事本打开)
开始使用
1.打开download.exe文件
2.在第一个输入框填入视频链接,视频链接可在网页中直接复制,其他网站也是这样复制
3.选择视频保存位置,这是必须要选的!!!!!
4.如果下载的是会员视频,需要加载cookies.sqlite文件(选填!!)。压缩包中是我的会员cookies文件(腾讯与b站会员),其他会员可以用自己电脑上的替换。不知道在哪找到cookies.sqlite可以参考
https://www.jianshu.com/p/62c0b1d332b6
C:\Users\gudu12306\AppData\Roaming\Mozilla\Firefox\Profiles\igqzkax3.default-release\cookies.sqlite
5.点击下载,等大约一两分钟可以看到开始下载。下载时进度有误差,具体进度可以看看保存文件夹下载了多少
6.下载完成之后,可以在保存路径中看到下载完成的视频。
以上即为使用方法,以下主要记录开发过程中难点
1、打包you-get为exe文件
pyinstaller -F --path=src you-get --hidden-import=you_get.extractors --hidden-import=you_get.cli_wrapper --hidden-import=you_get.processor --hidden-import=you_get.util
2、设置tkinter窗口图标
这段程序可将图标1.ico转换成base64数据
#base64file.py#将1.ico转换为base64数据,生成的数据在icon.py中import base64open_icon = open("1.ico","rb")b64str = base64.b64encode(open_icon.read())open_icon.close()write_data = "img = '%s'" % b64strf = open("icon.py","w+")f.write(write_data)f.close()
将转换后的base64数据替换到download.py中即可
#随后将base64编码写入并生成图标img=b'AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAlJSX/KSkp/y0tLf8wMDD/NjY2/0RERP+Dg4P/Pz8//x4eHv8hISH/IiIi/x0dHf8rKyv/Ly8v/4SEhP+jo6P/HBwc/yEhIf8mJib/KCgo/yEhIf9gYWH/PT4+/x4eHv8gICD/RERE/0xMTP8rKyv/ICAg/zExMf+QkJD/qKio/xoaGv8cHBz/HBwc/x4eHv8gICD/LS0t/x8fH/8fHx//LS0t/3l5ef9qamr/SkpK/yQkJP8oKSj/kZGQ/6ysrP8bGxv/HBwc/x0dHf8cHBz/Hx8f/yAgIP8hISH/NTY2/4OFhf+Xl5f/ampq/2JiYv8zNDL/Jycn/5OTk/+wsLD/Gxsb/xwcHP8dHR3/HR0d/x4eHv8hISH/RUVF/6Ghof/BwcH/tLS0/21ubP9FRkX/TU1N/yoqKv+VlZX/s7Oz/xwcHP8dHR3/HR0d/x0dHf8fHx//Pj4+/66urv/CwsL/ycnJ/7Gxsf89PT3/Nzc3/1tbW/89PT3/eXl5/7e3t/8cHBz/HR0d/x8fH/8fHx//JiYm/4qKiv/MzMz/w8PD/8rKyv+mpqb/QEBA/zs7O/9hYWH/VlZW/1tbW/+5ubn/HBwc/x0dHf8eHh7/ICAg/y0uLv/FxcX/1dXV/9XV1f/W1tb/1NTU/7Ozs/+Kior/bGxs/2JiYv9OTk3/t7e3/xwcHP8cHBz/HR0d/x8fH/8jJCT/ampp/8rKyv+Xl5b/i4yK/87Ozv/Dw8P/dnZ2/2hoaP9qamr/Q0ND/7e3t/8dHR3/Hh4e/x4eHv8fHx//KSkp/yoqKv9aWlr/dnZ2/4WFhf+np6f/iYmJ/y0tLf9LS0v/Y2Nj/1JSUv+/v7//MzQ0/zExMf8vLy//MzMz/6SkpP86Ojr/Jycn/3Nzc/+3t7b/r6+v/8zMzP9FRUX/MDAw/ysrK/9dXV3/v7+//0hJSf9FRUX/QkND/21ubv9nZ2f/RERE/yIiIv8nJyf/NDQ0/2tra/+en5//Ly8v/yMjI/8qKir/lJSU/729vf9ERUX/QENC/z4/P/9fYGD/V1dX/2lpaf8kJCT/Hx8f/yMjI/8pKSn/LCws/yIiIv8lJSX/Wlpa/66urv+6urr/MzMz/zExMf8uLi7/RkZG/15eXv8yMjL/KSkp/yoqKv8uLi7/KSkp/ycnJ/88Pj3/MjIy/2hoaP+mpqb/sLCw/yEhIf8gICD/Hx8f/x4eHv8dHR3/NjY2/yYmJv8cHBz/Hx8f/ycnJ/8mJib/aWpp/z4+Pv9tbW3/np6e/6Wlpf8vLy//MzQ0/y8vL/80NTX/MDAw/zU1Nf8gICD/Ghoa/xoaGv8aGhr/Kysr/0dHR/9BQUH/a2tr/5WUlf+bm5v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=='#设置窗口图标tmp = open("tmp.ico","wb+")tmp.write(base64.b64decode(img))tmp.close()top.iconbitmap("tmp.ico")os.remove("tmp.ico")
3、tkinter控件的定位(主要使用pack与place)
3.1pack是一种相对布局方式,指定控件的相对位置,精确位置由系统完成
3.2place是一种绝对定位方式,坐标定位,窗口左上角即为原点
3.3grid布局即为单元格布局方式,窗体就像是一个表格,横向、纵向划分若干格
4、subprocess.Popen()实时输出stdout(正确管道写法)
#将cmd结果重定向到tkinterGUI,即将命令行的结果显示ScrolledText(滚动文本框)控件里p = sub.Popen(cmd,stdin=sub.PIPE,stdout=sub.PIPE, stderr=sub.PIPE,shell=True)for line in iter(p.stdout.readline, b''):    stext.insert(END,line.decode('UTF-8'))    stext.yview_moveto(1)    if not sub.Popen.poll(p) is None:        if line == "":            breakp.stdout.close()
5、创建线程函数
#为避免在下载时tkinter界面卡死,创建线程函数def thread_it(func, *args):    # 创建    t = threading.Thread(target=func, args=args)    # 守护 !!!    t.setDaemon(True)    # 启动    t.start()
6、源代码地址
https://github.com/gudu12306/GUI-for-you-get
#或者
https://gitee.com/gudu12306/GUI-for-you-get
总结
选择清晰度功能未完成




发布于 2020-08-15 16:00・IP 属地重庆

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表