想请教一个问题,爬 boss 直聘时遇到的

2018-10-12 15:50:11 +08:00
 a65420321a
想爬全站,由于 boss 的职位只显示 10 页,超过 10 页的请求返回的数据还是第十页的,所以按城市、行业、职位、学历等做了分类。
可是遇到了新的问题,在小城市的职位页面中,职位数据比较少,boss 的后台给返回了省会城市的职位数据,两种职位还不是有序的,是混合交叉着展示的。这样,就无法判断当前搜索条件下的数据是否抓完。
我就改做了其他尝试,比如城市参数固定为全国,先按行业职位筛选出不足 10 页的链接保存起来,超过 10 页的再按学历分类,将其中超过 10 页的再按月薪细分。。。依此类推直到所有分类条件选择的职位总量不超过 10 页,这样保证了数据不足 10 页时不会有什么无关数据的扰乱
可是这样又导致了在筛选条件这一步浪费了很多请求,比如,行业+职位筛选只有 3w 个请求,下一步加上学历就成了 15w 个请求,再下一步筛选更多,这个用于筛选职位数量的请求全部加一起就变的很大。。。
boss 上又没能找到 51job 类似的现成的企业名单链接,也不像拉钩,拉钩虽然没有企业名单,但是企业页面链接参数是数字,大可以 for 循环筛选公司。
这就卡住我了,按城市分类时,会遇到无序的省会数据,无法保证当前的 10 页数据,是因为分类不完全导致没有抓完,还是因为已经抓完但是有省会数据的干扰;按全国分类时,会增加很多的筛选请求;按企业分类找不到入口。。。
有人提些建议吗?
3773 次点击
所在节点    Python
8 条回复
youzipi
2018-10-12 16:14:07 +08:00
爬虫有个常识:M 站的接口通常限制比较少,数据结构简单。
https://www.zhipin.com/mobile/jobs.json?page=30&size=10
a65420321a
2018-10-12 16:30:34 +08:00
@youzipi 额,爬 app ?我看一下,还没抓过手机端
youzipi
2018-10-12 16:33:21 +08:00
@a65420321a 不是 app,是 M 站,也就是移动端网页,你可以在浏览器控制台,切换到移动端设备,刷新下页面就能看到。
a65420321a
2018-10-12 17:28:07 +08:00
@youzipi 学到了~看了下,这种页面的省会职位数据是排在当前城市后面的,做一下判断我的问题就可以解决了。(*^_^*)谢谢大佬
crisewng
2018-10-12 17:32:11 +08:00
如果 app 里 可以切换到 10 页以后,你抓取也应该可以阿
a65420321a
2018-10-12 18:00:34 +08:00
@crisewng app 手动翻好像没限制,嘛,我还是去试试吧
dengtongcai
2018-10-12 18:20:09 +08:00
app 加密的
bigccz
2018-12-26 15:04:09 +08:00
楼主问题解决了吗?我移动端爬到 60 页就没了,这是被封 IP 了吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/497086

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX