From 2446d89b30ce9838d15a0a5bb2291b18009a59dc Mon Sep 17 00:00:00 2001 From: Weng JinPeng Date: Thu, 20 Jun 2024 16:33:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=B6=E9=97=B4=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=94=99=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../market/infrastructure/job/InvestingTask.java | 11 ++++++++++- .../java/cn/stock/market/web/StockApiController.java | 10 +++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) 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 1eeaa04..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("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());