您好,欢迎访问一九零五行业门户网

Java解析和遍历html文档利器_html/css_WEB-ITnose

前言:几乎任何的语言都可以解析和遍历html超文本,我常用的语言就是php啦,但是我想在android客户端获取网络http的的数据,虽然可以使用php但是需要二次连接和php环境,然而就直接使用java语言去搞,那么不可能直接用java原生语言去码的啦,使用jsoup去解析,jsoup是java语言一款不错的html解析文档的利器!
jsoup的简介jsoup是java语言一款不错的html解析和遍历文档的利器。
jsoup的优点其解析器能够尽最大可能从你提供的html文档来创见一个干净的解析结果,无论html的格式是否完整。比如它可以处理:
没有关闭的标签 lorem ipsum parses to lorem
ipsum

隐式标签 table data 包装成
创建可靠的文档结构(html标签包含head 和 body,在head只出现恰当的元素)
jsoup常用的方法从一个url加载一个document
简单的get方法document doc = jsoup.connect(http://www.domain.com/).get();string title = doc.title();
带头信息的post方法document doc = jsoup.connect(http://www..domain.com) .data(username, alic) .useragent(mozilla) .cookie(auth, token) .timeout(3000) .post();
从文件中加载html文档
file file = new file(path);document doc = jsoup.parse(file, utf-8, http://www.domian.com/);
简单的从string加载html
document doc = jsoup.parse(string html);
使用dom方法来遍历一个文档
file file = new file(/path/index.html);document doc = jsoup.parse(file, utf-8, http://www.domian.com/);element content = doc.getelementbyid(content);//获取id为content的dom节点elements links = content.getelementsbytag(a);//获取所有的a标签dom节点//遍历所有的a标签for (element link : links) { string linkhref = link.attr(href); string linktext = link.text();}elements links = doc.select(a[href]); //带有href属性的a元素elements pngs = doc.select(img[src$=.png]); //扩展名为.png的图片element masthead = doc.select(div.masthead).first(); //class等于masthead的div标签elements resultlinks = doc.select(h3.r > a); //在h3元素之后的a元素
常用的方法:见官网api文档传送jsoup
其它类似信息

推荐信息