最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python爬蟲urllib中的異常模塊處理

 更新時(shí)間:2022年05月10日 09:33:11   作者:蘇涼.py  
這篇文章主要為大家介紹了python爬蟲在爬取網(wǎng)頁時(shí)urllib中的異常模塊處理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

urllib中的異常處理

在我們寫爬蟲程序時(shí),若出現(xiàn)url中的錯(cuò)誤,那么我們就無法爬取我們想要的內(nèi)容,對(duì)此,我們引入了urllib中的異常處理。

url的組成部分

URL由6個(gè)部分組成:eg:

https://www.baidu.com/s?wd=易烊千璽

  • 協(xié)議(http/https)
  • 主機(jī)(www.baidu.com)
  • 端口號(hào)(80/443)
  • 路徑(s)
  • 參數(shù)(wd=易烊千璽)
  • 錨點(diǎn)

常見的端口號(hào):

http(80) https(443) mysql(3306) oracle(1521) redis(6379) mongodb(27017)

URLError

通常來說,URLError報(bào)錯(cuò)通常為url地址中主機(jī)部分的錯(cuò)誤:

實(shí)例:

url = 'https://www.baidu.com1/'

運(yùn)行結(jié)果:

urllib.error.URLError: <urlopen error [Errno 11001] getaddrinfo failed

HTTPError

這個(gè)異常的通常是url地址中參數(shù)或是路徑的錯(cuò)誤。

實(shí)例:

url = 'https://www.jianshu.com/p/3388cf148dba1'

運(yùn)行結(jié)果:

urllib.error.HTTPError: HTTP Error 404: Not Found

簡(jiǎn)介

  • HTTPError類是URLError類的子類
  • 導(dǎo)入的包urllib.error.HTTPError/urllib.error.URLError
  • http錯(cuò)誤:http錯(cuò)誤是針對(duì)瀏覽器無法連接到服務(wù)器而增加的出來的錯(cuò)誤提示,引導(dǎo)并告訴瀏覽者該頁是出了什么問題。
  • 通過urllib發(fā)送請(qǐng)求的時(shí)候,有可能會(huì)發(fā)送失敗,這個(gè)時(shí)候如果想讓你的代碼更健壯,可以通過try -except進(jìn)行捕獲異常。

Urllib.error 模塊

urllib.error 模塊為 urllib.request 所引發(fā)的異常定義了異常類,基礎(chǔ)異常類是 URLError。

urllib.error 包含了兩個(gè)方法,URLError 和 HTTPError。

URLError 是 OSError 的一個(gè)子類,用于處理程序在遇到問題時(shí)會(huì)引發(fā)此異常(或其派生的異常)。

HTTPError 是 URLError 的一個(gè)子類,用于處理特殊 HTTP 錯(cuò)誤例如作為認(rèn)證請(qǐng)求的時(shí)候,包含的屬性 code 為 HTTP 的狀態(tài)碼, reason 為引發(fā)異常的原因,headers 為導(dǎo)致 HTTPError 的特定 HTTP 請(qǐng)求的 HTTP 響應(yīng)頭。

異常處理

用try except語句塊捕獲并處理異常,其基本語法結(jié)構(gòu)如下所示:

try:可能產(chǎn)生異常的代碼塊

except [ (Error1, Error2, … ) [as e] ]:處理異常的代碼塊1

except [ (Error3, Error4, … ) [as e] ]:處理異常的代碼塊2

except [Exception]:處理其它異常

實(shí)例:

原url= ‘https://www.jianshu.com/p/3388cf148dba’

源碼:

import urllib.request
import urllib.error
url = 'https://www.jianshu.com1/p/3388cf148dba'
# url的組成 eg:https://www.baidu.com/s?wd=易烊千璽
# 1.協(xié)議(http/https) 2.主機(jī)(www.baidu.com) 3.端口號(hào)(80/443) 4.路徑(s) 5.參數(shù)(wd=易烊千璽) 6.錨點(diǎn)
#  常見的端口號(hào)
# http(80) https(443) mysql(3306) oracle(1521) redis(6379) mongodb(27017)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
}
try:
    request = urllib.request.Request(url = url,headers = headers)
    response = urllib.request.urlopen(request)
    content = response.read().decode('utf8')
    print(content)
