如何利用爬蟲獲取58同城招聘頁面的實時數據?
爬取58同城招聘信息時,常常遇到一個難題:頁面顯示的申請人數和瀏覽人數實時更新,但網頁源代碼卻顯示為0。然而,瀏覽器開發者工具(F12)中的Elements面板卻顯示了正確的數據。這是因為58同城使用了ajax技術異步加載數據。本文將指導您如何獲取這些動態數據。
問題分析
以北京某醫療崗位為例,頁面實時顯示申請和瀏覽人數,但源代碼中數據始終為0,而F12的Elements面板數據與頁面一致。直接從源代碼提取數據行不通。
解決方法
頁面數據通過AJAX請求異步加載,我們需要找到并抓取這些請求的json數據。
經分析,58同城使用特定API接口提供這些數據。例如:
https://statisticszp.58.com/position/totalcount/?infoId=27988...
該接口返回JSON數據,例如:
{ "deliveryCount": 1141, "commentCount": 0, "infoCount": 4, "resumeReadPercent": 0, "referUrl": "", "nextUrl": "null" }
其中”deliveryCount”代表申請人數,”infoCount”代表瀏覽人數。
操作步驟
- 定位AJAX請求: 使用瀏覽器開發者工具(F12),在Network面板中找到與頁面動態數據相關的AJAX請求。
- 發送API請求: 使用爬蟲工具(例如python的requests庫)發送GET請求到上述API接口。
- 解析JSON數據: 從返回的JSON數據中提取”deliveryCount”和”infoCount”字段,即為實時申請人數和瀏覽人數。
通過以上步驟,即可成功獲取58同城招聘頁面實時申請和瀏覽人數數據。 請注意,infoId參數需要根據目標招聘頁面進行替換。 為了避免對服務器造成過大壓力,請控制爬取頻率。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END