實用的開源百度云分享爬蟲項目yunshare - 安裝篇
今天開源了一個百度云網盤爬蟲項目,地址是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/yunsharecnpm?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/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:9200,如果你需要修改這個地址,可以在src/ElasticWorker.js里面修改,修改任何js源碼之后記得運行gulp babel,在重啟pm2任務,不然修改是不會生效的。
在完成elasticsearch配置之后,你也可以在process.json里面添加一項elastic任務,這樣就不需要單獨啟動索引程序了。
DEMO
嗶哩搜索
下一篇接著介紹整個項目的整體設計思路和開發過程中遇到的問題。
updated at 2020-02-07.
Node.js 爬蟲
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。