except urllib.error.HTTPError:
    print('HTTP異常,請(qǐng)稍后!')
except urllib.error.URLError:
    print('URL異常,請(qǐng)稍后!')

1.URLError

url = ‘https://www.jianshu.com1/p/3388cf148dba’

運(yùn)行結(jié)果:

2.HTTPError

url = ‘https://www.jianshu.com/p/3388cf148dba111’

運(yùn)行結(jié)果:

由于HTTPRError是URLError的子類,所以需先寫httperror的異常處理,否則一律認(rèn)為是URLError的異常。urllib的異常處理就寫到這啦,希望大家都不會(huì)出現(xiàn)異常,更多關(guān)于python爬蟲urllib異常處理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中整數(shù)的緩存機(jī)制講解

    Python中整數(shù)的緩存機(jī)制講解

    今天小編就為大家分享一篇關(guān)于Python中整數(shù)的緩存機(jī)制講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Flask搭建api服務(wù)的實(shí)現(xiàn)步驟

    Flask搭建api服務(wù)的實(shí)現(xiàn)步驟

    本文主要介紹了Flask搭建api服務(wù)的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 使用python修改文件并立即寫回到原始位置操作(inplace讀寫)

    使用python修改文件并立即寫回到原始位置操作(inplace讀寫)

    這篇文章主要介紹了使用python修改文件并立即寫回到原始位置操作(inplace讀寫),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python django使用haystack:全文檢索的框架(實(shí)例講解)

    python django使用haystack:全文檢索的框架(實(shí)例講解)

    下面小編就為大家?guī)硪黄猵ython django使用haystack:全文檢索的框架(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Python中pip安裝非PyPI官網(wǎng)第三方庫的方法

    Python中pip安裝非PyPI官網(wǎng)第三方庫的方法

    這篇文章主要介紹了Python中pip安裝非PyPI官網(wǎng)第三方庫的方法,pip最新的版本(1.5以上的版本), 出于安全的考 慮,pip不允許安裝非PyPI的URL,本文就給出兩種解決方法,需要的朋友可以參考下
    2015-06-06
  • python 自動(dòng)重連wifi windows的方法

    python 自動(dòng)重連wifi windows的方法

    今天小編就為大家分享一篇python 自動(dòng)重連wifi windows的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python3.5基礎(chǔ)之NumPy模塊的使用圖文與實(shí)例詳解

    Python3.5基礎(chǔ)之NumPy模塊的使用圖文與實(shí)例詳解

    這篇文章主要介紹了Python3.5基礎(chǔ)之NumPy模塊的使用,結(jié)合圖文與實(shí)例形式詳細(xì)分析了Python3.5中Numpy模塊的原理、功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • Python編程中的文件操作攻略

    Python編程中的文件操作攻略

    這篇文章主要介紹了Python編程中的文件操作攻略,包括打開關(guān)閉重命名刪除等相關(guān)函數(shù)的使用,需要的朋友可以參考下
    2015-10-10
  • python實(shí)現(xiàn)批量轉(zhuǎn)換圖片為黑白

    python實(shí)現(xiàn)批量轉(zhuǎn)換圖片為黑白

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)批量轉(zhuǎn)換圖片為黑白,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Flask框架debug與配置項(xiàng)的開啟與設(shè)置詳解

    Flask框架debug與配置項(xiàng)的開啟與設(shè)置詳解

    這篇文章主要介紹了Flask框架debug與配置項(xiàng)的開啟與設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09

最新評(píng)論

柳州市| 合川市| 淮南市| 灵武市| 鹰潭市| 林州市| 萨嘎县| 襄汾县| 东阳市| 五河县| 东至县| 林甸县| 临沂市| 林芝县| 巴塘县| 炉霍县| 双牌县| 江门市| 开封市| 舒兰市| 龙胜| 台北市| 澳门| 海淀区| 云霄县| 滕州市| 星子县| 高清| 延川县| 普宁市| 鄂伦春自治旗| 新安县| 山东| 安化县| 宁武县| 贵定县| 上高县| 潼关县| 舟山市| 株洲市| 固原市|