Python 板


LINE

>>> wb = u'\xe5\x8d\x97\xe4\xba\xac\xe5\xbe\xa9\xe8\x88\x88' >>> b = wb.encode('latin-1') >>> u = b.decode('utf-8') >>> print(u) 南京復興 ※ 引述《atedps (苦哈哈)》之銘言: : 大家好,鍵盤小弟最近因為研究需求需要北捷各站點間通勤時間的資料, : 而台北市政府的Open Data好像也沒有找到這方面的資料。因此 : 想說自己寫了一隻爬蟲去抓這些資料,但抓下來的資料在中文 : 站名的部分總會變成亂碼,我大概知道這是Encoding或Decoding : 相關的問題,但是礙於自己這方面知識沒有很充足,所以昨天 : Google了很久還是找不到答案,因此決定來問問版上的大大們。 : 我是使用最基本的方式用request抓下html檔案後再用BeautifulSoup去分析, : 但取出來的中文text會變成一個unicode的type的物件 : 如u'\xe5\x8d\x97\xe4\xba\xac\xe5\xbe\xa9\xe8\x88\x88' : 但如果我手動把這個物件引號部分的資料複製出來當作一個字串再用utf8去decode的話就 : 可以順利跑出中文字。如: : tex = '\xe5\x8d\x97\xe4\xba\xac\xe5\xbe\xa9\xe8\x88\x88' : msg = tex.decode('utf8') : print msg : 南京復興 : 因此我想問的是,有沒有什麼方式是可以把我原本unicode物件裡面引號的部分 : 取出來的,因為我也不可能每次都用手動去複製貼上QQ。或者是有沒有辦法 : 讓我一開始抓下來的中文字不要變成unicode物件,而直接是一個單純字串。 : 我試過str()的方式,裡面的文字會變成另外一個編碼,造成decode出來跟原本的 : 文字會不一樣 : 先感謝各位了 >_< -- 放著養蚊子的部落格 http://resolaqq.blogspot.tw --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.246.167.53
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1449994700.A.43C.html
1F:推 atedps: 感謝,成功了!>< 12/13 23:21
2F:推 atedps: 可以請問為什麼encode和decode是不同的編碼方式嗎? 12/13 23:33
那個 encode 沒有意義,隨便一個 8 位字符集都行 你這問題是中文 bytes 被錯誤的 decode 成 unicode 所以無法處理 要處理就得先把沒意義的 unicode encode 回有意義的 bytes 之後才能正確 decode 要把 bytes 給錯誤的 decode 也不是那麼容易 最簡單且必成功的方法就是把 bytes 可能的 256 種數值映射到 unicode 的 0 ~ 255 也就是簡單的一對一關係,從你的範例來看就是這種情形 所以要橋回去只要找一個有 256 個字元的字符集就行了 預設 ascii 只有 128 個字元所以不行 latin-1 是第一個有 256 個字元的字符集,我也沒記還有哪個字符集是 256 個字元的 這方法也許並不正確,前一篇有版友提的方法應該才是正道 但是我印象中用其他 lib 有出過問題,好像是遇到 html 參雜不只一種 encode 吧? 記憶模糊,你可能要自己多嘗試看看,html 會遇到很多怪問題 ※ 編輯: ResolaQQ (1.168.84.187), 12/14/2015 00:38:33
3F:推 POSIX: 神奇招式 12/15 01:00
4F:推 s860134: 我推文回溯被吃掉了 最厲害是你能解出他要的編碼 12/15 01:01
5F:→ uranusjr: latin-1 在實務上是萬用解碼, 只要是 8 bits 一組沒有解 12/15 13:58
6F:→ uranusjr: 不開的東西, 所以他不是用猜的, 而是技巧 :) 12/15 13:59
7F:推 s860134: 原來如此 學到一課 12/15 22:10
8F:推 grtfor: 推一下,長知識了 12/16 00:18
9F:推 cobrasgo: html參雜不只一種encode是怎麼回事XDDD 12/18 16:43







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP