使用Tumblr爬虫,结合h5ai创建私有视频库、图库

Tumblr,内容丰富,特别是图片和视频。下面利用Tumblr爬虫,结合h5ai目录直读程序,或者其他图床程序,创建图库。
CentOS 7自带python 2.7,下面使用CentOS 7和python 2.7,同时结合lamp,使用h5ai创建图库。

一、安装、使用h5ai
1、安装lamp一键安装包

yum -y install wget screen
wget http://mirrors.linuxeye.com/lnmp-full.tar.gz
tar xzf lnmp-full.tar.gz
cd lnmp
screen -S lnmp
./install.sh

安装过程中选择Apache、PHP、Mysql等,其他可不选。

2、创建站点

./vhost.sh

按说明即可。如最后创建的站点为t.sib8.net
详细教程请看:OneinStack:lnmp、lamp、lnmpa一键安装包(支持HHVM)

3、安装h5ai
进入t.sib8.net目录

cd /data/wwwroot/t.sib8.net/
wget https://down.zhujiwiki.com/code/h5ai-0.29-mod.zip
unzip h5ai-0.29-mod.zip

4、修改配置文件

vi /usr/local/apache/conf/vhost/t.sib8.net.conf

DirectoryIndex index.html index.php

改为

DirectoryIndex index.html index.php /_h5ai/server/php/index.php

重启Apache

service httpd restart

5、安装ffmpeg,可预览视频
安装epel扩展源

yum -y install epel-release

安装扩展源:

su -c 'yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm'
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

开始安装

yum -y install ffmpeg ffmpeg-devel

二、使用 tumblr-crawler 爬虫
1、安装可能使用的依赖

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
yum  -y install readline-devel

2、安装tumblr-crawler

cd /data/wwwroot/t.sib8.net/
git clone https://github.com/dixudx/tumblr-crawler.git
cd tumblr-crawler
pip install -r requirements.txt

3、使用tumblr-crawler,下载图片和视频
a、在 sites.txt 中添加tumblr站,如wanimal1983.tumblr.com和ma-tro.tumblr.com
wanimal1983,cncn88
保存后,运行

python tumblr-photo-video-ripper.py

b、直接下载

python tumblr-photo-video-ripper.py wanimal1983,ma-tro

4、所有图片和视频均保存在当前路径的与tumblr博客名字相同的文件夹

5、结合tumblr_spider,获取多个用户和视频地址

三、使用定时任务,自动更新视频和图片

crontab -e

添加

0 */6 * * * python /data/wwwroot/t.sib8.net/tumblr-crawler/tumblr-photo-video-ripper.py

意思是每6小时更新一次。