From 86ef08371550748d1b6f36164acfa8e54ef6e946 Mon Sep 17 00:00:00 2001 From: 王明元 <97082371@qq.com> Date: Sat, 25 Jun 2022 16:02:49 +0800 Subject: [PATCH] 2022年6月25日16:02:31 屏蔽快手粉丝抓取接口 --- src/main/java/cn/fw/freya/service/crawl/impl/KuaiShouCrawl.java | 15 +++++++++------ src/main/java/cn/fw/freya/utils/CronCheckUtil.java | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/cn/fw/freya/service/crawl/impl/KuaiShouCrawl.java b/src/main/java/cn/fw/freya/service/crawl/impl/KuaiShouCrawl.java index d5ced51..d7edd1b 100644 --- a/src/main/java/cn/fw/freya/service/crawl/impl/KuaiShouCrawl.java +++ b/src/main/java/cn/fw/freya/service/crawl/impl/KuaiShouCrawl.java @@ -286,7 +286,7 @@ public class KuaiShouCrawl implements CrawlStrategy { params.put("dateType", ""); params.put("endTime", endTime.getTime()); params.put("page", "1"); - params.put("startTime", startTime.getTime()); + params.put("startTime", startTime.getTime() - 7 * 24 * 3600 * 1000L); HttpConfig config = HttpConfig.custom().url("https://cp.kuaishou.com/rest/cp/creator/analysis/live/pc/detail") .context(cookies.getContext()) .json(JsonUtils.objectToJson(params)) @@ -575,10 +575,15 @@ public class KuaiShouCrawl implements CrawlStrategy { if (!StringUtils.hasText(res)) { throw new BusinessException("调用快手[直播]接口失败"); } + Integer fansNum; + if (Objects.equals(response.getInteger("result"), 500002)) + fansNum = 0; + else + fansNum = response.getJSONObject("data").getInteger("fansCnt"); final Account account = accountDao.findByPhoneNoAndType(accountNo, this.getType().getValue()); - if (Objects.nonNull(account) && Objects.nonNull(response)) { - accountDao.updateFans(account.getId(), response.getJSONObject("data").getInteger("fansCnt"), new Date()); - } else if (Objects.isNull(account) && Objects.nonNull(response)) { + if (Objects.nonNull(account)) + accountDao.updateFans(account.getId(), fansNum, new Date()); + else accountDao.save(Account.builder() .cookiesStatus(true) .phoneNo(accountNo) @@ -587,8 +592,6 @@ public class KuaiShouCrawl implements CrawlStrategy { .reportDate(new Date()) .done(false) .build()); - } - assert response != null; return Optional.ofNullable(response.getJSONObject("data")).orElse(new JSONObject().fluentPut("fansCnt", 0)).getInteger("fansCnt"); } diff --git a/src/main/java/cn/fw/freya/utils/CronCheckUtil.java b/src/main/java/cn/fw/freya/utils/CronCheckUtil.java index ad6d9da..c1824ad 100644 --- a/src/main/java/cn/fw/freya/utils/CronCheckUtil.java +++ b/src/main/java/cn/fw/freya/utils/CronCheckUtil.java @@ -43,7 +43,7 @@ public class CronCheckUtil { */ public static void main(String[] args) { DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - final List runtimeList = CronCheckUtil.getRuntimeList("0 0/2 * * * ?", LocalDateTime.now(), 10); + final List runtimeList = CronCheckUtil.getRuntimeList("0 15 0 * * ?", LocalDateTime.now(), 10); runtimeList.forEach(item -> System.out.println(dateTimeFormatter.format(item))); } } -- libgit2 0.22.2