网页源码解析 – 智联招聘信息页面

根据招聘列表里面跳转过来的详细招聘信息页面。爬虫再根据这里进行关键信息提取。
相比于搜索列表页来说,这页内容很简单,而我们需要的也不多。
不过需要注意的是,这里在职业信息之外还需要额外收集企业信息。
虽然另外有专门的代码跳转到企业主页去搜集信息,但是阅读源码后发现,每家VIP企业都可以自己定制网页,因此获取基本信息不方便。
所以企业基本信息要在这一页就收集齐(基本信息和企业主页里是完全一样的)。
下面开始简单分析下各处源码。

职位的头信息

销售、销售总监阿尔卡特数据、语音交换机(金牌代理商)

上海巨优信息科技有限公司

五险一金年底双薪绩效奖金年终分红带薪年假节日福利通讯补贴交通补助

可以直接用class*=\"inner-left\"对头信息进行定位,然后在其中用h1标签为职位名称,h2标签为公司名称,class=\"welfare-tab-box\"为福利信息。

职位基础信息

  • 职位月薪:8001-10000元/月
  • 工作地点:北京
  • 发布日期:2015-12-12
  • 工作性质:全职
  • 工作经验:1-3年
  • 最低学历:大专
  • 招聘人数:1人
  • 职位类别:销售经理

基础信息定位很简单,class^=\"terminal-ul\"就够了。但是其中的每个信息没有标记,就只能用中文名称或者是顺序定位了。
信息内容全包含在strong标签里。

企业基本信息

上海巨优信息科技有限公司

定位的话,直接找到class中含有terminal-company的ul标签,然后按照li标签的顺序或者按照中文文字匹配到企业基本信息。

职位描述信息

任职要求:

1、1年以上IT行业的售经验,以通讯产品及服务器产品为主;
2、熟悉Siemens,NEC, Panasonic,Alcatel等PBX 机型,具有VOIP组网的相关销售经验;具备专业客户销售技巧;擅长与客户交流并能迅速整合客户所需资源;
3、熟悉思科、华为、Alcatel等数据交换机,具有相关销售经验;具备专业客户销售技巧;擅长与客户交流并能迅速整合客户所需资源; 
4、具备良好人际交往、市场策划、方案演讲、商务谈判,有强烈的赢单欲望,乐于陌生人交流,善于沟通,性格稳重、勤奋,能够承受较大销售业绩压力。
5、有销售同类语音交换机PBX、数据交换机 产品经验者优先。

岗位职责:

1、负责本地区维护老客户,拓展新市场,建立与扩大销售网络,提升销售业绩,完成总部或分公司交付的销售任务;
2、建立和维护本地区的客户关系,树立良好的公司口碑和品牌形象;
3、负责项目投标的运作,包括商务文件的起草和整个标书的制作与审定;负责商务合同的起草、签署和项目收款工作;
4、高标准地为客户提供优质服务和妥善处理客户投诉,以提高客户的满意度;
5、不断学习新知识与新技术,提升自身的专业能力与职业素质;
 
工作地点: 北京
工作地址:

北京市丰台区南三环西路16号搜宝商务中心2号楼2608室  查看职位地图

这个也好说,直接找到class=\"tab-inner-cont\",然后自动排除所有标签,只获取文本信息就够了。
需要注意的是,源码里有2个class为tab-inner-cont的div,第1个是职位描述,第2个是企业简介。

企业简介

