0%

104 人力銀行 相關工作關聯圖

104 人力銀行 相關工作關聯圖

本篇文章對應到 GitHub 中的 mlgzackfly/104-analysis 專案。

最近在 104 上找了工作,注意到他們有一個網頁是用來進行應徵分析的,主要供求職者查看應徵相同工作的人數佔比。

如下圖所示:
應徵分析

透過瀏覽器的開發者工具,可以看到在獲取這個頁面時,會從下面的網址獲取資料:

1
https://www.104.com.tw/jb/104i/applyAnalysisToJob/all?job_no=13601415

其中,job_no 是該工作的唯一編號。

詳細資訊

在性別 (sex) 部分,可以看到男性總共有 10 人,而女性總共有 4 人,但網頁上並不直接顯示正確的人數。

至此,這是我最初計劃的工作相關應徵者分析。我希望能夠使用 104 提供的人數等資訊來分析應徵者的資訊等。但後來我注意到了其他連結,例如:

  1. 工作內容
    https://www.104.com.tw/job/ajax/content/83ix3

  2. 相關工作
    https://www.104.com.tw/job/ajax/similarJobs/83ix3

相關工作回傳

由於工作內容主要是將該工作的內容爬下來,以目前的需求來說還不需要爬取 104 上完整工作內容,因此作廢。
再來則是相關工作的部分,雖然 104 上會顯示相關工作,但也只是將連結放在那,不如我們就使用他的演算法將相關工作製作成一個關聯圖,讓求職者知道某些工作往外延伸還能有哪些特別的。


製作

要製作關聯圖,我們將使用以下套件:

  • requests 套件:用於獲取網路資源,包括從 104 人力銀行獲取工作相關數據。
  • networkx 套件:用於建立和操作關聯圖,以呈現工作之間的相關性。
  • matplotlib 套件:用於繪製關聯圖,使其更容易理解和視覺化。

接下來,我們將簡要介紹如何使用這些套件來製作關聯圖:

使用 requests 獲取工作相關數據

我們首先使用 requests 套件向 104 人力銀行的網站發送請求,以獲取工作相關數據,例如相關工作的連結。這些數據將用於構建我們的關聯圖。

使用 networkx 建立關聯圖

一旦我們獲得了相關工作的連結,我們將使用 networkx 套件來建立一個關聯圖。我們可以定義工作之間的關聯規則,例如相同公司或相似職位,然後使用這些規則建立圖形。

使用 matplotlib 繪製關聯圖

最後,我們將使用 matplotlib 套件來繪製我們的關聯圖,以使其更具可視性。這將幫助求職者了解不同工作之間的相關性,並有助於他們做出更好的職業選擇。

成果展示

目前的展示計劃中,希望透過顏色區分關聯度,淺色表示關聯度低,但目前尚未完成這一部分。

成果展示

問題

在進行關聯圖製作的過程中,面臨以下問題:

  1. 線條過於複雜,當節點過多時,難以區分線條是連接哪兩個節點的。
  2. 顏色區分不夠明確,需要最佳化的色彩方案。
  3. 一些工作名稱太長,導致文字重疊問題,需要解決這個排版問題。