HTMLPaser浅析
来源:互联网 发布:数据库系统的核心是 编辑:程序博客网 时间:2024/06/12 01:17
比来快递收多了,发觉没个主动跟踪的app还真是累,虽说国内快递的跟踪信息更新比力慢,可是有得看总比没有好。海内的公司貌似不会供给api的,以是只能本身抓取内容。抓取内容就触及到对HTML代码的剖析题目,Google了一下,发明这类包仍是良多的。我挑选了HTMLParser(http://htmlparser.sourceforge.net/),上面简略引见下用HTMLParser抓取table标签内容的方式:
12345678910111213141516171819202122232425262728293031323334353637383940414243
package org.odichy.parsertest;?import java.net.URL;?import org.htmlparser.NodeFilter;import org.htmlparser.Parser;import org.htmlparser.filters.NodeClassFilter;import org.htmlparser.tags.TableColumn;import org.htmlparser.tags.TableRow;import org.htmlparser.tags.TableTag;import org.htmlparser.util.NodeList;?public class Main {public static void main(String[] args) throws Exception {//组织最根基的Parser工具,用的是URLConnection为参数的机关函数Parser parser = new Parser((new URL("http://www.谷歌.com/prc/report.html")).openConnection());//NodeFilter便是过滤器,默示你想要甚么标签,若是想要多个标签的话还可以用OrFilter来整合//TableTag.class暗示过滤table标签NodeFilter tableFilter = new NodeClassFilter(TableTag.class);//标签成果列表,用法和ArrayList差未几NodeList list = parser.parse(tableFilter);for(int i=0;i<list.size();i++) {//实际上这个判定能够不停止if(list.elementAt(i) instanceof TableTag) {TableTag tag = (TableTag)list.elementAt(i);//得到<table />里面的<tr />标签TableRow[] rows = tag.getRows();for(TableRow row: rows) {//取得<tr />内里的<td />标签TableColumn[] tds = row.getColumns();for(TableColumn td: tds) {//这里假如<td />内里不咱们想要的内容,就疏忽了//toPlainTextString()输出的字符串主动过滤了其余标签if("".equals(td.toPlainTextString().trim())) {continue;}System.out.println(td.toPlainTextString().trim());}}}}}}
博文推荐:
- 抽风是一种糊口立场。_225
- HTMLPaser浅析
- HTMLPaser使用详解
- 使用HTMLPaser解析HTML数据
- htmlPaser的一些用法收集(转载)
- HtmlPaser英文文档与Http英文文档
- java 读取html写入excel (htmlpaser,jxl)
- htmlpaser打造个性化的爬虫程序 第一天
- htmlpaser打造个性化的爬虫程序 第二天
- htmlpaser打造个性化的爬虫程序 第三天
- 浅析
- 浅析
- 网络爬虫(五)------------简单网络爬虫实现代码,记得要添加htmlpaser和htmlclient两个包
- 电子邮件浅析
- 浅析GLib
- 浅析激光打印机
- NPetsShop浅析
- 嵌入式 浅析
- 浅析GLib
- 异步加载javascript
- 存储并发请求的相关信息fnd_concurrent_requests中 STATUS_CODE 與PHASE_CODE含義
- 顿悟QT,见笑
- 50个必备的实用jQuery代码段
- linux内核学习之书
- HTMLPaser浅析
- c# 在.aspx 里做判断 语法规则
- Android的framework层音量控制原理分析--hot(key)处理
- 未来flash player鼠标新功能!中键右键全屏,Free your mouse!
- 【转】谈谈高速数字系统的滤波电容
- Siverlight的一些使用心得
- 一个嵌入式Linux操作系统学习规划
- 深入理解c语言
- MVC3 + EF 4.1 相关资料