【问题标题】:how filtre huge email list by domain with python如何使用python按域过滤庞大的电子邮件列表
【发布时间】:2018-10-07 14:55:40
【问题描述】:

我需要python方面的帮助 如何使用 python 按域过滤庞大的电子邮件列表? 我的电子邮件列表包含不同的电子邮件 AOl Gmail Hotmail .... 我想选择一个域 ex Gmail 并创建一个仅包含 gmail 地址的新文件

这是正则表达式函数,我如何编辑它以仅获取 gmail 帐户?

regex = re.compile(("([a-z0-9!#$%&*+\/=?^_{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_" "{|}~-]+)*(@|\sat\s)(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(\.|" "\sdot\s))+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)"))

【问题讨论】:

  • 你写过代码吗?
  • 您能解释一下您期望得到什么样的答案吗?
  • 请提供更多信息,我们可以为您提供广泛的解释。你有什么样的数据?它是您阅读的 CSV 文件吗,您是否正在从网络上抓取一些数据?我们很乐意为您提供帮助,但您需要更加努力地明确您的问题。
  • 这是正则表达式函数,我如何编辑它以仅获取 gmail 帐户?正则表达式 = re.compile(("([a-z0-9!#$%&*+\/=?^_{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_" "{|}~-]+)*(@|\sat\s) (?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(\.|" "\sdot\s))+[a-z0-9 ](?:[a-z0-9-]*[a-z0-9])?)"))

标签: python regex python-3.x


【解决方案1】:

你能提供一个输入数据的例子吗?

无论如何,这里不需要正则表达式,只需将每个电子邮件地址拆分为其@ 并获取域。

如果您有一个每行一个地址的字符串,您可以执行以下操作。

hosts = {}
for address in addresses.splitlines():
    _, host = address.split('@')
    if host not in hosts:
        hosts[host] = [address]
    else:
        hosts[host].append(address)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 2020-02-08
    相关资源
    最近更新 更多