HtmlCleanner结合xpath用法(转载)
2024-09-06 07:28:06
HtmlCleaner cleaner = new HtmlCleaner(); TagNode node = cleaner.clean(new URL("http://finance.sina.com.cn/money/nmetal/20091209/10157077895.shtml"));
//按tag取.
Object[] ns = node.getElementsByName("title", true); //标题 if(ns.length > 0) {
System.out.println("title="+((TagNode)ns[0]).getText());
}
// /html/body/div[2]/div[4]/div/div/div/div[2]/p
ns = node.evaluateXPath("//div[@class=\"blkContainerSblkCon\"]/p"); //选取class为指定blkContainerSblkCon的div下面的所有p标签
for (int i = 0; i < ns.length; i++) {
String in = cleaner.getInnerHtml((TagNode)ns[i]);
System.out.println("<p>"+in + "</p>");
}
String in = cleaner.getInnerHtml((TagNode)ns[0]);
System.out.println(in); System.out.println(((TagNode)ns[0]).getText());
HtmlCleaner cleaner = new HtmlCleaner();
String url = "http://finance.sina.com.cn/nmetal/hjfx.html";
URL _url = new URL(url);
TagNode node = cleaner.clean(_url); //按tag取.
Object[] ns = node.getElementsByName("title", true); //标题 if(ns.length > 0) {
System.out.println("title="+((TagNode)ns[0]).getText());
} ns = node.evaluateXPath("//*[@class='Frame-Row3-01-C']/table[2]/tbody/tr/td/a"); //选取class为指定blkContainerSblkCon的div下面的所有p
for (int i = 0; i < ns.length; i++) { //取链接文本
// String in = cleaner.getInnerHtml((TagNode)ns[i]);
// System.out.println(in); //获取链接的
TagNode n = (TagNode) ns[i];
// System.out.println(n.getAttributeByName("href"));
System.out.println(new URL(_url,n.getAttributeByName("href")).toString());
}
// String in = cleaner.getInnerHtml((TagNode)ns[0]);
// System.out.println(in); // System.out.println(((TagNode)ns[0]).getText()); // System.out.println("ul/li:");
// //按xpath取
// ns = node.evaluateXPath("//div[@class='d_1']//li");
// for(Object on : ns) {
// TagNode n = (TagNode) on;
// System.out.println("\ttext="+n.getText());
// }
// System.out.println("a:");
// //按属性值取
// ns = node.getElementsByAttValue("name", "my_href", true, true);
// for(Object on : ns) {
// TagNode n = (TagNode) on;
// System.out.println("\thref="+n.getAttributeByName("href")+", text="+n.getText());
// }
本文转载于:http://gstarwd.iteye.com/blog/644502
xpath 参考教材:http://www.w3school.com.cn/xpath/xpath_syntax.asp
最新文章
- 《简单的自定义DropDatePicker》-- UIPopoverController 和 代理 以及 Block 实现。
- vmware workstation安装 Mosrosoft Runtime DLL安装程序未能完成安装
- 关于三层架构与MVC的一些理解
- webserver[实时查询当天的天气情况]
- Tips collection of iOS development
- 【iCore3 双核心板】例程三十四:U_DISK_IAP_ARM实验——更新升级STM32
- NSString的截取
- Python 日期和时间
- <; java.lang >;-- String字符串
- 在win2008中配置ServU
- SignalR及时通知功能
- [置顶] [Android源码分析]inquiry result引起的上层变化分析
- sizeof用法研究
- Class.forName() 初始化、Thread.currentThread().getContextClassLoader().getResourceAsStream
- 【面向对象设计原则】之接口隔离原则(ISP)
- 【CSS】font样式简写(转)- 不是很建议简写
- C Primer Plus 第6章 C控制语句:循环 编程练习
- WiFi-ESP8266入门http(2-1)文件系统-复杂结构的网页
- Allegro PCB Design GXL (legacy) 刷新PCB封装(Package)中的焊盘(Padstack)
- iOS之加载Gif图片