趙光亮 令狐雨薇 朱德孫 趙順燕 陳鳳 楊陶
摘要:本文首先分析了研究背景、研究主題、研究工具與研究意義,同時(shí)闡述了研究方式,最后總結(jié)了研究流程,僅供參考。
關(guān)鍵詞:Python;通用論壇;正文提取;分析研究
本文在BBS類論壇網(wǎng)頁基礎(chǔ)上,開展文本數(shù)據(jù)爬取與分析,開展通用論壇正文提取研究,借助HTML、Python工具,構(gòu)建BBS類論壇網(wǎng)頁文本數(shù)據(jù)抓取算法,詳細(xì)分析如下。
1 研究背景與研究意義
1.1 研究背景
在大數(shù)據(jù)背景下,直接帶動了各行各業(yè)的發(fā)展。互聯(lián)網(wǎng)內(nèi)網(wǎng)頁數(shù)據(jù)是以半結(jié)構(gòu)形式存在,部分信息被廣告、垃圾鏈接遮擋。采取何種手段,實(shí)現(xiàn)網(wǎng)頁文本信息的有效提出,為用戶提供合理的閱讀信息,成為當(dāng)前急需解決的問題。
1.2 研究意義
一般情況下,網(wǎng)頁采取的是超文本標(biāo)記語言表達(dá)方式,簡稱HTML。在網(wǎng)頁信息提取階段,需要先獲取BBS類論壇網(wǎng)頁,借助Python語言,實(shí)現(xiàn)相關(guān)內(nèi)容提取。
2 研究方式
2.1 正則表達(dá)式
正則表達(dá)式屬于一種模糊匹配所需網(wǎng)頁信息,屬于模糊匹配文字的最佳工具,具備很強(qiáng)的功能性特點(diǎn),借助簡單快捷的方式,可實(shí)現(xiàn)復(fù)雜字符串的控制,以此精準(zhǔn)獲取所需文本內(nèi)容。
2.2 Python語言
Python本身屬于一款免費(fèi)應(yīng)用的軟件,本身融合了多項(xiàng)功能,自帶的各項(xiàng)技術(shù),通過加載相應(yīng)插件,可實(shí)現(xiàn)網(wǎng)絡(luò)平臺的搭建。借助Python語言與正則表達(dá)式能夠?qū)崿F(xiàn)網(wǎng)頁信息的有效提取[1]。
3 研究流程
3.1 流程分析
論壇正文提取流程主要包括:參照已知樣本數(shù)據(jù),鎖定網(wǎng)頁網(wǎng)址—開展數(shù)據(jù)預(yù)處理—應(yīng)用正則表達(dá)式,判定現(xiàn)階段網(wǎng)頁內(nèi)容是否屬于提取內(nèi)容—依據(jù)正則表達(dá)式,匹配網(wǎng)頁信息需求—確定匹配模型—分析預(yù)期結(jié)果,給出最優(yōu)解決方案。
3.2 數(shù)據(jù)分析
3.2.1 HTML結(jié)構(gòu)與解析
HTML本身屬于一種標(biāo)準(zhǔn)的標(biāo)記語言,主要是為Web頁面創(chuàng)建提供依據(jù)。HTML文檔本身屬于一種純文本文檔,可實(shí)現(xiàn)對象文檔的形象描述,凸顯出各個(gè)細(xì)胞在瀏覽器內(nèi)的顯性特征。
3.2.2 BBS網(wǎng)頁結(jié)構(gòu)分析
基于BBS與URL分析,能夠發(fā)現(xiàn)BBS網(wǎng)頁內(nèi)具備很多核心結(jié)構(gòu)信息,頁面上不同元素的特定標(biāo)記不同,不同特定標(biāo)記之間,借助Python語言可為網(wǎng)頁信息挖掘提供方向。
3.2.3 DOM樹與HTML文檔解析
DOM、HTML文檔獲取、修改、刪除或添加,均需要遵循HTML元素標(biāo)準(zhǔn)。就具備價(jià)值的信息,提取出來可為企業(yè)、政府的決策提供指導(dǎo)。
3.3 數(shù)據(jù)處理
BBS類網(wǎng)頁文本會榨取網(wǎng)頁自身的語言結(jié)構(gòu)與語言標(biāo)簽,站在網(wǎng)頁視覺分塊特征基礎(chǔ)上,開展各項(xiàng)分析與闡述。一般情況下,網(wǎng)頁內(nèi)的文本數(shù)據(jù)均位于標(biāo)簽[table]節(jié)點(diǎn)內(nèi),為實(shí)現(xiàn)頁面“噪聲”的去除,一般需要對每個(gè)節(jié)點(diǎn)開展相應(yīng)處理,以此獲取不含標(biāo)簽的純文字符串[2]。
為實(shí)現(xiàn)數(shù)據(jù)的有效抓取,需要對整體數(shù)據(jù)開展相應(yīng)剔除。比如:以Web網(wǎng)頁為例,若網(wǎng)頁無法正常打開,或指定的主題內(nèi)容不存在,則需要對整體數(shù)據(jù)開展非正常剔除?;蛟诰W(wǎng)頁無法打開,指定主題不存在或已刪除,彈出返回操作指令,也需要非正常剔除整體數(shù)據(jù)。
通過研究BBS類網(wǎng)頁HTML文檔結(jié)構(gòu),在網(wǎng)頁源代碼階段,為實(shí)現(xiàn)主貼內(nèi)容的抽取、保障回帖信息的精準(zhǔn),需要構(gòu)建對應(yīng)的算法,實(shí)現(xiàn)目標(biāo)信息的有效抓獲。借助正則表達(dá)式中的匹配功能,可實(shí)現(xiàn)URL信息的快速抽取。為避免同一鏈接重復(fù)訪問的情況出現(xiàn),需要將已經(jīng)訪問過的URL備份到已經(jīng)訪問的隊(duì)列中。作為網(wǎng)頁內(nèi)的“源”,網(wǎng)絡(luò)爬蟲需要將種子網(wǎng)頁內(nèi)的有效鏈接提取出來,并將其納入到后補(bǔ)爬行隊(duì)列中,參照用戶希望的規(guī)定,實(shí)現(xiàn)URL的精準(zhǔn)提取[3]。
3.4 建模挖掘
互聯(lián)網(wǎng)本身就如同一張巨大的蜘蛛網(wǎng),Crawler則如同一只蜘蛛,在大網(wǎng)上自由掃蕩,實(shí)現(xiàn)互聯(lián)網(wǎng)內(nèi)各種文本信息的偵探,精準(zhǔn)獲取其中的有效文本信息。為實(shí)現(xiàn)輿情的有效獲取,論壇正文提取方式主要如下。
3.4.1 獲取任意類型BBS類網(wǎng)站內(nèi)的URL信息。
3.4.2 就任意類型的BBS類網(wǎng)頁,在正文提取階段,需要在相關(guān)數(shù)據(jù)項(xiàng)上精準(zhǔn)回帖,主貼置頂。本文研究中,通過在網(wǎng)頁正文提出基礎(chǔ)上,借助html標(biāo)簽對正文內(nèi)容、正文發(fā)布時(shí)間、正文作者等開展深入分析,以此保障網(wǎng)頁正文內(nèi)容的有效提取[4]。
3.4.3 就BBS論壇網(wǎng)頁信息抓取,需要先對網(wǎng)頁內(nèi)的信息開展聚類處理。
3.4.4 爬取用戶需要的數(shù)據(jù)項(xiàng)信息,針對主貼發(fā)表作者、主貼主題、主貼內(nèi)容、主貼發(fā)表時(shí)間等資料詳細(xì)的網(wǎng)頁。采取BBS類論壇網(wǎng)頁開展信息抓取,借助論壇內(nèi)的網(wǎng)絡(luò)爬蟲,通過不斷沖擊,在超鏈接地址上獲取更多的網(wǎng)頁[5]。
3.5 結(jié)果分析
就模型挖掘,經(jīng)過數(shù)據(jù)處理之后,最終結(jié)果如下:
標(biāo)題信息
{標(biāo)題信息:從這一案例中,你明白了什么道理?-人生哲理-大師}
題主信息
{題主信息:“夏天有點(diǎn)冷”}
題主發(fā)帖內(nèi)容
{題主發(fā)帖內(nèi)容:[{在網(wǎng)上看到一則信息,大概內(nèi)容是:“某山區(qū)一對年輕情侶,準(zhǔn)備年底結(jié)婚”},{“但是,在通知所有親朋好友之后,女方要求給12萬,寓意“月月紅”,為新娘購買三金?!眪,{“男方認(rèn)為要求有點(diǎn)過分,已經(jīng)買車買房,酒席錢全部由男方出,還要12萬與三金不合理,與女方商議不果,直接退婚”}{“男人不是百萬富翁就別談婚論嫁!”}}
回帖信息
{回帖信息:這就是中國光棍那么多的原因},{回帖信息:看來以后還得多生女兒!}
回帖作者
{回帖作者:老兄頂住}
回帖時(shí)間
{回帖時(shí)間:2017-12-11,22:16:40}
3.6 算法分析
本文應(yīng)用的一種固定算法,研究的是與BBS類似的網(wǎng)頁,就任意類型的BBS網(wǎng)站,在網(wǎng)頁信息提取過程中未能達(dá)到預(yù)期效果。在算法使用與算法匹配階段,需要參照相關(guān)原則,開展實(shí)時(shí)更新。本文使用的算法,并不適用不斷更新的網(wǎng)頁源代碼。
4 結(jié)束語
綜上所述,就論壇正文提取研究,本文以BBS為例,借助正則表達(dá)方式,匹配網(wǎng)頁代碼需要的信息,并將其提取出來,以此保障正則表達(dá)式的精準(zhǔn)應(yīng)用。在使用之前,使用者需要充分了解網(wǎng)頁源代碼的結(jié)構(gòu),參照所需內(nèi)容,在各個(gè)標(biāo)簽基礎(chǔ)上開展多網(wǎng)頁分析。通過應(yīng)用最大相似度的正則表達(dá)方式,能夠?qū)崿F(xiàn)網(wǎng)頁源代碼匹配標(biāo)記。但本文研究存在著一定的局限性,還需要廣大專家學(xué)者開展深入研究。
參考文獻(xiàn)
[1]趙光亮,令狐雨薇,朱德孫,趙順艷,楊陶,陳鳳.基于Python的通用論壇正文提取研究[J].電腦知識與技術(shù),2018,14(24):259-260.
[2]劉銳,譚文韜,付園斌,王紅.一種通用論壇信息提取方法[J].小型微型計(jì)算機(jī)系統(tǒng),2018,39(07):1398-1404.
[3]范媚琳,司明皎,孟媛.論壇正文內(nèi)容提取通用方法的研究[J].科技風(fēng),2017,26(14):81-87.
[4]李文強(qiáng). 基于多特征融合的網(wǎng)頁正文提取及雙語網(wǎng)站探測[D].哈爾濱工業(yè)大學(xué),2014,22(02):41-45.
[5]李媛. 輿情系統(tǒng)中web信息抽取子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2013,22(25):60-64.
貴州師范學(xué)院2017年度學(xué)生科研項(xiàng)目自主研究項(xiàng)目“基于Python的通用論壇正文提取的研究”(項(xiàng)目編號:2017DXS047);“ 貴州師范學(xué)院大學(xué)生互聯(lián)網(wǎng)+創(chuàng)新創(chuàng)業(yè)訓(xùn)練中心”(項(xiàng)目 編號:黔教高發(fā)[2015]337號、黔教高發(fā)(2017)158號);貴州省高技術(shù)產(chǎn)業(yè)示范工程專項(xiàng)項(xiàng)目(黔發(fā)改投資[2015] 1588號);貴州省教育廳創(chuàng)新群體重大研究項(xiàng)目(合同編號:黔教合KY字[2016]040);貴州省普通高等學(xué)校工程研究中心(合同編號:黔教合KY字[2016]015)