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

时间:2018-12-06 02:21:10

标签: html python-3.x beautifulsoup

我正在尝试抓取<a href="http://www.example.com/default.html">Example之类的链接 我想将它们作为{Example:link}加载到字典中,该链接中的HTML标签被剥离,就像有人会点击该链接。

我知道如何获取链接,只是不确定如何保持链接与显示的文本连接。

1 个答案:

答案 0 :(得分:0)

通常,如果您能够提取href值,则需要制作一个字典来将文本映射到链接是您需要做的一些额外事情:制作一个dictionarygetting a text of an element 。而且,当您从同一元素获取链接和文本时,可以使用字典理解

工作示例:

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'
}