如何使用beautifulsouppython使用findall指定子标记

如何使用beautifulsouppython使用findall指定子标记,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,如何在其他标记旁边仅获取特定标记。所以如果我这样做了 soup.findAll('blockquote')我将获得所有blockquote的列表,但我只希望blockquote也位于名为attr的标记旁边 因此,我的区块报价列表不会包含以下内容: <blockquote> <i>Intro </i> </blockquote> 简介 当我只想 <blockquote><a name="*"> &l

如何在其他标记旁边仅获取特定标记。所以如果我这样做了

soup.findAll('blockquote')
我将获得所有blockquote的列表,但我只希望blockquote也位于名为attr的标记旁边<代码>

因此,我的区块报价列表不会包含以下内容:

   <blockquote>
     <i>Intro </i>
  </blockquote>

简介
当我只想

<blockquote><a name="*">  </blockquote>

下面是一个示例,但还有一些其他blockquote,带有其他内部标记。但我只想要带有
内部标签的

<blockquote>
<i>Intro </i>
</blockquote>, <blockquote>
<a name="1">a </a><br>
</br></blockquote>, <blockquote>
<a name="2">x </a><br>
<a name="3">y </a><br>
<a name="4">z </a><br>
</br></br></br></blockquote>

简介
, 
a

,, x
y
z



好吧,或者我想要结果,我想要得到这样的结果

<blockquote>
    <a name="1">a </a><br>
    </br></blockquote>, <blockquote>
    <a name="2">x </a><br>
    <a name="3">y </a><br>
    <a name="4">z </a><br>
    </br></br></br></blockquote>

a

,, x
y
z




获取所有
a
标记,这些标记是
blockquote
标记的直接子标记,然后获取它们的父标记(blockquotes)如何

从bs4导入美化组
汤=美汤
简介
, 
a

,, x
y
z



“”,'html.parser') 对于汤中的a。选择('blockquote>a'): 打印(a.父级)
结果:

<blockquote>
<a name="1">a </a><br>
</br></blockquote>
<blockquote>
<a name="2">x </a><br>
<a name="3">y </a><br>
<a name="4">z </a><br>
</br></br></br></blockquote>

a

x
y
z



或者,您可以通过以下方法一次性完成:

其中,
tag.a
相当于
tag.find(“a”)

换句话说,这将查找所有具有子元素的
blockquote
元素

<blockquote>
<a name="1">a </a><br>
</br></blockquote>
<blockquote>
<a name="2">x </a><br>
<a name="3">y </a><br>
<a name="4">z </a><br>
</br></br></br></blockquote>
soup.find_all(lambda tag: tag.name == "blockquote" and tag.a)