一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

專業(yè)在線電子書網(wǎng)站

 羊玉wngbx 2021-01-22

10.3.2 問(wèn)題2:非法字符拋出異常

當(dāng)我們將某個(gè)字符串從GBK解碼為Unicode的時(shí)候,可以采用:


        str1.decode('GBK')

但是在實(shí)際進(jìn)行網(wǎng)絡(luò)爬蟲的時(shí)候,可能會(huì)遇到如下異常:

UnicodeDecodeError:'GBK'codec can't decode byte in position 20146-20147:illegal multibyte sequence

出錯(cuò)的原因是有些網(wǎng)站的編碼不規(guī)范,在一個(gè)頁(yè)面里混入了多種編碼,于是出現(xiàn)了非法字符。

例如,全角的空格往往有多種不同的實(shí)現(xiàn)方式,如\xa3\xa0、\xa4\x57,這些字符看起來(lái)像是全角空格,但是它們并不是真正的全角空格,真正的全角空格為\xa1\xa1,所以在解碼的過(guò)程中就會(huì)出現(xiàn)異常。但是這樣的問(wèn)題很讓人頭疼,因?yàn)橹灰址谐霈F(xiàn)了一個(gè)非法字符,整個(gè)爬蟲程序都有可能因此報(bào)錯(cuò),進(jìn)而停止運(yùn)行。

解決方法很簡(jiǎn)單,可以采用ignore忽略這些非法字符:


        str1.decode('GBK','ignore')

在decode方法中,decode的函數(shù)原型為decode([encoding],[errors='strict']),第二個(gè)變量為控制錯(cuò)誤處理的方式,默認(rèn)為strict,遇到非法字符時(shí)會(huì)拋出異常。

我們可以把第二個(gè)參數(shù)設(shè)置為其他變量,有以下3種方法:

(1)ignore,忽略其中的非法字符,僅顯示有效字符。

(2)replace,使用符號(hào)代替非法字符,如'?'或'\ufffd'。

(3)xmlcharrefreplace,使用XML字符引用代替非法字符。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    不卡在线播放一区二区三区| 偷拍偷窥女厕一区二区视频| 九九热视频经典在线观看| 日韩一区二区三区有码| 粉嫩一区二区三区粉嫩视频| 91欧美一区二区三区成人| 日韩欧美国产精品自拍| 视频一区二区 国产精品| 99视频精品免费视频播放| 亚洲一区二区精品福利| 日韩黄片大全免费在线看| 午夜福利视频六七十路熟女| 日韩综合国产欧美一区| 国产精品夜色一区二区三区不卡 | 日本女人亚洲国产性高潮视频| 91欧美日韩一区人妻少妇| 日本91在线观看视频| 青青免费操手机在线视频| 黄片美女在线免费观看| 亚洲黄色在线观看免费高清| 欧美日韩亚洲国产综合网| 日韩精品一区二区亚洲| 午夜精品国产精品久久久| 日韩aa一区二区三区| 亚洲欧美黑人一区二区 | 中文字幕佐山爱一区二区免费| 国产精品一级香蕉一区| 空之色水之色在线播放| 亚洲中文字幕有码在线观看| 色婷婷激情五月天丁香| 国产精品美女午夜视频| 亚洲乱码av中文一区二区三区| 亚洲免费观看一区二区三区| 日韩成人h视频在线观看| 久久综合亚洲精品蜜桃| 欧美日韩国产自拍亚洲| 国产黄色高清内射熟女视频| 久久福利视频在线观看| 天堂av一区一区一区| 最近最新中文字幕免费| 白丝美女被插入视频在线观看|