Я хочу извлечь «Return On Assets» с веб-сайтов wsj. Однако мой код недостаточно прочен, чтобы работать в разных условиях. я в состоянии, чтобы извлечь данные для бегущей строки «SCGM», используя код, приведенный ниже, но не могут for'AASIA»как <span class="marketDelta deltaType-negative">
python: получить данные об изменении класса span с помощью lxml xpath
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>
Как иметь код, который работает для обоих условий или указать прямо на «Рентабельность активов»?