Как получить весь контент внутри тегов html?

from bs4 import BeautifulSoup
content = "<a><b>scgvggvd</b></a>"
soup = BeautifulSoup(content, 'html.parser')
matched_list = soup.find('a')
print(matched_list)

Код выше вернет:

<a><b>scgvggvd</b></a>

Что я хочу это:

<b>scgvggvd</b>

Тег <a> удаляется после обнаружения

Я надеюсь, что решение будет работать и с find_all ()

0
Avic 26 Сен 2018 в 10:34

2 ответа

Лучший ответ

Если тег <b> является родственником тега <a>, используйте следующую строку:

matched_list = soup.select_one('b')

Если тег <b> является дочерним по отношению к тегу <a>, используйте следующую строку:

matched_list = soup.select_one('a b')

Используйте select вместо select_one, если вам нужно несколько совпадений.

0
jxpython 26 Сен 2018 в 23:03
from bs4 import BeautifulSoup
content = "<a><b>scgvggvd</b></a>"
soup = BeautifulSoup(content, 'html.parser')
matched_list = soup.find('a')
for b in matched_list:
    print(b)
0
Ian-Fogelman 26 Сен 2018 в 19:56