Как скрести ссылки и отображать текст с помощью BS4 в словарь - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь очистить ссылки, например <a href="http://www.example.com/default.html">Example. Я бы хотел загрузить их в словарь как {Example:link}, где на ссылке удалены теги HTML, и она похожа на ссылку, по которой кто-то щелкнет.

Я знаю, как получить ссылки, я просто не уверен, как сохранить ссылки, связанные с отображаемым текстом.

1 Ответ

0 голосов
/ 06 декабря 2018

Как правило, если вы можете извлечь 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'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...