Update: 定位到持仓与净值表格

This commit is contained in:
2025-10-16 22:08:45 +08:00
parent 733ea32b5d
commit 731fdb4bde
3 changed files with 73 additions and 0 deletions
@@ -1,7 +1,9 @@
package cn.hezhaohui.fund; package cn.hezhaohui.fund;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application { public class Application {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(Application.class, args); SpringApplication.run(Application.class, args);
@@ -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;
}
}
@@ -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);
}
}