pandas read_html 是一種很好的快速決議表格的方法;但是,如果它無法找到具有指定屬性的表,它將失敗并導致整個代碼失敗。
我正在嘗試抓取數千個網頁,如果僅僅因為找不到一張表而導致整個程式出錯和終止,那將非常煩人。有沒有辦法捕獲這些錯誤并讓代碼繼續而不終止?
link = 'https://en.wikipedia.org/wiki/Barbados'
req = requests.get(pink)
wiki_table = pd.read_html(req, attrs = {"class":"infobox vcard"})
df = wiki_table[0]
這會導致整個代碼失敗。我該如何處理?我認為它應該與例外處理或錯誤捕獲有關,但我不熟悉 python 以及如何執行此操作。
uj5u.com熱心網友回復:
嵌入pd.read_html在一個try ... except ...例外處理程式
import requests
import pandas as pd
link = 'https://en.wikipedia.org/wiki/Barbados'
req = requests.get(link)
wiki_table = None
try:
wiki_table = pd.read_html(req, attrs = {"class":"infobox vcard"})
except TypeError as e: # to limit the catched exception to a minimal
print(str(e)) # optional but useful
if wiki_table:
df = wiki_table[0]
# rest of your code
uj5u.com熱心網友回復:
try catch為此使用
link = 'https://en.wikipedia.org/wiki/Barbados'
req = requests.get(pink)
try:
# No error
wiki_table = pd.read_html(req, attrs = {"class":"infobox vcard"})
except:
# Error
print("Error")
df = wiki_table[0]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/349386.html
上一篇:如何跳過字典中的專案
