请选择 进入手机版|继续访问电脑版
发新帖

请教一个 Python 爬 bing 词典遇到的音标乱码的问题。

[复制链接]
4354 4

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
用 HTMLParser 解析页面代码,其它部分都没问题,但是个别音标会出错。
比如 abdication, 音标为: "美 [ˌæbdɪ'keɪʃ(ə)n]  ",会被解析成"美[ˌbdɪ'ke�", 查看页面编码是 utf-8 没问题,音标行代码为:
美 [ˌæbdɪ'keɪʃ(ə)n]


Python 版本 2.7, 请问我是哪里出了问题?

举报 使用道具

回复

精彩评论4

rabbbit  新手上路  发表于 2018-1-31 14:57:24 | 显示全部楼层
把所有代码贴上来

举报 使用道具

回复
timeppt  新手上路  发表于 2018-1-31 15:28:14 | 显示全部楼层
<div class="hd_prUS">美 [ˌæbdɪ'keɪʃ(ə)n] </div>
直接看页面源码,这个 div 的内容是这样的,部分字符被转义了。
看看是不是这个原因导致的编码问题。
记得 HTMLParser 有专门的处理方法。
好像是这个 https://docs.python.org/2/library/htmlparser.html#HTMLParser.HTMLParser.handle_charref
你看下。

以及,貌似页面 head 的 meta 里也有同样信息,还好解一些,可以试试拿到。
我用 BeautifulSoup 直接解析的,没问题(解析器用的 lxml )

举报 使用道具

回复
est  新手上路  发表于 2018-1-31 16:06:25 | 显示全部楼层
requests 爬的?这玩意坑

举报 使用道具

回复
winglight2016  新手上路  发表于 2018-1-31 16:50:08 | 显示全部楼层
这种音标需要字体支持吧?

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表