You-Get – Video Download Script for YouTube, YouKu, DailyMotion, and More

youku_logoYouKu is the equivalent of YouTube in China, and earlier today I wanted to download a video from the service, so I’ve looked for an application or script that can do the job in Linux. I’ve finally come across you-get, a python 3 script that claims to be able to download videos from an impressive number of websites, namely:

YouTube
Vimeo
Coursera
Blip
Dailymotion
Facebook
Google+
Google Drive
Tumblr
Vine
SoundCloud
Mixcloud
Freesound
JPopsuki
VID48
Niconico ()
Youku ()
Tudou ()
YinYueTai ()
AcFun
bilibili
CNTV ()
Douban ()
ifeng ()
iQIYI ()
Joy.cn ()
Ku6 (6)
MioMio h
NetEase () (v.163.com)
PPTV.com
QQ () (v.qq.com)
Sina () (video.sina.com.cn)
Sohu () (tv.sohu.com)
56 (56)
Xiami ()
Baidu () (music.baidu.com)
SongTaste

I won’t try all, but just test it with YouKu and YouTube. First things first, let’s install it:


Time to go to youku.com and download a video:


Success! And now Youtube:


All good, and that was easy. To download several videos, you can either write you own script, or add videos in you-get command line such as “you-get link2video1 link2video2 … link2videon“.

I remember somebody on G+ wanted to upload several videos to YouKu, so while I was on this subject, I decided to have a look at YouKu upload scripts as well.

There is indeed a script called “pyYouku“, which is also written in Python, that allows you to upload videos to YouKu. Once you download the software, you just need to update config.py with your username, password, and partner ID (API key). The latter is quite problematic, as you have to apply to become a developer (easy), and then request an API key by sending YouKu an email with your business name & address, business phone and business license (hard). And this is where I gave up…

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

