Python 视频、图片、音频爬取下载 you-get

一、You-get 是什么?

  1. You-get可以在仅仅提供URL情况下就可以实现下载视频、图片、音乐等信息。
  2. You-get是一个基于命令行运行的python第三方库。
  3. 目前you-get所支持的网站包含国内外几十个网站(youtube、twitter、腾讯、爱奇艺、优酷、bilibili等),基本上可以满足你的需求。

二、安装 You-get

pip install you-get

查看依赖的安装路径

三、You-get 使用手册

可选参数 注释
-V, --version 查看版本并退出
-h, --help 查看帮助信息
不影响使用的选项:
-i, --info 查看页面视频信息
-u, --url 查看页面视频信息包括解析的url地址
--json 以json格式查看页面视频信息
下载选项: 注释
-n, --no-merge 不合并视频
--no-caption 不下载字幕
-f, --force 强制覆盖现有文件
-F STREAM_ID, --format STREAM_ID 指定视频的格式
-O FILE, --output-filename FILE 指定下载的文件名称
-o DIR, --output-dir DIR 指定下载文件的目录
-c COOKIES_FILE, --cookies COOKIES_FILE 加载cookie文件
-t SECONDS, --timeout SECONDS 设置超时时间
-d, --debug 显示跟踪、调试信息
-I FILE, --input-file FILE 从文件读取url列表
-P PASSWORD, --password PASSWORD 指定加密视频的密码
-l, --playlist 显示可以下载的列表
-a, --auto-rename 自动重命名相同的名称不同的文件
代理选项: 注释
-x HOST:PORT, --http-proxy HOST:PORT 使用http代理下载
-y HOST:PORT, --extractor-proxy HOST:PORT 仅抓取数据时使用http代理
--no-proxy 关闭代理
-s HOST:PORT, --socks-proxy HOST:PORT 使用socks5代理进行下载

四、使用样例——下载视频

1、you-get 视频链接
you-get  https://www.bilibili.com/video/BV1p4411d7og?from=search&seid=1127118887131841683&spm_id_from=333.337.0.0

用这种方法,视频会直接下载到当前路径的目录下。
在这里插入图片描述

2、you-get -o 保存路径 视频链接
you-get -o D:\桌面\百度图片\视频 https://www.bilibili.com/video/BV1p4411d7og?from=search&seid=1127118887131841683&spm_id_from=333.337.0.0

视频被保存到指定目录,文件名默认为链接中的视频名称。
在这里插入图片描述

3、you-get -i 视频链接
D:\桌面\百度图片\视频>you-get -i https://www.bilibili.com/video/BV1p4411d7og?from=search&seid=1127118887131841683&spm_id_from=333.337.0.0

查看可供下载的视频信息。
配合4、you-get --format STREAM_ID 视频链接下载指定视频的格式,即下载合适帧率或大小的视频。
在这里插入图片描述

4、you-get --format STREAM_ID 视频链接
you-get --format=dash-flv360 https://www.bilibili.com/video/BV1p4411d7og?from=search&seid=1127118887131841683&spm_id_from=333.337.0.0

在这里插入图片描述

5、you-get -o 保存路径 -O 文件名称 视频链接
you-get -o D:\桌面\百度图片\视频 -O 小姐姐 https://www.bilibili.com/video/BV1p4411d7og?from=search&seid=1127118887131841683&spm_id_from=333.337.0.0

在这里插入图片描述

五、下载图片和音频

下载图片和音频的方法和下载视频相同,只要将链接换成图片或音频的链接即可。
下载一个音乐:

you-get https://music.163.com/#/song?id=207497

在这里插入图片描述
下载一张图片:

you-get https://bkimg.cdn.bcebos.com/pic/7af40ad162d9f2d3c5649c22aeec8a136227cc82?x-bce-process=image/watermark,image_d2F0ZXIvYmFpa2U4MA==,g_7,xp_5,yp_5/format,f_auto

在这里插入图片描述
视频和音频的容错性很好,大部分的链接都可以下载(有些vip视频仍无法下载),可是图片链接的下载似乎不是很好用,似乎需要输入图片的直接下载地址下载,如果再用人工分析图片的直接地址,感觉还不如右键直接下载。

六、在python代码中调用you-get库下载视频、图片、音频

创建的python文件名别叫 you_get.py ,否则会报错:
AttributeError: module 'you_get' has no attribute 'main'

基本用法框架

import sys
import you_get

if __name__ == '__main__':
    # 资源保存目录
    path = 'D:\桌面\百度图片\视频'
    # 下载资源的链接
    url = 'https://bkimg.cdn.bcebos.com/pic/7af40ad162d9f2d3c5649c22aeec8a136227cc82?x-bce-process=image/watermark,image_d2F0ZXIvYmFpa2U4MA==,g_7,xp_5,yp_5/format,f_auto'

    sys.argv = ['you-get', '-o', path, url]
    you_get.main()

还是加上一句:仅供学习交流,严禁用于商业用途。
参考链接:
https://www.cnblogs.com/zwgbk/p/10238489.html

https://blog.csdn.net/zwx19921215/article/details/85249676?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164179342916780261995815%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164179342916780261995815&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-85249676.first_rank_v2_pc_rank_v29&utm_term=python+you-get&spm=1018.2226.3001.4187

posted @ 2022-01-11 19:40  码宝  阅读(3090)  评论(0)    收藏  举报