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

php中文网
发布: 2016-06-24 11:20:27
原创
1571人浏览过

前言:几乎任何的语言都可以解析和遍历html超文本,我常用的语言就是php啦,但是我想在android客户端获取网络http的的数据,虽然可以使用php但是需要二次连接和php环境,然而就直接使用java语言去搞,那么不可能直接用java原生语言去码的啦,使用jsoup去解析,jsoup是java语言一款不错的html解析文档的利器!


Jsoup的简介Jsoup是java语言一款不错的html解析和遍历文档的利器。


Jsoup的优点其解析器能够尽最大可能从你提供的HTML文档来创见一个干净的解析结果,无论HTML的格式是否完整。比如它可以处理:

没有关闭的标签  <p>Lorem <p>Ipsum parses to <p>Lorem</p> <p>Ipsum</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/c1c2c2ed740f" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Java免费学习笔记(深入)</a>”;</p>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/ai/927">
                            <img src="https://img.php.cn/upload/ai_manual/000/000/000/175679997868619.jpg" alt="Calliper 文档对比神器">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/ai/927">Calliper 文档对比神器</a>
                            <p>文档内容对比神器</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="Calliper 文档对比神器">
                                <span>28</span>
                            </div>
                        </div>
                        <a href="/ai/927" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="Calliper 文档对比神器">
                        </a>
                    </div>
                
登录后复制
隐式标签  <td>Table data</td>包装成<table><tr><td>
登录后复制
创建可靠的文档结构(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

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号