Удалить тег внутри тега в BeautifulSoap - PullRequest
0 голосов
/ 31 октября 2019

У меня есть этот код BeautifulSoap

title_box = soup.find('span', attrs={'class': 'descTitle'})
print title_box

, который дает следующий вывод

<span class="descTitle"> <a class="descTitle" href="/foo/bar"</a> | Quick Brown Fox!</span>

Я хотел бы полностью удалить тег <a>, чтобы получить следующий вывод

<span class="descTitle"> | Quick Brown Fox!</span>

И после удаления текста мой желаемый вывод - только Quick Brown Fox!. Любые идеи, как я могу также удалить | до или после использования text.strip()?

1 Ответ

0 голосов
/ 31 октября 2019

Вы можете использовать .text.strip().lstrip("|")

Пример:

title_box = soup.find('span', attrs={'class': 'descTitle'}).text.strip().lstrip("|")

Демо:

from bs4 import BeautifulSoup

html = '<span class="descTitle"> <a class="descTitle" href="/foo/bar"</a> | Quick Brown Fox!</span>'
soup = BeautifulSoup(html, "html.parser")
print(soup.find('span').text.strip().lstrip("|"))
# -->  Quick Brown Fox!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...