2010-06-30 68 views
2

我需要解析一個HTML頁面與windows-1251字符集(它是俄語)。什麼HTML解析器可供選擇,爲什麼BeautifulSoup不起作用?

的問題是,它是Web應用程序,我有使用Python 2.4無任何機會,在服務器上安裝模塊。我試圖做的唯一的事情是問管理員安裝LXML模塊,但儘管如此,它不是建立在正確的道路上2.4和嘗試導入lxml.html失敗。

現在我想選擇模塊BeautifulSoup和之間html5lib,但我沒有找到使用html5lib的任何簡單的例子(我只需要從某些的div元素與剝離提取一些文字所有其他標籤裏面)。反過來,BeautifulSoup返回一個錯誤'的開始標記垃圾字符:U' \ u041f \ u0440 \ u043e \ u0434 \ u0430 \ u0436 \ u0430>」任何試圖從CP1251源頁解碼unicode或其他任何字符集都沒有成功。

我到底做錯了什麼?或者我應該使用什麼解析器?

+0

您使用的是什麼版本的BeautifulSoup?請參閱http://www.crummy.com/software/BeautifulSoup/3.1-problems.html,避免使用'3.1。*'(除非您使用Python 3)並堅持使用'3.0.x'(對於'x> = 8')。 – 2010-06-30 14:39:10

+0

因爲Python 2.4,我使用3.0.8.1。這是Python版本太舊的主要問題。 – Enchantner 2010-06-30 14:46:06

+1

您的錯誤消息看起來像您已經有Unicode對象。您確定您確實正在讀取CP1251編碼的二進制字符串數據,並且它沒有被轉換爲堆棧中某處的unicode嗎? – 2010-06-30 20:52:51

回答

0

這個問題有如何轉換爲UTF-8有很大答案:

Python: how to convert from Windows 1251 to Unicode?

我愛BeautifulSoup圖書館,但我不熟悉的古怪的字符集。如果我正在寫這本書,我可能會試着對輸入信息進行整理,讓我進入unicode,大多數圖書館都能很好地播放。

相關問題