1

我正在使用 PyQuery 来处理这个 HTML:

<div class="container">
    <strong>Personality: Strengths</strong>
    <br />
    Text
    <br />
    <br />
    <strong>Personality: Weaknesses</strong>
    <br />
    Text
    <br />
    <br />
</div>

现在我有了一个e指向的变量.container,我正在循环遍历它的孩子:

for c in e.iterchildren():
    print c.tag

但是这样我就无法获取文本节点(两个Text字符串)

如何循环元素的子元素包括文本节点?

4

1 回答 1

0

你可以做到

        for c in e.children():
            p = PyQuery(c)
            print p.__str__()  
            #here re.sub remove html tag

此代码可以获得每个节点的原始文本。如果您想将文本标签与其他标签区分开来:

            raw = p.__str__().strip()
            a = raw.rfind(">")
            if (a+1!=len(raw)) : 
                print 'is text'
于 2019-03-05T12:30:07.763 回答