jsoup解析html简单总结

来源:互联网 发布:ubuntu配置静态ip 编辑:程序博客网 时间:2024/05/22 00:45

jsoup(Java HTML Parser)java html解析器。

使用jsoup解析html很简单,只要抓到最重要的点(获得Document),剩下的代码很容易就顺下来。


Document document = Jsoup.parse(html);

通过Jsoup中静态方法解析HTML文本内容(也可以直接connect网址get),解析成Document对象,接下来操作就是在玩儿这个Document对象。

按照解析html中的图片地址为例,这个时候思路应该是拿到所有的img标签。


直接IDE自动生成,看看哪个方法像解析标签方法


Elements elements = document.getElementsByTag("img");

猜一下,Elements都可能继承集合类,是的,继承的ArrayList<Element>


接下来思路更简单了,迭代Elements,取出每一个Element,想取什么就很简单了。


贴示例代码:(用到了jsoup包,为了读取url内容,还用了commons-io包)



import java.io.IOException;import java.io.InputStream;import java.net.URL;import java.net.URLConnection;import java.util.List;import org.apache.commons.io.IOUtils;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;public class JsoupTest {public static void main(String[] args) throws IOException {String url = "https://segmentfault.com/q/1010000002800016";String html = getURLHTMLText(url);System.out.println(html);Document document = Jsoup.parse(html);//Elements继承ArrayList<Element>Elements elements = document.getElementsByTag("img");for (int i = 0; i < elements.size(); i++) {Element element = elements.get(i);String src = element.attr("src");System.out.println(src);}}/*** * 读取url html文本内容 * @param urlStr * @return * @throws IOException */public static String getURLHTMLText(String urlStr) throws IOException{URL url = new URL(urlStr);URLConnection urlConnection = url.openConnection();InputStream is = urlConnection.getInputStream();List<String> lins = IOUtils.readLines(is);StringBuilder sb = new StringBuilder();for (int i = 0; i < lins.size(); i++) {sb.append(lins.get(i));}return sb.toString();}}


如有错误,欢迎指正

end


原创粉丝点击