Как получить данные из родительского тега с помощью python - PullRequest
0 голосов
/ 28 января 2019

Мне нужно извлечь данные из родительского тега, независимо от дочерних тегов, используя Python.Из приведенного ниже кода мне нужно получить «Привет, это родительский тег», не получая «Привет, это дочерний тег».Как я могу это сделать?

<html>
    <div>
        "Hi, this is parent tag"
        <span> "Hi, this is child tag" </span>
    </div>
</html>

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Вы можете использовать синтаксис lpml пакета xpath

txt = """
<html>
    <div>
        "Hi, this is parent tag"
        <span> "Hi, this is child tag" </span>
    </div>
</html>
"""

from lxml.html.soupparser import fromstring
tree = fromstring(txt)
print tree.xpath("//div/text()")

Хороший источник подсказки https://devhints.io/xpath

0 голосов
/ 28 января 2019
from bs4 import BeautifulSoup

txt = """
<html>
    <div>
        "Hi, this is parent tag"
        <span> "Hi, this is child tag" </span>
    </div>
</html>
"""

soup = BeautifulSoup(txt)

for node in soup.findAll('div'):
    print(' '.join(node.findAll(text=True, recursive=False)))

ВЫХОД:

«Привет, это родительский тег»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...