Total Pageviews

Monday, 27 April 2020

Lulu

A simple and clean video/music downloader.


For a similar project that is still actively developed, try Annie: https://github.com/iawia002/annie
PyPI Build Status Build status codecov
Lulu is a friendly you-get fork ( Dumb downloader that scrapes the web).

Why fork?

Faster updates

Installation

Prerequisites

The following dependencies are required and must be installed separately.

Install via pip

$ pip3 install lulu
upgrade:
$ pip3 install -U lulu

Get Started

Here's how you use Lulu to download a video from Bilibili:
$ lulu https://www.bilibili.com/video/av18295259/
site:                Bilibili
title:               【中文八级】俄罗斯人的名字超乎你的想象
stream:
    - format:        flv720
      container:     flv
      size:          175.4 MiB (183914793 bytes)
    # download-with: lulu --format=flv720 [URL]

Downloading 【中文八级】俄罗斯人的名字超乎你的想象.flv ...
 100% (175.4/175.4MB) ├████████████████████████████████████████┤[1/1]    3 MB/s

Downloading 【中文八级】俄罗斯人的名字超乎你的想象.cmt.xml ...

Download a video

When you get a video of interest, you might want to use the --info/-i option to see all available quality and formats:
$ lulu -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: lulu --itag=43 [URL]

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

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

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

    - itag:          17
      container:     3gp
      quality:       small
    # download-with: lulu --itag=17 [URL]
The format marked with DEFAULT is the one you will get by default. If that looks cool to you, download it:
$ lulu '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: lulu --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.
(If a YouTube video has any closed captions, they will be downloaded together with the video file, in SubRip subtitle format.)
Or, if you prefer another format (mp4), just use whatever the option lulu shows to you:
$ lulu --itag=18 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
Note:
  • At this point, format selection has not been generally implemented for most of our supported sites; in that case, the default format to download is the one with the highest quality.
  • ffmpeg is a required dependency, for downloading and joining videos streamed in multiple parts (e.g. on some sites like Youku), and for YouTube videos of 1080p or high resolution.
  • If you don't want lulu to join video parts after downloading them, use the --no-merge/-n option.

Download anything else

If you already have the URL of the exact resource you want, you can download it directly with:
$ lulu https://stallman.org/rms.jpg
Site:       stallman.org
Title:      rms
Type:       JPEG Image (image/jpeg)
Size:       0.06 MiB (66482 Bytes)

Downloading rms.jpg ...
100.0% (  0.1/0.1  MB) ├████████████████████████████████████████┤[1/1]  127 kB/s
Otherwise, lulu will scrape the web page and try to figure out if there's anything interesting to you:
$ lulu http://kopasas.tumblr.com/post/69361932517
Site:       Tumblr.com
Title:      kopasas
Type:       Unknown type (None)
Size:       0.51 MiB (536583 Bytes)

Site:       Tumblr.com
Title:      tumblr_mxhg13jx4n1sftq6do1_1280
Type:       Portable Network Graphics (image/png)
Size:       0.51 MiB (536583 Bytes)

Downloading tumblr_mxhg13jx4n1sftq6do1_1280.png ...
100.0% (  0.5/0.5  MB) ├████████████████████████████████████████┤[1/1]   22 MB/s
Note:
  • This feature is an experimental one and far from perfect. It works best on scraping large-sized images from popular websites like Tumblr and Blogger, but there is really no universal pattern that can apply to any site on the Internet.

Pause and resume a download

You may use Ctrl+C to interrupt a download.
A temporary .download file is kept in the output directory. Next time you run lulu with the same arguments, the download progress will resume from the last session. In case the file is completely downloaded (the temporary .download extension is gone), lulu will just skip the download.
To enforce re-downloading, use the --force/-f option. (Warning: doing so will overwrite any existing file or temporary file with the same name!)

Multi-Thread Download

Use -T/--thread number option to enable multithreading to download(only works for multiple-parts video), number means how many threads you want to use.

Proxy settings

