当前位置: 代码网 > it编程>前端脚本>Vue.js > 如何在爬取58同城工作页面时获取正确的申请人数和浏览人数?

如何在爬取58同城工作页面时获取正确的申请人数和浏览人数?

2025年03月30日 Vue.js 我要评论
58同城招聘信息爬取:解决申请人数和浏览人数数据不一致问题在爬取58同城招聘页面时,经常遇到一个棘手的问题:网页源代码显示的申请人数和浏览人数与页面实际显示的数据不符,源代码中往往显示为0,而页面实时

如何在爬取58同城工作页面时获取正确的申请人数和浏览人数?

58同城招聘信息爬取:解决申请人数和浏览人数数据不一致问题

在爬取58同城招聘页面时,经常遇到一个棘手的问题:网页源代码显示的申请人数和浏览人数与页面实际显示的数据不符,源代码中往往显示为0,而页面实时更新的数据却与浏览器开发者工具(f12)中的elements内容一致。 这篇文章将探讨如何解决这个问题,获取准确的申请人数和浏览人数。

问题分析:

58同城为了防止数据被恶意爬取,采用了动态加载数据的方式。 页面上的申请人数和浏览人数并非直接从html源代码中获取,而是通过javascript异步加载的。因此,直接解析html源代码无法获得正确的数据。

解决方案:

要获取正确的申请人数和浏览人数,需要找到58同城提供的api接口。 通过分析网络请求,我们可以发现一个用于获取招聘信息统计数据的api接口,其url类似于以下格式:

https://statisticszp.58.com/position/totalcount/?infoid=27988...
登录后复制

其中infoid参数代表具体的职位id,需要根据目标招聘页面的url进行提取。

api返回数据示例:

api接口返回的json数据包含了我们需要的信息:

{
  "deliverycount": 1141,  // 申请人数
  "commentcount": 0,
  "infocount": 4,       // 浏览人数
  "resumereadpercent": 0,
  "referurl": "",
  "nexturl": "null"
}
登录后复制

deliverycount字段表示申请人数,infocount字段表示浏览人数。

实现步骤:

  1. 获取职位id (infoid): 分析目标招聘页面的url,找到职位id对应的参数值。 这可能需要使用正则表达式或其他字符串处理方法。

  2. 构造api请求url: 将提取到的infoid替换到api url模板中,形成完整的api请求url。

  3. 发送api请求: 使用python的requests库或其他http客户端发送get请求到api url。

  4. 解析json数据: 将api返回的json数据解析成python字典,提取deliverycount和infocount的值,即为正确的申请人数和浏览人数。

通过以上步骤,即可绕过58同城网页的动态加载机制,准确获取招聘页面的申请人数和浏览人数数据。 请注意,api接口的地址和参数名称可能会有变化,需要根据实际情况进行调整。 同时,请遵守58同城的robots.txt规则,避免对服务器造成过大压力。

以上就是如何在爬取58同城工作页面时获取正确的申请人数和浏览人数?的详细内容,更多请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com