JavaScript 实用的开源百度云分享爬虫项目 yunshare - 安装篇

callmelanmao · November 24, 2016 · 6589 hits

今天开源了一个百度云网盘爬虫项目,地址是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/script/init.js

注意必须先运行gulp babel把 es6 代码编译成 es5,然后运行初始化脚本导入初始数据,数据文件在data/hot.json,里面,是从页面 http://yun.baidu.com/pcloud/friend/gethotuserlist?type=1&from=feed&start=0&limit=24&bdstoken=ac95ef31d3979f6ee707ef75cee9f5c5&clienttype=0&web=1 保存下来的。

启动项目

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:9200src/ElasticWorker.js`里面修改,修改任何js源码之后记得运行`gulp,如果你需要修改这个地址,可以在` babel`,在重启 pm2 任务,不然修改是不会生效的。

在完成 elasticsearch 配置之后,你也可以在 process.json 里面添加一项 elastic 任务,这样就不需要单独启动索引程序了。

DEMO

哔哩搜索

下一篇接着介绍整个项目的整体设计思路和开发过程中遇到的问题。

No Reply at the moment.
You need to Sign in before reply, if you don't have an account, please Sign up first.