欢迎来到IT培训的黄埔军校——智游教育! 加入收藏 联系我们 0371-88888598  4006-371-555

如何用Python抓取招聘网站信息?

于2018-05-07 10:40:21 发表在技术干货
作为一个技术流,如何在招聘的时候运用上炫酷的技能让找工作效率更高?信息更精准?今天,智游教育的小编为大家带来一篇实实在在的干货:利用Python爬虫抓取智联招聘信息。
希望这篇实用性高、操作性强的小文章助力各位读者大人找到心仪的工作~
 
利用Python爬虫抓取招聘信息之前,您需要做以下准备:
 
运行平台:Windows
Python版本:Python3.6
IDE:Sublime Text
其他工具:Chrome浏览器
 
步骤一网页分析:
首先,分析请求地址
以北京海淀区的“Python工程师”这一职位为例进行网页分析。
在搜索栏输入“Python工程师”,点击搜索。接下来跳转到搜索结果页面,按“F12”打开开发者工具,然后在"热门地区"栏选择"海淀",我们看一下地址栏:
搜索Python工程师 
由地址栏后半部分searchresult.ashx?jl=北京&kw=python工程师&sm=0&isfilter=1&p=1&re=2005可以看出,我们要自己构造地址了。接下来要对开发者工具进行分析,按照如图所示步骤找到我们需要的数据:Request Headers和Query String Parameters :
请求地址 
构造请求地址:
构造请求地址 
请求头:
请求头 
然后,分析有用数据
从搜索结果中我们需要的数据有:职位名称、公司名称、公司详情页地址、职位月薪:
网页元素定位 
通过网页元素定位找到这几项在HTML文件中的位置,如下图所示:
网页元素 
用正则表达式对这四项内容进行提取:
用正则表达式提取内容 
注意:解析出来的部分职位名称带有标签,如下图所示:
带标签的解析内容 
那么在解析之后要对该数据进行处理剔除标签,用如下代码实现:
剔除标签 
 
步骤二写入文件:
我们获取到的数据每个职位的信息项都相同,可以写到数据库中,但是本文选择了csv文件,以下为百度百科解释:
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。
由于python内置了csv文件操作的库函数,所以很方便:
写入文件 
 
步骤三进度显示:
要想找到理想工作,一定要对更多的职位进行筛选,那么我们抓取的数据量一定很大,几十页、几百页甚至几千页,那么我们要掌握抓取进度心里才能更加踏实啊,所以要加入进度条显示功能。
 
步骤四完整代码:
执行完成所有代码以后会在py同级文件夹下会生成名为:zl_北京_python工程师.csv的文件,打开之后效果如下:
完整代码