繁体   English   中英

如何创建一个可以确定电子邮件是否为垃圾邮件的 python 程序?

[英]How can I create a python program that can determine whether an email is a spam or not?

我是 python 新手,我想创建一个程序,可以根据三个因素确定电子邮件是否为垃圾邮件。

主题(如果为空,则为垃圾邮件)、发件人(我只想要电子邮件地址以“ .com, ”结尾的人,例如,否则为垃圾邮件)和日期(我只想要非周末的电子邮件,否则就是垃圾邮件)。

我做了主题部分,它成功地工作了。

代码附在下面。 但我需要发件人和日期部分的帮助。

import pandas as pd
ExcelFile = pd.read_excel(r'C:\Users\Email Table.xlsx')
Subject = pd.DataFrame(ExcelFile, columns=['Subject'])

def spam(Subject):
    df_multiindex = ExcelFile.set_index(['Subject'])
    n = len(df_multiindex)
    
    for x in range(n):
        if ((pd.isnull(ExcelFile.loc[x, 'Subject'])) == True):
            print("Spam")
        else:
            print("not spam")

spam(Subject)

您没有提供邮件地址的格式/类型,所以这只是一个想法。 检查发件人地址是否以“.com”结尾:

if address.endswith(".com"):
    print("Spam")
else:
    print("not spam")

您也没有提供有关日期格式的信息。 给定一个unix时间戳,它会像这样工作:

from datetime import datetime

ts = 1652734079
dt_object = datetime.fromtimestamp(ts)
# Check if weekday is saturday/sunday
if dt_object.weekday() in [5, 6]:
    print("Spam")
else:
    print("not spam")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM