У меня есть следующий код html:
soup = BeautifulSoup("<div class='mydiv'><p style='xyz'>123</p><p>456</p><p style='xyz'>789</p><p>abc</p></div>", 'lxml')
Теперь у меня есть текст '456'.
Я хочу найти текст во всех тегах, которые имеют то же имя тега, содержащее текст '456'.
То есть в html, <p>456</p>
содержит 456
, тогда мы должны найти abc
из-за <p>abc</p>
, но не 123
и 789
, потому что <p style>
в <p style='xyz'>123</p>
и <p style='xyz'>789</p>
.
Обратите внимание, что <p>
выше может быть другим тегом, например <div>
.
Поиск soup.find('p')
следует избегать.
Конечный результат [456, 789]
.
Это немного сложно.
Как мы можем решить эту проблему?
Спасибо.