电子邮件查找器(网络)

时间:2012-11-12 01:37:53

标签: python email

此应用将在网站上运行并查找所有电子邮件并将其退回。

def testEmails(url):
    'Test the emails() function'
    email = ''
    content = urlopen(url).read().decode()
    pattern='[A-Za-z0-9_.]+\@[A-Za-z0-9_.]+\.'
    for attr in content:
        if attr[0] == 'href':
           print(attr)
           email+='{} '.format(attr)
    emails = re.findall(pattern,email)
    return emails

我不断得到一个空白的字符串,任何人都知道为什么?

编辑:

这是我目前的代码:

def emails(content):
'return list of email addresses contained in string content'
    email = []
    content = urlopen(url).read().decode()
    pattern='[A-Za-z0-9_.]+\@[A-Za-z0-9_.]+\....'
    email.append(re.findall(pattern,content))
    print(email)

但出于某种原因,我得到了:

[['somePERSON@university.ca"']]

而不是:

['somePERSON@university.ca']

1 个答案:

答案 0 :(得分:2)

urlopen().read().decode()返回一个unicode字符串。因此循环遍历单个字符循环。不是您正在寻找的HTML属性。您应该使用HTMLParser提取属性,或者在整个文档上运行re.findall(cruder,但也会以纯文本格式提取电子邮件地址)。