从一个URL解析HTML
String url="http://www.baidu.com";
Document doc=Jsoup.connect(url).get(); //解析的结果是一个文档对象
Document doc=Jsoup.parse(html); //创建一个干净的解析结果,无论HTML格式是否完整
设置参数链接
Document doc=Jsoup.connect(url)
.data("query","java") //请求参数
.userAgent("jsoup") //设置User-Agent
.cookie("auth","token") //设置cookie
.timeout(3000) //设置连接超时时间
.post(); //使用POST方式访问URL
获取网页标题
String title=doc.title(); //获取网页标题
获取网页中的链接
Elements link=doc.select("a[href]"); //获取带有href属性的a标签
Elements link=doc.select("a[name~=th]"); //获取a标签中的name属性带有“th”的链接
/*完整例子*/
String url="http://www.baidu.com";
Document doc=Jsoup.connect(url),get();
Elements links=doc.select("a[href]"); //获取带有href属性的a标签
for(Elements link : links){ //遍历每个链接
String linkHref=link.attr("href"); //得到href属性的值,即URL地址
String linkText=link.text(); //获取链接文本
System.out.println(linkText+" "+linkHref); //输出链接文本及地址
}
利用Dom获取数据
Element content=doc.getElementById("sh"); //通过id获取对应的元素
Elements links=content.getElementsByTag("a"); //通过标签获取元素
for(Element link : links){
String linkHref=link.attr("href");
String linkText=link.text();
}
获取class为Wrapper的Div区域的内容
Element content=doc.select("div.Wrapper").first();
根据id获取内容
Element content=doc.select("#set").first();
去掉注释
removeComments(doc);
System.out.print(doc.html)
public static void removeComments(Node node){
for(int i=0;i<node.childNodes().size();i++){
Node child=node.childNode(i);
if(child.nodeName().equals("#comment")){
child.remove();
}else {
removeComments(child);
}
}
}
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!