我正在寻找一种从网页中提取电子邮件的工具,但特殊之处在于电子邮件不是直接在页面上,而是在页面上有一个带有链接的图标列表,每个图标都链接到一个包含在实践中手动发送电子邮件,您必须单击每个图标才能查看相关电子邮件。电子邮件没有被隐藏,也没有禁止,它们是免费的,确实它们只是为了查阅,有什么工具可以做到这一点吗?否则我在 python 中看到了几个脚本,但没有这个功能,python 中有没有任何功能可以点击链接打开并提取电子邮件?如果你有例子那就太好了!
问问题
108 次
1 回答
0
有点难以理解您想说什么,但我知道您想从网页中检索电子邮件。如果这是您要尝试做的,那么我的以下答案涵盖了这一点,希望对您有所帮助-
Python 中的网络抓取电子邮件相当简单。您需要弄清楚两部分——第一步是如何下载网页,第二步是如何从该数据中提取电子邮件。
在 Python 中,有一个名为requests的简洁库,它允许您下载网站(这只是冰山一角,但这就是这个答案所需要的全部)。requests 模块可以非常轻松地下载网页,如下所示:
from requests import get
url = "https://stackoverflow.com/"
html_data = get(url=url).text
之后,您现在在html_data
变量中拥有了 HTML 数据。现在进入下一步 - 解析电子邮件。我们在 Python 中拥有的另一个简洁工具是一个名为re(也称为 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 数据中获取所有电子邮件并将它们打印到屏幕上。我希望这回答了你的问题!
于 2021-03-30T08:55:45.923 回答