爬蟲|URL和URI有什麼不一樣

日拱一卒|數據挖掘009

簡單點說,URL就是在瀏覽器端輸入的www.baidu.com這個字符串

展開說URL之前,首先要理解URI的概念。

一、什麼是URI?

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

URI通常由三部分組成:

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

除此之外, 如果不是訪問特定資源而是對服務器本身發起請求, 可以用一個 * 來代替請求 URI。 下面這個例子是查詢 HTTP 服務器端支持的 HTTP 方法種類。

二、什麼是URL?

URL是URI的一個子集。它是Uniform Resource Locator的縮寫,譯爲“統一資源定位符”。 即URL可以用來標識一個資源,而且還指明瞭如何定位這個資源。

通俗地說,URL是Internet上描述信息資源的字符串,主要用在各種WWW客戶程序和服務器程序上。採用URL可以用一種統一的格式來描述各種信息資源,包括文件、服務器的地址和目錄等。

URL的一般格式爲(帶方括號[]的爲可選項):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment

URL的格式由三部分組成:

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

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

1.HTTP協議的URL示例:

http://www.peopledaily.com.cn/channel/welcome.htm
其計算機域名爲www.peopledaily.com.cn
超級文本文件(文件類型爲.html)是在目錄/channel下的welcome.htm

2.文件的URL
用URL表示文件時,服務器方式用file表示,後面要有主機IP地址、文件的存取路 徑(即目錄)和文件名等信息。有時可以省略目錄和文件名,但“/”符號不能省略。

例:file://ftp.yoyodyne.com/pub/files/foobar.txt
上面這個URL代表存放在主機ftp.yoyodyne.com上的pub/files/目錄下的一個文件,文件名是foobar.txt

三、URL和URI的區別

URL是URI的子集。

URI的定義是:統一資源標識符,而URL的定義是:統一資源定位符。

二者的區別在於,URI表示請求服務器的路徑,定義這麼一個資源。而URL同時說明要如何訪問這個資源(http://)。

爬蟲最主要的處理對象就是URL,它根據URL地址取得所需要的文件內容,然後對它進行進一步的處理。因此,準確地理解URL對理解網絡爬蟲至關重要。


參考資料:
1.網絡爬蟲(一):抓取網頁的含義和URL基本構成
2.Python網絡爬蟲之爬取網頁的含義和URL基本構成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章