如何抓取链接,链接使用BS4显示文本到字典中



我正在尝试抓取类似<a href="http://www.example.com/default.html">Example的链接我想把它们作为{Example:link}加载到字典中,其中的链接去掉了HTML标记,就像有人会点击的链接一样。

我知道如何获取链接,只是不知道如何将链接连接到显示的文本。

通常,如果您能够提取href值,那么制作一个将文本映射到链接的字典只需要做一些额外的事情:制作一个字典和获取元素的文本。而且,当你从同一个元素获得链接和文本时,你可以使用词典理解

工作示例:

from bs4 import BeautifulSoup
html = """
<div>
<a href="https://google.com">Google</a>
<a href="https://stackoverflow.com">Stackoverflow</a>
</div>
"""

soup = BeautifulSoup(html, "html.parser")
print({
a.get_text(strip=True): a["href"]
for a in soup.find_all("a")
})

打印:

{
'Google': 'https://google.com', 
'Stackoverflow': 'https://stackoverflow.com'
}

最新更新