You may specify an HTTP proxy for lulu to use, via the --http-proxy/-x option:
$ lulu -x 127.0.0.1:8087 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
However, the system proxy setting (i.e. the environment variable http_proxy) is applied by default. To disable any proxy, use the --no-proxy option.
Tips:
  • If you need to use proxies a lot (in case your network is blocking certain sites), you might want to use lulu with proxychains and set alias lulu="proxychains -q lulu" (in Bash).
  • For some websites (e.g. Youku), if you need access to some videos that are only available in mainland China, there is an option of using a specific proxy to extract video information from the site: --extractor-proxy/-y.

Load cookies

Not all videos are publicly available to anyone. If you need to log in your account to access something (e.g., a private video), it would be unavoidable to feed the browser cookies to lulu via the --cookies/-c option.
Note:
  • As of now, we are supporting two formats of browser cookies: Mozilla cookies.sqlite and Netscape cookies.txt.

Watch a video

Use the --player/-p option to feed the video into your media player of choice, e.g. mplayer or vlc, instead of downloading it:
$ lulu -p vlc 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
Or, if you prefer to watch the video in a browser, just without ads or comment section:
$ lulu -p chromium 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
Tips:
  • It is possible to use the -p option to start another download manager, e.g., lulu -p uget-gtk 'https://www.youtube.com/watch?v=jNQXAC9IVRw', though they may not play together very well.

Set the path and name of downloaded file

Use the --output-dir/-o option to set the path, and --output-filename/-O to set the name of the downloaded file:
$ lulu -o ~/Videos -O zoo.webm 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
Tips:
  • These options are helpful if you encounter problems with the default video titles, which may contain special characters that do not play well with your current shell / operating system / filesystem.
  • These options are also helpful if you write a script to batch download files and put them into designated folders with designated names.

Reuse extracted data

Use --url/-u to get a list of downloadable resource URLs extracted from the page. Use --json to get an abstract of extracted data in the JSON format.
Warning:
  • For the time being, this feature has NOT been stabilized and the JSON schema may have breaking changes in the future.

Search on Google Videos and download

You can pass literally anything to lulu. If it isn't a valid URL, lulu will do a Google search and download the most relevant video for you. (It might not be exactly the thing you wish to see, but still very likely.)
$ lulu "Richard Stallman eats"

Supported Sites

SiteURLVideos?Images?Audios?
YouTubehttps://www.youtube.com/
Twitterhttps://twitter.com/
VKhttp://vk.com/
Vinehttps://vine.co/
Vimeohttps://vimeo.com/
Vidtohttp://vidto.me/
Videomegahttp://videomega.tv/
Veohhttp://www.veoh.com/
Tumblrhttps://www.tumblr.com/
TEDhttp://www.ted.com/
SoundCloudhttps://soundcloud.com/
SHOWROOMhttps://www.showroom-live.com/
Pinteresthttps://www.pinterest.com/
MusicPlayOnhttp://en.musicplayon.com/
MTV81http://www.mtv81.com/
Metacafehttp://www.metacafe.com/
Magistohttp://www.magisto.com/
Khan Academyhttps://www.khanacademy.org/
Internet Archivehttps://archive.org/
Instagramhttps://instagram.com/
InfoQhttp://www.infoq.com/presentations/
Imgurhttp://imgur.com/
Heavy Music Archivehttp://www.heavy-music.ru/
Google+https://plus.google.com/
Freesoundhttp://www.freesound.org/
Flickrhttps://www.flickr.com/
FC2 Videohttp://video.fc2.com/
Facebookhttps://www.facebook.com/
eHowhttp://www.ehow.com/
Dailymotionhttp://www.dailymotion.com/
Coubhttp://coub.com/
CBShttp://www.cbs.com/
Bandcamphttp://bandcamp.com/
AliveThaihttp://alive.in.th/
755
ナナゴーゴー
http://7gogo.jp/
niconico
ニコニコ動画
http://www.nicovideo.jp/
163
网易视频
网易云音乐
http://v.163.com/
http://music.163.com/
56网http://www.56.com/
AcFunhttp://www.acfun.cn/
Baidu
百度贴吧
http://tieba.baidu.com/
爆米花网http://www.baomihua.com/
bilibili
哔哩哔哩
http://www.bilibili.com/
Dilidilihttp://www.dilidili.com/
豆瓣http://www.douban.com/
斗鱼http://www.douyutv.com/
Panda
熊猫
http://www.panda.tv/
凤凰视频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/
荔枝FMhttp://www.lizhi.fm/
秒拍http://www.miaopai.com/
小咖秀http://xiaokaxiu.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.xiami.com/
阳光卫视http://www.isuntv.com/
音悦Taihttp://www.yinyuetai.com/
Youku
优酷
http://www.youku.com/
战旗TVhttp://www.zhanqi.tv/lives
央视网http://www.cntv.cn/
花瓣http://huaban.com/
Naver
네이버
http://tvcast.naver.com/
芒果TVhttp://www.mgtv.com/
火猫TVhttp://www.huomao.com/
全民直播http://www.quanmin.tv/
阳光宽频网http://www.365yg.com/
西瓜视频https://www.ixigua.com/
快手https://www.kuaishou.com/
抖音https://www.douyin.com/
龙珠直播http://longzhu.com
半次元https://bcy.net
pixivisionhttps://www.pixivision.net
For all other sites not on the list, the universal extractor will take care of finding and downloading interesting resources from the page.

