生活随笔
收集整理的這篇文章主要介紹了
                                
HtmlParser提取网页中的纯文本信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            轉載自? ?HtmlParser提取網頁中的純文本信息
?HTMLParser 一個解析web頁面的開源類庫。?
????
??? 準備學習下搜索方面的技術,就學習了些網絡爬蟲的知識。最近一直在一個點上困惑,如何提取一個網頁上的純文本信息。要使用正則表達式的話呢,需要考慮很多因素,而且標簽也太多,不是很方便,效果也不好。就準備利用開源包,最后選擇了HtmlParser。?
??? 在網上搜索如何利用HtmlParser提取頁面信息。提取的結果都不是很理想,都包含了很多無用空格信息,還有很多JS代碼。?
如利用如下的代碼:?
public?void?getWebPageContent(String?htmlContent)?{????????????Parser?parser?=?new?Parser();??????????try?{??????????????parser.setInputHTML(htmlContent);??????????????parser.setEncoding(parser.getURL());??????????????HtmlPage?page?=?new?HtmlPage(parser);??????????????parser.visitAllNodesWith(page);????????????????logger.info(page.getTitle());????????????????NodeList?list?=?page.getBody();????????????????StringBuffer?sb?=?new?StringBuffer();??????????????for?(NodeIterator?iterator?=?list.elements();?iterator??????????????????????.hasMoreNodes();)?{??????????????????Node?node?=?iterator.nextNode();??????????????????logger.info(node.toPlainTextString());????????????}?catch?(ParserException?e)?{????????????????????????????e.printStackTrace();??????????}??????}??
就包含了很多的空格信息以及JS代碼。?
后來在HTMLParser的API中的org.htmlparser.beans.StringBean類的描述中找到如下一段文字:
?
Extract?strings?from?a?URL.?????Text?within?<SCRIPT></SCRIPT>?tags?is?removed.????The?text?within?<PRE></PRE>?tags?is?not?altered.????The?property?Strings,?which?is?the?output?property?is?null?until?a?URL?is?set.?So?a?typical?usage?is:?????????StringBean?sb?=?new?StringBean?();???????sb.setLinks?(false);???????sb.setReplaceNonBreakingSpaces?(true);???????sb.setCollapse?(true);???????sb.setURL?("http://www.netbeans.org");?//?the?HTTP?is?performed?here???????String?s?=?sb.getStrings?();?????
利用后,如下:?
???????????public?String?getText(String?url)throws?ParserException{??????????StringBean?sb?=?new?StringBean();??????????????????????????????sb.setLinks(false);????????????????????sb.setReplaceNonBreakingSpaces(true);????????????????????sb.setCollapse(true);????????????????????sb.setURL(url);????????????????????return?sb.getStrings();??????}??
便可以解析出網頁中的純文本信息,而且效果很好
?
                            總結
                            
                                以上是生活随笔為你收集整理的HtmlParser提取网页中的纯文本信息的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。