我有一个用BeautifulSoup webscrapped的基本Django应用程序,该应用程序获取有关Author和Content的数据,然后将其保存到数据库。我需要从该内容模型中获取十大最常用的单词。我知道如何从网址来源中获取前10名,但我必须从Model中获取它,任何人都可以帮助我提出其背后的想法吗?
if(rating>=4){
sendDataToPlayStore()
}else{
takeFeedbackFromUser()
}
答案 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