1. 程式人生 > 程式設計 >Python urllib.request物件案例解析

Python urllib.request物件案例解析

剛剛接觸爬蟲,基礎的東西得時時回顧才行,這麼全面的帖子無論如何也得厚著臉皮轉過來啊!

什麼是 Urllib 庫?

urllib 庫 是 Python 內建的 HTTP 請求庫。urllib 模組提供的上層介面,使訪問 www 和 ftp 上的資料就像訪問本地檔案一樣。

有以下幾種模組:

1.urllib.request 請求模組

2. urllib.error 異常處理模組

3. urllib.parse url 解析模組

4. urllib.robotparser robots.txt 解析模組

Urllib 庫下的幾種模組基本使用如下:

urllib.request

關於 urllib.request: urllib.request 模組提供了最基本的構造 HTTP (或其他協議如 FTP)請求的方法,利用它可以模擬瀏覽器的一個請求發起過程。利用不同的協議去獲取 URL 資訊。它的某些介面能夠處理基礎認證 ( Basic Authenticaton) 、redirections (HTTP 重定向)、 Cookies (瀏覽器 Cookies)等情況。而這些介面是由 handlers 和 openers 物件提供的。

1.常用的方法有

  •   read()==讀取檔案內容
  •   geturl()==獲取請求url
  •   getheaders()==獲取http請求頭資訊
  •   getcode()==獲取狀態碼
  •   readlines()==獲取一行

2.案例

#coding=utf-8
#import urllib.request
#=========response方法使用
#read()==讀取檔案內容
#geturl()==獲取請求url
#getheaders()==獲取http請求頭資訊
#getcode()==獲取狀態碼
#readlines()==獲取一行
#url="http://www.baidu.com";
#response = urllib.request.urlopen(url);
#=====案例1
# str = response.read().decode();#這樣通過decode轉換為utf8
# with open("baidu.html","w",encoding="utf8") as fp:
#   fp.write(str);
#=====案例2通過位元組流寫=預設通過read讀取的是位元組流
# with open("bai.html","wb") as fp:
#   fp.write(response.read()); 
#==使用位元組流讀取存圖片
# image_url='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3772530225,1800402028&fm=26&gp=0.jpg';
# response = urllib.request.urlopen(image_url);
# with open("mv.jpg",'wb') as fp:
#   fp.write(response.read());
#案例3==使用內建函式讀取圖片
#image_url='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3772530225,1800402028&fm=26&gp=0.jpg';
#urllib.request.urlretrieve(image_url,"chun.jpg");

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。