当前位置:  开发笔记 > 编程语言 > 正文

从网页获取国际字符?

如何解决《从网页获取国际字符?》经验,为你挑选了1个好方法。

我想使用简单的python regexp从足球(足球)网页上删除一些信息.问题在于,像第一个小伙子,ÄRITALO这样的球员出现了ÄÄ RITALO!
也就是说,html对特殊字符使用转义标记,例如Ä

有没有一种简单的方法将html读入正确的python字符串?如果它是XML/XHTML那么很容易,解析器会这样做.



1> dF...:

我建议使用BeautifulSoup进行HTML抓取.您还需要告诉它将HTML实体转换为相应的Unicode字符,如下所示:

>>> from BeautifulSoup import BeautifulSoup    
>>> html = "ÄÄRITALO!"
>>> soup = BeautifulSoup(html, convertEntities=BeautifulSoup.HTML_ENTITIES)
>>> print soup.contents[0].string
ÄÄRITALO!

(如果标准编解码器模块包含一个编解码器,那将是很好的,这样你可以做 "some_string".decode('html_entities')但不幸的是它没有!)

编辑: 另一个解决方案:Python开发人员Fredrik Lundh(elementtree的作者,除其他外)有 一个功能来取消他的网站上的HTML实体,它与十进制,十六进制和命名实体一起工作(BeautifulSoup不适用于六角形实体).

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有