首页 > 解决方案 > beautifulsoup 不抓取电子邮件,但抓取格式

问题描述

我一直在尝试使用以下代码从此处获取电子邮件地址的不同方法:

email_pattern = 'a[href^=mailto]'
for email in soup.select(email_pattern):
  print(email)

但是,当我这样做时,我得到了整个代码:

<a href="mailto:emailname61@yahoo.com?subject=?"><span class="ui_icon email _3ZW3afUk"></span><span class="_2saB_OSe">Email</span><span class="ui_icon external-link-no-box _2OpUzCuO"></span></a>

我只想得到“emailname61@yahoo.com”

我一直在尝试

email_pattern = 'a[href^=mailto]'
for email in soup.select(email_pattern.text):
  print(email)

email_pattern = 'a[href^=mailto]'
for email in soup.select(email_pattern):
      print(email.text)

但我只是收到电子邮件这个词或什么都没有。

如何获取电子邮件地址?

标签: pythonweb-scrapingbeautifulsoup

解决方案


你能试试吗

 email_pattern = r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)"

推荐阅读