
you-get -I 批量下载一个文本文件搞定100条URL【免费下载链接】you-get:arrow_double_down: Dumb downloader that scrapes the web项目地址: https://gitcode.com/GitHub_Trending/yo/you-get你盯着终端里第47次粘贴的URL终于意识到这活儿完全可以用脚本糊弄过去。更糟的是你不确定下一条会不会和上一条重复。you-get 的-I参数就是为这一刻准备的它让工具直接从文本文件读入一批下载 URL 列表一条命令批量下载不用再逐个复制粘贴。它到底做了什么-I是--input-file的缩写。机制很简单you-get 打开你指定的文本文件把每一行拆成一条独立 URL依次塞进下载队列。打个比方这相当于把一沓快递单号交给快递员让他按单顺序取件。每条 URL 后续走的流程和你手动粘贴进命令行完全一样打印站点、标题、画质再跑进度条。需要留意的是它处理的是一行一个视频不是一个链接拆出整个播放列表。相关逻辑在 src/you_get/common.py 的参数解析部分找到-I那一行就能看懂。从零跑通一次先准备清单文件格式极简一行一个 URL空行和#开头的注释都可以混在里面。# urls.txt保存为 UTF-8 编码 # 第一讲 https://example.com/video/1 https://example.com/video/2确认机器上有 you-get没有就先装一个pip install you-get然后执行核心命令you-get -I urls.txt就这样。它会按文件里的顺序逐条下载每条照常打印站点、标题和进度条。想让文件落到指定目录而不是当前目录加上-o即可you-get -I urls.txt -o ~/Videos/batch跑通之后其实你已经完成了80%的工作剩下20%是让这条命令更贴合你的环境。让它更顺手如果你要备份一整门课希望文件按编号整齐排列可以加--pre lecture给每个文件名加前缀排序时一目了然。如果目标站点在你的网络环境下打不开在命令末尾接上-x 127.0.0.1:8080指定代理。它对列表里所有 URL 统一生效不用逐条处理。如果视频标题里有中文或特殊字符、保存后文件名乱码把终端切到 UTF-8 环境再跑比如export PYTHONUTF81或者按报错提示设置 locale。还有一个容易忽略的点已下载的文件会自动跳过想强制重新下载时才加-f否则会覆盖同名文件。踩坑速查整个列表没反应提示 reading playlist from a file is unsupported你同时加了-l。-I和-l不兼容去掉-l重跑即可。前几条正常后面某条卡住或报错多为限速或网络抖动。you-get 支持断点续传直接重跑同一条命令已完成的会自动跳过。报 Unicode 错误当前环境不支持非 ASCII 文件名。按提示设置 UTF-8 localeLinux 上LC_ALLC.UTF-8再执行。边界与替代说清楚边界-I只收单视频 URL一个链接对应的整个播放列表它不会替你展开。要下完整播放列表直接给播放列表主 URL 并加-l例如you-get -l https://example.com/playlist/1把-I留给一堆零散单链接的场景。它也是串行执行的没有多线程。链接实在多、带宽又够时可以把清单文件交给 GNU Parallel 开多进程grep -E ^https?:// urls.txt | parallel -j 4 you-get {} -o ~/Videos/batch收尾今晚把攒下的 URL 存成 urls.txt跑一遍you-get -I urls.txt -o ~/Videos/batch明天打开目录文件已经排好队了。哪一步卡住了回来告诉我。【免费下载链接】you-get:arrow_double_down: Dumb downloader that scrapes the web项目地址: https://gitcode.com/GitHub_Trending/yo/you-get创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考