Jsoup实现解析网页,搜索职位信息

目录


1.职位解析

使用了jsoup解析获取职位信息
这里写图片描述

2.需求

3.实现步骤

  • 1.查看源码
    启用浏览器开发者模式 查看源代码
    这里写图片描述
  • 2.使用jsoup连接访问地址

Connection connection = Jsoup.connect(“http://sou.zhaopin.com/jobs/searchresult.ashx?”);

  • 2.设置关键字
    网络传输中有get方式和post方式,使用get方式传值格式为:访问地址?参数名1=参数值1&参数名2=参数值2

https://sou.zhaopin.com/jobs/searchresult.ashx?jl=厦门&kw=大数据&p=1&isadv=0

https://sou.zhaopin.com/jobs/searchresult.ashx?jl=北京&kw=java开发工程师&p=1&isadv=0

可以发现 kw 为职位名的参数名,jl为地址的参数名

//设置关键字
//?jl=厦门&kw=大数据&sm=0&p=1&source=0
//?jl=北京&kw=java开发工程师&p=1&isadv=0
connection.data("kw","大数据");
connection.data("jl","厦门");
//connection.data("kt","2"); // 公司搜索
  • 3.获取网页的内容
//相当于按下回车键  docment 就是网页的内容
Document document = connection.timeout(10000).get();        
  • 4.摘取需要的内容
    这里写图片描述

    查看网页源代码,职位列表被 id为”newlist_list_content_table”的div块包围,每个职位被class为“newlist”的table包围,通过id 和class 可以查找到每一行的数据。

//查找到界面里面每一行的数据,存放在数组中
Elements elements =  document.select("#newlist_list_content_table").select(".newlist");     
  • 5.查找信息
    这里写图片描述

    每个table中: 职位名称被class=”zwmc”包围,公司被class=”gsmc”包围, 职位月薪被”zwyx”包围,通过Element 读取每个元素的文本信息。

for(Element e : elements){
        String job = e.select(".zwmc").text();
        String compine = e.select(".gsmc").text();
        String money = e.select(".zwyx").text();
        System.out.println(job+ "\t\t"+compine+"\t\t"+money);
}

4.代码总结

  • 1.java代码
  public static void main(String[] args) throws IOException {
        FileWriter fWriter = new FileWriter("D:/职位搜索.txt");
        BufferedWriter writer = new BufferedWriter(fWriter);
        //url 链接地址   统一资源定位符
        Connection  connection = Jsoup.connect("http://sou.zhaopin.com/jobs/searchresult.ashx?");
        //设置关键字
        //?jl=厦门&kw=大数据&sm=0&p=1&source=0
        //?jl=北京&kw=java开发工程师&p=1&isadv=0
        connection.data("kw","大数据");
        connection.data("jl","厦门");
        //connection.data("kt","2"); // 公司搜索
        //相当于按下回车键  docment 就是网页的内容
        Document document = connection.timeout(10000).get();
        //查找到界面里面每一行的数据,存放在数组中
        Elements elements =  document.select("#newlist_list_content_table").select(".newlist");
        for(Element e : elements){
            String job = e.select(".zwmc").text();
            String compine = e.select(".gsmc").text();
            String money = e.select(".zwyx").text();
            System.out.println(job+ "\t\t"+compine+"\t\t"+money);
            writer.write(job +"----"+compine+"----"+money);
            writer.newLine();
        }
        writer.flush();
    }
  • 运行效果

这里写图片描述

  • 浏览器窗口
    这里写图片描述

5.jar

本次引用的是jsoup-1.7.3.jar,本次就不上传了,CSDN资源传不上去了,别人已经上传过,请自行去搜索下载吧
若是需要,可在本文留言。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值