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


1. 科普      

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

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

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

2. 通用爬蟲框架

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

3. URL

爬蟲最主要的處理對象是URL。簡單說url就是輸入的網址(例如:http://www.cnblogs.com/kaituorensheng/)。理解URL之前首先理解URI.

Web上每種可用的資源,如 HTML文檔、圖像、視頻片段、程序等都由一個通用資源標志符(Universal Resource Identifier, URI)進行定位。
URI通常由三部分組成:

  1. 訪問資源的命名機制
  2. 存放資源的主機名
  3. 資源自身 的名稱,由路徑表示

如URI:http://www.why.com.cn/myhtml/html1223/

我們可以這樣解釋它:

  • 這是一個可以通過HTTP協議訪問的資源
  • 位於主機 www.why.com.cn上
  • 通過路徑“/myhtml/html1223/”訪問

URL是URI的一個子集。它是Uniform Resource Locator的縮寫,譯為“統一資源定位符”。
通俗地說,URL是Internet上描述信息資源的字符串,主要用在各種WWW客戶程序和服務器程序上。
采用URL可以用一種統一的格式來描述各種信息資源,包括文件、服務器的地址和目錄等。
URL的格式由三部分組成:

  1. 第一部分是協議(或稱為服務方式)
  2. 第二部分是存有該資源的主機IP地址(有時也包括端口號)
  3. 第三部分是主機資源的具體地址,如目錄和文件名等

第一部分和第二部分用“://”符號隔開
第二部分和第三部分用“/”符號隔開
第一部分和第二部分是不可缺少的,第三部分有時可以省略

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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM