From f852676c8368c5e26e2f63c6370878b1b2489f25 Mon Sep 17 00:00:00 2001 From: xuelijun <977662702@qq.com> Date: Sat, 31 Jan 2026 17:44:04 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=85=A5=E5=A4=B1=E8=B4=A5=E7=A6=81?= =?UTF-8?q?=E6=AD=A2=E7=99=BB=E5=85=A52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bocai.db | Bin 487424 -> 122880 bytes .../repository/LotteryResultRepository.java | 4 + .../tem/bocai/schedules/CrawlerSchedule.java | 60 ++++- .../com/tem/bocai/util/HttpClientExample.java | 232 ++++++++++++++++++ src/main/resources/application.properties | 2 +- 5 files changed, 287 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/tem/bocai/util/HttpClientExample.java diff --git a/bocai.db b/bocai.db index 2dccf35cf3c08c9b7a56cc88b3ed7b1bb180f5ab..046189b100d48597e41cc5e675addde5065aa032 100644 GIT binary patch delta 9967 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 N{Ux4P8F8quBpX=l}KfU!R@-_jBh8?Ek;DyrS>n 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

cr$3Mi(7KP{k`3|NgPxb*{Eh6BCe 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 K1Vy&>^#2>;4})z0 diff --git a/src/main/java/com/tem/bocai/repository/LotteryResultRepository.java b/src/main/java/com/tem/bocai/repository/LotteryResultRepository.java index 3a81a4e..304ca9d 100644 --- a/src/main/java/com/tem/bocai/repository/LotteryResultRepository.java +++ b/src/main/java/com/tem/bocai/repository/LotteryResultRepository.java @@ -5,9 +5,13 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Optional; @Repository public interface LotteryResultRepository extends JpaRepository { // 根据时间查询(使用like匹配日期部分) List findByTimeContaining(String date); + + // 查询最新的记录(按time降序取第一条) + Optional findTopByOrderByTimeDesc(); } \ No newline at end of file diff --git a/src/main/java/com/tem/bocai/schedules/CrawlerSchedule.java b/src/main/java/com/tem/bocai/schedules/CrawlerSchedule.java index 9b6fcfe..1e0e79c 100644 --- a/src/main/java/com/tem/bocai/schedules/CrawlerSchedule.java +++ b/src/main/java/com/tem/bocai/schedules/CrawlerSchedule.java @@ -1,7 +1,9 @@ package com.tem.bocai.schedules; import com.tem.bocai.entity.LoginInfoResult; +import com.tem.bocai.entity.LotteryResult; import com.tem.bocai.repository.LoginInfoRepository; +import com.tem.bocai.repository.LotteryResultRepository; import com.tem.bocai.util.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -11,10 +13,12 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import us.codecraft.webmagic.Spider; - import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.util.List; +import java.util.Map; +import java.util.Optional; @Component @Slf4j @@ -24,6 +28,10 @@ public class CrawlerSchedule { private TokenCacheService tokenCacheService; @Autowired private LoginInfoRepository loginInfoRepository; + @Autowired + private LotteryResultRepository lotteryResultRepository; + + private static final int MAX_CRA = 3; private static final Integer ONOFF = 0; @Value("${pypath}") @@ -31,11 +39,11 @@ public class CrawlerSchedule { // 每天凌晨2点执行爬取开奖结果 //@Scheduled(cron = "0 0 2 * * ?") // 每7秒执行一次爬取开奖结果 - //@Scheduled(cron = "*/9 * * * * ?") + @Scheduled(cron = "*/9 * * * * ?") /*@Scheduled(cron = "0 6-59/5 7-23 * * ?") @Scheduled(cron = "0 0-55/5 0-6 * * ?")*/ // 从7:00分30秒起每5分钟执行一次 - @Scheduled(cron = "30 0/5 * * * ?") + //@Scheduled(cron = "30 0/5 * * * ?") public void executeLotteryDraw() { log.info("开始爬取开奖结果"); int retryCount = 0; @@ -45,10 +53,13 @@ public class CrawlerSchedule { if (firstByOrderByCreateTimeDesc == null) { return; } + if(firstByOrderByCreateTimeDesc.getOnOff() == ONOFF){ + return; + } String token = tokenCacheService.getToken(); - if (token == null || token.isEmpty()) { - return; - } + if (token == null || token.isEmpty()) { + return; + } while (!success && retryCount < MAX_CRA) { log.info("\n=== 第 " + (retryCount + 1) + " 次尝试获取开奖结果 ==="); if (token == null || token.isEmpty()) { @@ -99,6 +110,31 @@ public class CrawlerSchedule { } + //@Scheduled(cron = "50 0/5 * * * ?") + public void executePksHistory() { + log.info("开始获取历史开奖结果"); + // 获取API数据 + List> historyList = HttpClientExample.getPksHistoryList(); + // 获取数据库最新时间 + Optional latestTimeOpt = lotteryResultRepository.findTopByOrderByTimeDesc() + .map(LotteryResult::getTime); + + // 判断是否需要更新 + boolean needUpdate = latestTimeOpt + .map(latestTime -> historyList.stream() + .noneMatch(item -> latestTime.equals(item.get("time")))) + .orElse(true); // 数据库为空时需要更新 + + if (needUpdate) { + log.info("需要更新数据,最新时间:{}", + latestTimeOpt.orElse("数据库为空")); + HttpClientExample.getPksHistory(historyList, pypath); + } else { + log.info("数据已是最新,无需更新"); + } + } + + /*public void executeLotteryDraw() { System.out.println("开始爬取开奖结果..."); String token = tokenCacheService.getToken(); @@ -119,7 +155,7 @@ public class CrawlerSchedule { // 从7:00分30秒起每5分钟执行一次爬取今日已经结算 - @Scheduled(cron = "35 0/5 * * * ?") + //@Scheduled(cron = "35 0/5 * * * ?") public void executeSettlement() { log.info("开始爬取今日已经结算..."); int retryCount = 0; @@ -128,6 +164,11 @@ public class CrawlerSchedule { if (token == null || token.isEmpty()) { return; } + LoginInfoResult firstByOrderByCreateTimeDesc = loginInfoRepository.findFirstByOrderByCreateTimeDesc() + .orElse(null); + if(firstByOrderByCreateTimeDesc.getOnOff() == ONOFF){ + return; + } while (!success && retryCount < MAX_CRA) { log.info("\n=== 第 " + (retryCount + 1) + " 次尝试获取今日注单 ==="); if (token == null || token.isEmpty()) { @@ -141,8 +182,7 @@ public class CrawlerSchedule { // 创建爬虫实例,传入token CompletedTodayCrawler crawler = new CompletedTodayCrawler(token); - LoginInfoResult firstByOrderByCreateTimeDesc = loginInfoRepository.findFirstByOrderByCreateTimeDesc() - .orElse(null); + // 执行爬虫 String url = firstByOrderByCreateTimeDesc.getLoginUrl()+"/member/bets?settled=true"; @@ -195,6 +235,6 @@ public class CrawlerSchedule { .run(); } }*/ - + } diff --git a/src/main/java/com/tem/bocai/util/HttpClientExample.java b/src/main/java/com/tem/bocai/util/HttpClientExample.java new file mode 100644 index 0000000..60fa59a --- /dev/null +++ b/src/main/java/com/tem/bocai/util/HttpClientExample.java @@ -0,0 +1,232 @@ +package com.tem.bocai.util; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import lombok.extern.slf4j.Slf4j; +import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.config.RequestConfig; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; +import org.apache.hc.client5.http.impl.classic.HttpClients; +import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager; +import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder; +import org.apache.hc.client5.http.ssl.NoopHostnameVerifier; +import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory; +import org.apache.hc.core5.http.HttpEntity; +import org.apache.hc.core5.http.ParseException; +import org.apache.hc.core5.http.io.entity.EntityUtils; +import org.apache.hc.core5.ssl.SSLContexts; +import org.apache.hc.core5.ssl.TrustStrategy; +import org.apache.hc.core5.util.Timeout; +import org.springframework.beans.factory.annotation.Value; + +import javax.net.ssl.SSLContext; +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.InetSocketAddress; +import java.net.Proxy; +import java.net.URL; +import java.security.KeyManagementException; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.text.SimpleDateFormat; +import java.util.*; + + +@Slf4j +public class HttpClientExample { + + public static String getPksHistory(List> resultList ,String pypath) { + // 将数据写入SQLite数据库 + SQLiteUtil.writeToSQLite(resultList); + // 将数据写入JSON文件(保留原有功能) + writeToJsonFile(resultList,pypath); + log.info("历史爬虫打印结果===" + resultList); + return ""; + } + + public static List> getPksHistoryList(){ + List> resultList = new ArrayList<>(); + String todayDate = DateUtils.getTodayDate(); + try { + String url = "https://api.api168168.com/pks/getPksHistoryList.do?lotCode=10058&"+todayDate; + + // 设置代理 127.0.0.1:7890 + Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 7890)); + + HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(proxy); + conn.setRequestMethod("GET"); + conn.setRequestProperty("Origin", "https://xy678kjw.com"); + conn.setRequestProperty("Referer", "https://xy678kjw.com/"); + conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"); + conn.setConnectTimeout(10000); + conn.setReadTimeout(10000); + + BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); + StringBuilder response = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + response.append(line); + } + reader.close(); + + // 使用Jackson解析JSON + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode rootNode = objectMapper.readTree(response.toString()); + + // 检查是否成功 + int errorCode = rootNode.get("errorCode").asInt(); + if (errorCode == 0) { + // 获取data数组 + JsonNode dataArray = rootNode + .get("result") + .get("data"); + + if (dataArray.isArray()) { + for (JsonNode item : dataArray) { + Map map = new HashMap<>(); + + // 解析原始数据 + String preDrawCode = item.get("preDrawCode").asText(); + String[] codeArray = preDrawCode.split(","); + + // 转换为整数数组 + int[] result = new int[codeArray.length]; + for (int i = 0; i < codeArray.length; i++) { + result[i] = Integer.parseInt(codeArray[i].trim()); + } + + // 计算sum1和sum2 + int sum1 = 0; + int sum2 = 0; + for (int i = 0; i < 5; i++) { + sum1 += result[i]; + } + for (int i = 5; i < 10; i++) { + sum2 += result[i]; + } + + // 计算winner(前五个号码的和) + int winner = sum1; + + // 计算冠亚和(前两个号码的和) + int championSum = result[0] + result[1]; + + // 判断冠亚单双 + String GD2 = (championSum % 2 == 0) ? "冠亚双" : "冠亚单"; + + // 判断冠亚大小(冠亚和11为大,11为小) + String GD1 = (championSum > 11) ? "冠亚大" : "冠亚小"; + if (championSum == 11) { + GD1 = "冠亚小"; // 特殊处理:和值为11算小 + } + + // 计算龙虎(1-5位对比) + List GLH_result = new ArrayList<>(); + for (int i = 0; i < 5; i++) { + if (result[i] > result[9 - i]) { + GLH_result.add("龙"); + } else { + GLH_result.add("虎"); + } + } + + // 构建转换后的map + map.put("result", result); + map.put("sum1", sum1); + map.put("sum2", sum2); + map.put("winner", winner); + map.put("GD2", GD2); + map.put("GD1", GD1); + map.put("GLH_result", GLH_result); + map.put("id", String.valueOf(item.get("preDrawIssue").asLong())); + map.put("time", item.get("preDrawTime").asText()); + + resultList.add(map); + } + } + } + + // 打印转换后的结果列表 + System.out.println("Total records: " + resultList.size()); + + // 使用ObjectMapper将结果列表转换为JSON格式输出 + ObjectMapper outputMapper = new ObjectMapper(); + String jsonOutput = outputMapper.writerWithDefaultPrettyPrinter().writeValueAsString(resultList); + System.out.println(jsonOutput); + + // 或者以自定义格式输出(可选) + System.out.println("\n=== 转换后的数据格式 ==="); + for (Map map : resultList) { + System.out.println("{"); + System.out.println(" \"result\" : " + Arrays.toString((int[]) map.get("result")) + ","); + System.out.println(" \"sum1\" : " + map.get("sum1") + ","); + System.out.println(" \"sum2\" : " + map.get("sum2") + ","); + System.out.println(" \"winner\" : " + map.get("winner") + ","); + System.out.println(" \"GD2\" : \"" + map.get("GD2") + "\","); + System.out.println(" \"GD1\" : \"" + map.get("GD1") + "\","); + System.out.println(" \"GLH_result\" : " + map.get("GLH_result") + ","); + System.out.println(" \"id\" : \"" + map.get("id") + "\","); + System.out.println(" \"time\" : \"" + map.get("time") + "\""); + System.out.println("},"); + } + + } catch (Exception e) { + e.printStackTrace(); + } + return resultList; + } + + + public static void writeToJsonFile(List> resultList,String pypath) { + try { + // 创建 ObjectMapper 实例 + ObjectMapper objectMapper = new ObjectMapper(); + + // 设置 JSON 格式化(可选,更易读) + objectMapper.enable(SerializationFeature.INDENT_OUTPUT); + + // 定义输出目录 + String directoryPath = pypath+"/current_data"; // 项目根目录下的 output/json 文件夹 + + // 使用年月日作为文件名(格式:result_yyyyMMdd.json) + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String dateStr = dateFormat.format(new Date()); + String fileName = "result_" + dateStr + ".json"; + String filePath = directoryPath + "/" + fileName; + + // 创建目录(如果不存在) + File directory = new File(directoryPath); + if (!directory.exists()) { + directory.mkdirs(); // 创建多级目录 + } + + // 创建文件对象 + File outputFile = new File(filePath); + + // 如果文件已存在,删除旧文件(实现替换功能) + if (outputFile.exists()) { + boolean deleted = outputFile.delete(); + if (!deleted) { + throw new IOException("无法删除已存在的文件: " + filePath); + } + System.out.println("已删除旧文件,准备创建新文件: " + fileName); + } + + // 将 List 写入 JSON 文件 + objectMapper.writeValue(outputFile, resultList); + log.info("数据已成功写入文件: " + outputFile.getAbsolutePath()); + } catch (IOException e) { + e.printStackTrace(); + log.error("写入 JSON 文件失败: " + e.getMessage(), e); + throw new RuntimeException("写入 JSON 文件失败: " + e.getMessage(), e); + } + } + +} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 43c9b10..b3cfcf5 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -10,4 +10,4 @@ spring.jpa.show-sql=true spring.jpa.database-platform=org.hibernate.community.dialect.SQLiteDialect spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true -pypath:d:/py/PyModel \ No newline at end of file +pypath:c:/py/PyModel \ No newline at end of file