Python | 开源项目you-get的下载和使用

安装

前提条件

建议使用以下依赖项:

$ python
Python 3.9.11 (tags/v3.9.11:2de452f, Mar 16 2022, 14:33:45) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

通过 pip 安装

正式版本you-get分布在PyPI上,可以通过pip包管理器从 PyPI 镜像轻松安装。请注意,您必须使用 Python 3 版本pip

$ pip install you-get
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: you-get in d:\software\development\python\python39\lib\site-packages (0.4.1620)

升级

根据您选择安装的选项you-get,您可以通过以下方式对其进行升级:

$ pip3 install --upgrade you-get

入门

常用选项命令

选项 说明
-i 显示资源信息,比如说格式、清晰度、大小等
-u 指定下载或查看的url,有时候可以省略-u直接加上url
-o 设置输出文件夹,即保存路径,若不指定,则保存在当前工作目录
-O 设置文件名,可采用默认文件名
-f 强制覆盖已存在的文件
-l 优先下载整个列表
-P 使用密码(若访问视频需要密码)
-t 设置超时时间,单位是秒
-c 使用cookie,加载cookies.txt 或者cookies.sqlite

下载视频

当您获得感兴趣的视频时,您可能希望使用--info/-i选项查看所有可用的质量和格式:

$ you-get -i https://www.bilibili.com/video/BV1yT411L7dZ
site:                Bilibili
title:               李白:你这蜀道太假了!超级蜀道,如何改变四川?【星球4K】《超级风景 超级工程》S02E04
streams:             # Available quality and codecs
    [ DASH ] ____________________________________
    - format:        dash-flv
      container:     mp4
      quality:       高清 1080P
      size:          224.2 MiB (235098681 bytes)
    # download-with: you-get --format=dash-flv [URL]

    - format:        dash-flv720
      container:     mp4
      quality:       高清 720P
      size:          120.2 MiB (126057779 bytes)
    # download-with: you-get --format=dash-flv720 [URL]

    - format:        dash-flv480
      container:     mp4
      quality:       清晰 480P
      size:          79.7 MiB (83553841 bytes)
    # download-with: you-get --format=dash-flv480 [URL]

    - format:        dash-flv360
      container:     mp4
      quality:       流畅 360P
      size:          43.0 MiB (45039584 bytes)
    # download-with: you-get --format=dash-flv360 [URL]

    [ DEFAULT ] _________________________________
    - format:        flv
      container:     flv
      quality:       高清 1080P
      size:          301.9 MiB (316600250 bytes)
    # download-with: you-get --format=flv [URL]

    - format:        flv720
      container:     flv
      quality:       高清 720P
      size:          212.1 MiB (222401583 bytes)
    # download-with: you-get --format=flv720 [URL]

    - format:        flv480
      container:     flv
      quality:       清晰 480P
      size:          95.0 MiB (99594194 bytes)
    # download-with: you-get --format=flv480 [URL]

    - format:        flv360
      container:     flv
      quality:       流畅 360P
      size:          43.2 MiB (45315454 bytes)
    # download-with: you-get --format=flv360 [URL]

在未指定格式的情况下,下载的默认格式是质量最高的格式。

(如果 BliBli视频有任何隐藏字幕,它们将与视频文件一起以 xml字幕格式下载。)

或者,如果您更喜欢其他格式 (mp4),只需使用选项you-get显示给您的任何内容:

$ you-get --format=dash-flv https://www.bilibili.com/video/BV1yT411L7dZ
site:                Bilibili
title:               李白:你这蜀道太假了!超级蜀道,如何改变四川?【星球4K】《超级风景 超级工程》S02E04
stream:
    - format:        dash-flv
      container:     mp4
      quality:       高清 1080P
      size:          224.2 MiB (235098681 bytes)
    # download-with: you-get --format=dash-flv [URL]

Downloading 李白:你这蜀道太假了!超级蜀道,如何改变四川?【星球4K】《超级风景 超级工程》S02E04.mp4 ...
 100% (224.2/224.2MB) ├████████████████████████████████████████┤[2/2]    7 MB/s

