Я пытаюсь вытащить цифру «Общий денежный поток от операционной деятельности» от Yahoo Finance. Переменной «s» может быть любой символ в SP500. По большей части происходит нужный выход. Однако в некоторых случаях, как и для AAPL, я не могу понять, что он печатает или откуда он пришел.Извлечение неизвестного значения с помощью Jsoup
Если «s» - A, выход 711000000. Исправить.
Если «s» - это AA, выход 1674000000. Исправить.
Однако, если «s» - AAPL, выход - -416542144. Не знаю, откуда это взялось.
public class CashFlowStatement {
String cashFromOperatingActivities = "Total Cash Flow From Operating Activities";
public CashFlowStatement(String s) {
String cashFlowStatementURL = ("https://finance.yahoo.com/q/cf?s="+s+"+Cash+Flow&annual");
String cashFlowStatementTableName = "table.yfnc_tabledata1";
boolean foundLine = false;
String line;
int line2;
try {
Document doc = Jsoup.connect(cashFlowStatementURL).get();
for (Element table : doc.select(cashFlowStatementTableName)) {
for (Element row : table.select("tr")) {
if(foundLine == false) {
Elements tds = row.select("td");
for(int j = 0; j < tds.size() - 1; j++) {
if(tds.get(j).text().equals(cashFromOperatingActivities)) {
line = tds.get(j+1).text().replaceAll(",","");
line = line.substring(0,(line.length())-2);
line2 = Integer.parseInt(line)*1000;
System.out.println(line2);
foundLine = true;
}
}
}
}
}
}
catch (IOException ex) {
ex.printStackTrace();
}
catch (NumberFormatException ex) {
ex.printStackTrace();
}
}
}