如何解決58同城工作頁面上申請和瀏覽人數顯示為0的問題?

如何解決58同城工作頁面上申請和瀏覽人數顯示為0的問題?

網絡爬蟲工程師經常會遇到網頁源碼與實際顯示內容不符的情況,尤其在58同城等網站的招聘頁面上,申請人數和瀏覽人數顯示為0,但實際頁面卻顯示實時更新的數據。這是因為這些數據通常由JavaScript動態加載,直接抓取源碼無法獲取。

解決方法是利用瀏覽器開發者工具(F12)分析網絡請求。打開58同城招聘頁面,在開發者工具的“Network”選項卡中,篩選XHR請求,找到包含動態加載數據的請求。

例如,一個典型的請求URL可能類似于:

https://statisticszp.58.com/position/totalcount/?infoId=27988...

該請求返回的json數據包含了我們需要的信息:

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

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

因此,我們需要在爬蟲程序中模擬這個XHR請求。以下是一個python示例,使用requests庫:

import requests  url = "https://statisticszp.58.com/position/totalcount/?infoId=27988..."  try:     response = requests.get(url)     response.raise_for_status()  # 檢查請求是否成功     data = response.json()     apply_count = data['deliveryCount']     view_count = data['infoCount']     print(f"申請人數: {apply_count}")     print(f"瀏覽人數: {view_count}") except requests.exceptions.RequestException as e:     print(f"請求失敗: {e}") except KeyError as e:     print(f"JSON數據解析錯誤: 缺少鍵 {e}")

這段代碼模擬了XHR請求,并處理了可能的錯誤,例如網絡請求失敗或JSON數據解析錯誤,從而更穩健地獲取58同城招聘頁面的實時數據。 記住將infoId替換為實際的職位ID。

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