1

Webページからテキストを読み取るこのスクリプトがあります:

page = urllib2.urlopen(url).read()
soup = BeautifulSoup(page);
paragraphs = soup.findAll('p');

for p in paragraphs:
    content = content+p.text+" ";

Web ページには、次の文字列があります。

Möddinghofe

私のスクリプトは次のように読み取ります。

Möddinghofe

そのままどう読めばいいの?

4

2 に答える 2

1

これがあなたを助けることを願っています

from BeautifulSoup import BeautifulStoneSoup
import cgi

def HTMLEntitiesToUnicode(text):
    """Converts HTML entities to unicode.  For example '&' becomes '&'."""
    text = unicode(BeautifulStoneSoup(text, convertEntities=BeautifulStoneSoup.ALL_ENTITIES))
    return text

def unicodeToHTMLEntities(text):
    """Converts unicode to HTML entities.  For example '&' becomes '&'."""
    text = cgi.escape(text).encode('ascii', 'xmlcharrefreplace')
    return text

text = "&, ®, <, >, ¢, £, ¥, €, §, ©"

uni = HTMLEntitiesToUnicode(text)
htmlent = unicodeToHTMLEntities(uni)

print uni
print htmlent
# &, ®, <, >, ¢, £, ¥, €, §, ©
# &amp;, &#174;, &lt;, &gt;, &#162;, &#163;, &#165;, &#8364;, &#167;, &#169;

参照: HTML エンティティを Unicode に、またはその逆に変換する

于 2012-05-14T18:16:22.417 に答える
0

BeautifulSoupドキュメントのエンコーディングセクションをご覧になることをお勧めします。

于 2012-05-14T18:25:47.247 に答える