Downloading 李白:你这蜀道太假了!超级蜀道,如何改变四川?【星球4K】《超级风景 超级工程》S02E04.cmt.xml ...

MP4格式,音频和视频会被分成两个单独文件,而flv格式就只有一个音视混合的文件。其它网站可自行测试

笔记:

  • 目前,支持的大多数站点还没有普遍实现格式选择;在这种情况下,要下载的默认格式是质量最高的格式。
  • ffmpeg是一个必需的依赖项,用于下载和加入多部分流式传输的视频(例如在优酷等网站上),以及 1080p 或高分辨率的 YouTube 视频。
  • 如果您不想you-get在下载后加入视频部分,请使用--no-merge/-n选项。

下载歌曲

例如:网易云音乐的歌曲

$ you-get -O 满眼繁华 https://music.163.com/#/song?id=1889103238
Site:       163.com
Title:      0. 满眼繁华
Type:       Unknown type (None)
Size:       3.92 MiB (4110381 Bytes)

Downloading 满眼繁华.mp3 ...
 100% (  3.9/  3.9MB) ├████████████████████████████████████████┤[1/1]    5 MB/s

Saving 0. 满眼繁华.lrc ...Done.


一个是音频文件,一个是歌词文件

下载其他任何东西

如果你已经有了你想要的确切资源的 URL,你可以直接下载它:

$ you-get https://w.wallhaven.cc/full/y8/wallhaven-y8622k.jpg
Site:       wallhaven.cc
Title:      wallhaven-y8622k
Type:       JPEG Image (image/jpeg)
Size:       1.18 MiB (1232268 Bytes)

Downloading wallhaven-y8622k.jpg ...
 100% (  1.2/  1.2MB) ├████████████████████████████████████████┤[1/1]  539 kB/s


否则,you-get将抓取网页并尝试找出您是否感兴趣

笔记:

  • 此功能是一项实验性功能,远非完美。它最适合从 Tumblr 和 Blogger 等流行网站上抓取大尺寸图片,但实际上没有通用模式可以应用于 Internet 上的任何网站。

暂停和恢复下载

您可以使用Ctrl+C来中断下载。

临时.download文件保存在输出目录中。下次您you-get使用相同的参数运行时,下载进度将从上次会话恢复。如果文件完全下载(临时.download扩展名消失),you-get将跳过下载。

要强制重新下载,请使用--force/-f选项。(警告:这样做会覆盖任何现有文件或同名临时文件!)

设置下载文件的路径和名称

使用--output-dir/-o选项设置路径,使用--output-filename/-O设置下载文件的名称:

$ you-get -o ~/Videos -O 超级蜀道,如何改变四川? 'you-get --format=dash-flv https://www.bilibili.com/video/BV1yT411L7dZ'

提示:

  • 如果您遇到与默认视频标题有关的问题,这些选项会很有帮助,因为默认视频标题可能包含与您当前的外壳/操作系统/文件系统无法正常播放的特殊字符。
  • 如果您编写脚本以批量下载文件并将它们放入具有指定名称的指定文件夹中,这些选项也很有帮助。

代理设置

you-get您可以通过--http-proxy/-x选项指定要使用的 HTTP 代理:

$ you-get -x 127.0.0.1:8087 'https://www.bilibili.com/video/BV1yT411L7dZ'

http_proxy但是,默认情况下会应用系统代理设置(即环境变量)。要禁用任何代理,请使用该--no-proxy选项。

提示:

  • 如果您需要大量使用代理(以防您的网络阻止某些站点),您可能希望使用you-get代理并设置alias you-get="proxychains -q you-get"(在 Bash 中)。
  • 对于某些网站(如优酷),如果您需要访问某些仅在中国大陆地区可用的视频,可以选择使用特定代理从网站中提取视频信息:--extractor-proxy/ -y

并非所有视频都对任何人公开。如果您需要登录您的帐户来访问某些内容(例如,私人视频),则不可避免地you-get通过--cookies/-c选项将浏览器 cookie 提供给浏览器。

笔记:

  • 截至目前,我们支持两种格式的浏览器 cookie:Mozillacookies.sqlite和 Netscape cookies.txt

