我目前能够使用findAll
功能查找某些元素。有没有办法导航他们的孩子?
我的代码是:
data = soup.findAll(id="profile-experience")
print data[0].get_text()
它返回一个文本块(例如,某些文本没有正确间隔开)
DOM看起来像这样
<div id="profile-experience>
<div class="module-body>
<li class="position">
<li class="position">
<li class="position">
如果我在findAll
上做class="position
,我就会得到太多废话。有没有办法使用BeautifulSoup找到嵌套在<li class="position">
<div id="profile-experience">
元素
我想做这样的事情:
data = soup.findAll('li',attrs={'class':'position'})
(我只获取嵌套数据)
d in data:
print d.get_text()
答案 0 :(得分:2)
当然,您可以“链接”find*
来电:
profile_experience = soup.find(id="profile-experience")
for li in profile_experience.find_all("li", class_="position"):
print(li.get_text())
或者,您可以使用CSS selector:
一次解决此问题for li in soup.select("#profile-experience li.position"):
print(li.get_text())