html內容提取

2021-08-24 21:03:59 字數 929 閱讀 7986

前段時間,一直在弄html提取問題,可謂道路曲折(當然,現在看來是走了些彎路),現小結一下。

總得來說,一般有三種方法:

第一種方法:直接提取

即只提取除"<........>"之外的的東東,具體實現上,可以直接獲取「>........<"之內的文字,也可以先踢出"<...........>"之內的文字。這裡給出直接獲取「>........<"之內的文字的程式片段。

注意了,這種方法思路簡單,但效果不佳,原因顯而易見,主要是html檔案的特點及其相關語法決定的。如果你照此思路,結果可能讓你多少有些失望,當然如果你要求不高,此法勉強可以接受。

第二種方法:用w3c有關知識

說明一下,本方法需要有w3c.dom知識,只有熟練掌握,方可有「正果「可修,建議無畏者(如果你已有此知識積累不算此列)可以嘗試,會有不小收穫的哦。

第三種:運用正規表示式知識

正規表示式是個好東西哦,小巧靈活,像個小螺絲似的,關鍵時刻有時還真能發揮大作用,不多說廢話,其思想是把我們所不需要的東西剔除掉,思路類似上一 ,但這裡為突出正規表示式的作用,就單列了。其有關程式如下:

//得到body標籤中的內容        

string str= readhtml(filepath);

int begin = str.indexof("", " ");

str = str.replaceall("<[ss][tt][yy][ll][ee].*?", " ");

str = str.replaceall(" ", " ");

str = str.replaceall("<.*?>", " ");

str = str.replaceall("\\s+"," ");

有關正規表示式的基礎知識在此就不做介紹了。 

ok,大體如此而已,這裡僅提供大致的思路,當然由於知識有限,見識有限,如有其他好的方法,還希望各位高手指教。

提取公共內容

對於乙個良好的系統,介面一般都會用到統一的風格。如此,客戶體驗也肯定不錯,給人一種有始有終的感覺。在開發上,也就要求技術上具有很大程度上的統一口徑,利於開發,提高了生產力。後期維護時也能很明顯感覺到抽取公共模組功能所帶來的極大便利性。可能剛開始需要一定的人力投入,影響一定的專案進度,但是這終歸不能成...

正則匹配提取多個重複的html標籤內容

遇到這樣的場景 有乙個html標籤如下 str sddf aaahbaskdf vvvasgd ccchrgew4r4 我需要提取標籤中 中間的內容 即aaa,vvv和ccc 如果使用preg match直接匹配,如下 preg br 然後匹配 res preg match preg,str,mat...

HTML中提取文字內容,去掉標籤樣式等

作者 王之渙 朝代 唐 譯文對照 白日依山盡,黃河入海流。夕陽依傍著西山慢慢地沉沒,滔滔黃河朝著東海洶湧奔流。欲窮千里目,更上一層樓。private static final string regex script s s 定義script的正規表示式 private static final st...