來(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})