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

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

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

2019-11-14 11:55:22
字體:
來源:轉載
供稿:網友
我本來不會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碼?,F在知道錯誤信息里的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
国内免费精品永久在线视频| 亚洲欧洲在线看| 亚洲а∨天堂久久精品喷水| 国产精品视频色| 欧美日韩免费区域视频在线观看| 国产成人鲁鲁免费视频a| 国产91对白在线播放| 国产精品美女久久久久久免费| 国产精品久久精品| 成人免费视频xnxx.com| 亚洲欧洲国产一区| 正在播放欧美一区| 一级做a爰片久久毛片美女图片| 亚洲一区二区三区毛片| 日韩福利在线播放| 亚洲色图欧美制服丝袜另类第一页| 国产精品2018| 日韩高清中文字幕| 一区二区日韩精品| 色偷偷偷亚洲综合网另类| 欧美国产日韩免费| 欧美性视频网站| 亚洲国产成人久久| 欧美性猛交99久久久久99按摩| 久久综合免费视频| 国产丝袜一区二区三区| 国产精品老牛影院在线观看| 亚洲精品成人久久| 欧美大片在线看免费观看| 91精品国产91久久久久久久久| 日韩精品电影网| 亚洲高清在线观看| 欧美国产日本高清在线| 欧美尤物巨大精品爽| 久久福利视频导航| 久久中文精品视频| 亚洲美女自拍视频| 亚洲一区二区少妇| 日韩一级黄色av| 久久精品电影网站| 欧美老女人bb| 免费91麻豆精品国产自产在线观看| 欧美人成在线视频| 国产精品久久电影观看| 欧美激情一区二区久久久| 综合网日日天干夜夜久久| 亚洲国产99精品国自产| 国产一区二区三区在线观看视频| 国产精品夫妻激情| 久久久在线视频| 国产在线日韩在线| 日本19禁啪啪免费观看www| 国产一区二区三区在线观看网站| 国产一区二区三区中文| 亚洲第一国产精品| 国产精品欧美日韩一区二区| 日韩精品在线观| 日韩成人av在线播放| 亚洲午夜av电影| 日本亚洲欧美三级| 色天天综合狠狠色| 91探花福利精品国产自产在线| 中日韩美女免费视频网址在线观看| 伊人成人开心激情综合网| 九九热这里只有精品6| 欧美激情视频在线免费观看 欧美视频免费一| 美女国内精品自产拍在线播放| 久久精品国产亚洲精品2020| 国产欧美中文字幕| 亚洲一区二区久久| 欧美激情精品久久久久| 自拍偷拍免费精品| 日韩美女视频中文字幕| 亚洲在线观看视频网站| 亚州精品天堂中文字幕| 欧美有码在线视频| 国产精品久久婷婷六月丁香| 中文字幕亚洲欧美日韩在线不卡| 菠萝蜜影院一区二区免费| 国内精品久久久久久久| 欧美丰满少妇xxxxx| 亚洲一区二区三区视频播放| 欧美成人午夜影院| 91精品国产91久久久久| 欧美性猛交xxxx乱大交3| 亚洲精品中文字幕女同| 97国产精品视频人人做人人爱| 国产成人拍精品视频午夜网站| 日韩美女福利视频| 国产成人精品久久久| 中文在线不卡视频| 亚洲国产高潮在线观看| 日韩大陆欧美高清视频区| 亚洲免费电影在线观看| 欧美另类精品xxxx孕妇| 欧美性猛交xxxxx水多| 欧美日韩国产中字| 国产91精品黑色丝袜高跟鞋| 久久天天躁狠狠躁夜夜躁2014| 97在线观看视频国产| 日韩欧美国产黄色| 亚洲精品xxx| 国产精品免费电影| 日韩精品欧美国产精品忘忧草| 日韩在线免费视频观看| 亚洲资源在线看| 久久精品人人做人人爽| 一区二区三区黄色| 这里只有精品视频在线| 在线观看久久久久久| 亚洲精品白浆高清久久久久久| 午夜精品久久久久久久男人的天堂| 亚洲一区亚洲二区亚洲三区| 91免费看片网站| 久热国产精品视频| 亚洲国产成人精品久久久国产成人一区| 日韩在线观看免费全集电视剧网站| 亚洲欧美制服丝袜| 欧美性猛交xxxx乱大交极品| 91中文字幕在线观看| 91精品国产高清自在线看超| 国产成人精品免高潮费视频| 亲爱的老师9免费观看全集电视剧| 欧美一级视频免费在线观看| 欧美高清在线播放| 国产成人一区二区三区小说| 国产极品jizzhd欧美| 久久久久北条麻妃免费看| 成人激情综合网| 91午夜在线播放| 97人洗澡人人免费公开视频碰碰碰| 国产精品国产福利国产秒拍| 日韩在线播放av| 精品亚洲一区二区三区在线播放| 国产aⅴ夜夜欢一区二区三区| 在线亚洲男人天堂| 亚洲欧美日韩一区二区在线| 最新日韩中文字幕| 欧美性感美女h网站在线观看免费| 亚洲淫片在线视频| 亚洲a成v人在线观看| 日韩精品在线观看一区| 欧美日韩999| 日韩精品中文字幕在线| 国产美女精品免费电影| 亚洲欧美日韩天堂| 色99之美女主播在线视频| 久久高清视频免费| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品热视频| 亚洲精品欧美日韩专区| 亚洲欧美国内爽妇网| 日韩av123| 社区色欧美激情 | 久久亚洲国产精品| 国产精品自拍视频| 91牛牛免费视频| 欧美www视频在线观看| 国产日韩中文字幕在线| 成人国产在线激情| 91国产在线精品| 欧美性做爰毛片| 国产精品最新在线观看| 亚洲精品自在久久|