首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过特定的父->子组合对选择进行分组?

如何通过特定的父->子组合对选择进行分组?
EN

Stack Overflow用户
提问于 2022-10-11 11:35:17
回答 1查看 27关注 0票数 0

我有一个由<div>组成的<div><head>,其中出现了<div><head>。这些<div><head>后面可能跟着一个<lb>,也可能没有。理想情况下,我想要一个所有<div><head/> ... </div>的列表

代码语言:javascript
复制
<div><div><head facs="#facs_21_TextRegion_1624455438571_399">
            <lb facs="#facs_21_line_1624455438683_402" n="N001"/><supplied reason="article_added">7</supplied> Von der Liebe und guten wercken.</head>
            <p facs="#facs_21_TextRegion_1624455467191_408">
               <lb facs="#facs_21_r3l25" n="N001"/>Die Liebe, die da ist das ende des Gebots und die
               <lb facs="#facs_21_r3l26" n="N002"/>volkommenheyt des Gesetzs,<note type="annotation">Vgl. <ref type="biblical" cRef="Rm_13,8-10">Röm 13,8-10</ref>; <ref type="biblical" cRef="Gal_5,14">Gal 5,14</ref>.</note> so bald sie inn der
               <lb facs="#facs_21_r3l28" n="N003"/>rechtfertigung eintritt, so ist sie fruchtbar und
               <lb facs="#facs_21_r3l29" n="N004"/>beschleüsset inn sich selbs die samen aller guten werck,<note type="annotation">Vgl. <ref type="biblical" cRef="Ps_1,3">Ps 1,3</ref>.</note> <w>wel<pc>-</pc>
               <lb/><note place="margin-left" facs="#facs_21_r1">
               <lb/>Psalm. 1.</div> <div><head facs="#facs_21_TextRegion_1624455438571_399">
            <lb facs="#facs_21_line_1624455438683_402" n="N001"/><supplied reason="article_added">7</supplied> Von der Liebe und guten wercken.</head>
            <p facs="#facs_21_TextRegion_1624455467191_408">
               <lb facs="#facs_21_r3l25" n="N001"/>Die Liebe, die da ist das ende des Gebots und die
               <lb facs="#facs_21_r3l26" n="N002"/>volkommenheyt des Gesetzs,<note type="annotation">Vgl. <ref type="biblical" cRef="Rm_13,8-10">Röm 13,8-10</ref>; <ref type="biblical" cRef="Gal_5,14">Gal 5,14</ref>.</note> so bald sie inn der
               <lb facs="#facs_21_r3l28" n="N003"/>rechtfertigung eintritt, so ist sie fruchtbar und
               <lb facs="#facs_21_r3l29" n="N004"/>beschleüsset inn sich selbs die samen aller guten werck,<note type="annotation">Vgl. <ref type="biblical" cRef="Ps_1,3">Ps 1,3</ref>.</note> <w>wel<pc>-</pc>
               <lb/><note place="margin-left" facs="#facs_21_r1">
               <lb/>Psalm. 1.</div></div>

所以我做了print(soup.find_all('div')),它返回所有div的列表,但是删除了<head>

代码语言:javascript
复制
<div>
<lb facs="#facs_21_line_1624455438683_402" n="N001"></lb><supplied reason="article_added">7</supplied> Von der Liebe und guten wercken.
            <p facs="#facs_21_TextRegion_1624455467191_408">
<lb facs="#facs_21_r3l25" n="N001"></lb>Die Liebe, die da ist das ende des Gebots und die
               <lb facs="#facs_21_r3l26" n="N002"></lb>volkommenheyt des Gesetzs,<note type="annotation">Vgl. <ref cref="Rm_13,8-10" type="biblical">Röm 13,8-10</ref>; <ref cref="Gal_5,14" type="biblical">Gal 5,14</ref>.</note> so bald sie inn der
               <lb facs="#facs_21_r3l28" n="N003"></lb>rechtfertigung eintritt, so ist sie fruchtbar und
               <lb facs="#facs_21_r3l29" n="N004"></lb>beschleüsset inn sich selbs die samen aller guten werck,<note type="annotation">Vgl. <ref cref="Ps_1,3" type="biblical">Ps 1,3</ref>.</note> <w>wel<pc>-</pc>
<lb></lb><note facs="#facs_21_r1" place="margin-left">
<lb></lb>Psalm. 1.</div>

我想有些问题出现了:

  1. 如何将我的汤按

分组

  1. 为什么<head>正在消失?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-11 11:45:10

在我看来,行为来自于bs4 standard parser lxml,所以如果您切换到html.parser,您应该看到<head>

代码语言:javascript
复制
soup = BeautifulSoup(html,'html.parser')

您可以使用css selectors链接您的条件:

代码语言:javascript
复制
soup.select('div:has(>head)')

示例

代码语言:javascript
复制
from bs4 import BeautifulSoup

