From 146e9d9bc0a4ebf5e2f2ac08114587b92f302d91 Mon Sep 17 00:00:00 2001 From: gs Date: Thu, 20 Jun 2024 14:47:04 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=96=B0=E9=97=BB=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stock/market/domain/basic/service/StockService.java | 8 +++++++- src/main/java/cn/stock/market/web/StockApiController.java | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/cn/stock/market/domain/basic/service/StockService.java b/src/main/java/cn/stock/market/domain/basic/service/StockService.java index 818b724..3b73f96 100644 --- a/src/main/java/cn/stock/market/domain/basic/service/StockService.java +++ b/src/main/java/cn/stock/market/domain/basic/service/StockService.java @@ -265,7 +265,13 @@ public class StockService { .header("Referer", "https://www.business-standard.com/") .header("Accept-Language", "en-US,en;q=0.9") .get(); - result = doc.html().substring(doc.html().indexOf("
"),doc.html().lastIndexOf("
")+500); + // result = doc.html().substring(doc.html().indexOf("
"),doc.html().lastIndexOf("
")+500); + Elements divElements = doc.select("div.listingstyle_cardlistlist__Cr4Ym"); + StringBuilder sb = new StringBuilder(); + for (Element divElement : divElements) { + sb.append(divElement.outerHtml()).append("\n"); + } + result = sb.toString(); } catch (Exception e) { return e.toString(); } diff --git a/src/main/java/cn/stock/market/web/StockApiController.java b/src/main/java/cn/stock/market/web/StockApiController.java index 853256c..2ee8543 100644 --- a/src/main/java/cn/stock/market/web/StockApiController.java +++ b/src/main/java/cn/stock/market/web/StockApiController.java @@ -169,7 +169,7 @@ public class StockApiController { @RequestMapping({"test.do"}) @ResponseBody - public ServerResponse test(@RequestParam("url") String url, @RequestParam("pageNum") Integer pageNum) { + public ServerResponse test(/*@RequestParam("url") String url, @RequestParam("pageNum") Integer pageNum*/) { String news = stockService.getNews(); List newsList = Arrays.asList(news.split(" (.*?)"); + 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()); From f50b6b55198465c50b97d2e38027ea2a10e2bac6 Mon Sep 17 00:00:00 2001 From: gs Date: Thu, 20 Jun 2024 16:54:56 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=96=B0=E9=97=BB=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/cn/stock/market/web/StockApiController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/cn/stock/market/web/StockApiController.java b/src/main/java/cn/stock/market/web/StockApiController.java index 1eeaa04..9764571 100644 --- a/src/main/java/cn/stock/market/web/StockApiController.java +++ b/src/main/java/cn/stock/market/web/StockApiController.java @@ -177,7 +177,7 @@ 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); + String time = n.substring(n.indexOf("Updated On : ") + 36, n.indexOf("IST") - 9); SiteNews siteNews = new SiteNews(); siteNews.setAddTime(new Date()); From d491bef7359858b9056ae8679b9eab2699b8aa1e Mon Sep 17 00:00:00 2001 From: gs Date: Tue, 25 Jun 2024 17:45:15 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=96=B0=E9=97=BB=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/stock/market/web/BTodayStockController.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/cn/stock/market/web/BTodayStockController.java b/src/main/java/cn/stock/market/web/BTodayStockController.java index 1692773..34066cb 100644 --- a/src/main/java/cn/stock/market/web/BTodayStockController.java +++ b/src/main/java/cn/stock/market/web/BTodayStockController.java @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import java.math.BigDecimal; +import java.text.DecimalFormat; import java.util.List; import java.util.Map; @@ -159,6 +160,17 @@ public class BTodayStockController { String forObject = restTemplate.getForObject(apiUrl, String.class); JSONObject jsonObject = JSON.parseObject(forObject); + String price = jsonObject.getString("price"); + if (price != null) { + try { + double priceValue = Double.parseDouble(price); + DecimalFormat df = new DecimalFormat("0.00"); + jsonObject.put("price", df.format(priceValue)); + } catch (NumberFormatException e) { + // Handle the case where price is not a valid double + e.printStackTrace(); + } + } jsonObject.put("id",btodayStock.getId()); return jsonObject; } From 2f8657157856112823af96683d7069dddca9e730 Mon Sep 17 00:00:00 2001 From: gs Date: Tue, 25 Jun 2024 18:00:21 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/stock/market/web/BTodayStockController.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/cn/stock/market/web/BTodayStockController.java b/src/main/java/cn/stock/market/web/BTodayStockController.java index 34066cb..457a391 100644 --- a/src/main/java/cn/stock/market/web/BTodayStockController.java +++ b/src/main/java/cn/stock/market/web/BTodayStockController.java @@ -160,12 +160,14 @@ public class BTodayStockController { String forObject = restTemplate.getForObject(apiUrl, String.class); JSONObject jsonObject = JSON.parseObject(forObject); - String price = jsonObject.getString("price"); - if (price != null) { + JSONArray arryData = jsonObject.getJSONArray("data"); + if (arryData != null&&arryData.size()>0) { try { + JSONObject jsonObject1 = arryData.getJSONObject(0); + String price = jsonObject1.getString("price"); double priceValue = Double.parseDouble(price); DecimalFormat df = new DecimalFormat("0.00"); - jsonObject.put("price", df.format(priceValue)); + jsonObject1.put("price", df.format(priceValue)); } catch (NumberFormatException e) { // Handle the case where price is not a valid double e.printStackTrace();