公司网站制作重庆/关键词百度指数查询
程序员找工作,去哪里?拉勾网首选。职位那么多,一个一个看多麻烦,那么你会python的话,此时就是你运用体内python力量的时候了。
这篇文章主要讲述使用python去爬取拉勾网所有的职位招聘信息,针对大多数不熟悉python的观众,这里使用最简单的方法去实现。
里面有很多关于python爬虫的知识,大家也可以去观看。
话不多说,直接上硬菜!
一、关于反爬虫知识解析
从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。这里我们只讨论数据采集部分。
一般网站从三个方面反爬虫:用户请求的Headers,用户行为,网站目录和数据加载方式。前两种比较容易遇到,大多数网站都从这些角度来反爬虫。第三种一些应用ajax的网站会采用,这样增大了爬取的难度。
二、所用工具:
python3,
工具:PyCharm
三、开始
打开网页:
好了,第一步开始,我们需要爬取所有的职位信息,那么首先需要获取到所有的职位名称,我们先查看一下网页源码,打开浏览器的检查,查找我们需要的信息在什么位置:
好了,找到了,下面开始撸代码,获取所有的职位信息,这里使用了python的BeautifulSoup的包,很好用,可以用看来提取网页内容:
这个很简单,也没有什么反爬虫措施,内容也可以直接获取到,需要对获取到的数据进行处理下面重点,我们去查看一下随便一个职位的信息:
哇,信息很多,这要是一个一个翻着看,翻到明年了,此时就是我们这个爬虫的意义存在了,我们先去查看下网页源码:
可能对拉勾网不太熟悉的观众会说:好了,找到了,我们可以向取s职位信息一样去g撸着这个,那么你就大错特错了,拉钩这里还是做了反爬虫的,所有的数据都是通过动态加载的,你直接去撸,会发现什么都获取不到。下面我们去解决这个问题,大家看好别丢了:
一、先打开我们浏览器的调试界面(就是chrome叫“检查”,这个浏览器很好用),点击network
二、然后随便在上面的上选城市筛选条件里面点以一个城市,此时会看到下面,一大堆东西飘过,看不懂啊,没关系,里面大部门对我们是没用的,此时我们对它进行个筛选,只查看我们需要用到的:
三、好了,找到我们需要的了,我箭头指向的文件,这是一个json文件,里面返回的是所有我们需要的信息,我们开始撸它,点击这个文件查看一下:
四、看到没,这些是什么,全都是数据,我们需要的数据,不过,你要是直接选择打开这个页面,你是什么都看不到的,看到的是这个
五、拉钩对这些重要数据,做了一些保护措施,我们先查看一下这个页面的请求信息:
六、上面指示的这些,很重要,都是访问这个请求需要用到的,不然你是得不到数据的,代码如下:
七、仔细观察刚刚得到的数据信息,你会发展只有一页的数据,而真实的数据有许多页,此时就要我们分析页码这个问题:
八、好了,得到了页面数据条数,总数据条数,那么总共多少页就知道怎么算了吧,我们来撸怎么让请求每个页面,实现自动翻页,还记得请求头里的Form data里面有个kn,它的值就是当前页码:
好了,需要的信息都找到了,开始撸代码:
九、处理获取到的数据
十、大概的流程就是这样了,需要自己再对程序代码进行一些整合,大家动手练习一下都是有好处的。爬取结果如下:
最后,大家想获取那些数据可以对代码进行简单修改,我这里没对代码进行封装,主要是为了让大家都能看能逻辑,对python爬虫新手也能看懂,完整代码我已经上传至我的github,大家可以去下载参考一下,以后可能会利用框架写一个分布式的出来,这样能加快爬取效率
谢谢大家。欢迎大家一起学习交流。如有不正确的,欢迎大家进行提出改正。