html = '''
<div><div><head facs="#facs_21_TextRegion_1624455438571_399">
<lb facs="#facs_21_line_1624455438683_402" n="N001"/><supplied reason="article_added">7</supplied> Von der Liebe und guten wercken.</head>
<p facs="#facs_21_TextRegion_1624455467191_408">
<lb facs="#facs_21_r3l25" n="N001"/>Die Liebe, die da ist das ende des Gebots und die
<lb facs="#facs_21_r3l26" n="N002"/>volkommenheyt des Gesetzs,<note type="annotation">Vgl. <ref type="biblical" cRef="Rm_13,8-10">Röm 13,8-10</ref>; <ref type="biblical" cRef="Gal_5,14">Gal 5,14</ref>.</note> so bald sie inn der
<lb facs="#facs_21_r3l28" n="N003"/>rechtfertigung eintritt, so ist sie fruchtbar und
<lb facs="#facs_21_r3l29" n="N004"/>beschleüsset inn sich selbs die samen aller guten werck,<note type="annotation">Vgl. <ref type="biblical" cRef="Ps_1,3">Ps 1,3</ref>.</note> <w>wel<pc>-</pc>
<lb/><note place="margin-left" facs="#facs_21_r1">
<lb/>Psalm. 1.</div> <div><head facs="#facs_21_TextRegion_1624455438571_399">
<lb facs="#facs_21_line_1624455438683_402" n="N001"/><supplied reason="article_added">7</supplied> Von der Liebe und guten wercken.</head>
<p facs="#facs_21_TextRegion_1624455467191_408">
<lb facs="#facs_21_r3l25" n="N001"/>Die Liebe, die da ist das ende des Gebots und die
<lb facs="#facs_21_r3l26" n="N002"/>volkommenheyt des Gesetzs,<note type="annotation">Vgl. <ref type="biblical" cRef="Rm_13,8-10">Röm 13,8-10</ref>; <ref type="biblical" cRef="Gal_5,14">Gal 5,14</ref>.</note> so bald sie inn der
<lb facs="#facs_21_r3l28" n="N003"/>rechtfertigung eintritt, so ist sie fruchtbar und
<lb facs="#facs_21_r3l29" n="N004"/>beschleüsset inn sich selbs die samen aller guten werck,<note type="annotation">Vgl. <ref type="biblical" cRef="Ps_1,3">Ps 1,3</ref>.</note> <w>wel<pc>-</pc>
<lb/><note place="margin-left" facs="#facs_21_r1">
<lb/>Psalm. 1.</div></div>
'''
soup = BeautifulSoup(html,'html.parser')

soup.select('div:has(>head)')

输出

代码语言:javascript
复制
[<div><head facs="#facs_21_TextRegion_1624455438571_399">
 <lb facs="#facs_21_line_1624455438683_402" n="N001"></lb><supplied reason="article_added">7</supplied> Von der Liebe und guten wercken.</head>
 <p facs="#facs_21_TextRegion_1624455467191_408">
 <lb facs="#facs_21_r3l25" n="N001"></lb>Die Liebe, die da ist das ende des Gebots und die
 <lb facs="#facs_21_r3l26" n="N002"></lb>volkommenheyt des Gesetzs,<note type="annotation">Vgl. <ref cref="Rm_13,8-10" type="biblical">Röm 13,8-10</ref>; <ref cref="Gal_5,14" type="biblical">Gal 5,14</ref>.</note> so bald sie inn der
 <lb facs="#facs_21_r3l28" n="N003"></lb>rechtfertigung eintritt, so ist sie fruchtbar und
 <lb facs="#facs_21_r3l29" n="N004"></lb>beschleüsset inn sich selbs die samen aller guten werck,<note type="annotation">Vgl. <ref cref="Ps_1,3" type="biblical">Ps 1,3</ref>.</note> <w>wel<pc>-</pc>
 <lb></lb><note facs="#facs_21_r1" place="margin-left">
 <lb></lb>Psalm. 1.</note></w></p></div>,
 <div><head facs="#facs_21_TextRegion_1624455438571_399">
 <lb facs="#facs_21_line_1624455438683_402" n="N001"></lb><supplied reason="article_added">7</supplied> Von der Liebe und guten wercken.</head>
 <p facs="#facs_21_TextRegion_1624455467191_408">
 <lb facs="#facs_21_r3l25" n="N001"></lb>Die Liebe, die da ist das ende des Gebots und die
 <lb facs="#facs_21_r3l26" n="N002"></lb>volkommenheyt des Gesetzs,<note type="annotation">Vgl. <ref cref="Rm_13,8-10" type="biblical">Röm 13,8-10</ref>; <ref cref="Gal_5,14" type="biblical">Gal 5,14</ref>.</note> so bald sie inn der
 <lb facs="#facs_21_r3l28" n="N003"></lb>rechtfertigung eintritt, so ist sie fruchtbar und
 <lb facs="#facs_21_r3l29" n="N004"></lb>beschleüsset inn sich selbs die samen aller guten werck,<note type="annotation">Vgl. <ref cref="Ps_1,3" type="biblical">Ps 1,3</ref>.</note> <w>wel<pc>-</pc>
 <lb></lb><note facs="#facs_21_r1" place="margin-left">
 <lb></lb>Psalm. 1.</note></w></p></div>]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74027455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档