From 90eb458ede1d152bdb9b01d904d0d7cfb0bbd2a3 Mon Sep 17 00:00:00 2001 From: yangqiang3504 <412594121@qq.com> Date: Mon, 5 Sep 2022 09:50:38 +0800 Subject: [PATCH] add - static --- .../com/github/catvod/spider/Kunyu77.java | 377 ------------------ .../com/github/catvod/spider/PushAgent.java | 14 +- .../com/github/catvod/spider/PushAgentQQ.java | 3 +- .../com/github/catvod/spider/XBiubiu.java | 2 +- 4 files changed, 12 insertions(+), 384 deletions(-) delete mode 100644 app/src/main/java/com/github/catvod/spider/Kunyu77.java diff --git a/app/src/main/java/com/github/catvod/spider/Kunyu77.java b/app/src/main/java/com/github/catvod/spider/Kunyu77.java deleted file mode 100644 index f56b9a0..0000000 --- a/app/src/main/java/com/github/catvod/spider/Kunyu77.java +++ /dev/null @@ -1,377 +0,0 @@ -package com.github.catvod.spider; - -import android.os.Build; -import android.text.TextUtils; - -import com.github.catvod.crawler.Spider; -import com.github.catvod.crawler.SpiderDebug; -import com.github.catvod.utils.Misc; -import com.github.catvod.utils.okhttp.OkHttpUtil; - -import org.json.JSONArray; -import org.json.JSONObject; - -import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; - - -/** - * Author: @SDL - */ -public class Kunyu77 extends Spider { - private static final String siteUrl = "http://api.kunyu77.com"; - - private String uAgent = "Dalvik/2.1.0 (Linux; U; Android " + Build.VERSION.RELEASE + "; " + Build.MODEL + " Build/" + Build.ID + ")"; - - private HashMap getHeaders(String url) { - HashMap headers = new HashMap<>(); - headers.put("user-agent", uAgent); - String t = String.valueOf(System.currentTimeMillis()/ 1000) ; - - String zuhe=url+t+"XSpeUFjJ"; - String TK=Misc.MD5(zuhe, Misc.CharsetUTF8); - headers.put("TK",TK); - headers.put("t",t); - return headers; - } - - @Override - public String homeContent(boolean filter) { - try { - String url = siteUrl + "/api.php/provide/filter"; - String content = OkHttpUtil.string(url, getHeaders(url)); - JSONObject jsonObject = new JSONObject(decryptResponse(content)).getJSONObject("data"); - Iterator keys = jsonObject.keys(); - JSONArray classes = new JSONArray(); - JSONObject filterConfig = new JSONObject(); - JSONArray extendsAll = null; - while (keys.hasNext()) { - String typeId = keys.next(); - String typeName = jsonObject.getJSONArray(typeId).getJSONObject(0).getString("cat"); - JSONObject newCls = new JSONObject(); - newCls.put("type_id", typeId); - newCls.put("type_name", typeName); - classes.put(newCls); - try { - if (extendsAll == null) { - String filterUrl = siteUrl + "/api.php/provide/searchFilter?type_id=0&pagenum=1&pagesize=1"; - String filterContent = OkHttpUtil.string(filterUrl, getHeaders(filterUrl)); - JSONObject filterObj = new JSONObject(filterContent).getJSONObject("data").getJSONObject("conditions"); - extendsAll = new JSONArray(); - // 年份 - JSONObject newTypeExtend = new JSONObject(); - newTypeExtend.put("key", "year"); - newTypeExtend.put("name", "年份"); - JSONArray newTypeExtendKV = new JSONArray(); - JSONObject kv = new JSONObject(); - kv.put("n", "全部"); - kv.put("v", ""); - newTypeExtendKV.put(kv); - kv = new JSONObject(); - kv.put("n", "2022"); - kv.put("v", "2022"); - newTypeExtendKV.put(kv); - kv = new JSONObject(); - kv.put("n", "2021"); - kv.put("v", "2021"); - newTypeExtendKV.put(kv); - JSONArray years = filterObj.getJSONArray("y"); - for (int j = 0; j < years.length(); j++) { - JSONObject child = years.getJSONObject(j); - kv = new JSONObject(); - kv.put("n", child.getString("name")); - kv.put("v", child.getString("value")); - newTypeExtendKV.put(kv); - } - newTypeExtend.put("value", newTypeExtendKV); - extendsAll.put(newTypeExtend); - // 地区 - newTypeExtend = new JSONObject(); - newTypeExtend.put("key", "area"); - newTypeExtend.put("name", "地区"); - newTypeExtendKV = new JSONArray(); - kv = new JSONObject(); - kv.put("n", "全部"); - kv.put("v", ""); - newTypeExtendKV.put(kv); - JSONArray areas = filterObj.getJSONArray("a"); - for (int j = 0; j < areas.length(); j++) { - JSONObject child = areas.getJSONObject(j); - kv = new JSONObject(); - kv.put("n", child.getString("name")); - kv.put("v", child.getString("value")); - newTypeExtendKV.put(kv); - } - newTypeExtend.put("value", newTypeExtendKV); - extendsAll.put(newTypeExtend); - // 类型 - newTypeExtend = new JSONObject(); - newTypeExtend.put("key", "category"); - newTypeExtend.put("name", "类型"); - newTypeExtendKV = new JSONArray(); - kv = new JSONObject(); - kv.put("n", "全部"); - kv.put("v", ""); - newTypeExtendKV.put(kv); - JSONArray scat = filterObj.getJSONArray("scat"); - for (int j = 0; j < scat.length(); j++) { - JSONObject child = scat.getJSONObject(j); - kv = new JSONObject(); - kv.put("n", child.getString("name")); - kv.put("v", child.getString("value")); - newTypeExtendKV.put(kv); - } - newTypeExtend.put("value", newTypeExtendKV); - extendsAll.put(newTypeExtend); - } - if (extendsAll != null && extendsAll.length() > 0) { - filterConfig.put(typeId, extendsAll); - } - } catch (Exception e) { - SpiderDebug.log(e); - } - } - JSONObject result = new JSONObject(); - result.put("class", classes); - if (filter) { - result.put("filters", filterConfig); - } - return result.toString(); - } catch (Throwable th) { - - } - return ""; - } - - @Override - public String homeVideoContent() { - try { - JSONArray videos = new JSONArray(); - try { - String url = siteUrl + "/api.php/provide/homeBlock?type_id=0"; - String content = OkHttpUtil.string(url, getHeaders(url)); - JSONObject jsonObject = new JSONObject(decryptResponse(content)); - JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("blocks"); - for (int i = 0; i < jsonArray.length(); i++) { - JSONObject blockObj = jsonArray.getJSONObject(i); - String blockName = blockObj.getString("block_name"); - if (!blockName.startsWith("热播")) { - continue; - } - JSONArray contents = blockObj.getJSONArray("contents"); - for (int j = 0; j < contents.length() && j < 3; j++) { - JSONObject vObj = contents.getJSONObject(j); - JSONObject v = new JSONObject(); - v.put("vod_id", vObj.getString("id")); - v.put("vod_name", vObj.getString("title")); - v.put("vod_pic", vObj.getString("videoCover")); - v.put("vod_remarks", vObj.getString("msg")); - videos.put(v); - } - } - } catch (Exception e) { - - } - JSONObject result = new JSONObject(); - result.put("list", videos); - return result.toString(); - } catch (Throwable th) { - - } - return ""; - } - - @Override - public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { - try { - String url = siteUrl + "/api.php/provide/searchFilter?type_id=" + tid + "&pagenum=" + pg + "&pagesize=24"; - Set keys = extend.keySet(); - for (String key : keys) { - String val = extend.get(key).trim(); - if (val.length() == 0) - continue; - url += "&" + key + "=" + URLEncoder.encode(val); - } - String content = OkHttpUtil.string(url, getHeaders(url)); - JSONObject dataObject = new JSONObject(decryptResponse(content)).getJSONObject("data"); - JSONArray jsonArray = dataObject.getJSONArray("result"); - JSONArray videos = new JSONArray(); - for (int i = 0; i < jsonArray.length(); i++) { - JSONObject vObj = jsonArray.getJSONObject(i); - JSONObject v = new JSONObject(); - v.put("vod_id", vObj.getString("id")); - v.put("vod_name", vObj.getString("title")); - v.put("vod_pic", vObj.getString("videoCover")); - v.put("vod_remarks", vObj.getString("msg")); - videos.put(v); - } - JSONObject result = new JSONObject(); - int limit = 24; - int page = Integer.parseInt(dataObject.getString("page")); - int total = dataObject.getInt("total"); - int pageCount = dataObject.getInt("pagesize"); - result.put("page", page); - result.put("pagecount", pageCount); - result.put("limit", limit); - result.put("total", total); - result.put("list", videos); - return result.toString(); - } catch (Throwable th) { - - } - return ""; - } - - @Override - public String detailContent(List ids) { - try { - String url = siteUrl + "/api.php/provide/videoDetail?ids=" + ids.get(0) + "&version=2.0.4&sj=1661957675"; - String urlx="/api.php/provide/videoDetail" + ids.get(0); - String content = OkHttpUtil.string(url, getHeaders(urlx)); - JSONObject dataObject = new JSONObject(decryptResponse(content)); - JSONObject vObj = dataObject.getJSONObject("data"); - JSONObject result = new JSONObject(); - JSONArray list = new JSONArray(); - JSONObject vodAtom = new JSONObject(); - String title = vObj.getString("videoName"); - vodAtom.put("vod_id", vObj.getString("id")); - vodAtom.put("vod_name", title); - vodAtom.put("vod_pic", vObj.getString("videoCover")); - vodAtom.put("type_name", vObj.getString("subCategory")); - vodAtom.put("vod_year", vObj.getString("year")); - vodAtom.put("vod_area", vObj.getString("area")); - vodAtom.put("vod_remarks", vObj.getString("msg")); - vodAtom.put("vod_actor", vObj.getString("actor")); - vodAtom.put("vod_director", vObj.getString("director")); - vodAtom.put("vod_content", vObj.getString("brief").trim()); - - url = siteUrl + "/api.php/provide/videoPlaylist?ids=" + ids.get(0) + "&version=2.0.4&sj=1661957675"; - content = OkHttpUtil.string(url, getHeaders(url)); - JSONArray episodes = new JSONObject(content).getJSONObject("data").getJSONArray("episodes"); - LinkedHashMap> playlist = new LinkedHashMap<>(); - for (int i = 0; i < episodes.length(); i++) { - JSONArray playurls = episodes.getJSONObject(i).getJSONArray("playurls"); - for (int j = 0; j < playurls.length(); j++) { - JSONObject purl = playurls.getJSONObject(j); - String from = purl.getString("playfrom"); - ArrayList urls = playlist.get(from); - if (urls == null) { - urls = new ArrayList<>(); - playlist.put(from, urls); - } - String name = purl.getString("title").replace(title, "").trim(); - if (name.isEmpty()) { - name = (i + 1) + ""; - } - String pid = purl.getString("playurl"); - urls.add(name + "$" + pid); - } - } - String vod_play_from = TextUtils.join("$$$", playlist.keySet()); - StringBuilder sb = new StringBuilder(); - Iterator> iter = playlist.values().iterator(); - short fromSize = (short) playlist.size(); - while (iter.hasNext()) { - fromSize--; - ArrayList urls = iter.next(); - sb.append(TextUtils.join("#", urls)); - if (fromSize > 0) - sb.append("$$$"); - } - vodAtom.put("vod_play_from", vod_play_from); - vodAtom.put("vod_play_url", sb.toString()); - list.put(vodAtom); - result.put("list", list); - return result.toString(); - } catch (Throwable th) { - - } - return ""; - } - - @Override - public String playerContent(String flag, String id, List vipFlags) { - try { - String videoUrl = id; - try { - String url = siteUrl + "/api.php/provide/parserUrl?url=" + id; - String content = OkHttpUtil.string(url, getHeaders(url)); - JSONObject dataObj = new JSONObject(decryptResponse(content)).getJSONObject("data"); - JSONObject playHeader = dataObj.optJSONObject("playHeader"); - String jxUrl = dataObj.getString("url"); - content = OkHttpUtil.string(jxUrl, getHeaders(jxUrl)); - JSONObject result = Misc.jsonParse(jxUrl, content); - if (result != null) { - result.put("parse", 0); - result.put("playUrl", ""); - if (playHeader != null) { - JSONObject header = result.getJSONObject("header"); - Iterator iter = playHeader.keys(); - while (iter.hasNext()) { - String key = iter.next(); - header.put(key, " " + playHeader.getString(key)); - } - result.put("header", header.toString()); - } - return result.toString(); - } - } catch (Throwable th) { - - } - if (Misc.isVip(videoUrl)) { - JSONObject result = new JSONObject(); - result.put("parse", 1); - result.put("jx", "1"); - result.put("url", videoUrl); - return result.toString(); - } - JSONObject result = new JSONObject(); - result.put("parse", 0); - result.put("playUrl", ""); - result.put("url", id); - return result.toString(); - } catch (Throwable th) { - - } - return ""; - } - - @Override - public String searchContent(String key, boolean quick) { - try { - String url = siteUrl + "/api.php/provide/searchVideo?searchName=" + URLEncoder.encode(key); - String content = OkHttpUtil.string(url, getHeaders(url)); - JSONObject dataObject = new JSONObject(decryptResponse(content)); - JSONArray jsonArray = dataObject.getJSONArray("data"); - JSONArray videos = new JSONArray(); - for (int i = 0; i < jsonArray.length(); i++) { - JSONObject vObj = jsonArray.getJSONObject(i); - JSONObject v = new JSONObject(); - String title = vObj.getString("videoName"); - if (!title.contains(key)) - continue; - v.put("vod_id", vObj.getString("id")); - v.put("vod_name", title); - v.put("vod_pic", vObj.getString("videoCover")); - v.put("vod_remarks", vObj.getString("msg")); - videos.put(v); - } - JSONObject result = new JSONObject(); - result.put("list", videos); - return result.toString(); - } catch (Throwable th) { - - } - return ""; - } - - protected String decryptResponse(String src) { - return src; - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/github/catvod/spider/PushAgent.java b/app/src/main/java/com/github/catvod/spider/PushAgent.java index a2825a9..7cbca88 100644 --- a/app/src/main/java/com/github/catvod/spider/PushAgent.java +++ b/app/src/main/java/com/github/catvod/spider/PushAgent.java @@ -49,13 +49,13 @@ public class PushAgent extends Spider { fetchRule(false,0); } - public void getToken(String token){ + public static void getToken(String token){ if (token.startsWith("http")) { Token = OkHttpUtil.string(token, null); }else Token = token; } - public JSONObject fetchRule(boolean flag,int t) { + public static JSONObject fetchRule(boolean flag,int t) { try { if (flag || siteRule == null) { String json = OkHttpUtil.string(jsonUrl+"?t="+Time(), null); @@ -80,7 +80,7 @@ public class PushAgent extends Spider { return siteRule; } - public String getRuleVal(JSONObject o,String key, String defaultVal) { + public static String getRuleVal(JSONObject o,String key, String defaultVal) { String v = o.optString(key); if (v.isEmpty() || v.equals("空")) return defaultVal; @@ -322,7 +322,7 @@ public class PushAgent extends Spider { } } - public void listFiles(Map map, String str, String str2, String str3) { + public static void listFiles(Map map, String str, String str2, String str3) { String str4; try { String str5 = "https://api.aliyundrive.com/adrive/v3/file/list"; @@ -379,7 +379,7 @@ public class PushAgent extends Spider { } } - public String getAliContent(List list,JSONObject jSONObject6) { + public static String getAliContent(List list,JSONObject jSONObject6) { String str; try { String url = list.get(0).trim(); @@ -482,6 +482,10 @@ public class PushAgent extends Spider { @Override public String detailContent(List list) { + return getDetail(list); + } + + public static String getDetail(List list) { try { String url = list.get(0).trim(); String[] idInfo = url.split("\\$\\$\\$"); diff --git a/app/src/main/java/com/github/catvod/spider/PushAgentQQ.java b/app/src/main/java/com/github/catvod/spider/PushAgentQQ.java index a5d32af..1402331 100644 --- a/app/src/main/java/com/github/catvod/spider/PushAgentQQ.java +++ b/app/src/main/java/com/github/catvod/spider/PushAgentQQ.java @@ -22,15 +22,16 @@ public class PushAgentQQ extends Spider { public void init(Context context, String extend) { super.init(context, extend); pushAgent = new PushAgent(); - pushAgent.init(context, extend); if (extend != null) { if (!extend.startsWith("http")) { String[] arr = extend.split(";"); this.ext = arr[1]; + pushAgent.jsonUrl = arr[1]; }else { this.ext = extend; } } + pushAgent.init(context, extend); } @Override diff --git a/app/src/main/java/com/github/catvod/spider/XBiubiu.java b/app/src/main/java/com/github/catvod/spider/XBiubiu.java index 77744d0..8f057fe 100644 --- a/app/src/main/java/com/github/catvod/spider/XBiubiu.java +++ b/app/src/main/java/com/github/catvod/spider/XBiubiu.java @@ -23,7 +23,7 @@ import okhttp3.Call; import org.jsoup.Jsoup; public class XBiubiu extends Spider { - private PushAgent pushAgent= null; + private static PushAgent pushAgent= null; @Override public void init(Context context) { super.init(context);