直接贴出代码
package configS;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.Formatter;
public class test_html {
//实现格式化输出
static Formatter formatter = new Formatter(System.out);
public static void priteTitle(String key,String value){
formatter.format("%-15s %-20s\n",key,value);
}
public static void main(String[] args) throws IOException {
/**
*不同的页面传入方式,这是第一种
*/
String html = "<html><head><title>First parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
/**
*不同的页面传入方式,这是第二种
*/
Document doc=Jsoup.connect("http://www.baidu.com").get();
//打印页面的title
System.out.println(doc.title());
//获取页面id元素
Elements elementList=doc.getElementsByAttribute("id");
//在标签a中
Elements elementListAnnx = doc.getElementsByTag("a");
elementList.addAll(elementListAnnx);
//根据所得到的内容,只输出title和id
for(Element element:elementListAnnx){
String key=element.attr("name");
String value=element.attr("href");
if(!key.isEmpty()&&!value.isEmpty()){
//自己定义输出样式
// System.out.println("Param name:"+key+"\nParam value:"+value);
//格式化输出方法
priteTitle(key,value);
}
}
//不用for循环,直接全部输出
// System.out.println(elementListAnnx.toString());
//别忘了释放
formatter.close();
}
}
结果:
打印标题和全部:
百度一下,你就知道
<a href="http://news.baidu.com" name="tj_trnews" class="mnav">新闻</a>
<a href="http://www.hao123.com" name="tj_trhao123" class="mnav">hao123</a>
<a href="http://map.baidu.com" name="tj_trmap" class="mnav">地图</a>
<a href="http://v.baidu.com" name="tj_trvideo" class="mnav">视频</a>
<a href="http://tieba.baidu.com" name="tj_trtieba" class="mnav">贴吧</a>
<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1" name="tj_login" class="lb">登录</a>
<a href="//www.baidu.com/more/" name="tj_briicon" class="bri" style="display: block;">更多产品</a>
<a href="http://home.baidu.com">关于百度</a>
<a href="http://ir.baidu.com">About Baidu</a>
<a href="http://www.baidu.com/duty/">使用百度前必读</a>
<a href="http://jianyi.baidu.com/" class="cp-feedback">意见反馈</a>
按照格式,打印name对应的地址:
tj_trnews http://news.baidu.com
tj_trhao123 http://www.hao123.com
tj_trmap http://map.baidu.com
tj_trvideo http://v.baidu.com
tj_trtieba http://tieba.baidu.com
tj_login http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1
tj_briicon //www.baidu.com/more/