Python爬取Boss直聘时遇到问题,如何解决?

想爬全站,由于 boss 的职位只显示 10 页,超过 10 页的请求返回的数据还是第十页的,所以按城市、行业、职位、学历等做了分类。
可是遇到了新的问题,在小城市的职位页面中,职位数据比较少,boss 的后台给返回了省会城市的职位数据,两种职位还不是有序的,是混合交叉着展示的。这样,就无法判断当前搜索条件下的数据是否抓完。
我就改做了其他尝试,比如城市参数固定为全国,先按行业职位筛选出不足 10 页的链接保存起来,超过 10 页的再按学历分类,将其中超过 10 页的再按月薪细分。。。依此类推直到所有分类条件选择的职位总量不超过 10 页,这样保证了数据不足 10 页时不会有什么无关数据的扰乱
可是这样又导致了在筛选条件这一步浪费了很多请求,比如,行业+职位筛选只有 3w 个请求,下一步加上学历就成了 15w 个请求,再下一步筛选更多,这个用于筛选职位数量的请求全部加一起就变的很大。。。
boss 上又没能找到 51job 类似的现成的企业名单链接,也不像拉钩,拉钩虽然没有企业名单,但是企业页面链接参数是数字,大可以 for 循环筛选公司。
这就卡住我了,按城市分类时,会遇到无序的省会数据,无法保证当前的 10 页数据,是因为分类不完全导致没有抓完,还是因为已经抓完但是有省会数据的干扰;按全国分类时,会增加很多的筛选请求;按企业分类找不到入口。。。
有人提些建议吗?
Python爬取Boss直聘时遇到问题,如何解决?


9 回复

爬虫有个常识:M 站的接口通常限制比较少,数据结构简单。
https://www.zhipin.com/mobile/jobs.json?page=30&size=10


我无法理解你的问题。

额,爬 app ?我看一下,还没抓过手机端

不是 app,是 M 站,也就是移动端网页,你可以在浏览器控制台,切换到移动端设备,刷新下页面就能看到。

学到了~看了下,这种页面的省会职位数据是排在当前城市后面的,做一下判断我的问题就可以解决了。(^_^)谢谢大佬

如果 app 里 可以切换到 10 页以后,你抓取也应该可以阿

app 手动翻好像没限制,嘛,我还是去试试吧

app 加密的

楼主问题解决了吗?我移动端爬到 60 页就没了,这是被封 IP 了吗?

回到顶部