利用youtube-dl抓取youtube或者openload视频源文件

 xiezixing @ 2019-01-15 16:03:39

今天闲来无事,就研究了下youtube或者openload能不能写爬虫把视频源文件爬取出来,奈何本事不够,所以最终在google的帮助下找到一个开源的Python编写的爬虫源码-youtube-dl。
源码:github

我们来看看如何将一个openload的视频源文件提取出来。
我们拿到一个iframe加载链接:https://openload.co/embed/2fxu8vQphuc/

第一步、安装youtube-dl

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

上边是linux的安装方法

https://yt-dl.org/latest/youtube-dl.exe

windows就下载上面这个链接,是一个应用程序,下载之后将exe所在目录加入环境变量PATH中。

第二步、安装Python

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

上边是ubuntu的安装办法,如果是其他系统,请百度。

第三步、安装PhantomJS

cd /usr/local/share
sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
sudo tar xjf phantomjs-2.1.1-linux-x86_64.tar.bz2
sudo ln -s /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/share/phantomjs
sudo ln -s /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
sudo ln -s /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/bin/phantomjs

无头浏览器phontmJs,这个工具可以模拟webkit执行,还可以包含更多js库比如jQuery等对页面的js执行进行扩展。是youtube-dl所需的环境。

第四步、安装libfontconfig

sudo apt-get install libfontconfig

因为开始运行youtube-dl的时候出错显示:

error while loading shared libraries: libfontconfig.so

最后google,安装libfontconfig即可。

第五步、命令行获取openload的视频源文件

youtube-dl --get-url --verbose https://openload.co/embed/2fxu8vQphuc/

这个--get-url是获取视频源文件,但是不下载,--verbose是显示debug信息。

最后可以看见很快的就得出了实际源文件:

https://openload.co/stream/vzHrVEsa9-8~1547624640~159.69.0.0~lqCU_tYR?mime=true

最后复制到浏览器中即可预览。

利用这个工具可以很快的扩展云转码中的视频。希望大家喜欢这篇教程文章。