王小珍
[摘要]文章根據(jù)目前網(wǎng)絡視聽節(jié)目監(jiān)管系統(tǒng)中視聽節(jié)目數(shù)據(jù)采集技術(shù)的現(xiàn)狀,通過分析歸納出目標Web頁面編碼元素的共有特征,提出一種基于視聽節(jié)目識別技術(shù)的通用型模板主題爬蟲程序,并分析研究網(wǎng)站遍歷策略及多進程協(xié)同并行執(zhí)行策略等關鍵技術(shù),以大幅降低網(wǎng)絡視聽節(jié)目監(jiān)管系統(tǒng)的維護成本,提高其監(jiān)管工作的智能化水平,為研究建立高效的網(wǎng)絡視聽節(jié)目監(jiān)管系統(tǒng)提供參考。
[關鍵詞]網(wǎng)絡視聽節(jié)目;主題爬蟲;廣度優(yōu)先搜索;多進程調(diào)度
近十年,網(wǎng)絡視聽媒體發(fā)展迅速,視聽節(jié)目傳播數(shù)量呈爆發(fā)式增長,并呈現(xiàn)數(shù)據(jù)更新頻繁、內(nèi)容豐富多樣等特點。網(wǎng)絡視聽媒體平臺在提供豐富多樣的節(jié)目的同時,也為一些“丑、色、怪、假、俗、賭”等各類違法違規(guī)信息提供了傳播渠道,損害了網(wǎng)絡視聽媒體的影響力和公信力,助長了社會不良風氣。因此,建立智能化的網(wǎng)絡視聽節(jié)目監(jiān)管系統(tǒng),推動監(jiān)管系統(tǒng)創(chuàng)新發(fā)展,在海量數(shù)據(jù)信息中快速、準確地提取出視聽節(jié)目,及時發(fā)現(xiàn)和解決各類違法違規(guī)問題,對構(gòu)建風清氣正的網(wǎng)絡視聽環(huán)境具有積極意義。
目前,大多數(shù)網(wǎng)絡視聽節(jié)目監(jiān)管系統(tǒng)主要通過定制模板爬蟲程序的方式來采集目標網(wǎng)站數(shù)據(jù)信息,此類模式的爬蟲程序需要人工歸納和提取目標網(wǎng)站W(wǎng)eb頁面中視聽節(jié)目的所屬板塊、上傳者、下載地址等信息來作為該網(wǎng)站爬蟲程序的模板。其優(yōu)點是采集數(shù)據(jù)準確率高,但若網(wǎng)站發(fā)生改版,模板程序匹配不到對應的屬性信息,則會導致無法抓取到網(wǎng)站數(shù)據(jù),這就需要技術(shù)員重新修改爬蟲程序模板,才能采集到所需數(shù)據(jù)。此類定制模板爬蟲程序根據(jù)特定網(wǎng)站屬性而制作,因此不適用于其他網(wǎng)站數(shù)據(jù)信息的采集,其擴展性和通用性較差。文章研究通用型模板主題爬蟲程序,使其普遍適用于網(wǎng)絡視聽節(jié)目服務網(wǎng)站的視聽節(jié)目數(shù)據(jù)采集,并為構(gòu)建智能化網(wǎng)絡視聽監(jiān)管系統(tǒng)提供具有參考意義的案例。
一、通用型模板主題爬蟲程序的實現(xiàn)
主題爬蟲程序是一個自動提取與主題信息相關網(wǎng)頁的搜索程序。其具有三個方面的核心技術(shù)問題,一是設定采集數(shù)據(jù)目標的描述或定義;二是網(wǎng)頁數(shù)據(jù)信息的過濾與分析;三是網(wǎng)站URL的遍歷策略。文章討論的通用型模板主題爬蟲程序預設置主題相關信息為視聽節(jié)目特征元素,采用文字密度頁面分析技術(shù),提取出與主題相關的視聽節(jié)目鏈接,而網(wǎng)站遍歷策略則以廣度優(yōu)先搜索策略與“海撈”算法相結(jié)合的方式來采集目標數(shù)據(jù)信息。
(一)視聽節(jié)日特征元素
在網(wǎng)絡視聽節(jié)目服務網(wǎng)站中,不同的開發(fā)者雖然在采用技術(shù)及代碼方面存在一定的差異,但是也會遵循統(tǒng)一的技術(shù)規(guī)范。文章在對大量Web頁面?zhèn)鞑ヒ暵牴?jié)目的代碼進行分析研究的基礎上,經(jīng)由高層次抽象提取、歸納,提取出視聽節(jié)目在Web頁面代碼中的共同特征信息,作為通用型模板主題爬蟲程序的主題目標信息,此種主題爬蟲程序能普遍適應大多數(shù)互聯(lián)網(wǎng)視聽節(jié)目服務網(wǎng)站的數(shù)據(jù)采集。在通常情況下,Web頁面中的視聽節(jié)目編碼的后綴名信息、引用播放信息、播放器加載信息、特殊播放格式信息等,均遵循一定的規(guī)律特征,主要表現(xiàn)為以下幾種情況。
一是Web頁面中視聽節(jié)目的后綴名編碼規(guī)則。在通常情況下,視聽節(jié)目常用格式有MPEG、AVI、ASF、MOV、WMV、3GP等,這些文件格式在Web頁面中的代碼也以相應的視聽文件后綴名格式出現(xiàn),如MPEG文件格式視聽節(jié)目在Web頁面中編碼的后綴名為“.mp4”,AVI文件格式視聽節(jié)目在Web頁面中編碼的后綴名為“.avi”等。
二是Web頁面中引用視聽節(jié)目也具有一定的編碼規(guī)則。為了提高網(wǎng)站數(shù)據(jù)資源的豐富性,有部分視聽節(jié)目服務網(wǎng)站傳播的視聽節(jié)目除了本網(wǎng)站所屬服務器的資源,還調(diào)用其他媒體平臺的視頻資源,如引用央視網(wǎng)、優(yōu)酷、騰訊、愛奇藝等媒體平臺所提供的視聽節(jié)目源。這些引用站外平臺節(jié)目源的網(wǎng)站在Web頁面中會出現(xiàn)引用媒體平臺的URL地址相關標識。比如,某網(wǎng)站引用央視網(wǎng)網(wǎng)站平臺的視聽節(jié)目資源,則在該視聽節(jié)目展示區(qū)域的Web頁面編碼中就會含有“cctv.com”等元素。
三是Web頁面中加載播放器信息的編碼規(guī)則?;ヂ?lián)網(wǎng)視聽節(jié)目服務網(wǎng)站為用戶提供視聽節(jié)目服務,需要在Web頁面代碼中加載播放器相關信息。目前被廣泛使用的播放器的類型主要分為專用播放器、流媒體、flash、現(xiàn)代播放器等。流媒體是目前網(wǎng)絡平臺較為流行的視聽媒體傳播格式,其常見的格式有M3U8、RA、RM、SWF等。其傳播方式是把視聽節(jié)目壓縮后,按規(guī)則將視聽節(jié)目拆分成多個小片段,以視頻流(視頻片段)的方式發(fā)送至用戶端,當特定播放器接收到視頻流(視頻片段)后,用戶即可邊播邊看。此外,有部分網(wǎng)站也通過調(diào)用專用播放器的形式為用戶提供視聽節(jié)目在線觀看服務,例如調(diào)用愛奇藝、優(yōu)酷、騰訊、嗶哩嗶哩等平臺研發(fā)的專用播放器。另外,也有部分網(wǎng)站采取調(diào)用player等通用播放器的方式為訪問用戶提供視聽節(jié)目在線觀看服務。在Web頁面中加載這些流媒體播放器、專用播放器等播放器信息,頁面編碼均呈現(xiàn)特定的編碼規(guī)則,如含有“showPlayer”“player.video.qiyi.com”“flvplayer.swf”等播放器信息編碼元素。
四是特殊播放器在Web頁面中的元素特征。除了上述情況,還有部分互聯(lián)網(wǎng)視聽節(jié)目服務網(wǎng)站以加載特殊播放器的方式提供視聽節(jié)目,其頁面編碼也有相應的規(guī)律,如含有“aliyunlayer”“playerframe”等特征元素。
通過分析上述幾種視聽節(jié)目特征元素發(fā)現(xiàn),網(wǎng)絡視聽節(jié)目服務網(wǎng)站在為用戶提供視聽節(jié)目在線觀看服務時,其Web頁面中的編碼元素均具有一定規(guī)則,根據(jù)這些編碼元素的特征和規(guī)律,配置為主題爬蟲程序的目標信息,制作成基于視聽節(jié)目識別的通用型模板主題爬蟲程序。此類爬蟲程序作為網(wǎng)絡視聽節(jié)目監(jiān)管系統(tǒng)中數(shù)據(jù)信息采集的重要手段,解決了原有定制模板爬蟲程序通用性較差等問題。主題爬蟲程序根據(jù)Web頁面中含有符合視聽節(jié)目的元素特征的某一種或多種元素來判斷頁面含有視聽節(jié)目的概率,網(wǎng)站頁面的鏈接中含有符合視聽特征的元素越多,則該鏈接為視聽節(jié)目鏈接的概率就越大。在通常情況下,在程序調(diào)試及實際使用過程中,使用者根據(jù)網(wǎng)站采集數(shù)據(jù)的正確率,對主題爬蟲程序主題相關度的閾值進行調(diào)整,以提升程序采集的準確率。E8EDFC82-0FA6-4531-BD7D-1A739FED0DD3
(二)爬蟲主題信息相關度計算
文章討論的通用型模板主題爬蟲程序中的主題信息為視聽節(jié)目特征元素,其在Python程序中用正則表達式來標識。在主題相關度的計算過程中,利用視聽節(jié)目特征元素對某一個URL進行評分時,需要下載URL指向的目標頁面,再對其進行評分,并在配置文件中設置好主題相關度的閾值,如果主題相關度得分大于這個閾值,就進行下一步處理,否則就把這個URL對應的頁面丟棄。
筆者將從Web頁面提取的視聽節(jié)目特征元素個數(shù)n作為空間向量的維數(shù),設置特征元素的權(quán)重ωi作為每一維度分量的大小,則該主題空間向量表示為:
=(ω1,ω2,...,ωn),i=1,2,...,n
對網(wǎng)頁代碼的空間向量建立進行統(tǒng)計,計算出視聽節(jié)目特征元素出現(xiàn)的個次數(shù),并求出對應的頻率之比,將出現(xiàn)頻度最高的特征元素作為基準,其頻率用x1=1表示,通過頻率比求出其他特征元素的頻率xi,則這個頁面所對應的向量的每一維度分量為xnωn,
那么網(wǎng)頁代碼對應的空間向量表示為:
q=(x1ω1,x2ω2,...,xnωn),=1,2,...,n
用兩個向量的余弦表示頁面的主題相關度為:
同時,技術(shù)員設定一個閾值m,當cos<·q>大于等于m時,目標頁面與主題相關度高,如果小于m,則目標頁面與主題相關度不高,可直接把該頁面做丟棄處理。在實際應用過程中,技術(shù)員可以根據(jù)采集數(shù)據(jù)的正確率對m閾值進行微調(diào)。但是此種通用型模板主題爬蟲程序在應用中的準確率無法達到100%,需要進一步結(jié)合人工智能模型進行訓練,不斷調(diào)整主題相關度的閾值,以提升主題爬蟲程序的準確性。
(三)網(wǎng)站遍歷策略
文章討論的主題爬蟲程序采用廣度優(yōu)先搜索策略與“海撈”算法相結(jié)合的方式來采集目標數(shù)據(jù)信息。網(wǎng)絡爬蟲的原理基本大同小異,主要包括廣度優(yōu)先搜索策略、深度優(yōu)先搜索策略和最佳優(yōu)先搜索策略等,其中廣度優(yōu)先搜索策略遍歷網(wǎng)站,遍歷方式類似于樹的按層次進行搜索。假設網(wǎng)站所有頂點集合為圖G,其初始狀態(tài)是“所有定點均未訪問過”,在圖G中任選一個頂點Vi作為爬蟲程序最初的出發(fā)點。則廣度優(yōu)先搜索遍歷網(wǎng)站的基本思路為:先訪問出發(fā)頂點Vi,緊接著依次訪問其鄰接點W1,W2,...,Wi,然后再依次訪問與W1,W2,...,Wi相鄰接的所有未曾訪問過的頂點。依次循環(huán),直至網(wǎng)站中所有與初始出發(fā)點Vi有相同路徑的頂點均已訪問為止,則完成整個網(wǎng)站的搜索遍歷。廣度優(yōu)先搜索策略能較好結(jié)合主題爬蟲程序?qū)δ繕司W(wǎng)站充分、快速、準確地進行數(shù)據(jù)信息采集。
通用型模板主題爬蟲程序的分析算法用“海撈”算法,其也叫Fish-Search方法,工作原理為:把主題爬蟲程序比喻成海里的魚群,把爬蟲抓取主題相關的有效網(wǎng)頁比喻成食物,把整個網(wǎng)站比喻成大海。當魚群發(fā)現(xiàn)食物后,會繁殖后代,即為增加有效網(wǎng)頁里的鏈接,對Web頁面內(nèi)容進行分析,將主題相關度高的頁面鏈接加入待爬取隊列,直到達到預先設定的網(wǎng)頁層數(shù)才終止程序退出。因此,主題爬蟲程序?qū)ⅰ昂啤彼惴ńY(jié)合頁面內(nèi)容進行分析,以視聽節(jié)目特征元素作為爬蟲抓取主題相關的目標,完成目標頁面中視聽節(jié)目鏈接的采集。
二、爬蟲工作流程
程序?qū)⑿枰杉木W(wǎng)站集合至待爬取網(wǎng)站隊列,基于通用型主題爬蟲程序根據(jù)設定數(shù)據(jù)采集規(guī)則對目標網(wǎng)站的Web頁面數(shù)據(jù)信息進行搜索遍歷,并下載相關網(wǎng)頁信息。程序搜索目標網(wǎng)站信息的同時,提取頁面中所有的URL,排重后存放至待爬取的URL集合隊列。頁面分析程序則對已下載于存儲中的目標網(wǎng)頁數(shù)據(jù)信息進行分析研判,識別出各個網(wǎng)站中含有視聽節(jié)目的URL,并將相關頁面中的視聽節(jié)目標題、發(fā)布者、發(fā)布時間等信息一并存入數(shù)據(jù)庫中。其采集流程分為五步,如圖1所示。
三、多進程任務調(diào)度
基于網(wǎng)絡視聽節(jié)目分析的通用型模板主題爬蟲程序在采集網(wǎng)站數(shù)據(jù)信息過程中,需要訪問待爬取的目標網(wǎng)站,并分析Web頁面的數(shù)據(jù)信息,下載與主題相關的目標頁面。為了提高程序執(zhí)行效率,本系統(tǒng)建立了多進程爬蟲程序調(diào)度模塊,該模塊對主題爬蟲的數(shù)據(jù)采集程序、數(shù)據(jù)下載程序、頁面分析程序等進行整體統(tǒng)籌調(diào)度,根據(jù)各個資源池待分配的任務情況,及時、有效地調(diào)度各個程序協(xié)同分工合作,以達到各類進程同時并行執(zhí)行的目標。
多進程協(xié)同并行執(zhí)行的模式,主要根據(jù)待抓取網(wǎng)站數(shù)量來分配同時執(zhí)行進程的數(shù)量,進程的最大數(shù)量受服務器CPU內(nèi)核限制,單核CPU的服務器只能同時執(zhí)行1個進程,本系統(tǒng)采用的服務器為多核CPU服務器,最多可同時并行執(zhí)行8個進程。其工作原理為:調(diào)度程序根據(jù)待采集的目標網(wǎng)站數(shù)量,分配對應的主題爬蟲程序?qū)Σ煌哪繕司W(wǎng)站分別進行數(shù)據(jù)采集,主題爬蟲程序把采集到的Web頁面信息下載存入至存儲器中,調(diào)度程序分別在等待隊列中的頁面分析程序?qū)彺嬷械捻撁鏀?shù)據(jù)進行分析研判,并返回識別到含有視聽節(jié)目的URL信息。
四、結(jié)語
近年來,國家網(wǎng)信辦持續(xù)在網(wǎng)絡媒體平臺開展系列“清朗”專項整治行動,推動網(wǎng)絡空間健康有序發(fā)展。在此形勢下,監(jiān)管部門及網(wǎng)絡媒體平臺應不斷創(chuàng)新理念、方式與模式,依托先進科學技術(shù)方法,通過人工智能等技術(shù)破解網(wǎng)絡視聽媒體平臺監(jiān)管過程中的各種難點和痛點,進一步加強監(jiān)督管理,切實維護好網(wǎng)絡用戶的合法權(quán)益。面對日趨復雜的網(wǎng)絡媒體環(huán)境,文章研究的通用型模板主題爬蟲程序仍處于初級階段,其在解決智能化網(wǎng)絡視聽節(jié)目監(jiān)管過程中仍面臨諸多問題,當下人工智能等技術(shù)快速發(fā)展,主題爬蟲程序如何更好地結(jié)合機器學習、深度學習等先進技術(shù)進行更智能的訓練、學習,建立更加智能化的采集模型,還需要進一步探究。
[參考文獻]
[1]楊本棟.基于網(wǎng)頁信息自動提取的分布式爬蟲系統(tǒng)設計與實現(xiàn)[D].北京:北京郵電大學,2021.
[2]程光,吳樺,王會羽,等.僵尸網(wǎng)絡檢測技術(shù)[M].南京:東南大學出版社,2014.
[3]庫波,曹靜.數(shù)據(jù)結(jié)構(gòu)(Java語言描述)[M].2版.
北京:北京理工大學出版社,2016.E8EDFC82-0FA6-4531-BD7D-1A739FED0DD3