2011-11-07 66 views
4

我需要做一個網絡爬蟲從網頁提取信息。我做了一個研究,發現Beautiful Soup非常出色,因爲我可以解析所有文檔並創建dom對象並迭代,提取屬性等(對於JQuery來說也是如此)。Python 3.2美麗的湯替代

但我使用的是Python 3.2,並沒有穩定的版本(我認爲根本沒有,只有3.1我在他們的主頁看到)。

所以我需要一些不錯的選擇。

回答

0

lxml主頁:

最新版本與2.4所有CPython的版本3.2。

+0

我剛剛閱讀的美麗湯3.1系列與Python 3.0的工作,就是這樣(沒有提到3.2)。而3.x版本使用HTMLParser,因爲SGMLParser(這好得多)被刪除了:/。沒有作者的支持。 – Jirico

+0

@Jirico:這就是爲什麼我建議使用lxml。 –

+0

lxml看起來不像美麗的湯那麼熱,但我會給它一看。謝謝!嗯,我認爲我會得到Python 2.7我會有更多的第三方支持... – Jirico

3

在我看來,有一個版本的3.2.0美麗的湯的版本發佈差不多一年前。還有的HTMLParser http://docs.python.org/library/htmlparser.html

+0

我只是試過美麗的湯3.2.0。該設置給我的語句錯誤:print「單元測試失敗!」。這是來自2.x的舊版印刷聲明,如何告訴我3.2版可以嗎? – Jirico

+0

就像他們問的那樣,向[BS支持組](http://groups.google.com/group/beautifulsoup)報告錯誤(帶回溯)。他們是非常有幫助的,給他們一個機會來解決它之前,你開始張貼在這裏,它不起作用。 (除非[this](http://groups.google.com/group/beautifulsoup/browse_thread/thread/6c13e079839306ca/a3c2209e3d90f45d?lnk=gst&q=3.2+unittest#a3c2209e3d90f45d)已經在報告中) – smci

1

我認爲,最新的版本是4.1.1,你可以在這裏讀到它BS4 Documentation

我已經在我的網站上使用BS4與PHP爲此,有一段時間了,很大的成績。由於PHP/Python不兼容問題,我不得不切換到BSv3,但這與BS4腳本本身的工作性能是分開的。

最初我使用內置的HTML分析引擎,但發現這很慢。在我的Web服務器上安裝LMXL引擎後,速度大幅提升!在實際解析中沒有明顯的改進,但速度急劇增加。

我給它一個去 - 我推薦它,我嘗試了很多不同的選擇,然後我決定美麗的湯。

祝你好運!