我正在使用bs4。
在HTML的汤中说:
<li><strong>some text</strong></li>
我想做一个会找到它的find_all
。当然find_all('li')
有效,但必须有一种方法来指定查找父子组合。
答案 0 :(得分:7)
我认为CSS selectors
就是你要问的问题:
soup.select('li > strong')
这会找到所有strong
代码,这些代码都是li
代码的直接子代。
演示:
>>> from bs4 import BeautifulSoup
>>> data = "<li><strong>some text</strong></li>"
>>> soup = BeautifulSoup(data)
>>> soup.select('li > strong')
[<strong>some text</strong>]
答案 1 :(得分:1)
这是另一种选择。
>>> from bs4 import BeautifulSoup
>>> data = "<li><strong>some text</strong></li>"
>>> soup = BeautifulSoup(data)
>>> soup.find('li')
<li><strong>some text</strong></li>
>>> soup.find('li').find('strong')
<strong>some text</strong>
>>> soup.find('li').find('strong').text
u'some text'
>>>