Python 如何使用find_all in beautiful soup同时匹配不同的类和属性?

Python 如何使用find_all in beautiful soup同时匹配不同的类和属性?,python,beautifulsoup,attributes,tags,findall,Python,Beautifulsoup,Attributes,Tags,Findall,我想创建一个元素结果集,该结果集将包含符合2个条件的所有条目:一个类下的属性为“col1”,另一个类下的属性为“10.10”。(两个结果集的交集) 目前,我能够创建两个独立的结果集: result1 = soup.find_all("textline", {"type" : "col1"}) #gives 600 results result2 = soup.find_all("font", {"size" : "10.10"}) #gives 100 results 我想创建一个结果集,其中

我想创建一个元素结果集,该结果集将包含符合2个条件的所有条目:一个类下的属性为“col1”,另一个类下的属性为“10.10”。(两个结果集的交集)

目前,我能够创建两个独立的结果集:

result1 = soup.find_all("textline", {"type" : "col1"}) #gives 600 results
result2 = soup.find_all("font", {"size" : "10.10"}) #gives 100 results
我想创建一个结果集,其中只包含满足这两个条件的条目(相交)

我尝试将这两个属性放在一个列表中,但它只是将结果加在一起

result = soup.find_all(["textline", {"type" : "col1"}, "font", { "size" : "10.10"}]) #gives 700 results
我还尝试编写for循环,但它返回一个与result1长度相同的列表(而不是result1和result2的交集)

我更喜欢使用

从bs4导入美化组
html=“”XeAchKit ERLSIIRTNTG.1.地理实体”“”
soup=BeautifulSoup(html,“lxml”)
soup.select('textline[type=“Col1”]font[size=“10.10”]”)
输出:

[<font face="Times-Roman" size="10.10">1. Geographical entities </font>]
[1.地理实体]

您能分享一对您试图解析的标记元素的示例吗?XeAchKit ErlsiirtNTG。1.地理实体所以基本上我想解析第二个元素“1.Geographic entities”的文本,因为它是textline type=“col1”和font size=“10.10”,而不是第一个元素“XeAchKit erlsiirttg”,因为它是font size=“9.900”(尽管类型仍然是“col1”)
from bs4 import BeautifulSoup
html = """<textline bbox="81.600,450.647,178.692,460.547" type="col1"><font face="Times-Italic" size="9.900">XeAchKit-Erlsiiirtntg. </font></textline> <textline bbox="57.800,410.347,151.488,420.391" type="col1"><font face="Times-Roman" size="10.10">1. Geographical entities </font></textline> """
soup = BeautifulSoup(html, 'lxml')
soup.select('textline[type="Col1"] font[size="10.10"]')
[<font face="Times-Roman" size="10.10">1. Geographical entities </font>]