亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

教女朋友學Python(6)——挖了坑是要填的

2019-11-14 13:06:08
字體:
來源:轉載
供稿:網友
我本來不會Python,一邊學一邊試圖以最簡單方式來解釋編程和Python,讓各位理工男可以拿去教自己的女朋友。上期我們寫了讓數據到碗里來的代碼,然而并沒有運行,所有沒有進行測試運行的代碼,都是坑,天大的坑,現在,我們來填坑。我為什么沒運行呢?因為我知道會出錯!什么錯?請看:錯誤信息:UnicodeEncodeError: 'ascii' codec can't encode characters in position 21-22: ordinal not in range(128)。ascii碼不能對位于21-22的字符進行編碼,為什么呢,他的編碼不在128的范圍類。問題:ASCII碼是什么?我們第一期說過,在計算機里面,是用數字0和1來表示信息的。用0和1表示數字的方式,叫二進制??墒窃趺幢硎疚淖帜兀亢唵?,把文字轉換成數字就可以了。轉換嘛,其實制定一套編碼指定哪個數字代表哪個字符。一幫人糾結來糾結去,后來選擇了0—127,代表了26個小寫字母、26個大寫字母、10個數字、32個符號、33個句柄和一個空格總共128個字符,這就是ASCII碼。現在知道錯誤信息里的128怎么來的了吧。因為是美國人發明的,所以并沒有考慮中文,甚至他們的老兄弟英國的英鎊符號都沒有考慮進去。所以,我們的中文字符“胡歌”,要用ascii去解碼的時候,就會出錯了。怎么辦呢?活人當然不會被尿憋死,既然別人老美可以有自己的編碼,我們就不能也設定一個么。于是,中國的編碼GB2312誕生。那么問題來了,有沒有一套編碼,包含各個國家的字符呢?當然有,Unicode!看Uni這個詞根,就知道他要搞大事情。然而這套編碼發明出來后大家并不太買賬,為什么呢,因為他太龐大。想想ASCII碼,只有1到127,最大的127用二進制表示是1111111,也就是說最少7位就能表示一個字符。想想Unicode要成萬用碼,那長度,真是我的天。為了克服Unicode的缺陷,又出來了UTF-8編碼,這套編碼與之前不同之處在于UTF8的編碼是變長的。之前的比如ASCII碼,表示1是用0000001,表示127是用1111111,都是7位,但是UTF-8不同,他表示小的數字用的位數就少,表示大的數字用的位數就大。于是設計者就將常用的字符對應比較小的數字,很少用的字符對應比較大的數字,也就是大部分情況下,他占的資源還是挺少的,這樣就兼顧了通用和效率。所以,只要將漢字“胡歌”表示成UTF-8就可以了。有同學表示不服:我直接搜索胡歌都是可以的,而且瀏覽器上顯示的也是漢字。為什么python就不可以,真是弱雞啊。我說這位同學你這是圖樣圖森破啊??春昧耍?img src="http://s1.VeVb.com/20170206/0fjt1iyvfy039.gif" alt="">看實際上漢字變成了什么。那么這個%E8%83%A1%E6%AD%8C是什么呢?是不是就是胡歌的UTF-8編碼,只不過用了十六進制表示。好了,那怎么改?用我剛剛輸入的"胡歌".encode("utf-8")?那是不行的,一來,發現輸出的b'/xe8/x83/xa1/xe6/xad/x8c'前面有個b沒,這是什么?二來,輸出結果出來是/x,而在網址中是百分號。我先說解決方案,再解釋上面說的這些。解決方案:parse.quote("胡歌")。其中parse也是來自于上期說到的urllib模塊,他出來的效果,就是%E8%83%A1%E6%AD%8C。再來解釋上面說到的幾個問題。首先是/x,其實就是表示十六進制,沒什么其他的意思。第二是百分號%,這是一個規定,在網址里面,遇到特殊符號就用%加符號的ASCII碼的十六進制,遇到中文其實比較凌亂,有的是百分號加UTF-8編碼,有的是加GB2312編碼,這里我們暫時都用UTF-8,遇到坑了之后以后再說。最后,稍復雜一些,這個b是什么鬼。我們說了,Python有五個基本數據類型。然而,我們經常下載文件,或者保存文件,是說多少B,多少KB,多少MB,多少GB,沒聽說過我們存了一個int,兩個str,三個float。所以,在網絡傳輸,磁盤存儲的時候,都要將這些轉成以字節bytes為單位的數據。1B=8bytes。Python對bytes類型的數據用帶b前綴的單引號或雙引號表示。要將字符串轉換成字節,用encode();要將字節信息轉換成字符串,用decode()。如果不選編碼,會默認使用Unicode。好了,編碼的問題講完了,我們修改一下代碼,再運行一下。獲取到數據了吧,而且看最后,我們獲取到的數據是不是也是開頭有個b的,從網絡獲取的數據都是這樣,我們再把他解碼一下,弄成字符串,方便以后處理:htmlstr = data.decode("utf-8", "ignore")ignore是為了防止一些莫名的解碼錯誤,遇到了就忽視掉。

好了,現在我們拿到數據了,下一步,就要從這些數據中找出圖片了。

