java - 使用 Jsoup 检索未知值

标签 java jsoup

我正在尝试从雅虎财经获取“经营 Activity 产生的总现金流量”数据。变量“s”可以是 SP500 中的任何符号。大多数情况下,会出现所需的输出。然而,在某些情况下,比如 AAPL,我无法弄清楚它打印的是什么或它来自哪里。

如果“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();
    }
}  

}

最佳答案

你有溢出!表中的值为 59,713,000。当您将其乘以 1000 时 - line2 = Integer.parseInt(line)*1000; 您会得到一个大于 MAXINT 的数字,因此是负值。尝试使用 long 而不是 int 来表示 line2

关于java - 使用 Jsoup 检索未知值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31094649/

相关文章:

java - 已准备语句中的最新字符串

java - 如何使用Jsoup提取图像的src

java - jsoup 代码可以在 Java 中运行,但不能在 Android 中运行 - NullpointerException

java - 类型不匹配 : cannot convert from double to integer in eclipse

java - 用数组查找素数

java - 创建java段代码

java - MyBatis注解,从bean更新参数

java - 如何使用 jSoup 从 Yelp 检索信息?

java - 如何在类名中提取带有特定单词的 HTML 标签?

java - jsoup select() 方法未找到