真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用裝飾器解決python爬取頁(yè)面出錯(cuò)

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

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的渝北網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

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

def parse_decorator(return_type):
    """
    :param return_type: 用于捕捉頁(yè)面解析的異常, 0表示返回?cái)?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

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

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


文章標(biāo)題:怎么用裝飾器解決python爬取頁(yè)面出錯(cuò)
轉(zhuǎn)載來(lái)源:http://weahome.cn/article/gcegsi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部