diff --git a/documents/interfaces/Pixiv接口标准返回格式.md b/documents/interfaces/Pixiv接口标准返回格式.md new file mode 100644 index 0000000..2fd37df --- /dev/null +++ b/documents/interfaces/Pixiv接口标准返回格式.md @@ -0,0 +1,18 @@ +## Pixiv接口标准返回格式 ## +Pixiv大部分接口在返回数据时都会遵循以下格式: +```json +{ + "error": false, + "message": "", + "body": { + + } +} +``` +大部分是如此(部分接口比较特别, 不是这个格式) + +属性|类型|说明 +---|---|--- +error|Boolean|如果接口返回错误信息, 该属性为`true` +message|String|如果`error`属性为`true`, 则该属性不为空字符串 +body|Object/Array|如果`error`不为`true`, 该属性有数据, 否则属性可能不存在 diff --git a/documents/interfaces/Pixiv搜索接口.md b/documents/interfaces/Pixiv搜索接口.md new file mode 100644 index 0000000..d4b23f9 --- /dev/null +++ b/documents/interfaces/Pixiv搜索接口.md @@ -0,0 +1,16 @@ +## Pixiv内容搜索接口 ## +接口地址: +``` +GET https://www.pixiv.net/ajax/search/{Type}/{Content}?{参数...} +``` +变量名: +- `Type`: 内容类型 + - illustrations(插画) + - top(推荐) + - manga(漫画) + - novels(小说) +- `Content`: 搜索内容 + + +参数列表: +- `word` diff --git a/documents/interfaces/Pixiv首页数据接口.md b/documents/interfaces/Pixiv首页数据接口.md new file mode 100644 index 0000000..6a0ac6d --- /dev/null +++ b/documents/interfaces/Pixiv首页数据接口.md @@ -0,0 +1,127 @@ +## Pixiv首页数据接口 ## + +说明: +该接口涉及用户账户隐私, 不要尝试对该接口返回数据做不安全云端存储, 或未经用户允许的发送出去. + +接口地址: +``` +GET https://www.pixiv.net/ajax/top/{type}?mode={mode}&lang={lang} +``` + +参数: +- `type`: 首页类型 + - `illust`: 插画 + - `manga`: 漫画 + - `novel`: 小说 +- `mode`: 内容类型 + - `all`: 不限类型 + - `r18`: 成人内容 +- `lang`: 语言(只写几个) + - `zh`: 中文 + +> 是否需要登录: `是` +> 是否为Pixiv接口标准返回格式: `是` +> 是否需要Referer请求头: `未知` + +请求Url示例: +``` +GET https://www.pixiv.net/ajax/top/illust?mode=all&lang=zh +``` + +响应示例: +``` +(内容过长, 略) +``` + +返回内容(Json): +- `page`: 网页相关内容 + - `tags`: (`Object[]`) 热门标签 + - `tag`: (`String`) 标签名 + - `count`: (`Number`) 作品数量? + - `lev`: (`Number`) 不明? + - `ids`: (`Number[]`) 作品数组 + - `follow`: (`Number[]`) 已关注作者的作品推荐 + - `mypixiv`: (`?[]`) 不明 + - `recommend`: (`String[]` -> `Number[]`) 推荐作品的Id? + - `recommendByTag`: (`Object[]`) 标签的推荐作品 + - `tag`: (`String`) 标签名 + - `ids`: ((`String[]` -> `Number[]`) 作品Id数组 + - `ranking`: (`Object`) 排行榜前100名数据 + - `date`: (`String`) 排行榜日期(`yyyyMMdd`) + - `items`: (`Object[]`) 排行榜简略数据 + - `rank`: (`String` -> `Number`) 排行榜名次 + - `id`: (`String` -> `Number`) 作品Id + - `pixivision`: (`Object[]`) Pixiv的推荐文章 + - `id`: (`String` -> `Number`) 文章Id + - `title`: (`String`) 文章标题 + - `thumbnailUrl`: (`String`) 文章封面图的Url地址 + - `abtestId`: (`String` -> `Number`) pixivision文章地址的参数`utm_content`的值 + - `recommendUser`: (`Object[]`) 推荐用户及其作品 + - `id`: (`Number`) 用户Id + - `illustIds`: (`String[]` -> `Number[]`) 插画作品Id + - `novelIds`: (`String[]` -> `Number[]`) 小说作品Id + - `contestOngoing`: (`Object[]`) 进行中的比赛活动(没找到更多信息了, 先这么说着) + - (待完善) + - `contestResult`: (`Object[]`) 比赛结果信息 + - `slug`: (`String`) 比赛代号? + - `type`: (`String`) 比赛作品类型? + - `name`: (`String`) 比赛名 + - `url`: (`String`) 结果公布链接 + - `iconUrl`: (`String`) 图标链接(不明意义的图标) + - `editorRecommend`: (`Object[]`) 编辑推荐(小说), 后续可能会删除, 这个应该是配合活动出的数据 + - (待完善) + - `boothFollowItemIds`: (`String[]` -> `Number[]`) 已关注用户的最新商品 + - `sketchLiveFollowIds`: (`?[]`) 不明? + - `sketchLivePopularIds`: (`String[]` -> `Number[]`) 不明? + - `myFavoriteTags`: (`?[]`) 关注的标签 + - `newPost`: (`String[]` -> `Number[]`) 不明? +- `thumbnails`: (`Object`) 已关注用户的作品 + - `illust`: (`Object[]`) 插画作品 + - `illustId`: (`String` -> `Number`) 作品Id(或者准确来讲是 插画Id?) + - `illustTitle`: (`String`) 插画标题 + - `id`: (`String` -> `Number`) 作品Id + - `title`: (`String`) 作品标题 + - `illustType`: (`Number`) 作品类型 + - `xRestrict`: (`Number`) 不明? + - `restrict`: (`Number`) 不明? + - `sl`: (`Number`) 不明? + - `url`: (`String`) 作品在主页的封面图Url + - `description`: (`String`) 作品说明? + - `tags`: (`String[]`) 标签原始名数组(不带翻译的原始名称) + - `userId`: (`String` -> `Number`) 用户Id + - `userName`: (`String`) 用户名 + - `width`: (`Number`) 作品宽度 + - `height`: (`Number`) 作品高度 + - `pageCount`: (`Number`) 作品页数 + - `isBookmarkable`: (`Boolean`) 不明? + - `bookmarkData`: (`?`) 不明? + - `alt`: (`String`) 简略信息 + - `isAdContainer`: (`Boolean`) 广告标识? + - `titleCaptionTranslation`: (`Object`) 不明? + - (待完善) + - `urls`: (`Object`) 其他封面图尺寸的链接 + - (略) + - `seriesId`: (`?`) 不明? + - `seriesTitle`: (`?`) 不明? + - `profileImageUrl`: (`String`) 用户头像图链接 + - `users`: (`Object[]`) 用户信? + - `userId`: (`String` -> `Number`) 用户Id + - `name`: (`String`) 用户名 + - `image`: (`String`) 用户头像图链接 + - `imageBig`: (`String`) 用户大尺寸头像图链接 + - `premium`: (`Boolean`) 是否为Pixiv高级会员 + - `isFollowed`: (`Boolean`) 是否关注 + - `isMypixiv`: (`Boolean`) 不明? + - `isBlocking`: (`Boolean`) 是否为黑名单? + - `background`: (`?`) 不明? + - `partial`: (`Number`) 不明? + - `tagTranslation`: 标签翻译名 + - `key=${标签原始名}`: (`Object`) 标签翻译信息 + - `${语言代码}`: (`String`) 对应语言代码的翻译, 不一定有 + - `boothItems`: (`Object[]`) 商品信息 + - (待完善) + - `sketchLives`: (`Object[]`) 不明? + - (待完善) + - `zoneConfig`: (`Object`) 不明? + - (待完善) + diff --git a/src/main/java/net/lamgc/cgj/bot/RankingUpdateTimer.java b/src/main/java/net/lamgc/cgj/bot/RankingUpdateTimer.java index d9929b8..0f35faf 100644 --- a/src/main/java/net/lamgc/cgj/bot/RankingUpdateTimer.java +++ b/src/main/java/net/lamgc/cgj/bot/RankingUpdateTimer.java @@ -27,7 +27,8 @@ public class RankingUpdateTimer { Calendar cal = Calendar.getInstance(); cal.setTime(firstRunDate == null ? new Date() : firstRunDate); LocalDate currentLocalDate = LocalDate.now(); - if(cal.get(Calendar.DAY_OF_YEAR) <= currentLocalDate.getDayOfYear() && cal.get(Calendar.HOUR_OF_DAY) >= 12) { + if(cal.get(Calendar.DAY_OF_YEAR) <= currentLocalDate.getDayOfYear() && + cal.get(Calendar.HOUR_OF_DAY) >= 11 && cal.get(Calendar.MINUTE) >= 30) { cal.set(Calendar.DAY_OF_YEAR, currentLocalDate.getDayOfYear() + 1); } cal.set(Calendar.HOUR_OF_DAY, 11); @@ -35,13 +36,14 @@ public class RankingUpdateTimer { cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); - log.warn("已设置排行榜定时更新, 首次运行时间: {}", cal.getTime()); + long delay = cal.getTime().getTime() - (System.currentTimeMillis()); + log.warn("已设置排行榜定时更新, 首次运行时间: {} ({}min)", cal.getTime(), delay / 1000 / 60); timer.schedule(new TimerTask() { @Override public void run() { now(null); } - }, cal.getTime(), 86400000); // 1 Day + }, delay, 86400000); // 1 Day } public void now(Date queryDate) {