From 2889988623bd8eae3e3c65a5edb7d0ca4286598b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E4=B8=89?= <89683694+Tangsan99999@users.noreply.github.com> Date: Thu, 25 May 2023 18:52:39 +0800 Subject: [PATCH] another method category for grandpa & grandma --- .../java/com/github/catvod/spider/Bili.java | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) 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 608878a0..2a25e1ce 100644 --- a/app/src/main/java/com/github/catvod/spider/Bili.java +++ b/app/src/main/java/com/github/catvod/spider/Bili.java @@ -44,23 +44,43 @@ public class Bili extends Spider { private String extend; private boolean login; - private String getCookie(String cookie) { + private String getCookie() { String cache = Prefers.getString("BiliCookie"); if (!TextUtils.isEmpty(cache)) return cache; - if (cookie.startsWith("http")) return OkHttp.string(cookie).replace("\n", "").trim(); - return cookie.isEmpty() ? "buvid3=84B0395D-C9F2-C490-E92E-A09AB48FE26E71636infoc" : cookie; + if (!ext.optString("cookie").isEmpty()) { + if (ext.optString("cookie").startsWith("http")) return OkHttp.string(ext.optString("cookie")).replace("\n", "").trim(); + return ext.optString("cookie"); + } + return "buvid3=84B0395D-C9F2-C490-E92E-A09AB48FE26E71636infoc"; } private void setHeader() { - header.put("cookie", getCookie(ext.optString("cookie"))); + header.put("cookie", getCookie()); header.put("Referer", "https://www.bilibili.com"); header.put("User-Agent", Utils.CHROME); } private void fetchRule() throws Exception { if (header.containsKey("cookie") && header.get("cookie").length() > 0) return; - if (extend.startsWith("http")) extend = OkHttp.string(extend); - ext = new JSONObject(extend); + if (extend.startsWith("http")) { + extend = OkHttp.string(extend); + ext = new JSONObject(extend); + } else { + JSONArray newFilter = new JSONArray("[{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"综合排序\",\"v\":\"0\"},{\"n\":\"最多点击\",\"v\":\"click\"},{\"n\":\"最新发布\",\"v\":\"pubdate\"},{\"n\":\"最多弹幕\",\"v\":\"dm\"},{\"n\":\"最多收藏\",\"v\":\"stow\"}]},{\"key\":\"duration\",\"name\":\"时长\",\"value\":[{\"n\":\"全部时长\",\"v\":\"0\"},{\"n\":\"60分钟以上\",\"v\":\"4\"},{\"n\":\"30~60分钟\",\"v\":\"3\"},{\"n\":\"10~30分钟\",\"v\":\"2\"},{\"n\":\"10分钟以下\",\"v\":\"1\"}]}]"); + String[] typeC = extend.split("#"); + JSONArray classes = new JSONArray(); + JSONObject filters = new JSONObject(); + for (String kk : typeC) { + JSONObject c = new JSONObject(); + c.put("type_name", kk); + c.put("type_id", kk); + classes.put(c); + filters.put(kk, newFilter); + } + ext = new JSONObject(); + ext.put("classes", classes); + ext.put("filter", filters); + } setHeader(); }