垃圾邮件档案中垃圾邮件的文本分析

时间:2013-02-06 17:48:07

标签: spam spam-prevention text-analysis

我尝试使用概率方法实施反垃圾邮件引擎。第一步是分析并对垃圾邮件中的单词类型及其频率进行一些研究。所以我用Java编写了一个非常简单的程序来过滤垃圾邮件中的单词。我通过使用“split(”\ W“)”(\ W为空格)将整个文本文件分为行和行为单词。

我下载了垃圾邮件存档,并认为我会使用此应用程序轻松分析或扫描这些txt文件。但很快,我陷入了一个重大问题!文本文件包含HTML标签,链接,电子邮件标题,等等......

现在我想知道如何解决这个问题?我应该使用html解析器还是加强我分析这些文件的逻辑?

答案主要取决于我是否会在实施阶段遇到同样的问题?当前的垃圾邮件过滤器有何功能

1 个答案:

答案 0 :(得分:1)

邮件信封虽然是电子邮件中不可见的部分,但却是标准的。没有这些标题,该消息将无法与您联系。当标准库完成这项工作时,不需要自己编写解析逻辑。

from email import message_from_string
mailfd = open("mfile_path_to_message").read()
message = message_from_string(mailfd)
print message.get("from")

如果您的邮件采用unix mbox格式,Mailbox库将会很有帮助。要解析像HTML这样的富文本,BeautifulSoup是更好的选择。