PyQuery获取文本节点

时间:2015-03-03 14:11:27

标签: python pyquery

我使用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字符串)

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

1 个答案:

答案 0 :(得分: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'