关于python beautifulsoup库里string属性的问题
请教鱼油们,我先是用bs4把我获得的html煲了一碗汤soup
然后把soup里面的一个子标签 tr 的所有子标签td装入到一个列表tds
tds = soup.tr('td')
其中tds打印如下:
<td data-v-68e330ae="">
52.0
</td>
输入tds.string 打印:
'\n 52.0\n'
而列表里的tds打印如下:
<td data-v-68e330ae="">
上海
<!-- --></td>
可当我想使用 tds.string获得td标签里的文本时却返回None
为什么呢鱼油们,我真搞不明白啊呜呜呜{:10_266:}
本帖最后由 suchocolate 于 2021-9-1 07:37 编辑
据说节点有子节点时string有时拿不到文本,你换text试试。from bs4 import BeautifulSoup as bs
s = """<td data-v-68e330ae="">
上海
<!-- --></td>"""
soup = bs(s, 'lxml')
print(soup.td.text)
#print(soup.td.get_text()) 6666 {:10_256:} suchocolate 发表于 2021-9-1 07:28
据说节点有子节点时string有时拿不到文本,你换text试试。
是的,找了一天终于发现了{:10_257:}
O:如果 tag 只有一个 NavigableString 类型子节点,那么这个 tag 可以使用 .string 得到子节点。
O:如果一个 tag 仅有一个子节点,那么这个 tag 也可以使用 .string 方法,输出结果与当前唯一子节点的 .string 结果相同。
O:如果 tag 包含了多个子节点,tag 就无法确定 .string 方法应该调用哪个子节点的内容, .string 的输出结果是 None。
原文地址:https://www.cnblogs.com/gl1573/p/9958716.html
{:10_279:} 看来中奖概率还是低了,三个兄弟居然都没有{:10_250:} 楼主千金散尽还复来 挣鱼币做作业 {:5_95:} 11111 {:10_256:} {:10_256:} 最佳答案很强 {:10_250:} 支持楼主 支持支持
页:
[1]