Python3 urllib 庫
阿新 • • 發佈:2019-03-12
read style cookielib readlines 錯誤 處理 timeout serve 我們
(3) 在 Python2.x 中使用 import urllib, urllib2 ;在 Python3.x 中使用 import urllib
(4) 在 Python2.x 中使用 urllib2.urlopen ;在 Python3.x 中使用 urllib.request.urlopen
(5) 在 Python2.x 中使用 urllib2.Request ;在 Python3.x 中使用 urllib.request.Request
(6) 在 Python2.x 中使用 urllib.quote ;在 Python3.x 中使用 urllib.request.quote
(7) 在 Python2.x 中使用 cookielib.CookieJar ;在 Python3.x 中使用 http.CookieJar
(8) 在 Python2.x 中使用 urllib.urlencode ;在 Python3.x 中使用 urllib.parse.urlencode
- urllib 簡介
- urllib 基礎模塊
- 使用 urllib 發送請求
- 使用 urllib 進行身份驗證
- 使用 urllib 設置代理服務器
- 使用 urllib 處理 Cookies
- 使用 urllib 處理異常
- 使用 urllib 解析鏈接
- 使用 urllib 分析 Robots 協議
1. urllib 簡介
(1) urllib 是 Python 內置的 HTTP 請求庫,用來向服務器發送 HTTP 請求
(2) 在 Python2.x 中,有 urllib 和 urllib2 兩個模塊;在 Python3.x 中,urllib2 合並到了 urllib 中
(3) 在 Python2.x 中使用 import urllib, urllib2 ;在 Python3.x 中使用 import urllib
(4) 在 Python2.x 中使用 urllib2.urlopen ;在 Python3.x 中使用 urllib.request.urlopen
(5) 在 Python2.x 中使用 urllib2.Request ;在 Python3.x 中使用 urllib.request.Request
(6) 在 Python2.x 中使用 urllib.quote ;在 Python3.x 中使用 urllib.request.quote
(7) 在 Python2.x 中使用 cookielib.CookieJar ;在 Python3.x 中使用 http.CookieJar
(8) 在 Python2.x 中使用 urllib.urlencode ;在 Python3.x 中使用 urllib.parse.urlencode
2. urllib 基礎模塊
(1) urllib.request:最基本的HTTP請求模塊,用來模擬發送請求,就像在瀏覽器裏輸入網址然後回車一樣
(2) urllib.error:異常處理模塊,如果出現請求錯誤,我們可以捕獲這些異常,然後進行重試或其他操作以保證程序不會意外終止
(3) urllib.parse:一個工具模塊,提供了許多 URL 處理方法,比如拆分、解析、合並等
(4) urllib.robotparser:主要是用來識別網站的 robots.txt 文件,然後判斷哪些網站可以爬,哪些網站不可以爬,它其實用得比較少
3. 使用 urllib 發送請求
使用 urllib 的 request 模塊提供了最基本的構造HTTP請求的方法,使用它可以實現請求的發送並得到相應,常用方法如下:
(1) urllib.request.urlopen(url, data=None, timeout=n) 用於發送HTTP請求並得到相應
In [1]: import urllib.request In [2]: response = urllib.request.urlopen("http://www.baidu.com/") //發送HTTP請求 In [3]: response.read().decode(‘utf-8‘) //read()方法用於獲取響應內容,readline(),readlines()也可以 In [4]: response.status //status屬性用於獲取響應狀態碼 In [5]: response.getcode() //getcode()方法用於獲取響應狀態碼 In [6]: response.geturl() //geturl()方法用於獲取請求的源地址 In [7]: response.getheaders() //getheaders()方法用於獲取響應頭信息 In [8]: response.getheader(‘Server‘) //getheader()方法用於獲取指定的響應頭信息
(2) urllib.request.Request()
Python3 urllib 庫