Python 3.x 从跨度标题中提取信息

Python 3.x 从跨度标题中提取信息,python-3.x,xpath,lxml,Python 3.x,Xpath,Lxml,我的html如下所示: <h3>Current Guide Price <span title="92"> 92 </span></h3> 现行指导价92 我想得到的信息是92 这里是另一个html页面,我需要在其中获取相同的数据: <h3>Current Guide Price <span title="4,161"> 4,161 </span></h3>

我的html如下所示:

    <h3>Current Guide Price <span title="92">   92
    </span></h3>
现行指导价92
我想得到的信息是92

这里是另一个html页面,我需要在其中获取相同的数据:

    <h3>Current Guide Price <span title="4,161">    4,161
    </span></h3>
当前指导价4161
我需要从这个页面获取4161

以下是该页面的链接供参考:

我所尝试的:

/h3/span[@title=“92”]@title

/h3/span[@title=“92”]/text()

/div[@class=“stats”]/h3/span[@title=“4161”]@title

由于我需要的信息是在实际的span标记中,所以很难以动态方式获取数据,以便我可以用于许多不同的页面

from lxml import html
import requests


baseUrl = 'http://services.runescape.com/m=itemdb_oldschool/viewitem?obj=2355'
page = requests.get(baseUrl)

tree = html.fromstring(page.content)
price = tree.xpath('//h3/span')
price2 = tree.xpath('//h3/span/@title')
for p in price:
    print(p.text.strip())
for p2 in price2:
    print(p2)

在这两种情况下,输出都是
92

span
标记中
title
属性的值始终与
标记的文本值相同吗?@JackFleeting Yes。因此,如果您知道在xpath表达式中使用哪个属性值,那么您也知道
标记中的文本;那么到底是什么问题呢?@JackFleeting这些我都不知道。我所知道的唯一一件事是,它总是以文本“当前指导价”作为前缀。我发现这两个词都有无效的表达式错误。这里是一个代码共享@Purin-我忘了lxml不支持
规范化-text()
;见编辑后的答案。