繁体   English   中英

python:使用lxml xpath从更改span类中获取数据

[英]python: get data from changing span class using lxml xpath

我想从wsj网站提取“资产回报率”。 但是,我的代码不够强大,无法在不同条件下工作。 我可以使用以下代码提取代码“ SCGM”的数据,但对于“ AASIA”却失败,如<span class="marketDelta deltaType-negative">

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标签。 完整链接在这里

<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标签如下。 完整链接在这里

<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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM