BeautifulSoup - выделите текст привязки внутри другого текста - PullRequest
0 голосов
/ 25 мая 2018

Вот пример того, что у меня есть:

<text>This sign is <a href="http://XXXX"> select color </a> in color <text>

Вот как я хотел бы извлечь текст:

Этот знак выберите цвет в цвете

Я использую Beautiful Soup.Вот что я делаю.

text = soup.find_all ('text')

for t in text:

   print t.get_text()

Я получаю: Этот знак является выбранным цветом в цвете

Является ли этоМожно выделить / полужирный / курсив текста в тегах привязки?(Этот знак выберите цвет в цвете)

1 Ответ

0 голосов
/ 25 мая 2018

Вы можете использовать wrap и unwrap

Демо:

from bs4 import BeautifulSoup
s = """<text>This sign is <a href="http://XXXX"> select color </a> in color <text>"""
soup = BeautifulSoup(s, "html.parser")
for t in soup.find_all('text'):
    if t.a:
        t.a.wrap(soup.new_tag("b")).find("a").unwrap()
        print(t)

Выход:

<text>This sign is <b> select color </b> in color <text></text></text>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...