22 Replies to “You-Get – Video Download Script for YouTube, YouKu, DailyMotion, and More”

  1. Great 🙂 Had this problem & hate the windoze-only youku app. And get_flash_videos (in Debian repos, doesn’t seem to work with youku).

  2. I wonder if there’s a script which could download entire shows, playlists or channels of videos from YouTube. Anyone knows something like that?

    For downloading single videos from YouTube, I currently use youtube-dl. There’s also ‘cclive’, which I once used to get a video from DailyMotion. There’s quite a lot of these downloader scripts, most of them support more than one service. But You-Get seems to be very useful, since I don’t think any other script supports so many Chinese services.

  3. I installed you-get and used for 2 days… but now it showing error like

    dileep@dileep:~$ you-get -o /home/dileep/Downloads/you_get http://www.youtube.com/watch?v=gtVQITmYlXY
    Traceback (most recent call last):
    File “/usr/lib/python3.2/urllib/request.py”, line 1140, in do_open
    h.request(req.get_method(), req.selector, req.data, headers)
    File “/usr/lib/python3.2/http/client.py”, line 970, in request
    self._send_request(method, url, body, headers)
    File “/usr/lib/python3.2/http/client.py”, line 1008, in _send_request
    self.endheaders(body)
    File “/usr/lib/python3.2/http/client.py”, line 966, in endheaders
    self._send_output(message_body)
    File “/usr/lib/python3.2/http/client.py”, line 811, in _send_output
    self.send(msg)
    File “/usr/lib/python3.2/http/client.py”, line 749, in send
    self.connect()
    File “/usr/lib/python3.2/http/client.py”, line 727, in connect
    self.timeout, self.source_address)
    File “/usr/lib/python3.2/socket.py”, line 426, in create_connection
    raise err
    File “/usr/lib/python3.2/socket.py”, line 417, in create_connection
    sock.connect(sa)
    socket.error: [Errno 111] Connection refused

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “/usr/local/bin/you-get”, line 9, in
    load_entry_point(‘you-get==0.3.12’, ‘console_scripts’, ‘you-get’)()
    File “/usr/local/lib/python3.2/dist-packages/you_get-0.3.12-py3.2.egg/you_get/__main__.py”, line 77, in main
    script_main(‘you-get’, any_download, any_download_playlist)
    File “/usr/local/lib/python3.2/dist-packages/you_get-0.3.12-py3.2.egg/you_get/common.py”, line 696, in script_main
    download_main(download, download_playlist, args, playlist, output_dir, merge, info_only)
    File “/usr/local/lib/python3.2/dist-packages/you_get-0.3.12-py3.2.egg/you_get/common.py”, line 616, in download_main
    download(url, output_dir = output_dir, merge = merge, info_only = info_only)
    File “/usr/local/lib/python3.2/dist-packages/you_get-0.3.12-py3.2.egg/you_get/__main__.py”, line 70, in any_download
    m.download(url, output_dir = output_dir, merge = merge, info_only = info_only)
    File “/usr/local/lib/python3.2/dist-packages/you_get-0.3.12-py3.2.egg/you_get/downloader/youtube.py”, line 144, in youtube_download
    youtube_download_by_id(id, None, output_dir, merge = merge, info_only = info_only)
    File “/usr/local/lib/python3.2/dist-packages/you_get-0.3.12-py3.2.egg/you_get/downloader/youtube.py”, line 132, in youtube_download_by_id
    type, ext, size = url_info(url)
    File “/usr/local/lib/python3.2/dist-packages/you_get-0.3.12-py3.2.egg/you_get/common.py”, line 117, in url_info
    response = request.urlopen(request.Request(url))
    File “/usr/lib/python3.2/urllib/request.py”, line 139, in urlopen
    return opener.open(url, data, timeout)
    File “/usr/lib/python3.2/urllib/request.py”, line 370, in open
    response = self._open(req, data)
    File “/usr/lib/python3.2/urllib/request.py”, line 388, in _open
    ‘_open’, req)
    File “/usr/lib/python3.2/urllib/request.py”, line 348, in _call_chain
    result = func(*args)
    File “/usr/lib/python3.2/urllib/request.py”, line 1160, in http_open
    return self.do_open(http.client.HTTPConnection, req)
    File “/usr/lib/python3.2/urllib/request.py”, line 1143, in do_open
    raise URLError(err)
    urllib.error.URLError:

  4. I just wanted to grab some youtube videos listed in a text file with youtube-dl:

    bir@N2C:~/faders$ youtube-dl -t < faders.txt
    Usage: youtube-dl [options] url [url…]

    youtube-dl: error: you must provide at least one URL

    Is there a way to get youtube-dl to use URLs from a text file? :s

    (The URLs are in the file, which '<' is supposed to direct to standard input… (Right?) Funnily enough cat < faders.txt works just like cat without '<' . But echo < faders.txt gives an empty line; it must be recognising '<' as a special character, or it would print it out again. I thought I kind of understood redirection, but now I'm not so sure!)

  5. @onebir
    Yes, I’ve just updated to Ubuntu 13.10 because Ubuntu 12.04 would always crash with YouTube videos. My old “youtube2mp3” script failed, and I found out it was much easier to use that option, but it could be only available in newer versions.

    My version:
    youtube-dl –version
    2013.08.29

  6. I could get youtube-dl to extract to aac files, but couldn’t get it to convert to mp3, even though libmp3lame was installed. Installing avconv (a fork of ffmpeg that youtube-dl seems to prefer) and ubuntu-restricted-extras has done the trick 🙂

  7. Just grabbed something from youku with You-Get 0.3.30 – works well, including automatically stitching the flv files together, but either youku is unreliable, or it locked me out after a couple of d/ls…

    (Added ‘3’ at the end of #! #!/usr/bin/env python3 for simplicity of invocation, since my system defaults to 2.7.x )

  8. You can use Allavsoft to download and iQIYI videos to any video format like MP4, MOV, AVCHD, MTS, M2TS, ASF, DV, AVI, WMV, VOB, MKV, FLV, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *

Boardcon Rockchip and Allwinner SoM and SBC products
Boardcon Rockchip and Allwinner SoM and SBC products