上海巨优信息科技有限公司该公司其他职位

    上海巨优信息科技有限公司是一家专业的企业通信设备供应商及产品服务商,提供包括语音、数据、多媒体等各类专网设备。公司为各种类型的企业提供适用的通信及数据网络融合方案:宾馆、医院、大、中型企业、小型商务办公、政府机关等。
    巨优信息是法国阿尔卡特朗讯公司企业通信系统全国金牌代理商,同时也是华为、HP、思科等IT国际知名品牌的核心合作伙伴。
    公司拥有一支经阿尔卡特认证的工程师团队,其中多名工程师同时拥有思科、华为的认证证书。专业的管理、专业的人才,构建了专业的客户培训服务体系,专业的品质与完善的服务保障体系为公司赢得了长期友好合作的客户伙伴。公司技术部以其雄厚的技术实力、丰富的方案实施经验为用户提供多种类型的语音通信、组网、IP统一通信、数据网络等方案的设计与集成服务,并为用户提供端到端的全面解决方案。
    我司自成立以来,业务发展迅速,业务已分布至全国各地,有效地增强了我司在中国大陆地区的客户综合服务能力。集售前、售中、售后服务于一身的营销服务网络,为用户提供了全面周到的专业化服务。与此同时,我司拥有遍布全国各地的客户资源及核心合作伙伴,并且造就了出色的销售团队。
    巨优科技与世界最先进通讯技术同步,为国内商业用户提供一流的产品技术及服务品质,我们的理念是“客户至上、勇于创新、精诚合作、尽职尽责!”
    巨优科技一贯秉承“创新、开拓、最佳性价比的产品;诚挚服务快速成长性的市场;矢志成为一流的通信公司”的宗旨,不断推出符合市场发展趋势的特色产品,信守不断创新和帮助客户成功的核心价值观。 
 

上面说过了,职位描述的class也为tab-inner-cont,所以获取的时候按顺序取值就好了。

网页源码解析 – 企业主页

智联招聘的企业主页分为2种:普通主页和VIP主页。VIP主页是智联招聘里唯一能够让企业自己定制的页面了。
这也就形成了千奇百怪的源码,分析起来并不容易。不过好在企业的基本信息,在招聘页面就已经获得了。
剩下唯一需要的信息就是企业的所有招聘信息了,也是非常重要的地方。
招聘信息在2种不同主页中,在源码中也分为了2种构建方式:

  • 普通主页:正常的tag循环陈列

  • VIP 主页:在javascript中以list列表变量形式储存,并动态显示出来。

不过说回来,这也是不确定的解析,因为变化太多了,我只是随机打开了一些页面参考,不能代表全部。其实,最好的方法是在搜索页面直接按公司名称搜索,就得到他所有的招聘信息了。

那么下面开始进行2种源码的分析。

普通企业主页

职位名称 公司名称 职位月薪 工作地点 发布日期

数据库工程师 民信阿里信息咨询(北京)有限公司 15001-20000元 北京 2015-12-12
地点:北京 公司性质:民营 公司规模:1000-9999人 经验:3-5年 学历:本科 职位月薪:15001-20000元

岗位职责:
 1、公司核心数据库的管理,保证数据库正常运转和数据的安全;包括安装、配置、升级,数据备份、恢复,性能监控分析调优等;
2、参与开发设计,负责数据结构设计;
3、负责公司数据仓库的建设。 任职要求:
 1、具有三年以上MySQL工作经验;
2、精通MySQL数据库的运行机制和体系架构;
3、精...

可以看到,大容器是class中含有positionList的div。其中每条招聘信息都是class=\"positionListContent\"的div,职位链接其实非常好找,找到class=\"jobName\"的span标签获取其下a链接的href地址就好了。

VIP企业主页

实际上VIP企业主页也不全都是以下的构建方式,发现了一些少数的大公司,会完全不一样,通过代码来看,是真没什么办法的。。。

可以看到,该企业所有的招聘信息都存在Javascript脚本中的叫arrJobList的变量里了。变量的格式为:arrJobList=[[第1条招聘信息],[第2条招聘信息]],是列表嵌套列表。而每条招聘信息数据的内容为:[\"职位名称\",\"招聘网址\",\"所在地点\",\"城市代码\",\"行业名称\",\"行业代码\",\"企业名称\",\"企业代码\",\"发布日期\",\"0\",\"未知编号\"]
其实这个地方,难点就在于怎么在python中获取Javascript脚本中的变量……