爬虫工具you-get

you-get是一个简单易上手的爬虫小工具,可以从网络中爬取多媒体信息,包括图片、音频和视频。you-get的github项目地址为:https://github.com/soimort/you-geticon-default.png?t=N7T8https://github.com/soimort/you-get

一、安装

以下为相关依赖,需要分别安装:

  • Python 3 (必须) 
  • FFmpeg(必须) 
  • Libav (可选)
  • RTMPDump (可选)

推荐使用PyPI镜像中的pip包管理器安装:

pip3 install you-get

二、升级

如果需要升级,可使用以下命令:

pip3 install --upgrade you-get

三、使用

1.视频画质与格式

直接输入you-get+空格+"网址"即可。

网址两端的双引号其实不必要,但是强烈推荐,这样防止某些网站的字符串中有奇奇怪怪的东西,导致you-get误判报错。

$ you-get "https://www.youtube.com/watch?v=jNQXAC9IVRw"
site:                YouTube
title:               Me at the zoo
stream:
    - itag:          43
      container:     webm
      quality:       medium
      size:          0.5 MiB (564215 bytes)
    # download-with: you-get --itag=43 [URL]

Downloading zoo.webm ...
100.0% (  0.5/0.5  MB) ├████████████████████████████████████████┤[1/1]    7 MB/s

Saving Me at the zoo.en.srt ...Done.

此时下载的视频默认为最高画质,DEFAULT。如这个视频带有字幕,将被一同下载,并以SubRip格式保存。

如需下载其他画质,可以使用 --info/-i,以查看所有可用画质与格式,并使用给出的对应 --itag 代码下载:

$ you-get -i "https://www.youtube.com/watch?v=jNQXAC9IVRw"
site:                YouTube
title:               Me at the zoo
streams:             # Available quality and codecs
    [ DEFAULT ] _________________________________
    - itag:          43
      container:     webm
      quality:       medium
      size:          0.5 MiB (564215 bytes)
    # download-with: you-get --itag=43 [URL]

    - itag:          18
      container:     mp4
      quality:       medium
    # download-with: you-get --itag=18 [URL]

    - itag:          5
      container:     flv
      quality:       small
    # download-with: you-get --itag=5 [URL]

    - itag:          36
      container:     3gp
      quality:       small
    # download-with: you-get --itag=36 [URL]

    - itag:          17
      container:     3gp
      quality:       small
    # download-with: you-get --itag=17 [URL]

2.下载路径

默认下载路径即you-get的安装文件夹,但是很乱且不好找。

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

you-get -o D:\桌面\百度图片\视频 "https://www.bilibili.com/video/BV1p4411d7/"

3.cookie的使用

有些网站的视频文件是要登录才可以看到完整版本,如果直接下载可能只有试看的几分钟,或者直接报错无法下载。这时就需要在网站中加载账号cookie,才能继续进行。

(前排提示:在相应网站加载cookie的前提你首先得有这个网站的账号,没有就先注册再说别的。。。)

① 浏览器的cookies信息一般存储在C:\Users\AppData\Local\XXX\User Data\Default目录中,但并不是以单个文件的形式存储,而是SQLite数据库的形式。使用和修改起来并不方便,可以通过安装插件的方式将其导出为cookies.txt格式,以导入其他和使用场景。

② 以Google的Chrome浏览器为例,在Chrome的插件商店中搜索“Get cookies.txt”并安装,安装好后点击浏览器右上角的“扩展程序”即可看到每个页面对应的cookies,打开后选择Export即可导出cookies.txt的文件存储在本地目录。

③ 下载好的cookie是txt形式 ,输入txt的存放位置,能让you-get读取即可下载

you-get --cookies=[cookie的位置][空格][视频网址]

you-get --cookies=D:\cookies.sqlite https://v.youku.com/v_show/id_XNDc1OTk3NzQ2OA==.html?firsttime=0

四、常见Q&A

1.B站的视频下载报错

① 优先更新you-get,低版本的you-get有时不适用;

② 由于B站更新了链接点击流量统计,所以有时会报错。可以把B站的网站链接中所有BV号之后的内容全部删除,如:

B站默认的链接:
https://www.bilibili.com/video/BV1jb411W7c3/?spm_id_from=333.337.search-card.all.click&vd_source=9a70128ce0e23fdc92b35d3a812c66d5

删除分享者ID跟踪后的链接:
https://www.bilibili.com/video/BV1jb411W7c3/?spm_id_from=333.337.search-card.all.click

删除点击统计,仅保留原视频BV号的链接:
https://www.bilibili.com/video/BV1jb411W7c3/

③ 记得用双引号把网址字符串括起来,防止you-get误判;

④ 有时候代理导致报错,把梯子关了。

2.'vd source'不是内部或外部命令,也不是可运行的程序 或批处理文件。

这个错误可能是由于you-get的安装位置没有添加到环境变量中导致的。

① 首先查找you-get的安装位置;

pip show you-get

② 在返回的结果中找到Location,即安装位置;

Name: you-get
Version: 0.4.1650
Summary: Dumb downloader that scrapes the web
Home-page: https://you-get.org/
Author: Mort Yao
Author-email: mort.yao@gmail.com
License: MIT
Location: c:\users\hp\appdata\roaming\python\python310\site-packages
Requires:
Required-by:

③ 将该路径添加到系统的环境变量中;

etx PATH"%PATH%;c:\users\hp\appdata\roaming\python\python310\site-packages\scripts"

注意,%PATH%;和\scripts之间的路径,即为Location中给出的位置;

④ 此时再重新打开终端并运行you-get应该就不会报错了,如果还有报错,那大概率是被网址中的字符串干扰了,例如B站的链接就会有这种情况,这时用双引号把网站括起来即可。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值