diff --git a/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java b/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java
index e4ba798..dec0321 100644
--- a/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java
+++ b/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java
@@ -92,6 +92,47 @@ public class MoneyScraper {
}
+ @GetMapping("testScraperGetMoneyControlStockNoScId")
+ public String testScraperGetMoneyControlStockNoScId() {
+ String url = "http://www.moneycontrol.com/india/stockpricequote/foodprocessing/nestleindia/NI";
+ /* Document soup2 = fetchCompanyDetails(url);
+
+ if (soup2 != null) {
+ Element comIdInput = soup2.selectFirst("input[id=ap_sc_id]");
+ String companyCodeId = null;
+ if (comIdInput != null) {
+ companyCodeId = comIdInput.val();
+ log.info(Thread.currentThread().getName() + ",the stock url: " + url + ", THE input id: " + companyCodeId);
+ } else {
+ log.error(Thread.currentThread().getName() + " No with id='ap_sc_id' found on the website.");
+ }
+
+ if (soup2 != null) {
+ Element ulElement = soup2.selectFirst("ul[id=nseBseTab]");
+
+ if (ulElement != null) {
+ for (Element aElement : ulElement.select("a")) {
+ String exchangeValue = aElement.text().trim();
+ if ("BSE".equals(exchangeValue) || "NSE".equals(exchangeValue)) {
+ log.info(Thread.currentThread().getName() + ",the stock url: " + url +
+ ", the exchange Value: " + exchangeValue);
+ MoneyStock build = MoneyStock.builder().stockName("sss").stockType(exchangeValue.toLowerCase(Locale.ROOT))
+ .detailUrl(String.format("https://priceapi.moneycontrol.com/pricefeed/%s/equitycash/%s", exchangeValue.toLowerCase(), companyCodeId))
+ .selfUrl(url)
+ .selfDispId(extractDispId(url))
+ .moneyScId(companyCodeId).saveTime(new Date()).build();
+ List all = moneyStockRepository.findAll(QMoneyStockPO.moneyStockPO.stockName.eq("Nestle"), QMoneyStockPO.moneyStockPO.stockType.eq(exchangeValue.toLowerCase(Locale.ROOT)));
+ if (CollectionUtil.isEmpty(all)) {
+ moneyStockRepository.save(build);
+ }
+ }
+ }
+ }
+ }
+ }*/
+ return "ok";
+ }
+
/**
* 带有A B 分组的url
@@ -132,8 +173,7 @@ public class MoneyScraper {
break; // 如果成功则跳出循环
} catch (IOException | RuntimeException e) {
// 处理异常的逻辑
- e.printStackTrace();
- log.error("Attempt " + attempt + " failed. Retrying...");
+ log.error("Attempt " + attempt + " failed. Retrying...",e);
attempt++;
try {
Thread.sleep(1000); // 休眠1秒
@@ -207,7 +247,7 @@ public class MoneyScraper {
if (soup2 != null) {
Element comIdInput = soup2.selectFirst("input[id=ap_sc_id]");
- String companyCodeId = "";
+ String companyCodeId = null;
if (comIdInput != null) {
companyCodeId = comIdInput.val();
log.info(Thread.currentThread().getName()+",the stockName: " + textContent + ", THE input id: " + companyCodeId);