我有一个html文件,有几个div,没有类名或id名:
<div><span>Item 1</span></div>
<div>some content</div>
<div><table><tbody>table content</tbody></table></div>
<div><span>Item 2</span></div>
<div>some content</div>
<div><table><tbody>table content</tbody></table></div>
<div><span>Item 3</span></div>
<div>some content</div>
<div><table><tbody>table content</tbody></table></div>
<div><span>Item 4</span></div>
<div>some content</div>
<div><table><tbody>table content</tbody></table></div>
目标:
我只想在项目3之后提取表格的内容,并进行常规搜索,以获取特定项目编号之后的任何表格。请注意,物品的数量可能会有所不同
已尝试:
我尝试了以下代码:
if soup.find('span') == 'Item 3. Selected Financial Data':
table_tag = soup.find('tbody')
但它仍然从顶部返回第一个表
我也试过看.next_兄弟姐妹和.next_元素,但没有更好的方法来实现这一点吗?
https://www.crummy.com/software/BeautifulSoup/bs4/doc/#going-sideways
这里有一个类似的问题:get text after specific tag with beautiful soup,但它不涉及div中的表
请帮忙
只需使用
find_all_next
:我的完整代码:
输出:
相关问题 更多 >
编程相关推荐