我只想从汤中最上面的元素中提取文本;但是汤.text也会给出所有子元素的文本:
我有
import BeautifulSoup
soup=BeautifulSoup.BeautifulSoup('<html>yes<b>no</b></html>')
print soup.text
输出为yesno
。我只想“是”。
实现此目标的最佳方法是什么?
编辑 :我也想yes
在解析’ <html><b>no</b>yes</html>
‘时输出。
那又如何.find(text=True)
呢?
>>> BeautifulSoup.BeautifulSOAP('<html>yes<b>no</b></html>').find(text=True)
u'yes'
>>> BeautifulSoup.BeautifulSOAP('<html><b>no</b>yes</html>').find(text=True)
u'no'
编辑:
我想我已经了解了你现在想要的。尝试这个:
>>> BeautifulSoup.BeautifulSOAP('<html><b>no</b>yes</html>').html.find(text=True, recursive=False)
u'yes'
>>> BeautifulSoup.BeautifulSOAP('<html>yes<b>no</b></html>').html.find(text=True, recursive=False)
u'yes'
我正在尝试使用以下结构单击element: 但是,这将抛出。 我当前正在使用:刮取(父)元素列表。这标识了正确的元素列表(按预期工作)。有了列表后,我应用以下函数: 使用: 而且 但是,这将触发。 我对此进行了几个小时的研究,基于几个帖子,我添加了“。”在两个斜杠之前,这表示相对于父级(而不是相对于整个DOM)。 如果我移除这个点,我总是得到页面上的第一个元素--而不是列表中每个父元素的子元素。
问题内容: 使用Python中的ElementTree,如何从节点中提取所有文本,剥离该元素中的所有标签并仅保留文本? 例如,说我有以下内容: 我想回来。我该怎么做呢?到目前为止,我所采用的方法产生了相当灾难性的结果。 问题答案: 如果您在Python 3.2+下运行,则可以使用。 创建一个文本迭代器,该迭代器按文档顺序循环遍历此元素和所有子元素,并返回所有内部文本: 如果您在较低版本的Pytho
我正在浏览一个包含几个元素的网页,我想在不包含其子元素的情况下获取其中的文本。 页面结构如下: 当我使用时,得到的结果是: 我正在使用BeautifulSoup4和Python3
我想从Chrome的模态中得到一条短信。使用控制台,我可以获得如下内部文本: 现在,在我的测试中,我可以使用 我甚至可以点击那个网址 例如,我不能将内部文本放入变量。我试着使用这篇文章中的ClientFunction 并尝试使用本文建议的普通选择器 如何从元素中提取文本?我知道在这种情况下是有限的,对吗?
如何获取属性中具有特定文本的跨度?我正在尝试提取文本“星星”后面的数字。那么我怎么能选择一个包含文本“rating_sprite星”的 span 标签,并且我希望从属性中提取值“star5”,以便我可以从文本中获取 5。 目前我没有收到任何元素! HTML代码段如下所示
问题内容: 是否可以仅从父元素而不是Selenium中的子元素获取文本? 示例:假设我有以下代码: 用C#(或任何语言),我将有: 但是,链接文本将带有“ Google Link此链接会将您带到Google主页”。 如果不进行大量的字符串操作(例如获取所有子项的文本并从父项的结果文本中减去该文本),是否有办法从父项元素中仅获取文本? 问题答案: 这是一个常见的问题,因为您无法直接访问文本节点- 换