您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么用裝飾器解決python爬取頁面出錯,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
不同用戶模版,用到的解析規則就不一樣。那么出現解析異常如何處理?尤其是你沒有catch到的異常。很可能因為這個問題,程序就崩掉。其實對于Python這門語言來說,我們可以通過 **裝飾器** 來捕捉我們沒有考慮到的異常。
def parse_decorator(return_type): """ :param return_type: 用于捕捉頁面解析的異常, 0表示返回數字0, 1表示返回空字符串, 2表示返回[],3表示返回False, 4表示返回{}, 5返回None :return: 0,'',[],False,{},None """ def page_parse(func): @wraps(func) def handle_error(*keys): try: return func(*keys) except Exception as e: parser.error(e) if return_type == 5: return None elif return_type == 4: return {} elif return_type == 3: return False elif return_type == 2: return [] elif return_type == 1: return '' else: return 0 return handle_error return page_parse
上面的代碼就是處理解析頁面發生異常的情況,我們只能在數據的準確性、全面性和程序的健壯性之間做一些取舍。用裝飾器的話,程序中不用寫太多的 `try`語句,代碼重復率也會減少很多。
感謝你能夠認真閱讀完這篇文章,希望小編分享怎么用裝飾器解決python爬取頁面出錯內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。