如何爬取58同城工作頁面中實時的申請和瀏覽人數?

如何爬取58同城工作頁面中實時的申請和瀏覽人數?

許多網頁爬蟲開發者都遇到過這樣一個難題:網頁源代碼與實際顯示內容不符。58同城招聘頁面就是一個典型的例子。 你可能會發現,直接爬取源代碼得到的申請人數和瀏覽人數為0,而頁面上卻顯示著實時更新的數字,且這些數字與瀏覽器開發者工具(F12)中的Elements標簽頁內容一致。這是因為58同城使用JavaScript動態加載數據。

解決方法是分析網絡請求。

步驟:

  1. 打開開發者工具:瀏覽器中打開開發者工具(通常是F12),切換到“網絡”或“Network”選項卡。

  2. 刷新頁面: 刷新58同城招聘頁面,觀察網絡請求。你會發現一個指向類似 https://statisticszp.58.com/position/totalcount/?infoId=27988… 的URL的請求。這個請求返回的數據包含了實時申請和瀏覽人數。 (注意:infoId 部分會根據具體職位而變化)。

  3. 分析json數據: 該請求返回的是JSON格式的數據,例如:

{   "deliveryCount": 1141,   "commentCount": 0,   "infoCount": 4,   "resumeReadPercent": 0,   "referUrl": "",   "nextUrl": "null" }

其中,”deliveryCount” 代表申請人數,”infoCount” 代表瀏覽人數。

  1. 編寫爬蟲代碼: 你的爬蟲代碼需要:
    • 發送請求到 https://statisticszp.58.com/position/totalcount/?infoId=… (替換 … 為實際的 infoId)。
    • 解析返回的JSON數據。
    • 提取 “deliveryCount” 和 “infoCount” 字段的值。

通過這種方法,你的爬蟲就能獲取到58同城招聘頁面上準確的、實時的申請和瀏覽人數,有效避免了直接爬取源代碼帶來的數據不準確問題。 記住,infoId 是動態變化的,你需要根據你目標職位的頁面信息找到正確的 infoId 值。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享