




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Python爬蟲設計入門重慶大學軟件服務工程實驗室 余俊良Using Python To Design A Crawler Summarize 基本的爬蟲工作原理 簡單爬蟲設計 入門庫: 下載網頁:urllib,Requests 解析網頁:BeautifulSoup 模擬交互,處理JS動態網頁:Selenium 高級爬蟲框架Scrapy 分布式爬蟲設計 分布式隊列 布隆過濾器 (Bloom Filter) 網絡爬蟲是一個自動提取網頁的程序,它為搜索引擎從萬維網上下載網頁,是搜索引擎的重要組成。傳統爬蟲從一個或若干初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上
2、抽取新的URL放入隊列,直到滿足系統的一定停止條件。什么是爬蟲 批量型爬蟲 批量型爬蟲有明確的抓取范圍和目標,當爬蟲達到這個設定的目標后,即停止抓取過程。 增量型爬蟲 增量型爬蟲會持續不斷的抓取,對于抓取的網頁,要定期更新。通用的商業搜索引擎爬蟲基本都屬于此類。 垂直型爬蟲 垂直型爬蟲關注特定主題內容或者屬于特定行業的網頁,其他主題或者其他行業的內容不再考慮范圍。爬蟲的分類通用爬蟲框架基本工作流程 網絡爬蟲的基本工作流程如下:1.首先選取一部分精心挑選的種子URL;2.將這些URL放入待抓取URL隊列;3.從待抓取URL隊列中取出待抓取在URL,解析DNS,并且得到主機的ip,并將URL對應的
3、網頁下載下來,存儲進已下載網頁庫中。此外,將這些URL放進已抓取URL隊列。4.分析已抓取URL隊列中的URL,分析其中的其他URL,并且將URL放入待抓取URL隊列,從而進入下一個循環。從爬蟲的角度對互聯網進行劃分從爬蟲的角度對互聯網進行劃分 對應的,可以將互聯網的所有頁面分為五個部分:1.已下載未過期網頁2.已下載已過期網頁:抓取到的網頁實際上是互聯網內容的一個鏡像與備份,互聯網是動態變化的,一部分互聯網上的內容已經發生了變化,這時,這部分抓取到的網頁就已經過期了。 3.待下載網頁:也就是待抓取URL隊列中的那些頁面4.可知網頁:還沒有抓取下來,也沒有在待抓取URL隊列中,但是可以通過對已
4、抓取頁面或者待抓取URL對應頁面進行分析獲取到的URL,認為是可知網頁。5.還有一部分網頁,爬蟲是無法直接抓取下載的。稱為不可知網頁。抓取策略 在爬蟲系統中,待抓取URL隊列是很重要的一部分。待抓取URL隊列中的URL以什么樣的順序排列也是一個很重要的問題,因為這涉及到先抓取那個頁面,后抓取哪個頁面。而決定這些URL排列順序的方法,叫做抓取策略。下面重點介紹幾種常見的抓取策略: 1.深度優先遍歷策略 2.寬度優先遍歷策略 3.反向鏈接數策略 4.Partial PageRank策略抓取策略 depth-first:遍歷的路徑:A-F-G E-H-I B C D breadth-first:遍歷
5、的路徑:A-B-C-D-E-F G H I網頁更新策略 互聯網是實時變化的,具有很強的動態性。網頁更新策略主要是決定何時更新之前已經下載過的頁面。常見的更新策略又以下三種: 1.歷史參考策略 顧名思義,根據頁面以往的歷史更新數據,預測該頁面未來何時會發生變化。一般來說,是通過泊松過程進行建模進行預測。網頁更新策略 2.用戶體驗策略 盡管搜索引擎針對于某個查詢條件能夠返回數量巨大的結果,但是用戶往往只關注前幾頁結果。因此,抓取系統可以優先更新那些顯示在查詢結果前幾頁中的網頁,而后再更新那些后面的網頁。這種更新策略也是需要用到歷史信息的。用戶體驗策略保留網頁的多個歷史版本,并且根據過去每次內容變化
6、對搜索質量的影響,得出一個平均值,用這個值作為決定何時重新抓取的依據網頁更新策略 3.聚類抽樣策略前面提到的兩種更新策略都有一個前提:需要網頁的歷史信息。這樣就存在兩個問題:第一,系統要是為每個系統保存多個版本的歷史信息,無疑增加了很多的系統負擔;第二,要是新的網頁完全沒有歷史信息,就無法確定更新策略。這種策略認為,網頁具有很多屬性,類似屬性的網頁,可以認為其更新頻率也是類似的。要計算某一個類別網頁的更新頻率,只需要對這一類網頁抽樣,以他們的更新周期作為整個類別的更新周期。分布式抓取系統結構 一般來說,抓取系統需要面對的是整個互聯網上數以億計的網頁。單個抓取程序不可能完成這樣的任務。往往需要多
7、個抓取程序一起來處理。一般來說抓取系統往往是一個分布式的三層結構。如圖所示:分布式抓取系統結構 最下一層是分布在不同地理位置的數據中心,在每個數據中心里有若干臺抓取服務器,而每臺抓取服務器上可能部署了若干套爬蟲程序。這就構成了一個基本的分布式抓取系統。 對于一個數據中心內的不同抓去服務器,協同工作的方式有幾種: 1.主從式(Master-Slave) 2.對等式(Peer to Peer)主從式抓取系統結構主從式抓取系統結構 對于主從式而言,有一臺專門的Master服務器來維護待抓取URL隊列,它負責每次將URL分發到不同的Slave服務器,而Slave服務器則負責實際的網頁下載工作。Mast
8、er服務器除了維護待抓取URL隊列以及分發URL之外,還要負責調解各個Slave服務器的負載情況。以免某些Slave服務器過于清閑或者勞累。 這種模式下,Master往往容易成為系統瓶頸。對等式抓取系統結構對等式抓取系統結構 在這種模式下,所有的抓取服務器在分工上沒有不同。每一臺抓取服務器都可以從待抓取在URL隊列中獲取URL,然后對該URL的主域名的hash值H,然后計算H mod m(其中m是服務器的數量,以上圖為例,m為3),計算得到的數就是處理該URL的主機編號。 這種模式有一個問題,當有一臺服務器死機或者添加新的服務器,那么所有URL的哈希求余的結果就都要變化。也就是說,這種方式的擴
9、展性不佳。對等式抓取系統結構 在這種模式下,所有的抓取服務器在分工上沒有不同。每一臺抓取服務器都可以從待抓取在URL隊列中獲取URL,然后對該URL的主域名的hash值H,然后計算H mod m(其中m是服務器的數量,以上圖為例,m為3),計算得到的數就是處理該URL的主機編號。 這種模式有一個問題,當有一臺服務器死機或者添加新的服務器,那么所有URL的哈希求余的結果就都要變化。也就是說,這種方式的擴展性不佳。布隆過濾器 在構建分布式爬蟲時抓取海量網頁時,通常需要維護一個很長的已抓取URL集合,避免重復抓取已經下載過的網頁。然而即使使用哈希表來構建這個集合,依然面臨著沖突和內存利用率不高的缺點
10、。通常的判重做法是使用Bloom Filter(布隆過濾器)來進行已抓取網頁查找。布隆過濾器 布隆布隆過濾器過濾器(Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它實際上是由一個很長的二進制向量和一系列無關的哈希函數組成,布隆過濾器可以用于檢索一個元素是否在一個集合中。它的優點是空間效率和查詢時間都遠遠超過一般的算法,缺點是有一定的誤識別率和刪除困難。即Bloom Filter報告某一元素存在于某集合中,但是實際上該元素并不在集合中,但是沒有識別錯誤的情形,如果某個元素在該集合中,那么Bloom Filter 是不會報告該元素不在集合中的,所以不會漏報。布隆過濾器 相比于其它的數據結構,布隆過濾器在空間和時間方面都有巨大的優勢。布隆過濾器存儲空間和插入/查詢時間都是常數。另外, Hash 函數相互之間沒有關系,方便由硬件并行實現。布隆過濾器不需要存儲元素本身,在某些對保密要求非常嚴格的場合有優勢。Python高級爬蟲框架Scrapy Scrapy,Python開發的一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水利工程中的地下水資源管理與保護考核試卷
- 棉麻行業發展趨勢分析考核試卷
- 海洋生物制藥臨床研究與評價考核試卷
- 電子商務中的社交購物趨勢考核試卷
- 滑動軸承的靜力學與動力學分析考核試卷
- 影視設備倉儲物流咨詢批發考核試卷
- 光電子器件在太赫茲技術的應用前景考核試卷
- 生態環境宣傳教育與普及考核試卷
- 曲阜師范大學《植物造景與庭院設計》2023-2024學年第二學期期末試卷
- 山東省德州夏津縣2024-2025學年初三質量檢測試題(三)化學試題含解析
- 物流行業無人機配送方案
- 2025年中考語文二輪專題復習:現代文閱讀高頻考點及答題技巧 講義
- 風機事故完整版本
- 開工安全交底
- 北京市2020-2024年高考生物復習分類匯編:基因工程(含詳解)
- 無人機應急處置預案及流程
- 【MOOC】量子信息原理與應用-南京大學 中國大學慕課MOOC答案
- 壓接端子檢驗標準
- 一年級語文下冊in-ing拼音練習2018(部編版)
- 幼兒園 家具玩具類 設備采購相關參數(僅供參考)
- 新質生產力賦能銀發經濟高質量發展的內在邏輯與實踐路徑
評論
0/150
提交評論