在Python(Django)中过滤/防止/屏蔽垃圾评论和脏话
我基本的问题是如何在一个评论发布系统中防止垃圾信息和脏话,使用的是Python(Django)。
我有一堆需要屏蔽的短语,大约有3000个。
我想做的事情是这样的:
当用户点击发布按钮时,如果发现评论中有脏话,网站应该弹出一个警告消息,提醒用户重新输入或修改评论,然后再提交。这只是为了防止人们提交粗鲁或垃圾的评论。
问题(1),有没有现成的开源Python(或Django)包/模块/插件可以处理这个问题?我知道有一个叫Akismet的服务。但根据我的理解,它并不能解决我的问题。Akismet只是一个网络服务,过滤的是它自己定义的脏话字典。但我有自己的词汇库。如果我理解错了,请纠正我。
问题(2),如果没有这样的开源包可以使用,我该如何创建自己的?我能想到的唯一方法是使用正则表达式,把所有的短语用“或”连接起来放在一个正则表达式中。但是我有3000个短语,我觉得这样在性能上可能不行,无法过滤每一条评论。你有什么建议我该从哪里开始吗?
非常感谢你的帮助和时间。
1 个回答
4
你可能想看看这个 PROFANITIES_LIST 设置,听起来你可以把它和 验证器 一起使用。
不过,考虑到你有那么多(真的有3000个吗?你一定在聚会上很有趣)短语,你可能需要重新考虑一下。你不应该只是过滤垃圾信息,而是直接把它们扔掉。这只是我的看法。如果评论里有垃圾信息,为什么还要留着呢?这样的评论有什么价值呢?