前程无忧招聘网站(51job)——数据爬取
第一次爬数据这么多的网站,有点小激动╰(*°▽°*)╯╰(*°▽°*)╯
- 进入前程无忧网,在首页的搜索框中,输入大概的职位或公司名称,就能查看需要的职位和公司,但,如果你的搜索输入为空时,它就会查出那个地区的所有记录。如图
2.这时,我们似乎就拿到了全国的所有数据,但是只有2千页,感觉数据不对头,然后我又去看了看广东省的数据,如图:
(╯>д<)╯⁽˙³˙⁾广东省都有2千页,全国怎么也才两千页,ORZ,然后我又去百度了一下,发现网上许多人都只是把这个全国的两千页数据给爬了下来,就没了。
3.但我想要完整的数据,所以就只有去按照城市和省份一个一个的爬取,然后发现在URL上每个地区 都有其对应的数字组合。如图:
4.广东省对应的是030000,江苏省对应的是070000,然后每一页的数据增长也在URL看出了规律,如图:
5.在每增长一页时,URL的那个地方就会加 1,这样的话我们只要找出所有城市省份地区对应的数字组合,再按照这个页数增长就能获取所有数据。
6.但就是这个,找出所有城市省份地区对应的数字组合有点恼火,因为按照笨方法就是去把每一个地区城市都打开一遍,然后把对应的数字组合复制下来,那样虽说也行,但估计我人都要累死,这样就真的成"码农"了。我才不要╭(╯^╰)╮╭(╯^╰)╮
7.所以我就把他的城市选择列表打开,发现他把每次城市对应的数字组合保存在HTML标签属性中的。如图:
8.这样的话,就可以遍历出它所有的
9.我是把每个城市列表都打开一遍,这样它就在HTML中加载出了所有的城市列表,然后我就在控制台中,创建一个空数组,获取父节点,然后遍历子节点的
10.然后在爬取时就按照这个对应关系来就行了。我开了 10 个线程,爬了大概4个小时左右,下面是我的Python源代码:
GitHub地址:https://github.com/potatopeople/recruit
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
