• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于MD5指紋的網(wǎng)頁(yè)內(nèi)容去重機(jī)制

    2021-03-07 07:18:28丁橋宋曉駿余思瑩
    電子技術(shù)與軟件工程 2021年22期
    關(guān)鍵詞:爬蟲(chóng)研判網(wǎng)頁(yè)

    丁橋 宋曉駿 余思瑩

    (中國(guó)電信股份有限公司上海分公司信息網(wǎng)絡(luò)部 上海市 200085)

    1 引言

    用戶規(guī)模持續(xù)增長(zhǎng),下沉市場(chǎng)用戶加快拓展。隨著網(wǎng)絡(luò)提速降費(fèi)的推進(jìn)和智能手機(jī)終端的推廣,互聯(lián)網(wǎng)內(nèi)容大幅增加。而與此同時(shí),某些不法分子也開(kāi)始利用網(wǎng)絡(luò)來(lái)傳播色情、詐騙、賭博等不良信息,由此造成的信息安全問(wèn)題。根據(jù)“誰(shuí)主管誰(shuí)負(fù)責(zé),誰(shuí)審批誰(shuí)負(fù)責(zé),誰(shuí)經(jīng)營(yíng)誰(shuí)負(fù)責(zé),誰(shuí)接入誰(shuí)負(fù)責(zé)”原則,電信運(yùn)營(yíng)商在大力發(fā)展業(yè)務(wù)的同時(shí),也感受到前所未有的來(lái)自信息安全方面的壓力。信息內(nèi)容安全主要針對(duì)網(wǎng)站網(wǎng)頁(yè)進(jìn)行爬蟲(chóng)采集,通過(guò)關(guān)鍵字過(guò)濾,結(jié)合語(yǔ)義智能分析、人工識(shí)別等方式,鑒別出有害的內(nèi)容,進(jìn)而采取網(wǎng)頁(yè)刪除、IP封堵等方式下線有害內(nèi)容,維護(hù)互聯(lián)網(wǎng)健康的環(huán)境。本文主要關(guān)注在網(wǎng)站網(wǎng)頁(yè)爬蟲(chóng)采集階段,如何采用網(wǎng)頁(yè)內(nèi)容去重技術(shù),快速比對(duì)出已經(jīng)處理入庫(kù)的安全網(wǎng)頁(yè)和需要后續(xù)處理的“新”網(wǎng)頁(yè),去除大量爬取來(lái)的重復(fù)網(wǎng)頁(yè),降低后續(xù)處理量,提高不良信息的監(jiān)測(cè)和處理效率。

    2 技術(shù)原理

    2.1 分布式爬蟲(chóng)

    本文針對(duì)采集的網(wǎng)頁(yè)數(shù)量龐大(億級(jí)),單個(gè)的爬蟲(chóng)無(wú)法完成,因此爬蟲(chóng)必須基于分布式架構(gòu)。通過(guò)建立分布式爬蟲(chóng),提高爬蟲(chóng)覆蓋面,提升網(wǎng)頁(yè)獲取速度,同時(shí)提高爬取質(zhì)量,為不良信息監(jiān)測(cè)提供覆蓋面廣泛,時(shí)效性高,具有一定深度的數(shù)據(jù)。

    為提高爬蟲(chóng)效率,保證數(shù)據(jù)獲取的時(shí)效性。爬蟲(chóng)模塊的構(gòu)建是分布式多爬蟲(chóng)共享隊(duì)列的主題爬蟲(chóng)。主要特點(diǎn)如下:

    分布式爬蟲(chóng):為了提高爬蟲(chóng)的并發(fā)及穩(wěn)定性,將建設(shè)分布式爬蟲(chóng)抓取系統(tǒng),主要包括以下功能,爬取策略的設(shè)計(jì),增量爬取,請(qǐng)求去重,爬蟲(chóng)防屏蔽中間件,網(wǎng)頁(yè)非200狀態(tài)處理,爬蟲(chóng)下載異常處理和數(shù)據(jù)存儲(chǔ)。

    結(jié)構(gòu)化采集技術(shù):對(duì)非結(jié)構(gòu)化的網(wǎng)頁(yè)數(shù)據(jù)在采集的時(shí)候進(jìn)行結(jié)構(gòu)化的信息抽取和數(shù)據(jù)存儲(chǔ),以滿足多維度的信息挖掘和統(tǒng)計(jì)需要。

    定時(shí)監(jiān)控:可根據(jù)需求進(jìn)行定時(shí)監(jiān)控,實(shí)際應(yīng)用中擬實(shí)現(xiàn)小時(shí)級(jí)的采集更新。

    反爬策略應(yīng)對(duì):目前不少網(wǎng)站都運(yùn)用了反爬蟲(chóng)技術(shù)來(lái)阻止外來(lái)訪客進(jìn)行高頻大量的數(shù)據(jù)爬取,這給數(shù)據(jù)爬取帶來(lái)了不小的困難。針對(duì)各種可能存在的反爬策略,可通過(guò)cookie池,模擬點(diǎn)擊,逆向JS等來(lái)預(yù)防應(yīng)對(duì)。

    2.2 網(wǎng)頁(yè)去重

    爬蟲(chóng)爬取采集到的大量網(wǎng)頁(yè)中,會(huì)有很多重復(fù)數(shù)據(jù),因此需要設(shè)計(jì)去重算法,針對(duì)海量千萬(wàn)級(jí)的數(shù)據(jù)進(jìn)行高效的合并去重。如何快速全面發(fā)現(xiàn)這些重復(fù)信息.快速準(zhǔn)確地去重這些內(nèi)容上相同或相似的網(wǎng)頁(yè)已經(jīng)成為快速識(shí)別有害網(wǎng)頁(yè)的關(guān)鍵技術(shù)之一。

    根據(jù)網(wǎng)頁(yè)內(nèi)容的匹配程度、顆粒度特點(diǎn)分為:URL去重、內(nèi)容去重、網(wǎng)頁(yè)去重三個(gè)級(jí)別。

    URL去重是針對(duì)同一來(lái)源的輿情數(shù)據(jù)進(jìn)行去重,去除已經(jīng)爬取過(guò)的URL,避免重復(fù)爬取影響爬蟲(chóng)效率,以及冗余數(shù)據(jù)產(chǎn)生。

    內(nèi)容去重是指有些熱點(diǎn)輿情具有集中程度高的特點(diǎn),熱點(diǎn)新聞的重復(fù)率遠(yuǎn)高于其他內(nèi)容,由于人們對(duì)這些信息的關(guān)注,致使互聯(lián)網(wǎng)上各網(wǎng)站爭(zhēng)相轉(zhuǎn)載,尤其是新近發(fā)布的熱點(diǎn)信息,時(shí)間集中程度高,其內(nèi)容和結(jié)構(gòu)高度一致,因此對(duì)輿情內(nèi)容的去重依據(jù)標(biāo)題及正文級(jí)別兩個(gè)級(jí)別,對(duì)標(biāo)題使用較為寬松的相似度計(jì)算方法,對(duì)輸入的文本進(jìn)行分詞,去除沒(méi)有意義的通用詞和高頻詞,對(duì)標(biāo)題相似的文檔再進(jìn)行內(nèi)容相似度的計(jì)算。

    網(wǎng)頁(yè)去重是通過(guò)技術(shù)手段對(duì)已處理的網(wǎng)頁(yè)進(jìn)行標(biāo)注,后續(xù)的網(wǎng)頁(yè)的處理過(guò)程中通過(guò)對(duì)標(biāo)注進(jìn)行快速比對(duì),就可以避免網(wǎng)頁(yè)重復(fù)處理,從而提高有害網(wǎng)頁(yè)的識(shí)別速度。目前常用技術(shù)手段是通過(guò)hash編碼等文本向數(shù)字串映射方式以方便后續(xù)的特征存儲(chǔ)以及特征比較.起到減少存儲(chǔ)空間,加快比較速度的作用。每個(gè)網(wǎng)頁(yè)都采用hash函數(shù)編碼(比如MD5),這樣只要編碼相同就說(shuō)明網(wǎng)頁(yè)完全相同[1]。

    本文主要描述網(wǎng)頁(yè)去重的實(shí)現(xiàn)。網(wǎng)頁(yè)去重的帶來(lái)的好處有以下兩點(diǎn):

    (1)能大幅提升爬蟲(chóng)爬取網(wǎng)頁(yè)的效率,對(duì)于相同網(wǎng)頁(yè)不需要重復(fù)判斷其內(nèi)容是否是屬于有害信息。

    (2)能夠節(jié)省一部分存儲(chǔ)空間,進(jìn)而可以利用這部分空間來(lái)存放更多的有效網(wǎng)頁(yè)內(nèi)容,同時(shí)也提高了爬蟲(chóng)數(shù)據(jù)的質(zhì)量[2][3]。

    2.3 MD5指紋

    MD5信息摘要算法是一種流行的散列算法標(biāo)準(zhǔn),它是為任何文件,不管其大小格式,都提取出128位的摘要信息,形成數(shù)字“指紋”。這樣的“指紋”可以用于密碼管理、電子簽名、垃圾郵件篩選等各種用途。MD5是128bit的散列碼,其安全性還是能得到保障的。具有相同散列碼的兩個(gè)網(wǎng)頁(yè)需要2的64次方數(shù)量級(jí)的操作,所以對(duì)于網(wǎng)頁(yè)來(lái)說(shuō),通過(guò)采用MD5算法對(duì)網(wǎng)頁(yè)進(jìn)行計(jì)算,得到的MD5值作為網(wǎng)頁(yè)的“獨(dú)一無(wú)二”的標(biāo)志是可行的。再通過(guò)對(duì)MD5值進(jìn)行快速地比對(duì)和篩選,就等于對(duì)網(wǎng)頁(yè)進(jìn)行快速地比對(duì)和篩選,大幅提高網(wǎng)頁(yè)的去重比對(duì)能力[4][5]。

    2.4 Redis集群

    Redis是目前流行的NoSQL數(shù)據(jù)庫(kù)之一,包含多種數(shù)據(jù)結(jié)構(gòu)、支持網(wǎng)絡(luò)、基于內(nèi)存、可選持久化的鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)。應(yīng)用場(chǎng)景包括高頻讀、低頻寫(xiě)的緩存系統(tǒng)、消息隊(duì)列系統(tǒng)、社交網(wǎng)絡(luò)和實(shí)時(shí)系統(tǒng)。Redis 是目前公認(rèn)的速度最快的基于內(nèi)存的鍵值對(duì)數(shù)據(jù)庫(kù),可作為臨時(shí)數(shù)據(jù)的緩存區(qū),可以充分利用內(nèi)存的高速讀寫(xiě)能力大大提高網(wǎng)頁(yè)比對(duì)速度。因本文需要的比對(duì)網(wǎng)頁(yè)數(shù)量巨大,所以需要采用Redis集群來(lái)進(jìn)行處理,

    3 實(shí)施方法

    Redis集群在識(shí)別過(guò)程中存儲(chǔ)兩部分MD5指紋數(shù)據(jù):一是比對(duì)程序判定為正常圖片的 MD5指紋,二是比對(duì)程序判定為正常文本的 MD5指紋。比對(duì)程序接收到爬蟲(chóng)上傳的壓縮包,解壓后再進(jìn)行Redis過(guò)濾,提取文本、圖片的 MD5依次在上述的Redis數(shù)據(jù)庫(kù)中查詢。如果能查到一樣的MD5值,按照隊(duì)列的標(biāo)識(shí)對(duì)文本、圖片進(jìn)行相應(yīng)去重處理,并刷新庫(kù)中數(shù)據(jù)的有效時(shí)間。完成 Redis過(guò)濾后再進(jìn)行模型識(shí)別,對(duì)識(shí)別為非重復(fù)的文本、圖片 MD5指紋再進(jìn)行入庫(kù)。

    另外比對(duì)程序會(huì)單獨(dú)開(kāi)一個(gè)線程來(lái)對(duì) Redis 中的MD5指紋數(shù)據(jù)有效性進(jìn)行檢測(cè),目前緩存數(shù)據(jù)的時(shí)間是一個(gè)月,對(duì)距離當(dāng)前檢查時(shí)間超過(guò)一個(gè)月的數(shù)據(jù)記錄進(jìn)行刪除。采用該措施主要是為了避免Redis存儲(chǔ)的MD5指紋數(shù)據(jù)長(zhǎng)期不清理,導(dǎo)致數(shù)據(jù)量過(guò)大,從而影響到新進(jìn)的MD5指紋和數(shù)據(jù)庫(kù)中存儲(chǔ)的MD5指紋之間的比對(duì)效率。

    3.1 具體流程

    本流程已經(jīng)經(jīng)過(guò)實(shí)際的軟件開(kāi)發(fā)實(shí)現(xiàn)全部的功能,完成了網(wǎng)頁(yè)內(nèi)容去重,獲得數(shù)據(jù)比對(duì)效率的提升,具體步驟如下:

    (1)建立爬蟲(chóng)任務(wù)后爬蟲(chóng)模塊對(duì)目標(biāo)頁(yè)面進(jìn)行數(shù)據(jù)爬取,爬蟲(chóng)將記錄爬取數(shù)據(jù)的壓縮包下載保存。

    (2)比對(duì)程序解壓爬取的壓縮包,并提取新增爬取的頁(yè)面及圖片。

    (3)比對(duì)程序?qū)⑻崛〉捻?yè)面和圖片與Redis庫(kù)中記錄的存量MD5指紋數(shù)據(jù)進(jìn)行比對(duì),判斷新增頁(yè)面和圖片是否有歷史記錄。

    (4)如與Redis庫(kù)中的MD5指紋庫(kù)比對(duì)重復(fù),則該新增爬取內(nèi)容有歷史記錄,無(wú)需再進(jìn)行不良信息內(nèi)容的識(shí)別,直接讀取其歷史研判結(jié)果。歷史研判結(jié)果為不良信息的直接生成處置任務(wù)進(jìn)行人工審核及處置,研判結(jié)果為正常內(nèi)容則直接過(guò)濾丟棄。

    (5)如與Redis庫(kù)中的MD5指紋庫(kù)比對(duì)沒(méi)有重復(fù),則所爬取的內(nèi)容為新增爬取內(nèi)容,提取記錄其MD5指紋。對(duì)其進(jìn)行不良信息內(nèi)容識(shí)別,研判為不良信息的頁(yè)面內(nèi)容則生成處置流程進(jìn)行人工審核,研判為正常頁(yè)面內(nèi)容則流程結(jié)束。

    不論新增爬取內(nèi)容的研判結(jié)果是否為不良內(nèi)容,都應(yīng)記錄研判結(jié)果并與其MD5指紋關(guān)聯(lián),成為新的存量?jī)?nèi)容識(shí)別結(jié)果庫(kù),并增量更新進(jìn)RedisMD5指紋庫(kù)中。網(wǎng)頁(yè)去重流程圖如圖1所示。

    圖1:網(wǎng)頁(yè)去重流程圖

    4 使用效果

    本文通過(guò)存量安全MD5指紋庫(kù)庫(kù)結(jié)合Redis集群多線程識(shí)別,可借助Redis集群實(shí)現(xiàn)海量網(wǎng)頁(yè)的獨(dú)立去重,避免單機(jī)內(nèi)存不足的尷尬。同時(shí)增加了Redis集群識(shí)別緩存功能,當(dāng)識(shí)別引擎對(duì)爬蟲(chóng)爬取的文件進(jìn)行識(shí)別時(shí),將識(shí)別為正常的頁(yè)面生成一個(gè)MD5指紋并錄入到Redis集群,當(dāng)循環(huán)任務(wù)中重復(fù)爬取到同個(gè)頁(yè)面時(shí),識(shí)別引擎優(yōu)先比對(duì)Redis集群中存有的MD5指紋。對(duì)MD5指紋未變更的頁(yè)面直接判定為安全頁(yè)面,不再進(jìn)行后續(xù)特征識(shí)別,提升系統(tǒng)識(shí)別效率20倍以上。

    猜你喜歡
    爬蟲(chóng)研判網(wǎng)頁(yè)
    利用網(wǎng)絡(luò)爬蟲(chóng)技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說(shuō)
    徐州市超前研判 做好春節(jié)安全防范
    基于Python的網(wǎng)絡(luò)爬蟲(chóng)和反爬蟲(chóng)技術(shù)研究
    研判當(dāng)前貨幣政策走勢(shì)的“量”與“價(jià)”
    研判當(dāng)前貨幣政策的“變”與“不變”
    基于CSS的網(wǎng)頁(yè)導(dǎo)航欄的設(shè)計(jì)
    電子制作(2018年10期)2018-08-04 03:24:38
    利用爬蟲(chóng)技術(shù)的Geo-Gnutel la VANET流量采集
    基于CRF文本挖掘的事故研判分析
    基于URL和網(wǎng)頁(yè)類型的網(wǎng)頁(yè)信息采集研究
    電子制作(2017年2期)2017-05-17 03:54:56
    大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲(chóng)技術(shù)
    電子制作(2017年9期)2017-04-17 03:00:46
    民乐县| 荣昌县| 泰兴市| 泰宁县| 资兴市| 定边县| 辛集市| 京山县| 香河县| 建平县| 如东县| 河池市| 霍城县| 吉木乃县| 昌江| 海原县| 永登县| 定陶县| 六枝特区| 聂荣县| 吴旗县| 莒南县| 平邑县| 彰化市| 景洪市| 公安县| 西昌市| 肥西县| 贺兰县| 荆州市| 乌兰浩特市| 安平县| 汨罗市| 浦北县| 五河县| 萨嘎县| 淮北市| 屏南县| 洛隆县| 定襄县| 栖霞市|