2014-04-09 333 views
1

我有一个类命名的总结,它包含了很多像“P”,“H2”,“IMG”,“礼”等型动物标签...多选美丽的汤

我想要做什么是使用该标准的搜索。我试过用select和find_all没有运气。

选择:data = soup.select('summary p')但我不能有一个以上的标签同时如:H2

Find_all:data = soup.find_all(['p', 'h2'])这里我可以通过一个列表,它会找出所有标签,但我不知道如何缩小搜索范围到summary

我该怎么办?

预先感谢您!

回答

1

您的方法与find_all()是正确的。您只需将该类作为属性传递给find_all()即可。就像这样:

data = soup.find_all(['p', 'h2'], attrs={'class':'summary'}) 

据记载here

+0

使用'soup.find_all(ATTRS = { '类': '文章,总结'})'它的工作原理,但如果我添加标签'p'和'h2'它不会返回任何东西...问题是,在'summary'里面有更多的类像分享我不想要的东西,所有这些数据都是由'a'标记跟随的。 –

+0

现在我正在这样做:'data = soup.find_all(attrs = {'class':'article-summary'})'then'for ps in data:p = ps.find_all(['p','h2 ','img'],递归= False)print p'。但它是像'h3','li'等获得该类内的所有标签... –

+0

链接您的html源代码和预期输出,所以我们可以帮助更好 – shaktimaan