python - 从电子邮件数据库列表中提取域
问题描述
我需要从数据集中的电子邮件中提取域并计算前 5 个域。
import re
from collections import Counter
with open("emails")
domain = re.search('@[\w.)]+, email')
print(domain.group())
jbutt@gmail.com http://www.bentonjohnbjr.com
josephine_darakjy@darakjy.org http://www.chanayjeffreyaesq.com
art@venere.org http://www.chemeljameslcpa.com
lpaprocki@hotmail.com http://www.feltzprintingservice.com
donette.foller@cox.net http://www.printingdimensions.com
解决方案
这列出了前 5 个域:
import re
from collections import Counter
resultList = []
with open("emails", "r") as email:
for x in email:
result = re.search('@(.*) ', x)
resultList.append(result.group(1))
occurence_count = Counter(resultList)
print(occurence_count.most_common(5))
输出:
[('gmail.com ', 1), ('darakjy.org ', 1), ('venere.org', 1), ('hotmail.com ', 1), ('cox.net', 1)]
输出是 5 个最常见的域名
推荐阅读
- linux - 如何在 linux 命令/脚本中使用 sed、awk 或 grep 从文件中获取值?
- kubernetes - 如何在 kubernetes 的 pod 内维护 udp 会话?
- java - Windows 证书存储与 Java KeyStore:Java 服务器应用程序首选哪个?
- ruby - 使用 cygwin 和 Visual Studio 代码在 Windows 中调试 ruby
- python-3.x - 在 Django 中使用内联保存模型
- javascript - 在迭代 JSON 数组时出现错误:“data.id is undefined”
- ssh - 使用 JMeter 中的 OS Process Sampler 将文件从一个 Windows 远程服务器传输到另一个 Windows 远程服务器的步骤
- c# - 语音合成器阅读不适用于专有名词(文本到语音)
- python - Django get_user_model().objects.create() 密码没有得到散列
- python - 使用 zeromq 在 2 个 python 程序之间交换信息