Python爬蟲(chóng)包BeautifulSoup異常處理(二)
面對(duì)網(wǎng)絡(luò)不穩(wěn)定,頁(yè)面更新等問(wèn)題,很可能出現(xiàn)程序異常的問(wèn)題,所以我們要對(duì)程序進(jìn)行一些異常處理。大家可能覺(jué)得處理異常是一個(gè)比較麻煩的活,但在面對(duì)復(fù)雜網(wǎng)頁(yè)和任務(wù)的時(shí)候,無(wú)疑成為一個(gè)很好的代碼習(xí)慣。
網(wǎng)頁(yè)‘404'、‘500'等問(wèn)題
try:
html = urlopen('http://www.pmcaff.com/2221')
except HTTPError as e:
print(e)
返回的是空網(wǎng)頁(yè)
if html is None:
print('沒(méi)有找到網(wǎng)頁(yè)')
目標(biāo)標(biāo)簽在網(wǎng)頁(yè)中缺失
try:
#不存在的標(biāo)簽
content = bsObj.nonExistingTag.anotherTag
except AttributeError as e:
print('沒(méi)有找到你想要的標(biāo)簽')
else:
if content == None:
print('沒(méi)有找到你想要的標(biāo)簽')
else:
print(content)
實(shí)例
if sys.version_info[0] == 2:
from urllib2 import urlopen # Python 2
from urllib2 import HTTPError
else:
from urllib.request import urlopen # Python3
from urllib.error import HTTPError
from bs4 import BeautifulSoup
import sys
def getTitle(url):
try:
html = urlopen(url)
except HTTPError as e:
print(e)
return None
try:
bsObj = BeautifulSoup(html.read())
title = bsObj.body.h1
except AttributeError as e:
return None
return title
title = getTitle("http://www.pythonscraping.com/exercises/exercise1.html")
if title == None:
print("Title could not be found")
else:
print(title)
以上全部為本篇文章的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python3實(shí)現(xiàn)爬蟲(chóng)爬取趕集網(wǎng)列表功能【基于request和BeautifulSoup模塊】
- python3 BeautifulSoup模塊使用字典的方法抓取a標(biāo)簽內(nèi)的數(shù)據(jù)示例
- python利用beautifulSoup實(shí)現(xiàn)爬蟲(chóng)
- python爬蟲(chóng)入門(mén)教程--HTML文本的解析庫(kù)BeautifulSoup(四)
- python3第三方爬蟲(chóng)庫(kù)BeautifulSoup4安裝教程
- python爬蟲(chóng)之BeautifulSoup 使用select方法詳解
- Python爬蟲(chóng)beautifulsoup4常用的解析方法總結(jié)
- Python爬蟲(chóng)包BeautifulSoup簡(jiǎn)介與安裝(一)
- Python爬蟲(chóng)包 BeautifulSoup 遞歸抓取實(shí)例詳解
- Python爬蟲(chóng)庫(kù)BeautifulSoup獲取對(duì)象(標(biāo)簽)名,屬性,內(nèi)容,注釋
- Python爬蟲(chóng)包BeautifulSoup實(shí)例(三)
- python爬蟲(chóng)學(xué)習(xí)筆記之Beautifulsoup模塊用法詳解
相關(guān)文章
Python利用Matplotlib繪圖無(wú)法顯示中文字體的兩種解決方案
matplotlib 是python最著名的繪圖庫(kù),它提供了一整套和matlab相似的命令A(yù)PI,這篇文章主要給大家介紹了關(guān)于Python利用Matplotlib繪圖無(wú)法顯示中文字體的兩種解決方案,需要的朋友可以參考下2024-03-03
詳解Python if-elif-else知識(shí)點(diǎn)
本篇文章給大家總結(jié)了Python中if-elif-else的相關(guān)知識(shí)點(diǎn)以及語(yǔ)法相關(guān)內(nèi)容,有興趣的朋友參考學(xué)習(xí)下。2018-06-06
使用matplotlib在Python中繪制數(shù)據(jù)的詳細(xì)教程
Python 在處理數(shù)據(jù)方面非常出色,通常,數(shù)據(jù)集 會(huì)包括多個(gè)變量和許多實(shí)例,這使得很難理解數(shù)據(jù)的情況,數(shù)據(jù)可視化是幫助您識(shí)別數(shù)據(jù)模式的一種有用方式,本教程將描述如何使用 matplotlib 在 Python 中繪制數(shù)據(jù),需要的朋友可以參考下2024-10-10
Python+matplotlib+numpy實(shí)現(xiàn)在不同平面的二維條形圖
這篇文章主要介紹了Python+matplotlib+numpy實(shí)現(xiàn)在不同平面的二維條形圖,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Python利用PyPDF2庫(kù)處理PDF文件的基本操作
PyPDF2是一個(gè)Python庫(kù),用于處理PDF文件,包括合并、分割、旋轉(zhuǎn)和提取文本等操作,它是一個(gè)功能強(qiáng)大且靈活的工具,可用于自動(dòng)化處理PDF文件,適用于各種應(yīng)用,從文檔管理到數(shù)據(jù)分析,本文將深入介紹PyPDF2庫(kù),掌握如何利用它來(lái)處理PDF文件,需要的朋友可以參考下2023-11-11
Python數(shù)據(jù)可視化實(shí)現(xiàn)正態(tài)分布(高斯分布)
這篇文章主要介紹了Python數(shù)據(jù)可視化實(shí)現(xiàn)正態(tài)分布(高斯分布),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

