计算Django模型中最常用的单词

时间:2019-06-07 16:49:03

标签: python django beautifulsoup

我有一个用BeautifulSoup webscrapped的基本Django应用程序,该应用程序获取有关Author和Content的数据,然后将其保存到数据库。我需要从该内容模型中获取十大最常用的单词。我知道如何从网址来源中获取前10名,但我必须从Model中获取它,任何人都可以帮助我提出其背后的想法吗?

if(rating>=4){ 
    sendDataToPlayStore()
}else{
    takeFeedbackFromUser() 
}

1 个答案:

答案 0 :(得分:2)

好的,根据我在评论中的理解,您希望Content的描述中使用最频繁的10个词。

创建一种方法,将内容分成单词列表,然后遍历该列表,然后使用词典来跟踪单词出现的次数。

class Content(models.Model):
...
...
# Add this method to class
def get_most_used_words(self, count):
    words = {}
    description = self.description.split()
    for word in description:
        if word in words:
            words[word] += 1
        else:
            words[word] = 1
    top_10_words = sorted(words.items(),key=lambda x:-x[1])[:count]
    return top_10_words

您现在可以使用上述方法

c = Content.objects.last() # Get the last content
print(c.get_most_used_words(10)) # Get the top 10 most used words