多重选择 Beautiful Soup

2 投票
1 回答
2713 浏览
提问于 2025-04-18 02:07

我有一个叫做summary的类,这个类里面有很多不同的标签,比如'p'、'h2'、'img'、'li'等等。

我想根据这些标签进行搜索。可是我试过用select和find_all,结果都没有成功。

用select的时候,我写了:data = soup.select('summary p'),但是我不能一次性包含多个标签,比如'h2'。

用find_all的时候,我写了:data = soup.find_all(['p', 'h2']),这样我可以传一个列表,它会找到所有的标签,但我不知道怎么把搜索范围限制在summary这个类里面。

我该怎么做呢?

提前谢谢你!

1 个回答

2

你用 find_all() 的方法是对的。你只需要把类作为一个属性传给 find_all() 就可以了。像这样:

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

具体的说明可以在 这里 找到。

撰写回答