Java解析HTML

使用Java解析HTML很简单,使用jsoup.jar来解析,使用起来和jquery差不多

下面是两个例子

1.解析web页面

复制代码
 1 import org.jsoup.Connection;
 2 import org.jsoup.Jsoup;
 3 import org.jsoup.nodes.Document;
 4 import org.jsoup.nodes.Element;
 5 import org.jsoup.select.Elements;
 6 
 7 
 8 public class ParseWebPage {
 9 
10     
11 
12         public static void main(String[] args) throws Exception {
13             
14             Connection conn = Jsoup.connect("http://www.hao123.com");
15             Document document = conn.get();
16             
17             //解析出 class为feedback的li标签  的后代a标签元素
18             Elements elements = document.select("li.feedback a");
19               
20             for (Element element : elements) {
21                 System.out.println(element.html());
22                 System.out.println(element.attr("href"));
23             }
24               
25         }
26         
27     
28 }
复制代码

2.解析本地页面

复制代码
 1 import java.io.File;
 2 
 3 import org.jsoup.Jsoup;
 4 import org.jsoup.nodes.Document;
 5 import org.jsoup.nodes.Element;
 6 import org.jsoup.select.Elements;
 7 
 8 public class ParseLocalPage {
 9 
10     public static void main(String[] args) throws Exception {
11         File file =new File("E:/JavaScriptDojo/jqueryui/测试Button.html");
12         Document document = Jsoup.parse(file, "utf-8");
13         
14         Elements es = document.select("#getDPvalues");
15         
16         for (Element element : es) {
17              System.out.printf("%s\t%s\n" ,element.html() ,element.val());
18         }
19     }
20 }
复制代码

很简单吧

使用jsoup解析HTML之获取html源码


上一讲我们简要的介绍了jsoup和HTML DOM结构。在准备解析html之前,首先要做的当然是获取需要解析的html源码。jsoup提供了多种获取和解析html的方式。

新建一个Java工程,命名为JsoupDemo。然后导入jsoup的jar包。

add jsoup jar

下面分别来演示几种获取Document对象的方法。

1、从字符串中解析Dom

使用Jsoup的parse(String html)类方法,可以从字符串中获取Document对象,然后再进行详细的解析。

2、从URL中获取Document对象

connect(String url)方法将会得到一个Connection类的实例,Connection类是HttpConnection的子类,然后调用get()方法,将会发送get请求,返回一个Document对象。类似的,我们也可以通过post()获取,主要是看我们的请求类型是get还是post。如果请求需要参数,我们可以使用Map<String,String>构造参数,然后通过data(Map<String,String> params)方法设置。得到Document对象后,我们就可以对其进行解析。

 3、从文件中获取Document对象

当我们本地有一个html文件时,我们可以使用parse(File in, String charsetName)方法从本地文件中获取Document对象。

最后我们在main方法中测试三种获取Document对象的方法,发现都能正常获取到Document对象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值