mirror of
https://github.com/LamGC/ContentGrabbingJi.git
synced 2025-04-30 06:37:36 +00:00
[Change] BotCommandProcess 将各命令中'page'参数更名为'p'以简化命令;
[Change] PixivSearchLinkBuilder 更改类名(PixivSearchBuilder -> PixivSearchLinkBuilder); [Add] PixivURL 增加接口常量; [Change] Main, CacheStoreCentral, PixivSearchLinkBuilderTest 适配PixivSearchLinkBuilder的更改;
This commit is contained in:
parent
62eabce8f6
commit
5e030c12b2
@ -13,7 +13,7 @@ import net.lamgc.cgj.bot.framework.cli.ConsoleMain;
|
|||||||
import net.lamgc.cgj.bot.framework.coolq.CQConfig;
|
import net.lamgc.cgj.bot.framework.coolq.CQConfig;
|
||||||
import net.lamgc.cgj.bot.framework.mirai.MiraiMain;
|
import net.lamgc.cgj.bot.framework.mirai.MiraiMain;
|
||||||
import net.lamgc.cgj.pixiv.PixivDownload;
|
import net.lamgc.cgj.pixiv.PixivDownload;
|
||||||
import net.lamgc.cgj.pixiv.PixivSearchBuilder;
|
import net.lamgc.cgj.pixiv.PixivSearchLinkBuilder;
|
||||||
import net.lamgc.cgj.pixiv.PixivURL;
|
import net.lamgc.cgj.pixiv.PixivURL;
|
||||||
import net.lamgc.plps.PixivLoginProxyServer;
|
import net.lamgc.plps.PixivLoginProxyServer;
|
||||||
import net.lamgc.utils.base.runner.Argument;
|
import net.lamgc.utils.base.runner.Argument;
|
||||||
@ -254,24 +254,24 @@ public class Main {
|
|||||||
@Argument(name = "excludeKeywords", force = false) String excludeKeywords,
|
@Argument(name = "excludeKeywords", force = false) String excludeKeywords,
|
||||||
@Argument(name = "contentOption", force = false) String contentOption
|
@Argument(name = "contentOption", force = false) String contentOption
|
||||||
) throws IOException {
|
) throws IOException {
|
||||||
PixivSearchBuilder searchBuilder = new PixivSearchBuilder(Strings.isNullOrEmpty(content) ? "" : content);
|
PixivSearchLinkBuilder searchBuilder = new PixivSearchLinkBuilder(Strings.isNullOrEmpty(content) ? "" : content);
|
||||||
if (type != null) {
|
if (type != null) {
|
||||||
try {
|
try {
|
||||||
searchBuilder.setSearchType(PixivSearchBuilder.SearchType.valueOf(type.toUpperCase()));
|
searchBuilder.setSearchType(PixivSearchLinkBuilder.SearchType.valueOf(type.toUpperCase()));
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
log.warn("不支持的SearchType: {}", type);
|
log.warn("不支持的SearchType: {}", type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(area != null) {
|
if(area != null) {
|
||||||
try {
|
try {
|
||||||
searchBuilder.setSearchArea(PixivSearchBuilder.SearchArea.valueOf(area));
|
searchBuilder.setSearchArea(PixivSearchLinkBuilder.SearchArea.valueOf(area));
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
log.warn("不支持的SearchArea: {}", area);
|
log.warn("不支持的SearchArea: {}", area);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(contentOption != null) {
|
if(contentOption != null) {
|
||||||
try {
|
try {
|
||||||
searchBuilder.setSearchContentOption(PixivSearchBuilder.SearchContentOption.valueOf(contentOption));
|
searchBuilder.setSearchContentOption(PixivSearchLinkBuilder.SearchContentOption.valueOf(contentOption));
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
log.warn("不支持的SearchContentOption: {}", contentOption);
|
log.warn("不支持的SearchContentOption: {}", contentOption);
|
||||||
}
|
}
|
||||||
@ -310,7 +310,7 @@ public class Main {
|
|||||||
|
|
||||||
JsonObject resultBody = jsonObject.getAsJsonObject("body");
|
JsonObject resultBody = jsonObject.getAsJsonObject("body");
|
||||||
|
|
||||||
for(PixivSearchBuilder.SearchArea searchArea : PixivSearchBuilder.SearchArea.values()) {
|
for(PixivSearchLinkBuilder.SearchArea searchArea : PixivSearchLinkBuilder.SearchArea.values()) {
|
||||||
if(!resultBody.has(searchArea.jsonKey) || resultBody.getAsJsonObject(searchArea.jsonKey).getAsJsonArray("data").size() == 0) {
|
if(!resultBody.has(searchArea.jsonKey) || resultBody.getAsJsonObject(searchArea.jsonKey).getAsJsonArray("data").size() == 0) {
|
||||||
//log.info("返回数据不包含 {}", searchArea.jsonKey);
|
//log.info("返回数据不包含 {}", searchArea.jsonKey);
|
||||||
continue;
|
continue;
|
||||||
|
@ -12,7 +12,7 @@ import net.lamgc.cgj.bot.event.BufferMessageEvent;
|
|||||||
import net.lamgc.cgj.bot.sort.PreLoadDataComparator;
|
import net.lamgc.cgj.bot.sort.PreLoadDataComparator;
|
||||||
import net.lamgc.cgj.pixiv.PixivDownload;
|
import net.lamgc.cgj.pixiv.PixivDownload;
|
||||||
import net.lamgc.cgj.pixiv.PixivDownload.PageQuality;
|
import net.lamgc.cgj.pixiv.PixivDownload.PageQuality;
|
||||||
import net.lamgc.cgj.pixiv.PixivSearchBuilder;
|
import net.lamgc.cgj.pixiv.PixivSearchLinkBuilder;
|
||||||
import net.lamgc.cgj.pixiv.PixivURL;
|
import net.lamgc.cgj.pixiv.PixivURL;
|
||||||
import net.lamgc.utils.base.runner.Argument;
|
import net.lamgc.utils.base.runner.Argument;
|
||||||
import net.lamgc.utils.base.runner.Command;
|
import net.lamgc.utils.base.runner.Command;
|
||||||
@ -310,7 +310,7 @@ public class BotCommandProcess {
|
|||||||
@Argument(name = "in", force = false) String includeKeywords,
|
@Argument(name = "in", force = false) String includeKeywords,
|
||||||
@Argument(name = "ex", force = false) String excludeKeywords,
|
@Argument(name = "ex", force = false) String excludeKeywords,
|
||||||
@Argument(name = "option", force = false) String contentOption,
|
@Argument(name = "option", force = false) String contentOption,
|
||||||
@Argument(name = "page", force = false, defaultValue = "1") int pagesIndex
|
@Argument(name = "p", force = false, defaultValue = "1") int pagesIndex
|
||||||
) throws IOException {
|
) throws IOException {
|
||||||
log.info("正在执行搜索...");
|
log.info("正在执行搜索...");
|
||||||
JsonObject resultBody = CacheStoreCentral.getCentral()
|
JsonObject resultBody = CacheStoreCentral.getCentral()
|
||||||
@ -326,7 +326,7 @@ public class BotCommandProcess {
|
|||||||
log.warn("参数转换异常!将使用默认值(" + limit + ")", e);
|
log.warn("参数转换异常!将使用默认值(" + limit + ")", e);
|
||||||
}
|
}
|
||||||
int totalCount = 0;
|
int totalCount = 0;
|
||||||
for (PixivSearchBuilder.SearchArea searchArea : PixivSearchBuilder.SearchArea.values()) {
|
for (PixivSearchLinkBuilder.SearchArea searchArea : PixivSearchLinkBuilder.SearchArea.values()) {
|
||||||
if (!resultBody.has(searchArea.jsonKey) ||
|
if (!resultBody.has(searchArea.jsonKey) ||
|
||||||
resultBody.getAsJsonObject(searchArea.jsonKey).getAsJsonArray("data").size() == 0) {
|
resultBody.getAsJsonObject(searchArea.jsonKey).getAsJsonArray("data").size() == 0) {
|
||||||
log.debug("返回数据不包含 {}", searchArea.jsonKey);
|
log.debug("返回数据不包含 {}", searchArea.jsonKey);
|
||||||
@ -493,7 +493,7 @@ public class BotCommandProcess {
|
|||||||
@Argument(name = "$fromGroup") long fromGroup,
|
@Argument(name = "$fromGroup") long fromGroup,
|
||||||
@Argument(name = "id") int illustId,
|
@Argument(name = "id") int illustId,
|
||||||
@Argument(name = "quality", force = false) PixivDownload.PageQuality quality,
|
@Argument(name = "quality", force = false) PixivDownload.PageQuality quality,
|
||||||
@Argument(name = "page", force = false, defaultValue = "1") int pageIndex
|
@Argument(name = "p", force = false, defaultValue = "1") int pageIndex
|
||||||
) {
|
) {
|
||||||
return CacheStoreCentral.getCentral().getImageById(fromGroup, illustId, quality, pageIndex);
|
return CacheStoreCentral.getCentral().getImageById(fromGroup, illustId, quality, pageIndex);
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ import net.lamgc.cgj.bot.BotCommandProcess;
|
|||||||
import net.lamgc.cgj.bot.SettingProperties;
|
import net.lamgc.cgj.bot.SettingProperties;
|
||||||
import net.lamgc.cgj.bot.boot.BotGlobal;
|
import net.lamgc.cgj.bot.boot.BotGlobal;
|
||||||
import net.lamgc.cgj.pixiv.PixivDownload;
|
import net.lamgc.cgj.pixiv.PixivDownload;
|
||||||
import net.lamgc.cgj.pixiv.PixivSearchBuilder;
|
import net.lamgc.cgj.pixiv.PixivSearchLinkBuilder;
|
||||||
import net.lamgc.cgj.pixiv.PixivURL;
|
import net.lamgc.cgj.pixiv.PixivURL;
|
||||||
import net.lamgc.cgj.util.URLs;
|
import net.lamgc.cgj.util.URLs;
|
||||||
import net.lamgc.utils.encrypt.MessageDigestUtils;
|
import net.lamgc.utils.encrypt.MessageDigestUtils;
|
||||||
@ -386,17 +386,17 @@ public final class CacheStoreCentral {
|
|||||||
String includeKeywords,
|
String includeKeywords,
|
||||||
String excludeKeywords,
|
String excludeKeywords,
|
||||||
String contentOption) throws IOException {
|
String contentOption) throws IOException {
|
||||||
PixivSearchBuilder searchBuilder = new PixivSearchBuilder(Strings.isNullOrEmpty(content) ? "" : content);
|
PixivSearchLinkBuilder searchBuilder = new PixivSearchLinkBuilder(Strings.isNullOrEmpty(content) ? "" : content);
|
||||||
if (type != null) {
|
if (type != null) {
|
||||||
try {
|
try {
|
||||||
searchBuilder.setSearchType(PixivSearchBuilder.SearchType.valueOf(type.toUpperCase()));
|
searchBuilder.setSearchType(PixivSearchLinkBuilder.SearchType.valueOf(type.toUpperCase()));
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
log.warn("不支持的SearchType: {}", type);
|
log.warn("不支持的SearchType: {}", type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (area != null) {
|
if (area != null) {
|
||||||
try {
|
try {
|
||||||
searchBuilder.setSearchArea(PixivSearchBuilder.SearchArea.valueOf(area));
|
searchBuilder.setSearchArea(PixivSearchLinkBuilder.SearchArea.valueOf(area));
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
log.warn("不支持的SearchArea: {}", area);
|
log.warn("不支持的SearchArea: {}", area);
|
||||||
}
|
}
|
||||||
@ -404,7 +404,7 @@ public final class CacheStoreCentral {
|
|||||||
if (contentOption != null) {
|
if (contentOption != null) {
|
||||||
try {
|
try {
|
||||||
searchBuilder.setSearchContentOption(
|
searchBuilder.setSearchContentOption(
|
||||||
PixivSearchBuilder.SearchContentOption.valueOf(contentOption.trim().toUpperCase()));
|
PixivSearchLinkBuilder.SearchContentOption.valueOf(contentOption.trim().toUpperCase()));
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
log.warn("不支持的SearchContentOption: {}", contentOption);
|
log.warn("不支持的SearchContentOption: {}", contentOption);
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ import java.util.Objects;
|
|||||||
* @see PixivURL#PIXIV_SEARCH_CONTENT_URL
|
* @see PixivURL#PIXIV_SEARCH_CONTENT_URL
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("ALL")
|
@SuppressWarnings("ALL")
|
||||||
public class PixivSearchBuilder {
|
public class PixivSearchLinkBuilder {
|
||||||
|
|
||||||
private final String content;
|
private final String content;
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ public class PixivSearchBuilder {
|
|||||||
private Date startDate = null;
|
private Date startDate = null;
|
||||||
private Date endDate = null;
|
private Date endDate = null;
|
||||||
|
|
||||||
public PixivSearchBuilder(String searchContent) {
|
public PixivSearchLinkBuilder(String searchContent) {
|
||||||
this.content = Objects.requireNonNull(searchContent);
|
this.content = Objects.requireNonNull(searchContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ public class PixivSearchBuilder {
|
|||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (this == o) return true;
|
if (this == o) return true;
|
||||||
if (o == null || getClass() != o.getClass()) return false;
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
PixivSearchBuilder that = (PixivSearchBuilder) o;
|
PixivSearchLinkBuilder that = (PixivSearchLinkBuilder) o;
|
||||||
return page == that.page &&
|
return page == that.page &&
|
||||||
wgt == that.wgt &&
|
wgt == that.wgt &&
|
||||||
hgt == that.hgt &&
|
hgt == that.hgt &&
|
||||||
@ -141,7 +141,7 @@ public class PixivSearchBuilder {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "PixivSearchBuilder{" +
|
return "PixivSearchLinkBuilder{" +
|
||||||
"content='" + content + '\'' +
|
"content='" + content + '\'' +
|
||||||
", searchArea=" + searchArea +
|
", searchArea=" + searchArea +
|
||||||
", searchMode=" + searchMode +
|
", searchMode=" + searchMode +
|
||||||
@ -161,7 +161,7 @@ public class PixivSearchBuilder {
|
|||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setSearchArea(SearchArea searchArea) {
|
public PixivSearchLinkBuilder setSearchArea(SearchArea searchArea) {
|
||||||
this.searchArea = Objects.requireNonNull(searchArea);
|
this.searchArea = Objects.requireNonNull(searchArea);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -202,50 +202,50 @@ public class PixivSearchBuilder {
|
|||||||
return searchContent.toString();
|
return searchContent.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setSearchMode(SearchMode searchMode) {
|
public PixivSearchLinkBuilder setSearchMode(SearchMode searchMode) {
|
||||||
this.searchMode = Objects.requireNonNull(searchMode);
|
this.searchMode = Objects.requireNonNull(searchMode);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setSearchType(SearchType searchType) {
|
public PixivSearchLinkBuilder setSearchType(SearchType searchType) {
|
||||||
this.searchType = Objects.requireNonNull(searchType);
|
this.searchType = Objects.requireNonNull(searchType);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setSearchOrder(SearchOrder searchOrder) {
|
public PixivSearchLinkBuilder setSearchOrder(SearchOrder searchOrder) {
|
||||||
this.searchOrder = Objects.requireNonNull(searchOrder);
|
this.searchOrder = Objects.requireNonNull(searchOrder);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setSearchContentOption(SearchContentOption searchContentOption) {
|
public PixivSearchLinkBuilder setSearchContentOption(SearchContentOption searchContentOption) {
|
||||||
this.searchContentOption = Objects.requireNonNull(searchContentOption);
|
this.searchContentOption = Objects.requireNonNull(searchContentOption);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setRatioOption(RatioOption ratioOption) {
|
public PixivSearchLinkBuilder setRatioOption(RatioOption ratioOption) {
|
||||||
this.ratioOption = Objects.requireNonNull(ratioOption);
|
this.ratioOption = Objects.requireNonNull(ratioOption);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setDateRange(Date startDate, Date endDate) {
|
public PixivSearchLinkBuilder setDateRange(Date startDate, Date endDate) {
|
||||||
this.startDate = startDate;
|
this.startDate = startDate;
|
||||||
this.endDate = endDate;
|
this.endDate = endDate;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setMaxSize(int width, int height) {
|
public PixivSearchLinkBuilder setMaxSize(int width, int height) {
|
||||||
this.wgt = width;
|
this.wgt = width;
|
||||||
this.hgt = height;
|
this.hgt = height;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setMinSize(int width, int height) {
|
public PixivSearchLinkBuilder setMinSize(int width, int height) {
|
||||||
this.wlt = width;
|
this.wlt = width;
|
||||||
this.hlt = height;
|
this.hlt = height;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder setPage(int pageIndex) {
|
public PixivSearchLinkBuilder setPage(int pageIndex) {
|
||||||
if (pageIndex <= 0) {
|
if (pageIndex <= 0) {
|
||||||
throw new IllegalArgumentException("Invalid pageIndex: " + pageIndex);
|
throw new IllegalArgumentException("Invalid pageIndex: " + pageIndex);
|
||||||
}
|
}
|
||||||
@ -253,22 +253,22 @@ public class PixivSearchBuilder {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder addExcludeKeyword(String keyword) {
|
public PixivSearchLinkBuilder addExcludeKeyword(String keyword) {
|
||||||
excludeKeywords.add(keyword);
|
excludeKeywords.add(keyword);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder removeExcludeKeyword(String keyword) {
|
public PixivSearchLinkBuilder removeExcludeKeyword(String keyword) {
|
||||||
excludeKeywords.remove(keyword);
|
excludeKeywords.remove(keyword);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder addIncludeKeyword(String keyword) {
|
public PixivSearchLinkBuilder addIncludeKeyword(String keyword) {
|
||||||
includeKeywords.add(keyword);
|
includeKeywords.add(keyword);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PixivSearchBuilder removeIncludeKeyword(String keyword) {
|
public PixivSearchLinkBuilder removeIncludeKeyword(String keyword) {
|
||||||
includeKeywords.remove(keyword);
|
includeKeywords.remove(keyword);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
@ -13,52 +13,52 @@ import java.util.GregorianCalendar;
|
|||||||
public class PixivURL {
|
public class PixivURL {
|
||||||
|
|
||||||
|
|
||||||
public static final String PIXIV_INDEX_URL = "https://www.pixiv.net";
|
public final static String PIXIV_INDEX_URL = "https://www.pixiv.net";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站预登陆url
|
* P站预登陆url
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_LOGIN_PAGE_URL = "https://accounts.pixiv.net/login?lang=zh&source=pc&view_type=page&ref=wwwtop_accounts_index";
|
public final static String PIXIV_LOGIN_PAGE_URL = "https://accounts.pixiv.net/login?lang=zh&source=pc&view_type=page&ref=wwwtop_accounts_index";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站登录请求url
|
* P站登录请求url
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_LOGIN_URL = "https://accounts.pixiv.net/api/login?lang=zh";
|
public final static String PIXIV_LOGIN_URL = "https://accounts.pixiv.net/api/login?lang=zh";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站搜索请求url
|
* P站搜索请求url
|
||||||
* @deprecated 该接口已被替换, 请使用{@link PixivSearchBuilder}构造搜索Url
|
* @deprecated 该接口已被替换, 请使用{@link PixivSearchLinkBuilder}构造搜索Url
|
||||||
* @see PixivSearchBuilder
|
* @see PixivSearchLinkBuilder
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
private static final String PIXIV_SEARCH_URL = "https://www.pixiv.net/search.php";
|
private final static String PIXIV_SEARCH_URL = "https://www.pixiv.net/search.php";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站搜索用户url
|
* P站搜索用户url
|
||||||
* 需要替换的参数:
|
* 需要替换的参数:
|
||||||
* {nick} - 用户昵称、部分名称
|
* {nick} - 用户昵称、部分名称
|
||||||
* @deprecated 该接口已被替换, 请使用{@link PixivSearchBuilder}构造搜索Url
|
* @deprecated 该接口已被替换, 请使用{@link PixivSearchLinkBuilder}构造搜索Url
|
||||||
* @see PixivSearchBuilder
|
* @see PixivSearchLinkBuilder
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static final String PIXIV_SEARCH_USER_URL = PIXIV_SEARCH_URL + "?s_mode=s_usr&nick={nick}";
|
public final static String PIXIV_SEARCH_USER_URL = PIXIV_SEARCH_URL + "?s_mode=s_usr&nick={nick}";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站搜索插画url
|
* P站搜索插画url
|
||||||
* 需要替换的参数:
|
* 需要替换的参数:
|
||||||
* {word} - 插画相关文本
|
* {word} - 插画相关文本
|
||||||
* @deprecated 该接口已被替换, 请使用{@link PixivSearchBuilder}构造搜索Url
|
* @deprecated 该接口已被替换, 请使用{@link PixivSearchLinkBuilder}构造搜索Url
|
||||||
* @see PixivSearchBuilder
|
* @see PixivSearchLinkBuilder
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static final String PIXIV_SEARCH_TAG_URL = PIXIV_SEARCH_URL + "?s_mode=s_tag&word={word}";
|
public final static String PIXIV_SEARCH_TAG_URL = PIXIV_SEARCH_URL + "?s_mode=s_tag&word={word}";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站插图下载链接获取url
|
* P站插图下载链接获取url
|
||||||
* 需要替换的文本:
|
* 需要替换的文本:
|
||||||
* {illustId} - 插画ID
|
* {illustId} - 插画ID
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_ILLUST_API_URL = "https://www.pixiv.net/ajax/illust/{illustId}/pages";
|
public final static String PIXIV_ILLUST_API_URL = "https://www.pixiv.net/ajax/illust/{illustId}/pages";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站用户插图列表获取API
|
* P站用户插图列表获取API
|
||||||
@ -67,42 +67,42 @@ public class PixivURL {
|
|||||||
* {userId} - 用户ID
|
* {userId} - 用户ID
|
||||||
*/
|
*/
|
||||||
//{"error":false,"message":"","body":{"illusts":{"74369837":null,"70990542":null,"70608653":null,"69755191":null,"69729450":null,"69729416":null,"69503608":null,"69288766":null,"69083882":null,"69051458":null,"68484200":null,"68216927":null,"68216866":null,"68192333":null,"67915106":null,"67914932":null,"67854803":null,"67854745":null,"67854670":null,"67787211":null,"67772199":null,"67770637":null,"67754861":null,"67754804":null,"67754726":null,"67740486":null,"67740480":null,"67740450":null,"67740434":null,"67726337":null,"67499196":null,"67499163":null,"67499145":null,"67499111":null,"67499085":null,"67499038":null,"67498987":null,"67473178":null,"66271465":null,"63682753":null,"63682697":null,"59385148":null,"59383265":null,"59383240":null,"59383227":null,"59383173":null},"manga":[],"novels":[],"mangaSeries":[],"novelSeries":[],"pickup":[],"bookmarkCount":{"public":{"illust":1,"novel":0},"private":{"illust":0,"novel":0}}}}
|
//{"error":false,"message":"","body":{"illusts":{"74369837":null,"70990542":null,"70608653":null,"69755191":null,"69729450":null,"69729416":null,"69503608":null,"69288766":null,"69083882":null,"69051458":null,"68484200":null,"68216927":null,"68216866":null,"68192333":null,"67915106":null,"67914932":null,"67854803":null,"67854745":null,"67854670":null,"67787211":null,"67772199":null,"67770637":null,"67754861":null,"67754804":null,"67754726":null,"67740486":null,"67740480":null,"67740450":null,"67740434":null,"67726337":null,"67499196":null,"67499163":null,"67499145":null,"67499111":null,"67499085":null,"67499038":null,"67498987":null,"67473178":null,"66271465":null,"63682753":null,"63682697":null,"59385148":null,"59383265":null,"59383240":null,"59383227":null,"59383173":null},"manga":[],"novels":[],"mangaSeries":[],"novelSeries":[],"pickup":[],"bookmarkCount":{"public":{"illust":1,"novel":0},"private":{"illust":0,"novel":0}}}}
|
||||||
public static final String PIXIV_USER_ILLUST_LIST_URL = "https://www.pixiv.net/ajax/user/{userId}/profile/all";
|
public final static String PIXIV_USER_ILLUST_LIST_URL = "https://www.pixiv.net/ajax/user/{userId}/profile/all";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 能够同时获取插图信息的用户插图列表获取API
|
* 能够同时获取插图信息的用户插图列表获取API
|
||||||
* 需要替换的文本:
|
* 需要替换的文本:
|
||||||
* {userId} - 用户ID
|
* {userId} - 用户ID
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_USER_TOP_ILLUST_LIST_URL = "https://www.pixiv.net/ajax/user/{userId}/profile/top";
|
public final static String PIXIV_USER_TOP_ILLUST_LIST_URL = "https://www.pixiv.net/ajax/user/{userId}/profile/top";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站单图详情页url
|
* P站单图详情页url
|
||||||
* 需要替换的文本:
|
* 需要替换的文本:
|
||||||
* {illustId} - 插画ID
|
* {illustId} - 插画ID
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_ILLUST_MEDIUM_URL = "https://www.pixiv.net/member_illust.php?mode=medium&illust_id={illustId}";
|
public final static String PIXIV_ILLUST_MEDIUM_URL = "https://www.pixiv.net/member_illust.php?mode=medium&illust_id={illustId}";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站多图详情页url
|
* P站多图详情页url
|
||||||
* 需要替换的文本:
|
* 需要替换的文本:
|
||||||
* {illustId} - 插画ID
|
* {illustId} - 插画ID
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_ILLUST_MANGA_URL = "https://www.pixiv.net/member_illust.php?mode=manga&illust_id={illustId}";
|
public final static String PIXIV_ILLUST_MANGA_URL = "https://www.pixiv.net/member_illust.php?mode=manga&illust_id={illustId}";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站用户页面url
|
* P站用户页面url
|
||||||
* 需要替换的文本:
|
* 需要替换的文本:
|
||||||
* {userId} - 用户ID
|
* {userId} - 用户ID
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_USER_URL = "https://www.pixiv.net/member.php?id={userId}";
|
public final static String PIXIV_USER_URL = "https://www.pixiv.net/member.php?id={userId}";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站插图信息获取API
|
* P站插图信息获取API
|
||||||
* 这个API能获取插图基本信息,但不能获取大小
|
* 这个API能获取插图基本信息,但不能获取大小
|
||||||
* 请使用{@link #getPixivIllustInfoAPI(int[])}获取URL
|
* 请使用{@link #getPixivIllustInfoAPI(int[])}获取URL
|
||||||
*/
|
*/
|
||||||
private static final String PIXIV_GET_ILLUST_INFO_URL = "https://www.pixiv.net/ajax/illust/recommend/illusts?";
|
private final static String PIXIV_GET_ILLUST_INFO_URL = "https://www.pixiv.net/ajax/illust/recommend/illusts?";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站获取用户所有插图ID的Api
|
* P站获取用户所有插图ID的Api
|
||||||
@ -110,7 +110,15 @@ public class PixivURL {
|
|||||||
* 需要替换的文本:
|
* 需要替换的文本:
|
||||||
* {userId} - 用户ID
|
* {userId} - 用户ID
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_GET_USER_ALL_ILLUST_ID_URL = "https://www.pixiv.net/ajax/user/{userId}/profile/all";
|
public final static String PIXIV_GET_USER_ALL_ILLUST_URL = "https://www.pixiv.net/ajax/user/{userId}/profile/all";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* P站获取用户推荐插画及用户基本数据
|
||||||
|
* 这个API能获得作者的部分(推荐)作品, 每个作品有详细数据, 还能获取作者主页信息(比如主页说明, 看板图)
|
||||||
|
* 需要替换的文本:
|
||||||
|
* {userId} - 用户ID
|
||||||
|
*/
|
||||||
|
public final static String PIXIV_GET_USER_TOP_ILLUST_URL = "https://www.pixiv.net/ajax/user/{userId}/profile/top";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* P站标签搜索URL
|
* P站标签搜索URL
|
||||||
@ -118,7 +126,7 @@ public class PixivURL {
|
|||||||
* 需要替换的文本:
|
* 需要替换的文本:
|
||||||
* {content} - 大致tag内容
|
* {content} - 大致tag内容
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_TAG_SEARCH_URL = "https://www.pixiv.net/ajax/search/tags/{content}";
|
public final static String PIXIV_TAG_SEARCH_URL = "https://www.pixiv.net/ajax/search/tags/{content}";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取动图下载链接和拼接数据.
|
* 获取动图下载链接和拼接数据.
|
||||||
@ -128,11 +136,17 @@ public class PixivURL {
|
|||||||
*/
|
*/
|
||||||
public final static String PIXIV_GET_UGOIRA_META_URL = "https://www.pixiv.net/ajax/illust/{illustId}/ugoira_meta";
|
public final static String PIXIV_GET_UGOIRA_META_URL = "https://www.pixiv.net/ajax/illust/{illustId}/ugoira_meta";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取自己帐号的部分数据(目前仅能获取: 关注数, 粉丝数和看板图)
|
||||||
|
* 需要登录.
|
||||||
|
*/
|
||||||
|
public final static String PIXIV_GET_USER_EXTRA_URL = "https://www.pixiv.net/ajax/user/extra";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求时带上需要退出的Cookies
|
* 请求时带上需要退出的Cookies
|
||||||
* 无论成功与否都会返回302重定向到{@linkplain #PIXIV_LOGIN_PAGE_URL 登录页面}
|
* 无论成功与否都会返回302重定向到{@linkplain #PIXIV_LOGIN_PAGE_URL 登录页面}
|
||||||
*/
|
*/
|
||||||
public static final String PIXIV_LOGOUT_URL = "https://www.pixiv.net/logout.php";
|
public final static String PIXIV_LOGOUT_URL = "https://www.pixiv.net/logout.php";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造P站获取插图信息的Api Url
|
* 构造P站获取插图信息的Api Url
|
||||||
@ -279,7 +293,7 @@ public class PixivURL {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Pixiv搜索接口.<br/>
|
* Pixiv搜索接口.<br/>
|
||||||
* 要使用该链接请使用{@link PixivSearchBuilder}构造链接.<br/>
|
* 要使用该链接请使用{@link PixivSearchLinkBuilder}构造链接.<br/>
|
||||||
* 需要替换的参数: <br/>
|
* 需要替换的参数: <br/>
|
||||||
* content - 搜索内容
|
* content - 搜索内容
|
||||||
*/
|
*/
|
||||||
|
@ -3,23 +3,23 @@ package net.lamgc.cgj.pixiv;
|
|||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class PixivSearchBuilderTest {
|
public class PixivSearchLinkBuilderTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void buildTest() {
|
public void buildTest() {
|
||||||
PixivSearchBuilder builder = new PixivSearchBuilder("hololive");
|
PixivSearchLinkBuilder builder = new PixivSearchLinkBuilder("hololive");
|
||||||
builder.addIncludeKeyword("35").addIncludeKeyword("okayu").addIncludeKeyword("百鬼あやめ");
|
builder.addIncludeKeyword("35").addIncludeKeyword("okayu").addIncludeKeyword("百鬼あやめ");
|
||||||
System.out.println(builder.buildURL());
|
System.out.println(builder.buildURL());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void equalsTest() {
|
public void equalsTest() {
|
||||||
Assert.assertEquals(new PixivSearchBuilder("风景"), new PixivSearchBuilder("风景"));
|
Assert.assertEquals(new PixivSearchLinkBuilder("风景"), new PixivSearchLinkBuilder("风景"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void hashCodeTest() {
|
public void hashCodeTest() {
|
||||||
Assert.assertEquals(new PixivSearchBuilder("风景").hashCode(), new PixivSearchBuilder("风景").hashCode());
|
Assert.assertEquals(new PixivSearchLinkBuilder("风景").hashCode(), new PixivSearchLinkBuilder("风景").hashCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user