03_Jsoup
【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的更多相关文章
随机推荐
- Svn安装成功后的操作
一.服务器端创建目录 在Svn服务器端创建一个用来保存客户端提交文件的文件夹 (我的路径是d:/Svn/App/book) 首先将Svn的服务端安装目录/bin 进行环境配置,以下操作是在进行环境配置 ...
- [原创]在Centos7上搭建私有的Gitlab服务器
前言 Git作为后起之秀,在版本控制领域占据了头把交椅.Github作为托管式的代码仓库,从代码安全性和网络传输等各个方面考虑,对于个人和公司来讲,具有一定的局限性.Gitlab提供的不同版本的安装包 ...
- HDU - 3949 线性基应用
题意:求第\(k\)小的异或和 要点: 1.线性基能表示原数组的任意异或和,但不包括0,需特判(flag) 2.线性基中的异或组合只有\(2^{|B|}-1\)个,如果可以异或为0,则组合数为\(2^ ...
- 【CTF】某xss练手小游戏
http://test.xss.tv 1.http://47.94.13.75/test/level1.php?name=test 直接插入即可,如: http://47.94.13.75/test/ ...
- 人生苦短,我用pycharm
一.安装 1.首先到官网上下载正版,然后点击安装,只需要更改下面一个地方即可 2.激活码或者帐号的话,可以去百度搜,也可以去某宝买,也就3块钱(一年),不建议使用破解版,如果你真的差这三块钱的话,你还 ...
- 一个新时代的UI设计师需要具备这些技能
如今互联网行业发展如日中天,设计师本就是稀缺人才.再加上未来也将迎接人工智能时代,未来的设计师不只像现在只是做一些网页.APP界面,还会出现更多的UI设计衍生职业.如下列举的几大类: 一.初级阶段 1 ...
- 面向切面编程 (AOP )
什么是面向切面编程? 面向切面编程就是(AOP --- aspect-oriented programming), 在百科上说: 面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一 ...
- 常用sql语句整理[MySql]
查看执行计划 explain update test100 set contractSn=99 where contractSn=45; insert ... on duplicate key使用 i ...
- TOJ 4002 Palindrome Generator
描述 A palindrome is a number that reads the same whether you read it from left to right or from right ...
- Java网站开发的一些问题以及解决(cookie消失,上传头像,js等)
1.首先是cookie的问题,很多人都是遇到了将数据存储到cookie中并且add到response之中,但是还有返回其他页面或者刷新页面cookie消失的情况,除了设置cookie的存活时间外, 还 ...