有没有办法从 YouTube 搜索然后下载,因为我只需要下载音频,而不需要视频。
答案1
首先,安装youtube-dl
:
sudo apt-get install youtube-dl
然后下载并转换 YouTube 视频
youtube-dl http://www.youtube.com/watch?v=dQw4w9WgXcQ -x
将-x
其转换为音频。
更多音频选项:
-x, --extract-audio convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe) --audio-format FORMAT "best", "aac", "vorbis", "mp3", "m4a", "opus", or "wav"; best by default --audio-quality QUALITY ffmpeg/avconv audio quality specification, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default 5)
主页:
答案2
你能使用 youtube-dl 搜索并下载。您需要做的就是在链接中提供搜索词,如下所示:
youtube-dl -f bestaudio 'https://www.youtube.com/results?search_sort=video_view_count&filters=video&search_query="SEARCH TERM(S) HERE"'
由于这会显示标题或描述(或评论?)中带有搜索词的所有视频,因此您可以进一步限制下载,仅限标题中带有搜索词(或任何其他词)的视频,然后--match-title
像这样使用:
youtube-dl -f bestaudio --match-title "<regex or caseless sub-string>" 'https://www.youtube.com/results?search_sort=video_view_count&filters=video&search_query="SEARCH TERM(S) HERE"'
您还可以使用--reject-title
与 相同的方式拒绝视频--match-title
,或将两者结合使用。
顺便说一句,我刚刚尝试了这些搜索,发现 YouTube 的搜索功能有些问题。如果删除字符串中的“search_sort=video_view_count”部分,它会给出更多结果,其中一些结果中没有任何术语,尽管这些视频是相关的,所以要小心。
更新
上述答案并不完整。Youtube-dl 内置了 Google、Youtube 和 Yahoo 的搜索功能。对于这三个,您可以分别使用命令'gvsearchX:TERMS'
、'ytsearchX:TERMS'
和'yvsearchX:TERMS'
,并将“X”替换为您想要的结果数(显然,将“TERMS”替换为您的搜索词)。
答案3
youtube-dl
这里描述了一种替代方案:支持本地播放列表的新命令行 YouTube 播放器和下载器:mps-youtube。文章非常详细,但仅引用与您的问题相关的内容:
mps-youtube 是一款新工具,除了能够下载 YouTube 视频(整个视频或仅音频)外,还可以搜索和播放 YouTube 视频以及创建本地播放列表,所有操作都通过命令行完成。
默认情况下,它基本上是一个 YouTube 音频播放器(和下载器),但您可以从其选项中启用(外部)视频播放。
此程序需要 和python-pip
(mplayer
均可通过 安装apt-get
)。然后运行sudo pip install mps-youtube
,就大功告成了。
您可以阅读更多关于 mps-youtube 的信息这里。
笔记
- 该程序下载仅音频如果你愿意的话,这样你就可以节省带宽:而不是下载视频和然后在您这边提取音频,只需下载音频即可。
- 如果您不想安装
sudo apt-get install python-pip
使用建议的所有程序sudo apt-get install --no-install-recommends python-pip
,那么这种方法同样有效(针对安装 的特定目的mps-youtube
)。
答案4
要获取所有可下载格式:
youtube-dl -F <URL>
直接下载 mp3:
youtube-dl --extract-audio --audio-format mp3 <URL>