videoSpider分布式视频信息爬虫
分布式视频信息爬虫,从豆瓣,bilibili等收集电视剧、电影、动漫、演员等信息,
使用:requests 发送请求,BeatufulSoup解析html,SQLAlchemy 作为ORM,Alembic数据库版本控制。
使用:协程(gevent)+多进程,分布式(Celery)
安装
首先因为选择使用使用lxml解析html,安装lxml库前需要安装相关c库
sudo apt-get install libxml2-dev libxslt-dev python-dev
sudo apt-get build-dep python3-lxml
注意用python3
virtualenv tv -p python3
. tv/bin/activate
git clone https://github.com/billvsme/videoSpider
cd videoSpider
pip install -r requirements.txt
用法
注意使用python3首先,设置配置config.ini
cp config/config_dev.ini config/config.ini
vim config/config.ini
config_dev.ini默认配置,可以运行,最好自己修改一下(例如celery的后端)。
[database]
database_url = sqlite:///tv.db #数据库
test = false #是否输出SQLAlchemy 信息
[photo]
path = ./photo #下载图片存放等位置
[qiniu] #七牛的配置
access_key = xxxx
secret_key = xxxx
bucket_name = xxxx
[celery] #celery 配置
backend = db+sqlite:///celery_backend.sqlite
broker = sqla+sqlite:///celery_borker.sqlite
然后生成数据库
alembic upgrade head
然后运行Celery
celery -A tasks worker --loglevel=info
抓取电影,电视剧,动漫信息(视频)
python start.py video
抓取演员信息
python start.py celebrity
下载电影,电视剧,动漫,演员的图片到本地(大概需要10个小时,40G)
python start.py down-image
发布图片到七牛
python start.py upload-image
创建Whoosh索引
python start.py whoosh
评论