0

我尝试使用概率方法实现反垃圾邮件引擎。第一步是分析和研究垃圾邮件中单词的类型及其频率。所以我用Java写了一个非常简单的程序来过滤垃圾邮件中的单词。我使用 "split("\W")" (\W 表示空格)将整个文本文件分成几行和几行。

我下载了垃圾邮件档案,并认为我可以使用此应用程序轻松分析或扫描这些 txt 文件。但是很快,我就遇到了一个大问题!文本文件包含 HTML 标签、链接、电子邮件标题、等等等等……

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

答案主要看我在实施阶段会不会遇到同样的问题?当前的垃圾邮件过滤器有什么作用?

4

1 回答 1

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 格式,邮箱库会很有帮助。对于解析 HTML 等富文本,BeautifulSoup是更好的选择。

于 2016-04-28T02:22:18.243 回答