我会做更多的研究,并尝试自己先这样做,以便您可以问更多的具体问题,您的方法和代码,您正在工作。
目前还不清楚您希望使用什么文本来识别前5个最常见的单词(即google搜索结果页面中的文本、作为搜索一部分返回的网站上的实际文本等),也不清楚您的分析中会考虑多少结果。
话虽如此,我还是建议调查一下:
对于从web中提取文本,我建议您查看图书馆beautifulsoup4。您可以通过在终端中键入以下内容来安装它:
pip install beautifulsoup4
至于词频,你可以使用nltk来分析你用beautifuldsoup返回的文本,得到词频,或者进行其他基于文本的分析。您可以通过在终端中键入以下内容来安装NLTK:
pip install nltk
如果您反对使用nltk进行文本分析,那么可以使用内置库执行类似的操作,以获取某些文本中最常见的单词的计数:
# import your libraries
import re
from collections import Counter
# clean text from google retrieved with beautiful soup
text_from_google = 'This is some example text I use where I use the word
example more than once for example'
text = text_from_google.lower().split()
# create a function to return the top n words in text
def get_top_words(text, num_words):
# basic pre-processing to remove punctuation
punc_filter = re.compile('.*[A-Za-z0-9].*')
filtered_text = [word for word in text if punc_filter.match(word)]
word_counts = Counter(filtered_text)
return word_counts.most_common(num_words)
# get the top words
top_words = get_top_words(text, 5)
for word in top_words:
print('The word {} was found {} times'.format(word[0], word[1]))