2010-07-01 3 views
1

Я использую BeautifulSoup для очистки некоторых веб-сайтов, однако у меня проблема с некоторыми конкретными символами, код внутри UnicodeDammit, похоже, указывает на то, что это (еще раз) некоторые из них были изобретены Microsoft.Escaping & hellip; with BeautifulSoup

Я использую последнюю версию BeautifulSoup (3.0.8.1) как я все еще использую python2.5

Следующий код иллюстрирует мою проблему:

from BeautifulSoup import BeautifulSoup 
soup = BeautifulSoup('...Baby One More Time (Digital Deluxe Version…') 
print soup 

'...Baby One More Time (Digital Deluxe Version…' 

Как вы можете видеть проблему это символ «& hellip;» (hellip) в конце (который ваш браузер, вероятно, сбежал правильно). Очевидно, меня это не интересует.

Было бы хорошо, если бы это представление символов Unicode или что-то еще. Даже безнравственное игнорирование это решит мою конкретную проблему.

Как это сделать с помощью BeautifulSoup?

ответ

1

Найдено решение сам:

soup = BeautifulSoup('...Baby One More Time (Digital Deluxe Version…', convertEntities="html") 
1

MS может быть изобретено, но … является частью HTML 4: http://www.w3.org/TR/REC-html40/sgml/entities.html

Возможно, ваш Lib/htmlentitydefs.py отсутствует или устарелый, так как это то, что BeautifulSoup использует для преобразования объектов.

Если вы посмотрите на the Python 2.5 source tree вы будете четко видеть, что это определено в строке 126.