實(shí)用的開源百度云分享爬蟲項(xiàng)目yunshare - 安裝篇

今天開源了一個(gè)百度云網(wǎng)盤爬蟲項(xiàng)目,地址是https://github.com/callmelanmao/yunshare。

百度云分享爬蟲項(xiàng)目

github上有好幾個(gè)這樣的開源項(xiàng)目,但是都只提供了爬蟲部分,這個(gè)項(xiàng)目在爬蟲的基礎(chǔ)上還增加了保存數(shù)據(jù),建立elasticsearch索引的模塊,可以用在實(shí)際生產(chǎn)環(huán)境中,不過web模塊還是需要自己開發(fā)

安裝

安裝node.js和pm2,node用來運(yùn)行爬蟲程序和索引程序,pm2用來管理node任務(wù)

安裝mysql和mongodb,mysql用來保存爬蟲數(shù)據(jù),mongodb用來保存最終的百度云分享數(shù)據(jù),這些數(shù)據(jù)是json格式的,用mongodb保存更方便。

git clone https://github.com/callmelanmao/yunshare
cnpm i

推薦使用cnpm命令安裝npm依賴,最簡(jiǎn)單的安裝方式

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

更多安裝cnpm的命令可以去npm.taobao.org上面找。

初始化

爬蟲數(shù)據(jù)(主要是url列表)都是保存在mysql數(shù)據(jù)庫的,yunshare使用sequelizejs做orm映射,源文件在src/models/index.js,默認(rèn)的mysql用戶名和密碼都是root,數(shù)據(jù)看是yun,你需要手動(dòng)創(chuàng)建yun數(shù)據(jù)庫

create database yun default charset utf8

密碼根據(jù)自己需要進(jìn)行修改,完成mysql配置之后就可以運(yùn)行下面的命令

gulp babel
node dist/init.js

注意必須先運(yùn)行gulp babel把es6代碼編譯成es5,然后運(yùn)行初始化腳本導(dǎo)入初始數(shù)據(jù),數(shù)據(jù)文件在data/hot.json,里面,是從頁面 http://yun.baidu.com/pcloud/friend/gethotuserlist?type=1&from=feed&start=0&limit=24&bdstoken=ac95ef31d3979f6ee707ef75cee9f5c5&clienttype=0&web=1 保存下來的。

啟動(dòng)項(xiàng)目

yunshare使用pm2進(jìn)行nodejs進(jìn)程管理,運(yùn)行pm2 start process.json啟動(dòng)所有的后臺(tái)任務(wù),檢查任務(wù)是否正常運(yùn)行可以用命令pm2 list,正常運(yùn)行的應(yīng)該有4個(gè)任務(wù)。

啟動(dòng)elasticsearch索引

elasticsearch索引程序也已經(jīng)寫好了,mapping文件在data/mapping.json,請(qǐng)確保你已經(jīng)安裝elasticsearch 5.0的版本之后才運(yùn)行索引程序,命令pm2 start dist/elastic.js。

默認(rèn)的elasticsearch地址是http://localhost:9200,如果你需要修改這個(gè)地址,可以在src/ElasticWorker.js里面修改,修改任何js源碼之后記得運(yùn)行gulp babel,在重啟pm2任務(wù),不然修改是不會(huì)生效的。

在完成elasticsearch配置之后,你也可以在process.json里面添加一項(xiàng)elastic任務(wù),這樣就不需要單獨(dú)啟動(dòng)索引程序了。

DEMO

嗶哩搜索

下一篇接著介紹整個(gè)項(xiàng)目的整體設(shè)計(jì)思路和開發(fā)過程中遇到的問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容