簡單的招聘資訊圖表分析

x007xyz發表於2018-02-17

準備年後出門找工作,上招聘網站瀏覽了一下,發現瀏覽招聘資訊很難得到我想要的資訊,於是就有了這個專案。

需求

三年時間自己創業,基本是要用什麼就學,導致現在個人的技術棧十分的雜亂,所以我想要知道不同職位(當前)的就業情況和薪資水平。

其次,具體要去哪個城市也還沒有確定,所以想知道城市之間相同職位的薪資水平。

最後是對於招聘資訊要求技術棧的分析,希望通過分析企業的招聘資訊的具體資訊,提取關鍵字,分析出職業相關技術的熱度。

使用技術

也算是抱著學習新技能的心態去寫的,所以大部分都是本人最近沒有使用過的技術或沒有學習過的技術:

  1. 後端 koa(一直在使用 express,egg 也使用過,koa 居然直接跳過了,補一波)
  2. 資料庫本來是使用 mongodb 的,但是發現其實沒有必要使用資料庫。
  3. 模板引擎 arttemplate
  4. 前端就直接匯入 Boostrap 和 jQuery,這個是真的好久不見了,使用慣了 MVVM 框架,再寫 jQuery,憶苦思甜啊!
  5. 分詞 jieba,這個最後還是出了點問題,導致第三個需求沒法完成了。
  6. 還有簡單的 node 爬蟲,就是用 superagent+cheerio 實現了。
  7. 圖表 highchart

實踐過程

step.1 爬取資料

確定需要的資訊為:職位名稱、職位月薪、工作地點、詳情連結,f12 檢視頁面結構,讀取頁面後使用 cheerio 獲取需要的資訊。程式碼在 getData.js 中,具體可以參考10 分鐘教你擼一個 nodejs 爬蟲系統

step.2 處理資料

分析薪資結構,我直接以 1 萬與 1.5 萬劃分為上中下三部分,對於獲取的資料做簡單的判斷統計,就可以了。展示形式為餅圖。

step.3 資料對比

可以同時獲取不同的職位或不同城市的資訊,並列顯示,不過以餅圖顯示,可以看出薪資分佈情況但是要比較數量就很不直觀了。所以將已查詢到的職位資訊數量放到同一張條形圖中,進行對比。

step.4 關鍵詞技術名詞分析(未完成)

原本的思路是使用結巴分詞,獲取關鍵詞,結果發現招聘詳情的關鍵詞是‘js’‘前端’‘服務端’,具體的技術名詞多隻出現一次,是自己想法上出現偏差,把自己關注的詞當做是文字的關鍵詞了。現在應該先分析出那些是技術名詞,然後作為字典去分析權重。如何分析技術名詞這個沒有思路,最直接的方法應該是直接 Google 得到相應的字典,但是沒有找到,這個功能就暫時放棄了,等有了好的方法再完成。

更多思考

  1. 關於資料庫:現在每次使用查詢都是先去爬取網頁,這個的好處是每次都能獲取到最新的資料,但是每次都耗費了相對的時間,理想的情況應該是每次查詢時,查詢預先獲取的資料,這樣查詢就不會出現時間過長的問題,而伺服器每隔一段時間爬取最新的資料,並且刪除之前的資料;不過這樣就不太可能不限制查詢的職業與城市,資料太多但是伺服器的流量有限,這個功能需要考慮。
  2. 關於不同招聘網站:不同招聘網站的頁面結構可能都不一樣,所以如果要爬取不同網站的資訊只能一個個去設定,但是更困難的問題是去判斷不同網站相同公司相同職業的重複問題,假設相同公司的相同職業,公司名相同,職業名相同,這就比較好處理。不過實際生活中公司應該都會不同網站同時招聘,所以查詢一個招聘網站就應該足夠了。
  3. 關於技術名詞:暫時不知道是否可行,需要更多的思考和資料。

其他

github:github.com/x007xyz/job…

伺服器:http://95.163.201.100:3000

簡單的招聘資訊圖表分析

相關文章