【发布时间】:2021-02-09 21:55:10
【问题描述】:
<div1 class="tag1">
<div2 class="tag2">
<div3 class="tag3">no</div3>
yes
</div2>
</div1>
我想解析 div1,如果它有文本,我会得到它的文本
我想保留{name_class: tag1 (or None), text: None},
我重申:{name_class: tag2 , text: yes}, {name_class: tag3 , text: no}
我解决这个问题的代码:
from pyquery import PyQuery as pq
a = '<div><div>no</div>yes</div>'
tryy = pq(a)[0]
tmp = [{"text" : tryy.text, "class" : pq(tryy).attr('class')}]
tmp + parse_rec(a)
type(tryy) = lxml.etree._Element'
但问题是:lxml.etree._Element.text 不保留“是”包含在 div2 中
我试过了,但它不适用于 bs4 Only extracting text from this element, not its children
欢迎任何图书馆的所有解决方案
【问题讨论】:
标签: python beautifulsoup lxml pyquery