- vừa được xem lúc

Dowload video Youtube chỉ với 5 dòng code Python

0 0 30

Người đăng: Trinh Huu Vu

Theo Viblo Asia

1. Mở đầu

Chắc hẳn ai trong chúng ta cũng từng thử tìm cách download video trên Youtube vì nhiều lý do khác nhau.

Hôm nay mình xin được giới thiệu một phương pháp đơn giản để download video Youtube bằng Python hoặc Command Line mà mình đã đọc được.

※ Mặc dù library nêu trong bài viết không vi phạm bản quyền, tuy nhiên chúng ta cũng cần có trách nhiệm với các video download từ Youtube.

2. Install 「youtube_dl」 library

Trước hết, chúng ta cần install library youtube_dl

pip install youtube_dl

3. Dowload video Youtube với Python

Để download 1 video Youtube, chúng ta chỉ cần tạo và chạy 1 file python với nội dung như dưới đây.

Để download được video mong muốn, ta chỉ cần thay URL https://www.youtube.com/watch?v=~ ở dòng thứ 5 bằng URL của video tương ứng.

※ Nếu giữ nguyên đoạn code dưới đây sẽ có thể download được 1 video ngắn của channel VTV24 ?

from __future__ import unicode_literals
import youtube_dl
ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl: ydl.download(['https://www.youtube.com/watch?v=dfIho5iC370'])

4. Download video Youtube bằng Command Line

Ngoài ra, sau khi install ta cũng có thể tiến hành download bằng command line. Chỉ với command như dưới đây

youtube-dl [OPTIONS] URL [URL...]

Options

-h, --help Print this help text and exit
--version Print program version and exit
-U, --update Update this program to latest version. Make sure that you have sufficient permissions (run with sudo if needed)
-i, --ignore-errors Continue on download errors, for example to skip unavailable videos in a playlist
--abort-on-error Abort downloading of further videos (in the playlist or the command line) if an error occurs
--dump-user-agent Display the current browser identification
--list-extractors List all supported extractors
--extractor-descriptions Output descriptions of all supported extractors
--force-generic-extractor Force extraction to use the generic extractor
--default-search PREFIX Use this prefix for unqualified URLs. For example "gvsearch2:" downloads two videos from google videos for youtube- dl "large apple". Use the value "auto" to let youtube-dl guess ("auto_warning" to emit a warning when guessing). "error" just throws an error. The default value "fixup_error" repairs broken URLs, but emits an error if this is not possible instead of searching.
--ignore-config Do not read configuration files. When given in the global configuration file /etc/youtube-dl.conf: Do not read the user configuration in ~/.config/youtube-dl/config (%APPDATA%/youtube-dl/config.txt on Windows)
--config-location PATH Location of the configuration file; either the path to the config or its containing directory.
--flat-playlist Do not extract the videos of a playlist, only list them.
--mark-watched Mark videos watched (YouTube only)
--no-mark-watched Do not mark videos watched (YouTube only)
--no-color Do not emit color codes in output

Network Options

--geo-verification-proxy URL Use this proxy to verify the IP address for some geo-restricted sites. The default proxy specified by --proxy (or none, if the option is not present) is used for the actual downloading.
--geo-bypass Bypass geographic restriction via faking X-Forwarded-For HTTP header
--no-geo-bypass Do not bypass geographic restriction via faking X-Forwarded-For HTTP header
--geo-bypass-country CODE Force bypass geographic restriction with explicitly provided two-letter ISO 3166-2 country code
--geo-bypass-ip-block IP_BLOCK Force bypass geographic restriction with explicitly provided IP block in CIDR notation

Trường hợp không thể download video

  • Rất có thể phía youtube đã có thay đổi nên bạn không thể download được video
  • Những lúc như vậy cần phải chờ update từ library youtube_dl
  • Sau khi có bản update, có thể sử dụng command sau để cập nhật bản mới nhất.
pip install -U youtube_dl

5. Kết

youtube_dl là một library khá thú vị đối với người mới bắt đầu với ngôn ngữ Python.

Từ việc sử dụng library này có thể tiếp tục với những ý tưởng lập trình khác mới mẻ hơn (tạo một tool tự động thu thập video Youtube chẳng hạn ?)

Chúc mọi người có thời gian lập trình, cũng như xem video Youtube vui vẻ !

References

【Python】youtubeの動画をコピペ5行でダウンロードする方法(違法性なし)

Bình luận

Bài viết tương tự

- vừa được xem lúc

Lập Trình Hướng Đối Tượng trong Python

Chào các bạn Trong bài này, bạn sẽ tìm hiểu về Lập trình hướng đối tượng (OOP) bằng Python và khái niệm cơ bản của nó và một số các ví dụ. Các bạn cùng tìm hiểu trong bài viết của mình nhé.

0 0 35

- vừa được xem lúc

Lớp trong Python

. Hôm ni, mình học tiếp về bạn “Lớp(class) trong python”, bài blog tiếp theo nằm trong series “Khám phá Đại Bản Doanh Python”(nội dung trong bài series này từ chủ yếu mình lấy từ python.org rồi viết lại hoặc dịch lại theo ngôn ngữ của mình).

0 0 17

- vừa được xem lúc

Tìm hiểu về thư viện Numpy trong Python(Phần 3)

Trong bài viết trước tôi đã giới thiệu cho bạn về NumPy, tìm hiểu về Mảng trong NumPy. Trong bài viết này chúng ta sẽ tiếp tục tìm hiểu về các kiểu dữ liệu khác trong NumPy.

0 0 128

- vừa được xem lúc

Hướng dẫn cài đặt Anaconda trên Ubuntu

Anaconda là một nền tảng mã nguồn mở về Data Science và Machine Learning trên Python thông dụng nhất hiện nay, Anaconda có vai trò đơn giản hóa việc triển khai và quản lí các gói cài đặt khi làm việc với Python. Anaconda được cài đặt dễ dàng trên 3 nền tảng hệ điều hành thông dụng hiện nay là Ubuntu

0 0 31

- vừa được xem lúc

Tùy chỉnh Exceptions trong Python

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về cách tùy chỉnh các Exceptions trong Python.Mình sẽ giải thích cho các bạn hiểu và cách xử dụng chúng.

0 0 24

- vừa được xem lúc

Không gian tên(namspace) và phạm vi(scope) trong Python

. Khi mình ngồi học và dịch bài "Class trong Python" cho sê-ri "Khám Phá Đại Bản Doanh Python", mình đã đụng hai bạn này, và các bạn thật là trừu tượng và khó gặm. Thế là mình tìm kiếm và viết bài này để hiểu rõ hơn về hai bạn ấy, hi vọng bạn đọc thêm để hiểu về Python nhé.

0 0 34