一、實現思路
為了能夠判斷最新從網站上抓取的新聞是否已經存在于本地數據庫,需要拿最新抓取的新聞和數據庫中的新聞逐條進行比對得出相似度最大的一個值,后期可以通過設定相應的閥值來讓系統判斷假如相似度為80%就認為數據庫中已經存在了目前將要插入數據庫的新聞,禁止再次放入數據庫從而達到去重的目的。
二、具體實現
本項目新聞去重采用的是谷歌公司的google-diff-match-patch算法來計算兩條新聞的相似度。(原理說明:使用兩條待比較的內容中的一條為模板,把另一條向作為模板的一條進行復原,統計出復原的步數,再計算出復原成模板最壞情況下的步數,用最壞情況下復原成模板的步數減去實際復原所用的步數再除以最壞情況下的步數即為兩個帶比較文本的相似度。)
核心代碼如下: