本日开源了一个百度云网盘爬虫项目,地点是https://github.com/callmelanmao/yunshare。
百度云分享爬虫项目
github上有好几个如许的开源项目,然则都只提供了爬虫部份,这个项目在爬虫的基础上还增加了保留数据,竖立elasticsearch索引的模块,能够用在现实临盆环境中,不过web模块照样须要本身开辟
装置
装置node.js和pm2,node用来运转爬虫顺序和索引顺序,pm2用来治理node使命
装置mysql和mongodb,mysql用来保留爬虫数据,mongodb用来保留终究的百度云分享数据,这些数据是json花样的,用mongodb保留更轻易。
git clone https://github.com/callmelanmao/yunshare
cnpm i
引荐运用cnpm敕令装置npm依靠,最简朴的装置体式格局
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
更多装置cnpm的敕令能够去npm.taobao.org上面找。
初始化
爬虫数据(主假如url列表)都是保留在mysql数据库的,yunshare运用sequelizejs做orm映照,源文件在src/models/index.js
,默许的mysql用户名和暗码都是root,数据看是yun,你须要手动建立yun数据库
create database yun default charset utf8
暗码依据本身须要举行修正,完成mysql设置以后就能够运转下面的敕令
gulp babel
node dist/init.js
注重必须先运转gulp babel
把es6代码编译成es5,然后运转初始化剧本导入初始数据,数据文件在data/hot.json
,内里,是从页面 http://yun.baidu.com/pcloud/f… 保留下来的。
启动项目
yunshare运用pm2举行nodejs历程治理,运转pm2 start process.json
启动一切的后台使命,搜检使命是不是一般运转能够用敕令pm2 list
,一般运转的应该有4个使命。
启动elasticsearch索引
elasticsearch索引顺序也已写好了,mapping文件在data/mapping.json
,请确保你已装置elasticsearch 5.0的版本以后才运转索引顺序,敕令pm2 start dist/elastic.js
。
默许的elasticsearch地点是http://localhost:9200,假如你须要修正这个地点,能够在src/ElasticWorker.js
内里修正,修正任何js源码以后记得运转gulp babel
,在重启pm2使命,不然修正是不会见效的。
在完成elasticsearch设置以后,你也能够在process.json内里增加一项elastic使命,如许就不须要零丁启动索引顺序了。
DEMO
下一篇接着引见全部项目的团体设想思绪和开辟过程当中碰到的题目。