天秀!一行代码,爬尽全网资源?


这是「进击的Coder」的第 352 篇技术分享

作者:叶庭云

来源:凹凸数据



阅读本文大概需要 11 分钟。




You-Get 乃一小小哒命令行程序,提供便利的方式来下载网络上的媒体信息。
为什么你要好好的用 you-get:
  • 你欢喜于互联网上的富媒体内容,并为个人寻欢而储存
  • 你喜悦观看的视频,然而不得保存;对个人设备无从控制,此乃违背开放互联网之行为
  • 你寻求解脱于闭源软件或 JavaScript 代码,并禁止 Flash 运行
  • 你为黑客精神与自由软件而欣喜
you-get 大法之功用:
  • 下载流行网站之音视频,例如 YouTube、Youku、TED、土豆以及更多
  • 于您心仪的媒体播放器中观看在线视频,脱离浏览器与广告
  • 下载您喜欢的网页上的图片
  • 下载任何非 HTML 内容,例如二进制文件
官方文档传送门:https://github.com/soimort/you-get/wiki/中文说明
本文目录
天秀!一行代码,爬尽全网资源?

安装

you-get 的官方版本通过 PyPI 分发, 可从 PyPI 镜像中通过 pip 包管理器进行安装:
pip install you-get -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

官方文档中强烈推荐安装上 FFmpeg,下载链接如下:
FFmpeg下载链接:https://www.ffmpeg.org/download.html
天秀!一行代码,爬尽全网资源?

下载到本地后,配置环境变量,在命令行能正常使用,说明安装成功。

下载B站视频

以下载小姐姐跳舞视频为例:
天秀!一行代码,爬尽全网资源?

当观赏感兴趣的视频时,您可以使用 --info/-i 以查看所有可用画质与格式:
天秀!一行代码,爬尽全网资源?

  • 标有 DEFAULT 为默认画质,如果希望保存为其他格式(mp4),可以使用 -i 查看所有可用画质与格式给出的其他选项进行下载

  • 使用其他选项进行下载:download-with(之后的):you-get --format=。。。URL

  • 使用 --output-dir/-o 设定路径,--output-filename/-O 设定输出文件名

  • 下载过程中可以使用 Ctrl+C 暂停下载

you-get -o D:test --format=dash-flv https://www.bilibili.com/video/BV1me411W7J5
天秀!一行代码,爬尽全网资源?天秀!一行代码,爬尽全网资源?

速度嗖嗖的,视频下载到了本地我们设置的路径下:
天秀!一行代码,爬尽全网资源?

Nice,小五感觉很不错,但上面那种方法下载这个视频,视频和音频分开了,我们可以换一种格式选项再下载:
# 视频音频在一块儿
you-get -o D:test --format=flv https://www.bilibili.com/video/BV1me411W7J5

在 Python 中使用:
import sys
from you_get import common as you_get       # 导入you-get库

# 设置下载目录
directory = r'D:test'
# 要下载的视频地址
url = 'https://www.bilibili.com/video/BV1me411W7J5'
# 传参数
sys.argv = ['you-get''-o', directory, '--format=flv', url]

you_get.main()
天秀!一行代码,爬尽全网资源?

下面举例下载整个视频选集,【老友记第一季】全网最硬核美剧学习笔记丨英语口语丨英语听力丨背单词。
you-get -o D:test --playlist https://www.bilibili.com/video/BV1RE411C7t5?from=search&seid=12600458593644846501
天秀!一行代码,爬尽全网资源?

运行效果如下:
天秀!一行代码,爬尽全网资源?

可用的参数:
usage: you-get [OPTION]... URL...

A tiny downloader that scrapes the web

optional arguments:
  -V, --version         Print version and exit
  -h, --help            Print this help message and exit

Dry-run options:
  (no actual downloading)

  -i, --info            Print extracted information
  -u, --url             Print extracted information with URLs
  --json                Print extracted URLs in JSON format

Download options:
  -n, --no-merge        Do not merge video parts
  --no-caption          Do not download captions (subtitles, lyrics, danmaku,
                        ...)
  -f, --force           Force overwriting existing files
  --skip-existing-file-size-check
                        Skip existing file without checking file size
  -F STREAM_ID, --format STREAM_ID
                        Set video format to STREAM_ID
  -O FILE, --output-filename FILE
                        Set output filename
  -o DIR, --output-dir DIR
                        Set output directory
  -p PLAYER, --player PLAYER
                        Stream extracted URL to a PLAYER
  -c COOKIES_FILE, --cookies COOKIES_FILE
                        Load cookies.txt or cookies.sqlite
  -t SECONDS, --timeout SECONDS
                        Set socket timeout
  -d, --debug           Show traceback and other debug info
  -I FILE, --input-file FILE
                        Read non-playlist URLs from FILE
  -P PASSWORD, --password PASSWORD
                        Set video visit password to PASSWORD
  -l, --playlist        Prefer to download a playlist
  -a, --auto-rename     Auto rename same name different files
  -k, --insecure        ignore ssl errors

