解析岗位信息页源代码
来自CloudWiki
如图3-5所示,需要抓取岗位信息页上用红框标注出来的信息。方法与上一步中的类似,也是通过分析HTML源码,再利用Xpath语法或者正则表达式去定位相关内容,具体的代码如下:
else if (page.getUrl().toString().startsWith("http://jobs.51job.com/")) {
page.putField("url", page.getUrl().toString());
// 岗位名称
page.putField("job", page.getHtml().xpath("//div[@class='cn']/h1/text()").toString());
// 发布日期
page.putField("createtime", page.getHtml().regex("([^<]+)</span>").toString());
// 岗位描述
page.putField("content", page.getHtml().xpath("//div[@class='bmsg job_msg inbox']/html()").toString());
// 其他可选项
page.putField("salary", page.getHtml().xpath("//div[@class='cn']/strong/text()").toString());
page.putField("location", page.getHtml().xpath("//span[@class='lname']/text()").toString());
page.putField("company", page.getHtml().xpath("//p[@class='cname']/a/text()").toString());
page.putField("experience", page.getHtml().regex("([^<]+)</span>").toString());
page.putField("education", page.getHtml().regex("([^<]+)</span>").toString());
page.putField("number", page.getHtml().regex("([^<]+)</span>").toString());}
[1520040893425047795.jpg]
图3-5 岗位信息页结构