40 行代码拿下拉勾网招聘数据
# 点击图片报名上海、南京源创会 #
摘要: 最近在学MapReduce,出于练手的想法,把拉钩网上的招聘信息拿下做一次分析。
环境:
ubuntu : 16.04
python : 3.5.2
scrapy : 1.3.3
编辑器 : vim
分析拉勾网(http://www.lagou.com):
可以看到在左侧有着各行各业的招聘信息,今天就把各行各业的招聘都给拿下来。
创建一个scrapy爬虫项目:
使用基本(basic)模板创建一个蜘蛛(spider):
整个项目目录结构如下:
配置settings.py文件:
设置请求头(可以根据自己需要设置):
配置ITEM_PIPELINES优先级:
'''爬太快对人家网站不太好'''',所以设置我设置0.5一次:
最后配置图如下
编写items.py文件(item文件定义抓取数据格式):
因为这里只需要职位的序号,薪水,公司名称,职位名称,公司位置。所以items编写如下
用firefox里面的Firebug工具分析主页(http://www.lagou.com)左侧的的方向网址:编写代码获取各个方向的网址
因为存在一些url是"javascript:;"
所以用下面的if进行判断:
获取各方向网址:
对每一个方向的页面进行抓取:
例如:
针对这种页面编写代码如下:
将存储数据到文件中(pipelines.py是存储数据的一个模块,你可以设置将数据存储到数据库,也可以存储到文件中):
至此爬虫代码完成
接着运行爬虫:
结果:
这里我抓了大概三万条信息,欢迎大牛前来指教。。。
项目地址:https://git.oschina.net/nanxun/lagou.git
MySQL 8.0 新增复制功能;TensorFlow 1.1.0 添加部分语言的安装指南 | 软件周刊