此应用将在网站上运行并查找所有电子邮件并将其退回。
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']
答案 0 :(得分:2)
urlopen().read().decode()
返回一个unicode字符串。因此循环遍历单个字符循环。不是您正在寻找的HTML属性。您应该使用HTMLParser提取属性,或者在整个文档上运行re.findall(cruder,但也会以纯文本格式提取电子邮件地址)。