在给定的.html页面中,我有一个脚本标记,如下所示:
如何使用Beautiful Soup提取电子邮件地址?
要在@ Bob的答案中添加更多内容,并假设您还需要script
在HTML中找到可能包含其他script
标记的标记.
我们的想法是定义一个正则表达式,用于定位元素BeautifulSoup
和提取email
值:
import re from bs4 import BeautifulSoup data = """ """ pattern = re.compile(r'\.val\("([^@]+@[^@]+\.[^@]+)"\);', re.MULTILINE | re.DOTALL) soup = BeautifulSoup(data, "html.parser") script = soup.find("script", text=pattern) if script: match = pattern.search(script.text) if match: email = match.group(1) print(email)
印刷品:name@email.com
.
这里我们使用一个简单的正则表达式来表示电子邮件地址,但我们可以更进一步,更严格地对待它,但我怀疑这对于这个问题几乎是必要的.