天天看點

python網絡爬蟲(一):網絡爬蟲科普與URL含義

1. 科普      

     通用搜尋引擎處理的對象是網際網路的網頁,目前網頁的數量數以億計,是以搜尋引擎面臨的第一個問題是如何設計出高效的下載下傳系統,已将海量的網頁下載下傳到本地,在本地形成網際網路網頁的鏡像。網絡爬蟲就是擔當此大任的。

     抓取網頁的過程其實和讀者平時使用IE浏覽器浏覽網頁的道理是一樣的。比如說你在浏覽器的位址欄中輸入 www.baidu.com 這個位址。打開網頁的過程其實就是浏覽器作為一個浏覽的“用戶端”,向伺服器端發送了一次請求,把伺服器端的檔案“抓”到本地,再進行解釋、展現。浏覽器的功能是将擷取的HTML代碼進行解析,然後将原始的網頁轉化為我們看到的網站頁面。

     網絡爬蟲最基本的思路就是:從一個頁面開始,分析其中的url,提取出來,然後通過這些連結尋求下一個頁面。如此往複。

2. 通用爬蟲架構

python網絡爬蟲(一):網絡爬蟲科普與URL含義

首先,從網際網路上精心選擇一部分網頁,以這些網頁的連結位址最為種子URL,将這些種子RUL存入待抓取的URL隊列(1),從待抓取的URL隊列開始讀取一個url(2)。其中的連結位址經過DNS解析(3)轉化為網站伺服器對應的IP位址。網頁下載下傳器根據IP位址向伺服器發送請求,獲得網頁(5),下載下傳好網頁後一方面作為原始資料儲存到頁面庫中,等待建立索引等後處理。另一方面将該網頁的位址存到已經抓取的隊列(8)(避免重複爬取)。對于剛才爬取的網頁進行解析(6),抽取其中的url(7),對于不再已抓取URL隊列中的URL存于待抓取URL隊列(9)和。重複剛才的故事。

3. URL

Web上每種可用的資源,如 HTML文檔、圖像、視訊片段、程式等都由一個通用資源标志符(Universal Resource Identifier, URI)進行定位。 

URI通常由三部分組成:

通路資源的命名機制

存放資源的主機名

資源自身 的名稱,由路徑表示

我們可以這樣解釋它:

這是一個可以通過HTTP協定通路的資源

位于主機 www.why.com.cn上

通過路徑“/myhtml/html1223/”通路

URL是URI的一個子集。它是Uniform Resource Locator的縮寫,譯為“統一資源定位符”。

通俗地說,URL是Internet上描述資訊資源的字元串,主要用在各種WWW客戶程式和伺服器程式上。

采用URL可以用一種統一的格式來描述各種資訊資源,包括檔案、伺服器的位址和目錄等。

URL的格式由三部分組成:

第一部分是協定(或稱為服務方式)

第二部分是存有該資源的主機IP位址(有時也包括端口号)

第三部分是主機資源的具體位址,如目錄和檔案名等

第一部分和第二部分用“://”符号隔開

第二部分和第三部分用“/”符号隔開

第一部分和第二部分是不可缺少的,第三部分有時可以省略

3. 1 HTTP協定的URL示例

使用超級文本傳輸協定HTTP,提供超級文本資訊服務的資源。 

例:

其計算機域名為www.peopledaily.com.cn。

超級文本檔案(檔案類型為.html)是在目錄 /channel下的welcome.htm。

3.2 檔案的URL

用URL表示檔案時,伺服器方式用file表示,後面要有主機IP位址、檔案的存取路徑(即目錄)和檔案名等資訊。

有時可以省略目錄和檔案名,但“/”符号不能省略。 

例:file://ftp.yoyodyne.com/pub/files/foobar.txt 

上面這個URL代表存放在主機ftp.yoyodyne.com上的pub/files/目錄下的一個檔案,檔案名是foobar.txt。

本文轉自jihite部落格園部落格,原文連結:http://www.cnblogs.com/kaituorensheng/p/3712078.html,如需轉載請自行聯系原作者