Development

Preparation

Install pipenv:
$ pip3 install pipenv
and fabric (Note: fabric doesn't support python3 now, install using pip2):
$ pip install fabric
Initialize virtualenv
$ pipenv --python 3
Install all dependencies:
$ pipenv install --dev
Use the shell:
$ pipenv shell
Run the tests:
$ fab test

Contributing

Lulu is an open source project and welcome contributions 😉

Note

@iawia002 has pep8 obsessive-compulsive disorder, all code must follow pep8 guidelines.
You can use flake8 to check the code before submitting.
frm  https://github.com/iawia002/Lulu
-------------------

annie(现名为lux)

类似 you-get 的一个视频下载工具,可以解析大部分视频网站,直接下载.
 Fast, simple and clean video downloader.
Annie is a fast, simple and clean video downloader built with Go.

Installation

Prerequisites

The following dependencies are required and must be installed separately.
Note: FFmpeg does not affect the download, only affects the final file merge.

Install via go get

To install Annie, use go get, or download the binary file from Releases page.
$ GO111MODULE=on go get github.com/iawia002/annie

Homebrew (macOS only)

For macOS users, you can install annie via:
$ brew install annie

Arch Linux

For Arch Users AUR package is available.

Void Linux

For Void linux users, you can install annie via:
$ xbps-install -S annie

Scoop on Windows

$ scoop install annie

Chocolatey on Windows

$ choco install annie

Getting Started

Usage:
annie [OPTIONS] URL [URL...]

Download a video

$ annie https://www.youtube.com/watch?v=dQw4w9WgXcQ

 Site:      YouTube youtube.com
 Title:     Rick Astley - Never Gonna Give You Up (Video)
 Type:      video
 Stream:   
     [248]  -------------------
     Quality:         1080p video/webm; codecs="vp9"
     Size:            63.93 MiB (67038963 Bytes)
     # download with: annie -f 248 ...

 41.88 MiB / 63.93 MiB [=================>-------------]  65.51% 4.22 MiB/s 00m05s
Note: wrap the URL in quotation marks if it contains special characters. (thanks @tonyxyl for pointing this out)
$ annie 'https://...'
The -i option displays all available quality of video without downloading.
$ annie -i https://www.youtube.com/watch?v=dQw4w9WgXcQ

 Site:      YouTube youtube.com
 Title:     Rick Astley - Never Gonna Give You Up (Video)
 Type:      video
 Streams:   # All available quality
     [248]  -------------------
     Quality:         1080p video/webm; codecs="vp9"
     Size:            49.29 MiB (51687554 Bytes)
     # download with: annie -f 248 ...

     [137]  -------------------
     Quality:         1080p video/mp4; codecs="avc1.640028"
     Size:            43.45 MiB (45564306 Bytes)
     # download with: annie -f 137 ...

     [398]  -------------------
     Quality:         720p video/mp4; codecs="av01.0.05M.08"
     Size:            37.12 MiB (38926432 Bytes)
     # download with: annie -f 398 ...

     [136]  -------------------
     Quality:         720p video/mp4; codecs="avc1.4d401f"
     Size:            31.34 MiB (32867324 Bytes)
     # download with: annie -f 136 ...

     [247]  -------------------
     Quality:         720p video/webm; codecs="vp9"
     Size:            31.03 MiB (32536181 Bytes)
     # download with: annie -f 247 ...
Use annie -f stream "URL" to download a specific stream listed in the output of -i option.

Download anything else

If Annie is provided the URL of a specific resource, then it will be downloaded directly:
$ annie https://img9.bcyimg.com/drawer/15294/post/1799t/1f5a87801a0711e898b12b640777720f.jpg

annie doesn't support this URL right now, but it will try to download it directly

 Site:      Universal
 Title:     1f5a87801a0711e898b12b640777720f
 Type:      image/jpeg
 Stream:
     [default]  -------------------
     Size:            1.00 MiB (1051042 Bytes)
     # download with: annie -f default "URL"

 1.00 MiB / 1.00 MiB [===================================] 100.00% 1.21 MiB/s 0s

Download playlist

The -p option downloads an entire playlist instead of a single video.
$ annie -i -p https://www.bilibili.com/bangumi/play/ep198061

 Site:      哔哩哔哩 bilibili.com
 Title:     Doctor X 第四季:第一集
 Type:      video
 Streams:   # All available quality
     [default]  -------------------
     Quality:         高清 1080P
     Size:            845.66 MiB (886738354 Bytes)
     # download with: annie -f default "URL"


 Site:      哔哩哔哩 bilibili.com
 Title:     Doctor X 第四季:第二集
 Type:      video
 Streams:   # All available quality
     [default]  -------------------
     Quality:         高清 1080P
     Size:            930.71 MiB (975919195 Bytes)
     # download with: annie -f default "URL"

......
You can use the -start-end or -items option to specify the download range of the list:
-start
     Playlist video to start at (default 1)
-end
     Playlist video to end at
-items
     Playlist video items to download. Separated by commas like: 1,5,6,8-10
For bilibili playlists only:
-eto
  File name of each bilibili episode doesn't include the playlist title

Multiple inputs

You can also download multiple URLs at once:
$ annie -i https://www.bilibili.com/video/av21877586 https://www.bilibili.com/video/av21990740

 Site:      哔哩哔哩 bilibili.com
 Title:     【莓机会了】甜到虐哭的13集单集MAD「我现在什么都不想干,更不想看14集」
 Type:      video
 Streams:   # All available quality
     [default]  -------------------
     Quality:         高清 1080P
     Size:            51.88 MiB (54403767 Bytes)
     # download with: annie -f default "URL"


 Site:      哔哩哔哩 bilibili.com
 Title:     【莓救了】甜到虐哭!!!国家队单集MAD-当熟悉的bgm响起,眼泪从脸颊滑下
 Type:      video
 Streams:   # All available quality
     [default]  -------------------
     Quality:         高清 1080P
     Size:            77.63 MiB (81404093 Bytes)
     # download with: annie -f default "URL"
These URLs will be downloaded one by one.
You can also use the -F option to read URLs from file:
$ annie -F ~/Desktop/u.txt

 Site:      微博 weibo.com
 Title:     在Google,我们设计什么? via@阑夕
 Type:      video
 Stream:
     [default]  -------------------
     Size:            19.19 MiB (20118196 Bytes)
     # download with: annie -f default "URL"

 19.19 MiB / 19.19 MiB [=================================] 100.00% 9.69 MiB/s 1s

......
You can use the -start-end or -items option to specify the download range of the list:
-start
     File line to start at (default 1)
-end
     File line to end at
-items
     File lines to download. Separated by commas like: 1,5,6,8-10

Resume a download

Ctrl+C interrupts a download.
A temporary .download file is kept in the output directory. If annie is ran with the same arguments, then the download progress will resume from the last session.

Auto retry

annie will auto retry when the download failed, you can specify the retry times by -retry option (default is 100).

Cookies

Cookies can be provided to annie with the -c option if they are required for accessing the video.
Cookies can be the following format or Netscape Cookie format:
name=value; name2=value2; ...
Cookies can be a string or a text file, supply cookies in one of the two following ways.
As a string:
$ annie -c "name=value; name2=value2" https://www.bilibili.com/video/av20203945
As a text file:
$ annie -c cookies.txt https://www.bilibili.com/video/av20203945

Proxy

You can set the HTTP/SOCKS5 proxy using environment variables:
$ HTTP_PROXY="http://127.0.0.1:1087/" annie -i https://www.youtube.com/watch?v=Gnbch2osEeo
$ HTTP_PROXY="socks5://127.0.0.1:1080/" annie -i https://www.youtube.com/watch?v=Gnbch2osEeo

Multi-Thread

Use -n option to set the number of download threads(default is 10, only works for multiple-parts video).
Special Tips: Use too many threads in mgtv download will cause HTTP 403 error, we recommend setting the number of threads to 1.

Short link

bilibili

You can just use av or ep number to download bilibili's video:
$ annie -i ep198381 av21877586

 Site:      哔哩哔哩 bilibili.com
 Title:     狐妖小红娘:第79话 南国公主的吃货本色
 Type:      video
 Streams:   # All available quality
     [default]  -------------------
     Quality:         高清 1080P
     Size:            485.23 MiB (508798478 Bytes)
     # download with: annie -f default "URL"


 Site:      哔哩哔哩 bilibili.com
 Title:     【莓机会了】甜到虐哭的13集单集MAD「我现在什么都不想干,更不想看14集」
 Type:      video
 Streams:   # All available quality
     [default]  -------------------
     Quality:         高清 1080P
     Size:            51.88 MiB (54403767 Bytes)
     # download with: annie -f default "URL"

Use specified Referrer

A Referrer can be used for the request with the -r option:
$ annie -r https://www.bilibili.com/video/av20383055/ http://cn-scnc1-dx.acgvideo.com/...

...

Specify the output path and name

The -o option sets the path, and -O option sets the name of the downloaded file:
$ annie -o ../ -O "hello" https://...

Debug Mode

The -d option outputs network request messages:
$ annie -i -d http://www.bilibili.com/video/av20088587

URL:         http://www.bilibili.com/video/av20088587
Method:      GET
Headers:     http.Header{
    "Referer":         {"http://www.bilibili.com/video/av20088587"},
    "Accept":          {"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},
    "Accept-Charset":  {"UTF-8,*;q=0.5"},
    "Accept-Encoding": {"gzip,deflate,sdch"},
    "Accept-Language": {"en-US,en;q=0.8"},
    "User-Agent":      {"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"},
}
Status Code: 200

URL:         https://interface.bilibili.com/v2/playurl?appkey=84956560bc028eb7&cid=32782944&otype=json&qn=116&quality=116&type=&sign=fb2e3f261fec398652f96d358517e535
Method:      GET
Headers:     http.Header{
    "Accept-Charset":  {"UTF-8,*;q=0.5"},
    "Accept-Encoding": {"gzip,deflate,sdch"},
    "Accept-Language": {"en-US,en;q=0.8"},
    "User-Agent":      {"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"},
    "Referer":         {"https://interface.bilibili.com/v2/playurl?appkey=84956560bc028eb7&cid=32782944&otype=json&qn=116&quality=116&type=&sign=fb2e3f261fec398652f96d358517e535"},
    "Accept":          {"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},
}
Status Code: 200

 Site:      哔哩哔哩 bilibili.com
 Title:     燃油动力的遥控奥迪R8跑赛道
 Type:      video
 Streams:   # All available quality
     [default]  -------------------
     Quality:         高清 1080P
     Size:            64.38 MiB (67504795 Bytes)
     # download with: annie -f default "URL"

Reuse extracted data

The -j option will print the extracted data in JSON format.
$ annie -j https://www.bilibili.com/video/av20203945

{
    "site": "哔哩哔哩 bilibili.com",
    "title": "【2018拜年祭单品】相遇day by day",
    "type": "video",
    "streams": {
        "15": {
            "urls": [
                {
                    "url": "...",
                    "size": 18355205,
                    "ext": "flv"
                }
            ],
            "quality": "流畅 360P",
            "size": 18355205
        },
        "32": {
            "urls": [
                {
                    "url": "...",
                    "size": 40058632,
                    "ext": "flv"
                }
            ],
            "quality": "清晰 480P",
            "size": 40058632
        },
        "64": {
            "urls": [
                {
                    "url": "...",
                    "size": 82691087,
                    "ext": "flv"
                }
            ],
            "quality": "高清 720P",
            "size": 82691087
        },
        "80": {
            "urls": [
                {
                    "url": "...",
                    "size": 121735559,
                    "ext": "flv"
                }
            ],
            "quality": "高清 1080P",
            "size": 121735559
        }
    }
}

Options

  -i Information only
  -F string
     URLs file path
  -d Debug mode
  -j Print extracted data
  -v Show version

Download:

  -f string
     Select specific stream to download
  -p Download playlist
  -n int
     The number of download thread (only works for multiple-parts video) (default 10)
  -c string
     Cookie
  -r string
     Use specified Referrer
  -cs int
     HTTP chunk size for downloading (in MB) (default 0)

Network:

  -retry int
     How many times to retry when the download failed (default 10)

Playlist:

  -start int
     Playlist video to start at (default 1)
  -end int
     Playlist video to end at
  -items string
     Playlist video items to download. Separated by commas like: 1,5,6,8-10

Filesystem:

  -o string
     Specify the output path
  -O string
     Specify the output file name

Subtitle:

  -C Download captions

Youku:

  -ccode string
     Youku ccode (default "0590")
  -ckey string
     Youku ckey (default "7B19C0AB12633B22E7FE81271162026020570708D6CC189E4924503C49D243A0DE6CD84A766832C2C99898FC5ED31F3709BB3CDD82C96492E721BDD381735026")
  -password string
     Youku password

aria2:

Note: If you use aria2 to download, you need to merge the multi-part videos yourself.
  -aria2
     Use Aria2 RPC to download
  -aria2addr string
     Aria2 Address (default "localhost:6800")
  -aria2method string
     Aria2 Method (default "http")
  -aria2token string
     Aria2 RPC Token

Supported Sites

SiteURL🎬 Videos🌁 Images📚 Playlist🍪 VIP adaptation
抖音https://www.douyin.com
哔哩哔哩https://www.bilibili.com
半次元https://bcy.net
pixivisionhttps://www.pixivision.net
优酷https://www.youku.com
YouTubehttps://www.youtube.com
爱奇艺https://www.iqiyi.com
芒果TVhttps://www.mgtv.com
糖豆广场舞http://www.tangdou.com
Tumblrhttps://www.tumblr.com
Vimeohttps://vimeo.com
Facebookhttps://facebook.com
斗鱼视频https://v.douyu.com
秒拍https://www.miaopai.com
微博https://weibo.com
Instagramhttps://www.instagram.com
Twitterhttps://twitter.com
腾讯视频https://v.qq.com
网易云音乐https://music.163.com
音悦台https://yinyuetai.com
极客时间https://time.geekbang.org
Pornhubhttps://pornhub.com
XVIDEOShttps://xvideos.com
聯合新聞網https://udn.com
TikTokhttps://www.tiktok.com

Known issues

优酷

优酷的 ccode 经常变化导致 annie 不可用,如果你知道有新的可用的 ccode,可以直接使用 annie -ccode ... 而不用等待 annie 更新(当然,也欢迎你给我们提一个 Pull request 来更新默认的 ccode
最好是每次下载都附带登录过的 Cookie 以避免部分 ccode 的问题.
( annie,更适合国内使用的视频下载神器
在GitHub上,annie同样是个备受推崇的专注于在线视频下载的轻量级命令行工具。它支持解析下载包括youtube、优酷、爱奇艺、腾讯视频、抖音等国内外17个在线视频网站,自推出至现在,作者一直都在更新,历经过个版本更迭,功能越来越稳定。
作为命令行工具,操作逻辑与you-get并无区别。下载安装后同样需要为其创建环境变量。
通过 annie +视频网址,即可快速解析下载视频。默认情况下,annie会自动下载最高画质,最新版的annie中添加了对bilibili短网址的支持,也就是直接输入bilibili视频的短地址就行。比如:annie  BV1jA411E7pg
annie命令繁多,常见的查看视频信息、选择画质、根据播放列表批量下载等等与上面you-get操作基本相同,输入annie -h可查看所有命令.)
(annie

annie是GitHub上一个开源项目,是一款专注于在线视频下载的轻量级命令行工具。annie支持解析下载包括youtube、优酷、爱奇艺、腾讯视频、抖音等国内外17个在线视频网站。

annie支持的命令相当多,下面阿刚简单的介绍几个常用的命令。

【下载视频】

通过 annie +视频网址,即可快速解析下载视频。默认情况下,annie会自动下载最高画质,并且经阿刚测试,annie是四款工具中唯一一款不需要登陆账号就可解析下载优酷1080P视频的工具。

并且值得一提的是,最新版的annie中添加了对bilibili短网址的支持,也就是直接输入bilibili视频的短地址就行比如:annie  av26191654

【查看视频信息】

如果你想知道视频的基本信息,可以通过annie -i video-url查看视频信息

【下载播放列表】

如果你想下载某个播放列表,批量下载视频

可以使用annie -i -p video-url

更多命令大家可以查阅Github项目主页,或者输入”annie -h”命令查询帮助信息。

如何下载VIP视频

首先,四款工具除了ykdl无法下载VIP视频之外,youtube-dl,you-get和annie本身就支持VIP视频解析和下载。本来今次的专题总结,阿刚是想给大家着重介绍一下收费视频的下载方式。

但遗憾的是写这篇文章时,youtube-dl、you-get,偏偏无法解析下载VIP视频,尤其是you-get,优酷某些普通的视频都无法正常解析,直接”客户端无权播放201″,但是这并不代表他们不支持VIP视频的解析和下载。

事实上他们的下载原理基本相同,都是通过加载cookies获取播放权限,实现视频解析和下载。也就是说,首先你必须要有个VIP账户,才可以通过这三款工具下载高清晰视频。

大前提已经讲完,下面阿刚简单说明一下如果通过annie来下载B站大会员视频。

【一】获取Cookies

首先登陆会员账号,快捷键F12,打开开发者工具。选择”Network”,F5快捷键重新加载页面,选择视频播放页面,将Headers里的Cookies信息全部复制,保存为txt文件,比如Cookies.txt


【二】加载Cookies

通过annie -c命令加载已保存的Cookies.txt文件。即可成功解析B站大会员视频:

annie -c Cookies.txt video-url

(B站登陆账户最高可观看1080P视频,大会员视频可看1080P+)

三款工具加载cookies文件的命令大同小异。目前,只有annie可以正常解析VIP会员视频。至于youtube-dl、you-get只能等作者更新维护了,或许下个版本可以修复问题。)

下载地址:

https://github.com/iawia002/lux/releases/download/v0.24.0/lux_0.24.0_Windows_x86_64.zip

不知何时 annie更名为lux了。

lux对于下载youtube video支持得不是很好。

-----------------------------

jdk8 download url:
https://download.oracle.com/otn/java/jdk/8u411-b09/43d62d619be4e416215729597d70b8ac/jdk-8u411-windows-x64.exe?AuthParam=1717559452_6e108e3fa087e78b2700b8fc4ae5e64f



1 comment:

  1. Hi there colleagues, how is the whole thing, and what you want to say concerning this article, in my view its truly awesome in support of me.

    ReplyDelete