微信掃碼 立即咨詢

不斷超越客戶的期望值,源自我們對這個(gè)行業(yè)的熱愛
來源:常見問題解疑 - 遠(yuǎn)策科技 | 2022-01-24
火車采集器幾乎所有網(wǎng)頁都能采集,用途很廣。比如網(wǎng)站采集內(nèi)容、采集數(shù)據(jù)挖掘客戶、輿情監(jiān)測、文件批量下載等。我日常主要用于網(wǎng)站日常采集文章,今天分享下如何通過火車采集器得到一個(gè)”標(biāo)準(zhǔn)“的內(nèi)容。
這里所謂的標(biāo)準(zhǔn),是所采集的文章每一個(gè)段落都是<p></p>,沒有多余的HTML標(biāo)簽和與主題無關(guān)的字符。這里我們可以通過 純正則替換 達(dá)到我們的目的。
以下為一些常用的 純正則替換 規(guī)則示例:
清除與正文無關(guān)的內(nèi)容
正則<header>[\s\S]*?</header>|<!--.*?-->| |規(guī)則4|規(guī)則5
替換空
如文中的廣告,注釋等。如果發(fā)布到一些免費(fèi)平臺,有的HTML特殊字符并不會被轉(zhuǎn)化,只需在末尾加入'|&.*?;'過濾掉最后特殊HTML字符即可。
只保留圖片以及常用的塊級元素
正則 (?i)<(?!/?h|/?p|/?div|br|img).*?>
替換空
只保留標(biāo)題標(biāo)簽 h 分段標(biāo)簽 p、div、br 以及圖像標(biāo)簽 img ;前面的(?i)表示不區(qū)分大小寫
把標(biāo)簽修改為p
正則<(?!img)(/?)\w+.*?>
替換<$1p>
去掉除了img標(biāo)簽外的所有標(biāo)簽的選擇器或樣式,并把標(biāo)簽修改為p,如果需要保留其他標(biāo)簽可以參考這樣寫 <(?!img)(?!h)(?!/h)(/?)\w+.*?> 這里是保留img和h標(biāo)題標(biāo)簽
改成標(biāo)準(zhǔn)圖像代碼
正則<img.*?src="(.+?)".*?>
替換<img src="$1">
把亂七八糟的圖像樣式,改成標(biāo)準(zhǔn)圖像代碼
規(guī)范段落標(biāo)簽
正則</?p>
替換</p><p>
規(guī)范段落標(biāo)簽<p>開始</p>結(jié)束,某些站個(gè)別文章,</p>結(jié)束后沒有<p>開始就直接是下個(gè)段落的內(nèi)容
段落去除前后空格
正則 \s*(<\/?p>)\s*
替換$1
把<p>或</p>前后的空格替換為空
去除多余P標(biāo)簽
正則(<p>){2,}|(</p>){2,}
替換$1$2
把連續(xù)2個(gè)以上的<p>或</p>替換為1個(gè)
去除空段落
內(nèi)容<p></p>
替換空
把所有的空段落替換為空,普通替換即可
清理多余標(biāo)簽
正則 ^</p>|<p>$
替換空
由于第五步的關(guān)系,文章開頭可能是</p>結(jié)尾可能是<p>需要清理他們
其他可能用到的
過濾英文正則[a-zA-Z]
過濾兩位以上的數(shù)字(\d{2,100})