• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向法律案例的爬蟲(chóng)算法設(shè)計(jì)與實(shí)現(xiàn)*

      2022-08-12 03:30:42董紅松孔躍輝劉繼華
      山西電子技術(shù) 2022年4期
      關(guān)鍵詞:案情爬蟲(chóng)網(wǎng)頁(yè)

      董紅松,孔躍輝,葛 軍,劉繼華

      (1.呂梁學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系,山西 呂梁 033000;2.呂梁學(xué)院信息中心,山西 呂梁 033000)

      將基于爬蟲(chóng)技術(shù)的數(shù)據(jù)挖掘和分析運(yùn)用到各行業(yè)[1]已經(jīng)日益成熟。目前,國(guó)內(nèi)對(duì)司法領(lǐng)域案件數(shù)據(jù)挖掘分析也取得顯著的成果,如王超[2]等人做過(guò)基于“中國(guó)裁判文書(shū)網(wǎng)”的數(shù)據(jù)分析。但是國(guó)內(nèi)在刑法案情的爬蟲(chóng)方面依然有不足之處。第一,當(dāng)前數(shù)據(jù)挖掘方面也主要集中在非常結(jié)構(gòu)化的裁判文書(shū)網(wǎng)上,其中陳忠海[3]等人做了“中國(guó)裁判文書(shū)網(wǎng)”的調(diào)查與分析有關(guān)的研究,而對(duì)于其他司法網(wǎng)站結(jié)構(gòu)化程度較弱的案情缺乏研究;第二,研究設(shè)計(jì)的有關(guān)案件的爬蟲(chóng)算法只能針對(duì)某一類(lèi)型的數(shù)據(jù)進(jìn)行挖掘和分析,如雷向晶[4]等人以裁判文書(shū)網(wǎng)數(shù)據(jù)為依據(jù),完成公證證據(jù)在虛擬財(cái)產(chǎn)案件中的使用困境及解決對(duì)策,缺乏普適性。

      在結(jié)合前人網(wǎng)頁(yè)爬蟲(chóng)設(shè)計(jì)思路,如張莉婧等人設(shè)計(jì)的圖書(shū)館爬蟲(chóng)算法[5],朱慶生等人的基于鏈接和內(nèi)容分析的爬蟲(chóng)算法的研究[6]基礎(chǔ)上,針對(duì)“XXX網(wǎng)”發(fā)布的刑事案情進(jìn)行了研究,并設(shè)計(jì)了一種爬蟲(chóng)算法,通過(guò)算法做出分類(lèi)等處理。主要針對(duì)三類(lèi)案件:一是涉及黃賭毒治理的刑事案件;二是對(duì)新冠肺炎治理涉及的刑事案件;三是對(duì)一般的社會(huì)治理的刑事案情,如偷盜,黑社會(huì),暴力等案件進(jìn)行歸類(lèi),但本算法不止可以爬取以上三類(lèi)案件,對(duì)其他案件依然有效。然后通過(guò)該算法進(jìn)行了數(shù)據(jù)分析等操作。該算法具有普遍適應(yīng)性,在此基礎(chǔ)上做出數(shù)據(jù)分析,完成數(shù)據(jù)存儲(chǔ)。

      1 網(wǎng)頁(yè)結(jié)構(gòu)分析

      通過(guò)“XXX網(wǎng)”網(wǎng)址,進(jìn)入頁(yè)面,審判的案情分成多類(lèi),包括民事案情、刑事案情、行政案情等。以刑事案情為例,所有刑事案情呈現(xiàn)縱向列表分布,每件案情在本頁(yè)面提供標(biāo)題和案情發(fā)生時(shí)間。選擇首頁(yè)面檢查源碼,通過(guò)觀察網(wǎng)頁(yè)源碼發(fā)現(xiàn),所有案情標(biāo)題,均在“元素”下的某列表下,選擇得到標(biāo)題所在位置的路徑。隨機(jī)點(diǎn)擊某一個(gè)標(biāo)題的具體案情,查看源碼,對(duì)比發(fā)現(xiàn),所有文本均在一個(gè)相同的列表下,不同的只是所在網(wǎng)頁(yè)的不同。

      2 爬蟲(chóng)算法研究與設(shè)計(jì)

      經(jīng)過(guò)網(wǎng)頁(yè)源碼分析以及對(duì)網(wǎng)頁(yè)布局進(jìn)行分析后,需要對(duì)文本內(nèi)容進(jìn)行挖掘和處理等操作,研究對(duì)象“XXX網(wǎng)”的頁(yè)面呈現(xiàn)靜態(tài)形式,結(jié)合實(shí)際需求,為減輕服務(wù)器的后臺(tái)壓力,提出一種針對(duì)“XXX網(wǎng)”的爬蟲(chóng)方式,通過(guò)給關(guān)鍵函數(shù)提供URL,獲取刑法案例標(biāo)題頁(yè)面所有標(biāo)題和鏈接,聯(lián)系鏈接構(gòu)建新的URL,從而訪問(wèn)不同URL獲取每一個(gè)案例的文本,加以處理并存取,利用正則表達(dá)式提取一頁(yè)所有數(shù)據(jù),反復(fù)循環(huán)執(zhí)行以上操作,保證爬取所有文本,最后利用代碼進(jìn)行數(shù)據(jù)分析操作。爬取流程如圖1所示。

      圖1 算法原理框圖

      2.1 獲取網(wǎng)頁(yè)鏈接

      由于獲取的每個(gè)網(wǎng)頁(yè)都只有一個(gè)案例文本,而所有網(wǎng)頁(yè)的鏈接都在標(biāo)題頁(yè)面。因此設(shè)計(jì)思路的第一步是獲取所有的鏈接,代碼流程圖如圖2所示。

      圖2 獲取網(wǎng)頁(yè)鏈接示意圖

      2.2 獲取網(wǎng)頁(yè)文本

      當(dāng)獲取到存放一頁(yè)所包含標(biāo)題個(gè)數(shù)i的鏈接數(shù)組后,需要處理鏈接形成新的URL,獲取網(wǎng)頁(yè)每個(gè)案情文本流程圖如圖3所示。Pycharm開(kāi)發(fā)環(huán)境中,調(diào)用CSS選擇器,獲取文本。需要注意的是:需要對(duì)源文本進(jìn)行譯碼操作,網(wǎng)站后臺(tái)服務(wù)器傳回來(lái)的數(shù)據(jù)屬于二進(jìn)制,而文本可視需要的文件格式屬于UTF-8格式,可以通過(guò)設(shè)置格式response.apparent_encoding轉(zhuǎn)換成txt文件,便于后期通過(guò)正則表達(dá)式提取關(guān)鍵數(shù)據(jù)。在程序中,循環(huán)處理i次鏈接,每個(gè)鏈接對(duì)應(yīng)一個(gè)網(wǎng)址,總計(jì)每次會(huì)處理i個(gè)網(wǎng)址。這i個(gè)鏈接在前期處理好后會(huì)存入一個(gè)數(shù)組中,每獲取一次網(wǎng)頁(yè)文本時(shí),只需讀取數(shù)組序號(hào)便可以得到數(shù)組鏈接。

      圖3 獲取網(wǎng)頁(yè)文本流程圖

      2.3 刑法案例文本歸類(lèi)

      對(duì)涉及到的三個(gè)類(lèi)別刑法案例分別進(jìn)行處理,有利于后期數(shù)據(jù)統(tǒng)計(jì),算法主要的思路是匹配關(guān)鍵字,利用正則表達(dá)一一匹配。其三個(gè)類(lèi)別的關(guān)鍵字存放到三個(gè)數(shù)組中間,三個(gè)類(lèi)別的關(guān)鍵數(shù)組分別為:guan_jian_zi1=[' 黃',' 賭',' 毒',' 色'];guan_jian_zi2=[' 疫情',' 藥',' 防控',' 病毒',' 口罩',' 疫苗',' 野',' 狩獵',' 獵'];guan_jian_zi3=[' 假',' 拐',' 騙' ,' 暴力',' 惡',' 黑社會(huì)',' 打',' 殺',' 偽',' 偷',' 盜',' 竊']。本算法做出分類(lèi)的流程如圖4所示。

      圖4 刑法案例文本歸類(lèi)流程圖

      2.4 文本數(shù)據(jù)抓取設(shè)計(jì)

      2.3中將文本進(jìn)行歸類(lèi),此處對(duì)每個(gè)文本的數(shù)據(jù)進(jìn)行挖掘。經(jīng)過(guò)前期歸納發(fā)現(xiàn),由于每個(gè)刑法案情審判的結(jié)果都有罰款金額或者有期徒刑。因此主要挖掘的數(shù)據(jù)為每個(gè)案情的罰款金額數(shù)目和有期徒刑的時(shí)間,并將兩類(lèi)數(shù)據(jù)通過(guò)excel進(jìn)行表格存取。實(shí)現(xiàn)該設(shè)計(jì)時(shí)需要提前建立excel文件,在抓取數(shù)據(jù)只需要調(diào)用此文件的本地路徑即可,每次抓取到文本后,直接進(jìn)行處理文本數(shù)據(jù),省略了傳遞文本,存儲(chǔ)文本后再讀取文本的過(guò)程,大大的改善了算法的實(shí)現(xiàn)效率。

      3 關(guān)鍵代碼設(shè)計(jì)

      3.1 正則表達(dá)函數(shù)的設(shè)計(jì)

      在實(shí)現(xiàn)算法時(shí),大量運(yùn)用了正則表達(dá)式提取關(guān)鍵數(shù)據(jù),因此列舉出關(guān)于正則表達(dá)函數(shù)的設(shè)計(jì)。用正則程序提取標(biāo)題的關(guān)鍵詞:例如一個(gè)刑法案例的標(biāo)題為“多次容留他人吸毒,情侶一人獲刑一人獲拘役”,預(yù)先定義一個(gè)關(guān)鍵詞組guan_jian_zi1=['黃','賭','毒','色'],將標(biāo)題定義文本以字符串的類(lèi)型傳遞給列表F2,利用F2[0].find(guan_jian_zi1[m],0,len(F2[0])-1)此類(lèi)函數(shù)查找F2中是否含有關(guān)鍵詞組guan_jian_zi1的元素,若有則輸出這個(gè)關(guān)鍵字的位置,其中m表示元素位置,len(F2[0])-1表示字符串的長(zhǎng)度。運(yùn)行代碼,本函數(shù)輸出的為8,觀察標(biāo)題:“毒”字正位于標(biāo)題第八個(gè)位置。在刑事案情的案件時(shí)間、罰款金額數(shù)據(jù)提取,刑事案情有期徒刑的提取,均運(yùn)用了正則表達(dá)式,對(duì)于每種設(shè)計(jì)方案具體運(yùn)用的關(guān)鍵代碼函數(shù)如圖5所示。

      圖5 關(guān)鍵代碼函數(shù)示意圖

      圖5中,在罰額和有期徒刑的程序中,運(yùn)用了re庫(kù)compile函數(shù),其函數(shù)意義是通過(guò)關(guān)鍵字查找關(guān)鍵字,“.*?”表示關(guān)鍵字全部?jī)?nèi)容。

      3.2 訪問(wèn)服務(wù)器代碼設(shè)計(jì)

      訪問(wèn)程序作為爬蟲(chóng)設(shè)計(jì)的開(kāi)頭部分,包含模擬瀏覽器的部位,請(qǐng)求部位,譯碼部位等。因此對(duì)本算法設(shè)計(jì)的訪問(wèn)代碼程序做出分析與說(shuō)明。訪問(wèn)服務(wù)器的程序代碼如下圖6所示。

      圖6 訪問(wèn)服務(wù)器代碼示意圖

      在這段程序中,第一行代碼中的header為自定義設(shè)計(jì)的一個(gè)模擬瀏覽器,在該行代碼中,設(shè)置的瀏覽器版本為Mozilla/4.0,windows操作系統(tǒng)版本為Windows NT,第一行代碼中的瀏覽器設(shè)置可以進(jìn)行合理的修改。

      第二行代碼為正式訪問(wèn)服務(wù)器的請(qǐng)求函數(shù),本行代碼主要通過(guò)requests函數(shù)進(jìn)行請(qǐng)求,該函數(shù)帶的三個(gè)參數(shù)主要有url(訪問(wèn)目標(biāo)網(wǎng)頁(yè)的網(wǎng)址)、headers(瀏覽器參數(shù)配置)、verify(訪問(wèn)瀏覽器的驗(yàn)證書(shū)),需要注意的是verify=False表示不需要進(jìn)行驗(yàn)證書(shū)進(jìn)行驗(yàn)證。

      第三行代碼表示響應(yīng)服務(wù)器,并接收服務(wù)器傳回的文件。

      第四行代碼print()函數(shù)表示打印,type()函數(shù)為文件格式,“XXX網(wǎng)”的服務(wù)器傳回給瀏覽器的所有文件屬于二進(jìn)制格式,代碼中的response.content是本地文件接收到的文件內(nèi)容。

      最后一行代碼,直接對(duì)二進(jìn)制文件進(jìn)行了譯碼操作,該行代碼轉(zhuǎn)換成text的文件格式,并將翻譯的文本以單列表的類(lèi)型傳遞給了變量html2,html2存放文本,也就便于后期進(jìn)行直接的數(shù)據(jù)挖掘和處理。

      4 結(jié)論

      本算法經(jīng)過(guò)實(shí)際測(cè)試發(fā)現(xiàn),能夠避免服務(wù)器后臺(tái)的封殺IP,屬于單線程爬取文本類(lèi)型。該算法在每次訪問(wèn)服務(wù)器時(shí)均有時(shí)間間隔設(shè)置,以此減輕后臺(tái)服務(wù)器的運(yùn)行壓力,避免了后臺(tái)服務(wù)器的過(guò)度訪問(wèn)造成的經(jīng)濟(jì)損失。從網(wǎng)頁(yè)的分析角度入手,對(duì)網(wǎng)頁(yè)規(guī)律進(jìn)行挖掘,對(duì)算法各功能模塊進(jìn)行設(shè)計(jì),由于python語(yǔ)言屬于高層語(yǔ)言,因此本算法也便于后續(xù)研究開(kāi)發(fā)。本算法處理的對(duì)象為“XXX網(wǎng)”每天公布的刑事案情,算法適應(yīng)性廣,只要網(wǎng)頁(yè)格式類(lèi)似與“XXX網(wǎng)”或者網(wǎng)頁(yè)文本呈現(xiàn)規(guī)律線性分布,均可以利用所設(shè)計(jì)的算法進(jìn)行爬取。本算法與傳統(tǒng)算法的不同在于,該算法使用者可以設(shè)置爬蟲(chóng)上限,且不會(huì)對(duì)網(wǎng)站造成經(jīng)濟(jì)損失,不會(huì)對(duì)服務(wù)器造成壓力。本算法僅用于測(cè)試,得到的數(shù)據(jù)僅用于科學(xué)研究,不做任何商業(yè)用途,且不涉及任何敏感信息。

      猜你喜歡
      案情爬蟲(chóng)網(wǎng)頁(yè)
      利用網(wǎng)絡(luò)爬蟲(chóng)技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說(shuō)
      基于Python的網(wǎng)絡(luò)爬蟲(chóng)和反爬蟲(chóng)技術(shù)研究
      是誰(shuí)下的毒
      基于CSS的網(wǎng)頁(yè)導(dǎo)航欄的設(shè)計(jì)
      電子制作(2018年10期)2018-08-04 03:24:38
      利用爬蟲(chóng)技術(shù)的Geo-Gnutel la VANET流量采集
      基于URL和網(wǎng)頁(yè)類(lèi)型的網(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
      網(wǎng)頁(yè)制作在英語(yǔ)教學(xué)中的應(yīng)用
      報(bào)案者
      “兩高”刑事指導(dǎo)性案例的文本分析及改進(jìn)
      潜山县| 德保县| 蒙自县| 泰宁县| 西丰县| 乐业县| 车致| 龙州县| 梅河口市| 原平市| 惠水县| 临泽县| 鄢陵县| 大洼县| 土默特左旗| 滨海县| 桂阳县| 喀喇沁旗| 昌乐县| 丘北县| 阿荣旗| 杭锦旗| 桃园市| 鹿泉市| 沽源县| 皋兰县| 徐水县| 河北区| 遵义县| 化隆| 汪清县| 武邑县| 铅山县| 呼和浩特市| 西城区| 屏山县| 宣恩县| 两当县| 仪陇县| 宁蒗| 桃江县|