diff --git a/app/src/main/java/com/github/catvod/api/AliYun.java b/app/src/main/java/com/github/catvod/api/AliYun.java index eaa59f8..8639281 100644 --- a/app/src/main/java/com/github/catvod/api/AliYun.java +++ b/app/src/main/java/com/github/catvod/api/AliYun.java @@ -34,6 +34,7 @@ import com.github.catvod.net.OkHttp; import com.github.catvod.net.OkResult; import com.github.catvod.spider.Init; import com.github.catvod.spider.Proxy; +import com.github.catvod.utils.Json; import com.github.catvod.utils.Notify; import com.github.catvod.utils.Path; import com.github.catvod.utils.ProxyVideo; @@ -41,7 +42,6 @@ import com.github.catvod.utils.QRCode; import com.github.catvod.utils.ResUtil; import com.github.catvod.utils.Util; import com.google.gson.JsonObject; -import com.google.gson.JsonParser; import java.io.ByteArrayInputStream; import java.io.File; @@ -336,7 +336,7 @@ public class AliYun { param.addProperty("share_id", shareId); param.addProperty("expire_sec", 600); String json = auth("v2/file/get_share_link_download_url", param.toString(), false); - String url = JsonParser.parseString(json).getAsJsonObject().get("download_url").getAsString(); + String url = Json.parse(json).getAsJsonObject().get("download_url").getAsString(); shareDownloadMap.put(fileId, url); return url; } catch (Exception e) { diff --git a/app/src/main/java/com/github/catvod/spider/Bili.java b/app/src/main/java/com/github/catvod/spider/Bili.java index f3dd32c..e271bec 100644 --- a/app/src/main/java/com/github/catvod/spider/Bili.java +++ b/app/src/main/java/com/github/catvod/spider/Bili.java @@ -15,11 +15,11 @@ import com.github.catvod.bean.bili.Page; import com.github.catvod.bean.bili.Resp; import com.github.catvod.crawler.Spider; import com.github.catvod.net.OkHttp; +import com.github.catvod.utils.Json; import com.github.catvod.utils.Path; import com.github.catvod.utils.Util; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import com.google.gson.JsonParser; import java.io.ByteArrayInputStream; import java.io.File; @@ -83,7 +83,7 @@ public class Bili extends Spider { @Override public void init(Context context, String extend) throws Exception { - this.extend = JsonParser.parseString(extend).getAsJsonObject(); + this.extend = Json.parse(extend).getAsJsonObject(); setCookie(); setAudio(); } @@ -173,7 +173,7 @@ public class Bili extends Spider { episode = new ArrayList<>(); api = "https://api.bilibili.com/x/web-interface/archive/related?bvid=" + bvid; json = OkHttp.string(api, getHeader()); - JsonArray array = JsonParser.parseString(json).getAsJsonObject().getAsJsonArray("data"); + JsonArray array = Json.parse(json).getAsJsonObject().getAsJsonArray("data"); for (int i = 0; i < array.size(); i++) { JsonObject object = array.get(i).getAsJsonObject(); episode.add(object.get("title").getAsString() + "$" + object.get("aid").getAsInt() + "+" + object.get("cid").getAsInt() + "+" + TextUtils.join(":", acceptQuality) + "+" + TextUtils.join(":", acceptDesc)); diff --git a/app/src/main/java/com/github/catvod/spider/Douban.java b/app/src/main/java/com/github/catvod/spider/Douban.java index e625287..4a5be85 100644 --- a/app/src/main/java/com/github/catvod/spider/Douban.java +++ b/app/src/main/java/com/github/catvod/spider/Douban.java @@ -7,8 +7,8 @@ import com.github.catvod.bean.Result; import com.github.catvod.bean.Vod; import com.github.catvod.crawler.Spider; import com.github.catvod.net.OkHttp; +import com.github.catvod.utils.Json; import com.github.catvod.utils.Util; -import com.google.gson.JsonParser; import org.json.JSONArray; import org.json.JSONObject; @@ -49,7 +49,7 @@ public class Douban extends Spider { String recommendUrl = "http://api.douban.com/api/v2/subject_collection/subject_real_time_hotest/items" + apikey; JSONObject jsonObject = new JSONObject(OkHttp.string(recommendUrl, getHeader())); JSONArray items = jsonObject.optJSONArray("subject_collection_items"); - return Result.string(classes, parseVodListFromJSONArray(items), filter ? JsonParser.parseString(OkHttp.string(extend)) : null); + return Result.string(classes, parseVodListFromJSONArray(items), filter ? Json.parse(OkHttp.string(extend)) : null); } @Override diff --git a/app/src/main/java/com/github/catvod/spider/Jianpian.java b/app/src/main/java/com/github/catvod/spider/Jianpian.java index 13cb287..4e7d5c1 100644 --- a/app/src/main/java/com/github/catvod/spider/Jianpian.java +++ b/app/src/main/java/com/github/catvod/spider/Jianpian.java @@ -10,7 +10,7 @@ import com.github.catvod.bean.jianpian.Detail; import com.github.catvod.bean.jianpian.Resp; import com.github.catvod.crawler.Spider; import com.github.catvod.net.OkHttp; -import com.google.gson.JsonParser; +import com.github.catvod.utils.Json; import java.net.URLEncoder; import java.util.ArrayList; @@ -45,7 +45,7 @@ public class Jianpian extends Spider { List typeIds = Arrays.asList("0", "1", "2", "3", "4"); List typeNames = Arrays.asList("全部", "电影", "电视剧", "动漫", "综艺"); for (int i = 0; i < typeIds.size(); i++) classes.add(new Class(typeIds.get(i), typeNames.get(i))); - return Result.string(classes, JsonParser.parseString(OkHttp.string(extend))); + return Result.string(classes, Json.parse(OkHttp.string(extend))); } @Override diff --git a/app/src/main/java/com/github/catvod/spider/Wogg.java b/app/src/main/java/com/github/catvod/spider/Wogg.java index cabeeb1..3ff57c4 100644 --- a/app/src/main/java/com/github/catvod/spider/Wogg.java +++ b/app/src/main/java/com/github/catvod/spider/Wogg.java @@ -6,9 +6,9 @@ import com.github.catvod.bean.Class; import com.github.catvod.bean.Result; import com.github.catvod.bean.Vod; import com.github.catvod.net.OkHttp; +import com.github.catvod.utils.Json; import com.github.catvod.utils.Util; import com.google.gson.JsonObject; -import com.google.gson.JsonParser; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; @@ -42,7 +42,7 @@ public class Wogg extends Ali { @Override public void init(Context context, String extend) { - ext = JsonParser.parseString(extend).getAsJsonObject(); + ext = Json.parse(extend).getAsJsonObject(); super.init(context, ext.has("token") ? ext.get("token").getAsString() : ""); } @@ -58,7 +58,7 @@ public class Wogg extends Ali { classes.add(new Class(mather.group(1), e.text().trim())); } } - return Result.string(classes, parseVodListFromDoc(doc), url.isEmpty() ? null : JsonParser.parseString(OkHttp.string(url))); + return Result.string(classes, parseVodListFromDoc(doc), url.isEmpty() ? null : Json.parse(OkHttp.string(url))); } @Override diff --git a/app/src/main/java/com/github/catvod/utils/Json.java b/app/src/main/java/com/github/catvod/utils/Json.java new file mode 100644 index 0000000..fb34e9b --- /dev/null +++ b/app/src/main/java/com/github/catvod/utils/Json.java @@ -0,0 +1,15 @@ +package com.github.catvod.utils; + +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; + +public class Json { + + public static JsonElement parse(String json) { + try { + return JsonParser.parseString(json); + } catch (Exception e) { + return new JsonParser().parse(json); + } + } +} diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 24336f9..2c798c0 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 2d61e35..bc09af2 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -bc 37 a9 26 8b 9f 51 bf e5 e3 52 46 2f dd ea 73 +d2f7d53575d81fb021c8602c84a8f210 diff --git a/tools/src/main/java/com/fongmi/tools/Utils.java b/tools/src/main/java/com/fongmi/tools/Utils.java index ace790f..ed48b82 100644 --- a/tools/src/main/java/com/fongmi/tools/Utils.java +++ b/tools/src/main/java/com/fongmi/tools/Utils.java @@ -1,8 +1,5 @@ package com.fongmi.tools; -import com.google.gson.JsonParser; -import com.google.gson.JsonSyntaxException; - import java.io.IOException; import java.net.URI; import java.nio.charset.StandardCharsets; @@ -16,36 +13,27 @@ import okhttp3.Request; public class Utils { - public static boolean isJson(String text) { - try { - JsonParser.parseString(text); - return true; - } catch (JsonSyntaxException e) { - return false; - } - } - - public static String call(String url) throws IOException { - return new OkHttpClient().newCall(new Request.Builder().url(url).build()).execute().body().string(); - } - - public static String getFile(Class clz, String fileName) { - try { - StringBuilder sb = new StringBuilder(); - URI uri = clz.getClassLoader().getResource(fileName).toURI(); - Stream stream = Files.lines(Paths.get(uri), StandardCharsets.UTF_8); - stream.forEach(s -> sb.append(s).append("\n")); - return sb.toString(); - } catch (Exception e) { - return ""; - } - } - - public static String getFile(String fileName) { - try { - return Files.readString(Path.of(fileName)); - } catch (Exception e) { - return ""; - } - } + public static String call(String url) throws IOException { + return new OkHttpClient().newCall(new Request.Builder().url(url).build()).execute().body().string(); + } + + public static String getFile(Class clz, String fileName) { + try { + StringBuilder sb = new StringBuilder(); + URI uri = clz.getClassLoader().getResource(fileName).toURI(); + Stream stream = Files.lines(Paths.get(uri), StandardCharsets.UTF_8); + stream.forEach(s -> sb.append(s).append("\n")); + return sb.toString(); + } catch (Exception e) { + return ""; + } + } + + public static String getFile(String fileName) { + try { + return Files.readString(Path.of(fileName)); + } catch (Exception e) { + return ""; + } + } }