歡迎關注我的微信公眾號獲取最新文章:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品白嫩美女在线观看| 热99精品只有里视频精品| 亚洲国产精品久久久久秋霞不卡| 日韩精品中文字幕久久臀| 欧美福利小视频| 日韩中文字幕网址| 日韩av色在线| 日本亚洲精品在线观看| 精品国产91乱高清在线观看| 日韩精品在线观| 亚洲人成绝费网站色www| 91在线视频导航| 欧美福利在线观看| 91精品国产91久久久久久| 亚洲第一区中文99精品| 亚洲午夜小视频| 亚洲欧美日韩成人| 日韩av最新在线| 国产婷婷色综合av蜜臀av| 中文字幕亚洲自拍| 欧美wwwxxxx| 少妇激情综合网| 91高清免费视频| 777午夜精品福利在线观看| 亚洲欧美成人一区二区在线电影| 日韩av电影手机在线| 欧美成人免费在线观看| 欧美色播在线播放| 色偷偷91综合久久噜噜| 亚洲激情中文字幕| 欧美成人免费在线观看| 理论片在线不卡免费观看| 一区二区三区精品99久久| 国自在线精品视频| 欧美精品www在线观看| 2025国产精品视频| 国产丝袜一区二区三区免费视频| 91久久国产综合久久91精品网站| 在线看日韩av| 国产精品偷伦一区二区| 精品美女国产在线| 日韩电影在线观看中文字幕| 亚洲国产精品va在线看黑人| 亚洲精品国产美女| 欧美日韩亚洲高清| 国产精品久久久久久久久男| 136fldh精品导航福利| 国产成人综合av| 欧美性猛交xxxxx水多| 久久久精品美女| 欧美日韩国产综合视频在线观看中文| 中文字幕精品国产| www高清在线视频日韩欧美| 国产精品99久久久久久白浆小说| 久久电影一区二区| 亚洲国产精彩中文乱码av| 久久久精品国产一区二区| 精品在线欧美视频| 国产精品久久久久久久美男| 亚洲欧美国产另类| 欧美一级片久久久久久久| 国产亚洲福利一区| 日韩精品在线免费播放| 亚洲免费一在线| 久久国产精品视频| 精品免费在线视频| 国产精品99久久久久久久久久久久| 亚洲精品999| 95av在线视频| 久久久久久尹人网香蕉| 欧美一区在线直播| 日韩久久免费电影| 一区二区三区视频免费在线观看| 97在线视频观看| 国内精品一区二区三区| 国产精品美女视频网站| 日韩av在线直播| 欧美精品一本久久男人的天堂| 精品成人国产在线观看男人呻吟| 久久中文字幕国产| 国产v综合ⅴ日韩v欧美大片| 欧美电影免费观看高清| 91精品国产乱码久久久久久蜜臀| 丝袜亚洲另类欧美重口| 欧美一区二粉嫩精品国产一线天| 亚洲伦理中文字幕| 原创国产精品91| 麻豆成人在线看| 国产精品91免费在线| 久久99热精品| 亚洲黄色av女优在线观看| 国语自产精品视频在线看| 国产精品久久久久久久久久三级| 人人爽久久涩噜噜噜网站| 亚洲精品国精品久久99热一| 欧美一乱一性一交一视频| 日韩成人中文字幕在线观看| 亚洲va电影大全| 黑人极品videos精品欧美裸| 97在线视频免费看| 中文字幕亚洲一区二区三区五十路| 欧美成人黑人xx视频免费观看| 欧美日韩一二三四五区| 精品国内亚洲在观看18黄| 日本伊人精品一区二区三区介绍| 超碰精品一区二区三区乱码| 中文字幕亚洲无线码在线一区| 久久久精品亚洲| 欧美孕妇与黑人孕交| 亚洲天堂久久av| 亚洲精品美女在线观看| 日韩精品免费观看| 日韩av不卡在线| 欧美国产亚洲精品久久久8v| 97色在线视频观看| 亚洲精品午夜精品| 视频在线观看99| 亚洲精品久久在线| 欧美日韩裸体免费视频| 亚洲精品美女免费| 免费97视频在线精品国自产拍| 91av在线影院| 在线播放国产一区二区三区| 欧美专区中文字幕| 九九九久久久久久| 日本久久久久亚洲中字幕| 欧美亚洲伦理www| 国产成人综合精品| 国产在线观看一区二区三区| 欧美日韩视频在线| 亚洲国产成人91精品| 中文字幕在线观看亚洲| 国产亚洲精品久久久久动| 91视频免费在线| 18一19gay欧美视频网站| 国产精品美女久久| 亚洲国产精品va| 国模精品视频一区二区| 欧美巨乳美女视频| 欧美亚洲成人xxx| 国产一区二区动漫| 久久精品视频播放| 91夜夜未满十八勿入爽爽影院| 久久久久久成人精品| 91国产中文字幕| 精品欧美国产一区二区三区| 日韩av在线资源| 亚洲国产精品久久久久| 日韩大片免费观看视频播放| 国产精品美女网站| 国内精品一区二区三区四区| 国产精品入口夜色视频大尺度| 国产在线播放91| 国产精品日日做人人爱| 主播福利视频一区| 国产日韩欧美日韩| 亚洲欧美激情四射在线日| 日韩网站在线观看| 国产欧美va欧美va香蕉在| 日韩日本欧美亚洲| 一区二区成人精品| 亚洲天堂av在线免费| 最新69国产成人精品视频免费| 性色av一区二区三区红粉影视|