{dede:field.typename/}資訊

探知 • 創造美(měi)好

不斷超越客戶的(de)期望值,源自我們對(duì)這(zhè)個(gè)行業的(de)熱(rè)愛(ài)

火車頭采集器如何過濾掉多(duō)餘的(de)标簽(純正則替換)

來(lái)源:常見問題解疑 - 遠(yuǎn)策科技 | 2022-01-24

火車采集器幾乎所有網頁都能采集,用(yòng)途很廣。比如網站采集内容、采集數據挖掘客戶、輿情監測、文件批量下(xià)載等。我日常主要用(yòng)于網站日常采集文章(zhāng),今天分(fēn)享下(xià)如何通(tōng)過火車采集器得(de)到一個(gè)”标準“的(de)内容。


這(zhè)裏所謂的(de)标準,是所采集的(de)文章(zhāng)每一個(gè)段落都是<p></p>,沒有多(duō)餘的(de)HTML标簽和(hé)與主題無關的(de)字符。這(zhè)裏我們可(kě)以通(tōng)過 純正則替換 達到我們的(de)目的(de)。


以下(xià)爲一些常用(yòng)的(de) 純正則替換 規則示例:


清除與正文無關的(de)内容

正則<header>[\s\S]*?</header>|<!--.*?-->| |規則4|規則5 

替換空

如文中的(de)廣告,注釋等。如果發布到一些免費平台,有的(de)HTML特殊字符并不會被轉化(huà),隻需在末尾加入'|&.*?;'過濾掉最後特殊HTML字符即可(kě)。


隻保留圖片以及常用(yòng)的(de)塊級元素

正則 (?i)<(?!/?h|/?p|/?div|br|img).*?> 

替換空

隻保留标題标簽 h 分(fēn)段标簽 p、div、br 以及圖像标簽 img ;前面的(de)(?i)表示不區(qū)分(fēn)大(dà)小寫


把标簽修改爲p

正則<(?!img)(/?)\w+.*?> 

替換<$1p>

去掉除了(le)img标簽外的(de)所有标簽的(de)選擇器或樣式,并把标簽修改爲p,如果需要保留其他(tā)标簽可(kě)以參考這(zhè)樣寫 <(?!img)(?!h)(?!/h)(/?)\w+.*?> 這(zhè)裏是保留img和(hé)h标題标簽


改成标準圖像代碼

正則<img.*?src="(.+?)".*?> 

替換<img src="$1">

把亂七八糟的(de)圖像樣式,改成标準圖像代碼


規範段落标簽

正則</?p>

替換</p><p>

規範段落标簽<p>開始</p>結束,某些站個(gè)别文章(zhāng),</p>結束後沒有<p>開始就直接是下(xià)個(gè)段落的(de)内容


段落去除前後空格

正則 \s*(<\/?p>)\s* 

替換$1

把<p>或</p>前後的(de)空格替換爲空


去除多(duō)餘P标簽

正則(<p>){2,}|(</p>){2,}

替換$1$2

把連續2個(gè)以上的(de)<p>或</p>替換爲1個(gè)


去除空段落

内容<p></p> 

替換空

把所有的(de)空段落替換爲空,普通(tōng)替換即可(kě)


清理(lǐ)多(duō)餘标簽

正則 ^</p>|<p>$

替換空

由于第五步的(de)關系,文章(zhāng)開頭可(kě)能是</p>結尾可(kě)能是<p>需要清理(lǐ)他(tā)們


其他(tā)可(kě)能用(yòng)到的(de)

過濾英文正則[a-zA-Z]

過濾兩位以上的(de)數字(\d{2,100})


多(duō)一份參考,總有益處

131-1155-0088 / 159-3167-7513

遠(yuǎn)策 - 建站推廣一站式服務

您可(kě) 微信掃碼 或 撥打電話(huà) 咨詢
在線咨詢 稍後再說

131-1155-0088