网页信息抽取 搜索java html 解析,有不少开源类库。找问题答案,关键要学会搜索,找准搜索关键词,百度素强大滴 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 网络信息采集大师这类软件大多需要收费,还要一个个试合不合用,不如自己做个。推荐htmlparser,给你个例子import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.htmlparser.*;import org.htmlparser.filters.*;import org.htmlparser.tags.*;import org.htmlparser.util.*;public class Test { private final static Log logger = LogFactory.getLog(Test.class); /** * @param args * 测试解析html<tb> * <tr>中数据,循环打印 第i个table中的第j个tr,第k个td的内容是((((TableTag) * nodeList.elementAt(i)).getRows()[j]).getColumns()[k]).toPlainTextString() * i,j,k都是从0开始数的 */ public static void main(String[] args) { // TODO Auto-generated method stub try { Parser parser = new Parser(); NodeList nodeList = null; parser .setURL("http://www.xjflcp.com//video/prizeDetail.do?operator=detail187&lotterydraw=2008072"); parser.setEncoding(parser.getEncoding()); NodeFilter tableFilter = new NodeClassFilter(TableTag.class); OrFilter lastFilter = new OrFilter(); lastFilter.setPredicates(new NodeFilter[] { tableFilter }); nodeList = parser.parse(lastFilter); for (int i = 0; i <= nodeList.size(); i++) { if (nodeList.elementAt(i) instanceof TableTag) { TableTag tag = (TableTag) nodeList.elementAt(i); TableRow[] rows = tag.getRows(); // i是table,j是tr,k是td for (int j = 0; j < rows.length; j++) { TableRow tr = (TableRow) rows[j]; TableColumn[] td = tr.getColumns(); for (int k = 0; k < td.length; k++) { System.out.println("i,j,k是多少:" + i + ":" + j + ":" + k + "内容:" + td[k].toPlainTextString()); } } } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }} 有个专业网站,GooSeeker,专门做信息提取产品和服务,同时网站是一个知识库,可以参考 WEB的问题(菜鸟) java 获得未读邮件数 浏览器支持问题??? javascript被下载问题 在客户端用js动态预览图片的问题,好长时间了,还是没有解决,帮忙呀 怎样判断多选框中值是否选中 请高手指点货币类型的验证 一个列表框中有几个选项,现在我想改变某一个选项的字体颜色,请问应该怎样做? Node.js 流模式详解 extjs 200分解决一个问题 javascript十六进制转换问题,轻松100分
推荐htmlparser,给你个例子
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.htmlparser.*;
import org.htmlparser.filters.*;
import org.htmlparser.tags.*;
import org.htmlparser.util.*;public class Test {
private final static Log logger = LogFactory.getLog(Test.class); /**
* @param args
* 测试解析html<tb>
* <tr>中数据,循环打印 第i个table中的第j个tr,第k个td的内容是((((TableTag)
* nodeList.elementAt(i)).getRows()[j]).getColumns()[k]).toPlainTextString()
* i,j,k都是从0开始数的
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Parser parser = new Parser();
NodeList nodeList = null;
parser
.setURL("http://www.xjflcp.com//video/prizeDetail.do?operator=detail187&lotterydraw=2008072");
parser.setEncoding(parser.getEncoding());
NodeFilter tableFilter = new NodeClassFilter(TableTag.class);
OrFilter lastFilter = new OrFilter();
lastFilter.setPredicates(new NodeFilter[] { tableFilter });
nodeList = parser.parse(lastFilter);
for (int i = 0; i <= nodeList.size(); i++) {
if (nodeList.elementAt(i) instanceof TableTag) {
TableTag tag = (TableTag) nodeList.elementAt(i);
TableRow[] rows = tag.getRows();
// i是table,j是tr,k是td
for (int j = 0; j < rows.length; j++) {
TableRow tr = (TableRow) rows[j];
TableColumn[] td = tr.getColumns();
for (int k = 0; k < td.length; k++) {
System.out.println("i,j,k是多少:" + i + ":" + j + ":" + k
+ "内容:" + td[k].toPlainTextString());
}
}
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}