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/cn.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灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP