2012-10-04 28 views
0

我有一個本地存儲的半大網站(使用httrack從服務器上撕掉)。這個特定的網站的目錄結構有幾個文件夾/子文件夾以及大量的html文件。我想知道是否有任何工具(它可以是任何東西:腳本,C++/c代碼等),這將允許我在所有html文件中生成一個單詞頻率計數器表。 這裏的訣竅是我只關心計算實際的內容詞(即不是html代碼,儘管如果情況如此,可以很容易地刪除它們)。 任何建議,非常感謝!本地存儲的網站的詞頻計數器

回答

3

一旦剝離出的HTML代碼,使用collections.Counter

>>> sentence = "Hello world. How are you? Hello" 
>>> counts = collections.Counter(sentence.split()) # note that this still counts punctuation. Thus, "Hello," and "Hello" are two different words 

如果你沒有剝離出HTML的方式,看看lxml這樣做

希望這有助於

+0

謝謝,我在考慮使用現有的工具來完成這項任務,而不是我必須做所有「骯髒的工作」:)雖然如果沒有現有的工具來解決這個問題,我可以繼續嘗試實現一個我自己。 –

+0

@EveraldoAguiar:這是實現。安裝'lxml'並添加'from lxml import html; text = html.fromstring(doc).text_content()',你基本完成了。 –

+0

如果你不想使用'lxml',你可以試試'lynx'的轉儲文本功能 – inspectorG4dget

2

參見Hermetic Word頻率計數器的高級版本http://www.hermetic.ch/wfca/wfca.htm,它掃描多個文件並去除HTML標籤。不是免費的,但在計算HTML文件中的單詞方面做得很好。即使子文件夾。