python:使用lxml xpath从更改span类中获取数据
问题描述:
我想从wsj网站中提取'Return On Assets'。但是,我的代码不够健壮,无法在不同的条件下工作。 我能提取数据,使用下面的代码股票“SCGM”,但未能for'AASIA”作为<span class="marketDelta deltaType-negative">
python:使用lxml xpath从更改span类中获取数据
from lxml import html
import requests
StockData =['SCGM','AASIA']
page_wsj1 = requests.get('http://quotes.wsj.com/MY/'+StockData[x]+'/financials')
wsj1 = html.fromstring(page_wsj1.content)
wsj_fig = wsj1.xpath('//span[@class="marketDelta noChange"]/text()')
ROA = wsj_fig[25]
为SCGM但AASIA没有什么问题,这并不像跨度类变更工作。 对于SCGM,html标签如下。完整链接here
<tr> <td> <span class="data_lbl">Return on Assets</span> <span class="data_data"> <span class="marketDelta noChange">18.26</span> </span> </td> </tr>
对于AASIA,html标记如下。全链路here
<tr> <td> <span class="data_lbl">Return on Assets</span> <span class="data_data"> <span class="marketDelta deltaType-negative">-1.36</span> </span> </td> </tr>
如何有两个条件下工作或笔直指向为“资产回报”的代码?
答
//td[normalize-space(span) = "Return on Assets"]/span[@class = "data_data"]/span