我有以下html:
<div class="what-im-after">
<p>
"content I want"
</p>
<p>
"content I want"
</p>
<p>
"content I want"
</p>
<div class='not-what-im-after">
<p>
"content I don't want"
</p>
</div>
<p>
"content I want"
</p><p>
"content I want"
</p>
</div>
我试图从段落标记中提取所有内容,这些标记是<div class="what-im-after">
容器的子元素,但不是{
当我这样做时:
^{pr2}$我取回了所有的<p>
标记,包括<div class='not-what-im-after>
内的标记,这对我来说完全有意义;这就是我所要求的。在
我的问题是如何指示Python获取所有的<p>
标记,除非它们在另一个子元素中?在
也许你想要这个。 我只过滤div的第一级p子级
如果只希望
what-im-after
div下的p标记不在任何其他标记内,则需要设置recursive=False:这与循环逻辑检查父对象完全相同。在
在写这个问题的过程中,我想到了一个似乎很有效的方法。在
基本上,我检查每个
<p>
元素,看看父元素是否是<div class="what-im-after">
,实际上,它排除了嵌套在子元素中的任何<p>
标记。在我的代码如下:
filter_list
然后包含所有未嵌套在其他子元素中的<p>
标记。在相关问题 更多 >
编程相关推荐