1 回答

TA贡献2012条经验 获得超12个赞
你可以从你想要的地方开始迭代并结束它,直到找到一些标记完成。
from bs4 import BeautifulSoup
html = """
<p class='x' id = '1'> some content 1 </p>
<p class='y' id = 'a'> some content a </p>
<p class='y' id = 'b'> some content b </p>
<p class='y' id = 'c'> some content c </p>
<p class='potentially some other class1'> potentially some other class 1 </p>
<p class='potentially some other class2'> potentially some other class 2</p>
<p class='potentially some other class3'> potentially some other class 3 </p>
<p class='x' id = '2'> some content 2 </p>
<p class='y' id = 'd'> some content d </p>
<p class='y' id = 'e'> some content e </p>
<p class='y' id = 'f'> some content f </p>
"""
soup = BeautifulSoup(html,"lxml")
start = soup.find("p",class_="y",id="c")
end = soup.find("p",class_="x",id="2")
def next_ele(ele,result=[]):
row = ele.find_next("p")
if not row or row == end:
return result
result.append(row)
return next_ele(row,result)
print(next_ele(start))
添加回答
举报