Как найти элемент на основе строки, которая может охватывать несколько дочерних тегов?Python

Программы на Python
Anonymous
Как найти элемент на основе строки, которая может охватывать несколько дочерних тегов?

Сообщение Anonymous »


Я пытаюсь идентифицировать определенные элементы в документе на основе известной текстовой строки. Обычно это можно легко сделать с помощью

soup.find(string=re.compile(".*некоторая текстовая строка.*")) Однако известная строка может содержать (несколько) дочерних элементов. Например, если это наш документ:

test_doc = BeautifulSoup("""НазваниеНекоторый текст
""")
и я ищу конкретный элемент. Единственное, что я знаю об этом элементе, это то, что он содержит текст «Некоторый текст». Я не знаю, что слово "текст" в нем выделено полужирным шрифтом.

test_doc.find(string=re.compile(".*Некоторый текст.*")) — None, поскольку «текст» находится внутри этого дочернего тега.

Как я могу вернуть родительский тег (тег p в моем примере) со всеми дочерними тегами, если я не знаю, разбивается ли/как текст на дочерние теги?

Вернуться в «Python»