• 
    

    
    

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

      基于python 的網(wǎng)絡(luò)爬蟲技術(shù)研究

      2019-02-13 19:18:43楊昱昺
      數(shù)字通信世界 2019年12期
      關(guān)鍵詞:爬蟲搜索引擎網(wǎng)頁

      畢 森,楊昱昺

      (寧波財經(jīng)學(xué)院,寧波 315175)

      1 引言

      Python 語言是一種計算機程序設(shè)計語言,同時對編程語言的解釋性、編譯性、互動性以及面向?qū)ο筮M行高層次的結(jié)合,并且具備較強的可讀性和語法結(jié)構(gòu),可以為網(wǎng)絡(luò)爬蟲技術(shù)提供必要的輔助。而在當(dāng)前大數(shù)據(jù)的背景下,利用python 進行網(wǎng)絡(luò)爬蟲技術(shù)的發(fā)展也是大勢所趨,接下來將就python 語言的主要內(nèi)容及特點進行簡析,并介紹幾種促進網(wǎng)絡(luò)爬蟲技術(shù)發(fā)展的方式或方法,為大數(shù)據(jù)的發(fā)展盡綿薄之力。

      2 對python 語言主要內(nèi)容及特點的論述

      Python 語言是一種解釋性語言,較其他語言省去了編譯這一環(huán)節(jié),可以節(jié)省編程人員的工作時間,而其他語言經(jīng)常使用英文關(guān)鍵字以及標(biāo)點符號,python 語言具備特色的語法結(jié)構(gòu),具備較強的可讀性,同時具備交互性、代碼定義清晰、結(jié)構(gòu)簡單、源代碼易維護、可移植、可擴展以及可嵌入等特點,可以在UNIX,Windows 和Macintosh 等系統(tǒng)上兼容,具有豐富的庫,并且可以通過開放的源代碼將其移植到其他平臺。另一方面,python 語言代表著簡單主義思想,可以使用戶專注于解決編程問題而不是關(guān)注語言本身,該語言基層都是采用C 語言進行編寫,與其他庫函數(shù)以及平臺有較高的兼容性,運行速度較快,同時該語言使用說明文檔較為簡單,易于操作,受到較多使用者的青睞。另外,隨著語言版本的更新以及各項功能的添加,python 語言得以在更廣闊的領(lǐng)域應(yīng)用,可以應(yīng)用于平臺及網(wǎng)頁的開發(fā)利用,利用python語言來發(fā)展網(wǎng)絡(luò)爬蟲技術(shù),可以在一定程度上滿足網(wǎng)絡(luò)安全以及產(chǎn)品調(diào)研時的數(shù)據(jù)支持,提升搜索引擎以及數(shù)據(jù)獲取的工作效率[1]。

      3 如何利用python 來發(fā)展網(wǎng)絡(luò)爬蟲技術(shù)

      3.1 充分發(fā)揮python 語言的優(yōu)勢

      要想利用python 語言來發(fā)展網(wǎng)絡(luò)爬蟲技術(shù),第一步需要做的是充分發(fā)揮python 語言的優(yōu)勢。Python 語言具有語言簡潔、使用方便以及資源豐富等優(yōu)勢,在發(fā)展網(wǎng)絡(luò)爬蟲技術(shù)時應(yīng)當(dāng)充分利用此類優(yōu)勢,如在利用python 語言研發(fā)搜索引擎或者抓取網(wǎng)頁內(nèi)容時,不需要較為繁多的代碼編輯器、編譯器、調(diào)試器以及圖形用戶界面等工具,其所需要的集成開發(fā)環(huán)境只包括文本編輯器等工具,可以通過插件使Eclipse 作為python 語言的開發(fā)工具,同時具有較高的靈活性,并進行較多應(yīng)用的開發(fā)。通過發(fā)揮python 語言的優(yōu)勢,可以使網(wǎng)絡(luò)爬蟲技術(shù)得到更加廣泛的應(yīng)用,使網(wǎng)絡(luò)爬蟲按照python 語言所編寫的程序,自動抓取網(wǎng)頁中需要的程序或者腳本,通過此種方式來獲取網(wǎng)頁的內(nèi)容及檢索信息,從而完善網(wǎng)絡(luò)爬蟲技術(shù)的應(yīng)用環(huán)節(jié)。

      例如,技術(shù)人員可以利用python 語言較強的網(wǎng)絡(luò)支持庫以及爬蟲框架,通過網(wǎng)絡(luò)支持庫中的函數(shù)或者現(xiàn)有函數(shù),編寫所需要的程序代碼,對網(wǎng)頁進行下載應(yīng)用,同時利用爬蟲框架,提取該網(wǎng)站中的結(jié)構(gòu)性數(shù)據(jù),并進行信息的挖掘以及儲存,為搜索引擎提供必要的數(shù)據(jù)支持。而利用python 語言的解析庫,可以對網(wǎng)頁中的內(nèi)容進行解析,同時結(jié)合數(shù)據(jù)的表達式,從而更加方便地抓取內(nèi)容。另外,技術(shù)人員也可以利用python 語言的文本處理函數(shù),對網(wǎng)頁內(nèi)容的文本內(nèi)容以及字符串進行處理,為搜索引擎以及網(wǎng)站抓取環(huán)節(jié)提供正則表達式,來幫助網(wǎng)絡(luò)爬蟲技術(shù)處理網(wǎng)站內(nèi)容。

      3.2 為網(wǎng)頁抓取方式制定技術(shù)標(biāo)準(zhǔn)

      另一個需要采取的措施是為網(wǎng)頁抓取方式制定技術(shù)標(biāo)準(zhǔn)。網(wǎng)頁抓取環(huán)節(jié)的主要問題為如何對待抓取的URL 隊列進行順序排列,也稱為抓取策略。而網(wǎng)頁抓取策略一般來說有深度優(yōu)先抓取策略、最佳抓取策略以及廣度優(yōu)先抓取策略三種。技術(shù)人員需要根據(jù)搜索引擎的實際情況,對三種抓取策略進行選擇與采用。

      例如,對廣度優(yōu)先抓取策略來說,其主要針對主題爬蟲來進行應(yīng)用。具體操作過程為首先對該層次進行全面搜索,接著對下一層次進行搜索,逐層順序搜索,特別是對于初始URL 距離較近的網(wǎng)頁,采用此種策略來進行網(wǎng)頁抓取較好,從而來幫助網(wǎng)絡(luò)爬蟲抓取所需網(wǎng)頁信息。而對最佳抓取策略來說,操作過程為計算URL 隊列與將要抓取網(wǎng)頁內(nèi)容的相似度,找出與URL 隊列相似度較高的網(wǎng)頁,對其進行搜索抓取,此種方式可以使網(wǎng)頁抓取策略更加科學(xué)合理。深度抓取策略則是以深度作為搜索主體,通過超鏈接的方式對網(wǎng)頁內(nèi)容進行深度優(yōu)先搜索。以上三種網(wǎng)頁抓取策略各有優(yōu)勢,技術(shù)人員需要根據(jù)實際情況選擇合適的抓取策略,并制定技術(shù)標(biāo)準(zhǔn),使其發(fā)揮應(yīng)有的作用。

      3.3 對各個控制模塊進行優(yōu)化管理

      除了充分發(fā)揮python 語言的優(yōu)勢以及制定技術(shù)標(biāo)準(zhǔn)之外,對各個控制模塊進行優(yōu)先管理也是促進網(wǎng)絡(luò)爬蟲技術(shù)應(yīng)用的重要措施。整個系統(tǒng)模塊分為爬蟲主控模塊、網(wǎng)頁下載模塊、URL調(diào)度模塊、數(shù)據(jù)清洗模塊、數(shù)據(jù)顯示模塊以及網(wǎng)頁解析模塊。技術(shù)人員需要對控制模塊進行優(yōu)先管理,完善各個模塊的使用環(huán)節(jié),為網(wǎng)絡(luò)爬蟲提供科學(xué)完整的URL 隊列、數(shù)據(jù)獲取、數(shù)據(jù)處理以及儲存等環(huán)節(jié)[2]。

      4 網(wǎng)絡(luò)爬蟲的工作原理及分類

      在網(wǎng)絡(luò)爬蟲的系統(tǒng)框架中,主過程由控制器,解析器,資源庫三部分組成。控制器的主要工作是負責(zé)給多線程中的各個爬蟲線程分配工作任務(wù)。解析器的主要工作是下載網(wǎng)頁,進行頁面的處理,主要是將一些JS 腳本標(biāo)簽、CSS 代碼內(nèi)容、空格字符、HTML 標(biāo)簽等內(nèi)容處理掉,爬蟲的基本工作由解析器完成。資源庫是用來存放下載到的網(wǎng)頁資源,一般都采用大型的數(shù)據(jù)庫存儲,如Oracle 數(shù)據(jù)庫,并對其建立索引。

      目前開發(fā)網(wǎng)絡(luò)爬蟲應(yīng)該選擇Nutch、Crawler4j、WebMagic、scrapy、WebCollector 還有其他的。爬蟲目前基本可以分3類:(1)分 布 式 爬 蟲:Nutch;(2)JAVA 爬 蟲:Crawler4j、WebMagic、WebCollector;(3)非JAVA 爬蟲:scrapy(基于Python 語言開發(fā))。

      5 結(jié)束語

      python 語言在網(wǎng)絡(luò)爬蟲技術(shù)的應(yīng)用方面有著重要的作用,特別是在大數(shù)據(jù)的背景下,利用python 語言來應(yīng)用網(wǎng)絡(luò)爬蟲技術(shù)可以完善搜索引擎以及網(wǎng)頁抓取等環(huán)節(jié),從而使其為大數(shù)據(jù)的發(fā)展貢獻力量。

      猜你喜歡
      爬蟲搜索引擎網(wǎng)頁
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
      電子制作(2018年10期)2018-08-04 03:24:38
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      電子測試(2018年1期)2018-04-18 11:53:04
      基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
      電子制作(2017年2期)2017-05-17 03:54:56
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
      電子測試(2015年18期)2016-01-14 01:22:58
      網(wǎng)絡(luò)搜索引擎亟待規(guī)范
      基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
      10個必知的網(wǎng)頁設(shè)計術(shù)語
      深州市| 孝义市| 淮滨县| 彭泽县| 抚宁县| 镇宁| 山西省| 桑植县| 大方县| 綦江县| 穆棱市| 庆云县| 白朗县| 杂多县| 拉萨市| 蒙城县| 出国| 长春市| 巴里| 盐池县| 广西| 达拉特旗| 英超| 泸水县| 伊吾县| 峡江县| 班玛县| 河西区| 鄂伦春自治旗| 湘西| 陇南市| 任丘市| 兴义市| 湘潭县| 西平县| 化德县| 鹿泉市| 南澳县| 曲靖市| 定西市| 湘阴县|