Python爬虫服务器,后端,linux爬虫专题

ubuntu终端内使用youtube-dl下载视频详细教程

2017-08-03  本文已影响314人  梅花鹿数据

一:前言

爬虫中工作需要就把这个教程完成了,分享出来让更多人使用。youtube-dl是一个命令行程序从Youtube和一些更多的网站下载视频。它需要Python(2.6,2.7,或3.2 +),Linux,Mac Windows都可以使用。youtube-dl可以下载youtube上高清的资源,如果遇到喜欢的视频就可以利用这个工具进行下载。

二:shadowsocks代理安装

首先确认当前安装环境,默认是ubuntu的python2环境,如果想使用例如anaconda等第三方环境,需激活环境后安装ss ,这样就可以安装到不同的python环境中。

sudo pip install shadowsocks  # 安装ss
vi /etc/shadowsocks.json      # 修改配置文件

修改按照下面的截图示例即可,填入自己的ss代理服务器帐号和密码。(如果没有就可以搜索一下网上免费的ss代理帐号)


开启ss代理:

sslocal -c /etc/shadowsocks.json

开启后连接情况:


到这里为止我们可以使用ss,配合浏览器的相关设置后浏览器可以使用ss代理浏览相关网站,但是终端无法使用ss代理.
下面两个方法让终端使用ss代理

三:安装proxychains 用于终端https代理

apt-get install proxychains  # 安装proxychains
vi /etc/proxychains.conf     # 修改配置文件

将最后一行改成:

socks5  127.0.0.1 1080

之后就可以使用proxychains来做https的转接了,比如;

proxychains curl ip.cn       #查看当前ip
proxychains wget https://www.youtube.com/   # 测试

四:youtube-dl安装

官网: rg3.github.io/youtube-dl/download.html


安装:

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl

sudo chmod a+rx /usr/local/bin/youtube-dl

youtube-dl 不要使用pip 或者apt-get 安装,因为这样安装的版本可能会比较低,跑程序的时候就会出错。

简单使用:

youtube-dl [url]  # 下载指定链接的视频
youtube-dl --write-sub [url]  # 下载指定链接的字幕

更多功能查看:

youtube-dl -h    # 帮助

详细帮助中文说明:http://www.cnblogs.com/yaoz/p/6870187.html

五:终端http代理的使用

上面youtube-dl需要终端能https代理如果使用http代理就能不到youtube视频资源,但是如果只要终端代理就可以不用proxychains。

下面是polipo http代理的安装使用:

sudo apt-get install polipo  # 安装

cd /etc/polipo/
sudo chmod 777 config    # 为config文件申请最高权限
vi /etc/polipo/config    # 打开进行编辑
# 按照下面代码修改相应内容,如果没有鸠呃加入下面的代码:
socksParentProxy = "localhost:1080"
socksProxyType = socks5
logLevel=4

关闭启动:

sudo service polipo stop
sudo service polipo start

简单使用:

http_proxy=http://localhost:8123 curl ip.cn

这样太麻烦,简单修改相关设置让操作更方便:

vi .bashrc
# 打开后加入下面这句话:
lias dl="http_proxy=http://localhost:8123" 
# 关闭保存后执行:
source ~/.bashrc
# 以后这样使用:
dl curl ip.gs

# 下面是长时间终端使用
export http_proxy=http://localhost:8123 # 当前终端使用代理
unset http_proxy # 当前终端取消代理

六:总结

youtube只是个工具,如果下载单独的几个视频或者下载几个列表的视频还算方便的。但是如果要大规模抓取youtube的资源这样事不够的,我们需要写shell脚本或者python脚本。也很简单,根据需求写脚本开启YouTube抓取之旅。

上一篇 下一篇

猜你喜欢

热点阅读