重用提取的数据

使用--url/-u获取从页面中提取的可下载资源 URL 列表。用于--json以 JSON 格式获取提取数据的摘要。

警告:

  • 目前,此功能尚未稳定,JSON 模式将来可能会发生重大变化。

支持的站点

Site URL Videos? Images? Audios?
YouTube https://www.youtube.com/
Twitter https://twitter.com/
VK http://vk.com/
Vine https://vine.co/
Vimeo https://vimeo.com/
Veoh http://www.veoh.com/
Tumblr https://www.tumblr.com/
TED http://www.ted.com/
SoundCloud https://soundcloud.com/
SHOWROOM https://www.showroom-live.com/
Pinterest https://www.pinterest.com/
MTV81 http://www.mtv81.com/
Mixcloud https://www.mixcloud.com/
Metacafe http://www.metacafe.com/
Magisto http://www.magisto.com/
Khan Academy https://www.khanacademy.org/
Internet Archive https://archive.org/
Instagram https://instagram.com/
InfoQ http://www.infoq.com/presentations/
Imgur http://imgur.com/
Heavy Music Archive http://www.heavy-music.ru/
Freesound http://www.freesound.org/
Flickr https://www.flickr.com/
FC2 Video http://video.fc2.com/
Facebook https://www.facebook.com/
eHow http://www.ehow.com/
Dailymotion http://www.dailymotion.com/
Coub http://coub.com/
CBS http://www.cbs.com/
Bandcamp http://bandcamp.com/
AliveThai http://alive.in.th/
interest.me http://ch.interest.me/tvn
755 ナナゴーゴー http://7gogo.jp/
niconico ニコニコ動画 http://www.nicovideo.jp/
163 网易视频 网易云音乐 http://v.163.com/ http://music.163.com/
56网 http://www.56.com/
AcFun http://www.acfun.cn/
Baidu 百度贴吧 http://tieba.baidu.com/
爆米花网 http://www.baomihua.com/
bilibili 哔哩哔哩 http://www.bilibili.com/
豆瓣 http://www.douban.com/
斗鱼 http://www.douyutv.com/
凤凰视频 http://v.ifeng.com/
风行网 http://www.fun.tv/
iQIYI 爱奇艺 http://www.iqiyi.com/
激动网 http://www.joy.cn/
酷6网 http://www.ku6.com/
酷狗音乐 http://www.kugou.com/
酷我音乐 http://www.kuwo.cn/
乐视网 http://www.le.com/
荔枝FM http://www.lizhi.fm/
懒人听书 http://www.lrts.me/
秒拍 http://www.miaopai.com/
MioMio弹幕网 http://www.miomio.tv/
MissEvan 猫耳FM http://www.missevan.com/
痞客邦 https://www.pixnet.net/
PPTV聚力 http://www.pptv.com/
齐鲁网 http://v.iqilu.com/
QQ 腾讯视频 http://v.qq.com/
企鹅直播 http://live.qq.com/
Sina 新浪视频 微博秒拍视频 http://video.sina.com.cn/ http://video.weibo.com/
Sohu 搜狐视频 http://tv.sohu.com/
Tudou 土豆 http://www.tudou.com/
阳光卫视 http://www.isuntv.com/
Youku 优酷 http://www.youku.com/
战旗TV http://www.zhanqi.tv/lives
央视网 http://www.cntv.cn/
Naver 네이버 http://tvcast.naver.com/
芒果TV http://www.mgtv.com/
火猫TV http://www.huomao.com/
阳光宽频网 http://www.365yg.com/
西瓜视频 https://www.ixigua.com/
新片场 https://www.xinpianchang.com/
快手 https://www.kuaishou.com/
抖音 https://www.douyin.com/
TikTok https://www.tiktok.com/
中国体育(TV) http://v.zhibo.tv/ http://video.zhibo.tv/
知乎 https://www.zhihu.com/

对于不在列表中的所有其他站点,通用提取器将负责从页面中查找和下载有趣的资源。

posted @ 2022-08-13 13:50  槑孒  阅读(398)  评论(0编辑  收藏  举报