c 正規表示式對網頁進行有效內容抽取

2021-09-05 20:41:36 字數 1786 閱讀 3747

搜尋引擎中乙個比較重要的環節就是從網頁中抽取出有效內容。簡單來說,就是吧html文字中的html標記去掉,留下我們用ie等瀏覽器開啟html文件看到的部分(我們這裡不考慮).

將html文字中的標記分為:注釋,script ,style,以及其他標記分別去掉:

1.去注釋,

正則為:

output = regex.replace(input, @"", string.empty, regexoptions.ignorecase);

2.去script,

正則為:

ouput = regex.replace(input, @"", string.empty, regexoptions.ignorecase | regexoptions.singleline);

output2 = regex.replace(ouput , @"", string.empty, regexoptions.ignorecase | regexoptions.singleline);

3.去style,

正則為:

output = regex.replace(input, @"", string.empty, regexoptions.ignorecase | regexoptions.singleline);

4.去其他html標記

result = result.replace(" ", " ");

result = result.replace(""", "\"");

result = result.replace("<", "<");

result = result.replace(">", ">");

result = result.replace("&", "&");

result = result.replace("

", "\r\n");

result = regex.replace(result, @"<[\s\s]*?>", string.empty, regexoptions.ignorecase);

以上的**中大家可以看到,我使用了regexoptions.singleline引數,這個引數很重要,他主要是為了讓"."(小圓點)可以匹配換行符.如果沒有這個引數,大多數情況下,用上面列

正規表示式來消除網頁html標記是無效的.

html發展至今,語法已經相當複雜,上面只列出了幾種最主要的標記,更多的去html標記的

正則我將在

rost webspider 的開發過程中補充進來。

下面用c#實現了乙個從html字串中提取有效內容的類:

using system;

using system.collections.generic;

using system.text;

using system.text.regularexpressions;

class htmlextract

public override string extracttext()

#endregion

#region private methods

private string removecomment(string input)

private string removestyle(string input)

private string removescript(string input)

private string removetags(string input)

#endregion

c 正規表示式對網頁進行內容抓取

原文 c 正規表示式對網頁進行內容抓取 搜尋引擎中乙個比較重要的環節就是從網頁中抽取出有效內容。簡單來說,就是吧html文字中的html標記去掉,留下我們用ie等瀏覽器開啟html文件看到的部分 我們這裡不考慮 將html文字中的標記分為 注釋,script style,以及其他標記分別去掉 1.去...

正規表示式採集網頁內容函式

rule title arr preg message content,rule print r arr 按正規表示式提取需要的內容 規定 關鍵字 屬性 提取文字,其中關鍵字和屬性是可限項,屬性符佔乙個字元 匹配任意文字 關鍵字命名規範 單詞 數字和下劃線任意組合 屬性 u 提取的字串是url p ...

ObjC利用正規表示式抓取網頁內容

在開發專案的過程,很多情況下我們需要利用網際網路上的一些資料,在這種情況下,我們可能要寫乙個爬蟲來爬我們所需要的資料。一般情況下都是利用正規表示式來匹配html,獲取我們所需要的資料。一般情況下分以下三步。1 獲取網頁的html 2 利用正規表示式,獲取我們所需要的資料 3 分析,使用獲取到的資料,...