public class ParseWork {
private Parser parser;
public ParseWork(String htmlAddress) throws ParserException {
parser = new Parser(htmlAddress);
}
/**
* 获取网页标题和正文组成的文本
* **/
protected String getText(String elementId) throws ParserException{
NodeFilter TitleFilter = new NodeClassFilter(TitleTag.class);
NodeFilter ElementIdFilter = new HasAttributeFilter("id", elementId);
OrFilter orFilter = new OrFilter(TitleFilter, ElementIdFilter); //做一个逻辑OR Filter组合
NodeList list = parser.extractAllNodesThatMatch(orFilter);
StringBuffer text = new StringBuffer();
for (int i = 0; i < list.size(); i++)
text = text.append(list.elementAt(i).toPlainTextString() + "\r\n");
return text.toString().trim();
}
public static void main(String[] args) throws ParserException, IOException {
ParseWork p = new ParseWork("E://JavaEye新闻.htm");
String mainText = p.getText("news_content");
//写网页正文文件
FileUtils.writeStringToFile(new File("E://javaeye新闻.txt"), mainText, "utf-8");
//摘要
}
}
使用HtmlParser的Filter实例:根据id获取相应div文本
最新推荐文章于 2022-06-01 08:54:59 发布