好程式設計師Python培訓分享網路爬蟲的分類
好程式設計師Python 培訓分享網路爬蟲的分類, 網路爬蟲按照系統結構和實現技術,大致可以分為以下幾種型別:通用網路爬蟲(General Purpose Web Crawler )、聚焦網路爬蟲( Focused Web Crawler )增量式網路爬蟲( Incremental Web Crawler )、深層網路爬蟲( Deep Web Crawler )。實際的網路爬蟲系統通常是幾種爬蟲技術相結合實現的。
一、通用網路爬蟲
通用網路爬蟲又稱全網爬蟲(Scalable Web Crawler ),爬行物件從一些種子 URL 擴充到整個 Web ,主要為門戶站點搜尋引擎和大 型 Web 服務提供商採集資料。由於商業原因 ,它們的技術細節很少公佈出來。通用網路爬蟲的結構大致可以分為頁面爬行模組 、頁面分析模組、連結過濾模組、頁面資料庫、 URL 佇列初始 URL 集合幾個部分。為提高工作效率,通用網路爬蟲會採取一定的爬行策略。常 用的爬行策略有:深度優先策略、廣度優先策略。
二、聚焦網路爬蟲
聚焦網路爬蟲(Focused Crawler ),又稱主題 網路爬蟲( Topical Crawler ),是指選擇性地爬行那 些與預先定義好的主題相關頁面的網路爬蟲 [8] 。和 通用網路爬蟲相比,聚焦爬蟲只需要爬行與主題相關 的頁面,極大地節省了硬體和網路資源,儲存的頁面 也由於數量少而更新快,還可以很好地滿足一些特定 人群對特定領域資訊的需求 。聚焦網路爬蟲和通用網路爬蟲相比,增加了鏈 接評價模組以及內容評價模組。聚焦爬蟲爬行策略實 現的關鍵是評價頁面內容和連結的重要性,不同的方 法計算出的重要性不同,由此導致連結的訪問順序也 不同。主要的爬行策略包括:基於內容評價的爬行策 略、基於連結結構評價的爬行策略 、基於增強學習 的爬行策略、基於語境圖的爬行策略。
三、增量式網路爬蟲
增量式網路爬蟲(Incremental Web Crawler )是指對已下載網頁採取增量式更新和只爬行新產生的或者已經發生變化 網頁的爬蟲,它能夠在一定程度上保證所爬 行的頁面是儘可能新的頁面。增量式爬蟲只 會在需要的時候爬行新產生或發生更新的頁 面 ,並不重新下載沒有發生變化的頁面,可 有效減少資料下載量,及時更新已爬行的網 頁,減小時間和空間上的耗費,但是增加了 爬行演算法的複雜度和實現難度。增量式網路 爬蟲的體系結構 [ 包含爬行模組、排序模組、 更新模組、本地頁面集、待爬行 URL 集以及 本地頁面 URL 集。
四、Deep Web 爬蟲
Web 頁面按存在方式可以分為表層網頁( Surface Web 和深層網頁( Deep Web ,也 稱 Invisible Web Pages 或 Hidden Web )。表層網頁是 指傳統搜尋引擎可以索引的頁面,以超連結可以到達的靜態網頁 為主構成的 Web 頁面。 Deep Web 是那些大部分內容不能透過靜 態連結獲取的、隱藏在搜尋表單後的,只有使用者提交一些關鍵詞 才能獲得的 Web 頁面。例如那些使用者註冊後內容才可見的網頁 就屬於 Deep Web 。 2000 年 Bright Planet 指出: Deep Web 中可 訪問資訊容量是 Surface Web 的幾百倍,是網際網路上最大、發展 最快的新型資訊資源 。 Deep Web 爬蟲體系結構包含六個基本功 能模組 (爬行控制器、解析器、表單分析器、表單處理器、響應 分析器、 LVS 控制器)和兩個爬蟲內部資料結構( URL 列表、 LVS 表)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2707487/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師Python培訓分享Python之初識網路爬蟲程式設計師Python爬蟲
- 好程式設計師Python培訓分享Python爬蟲工具列表大全程式設計師Python爬蟲
- 好程式設計師Python培訓分享Python爬蟲相關框架程式設計師Python爬蟲框架
- 好程式設計師Python培訓分享零基礎Python爬蟲學習線路程式設計師Python爬蟲
- 好程式設計師Python培訓分享python中爬蟲常用到的正規表示式程式設計師Python爬蟲
- 好程式設計師Python培訓分享Python程式設計師面試技巧程式設計師Python面試
- 好程式設計師Java培訓分享Java程式設計師常用的工具類庫程式設計師Java
- 好程式設計師Python培訓分享numpy簡介程式設計師Python
- 好程式設計師Python培訓分享四款Python程式庫程式設計師Python
- 好程式設計師Python培訓分享機器學習面試題一程式設計師Python機器學習面試題
- 好程式設計師Java培訓分享Java程式設計技巧程式設計師Java
- 好程式設計師Python培訓分享Python系列之字串的使用程式設計師Python字串
- 好程式設計師Python培訓分享Python異常處理程式設計師Python
- 好程式設計師Python培訓分享開發工具推薦程式設計師Python
- 好程式設計師Python培訓分享基礎入門Django程式設計師PythonDjango
- 好程式設計師Python培訓分享For迴圈用法詳解程式設計師Python
- 好程式設計師Java培訓分享BigDecimal的用法程式設計師JavaDecimal
- 好程式設計師Java培訓分享Java類載入的過程概述程式設計師Java
- 好程式設計師Java培訓分享maven-概述程式設計師JavaMaven
- 好程式設計師Java培訓分享Java程式設計師技能提升指南程式設計師Java
- 好程式設計師Python培訓分享Python程式設計中常見的異常處理程式設計師Python
- 好程式設計師Python培訓分享如何寫Python裝飾器程式設計師Python
- 好程式設計師Python培訓分享Python系列之分支結構程式設計師Python
- 好程式設計師Python培訓分享Python如何呼叫RPC介面程式設計師PythonRPC
- 好程式設計師Python培訓分享Python配置gRPC環境程式設計師PythonRPC
- 好程式設計師Python培訓分享學Python要注意什麼程式設計師Python
- 好程式設計師Python培訓分享簡述fetchone()函式程式設計師Python函式
- 好程式設計師web前端培訓分享CSS定位的教程程式設計師Web前端CSS
- 好程式設計師Java培訓分享Spring Ioc的原理程式設計師JavaSpring
- 好程式設計師Java培訓分享本地快取如何設計程式設計師Java快取
- 好程式設計師大資料培訓分享如何區分Hive與HBase程式設計師大資料Hive
- 好程式設計師web前端培訓分享JavaScript框架J程式設計師Web前端JavaScript框架
- 好程式設計師Java培訓分享SpringBoot -YAML程式設計師JavaSpring BootYAML
- 好程式設計師web前端培訓分享Vue面試題程式設計師Web前端Vue面試題
- 好程式設計師web前端培訓分享學習JavaScript程式設計師Web前端JavaScript
- 好程式設計師Java培訓分享For迴圈詳解程式設計師Java
- 好程式設計師大資料培訓分享MapReduce理解程式設計師大資料
- 好程式設計師Java培訓分享Mybatis面試題集合程式設計師JavaMyBatis面試題