解析岗位信息页源代码

来自CloudWiki
跳转至: 导航搜索

文件:Big1-8.png

如图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 岗位信息页结构