English 中文(简体)
如何将html实体转换为符号?
原标题:
  • 时间:2009-04-08 02:32:18
  •  标签:

我已经做了一些适应< a href = " https://stackoverflow.com/questions/6936/using-what-ive-learned-from-stackoverflow-html-scraper/50772 # 50772 " >脚本从这个答案< / >。我有问题和unicode。的一些问题写不好。

一些答案和响应最终看起来像:

<代码>是的. .我知道. .我# 8217;m一个傻瓜. .所以你们# 8217;s单吗?(2)< /代码>

我怎样才能使<代码> & # 8217;> < /代码被转换到正确的字符?

注意:如果重要,我使用python 2.6,落地窗。

>>> sys.getdefaultencoding()
 ascii 
>>> sys.getfilesystemencoding()
 mbcs 

<强> EDIT1: < /强>基于瑞安Ginstrom年代后,我已经能够正确输出的一部分,但是我有问题与python unicode。

在空闲/ python shell:

Yeah.. I know.. I’m a simpleton.. So what’s a Singleton?

在一个文本文件,当重定向标准输出

Yeah.. I know.. I’m a simpleton.. So what’s a Singleton?

我怎样才能正确吗?


Edit2: I have tried Jarret Hardie s solution but it didn t do anything. I am on windows, using python 2.6, so my site-packages folder is at:

C: Python26Libsite-packages

没有siteconfig。py文件,所以我创建了一个,贴代码提供的Jarret难的,开始一个python解释器,但似乎并没有被加载。

sys.getdefaultencoding() ascii

我注意到有一个网站。py文件:

C:Python26Libsite.py

我试着改变编码的功能

def setencoding():
    """Set the string encoding used by the Unicode implementation.  The
    default is  ascii , but if you re willing to experiment, you can
    change this."""
    encoding = "ascii" # Default value set by _PyUnicode_Init()
    if 0:
        # Enable to support locale aware default string encodings.
        import locale
        loc = locale.getdefaultlocale()
        if loc[1]:
            encoding = loc[1]
    if 0:
        # Enable to switch off string to Unicode coercion and implicit
        # Unicode to string conversion.
        encoding = "undefined"
    if encoding != "ascii":
        # On Non-Unicode builds this will raise an AttributeError...
        sys.setdefaultencoding(encoding) # Needs Python Unicode build !

设置utf - 8编码。这工作当然(重启后python)。

>>> sys.getdefaultencoding()
 utf-8 

可悲的是,它没有正确caracters在我的计划。:(

问题回答

您应该能够将HTMl / XML实体转换为Unicode字符。看看这个回答的:

< a href = " https://stackoverflow.com/questions/628332/decoding-html-entities-with-python " >解码HTML实体与Python < / >

基本上你想要这样的:

from BeautifulSoup import BeautifulStoneSoup

soup = BeautifulStoneSoup(urllib2.urlopen(URL),
                          convertEntities=BeautifulStoneSoup.ALL_ENTITIES)

在siteconfig改变你的默认编码。py工作吗?

在你的网站文件(在我的OS X系统s <代码> /图书馆/ Python / 2.5 /网站/ > < /代码)创建一个文件名为<代码> siteconfig.py > < /代码。在这个文件:

import sys
sys.setdefaultencoding( utf-8 )

setdefaultencoding方法一旦siteconfig从系统中删除模块。py处理,所以你必须把它放在网站,Python解释器启动时将读它。





相关问题
热门标签