diff --git a/src/main/java/cn/stock/market/infrastructure/job/InvestingTask.java b/src/main/java/cn/stock/market/infrastructure/job/InvestingTask.java index 57af80e..5e0752d 100644 --- a/src/main/java/cn/stock/market/infrastructure/job/InvestingTask.java +++ b/src/main/java/cn/stock/market/infrastructure/job/InvestingTask.java @@ -25,6 +25,8 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; @Slf4j @Component @@ -119,7 +121,14 @@ public class InvestingTask { String contentUrl = n.substring(1, n.indexOf("class=\"img-smllnews\"") - 2); String id = contentUrl.substring(contentUrl.lastIndexOf("-") + 1, contentUrl.lastIndexOf("_")); String imgUrl = n.substring(n.indexOf("img loading=\"lazy\" src=") + 24, n.indexOf("?")); - String time = n.substring(n.indexOf("Last Updated") + 23, n.indexOf("IST") - 9); +// String time = n.substring(n.indexOf("Last Updated") + 23, n.indexOf("IST") - 9); + // Extract the date and time using regex + Pattern pattern = Pattern.compile("Updated On : (.*?)"); + Matcher matcher = pattern.matcher(n); + String time = ""; + if (matcher.find()) { + time = matcher.group(1).trim(); + } SiteNews siteNews = new SiteNews(); siteNews.setAddTime(new Date()); diff --git a/src/main/java/cn/stock/market/web/StockApiController.java b/src/main/java/cn/stock/market/web/StockApiController.java index 9764571..a65e504 100644 --- a/src/main/java/cn/stock/market/web/StockApiController.java +++ b/src/main/java/cn/stock/market/web/StockApiController.java @@ -3,6 +3,8 @@ package cn.stock.market.web; import java.io.IOException; import java.util.*; import java.util.concurrent.ExecutionException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; @@ -177,7 +179,13 @@ public class StockApiController { String contentUrl = n.substring(1, n.indexOf("class=\"img-smllnews\"") - 2); String id = contentUrl.substring(contentUrl.lastIndexOf("-") + 1, contentUrl.lastIndexOf("_")); String imgUrl = n.substring(n.indexOf("img loading=\"lazy\" src=") + 24, n.indexOf("?")); - String time = n.substring(n.indexOf("Updated On : ") + 36, n.indexOf("IST") - 9); + // Extract the date and time using regex + Pattern pattern = Pattern.compile("Updated On : (.*?)"); + Matcher matcher = pattern.matcher(n); + String time = ""; + if (matcher.find()) { + time = matcher.group(1).trim(); + } SiteNews siteNews = new SiteNews(); siteNews.setAddTime(new Date());