栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用BeautifulSoup在两个指定标签之间获取所有文本?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用BeautifulSoup在两个指定标签之间获取所有文本?

我会避免使用nextSibling,因为从您的问题开始,您想要包括直到next的所有内容

<a>
,而不管它是在同级元素,父元素还是子元素中。

因此,我认为最好的方法是找到下一个

<a>
元素的节点,然后递归循环,直到出现为止,然后添加遇到的每个字符串。如果您的HTML与示例大不相同,则可能需要整理以下内容,但是这样的工作应该可以:

from bs4 import BeautifulSoup#by taking the `html` variable from the question.html = BeautifulSoup(html)firstBigTag = html.find_all('big')[0]nextATag = firstBigTag.find_next('a')def loopUntilA(text, firstElement):    text += firstElement.string    if (firstElement.next.next == nextATag):          return text    else:        #Using double next to skip the string nodes themselves        return loopUntilA(text, firstElement.next.next)targetString = loopUntilA('', firstBigTag)print targetString


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/641366.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号