亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

大數據環(huán)境下基于python的網(wǎng)路爬蟲(chóng)技術(shù)

優(yōu)采云 發(fā)布時(shí)間: 2020-05-26 08:03

  44 | 電子制做 2017 年 5月軟件開(kāi)發(fā)序言大數據背景下,各行各業(yè)都須要數據支持,如何在廣袤的數據中獲取自己感興趣的數據,在數據搜索方面,現在的搜索引擎似乎比剛開(kāi)始有了很大的進(jìn)步,但對于一些特殊數據搜索或復雜搜索,還不能挺好的完成,利用搜索引擎的數據不能滿(mǎn)足需求,網(wǎng)絡(luò )安全,產(chǎn)品督查,都須要數據支持,而網(wǎng)路上沒(méi)有現成的數據,需要自己自動(dòng)去搜索、分析、提煉,格式化為滿(mǎn)足需求的數據,而借助網(wǎng)路爬蟲(chóng)能手動(dòng)完成數據獲取,匯總的工作,大大提高了工作效率。1. 利用 python 實(shí)現網(wǎng)路爬蟲(chóng)相關(guān)技術(shù) ■ 1.1 什么是網(wǎng)絡(luò )爬蟲(chóng)網(wǎng)絡(luò )爬蟲(chóng)(又被稱(chēng)為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò )機器人),是一種根據一定的規則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或則腳本。它們被廣泛用于互聯(lián)網(wǎng)搜索引擎或其他類(lèi)似網(wǎng)站,以獲取或更新那些網(wǎng)站的內容和檢索方法。它們可以手動(dòng)采集所有其才能訪(fǎng)問(wèn)到的頁(yè)面內容,以供搜索引擎做進(jìn)一步處理(分檢整理下載的頁(yè)面),而促使用戶(hù)能更快的檢索到她們須要的信息。 ■ 1.2 python 編寫(xiě)網(wǎng)路爬蟲(chóng)的優(yōu)點(diǎn)(1)語(yǔ)言簡(jiǎn)練,簡(jiǎn)單易學(xué),使用上去得心應手,編寫(xiě)一個(gè)良好的 Python 程序就覺(jué)得象是在用英文寫(xiě)文章一樣,盡管這個(gè)英文的要求十分嚴格! Python 的這些偽代碼本質(zhì)是它最大的優(yōu)點(diǎn)之一。

  它讓你才能專(zhuān)注于解決問(wèn)題而不是去搞明白語(yǔ)言本身。(2)使用便捷,不需要笨重的 IDE,Python 只須要一個(gè) sublime text 或者是一個(gè)文本編輯器,就可以進(jìn)行大部分中小型應用的開(kāi)發(fā)了。(3)功能強悍的爬蟲(chóng)框架 ScraPy,Scrapy 是一個(gè)為了爬取網(wǎng)站數據,提取結構性數據而編撰的應用框架??梢詰迷诎〝祿诰?,信息處理或儲存歷史數據等一系列的程序中。(4)強大的網(wǎng)路支持庫以及 html 解析器,利用網(wǎng)路支持庫 requests,編寫(xiě)較少的代碼,就可以下載網(wǎng)頁(yè)。利用網(wǎng)頁(yè)解析庫 BeautifulSoup,可以便捷的解析網(wǎng)頁(yè)各個(gè)標簽,再結合正則表達式,方便的抓取網(wǎng)頁(yè)中的內容。(5)十分擅長(cháng)做文本處理字符串處理:python 包含了常用的文本處理函數,支持正則表達式,可以便捷的處理文本內容。 ■ 1.3 爬蟲(chóng)的工作原理網(wǎng)絡(luò )爬蟲(chóng)是一個(gè)手動(dòng)獲取網(wǎng)頁(yè)的程序,它為搜索引擎從互聯(lián)網(wǎng)上下載網(wǎng)頁(yè),是搜索引擎的重要組成。從功能上來(lái)講,爬蟲(chóng)通常分為數據采集,處理,儲存三個(gè)部份。爬蟲(chóng)的工作原理,爬蟲(chóng)通常從一個(gè)或則多個(gè)初始 URL 開(kāi)始,下載網(wǎng)頁(yè)內容,然后通過(guò)搜索或是內容匹配手段(比如正則表達式),獲取網(wǎng)頁(yè)中感興趣的內容,同時(shí)不斷從當前頁(yè)面提取新的 URL,根據網(wǎng)頁(yè)抓取策略,按一定的次序倒入待抓取 URL 隊列中,整個(gè)過(guò)程循環(huán)執行,一直到滿(mǎn)足系統相應的停止條件,然后對那些被抓取的數據進(jìn)行清洗,整理,并構建索引,存入數據庫或文件中,最后按照查詢(xún)須要,從數據庫或文件中提取相應的數據,以文本或圖表的形式顯示下來(lái)。

   ■ 1.4 網(wǎng)頁(yè)抓取策略在網(wǎng)路爬蟲(chóng)系統中,待抓取 URL 隊列是很重要的一部分,待抓取 URL 隊列中的 URL 以什么樣的次序排列也是一個(gè)很重要的問(wèn)題,因為這涉及到先抓取那種頁(yè)面大數據網(wǎng)絡(luò )爬蟲(chóng)原理,后抓取那個(gè)頁(yè)面。而決定那些 URL 排列次序的方式,叫做抓取策略。網(wǎng)頁(yè)的抓取策略可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種:(1)廣度優(yōu)先搜索策略,其主要思想是,由根節點(diǎn)開(kāi)始,首先遍歷當前層次的搜索,然后才進(jìn)行下一層的搜索,依次類(lèi)推逐層的搜索。這種策略多用在主題爬蟲(chóng)上,因為越是與初始 URL 距離逾的網(wǎng)頁(yè),其具有的主題相關(guān)性越大。(2)深度優(yōu)先搜索策略,這種策略的主要思想是,從根節點(diǎn)出發(fā)找出葉子節點(diǎn),以此類(lèi)推。在一個(gè)網(wǎng)頁(yè)中,選擇一個(gè)超鏈接,被鏈接的網(wǎng)頁(yè)將執行深度優(yōu)先搜索,形成單獨的一條搜索鏈,當沒(méi)有其他超鏈接時(shí),搜索結束。(3)最佳優(yōu)先搜索策略,該策略通過(guò)估算 URL 描述文本與目標網(wǎng)頁(yè)的相似度,或者與主題的相關(guān)性,根據所設定的閥值選出有效 URL 進(jìn)行抓取。 ■ 1.5 網(wǎng)絡(luò )爬蟲(chóng)模塊按照網(wǎng)路爬蟲(chóng)的工作原理,設計了一個(gè)通用的爬蟲(chóng)框架結構,其*敏*感*詞*如圖 1 所示。大數據環(huán)境下基于 python 的網(wǎng)路爬蟲(chóng)技術(shù)作者/謝克武,重慶工商大學(xué)派斯學(xué)院軟件工程學(xué)院摘要:隨著(zhù)互聯(lián)網(wǎng)的發(fā)展壯大,網(wǎng)絡(luò )數據呈爆炸式下降,傳統搜索引擎早已不能滿(mǎn)足人們對所需求數據的獲取的需求,作為搜索引擎的抓取數據的重要組成部份,網(wǎng)絡(luò )爬蟲(chóng)的作用非常重要,本文首先介紹了在大數據環(huán)境下網(wǎng)絡(luò )爬蟲(chóng)的重要性,接著(zhù)介紹了網(wǎng)絡(luò )爬蟲(chóng)的概念,工作原理,工作流程,網(wǎng)頁(yè)爬行策略,python在編撰爬蟲(chóng)領(lǐng)域的優(yōu)勢,最后設計了一個(gè)通用網(wǎng)路爬蟲(chóng)的框架,介紹了框架中模塊的互相協(xié)作完成數據抓取的過(guò)程。

  關(guān)鍵詞:網(wǎng)絡(luò )爬蟲(chóng);python;數據采集;大數據 | 45軟件開(kāi)發(fā)圖 1網(wǎng)路爬蟲(chóng)的基本工作流程如下:(1)首先選定一部分悉心選購的*敏*感*詞* URL;(2)將這種 URL 放入待抓取 URL 隊列;(3)從待抓取 URL 隊列中取出待抓取在 URL,將URL 對應的網(wǎng)頁(yè)下載出來(lái),將下載出來(lái)的網(wǎng)頁(yè)傳給數據解析模塊,再將這種 URL 放進(jìn)已抓取 URL 隊列。(4)分析下載模塊傳過(guò)來(lái)的網(wǎng)頁(yè)數據,通過(guò)正則抒發(fā),提取出感興趣的數據,將數據傳送給數據清洗模塊,然后再解析其中的其他 URL,并且將 URL 傳給 URL 調度模塊。(5)URL 調度模塊接收到數據解析模塊傳遞過(guò)來(lái)的URL 數 據, 首 先 將 這 些 URL 數 據 和 已 抓 取 URL 隊 列 比較,如果是早已抓取的 URL,就遺棄掉,如果是未抓取的URL,就按照系統的搜索策略,將 URL 放入待抓取 URL 隊列。(6)整個(gè)系統在 3-5 步中循環(huán),直到待抓取 URL 隊列里所有的 URL 已經(jīng)完全抓取,或者系統主動(dòng)停止爬取,循環(huán)結束。(7)整理清洗數據,將數據以規范的格式存入數據庫。(8)根據使用者偏好,將爬取結果從數據庫中讀出,以文字,圖形的方法展示給使用者。

  2. 系統模塊整個(gè)系統主要有六個(gè)模塊,爬蟲(chóng)主控模塊,網(wǎng)頁(yè)下載模塊,網(wǎng)頁(yè)解析模塊,URL 調度模塊,數據清洗模塊,數據顯示模塊。這幾個(gè)模塊之間互相協(xié)作,共同完成網(wǎng)路數據抓取的功能。(1)主控模塊,主要是完成一些初始化工作,生成*敏*感*詞* URL, 并將這種 URL 放入待爬取 URL 隊列,啟動(dòng)網(wǎng)頁(yè)下載器下載網(wǎng)頁(yè),然后解析網(wǎng)頁(yè),提取須要的數據和URL地址,進(jìn)入工作循環(huán),控制各個(gè)模塊工作流程,協(xié)調各個(gè)模塊之間的工作(2)網(wǎng)頁(yè)下載模塊,主要功能就是下載網(wǎng)頁(yè),但其中有幾種情況,對于可以匿名訪(fǎng)問(wèn)的網(wǎng)頁(yè),可以直接下載,對于須要身分驗證的,就須要模擬用戶(hù)登錄后再進(jìn)行下載,對于須要數字簽名或數字證書(shū)就能訪(fǎng)問(wèn)的網(wǎng)站,就須要獲取相應證書(shū),加載到程序中,通過(guò)驗證以后才會(huì )下載網(wǎng)頁(yè)。網(wǎng)絡(luò )上數據豐富,對于不同的數據,需要不同的下載形式。數據下載完成后大數據網(wǎng)絡(luò )爬蟲(chóng)原理,將下載的網(wǎng)頁(yè)數據傳遞給網(wǎng)頁(yè)解析模塊,將URL 地址裝入已爬取 URL 隊列。(3)網(wǎng)頁(yè)解析模塊,它的主要功能是從網(wǎng)頁(yè)中提取滿(mǎn)足要求的信息傳遞給數據清洗模塊,提取 URL 地址傳遞給URL 調度模塊,另外,它還通過(guò)正則表達式匹配的方法或直接搜索的方法,來(lái)提取滿(mǎn)足特定要求的數據,將這種數據傳遞給數據清洗模塊。

 ?。?)URL 調度模塊,接收網(wǎng)頁(yè)解析模塊傳遞來(lái)的 URL地址,然后將這種 URL 地址和已爬取 URL 隊列中的 URL 地址比較,如果 URL 存在于已爬取 URL 隊列中,就遺棄這種URL 地址,如果不存在于已爬取 URL 隊列中,就按系統采取的網(wǎng)頁(yè)抓取策略,將 URL 放入待爬取 URL 地址相應的位置。(5)數據清洗模塊,接收網(wǎng)頁(yè)解析模塊傳送來(lái)的數據,網(wǎng)頁(yè)解析模塊提取的數據,一般是比較零亂或款式不規范的數據,這就須要對那些數據進(jìn)行清洗,整理,將那些數據整理為滿(mǎn)足一定格式的數據,然后將這種數據存入數據庫中。(6)數據顯示模塊,根據用戶(hù)需求,統計數據庫中的數據,將統計結果以文本或則圖文的形式顯示下來(lái),也可以將統計結果存入不同的格式的文件將中(如 word 文檔,pdf 文檔,或者 excel 文檔),永久保存。3. 結束語(yǔ)如今早已步入大數據時(shí)代,社會(huì )各行各業(yè)都對數據有需求,對于一些現成的數據,可以通過(guò)網(wǎng)路免費獲取或則訂購,對于一下非現成的數據,就要求編撰特定的網(wǎng)路爬蟲(chóng),自己在網(wǎng)路起來(lái)搜索,分析,轉換為自己須要的數據,網(wǎng)絡(luò )爬蟲(chóng)就滿(mǎn)足了這個(gè)需求,而 python 簡(jiǎn)單易學(xué),擁有現成的爬蟲(chóng)框架,強大的網(wǎng)路支持庫,文本處理庫,可以快速的實(shí)現滿(mǎn)足特定功能的網(wǎng)路爬蟲(chóng)。

  參考文獻* [1]于成龍, 于洪波. 網(wǎng)絡(luò )爬蟲(chóng)技術(shù)研究[J]. 東莞理工學(xué)院學(xué)報, 2011, 18(3):25-29.* [2]李俊麗. 基于Linux的python多線(xiàn)程爬蟲(chóng)程序設計[J]. 計算機與數字工程 , 2015, 43(5):861-863.* [3]周中華, 張惠然, 謝江. 基于Python的新浪微博數據爬蟲(chóng)[J]. 計算機應用 , 2014, 34(11):3131-3134.

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久