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