如何将我的 html 解析数据保存为 CSV 文件?

问题描述

我已经进行了所有必要的导入 (Jsoup Elements and Element),并且代码运行良好。我是初学者,无法将文件正确导出为 CSV。数据保持在同一行或同一列。

Document document = Jsoup.connect("https://www.investing.com/markets/united-states").get();
Elements tables = document.select("tr");
                            
tables.stream().forEach(e ->

                {
                    String values = e.text();                               
                    String csValues = String.join(",",values);
                    System.out.println(csValues);               
                    
                });
                    }
}

寻求帮助。谢谢。

解决方法

由于我不知道您在抓取完成后得到的确切结构,所以我无法推荐具体的代码段,但我可以推荐一个我取得很大成功的库。那是 OpenCSV 库:

    <dependency>
      <groupId>com.opencsv</groupId>
      <artifactId>opencsv</artifactId>
      <version>5.3</version>
    </dependency>

有一篇优秀的 Baeldung 文章展示了如何在某些场景中使用它:Baeldung: Introduction to OpenCSV 它对我帮助很大,我发现它比 apache-commons-csv 容易得多。 也许它对你也有帮助。