node.js爬蟲爬取拉勾網(wǎng)職位信息
簡介
用node.js寫了一個簡單的小爬蟲,用來爬取拉勾網(wǎng)上的招聘信息,共爬取了北京、上海、廣州、深圳、杭州、西安、成都7個城市的數(shù)據(jù),分別以前端、PHP、java、c++、python、Android、ios作為關(guān)鍵詞進(jìn)行爬取,爬到的數(shù)據(jù)以json格式儲存到本地,為了方便觀察,我將數(shù)據(jù)整理了一下供大家參考
數(shù)據(jù)結(jié)果

上述數(shù)據(jù)為3月13日22時爬取的數(shù)據(jù),可大致反映各個城市對不同語言的需求量。
爬取過程展示
控制并發(fā)進(jìn)行爬取

爬取到的數(shù)據(jù)文件

json數(shù)據(jù)文件

爬蟲程序
實現(xiàn)思路
請求拉鉤網(wǎng)的 “https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false&city=城市&kd=關(guān)鍵詞&pn=頁數(shù)”可以返回一個json格式的數(shù)據(jù),該數(shù)據(jù)包含所要請求職位的信息,省去了使用chreio解析的麻煩,所以直接用superagent來進(jìn)行請求上述地址,并將數(shù)據(jù)儲存在本地即可,其中參數(shù)city是為城市,kd為所要搜索的關(guān)鍵詞,pn為要請求的頁數(shù),當(dāng)中使用到了async來控制異步流程,使得并發(fā)數(shù)不超過3,防止被封ip。
代碼地址及使用
github:https://github.com/zsqosos/positionAnalysis
代碼請在github上查看,使用該程序需要安裝node環(huán)境,如果覺得還不錯的話煩請給個star,歡迎大家修改使用該程序。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
node.js中的buffer.Buffer.isEncoding方法使用說明
這篇文章主要介紹了node.js中的buffer.Buffer.isEncoding方法使用說明,本文介紹了buffer.Buffer.isEncoding的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下2014-12-12
從Node.js事件觸發(fā)器到Vue自定義事件的深入講解
這篇文章主要給大家介紹了關(guān)于從Node.js事件觸發(fā)器到Vue自定義事件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Node.js連接MongoDB數(shù)據(jù)庫產(chǎn)生的問題
Node.js是使用JavaScript 編寫的可以運行在服務(wù)端的JS語言。node.js和mongodb碰撞會產(chǎn)生一系列問題,下面通過本文給大家分享Node.js連接MongoDB數(shù)據(jù)庫,需要的的朋友參考下2017-02-02
從零開始學(xué)習(xí)Node.js系列教程之基于connect和express框架的多頁面實現(xiàn)數(shù)學(xué)運算示例
這篇文章主要介紹了Node.js基于connect和express框架的多頁面實現(xiàn)數(shù)學(xué)運算,簡單講述了connect和express框架的原理及數(shù)學(xué)運算相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
Node.js和MongoDB實現(xiàn)簡單日志分析系統(tǒng)
這篇文章主要介紹了Node.js和MongoDB實現(xiàn)簡單日志分析系統(tǒng),本文給出了服務(wù)器端、客戶端、圖表生成、Shell自動執(zhí)行等功能的實現(xiàn)代碼,需要的朋友可以參考下2015-04-04
關(guān)于Error:EPERM:operation?not?permitted,mkdir...的幾種解決辦法對比
這篇文章主要給大家介紹了關(guān)于Error:EPERM:operation?not?permitted,mkdir...的幾種解決辦法對比,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-01-01

