Jsoup使用感悟

该博客主要展示了如何使用Jsoup库从指定URL抓取页面内容,并解析HTML以获取页面标题及特定ID元素下的列表信息。通过三种不同的方式提取了列表项的内容,包括直接打印文本、获取自有文本以及分割文本获取关键信息。

在这里插入图片描述
主要是修改main函数里的内容 其他部分没做更改

main函数内容更改如下:

public static void main(String[] args) {
	
	
	String url ="http://blog.youkuaiyun.com/zzq900503";
	
	initHttpClient();
	
	String content =crawlPageContent(httpClient,url);
//	System.out.println(content);
	Document doc = Jsoup.parse(content);
	String title = doc.title();
	System.out.println(title);
	
	Element a=doc.getElementById("panel_Profile");
	
	Elements li_content=a.getElementsByTag("li");
 
	//提取方式一:
//	for(Element i:li_content)
//	{
//		String tag=i.tagName();
//		if(tag.equals("li"))
//		{
//			System.out.println(i.text());
//			
//		}
//		
//		
//	}
	
	//提取方式二:
//	for(Element i:li_content)
//	{
//		String tag=i.tagName();
//		if(tag.equals("li"))
//		{
//			String fre_content=	i.ownText();
//		
//		   System.out.println(fre_content);
//		   if(i.children().size()>0&&i.children()!=null)
//		   {
//		   String after_content=i.child(0).text();
//		   System.out.println(after_content);
//		   }
//		}
//		
//		
//	}
	
	
	//提取方式三:
	for(Element i:li_content)
	{
		String tag=i.tagName();
		if(tag.equals("li"))
		{
			String all_content=i.text();
			String all_string=Jsoup.clean(all_content, Whitelist.none());
		String[] all=all_string.split(":");		 
		   if(all.length>0&&all!=null)
		   {
			   String fre_content=all[0].toString();
			   System.out.println(fre_content);
		   String after_content=all[1].toString();
		   System.out.println(after_content);
		   }
		}
		
		
	}
	
	
	
}

在这里插入图片描述
在这里插入图片描述

<think>好的,我现在需要帮助用户了解如何使用Jsoup这个Java HTML解析库,并提供教程和示例代码。首先,我应该先整理用户提供的引用内容,从中提取关键信息。用户给出的引用1到5都是关于Jsoup的,涵盖了基本介绍、用途、选择器语法、常用方法等。 接下来,我需要按照用户的要求,结构清晰地分步骤讲解Jsoup使用。用户希望看到教程和示例代码,所以应该从环境配置开始,然后逐步展示如何加载HTML、选择元素、提取数据等。同时,必须注意使用中文回答,并且遵循系统级指令中的格式要求,比如行内数学表达式用$...$,但这里可能不太涉及数学公式,所以可能不需要用到。但需要确保代码块正确,独立公式用$$...$$,不过示例中可能没有数学公式,所以这点可能不用考虑。 首先,环境配置部分,引用4提到Jsoup可以直接解析URL或HTML内容,需要添加依赖。用户可能使用Maven,所以应该给出Maven的依赖代码。然后,引用3提到Jsoup用于解析HTML文档,所以需要展示如何从字符串、文件、URL加载HTML文档,这部分可以分别给出示例代码。 接下来,选择元素部分,引用5详细说明了选择器的使用,比如标签选择器、class选择器、id选择器等,需要将这些内容转化为具体的代码示例,比如使用document.select("a")获取链接,.select(".class")获取类元素等。同时,要提到如何提取属性、文本等内容,比如attr()和text()方法。 可能还需要补充数据提取的示例,比如提取链接、图片、表格数据等,这样用户能更全面了解应用场景。另外,用户可能关心异常处理,比如在连接URL时的异常,需要提醒添加try-catch块。 然后,根据用户提供的示例中的结构,生成相关问题。比如如何防止被屏蔽、处理动态页面、提取嵌套元素等,这些是用户可能遇到的后续问题。 需要注意的是,在回答中引用的部分需要添加引用标识,比如在介绍Jsoup时引用4,提到选择器时引用5等。要确保引用标识自然添加在相关段落的末尾。 最后,检查整个回答是否符合格式要求:代码块用三个反引号包裹,结构分步骤,问题部分用“
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值