元素共享类名并动态移动Python/BS4
几个元素具有相同的类名。我遇到的问题是,当他们每隔一页更改一次位置时,就要抓住正确的一页 有时它是第一个,以及介于两者之间的一切 有没有办法将文本元素共享类名并动态移动Python/BS4,python,python-3.x,beautifulsoup,Python,Python 3.x,Beautifulsoup,几个元素具有相同的类名。我遇到的问题是,当他们每隔一页更改一次位置时,就要抓住正确的一页 有时它是第一个,以及介于两者之间的一切 有没有办法将文本“CEO”作为参考来获取下一个span文本 我只需要名字 当它在正确的位置时,它就起作用了 title = find_all("//span[@class='KeyDetail'and text()='CEO']")[3] name = title.find_all('span')[1].text <div class="DetailsLi
“CEO”
作为参考来获取下一个span文本
我只需要名字
当它在正确的位置时,它就起作用了
title = find_all("//span[@class='KeyDetail'and text()='CEO']")[3]
name = title.find_all('span')[1].text
<div class="DetailsList">
<div class="KeyDetail">...</div>
<div class="KeyDetail">...</div>
<div class="KeyDetail">...</div>
<div class="KeyDetail">...</div>
<div class="KeyDetail">...</div>
<div class="KeyDetail">...</div>
<span class="header">CEO</span>
<span class="text">Joe Smith</span>
</div>
title=find_all(//span[@class='keydeail'和text()='CEO'])[3]
name=title.find_all('span')[1]。文本
...
...
...
...
...
...
首席执行官
乔-史密斯
使用find(text='CEO'),然后使用nextSibling查找元素,尝试以下操作
很好用!非常感谢!
from bs4 import BeautifulSoup
html = '<div class="DetailsList">' \
'<div class="KeyDetail">...</div>' \
'<div class="KeyDetail">...</div> ' \
'<div class="KeyDetail">...</div> ' \
'<div class="KeyDetail">...</div>' \
'<div class="KeyDetail">...</div>' \
'<div class="KeyDetail">...</div>' \
'<span class="header">Hello</span>' \
'<span class="text">Joe Smith</span></div> ' \
'<div class="DetailsList">' \
'<div class="KeyDetail">...</div>' \
'<div class="KeyDetail">...</div> ' \
'<div class="KeyDetail">...</div> ' \
'<div class="KeyDetail">...</div>' \
'<div class="KeyDetail">...</div>' \
'<div class="KeyDetail">...</div>' \
'<span class="header">CEO</span>' \
'<span class="text">Ryan Evans</span></div> '
soup = BeautifulSoup(html, features="lxml")
for span in soup.find_all('span'):
if span.find(text='CEO'):
ceo_name = span.nextSibling
print(ceo_name.text)
Ryan Evans