【1.获取一个页面所有的链接】

public static void main(String[] args) throws IOException {
String url="http://www.cnblogs.com/HigginCui/";
Document doc=Jsoup.connect(url).get(); //下载并解析成html DOM结构
System.out.println(doc); //这里打印就是整个html页面
Elements links=doc.select("a[href]"); //使用select方法选择元素
System.out.println(links.size());
for(Element link:links){
System.err.println("<a href=\""+link.attr("abs:href")+"\"> ("+link.text()+") </a>");
}
}

【运行结果】

【02】

@Test
public void test01(){
String html="<p> "
+ " <a href='http://example.com/'>"
+ " <b>霸气</b>"
+ " </a> "
+ " link."
+ "</p>";
Document doc=Jsoup.parse(html);
Element ele=doc.select("a").first(); //查找第一个a元素 System.out.println("ele.text()==="+ele.text()); //Element.text()获取标签的文本值
System.out.println("ele.attr(\"href\")==="+ele.attr("href"));
String linkOuter=ele.outerHtml();
System.out.println("ele.outerHtml()==="+linkOuter);
}

【运行结果】

【03.根据id获取对应的Element】

@Test
public void test02(){
String html="<p id=\"ppp\" value=\"i am best!\">哈哈哈 </p>";
Document doc=Jsoup.parse(html);
Element ele=doc.select("#ppp").first(); //查找第一个a元素
System.out.println(ele.attr("value"));
System.out.println(ele.text()); }

【运行结果】

【04】

@Test
public void test03(){
String html="<div id=\"zxSale\">"
+ " <table class=\"sssss\">"
+ " <tbody>"
+ " <tr value=\"tttttrrrrr\">"
+ " <td>2017-02-22</td>"
+ " <td> 富国基金</td>"
+ " <td>嘉实基金</td>"
+ " </tr>"
+ " <tr value=\"tttttrrrrr\">"
+ " <td>2017-03-22</td>"
+ " <td>建信基金</td>"
+ " <td>易方达基金</td>"
+ " </tr>"
+ " </tbody>"
+ " </table>"
+ "</div>";
Document doc=Jsoup.parse(html);
Elements trs=doc.select("#zxSale > table > tbody > tr");
for(Element tr:trs){
Elements tds=tr.getElementsByTag("td");
System.out.println(tds.get().ownText());
System.out.println(tds.get().ownText());
System.out.println(tds.get().ownText());
// System.out.println("这个是不存在的:"+tds.get(3).ownText()+"!"); //这里会报错
}
}

【运行结果】

【05】

@Test
public void test03_plus(){
String html="<div id=\"zxSale\">"
+ " <table class=\"sssss\">"
+ " <tbody>"
+ " <tr value=\"tttttrrrrr\">"
+ " <td>2017-02-22</td>"
+ " <td> 富国基金</td>"
+ " <td>嘉实基金</td>"
+ " </tr>"
+ " <tr value=\"tttttrrrrr\">"
+ " <td>2017-03-22</td>"
+ " <td>建信基金</td>"
+ " <td>易方达基金</td>"
+ " </tr>"
+ " </tbody>"
+ " </table>"
+ "</div>";
Document doc=Jsoup.parse(html);
Elements trs=doc.select("#zxSale > table > tbody > tr");
for(Element tr:trs){
Elements tds=tr.getElementsByTag("td"); //根据标签获取元素
for(Element td : tds){
System.out.println(td.text());
}
}
}

【运行结果】

【06】

@Test
public void test04(){
String html="<div id=\"zxSale\">"
+ " <div>"
+ " <select name=\"fundCode\">"
+ " <option value=\"\">全部</option>"
+ " <option value=\"000001\">华夏001</option>"
+ " <option value=\"000002\">华夏002</option>"
+ " <option value=\"000003\">华夏003</option>"
+ " <option value=\"000004\">华夏004</option>"
+ " <option value=\"000005\">华夏005</option>"
+ " <option value=\"000006\">华夏006</option>"
+ " </select>"
+ " </div>"
+ "</div>";
Document doc=Jsoup.parse(html);
Elements options=doc.select("select[name=fundCode]").get().getElementsByTag("option");
if(options.size()>){
for(Element option:options){
System.out.println("value==="+option.attr("value"));
System.out.println("owntext==="+option.ownText());
}
}
}

【运行结果】

03_Jsoup的更多相关文章

随机推荐

  1. Python之freshman07 面向对象编程jinjie

    本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程 经典类vs新式类 把下面代码 ...

  2. 【算法笔记】B1048 数字加密

    1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...

  3. XMAL基础

    XMAL基础(WPF编程宝典) XAML基础规则 XAML文档中的每个元素都映射为.Net类的一个实例.元素名称也完全对应于类名.例如:元素<Button>指示WPF创建Button对象 ...

  4. 获取Java class或者jar文件的本地路径

    对于常规java class打成jar文件后,要获取它的本地路径,可以用如下方法. final File f = new File(TestClass.class.getProtectionDomai ...

  5. 全排列 next_permutation() 函数的使用

    看来看去还是这篇博客比较简洁明了 https://www.cnblogs.com/My-Sunshine/p/4985366.html 顺便给出牛客网的一道题,虽然这道题用dfs写出全排列也能做,题意 ...

  6. 邮件email

    参考地址:https://blog.csdn.net/baidu_30000217/article/details/52942258 邮箱配置地址:http://service.exmail.qq.c ...

  7. 第十五章:集成JPUSH

    如果不想自己搭建push server,则可以借助于第三方的api来实现push的功能,本文主要介绍ionic如何集成jpush. 具体步骤如下: 创建ionic应用:ionic_jpush. 申请j ...

  8. 第十八章:自定义splash screen、app icon和tab icon

    本文介绍如何自定义splash screen.app icon和tab icon. 1. 自定义splash screen和app icon 1.1 产生resources文件夹,启动命令行: ion ...

  9. cloudemanager安装时出现failed to receive heartbeat from agent问题解决方法(图文详解)

    不多说,直接上干货! 安装cdh5到最后报如下错误: 安装失败,无法接受agent发出的检测信号. 确保主机名称正确 确保端口7182可在cloudera manager server上访问(检查防火 ...

  10. POJ 2570 Fiber Network

    Description Several startup companies have decided to build a better Internet, called the "Fibe ...