From 731fdb4bde38ec89f6965f86efb2643d75ea0209 Mon Sep 17 00:00:00 2001 From: Wonder Date: Thu, 16 Oct 2025 22:08:45 +0800 Subject: [PATCH] =?UTF-8?q?Update:=20=E5=AE=9A=E4=BD=8D=E5=88=B0=E6=8C=81?= =?UTF-8?q?=E4=BB=93=E4=B8=8E=E5=87=80=E5=80=BC=E8=A1=A8=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hezhaohui/fund/Application.java | 2 + .../java/cn/hezhaohui/fund/util/SoupUtil.java | 29 +++++++++++++ .../cn/hezhaohui/fund/util/SoupUtilTest.java | 42 +++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 src/main/java/cn/hezhaohui/fund/util/SoupUtil.java create mode 100644 src/test/java/cn/hezhaohui/fund/util/SoupUtilTest.java diff --git a/src/main/java/cn/hezhaohui/fund/Application.java b/src/main/java/cn/hezhaohui/fund/Application.java index ba97078..51b8a90 100644 --- a/src/main/java/cn/hezhaohui/fund/Application.java +++ b/src/main/java/cn/hezhaohui/fund/Application.java @@ -1,7 +1,9 @@ package cn.hezhaohui.fund; import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); diff --git a/src/main/java/cn/hezhaohui/fund/util/SoupUtil.java b/src/main/java/cn/hezhaohui/fund/util/SoupUtil.java new file mode 100644 index 0000000..16a26b7 --- /dev/null +++ b/src/main/java/cn/hezhaohui/fund/util/SoupUtil.java @@ -0,0 +1,29 @@ +package cn.hezhaohui.fund.util; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; +import org.springframework.stereotype.Component; + +@Component +public class SoupUtil { + + public Elements parseContent(String content) { + Document document = Jsoup.parse(content); + Elements elements = document.getElementsByClass("ui-table-hover"); + return elements; +// Element firstTable = elements.first(); +// Element secondTable = elements.size() >= 3 ? elements.get(2) : null; +// + } + + public Element getHoldings(Elements elements) { + return !elements.isEmpty() ? elements.getFirst() : null; + } + + public Element getWorth(Elements elements) { + return elements.size() >= 3 ? elements.get(2) : null; + } + +} diff --git a/src/test/java/cn/hezhaohui/fund/util/SoupUtilTest.java b/src/test/java/cn/hezhaohui/fund/util/SoupUtilTest.java new file mode 100644 index 0000000..71bee71 --- /dev/null +++ b/src/test/java/cn/hezhaohui/fund/util/SoupUtilTest.java @@ -0,0 +1,42 @@ +package cn.hezhaohui.fund.util; + +import cn.hutool.core.lang.Assert; +import jakarta.annotation.Resource; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + + +@SpringBootTest +class SoupUtilTest { + @Resource + private SoupUtil soupUtil; + + @Test + void parseContent() { + Elements elements = soupUtil.parseContent(WebUtil.getContentByUrl(FundUtil.getUrlByFundId("001068"))); + System.out.println(elements); + Assert.notNull(elements); + } + + @Test + void getHoldings() { + Elements elements = soupUtil.parseContent(WebUtil.getContentByUrl(FundUtil.getUrlByFundId("001068"))); + Assert.notNull(elements); + + Element holdings = soupUtil.getHoldings(elements); + System.out.println(holdings); + Assert.notNull(holdings); + } + + @Test + void getWorth() { + Elements elements = soupUtil.parseContent(WebUtil.getContentByUrl(FundUtil.getUrlByFundId("001068"))); + Assert.notNull(elements); + + Element worth = soupUtil.getWorth(elements); + System.out.println(worth); + Assert.notNull(worth); + } +} \ No newline at end of file