前些天帮同事爬取一些智联招聘网上的关于数据分析的职位信息,他说要做一些数据分析看看,现在已经帮他爬完了。我本来想用Scrapy来爬的,但是不知道为什么爬取的数据和真实搜到的数据不太一样,比如:搜索到的杭州地区数据分析职位个数有5000左右,但是爬取到的只有4000多点,而且IP一直被ban,免费的IP又不好用,只能说是scrapy 的速度太快了(还是我scrapy框架学的不是很好),所以我索性用requests规规矩矩的爬取,保证速度,爬取的数据质量还不错。我已经给他了数据,可能的话到时候把他的数据分析部分来分享下。
接下来说下思路:
思路
其实你在做完一些常规的反反爬措施之后基本能爬了,这里我关于IP我讲一下:
我主要是爬完一个职位之后睡眠1-3秒,随机选择
p=random.randint(1,3)
time.sleep(p)
其他也没有什么特别的了,我是牺牲了爬取的速度,反正是比较慢的,对多线程、多进程不是很熟,所以就没有用。
实战操作
相关代码已经修改调试成功----2017-4-7
目标网站:智联招聘
实现:对智联招聘上搜索数据分析的职位相关信息的爬取,如职位名称、薪资、工作经验等等。具体看如下图:
数据:我都存放在百度网盘里面 链接:http://pan.baidu.com/s/1i5okiZb 密码:xnig
完整代码详情请移步我的github:https://github.com/pujinxiao/zhilian
作者:今孝
出处:http://www.cnblogs.com/jinxiao-pu/p/6682293.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。