在美丽的汤中组合单独的标签以寻找方法

时间:2015-09-24 20:34:53

标签: beautifulsoup

我根据某些标准在Beautiful Soup中选择了一些html标签。我希望能够对这些标签进行进一步的查询(例如find()或find_all()),但是我还没有找到允许这样做的方法,因为它们都是独立的实体。

2 个答案:

答案 0 :(得分:1)

我会从头开始组合标签。通过使用将列表传递给find_all()方法的能力将初始查询合并为一个,然后搜索该结果。下面是一个示例,它将返回表格单元格,表格标题或div中的所有链接:

soup.find_all(["td","th","div"]).find_all("a") 

链接到有关列表的文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc/#a-list

如果您的初始查询很复杂,可以将其捆绑在一个函数中:http://www.crummy.com/software/BeautifulSoup/bs4/doc/#a-function

答案 1 :(得分:0)

而不是将所有内容组合在一起,我宁愿将它们分开。例如,我首先使用find_all()将它们捕获到列表中,然后使用find()缩小搜索范围。

container = soup.find_all("tag",{"tag class":"tag class name"})
what_i_want = container.find("another tag")

希望这会有所帮助