2016-11-07 48 views
0

我想使用beautifulsoup从网站解析表。 (我无法分享网站源代码,因为它是限制使用。)BeautifulSoup与多个标记,每个标记与特定的类

我想提取数据只有当它具有以下两个标签与这些特定的类。

td, width=40% 
tr, valign=top 

我这样做的理由是提取具有这些标签和类的数据。

我发现了一些关于使用多个标签的讨论here,但是这个讨论的只是标签而不是类。不过,我曾尝试使用列表相同的逻辑扩展的代码,但我想我得到的是不是我想要的:

my_soup=soup.find_all(['td',{"width":"40%"},'tr',{'valign':'top'}]) 

汇总,我查询是如何使用多个标签,每个具有特定类在find_all中,这样结果'和'都是标签。

回答

0

假设bsObj是你美丽的汤对象 尝试:

tr = bsObj.findAll('tr', {'valign': 'top'}) 
td = tr.findAll('td', {'width': '40%'}) 

希望这有助于。

+0

我不认为它的作品,但可能是我失去了一些东西。第一行的输出是ResultSet,当您尝试在第二行的ResultSet上执行find_all时,它会引发错误,指出ResultSet没有find_all方法。我正在使用bs4 – PagMax