Proxy options:
  -x HOST:PORT, --http-proxy HOST:PORT
                        Use an HTTP proxy for downloading
  -y HOST:PORT, --extractor-proxy HOST:PORT
                        Use an HTTP proxy for extracting only
  --no-proxy            Never use a proxy
  -s HOST:PORT or USERNAME:PASSWORD@HOST:PORT, --socks-proxy HOST:PORT or USERNAME:PASSWORD@HOST:PORT
                        Use an SOCKS5 proxy for downloading

支持网站如下:
天秀!一行代码,爬尽全网资源?天秀!一行代码,爬尽全网资源?天秀!一行代码,爬尽全网资源?天秀!一行代码,爬尽全网资源?天秀!一行代码,爬尽全网资源?

那么好的工具,当然用来学习和收藏喜欢的视频再合适不过了。
注意:
  • 如果 you-get 出现问题,不要惊慌. (是的,问题一直存在!),看看是不是在  https://github.com/soimort/you-get/wiki/Known-Bugs里面,搜索 开放Issue,如果没人报告,开个新issue,加上详细的命令行输出。
  • 当然,VIP、付费的那些视频一般还是下载不了的
  • 官网文档指出:如果你使用本软件进行盗版行为,或者非法行径,作者不为你负责,我们仅提供代码,如何使用请自行考虑。

下载其他网站视频

1. 优酷短视频

视频链接:https://v.youku.com/v_show/id_XMzczOTU3MjI4OA==.html
you-get -o D:test https://v.youku.com/v_show/id_XMzczOTU3MjI4OA==.html
天秀!一行代码,爬尽全网资源?

2. 腾讯短视频

电影《神话》中,金喜善山顶跳舞那段,惊艳我许多年!(https://v.qq.com/x/page/y0898b4ah7r.html
you-get -i https://v.qq.com/x/page/y0898b4ah7r.html
you-get -o D:test https://v.qq.com/x/page/y0898b4ah7r.html
天秀!一行代码,爬尽全网资源?

3. 央视网视频

视频链接:https://v.cctv.com/2021/01/11/VIDE8Fu1hm5p7teBosh1L0eU210111.shtml?spm=C90324.PE6LRxWJhH5P.EPZudTwNMBDs.1
you-get -o D:test https://v.cctv.com/2021/01/11/VIDE8Fu1hm5p7teBosh1L0eU210111.shtml?spm=C90324.PE6LRxWJhH5P.EPZudTwNMBDs.1
天秀!一行代码,爬尽全网资源?

4. 凤凰网视频

视频链接:http://v.ifeng.com/c/82whIiWxH1S
you-get -o D:test http://v.ifeng.com/c/82whIiWxH1S
天秀!一行代码,爬尽全网资源?

5. 爆米花视频

视频链接:https://video.baomihua.com/v/48815509
you-get -i https://video.baomihua.com/v/48815509
you-get -o D:test https://video.baomihua.com/v/48815509
天秀!一行代码,爬尽全网资源?

6. 搜狐视频

视频链接:https://tv.sohu.com/v/MjAxNTA5MjcvbjQyMjIxNzc5Ni5zaHRtbA==.html
you-get -o D:test https://tv.sohu.com/v/MjAxNTA5MjcvbjQyMjIxNzc5Ni5zaHRtbA==.html
天秀!一行代码,爬尽全网资源?

搜狐视频,这个网站用 you-get 下载视频挺不错,像电视剧伪装者也可以直接下载下来,本地打开播放就没广告。

天秀!一行代码,爬尽全网资源?

经过测试也发现,以上网站下载效果很好,而有些网站用 you-get 下载视频会失败,可能是网络原因或者其他。




公众号主:崔庆才 | 静觅
隐形字
在这些地方分享自己的一些经验、想法和见解。











天秀!一行代码,爬尽全网资源?

有一起去看小姐姐的吗

原文始发于微信公众号(进击的Coder):天秀!一行代码,爬尽全网资源?

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
天秀!一行代码,爬尽全网资源?
这是「进击的Coder」的第 352 篇技术分享 作者:叶庭云 来源:凹凸数据 “ 阅读本文大概需要 11 分钟。 ” You-Get 乃一小小哒命令行程……
<<上一篇
下一篇>>