怎么用裝飾器解決python爬取頁面出錯-創(chuàng)新互聯(lián)

這篇文章主要介紹了怎么用裝飾器解決python爬取頁面出錯,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

從事服務(wù)器托管,服務(wù)器租用,云主機,網(wǎng)絡(luò)空間,申請域名,CDN,網(wǎng)絡(luò)代維等服務(wù)。

不同用戶模版,用到的解析規(guī)則就不一樣。那么出現(xiàn)解析異常如何處理?尤其是你沒有catch到的異常。很可能因為這個問題,程序就崩掉。其實對于Python這門語言來說,我們可以通過 **裝飾器** 來捕捉我們沒有考慮到的異常。

def parse_decorator(return_type):
    """
    :param return_type: 用于捕捉頁面解析的異常, 0表示返回數(shù)字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

上面的代碼就是處理解析頁面發(fā)生異常的情況,我們只能在數(shù)據(jù)的準確性、全面性和程序的健壯性之間做一些取舍。用裝飾器的話,程序中不用寫太多的 `try`語句,代碼重復率也會減少很多。

感謝你能夠認真閱讀完這篇文章,希望小編分享怎么用裝飾器解決python爬取頁面出錯內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,詳細的解決方法等著你來學習!

網(wǎng)站欄目:怎么用裝飾器解決python爬取頁面出錯-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://muchs.cn/article24/dpshce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、服務(wù)器托管、網(wǎng)站收錄標簽優(yōu)化、微信公眾號網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營