借助jsoup实现从网站页面中获取指定内容

使用jsoup实现在页面中获得指定的内容的一个小demo,第一次接触这方面的内容。希望以后有机会能够深入学习一些爬虫相关的技术。

1、需求

从网站页面中读取指定的内容,并在控制台将指定的内容打印。


2、控制台打印


3、代码实现

package test;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class Test {
	
	public static void main(String[] args) {
		
		//用来存放获取到的有用数据
		ArrayList<String> resultList = new ArrayList<String>();
		//用来存放每一条数据记录,数据格式为:招聘职位:xxxx\t薪水:xxxx\t公司名称:xxxx\t
		StringBuffer str = new StringBuffer();
		//从指定网址获得的Document对象
		Document doc = null;
	    try {
	          doc = Jsoup.connect("http://www.51jrq.com/vita/allpositions?p=1&type=&jobcity=&nature=&salary=&industry=&keywork=java").userAgent
	        		  ("Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko").timeout(30000).get();
	    } catch (IOException e) {
	         e.printStackTrace();
	    }
	    
	    //获取公司名称
	    Elements ListCop = doc.getElementsByAttributeValue("class","cop");
	    //获取职位名称
	    Elements ListPosit = doc.getElementsByAttributeValue("class","posit");
	    //获取薪水
	    Elements ListSalary = doc.getElementsByAttributeValue("class","salary");
	    
	    int minSize = Math.min(Math.min(ListCop.size(),ListPosit.size()),ListSalary.size());
	    	    
	   for(int i=0;i< minSize;i++){
		   str.append("招聘职位:"+ListPosit.get(i).getElementsByTag("a").text().trim()).append("\t");
		   str.append("薪水待遇:"+ListSalary.get(i).text().trim()).append("\t");
		   str.append("公司名称:"+ListCop.get(i).getElementsByTag("a").text().trim()).append("\t");
		   //将str数据添加到resultList中
		   resultList.add(str.toString());
		   str = new StringBuffer();
	   }
	   
	   //遍历结果控制台打印
	   Iterator<String> iterator = resultList.iterator();
	   while(iterator.hasNext()){
		   System.out.println(iterator.next());
	   }
	}
}
4、依赖jar包

jsoup-1.10.2.jar


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值