解答思路
我一直提倡的是 學(xué)以致用或粮,知行合一,所以當我們學(xué)習(xí)和儲備技能的時候應(yīng)該要和市場相結(jié)合捞高,準確的說應(yīng)該是人才市場被啼。
要了解人才市場有個非常簡單的方法——招聘網(wǎng)站。我們上招聘網(wǎng)站搜一搜棠枉,看看企業(yè)在招聘的時候都有哪些技能需求就一目了然了。
可問題就是數(shù)據(jù)那么多泡挺,如果只抽取部分做參考不夠準確辈讶,一個個去看又效率太低。
我覺得身為開發(fā)人員最大的優(yōu)勢就是 可以用代碼等技術(shù)手段定制所需的工具娄猫。所以我們只需要寫一段爬蟲代碼贱除,把招聘網(wǎng)站上的數(shù)據(jù)“同步”到數(shù)據(jù)庫,然后進行統(tǒng)計分析媳溺,就可以進行有的放矢地學(xué)習(xí)了月幌。先看一下統(tǒng)計分析結(jié)果:
動手實踐
以個人比較喜歡的某招聘網(wǎng)站為例。
網(wǎng)頁分析
搜索“前端”,人往高處看齊悬蔽,我們添加一個過濾條件“25k-50k”扯躺,看看市場對高級前端的要求。同時按下F12打開調(diào)試,發(fā)現(xiàn)這里發(fā)送了ajax請求(凡事有利有弊录语,前后端分離雖然開發(fā)效率提高了倍啥,但同時也為爬蟲程序降低了難度)。
補充一下:一般分兩種情況:json數(shù)據(jù)和html頁面澎埠,本文兩種情況皆有涉及虽缕。
通過列表我們只能知道公司和職位,點擊鏈接跳轉(zhuǎn)到詳情頁看到我們想要的信息:崗位職責(zé)和要求蒲稳。
這里沒有看到ajax請求氮趋,應(yīng)該是后端利用模板直接生成的靜態(tài)頁面,所以需要解析html江耀,會略微麻煩一些剩胁。
編寫代碼
整個編碼的思路變得很清晰了:
1.分頁查詢職位列表
用request模塊發(fā)送get請求,獲取json數(shù)據(jù)决记,然后按照id查詢html摧冀。
2.按職位查詢詳情并入庫
用jsdom模塊對獲取的html進行dom解析,這個模塊很容易上手系宫,可用jquery語法索昂。
將解析的數(shù)據(jù)過濾,保留崗位職責(zé)和要求信息扩借,利用mongoose保存至數(shù)據(jù)庫椒惨。
3.從數(shù)據(jù)庫中查詢結(jié)果
查詢統(tǒng)計各技能占比。結(jié)果如開頭截圖所示潮罪。
覺得文章有用的康谆,關(guān)注一下微信公眾號:zhiheguoqiang