python - 从完整标签中删除电子邮件和文本
问题描述
如何在<a href..> </a>标记之间正确获取电子邮件和文本?
我的代码:
import re
import urllib.request, urllib.parse, urllib.error
from bs4 import BeautifulSoup
url = input("Enter url -")
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, "html.parser")
# Retrieve all of the anchor tags
count = 0
tags = soup.find_all(href=re.compile("mailto"))
for tag in tags:
count += 1
print(tag)
print("Total amount of mails:", count)
我的程序正在接收完整的标签<a href="mailto:johntest@test.com">John Test</a>
,我只想获得电子邮件地址和姓名。我怎样才能正确地将其剥离?
解决方案
你可以这样试试
from bs4 import BeautifulSoup
html = """<a href="mailto:johntest@test.com">John Test</a>"""
soup = BeautifulSoup(html, parser="html.parser", features="lxml")
for element in soup.find_all("a"):
if "mailto" in element["href"]:
email = element["href"].split(":")[1]
name = element.text
print(email, name)
输出
johntest@test.com John Test
推荐阅读
- javascript - JavaScript 选项卡不是在事件侦听器之外定义的吗?
- vba - 如何计算形状中隐藏文本的案例?
- javascript - Vue-portal 条件门户是否启用?
- ios - Swift CollectionView 滚动出界
- python - 循环两个列表并使用 pandas python 查找匹配的元素
- image-processing - 如何为服务器启用 AVIF 支持
- laravel - 网络错误:React Native、Axios、Laravel - 身份验证
- java - 这种后增量何时发生?
- python - 如何链接 django 自定义用户模型和 django allauth 包
- javascript - React - 将应用程序嵌入现有页面(Web 服务器中的子文件夹)