在线视频爬虫下载工具youtube_dl安装及其使用
- github地址 : youtube_dl
利用python管理工具pip安装
pip install --upgrade youtube-dl
youtube_dl常用命令行介绍
-f, --format FORMAT Video format code, see the "FORMAT
SELECTION" for all the info
--merge-output-format FORMAT If a merge is required (e.g.
bestvideo+bestaudio), output to given
container format. One of mkv, mp4, ogg,
webm, flv. Ignored if no merge is required
-F, --list-formats List all available formats of requested
videos
-a, --batch-file FILE File containing URLs to download ('-' for
stdin)
-o, --output TEMPLATE Output filename template, see the "OUTPUT
TEMPLATE" for all the info
--list-extractors List all supported extractors
输出文件名模板
Note: on Windows you may need to use double quotes instead of single.
# Download YouTube playlist videos in separate directory indexed by video order in a playlist
$ youtube-dl -o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re
# Download all playlists of YouTube channel/user keeping each playlist in separate directory:
$ youtube-dl -o '%(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/user/TheLinuxFoundation/playlists
# Download Udemy course keeping each chapter in separate directory under MyVideos directory in your home
$ youtube-dl -u user -p password -o '~/MyVideos/%(playlist)s/%(chapter_number)s - %(chapter)s/%(title)s.%(ext)s' https://www.udemy.com/java-tutorial/
# Download entire series season keeping each series and each season in separate directory under C:/MyVideos
$ youtube-dl -o "C:/MyVideos/%(series)s/%(season_number)s - %(season)s/%(episode_number)s - %(episode)s.%(ext)s" http://videomore.ru/kino_v_detalayah/5_sezon/367617
输出文件格式模板
网站上视频具有的下载格式可以通过youtube-dl -F
查看可下载视频格式列表
youtube-dl可以根据参数配置来确定视频下载格式
Note: on Windows you may need to use double quotes instead of single.
# Download best mp4 format available or any other best if no mp4 available
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
# Download best format available but not better that 480p
$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
# Download best video only format but no bigger than 50 MB
$ youtube-dl -f 'best[filesize<50M]'
# Download best format available via direct link over HTTP/HTTPS protocol
$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'
# Download the best video format and the best audio format without merging them
$ youtube-dl -f 'bestvideo,bestaudio' -o '%(title)s.f%(format_id)s.%(ext)s'
开发者模式使用
youtube_dl在python代码中使用方式
from __future__ import unicode_literals ## for python2
import youtube_dl
ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download(['http://www.youtube.com/watch?v=BaW_jenozKc'])
ydl_opts 配置可以在YoutubeDL.py中找到,for example
ydl_opts = {
##Download best format available but not better that 720p
'format': 'bestvideo[height<=720]+worstaudio[ext=m4a]/best[height<=720][ext=mp4]',
'merge_output_format': 'mp4',
'outtmpl': './download/%(title)s.%(ext)s',
# # 'postprocessors': [{
# # 'key': 'FFmpegExtractAudio',
# # 'preferredcodec': 'mp3',
# # 'preferredquality': '192',
# # }],
# # 'logger': MyLogger(),
# #'progress_hooks': [my_hook],
}
百度云盘同步工具bypy安装及其使用
- github地址 : bypy
利用pip安装bypy
- 通过pip安装
pip install bypy
bypy对百度云盘授权
第一次使用需要对百度云进行授权,运行任意命令即可进入百度云盘授权过程,通过给出url得到百度云盘的授权码.
如果需要重置授权,运行bypy -c
即可进入重置授权
bypy命令行使用
显示在云盘(程序的)根目录下文件列表:bypy list
把当前目录同步到云盘:bypy syncup
or bypy upload
把云盘内容同步到本地来:bypy syncdown
or bypy downdir /
比较本地当前目录和云盘(程序的)根目录:bypy compare
bypy代码运行
在python代码中运行bypy
import bypy
by = bypy.ByPy()
by.syncup(fromdir,todir)