入門須知之網路爬蟲的基本流程及抓取策略
大資料時代下,資料採集推動著資料分析,資料分析推動發展。但是在這個過程中會出現很多問題。拿最簡單最基礎的爬蟲採集資料為例,過程中就會面臨,IP被封,爬取受限、違法操作等多種問題,所以在爬去資料之前,一定要了解好預爬網站是否涉及違法操作,找到合適的代理IP訪問網站等一系列問題。
掌握爬蟲技術也成為現在技術流的營銷推廣人員必須掌握的。爬蟲入門,這些知識你必須瞭解。
一、網路爬蟲的基本工作流程如下:
1.首先選取一部分精心挑選的種子URL;
2.將這些URL放入待抓取URL佇列;
3.從待抓取URL佇列中取出待抓取在URL,解析DNS,並且得到主機的ip,並將URL對應的網頁下載下來,儲存進已下載網頁庫中。此外,將這些URL放進已抓取URL佇列。
4.分析已抓取URL佇列中的URL,分析其中的其他URL,並且將URL放入待抓取URL佇列,從而進入下一個迴圈。
二、抓取策略
在爬蟲系統中,待抓取URL佇列是很重要的一部分。待抓取URL佇列中的URL以什麼樣的順序排列也是一個很重要的問題,因為這涉及到先抓取那個頁面,後抓取哪個頁面。而決定這些URL排列順序的方法,叫做抓取策略。下面重點介紹幾種常見的抓取策略:
1.Partial PageRank策略
Partial PageRank演算法借鑑了PageRank演算法的思想:對於已經下載的網頁,連同待抓取URL佇列中的URL,形成網頁集合,計算每個頁面的PageRank值,計算完之後,將待抓取URL佇列中的URL按照PageRank值的大小排列,並按照該順序抓取頁面。
如果每次抓取一個頁面,就重新計算PageRank值,一種折中方案是:每抓取K個頁面後,重新計算一次PageRank值。但是這種情況還會有一個問題:對於已經下載下來的頁面中分析出的連結,也就是我們之前提到的未知網頁那一部分,暫時是沒有PageRank值的。為了解決這個問題,會給這些頁面一個臨時的PageRank值:將這個網頁所有入鏈傳遞進來的PageRank值進行彙總,這樣就形成了該未知頁面的PageRank值,從而參與排序。
2.寬度優先遍歷策略
寬度優先遍歷策略的基本思路是,將新下載網頁中發現的連結直接插入待抓取URL佇列的末尾。也就是指網路爬蟲會先抓取起始網頁中連結的所有網頁,然後再選擇其中的一個連結網頁,繼續抓取在此網頁中連結的所有網頁。
3.大站優先策略
對於待抓取URL佇列中的所有網頁,根據所屬的網站進行分類。對於待下載頁面數多的網站,優先下載。這個策略也因此叫做大站優先策略。
4.反向連結數策略
反向連結數是指一個網頁被其他網頁連結指向的數量。反向連結數表示的是一個網頁的內容受到其他人的推薦的程度。因此,很多時候搜尋引擎的抓取系統會使用這個指標來評價網頁的重要程度,從而決定不同網頁的抓取先後順序。
在真實的網路環境中,由於廣告連結、作弊連結的存在,反向連結數不能完全等他我那個也的重要程度。因此,搜尋引擎往往考慮一些可靠的反向連結數。
5.OPIC策略策略
該演算法實際上也是對頁面進行一個重要性打分。在演算法開始前,給所有頁面一個相同的初始現金(cash)。當下載了某個頁面P之後,將P的現金分攤給所有從P中分析出的連結,並且將P的現金清空。對於待抓取URL佇列中的所有頁面按照現金數進行排序。
6.深度優先遍歷策略
深度優先遍歷策略是指網路爬蟲會從起始頁開始,一個連結一個連結跟蹤下去,處理完這條線路之後再轉入下一個起始頁,繼續跟蹤連結。
三、從爬蟲的角度對網際網路進行劃分
對應的,可以將網際網路的所有頁面分為五個部分:
1.已下載未過期網頁
2.已下載已過期網頁:抓取到的網頁實際上是網際網路內容的一個映象與備份,網際網路是動態變化的,一部分網際網路上的內容已經發生了變化,這時,這部分抓取到的網頁就已經過期了。
3.待下載網頁:也就是待抓取URL佇列中的那些頁面
4.可知網頁:還沒有抓取下來,也沒有在待抓取URL佇列中,但是可以透過對已抓取頁面或者待抓取URL對應頁面進行分析獲取到的URL,認為是可知網頁。
5.還有一部分網頁,爬蟲是無法直接抓取下載的。稱為不可知網頁。
太陽軟體,一個好用的網際網路推廣換IP工具,海量IP,一鍵切換,提升權重,必不可少!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561288/viewspace-2219511/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 網路爬蟲之抓取郵箱爬蟲
- 爬蟲抓取網頁的詳細流程爬蟲網頁
- 網路爬蟲技術是什麼,網路爬蟲的基本工作流程是什麼?爬蟲
- 網路爬蟲的反扒策略爬蟲
- Python網路爬蟲4 - scrapy入門Python爬蟲
- 網路爬蟲小偏方:robots.txt快速抓取網站的小竅門爬蟲網站
- 網路爬蟲流程總結爬蟲
- 識別網路爬蟲的策略分析爬蟲
- NodeJs 入門到放棄 — 常用模組及網路爬蟲(二)NodeJS爬蟲
- Python爬蟲入門教程 18-100 煎蛋網XXOO圖片抓取Python爬蟲
- Python爬蟲抓取技術的門道Python爬蟲
- Python網路爬蟲實戰(一)快速入門Python爬蟲
- 網路爬蟲抓取邊界的法律與技術思考爬蟲
- python爬蟲 之 BeautifulSoup庫入門Python爬蟲
- Scrapy使用入門及爬蟲代理配置爬蟲
- 爬蟲入門爬蟲
- 利用Python網路爬蟲抓取網易雲音樂歌詞Python爬蟲
- Python爬蟲入門實戰之貓眼電影資料抓取(理論篇)Python爬蟲
- Python爬蟲入門實戰之貓眼電影資料抓取(實戰篇)Python爬蟲
- 爬蟲抓取網頁資料原理爬蟲網頁
- [Python] 網路爬蟲與資訊提取(1) 網路爬蟲之規則Python爬蟲
- 網路爬蟲基本原理詳解爬蟲
- 為什麼學習python及爬蟲,Python爬蟲[入門篇]?Python爬蟲
- 手把手教你寫網路爬蟲(4):Scrapy入門爬蟲
- Python3網路爬蟲快速入門實戰解析Python爬蟲
- 網路爬蟲如何獲取IP進行資料抓取爬蟲
- python入門之爬蟲工具有哪些?Python爬蟲
- IPIDEA大盤點,藉助網路爬蟲抓取資料的作用?Idea爬蟲
- 爬蟲必須得會的預備知識爬蟲
- 我的爬蟲入門書 —— 《Python3網路爬蟲開發實戰(第二版)》爬蟲Python
- 網路爬蟲技術及應用爬蟲
- 爬蟲開發知識入門基礎(1)爬蟲
- Python爬蟲入門教程 21-100 網易雲課堂課程資料抓取Python爬蟲
- Python爬蟲入門Python爬蟲
- 網路爬蟲之關於爬蟲 http 代理的常見使用方式爬蟲HTTP
- Python爬蟲入門【9】:圖蟲網多執行緒爬取Python爬蟲執行緒
- 網路爬蟲爬蟲
- 爬蟲抓取網路資料時經常遇到的六種問題爬蟲