如何爬取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 分享