BeautifulSoup 4 - Как заменить тег привязки его текстом - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть html содержание в моем документе. Мне нужно заменить все теги привязки соответствующими текстами, используя BeautifulSoup.

Мой ввод

html = '''They are also much more fuel-efficient than <a href="http://someurl.com">rockets</a>.'''

Ожидаемый вывод

"They are also much more fuel-efficient than rockets."

Вот мой код

soup = BeautifulSoup(html, 'html.parser')
for a in soup.find_all('a'):
    ...
    replacement_string = a.string
    //I get all the anchor tags here. I need to perform the replace operation here
    ...
//Should display 'They are also much more fuel-efficient than rockets.'
print(replaced_html_string) 

Мне удалось заменить элементы тега привязки, но не сам тег.

1 Ответ

2 голосов
/ 18 апреля 2020

Вам не нужно разделять все теги, чтобы получить текст. просто используйте .text:

soup = BeautifulSoup(html, 'html.parser')
print(soup.text)

дает:

'They are also much more fuel-efficient than rockets.'

Или по-вашему:

res = str(soup)
for i in soup.find_all('a'):
    res = res.replace(str(i),i.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...