python - Python - 使用 BS4 从此 Html 标记中提取数据,而不是获取无
问题描述
这是我的代码:
html = '''
<td class="ClassName class" width="60%">Data I want to extract<span lang=EN-
UK style="font-size:12pt;font-family:'arial'"></span></td>
'''
soup = BeautifulSoup(html, 'html.parser')
print(soup.select_one('td').string)
它返回无。我认为这与空的 span 标签有关。我认为它进入那个跨度标签,并返回那些内容?所以我要么想删除那个跨度标签,要么在它找到“我要提取的数据”后立即停止,或者告诉它忽略空标签
如果 'td' 中没有空标签,它实际上可以工作。
有没有一种方法可以忽略一般的空标签并退后一步?而不是忽略这个特定的跨度标签?
对不起,如果这太简单了,但我花了很多时间搜索。
解决方案
使用.text
属性,而不是.string
:
html = '''
<td class="ClassName class" width="60%">Data I want to extract<span lang=EN-
UK style="font-size:12pt;font-family:'arial'"></span></td>
'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
print(soup.select_one('td').text)
输出:
我要提取的数据
推荐阅读
- php - do_shortcode:引号之间带有变量的打开和关闭标记
- c# - CS50542 和 CS0103 adter 使用代码转换器将包含 wpf 控件的 vb 项目转换为 c#
- mysql - MYSQL 在过去 10 分钟内删除每个 id、标题的重复行
- python - NameError: name 'spark' is not defined,如何解决?
- javascript - MERN 无法部署到 heroku
- kotlin - Kotlin ConflatedBroadcastChannel.offer() 不起作用?
- python - 出现问题时继续扫描另一个站点
- python-3.x - Bert 预训练模型每次给出随机输出
- javascript - 我想在滚动时显示 div 获取 TypeError: $ is not a function?
- javascript - Greasemonkey:如何删除随机 url 部分?