百度贴吧爬虫之获取邮箱系列之增强版,应该是 任意邮箱了
- 功能:获取文本中的邮箱
- 上个基础版支持的不大好,对有些邮箱不支持,还有些其他问题
- 读文本,且获取文本中的各种电子邮箱
- 对获得的邮箱去重
- 每个邮箱独占一行
- 写入新的文件
# coding:utf-8
"""
Name : email.py
Author : GS
Contect : 2903344135@qq.com
Time : 2019/7/8 20:23
Desc:
"""
import re
f = open('test.txt', 'r',encoding='utf-8')#读取文件
strings=f.read()#获取文件内容,到内存
f.close()#读关闭
matches = []
emailRegex = re.compile(r'''(
[a-zA-Z0-9._%+-]+ # username
@ # @ symbol
[a-zA-Z0-9.-]+ # domain name
(\.[a-zA-Z]{2,4}){1,2} # dot-something
)''', re.VERBOSE)
for groups in emailRegex.findall(strings):
matches.append(groups[0])
f1 = open('test1.txt','a',encoding='utf-8')#打开新的文件
list2 = list(set(matches))#去重
# print(list2)
list_nums = len(list2)#列表的数量,长度
#循环写入文件,并换行
for line in range(list_nums):
f1.writelines(list2[line]+"\n")
#关闭流
f1.close()
原始文本文件text.txt:
执行完程序之后的样子:test1.txt
从实现功能上讲,对我所知道的邮箱都是完美提取,完美去重,但是代码有待进一步优化。
觉得有用的话,加我可交流