python中是否有任何功能可以单击链接以打开和提取电子邮件?

问题描述

我正在寻找一种从网页中提取电子邮件的工具,但其特殊性在于电子邮件不是直接在页面上,而是在页面上有一个带有链接的图标列表,每个图标都链接一个弹出窗口在实践中手动包含电子邮件,您必须单击每个图标才能查看相关电子邮件。电子邮件没有被遮挡,也没有禁止,它们是免费提供的,确实它们只是用来咨询的,有什么工具可以做到这一点? 否则我在 python 中看到了几个脚本但是没有这个功能,python 中有没有任何功能可以点击链接打开和提取电子邮件?如果你有例子那就太好了!

解决方法

有点难以理解您的意思,但我知道您想从网页中检索电子邮件。如果这就是您要尝试做的,那么我的以下回答涵盖了这一点,希望对您有所帮助-

用 Python 抓取网页电子邮件相当简单。您需要弄清楚两部分——第一步是如何下载网页,第二步是如何从该数据中提取电子邮件。

在 Python 中,有一个名为 requests 的简洁库,它允许您下载网站(这只是冰山一角,但这就是这个答案所需要的全部内容)。 requests 模块可以非常轻松地下载网页,如下所示:

from requests import get

url = "https://stackoverflow.com/"
html_data = get(url=url).text

之后,您现在将 HTML 数据保存在 html_data 变量中。现在进入下一步 - 解析电子邮件。我们在 Python 中拥有的另一个巧妙的工具是一个名为 re (also known as regex) 的模块。正则表达式(或正则表达式)是一种“语言”,它让 Python 在更大的字符串中找到特定的字符串。在我们的例子中,我们可以使用正则表达式在 HTML 数据中查找电子邮件。你可以这样做:

from re import findall

# Regex statement taken from https://emailregex.com/
print(findall(r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)",html_data))

上面的代码将从 HTML 数据中提取所有电子邮件并将它们打印到屏幕上。我希望这能回答您的问题!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...