Python urllib.request對(duì)象案例解析
剛剛接觸爬蟲,基礎(chǔ)的東西得時(shí)時(shí)回顧才行,這么全面的帖子無論如何也得厚著臉皮轉(zhuǎn)過來啊!
什么是 Urllib 庫(kù)?
urllib 庫(kù) 是 Python 內(nèi)置的 HTTP 請(qǐng)求庫(kù)。urllib 模塊提供的上層接口,使訪問 www 和 ftp 上的數(shù)據(jù)就像訪問本地文件一樣。
有以下幾種模塊:
1.urllib.request 請(qǐng)求模塊
2. urllib.error 異常處理模塊
3. urllib.parse url 解析模塊
4. urllib.robotparser robots.txt 解析模塊
Urllib 庫(kù)下的幾種模塊基本使用如下:
urllib.request
關(guān)于 urllib.request: urllib.request 模塊提供了最基本的構(gòu)造 HTTP (或其他協(xié)議如 FTP)請(qǐng)求的方法,利用它可以模擬瀏覽器的一個(gè)請(qǐng)求發(fā)起過程。利用不同的協(xié)議去獲取 URL 信息。它的某些接口能夠處理基礎(chǔ)認(rèn)證 ( Basic Authenticaton) 、redirections (HTTP 重定向)、 Cookies (瀏覽器 Cookies)等情況。而這些接口是由 handlers 和 openers 對(duì)象提供的。
1.常用的方法有
read()==讀取文件內(nèi)容 geturl()==獲取請(qǐng)求url getheaders()==獲取http請(qǐng)求頭信息 getcode()==獲取狀態(tài)碼 readlines()==獲取一行2.案例
#coding=utf-8#import urllib.request#=========response方法使用#read()==讀取文件內(nèi)容#geturl()==獲取請(qǐng)求url#getheaders()==獲取http請(qǐng)求頭信息#getcode()==獲取狀態(tài)碼#readlines()==獲取一行#url='http://www.baidu.com';#response = urllib.request.urlopen(url);#=====案例1# str = response.read().decode();#這樣通過decode轉(zhuǎn)換為utf8# with open('baidu.html','w',encoding='utf8') as fp:# fp.write(str);#=====案例2通過字節(jié)流寫=默認(rèn)通過read讀取的是字節(jié)流# with open('bai.html','wb') as fp:# fp.write(response.read()); #==使用字節(jié)流讀取存圖片# 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==使用內(nèi)置函數(shù)讀取圖片#image_url=’https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3772530225,1800402028&fm=26&gp=0.jpg’;#urllib.request.urlretrieve(image_url,'chun.jpg');
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. React+umi+typeScript創(chuàng)建項(xiàng)目的過程2. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp3. php測(cè)試程序運(yùn)行速度和頁面執(zhí)行速度的代碼4. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究5. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析6. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁7. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報(bào)錯(cuò)問題分析8. ASP中常用的22個(gè)FSO文件操作函數(shù)整理9. SharePoint Server 2019新特性介紹10. 三個(gè)不常見的 HTML5 實(shí)用新特性簡(jiǎn)介
