html抽取文字資訊-java版(適合lucene建立索引)
import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.beans.StringBean; import org.htmlparser.filters.CssSelectorNodeFilter; import org.htmlparser.util.NodeList; public class HtmlUtil { public static String getText(String html, String id) { try { Parser parser = new Parser(html); NodeFilter filter = new CssSelectorNodeFilter("#" + id); NodeList nList = parser.extractAllNodesThatMatch(filter); return nList == null || nList.size() == 0 ? null : nList.elementAt( 0).toPlainTextString(); } catch (Exception e) { e.printStackTrace(); return null; } } public static String getTextByClass(String html, String css_class) { try { Parser parser = new Parser(html); NodeFilter filter = new CssSelectorNodeFilter("." + css_class); NodeList nList = parser.extractAllNodesThatMatch(filter); return nList == null || nList.size() == 0 ? null : nList.elementAt( 0).toPlainTextString(); } catch (Exception e) { e.printStackTrace(); return null; } } public static String filterText(String text) { if (text == null) return null; text = text.replace(">", ">"); text = text.replace("<", "<"); text = text.replace(""", "\""); text = text.replace(" ", " "); text = text.replace("&", "&"); text = text.replace("©", "©"); text = text.replace(" ", ""); return text; } /** * 獲取網頁中純文字資訊 * * @param html * @param id * @return * @throws Exception * @throws Exception */ public static String getText(String html) throws Exception { StringBean bean = new StringBean(); bean.setLinks(false); bean.setReplaceNonBreakingSpaces(true); bean.setCollapse(true); // 返回解析後的網頁純文字資訊 Parser parser = Parser.createParser(html, "utf-8"); parser.visitAllNodesWith(bean); parser.reset(); return bean.getStrings(); } }
需要用htmlparse.jar庫,呼叫方式如下:
HtmlUtil.getText(htmlStr);
相關推薦
html抽取文字資訊-java版(適合lucene建立索引)
import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.beans.StringBean; import org.htmlparser.filters.Css
資料預處理之抽取文字資訊(2)
摘要:大資料技術與我們日常生活越來越緊密,要做大資料,首要解決資料問題。原始資料存在大量不完整、不一致、有異常的資料,嚴重影響到資料建模的執行效率,甚至可能導致模型結果的偏差,因此要資料預處。資料預處理主要是將原始資料經過文字抽取、資料清理、資料整合、資料處理、資料變換、資料降維等處理後,不
CTP Java 版(Swig)
log export {0} ide java size_t ati parameter vat 參考文檔 感謝這個博主https://blog.csdn.net/pjjing/article/details/53186394https://my.oschina.net/q
【敏捷開發】經驗構件庫-Java版(exp-libs)
完整原文(含原始碼):http://exp-blog.com/2018/09/22/pid-2382/ (轉載請註明出處,僅供分享學習,嚴禁用於商業用途) 環境 簡介 此構件庫為本人多年程式設計總結提煉而成,把常用的功能模組作為原子API
【暗戀不可恥但無用】QQ空間爬蟲-Java版(jzone-crawler)
完整原文(含 原始碼 與 釋出版 下載):http://exp-blog.com/2018/09/15/pid-2347/ (轉載請註明出處,僅供分享學習,嚴禁用於商業用途) 宣告 在你心中是否有一個默默關注的小姐姐? 你是否想知道在遇見她之前
★ Python爬蟲 - 爬取網頁文字資訊並儲存(美文的爬取與儲存)
本篇文章所包含的主要內容: 使用requests模組實現對網頁以字串的形式儲存 使用open()、write()、close()函式實現檔案的開啟與寫入 使用if() 條件語句對所需要的文字資訊進行過濾以形成一個專用提取函式 &n
uploadify在火狐下上傳不了的解決方案,java版(Spring+SpringMVC+MyBatis)詳細解決方案
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
JAVA中IO流文字檔案的操作(BufferedWriter和BufferedReader 緩衝區)
JAVA 中 字元流的緩衝區 分為了BufferedWriter 和BufferedReader 先講BufferedWriter 作用: 緩衝區要結合流才可以使用,而且在流的基礎上對流的功能進行了增強。我們也可以說,在我們以後的實際運用之中,為了增強一下I
leetcode解題之136 #Single Number Java版(只出現一次的數字)
136. Single Number Given an array of integers, every element appearstwice except for one. Find tha
微信跳一跳輔助之JAVA版(最容易理解的演算法)實現原理分析
上幾周更新微信後,進入歡迎介面就提示出讓玩一把微信小遊戲《跳一跳》。一向不愛玩遊戲的我(除了經典QQ飛車、CS外),當時抱著沒興趣的態度簡單看了下,沒有玩。與朋友玩耍時,常聽他們聊起這個小遊戲,偶爾也在網頁和微信公眾號上看見些關於這個小遊戲的一些話題,為了不落伍,我決定繼續
leetcode解題之 Search a 2D Matrix java 版(在二維矩陣中查詢)
74. Search a 2D Matrix Write an efficient algorithm that searches for a value in anm x n matrix.
超簡單JSP人員資訊管理系統(適合新手練手用)
自己以前閒著沒事寫的JSP小專案,適合剛學完JSP拿來練手的朋友。 github地址: https://github.com/mudfish/userManager 專案說明: 軟體需求: 開發工具:eclipse 資料庫:mysql 應用伺服器:t
A*自動尋路演算法—java版(八方向版)
上一篇部落格分享了Java版的自動尋路,但是隻是上下左右四個方向的,今天把八方向的也分享出來。既然四方向的已經成功了,那麼改進成八方向的,只要注意兩個地方就可以了,一個是獲取四周方塊的時候,一個是移動的時候。一、獲取四周方塊在autofindway.java中新增靜態變數,用
Java基礎(適合新學者和架構師閱讀)
近日為了複習CoreJava故自己收集了很多書籍彙編成以下java最核心的內容:參考出處(Java從入門到精通,Java學習手冊(app))備註:我不留對別人毫無用處的博文,所以如果對你有用處請評論。否則,一個月過後沒有超過500我會自行刪除。 Java的誕生與發展
leetcode解題之 11. Container With Most Water Java版(最大盛水容積)
11. Container With Most Water Given n non-negative integers a1, a2, ..., an, where each represen
leetcode解題之 15. 3Sum Java版(結果為目標值的三個數字)
15. 3Sum Given an array S of n integers, are there elementsa, b, c in S such that a + b +c = 0?
HtmlParser提取網頁中的純文字資訊-java
HTMLParser 一個解析web頁面的開源類庫。 準備學習下搜尋方面的技術,就學習了些網路爬蟲的知識。最近一直在一個點上困惑,如何提取一個網頁上的純文字資訊。要使用正則表示式的話呢,需要考慮很多因素,而且標籤也太多,不是很方便,效果也不好。就準備利用開源包,最後選擇了HtmlPar
leetcode解題之69.Sqrt(x) & 367. Valid Perfect Square Java版 (求一個數的平方根)
69. Sqrt(x) Implement int sqrt(int x). Compute and return the square root of x. 求一個數的平方根,並向下取整。
python--DenyHttp項目(2)--ACM監考客戶端測試版(1階段完成總結)
tdi text class 測試版 window etl operate comm decode 客戶端: ‘‘‘ DenyManager.py 調用客戶端與客戶端界面 ‘‘‘ from DenyClient import * from DenyGui import