2011-08-05 95 views
-2

我需要創建PDF的內容。創建PDF的內容

+0

對我來說,這仍然看起來像http://stackoverflow.com/questions/6822884/how-do-i-index-pdf-files-and-search-for-keywords的副本。它有什麼不同? – katrielalex

回答

0

您可以使用collections.Counter跟蹤字數。我將使用正則表達式來捕獲頁面上的所有單詞,將每個單詞添加到計數器,然後轉到下一頁。您可以爲每個單詞同時保留查找索引,然後過濾常用單詞(counter[word] > threshold),或者可以再次運行文檔,僅構建常用單詞的索引。

a)這將會有點慢 b)你必須處理像'a','','和'等單詞,以確保這些不被計數。

1

如果你所有的文本都是Python中的字符串(我假設你是因爲你的相關文章而做的),那麼你可以使用Python的Natural Language Toolkit。你可以下載它from here

實施例:

import nltk, re, pprint 
from nltk import FreqDist 

tokens = nltk.word_tokenize(pdf_text) 
text = nltk.Text(tokens) 
fdist = FreqDist(text) 
vocabulary = fdist.keys() 

print vocabulary[:50] # Print the 50 most common words 

有關的基礎知識的更多信息檢查出BookChapter 1

+0

它是包含PDF文本的變量 - 作爲字符串。 – betamax

+0

您需要在循環之前創建'pdf_text'變量,然後遍歷PDF頁面並將每個頁面附加到'pdf_text',就像'pdf_text + = text'一樣。 – betamax

+0

是的 - 如果'pdf_text'包含PDF中的文本,上面的代碼將起作用。 – betamax