diff --git a/app/src/main/java/com/github/catvod/debug/MainActivity.java b/app/src/main/java/com/github/catvod/debug/MainActivity.java index 0a6b1e34..d6c8c0b8 100644 --- a/app/src/main/java/com/github/catvod/debug/MainActivity.java +++ b/app/src/main/java/com/github/catvod/debug/MainActivity.java @@ -5,6 +5,7 @@ import android.os.Bundle; import com.github.catvod.R; import com.github.catvod.spider.Init; +import com.github.catvod.spider.Miss; public class MainActivity extends Activity { @@ -16,7 +17,8 @@ public class MainActivity extends Activity { Init.init(getApplicationContext()); new Thread(() -> { try { - + Miss m = new Miss(); + m.homeContent(true); } catch (Exception e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/github/catvod/spider/Dovx.java b/app/src/main/java/com/github/catvod/spider/Dovx.java index f924b550..b64d3d83 100644 --- a/app/src/main/java/com/github/catvod/spider/Dovx.java +++ b/app/src/main/java/com/github/catvod/spider/Dovx.java @@ -1,7 +1,5 @@ package com.github.catvod.spider; -import android.content.Context; - import com.github.catvod.bean.Result; import com.github.catvod.bean.Vod; import com.github.catvod.net.OkHttp; @@ -10,11 +8,6 @@ import java.net.URLEncoder; public class Dovx extends Ali { - @Override - public void init(Context context, String extend) { - super.init(context, extend); - } - @Override public String searchContent(String key, boolean quick) { Result result = Result.objectFrom(OkHttp.string("https://api.dovx.tk/ali/search?wd=" + URLEncoder.encode(key))); diff --git a/app/src/main/java/com/github/catvod/spider/Miss.java b/app/src/main/java/com/github/catvod/spider/Miss.java index 8185abd3..e63a8f85 100644 --- a/app/src/main/java/com/github/catvod/spider/Miss.java +++ b/app/src/main/java/com/github/catvod/spider/Miss.java @@ -29,12 +29,11 @@ public class Miss extends Spider { List classes = new ArrayList<>(); LinkedHashMap> filters = new LinkedHashMap<>(); Document doc = Jsoup.parse(OkHttp.string(url)); + List typeIds = Arrays.asList("chinese-subtitle", "new", "release", "uncensored-leak", "genres/VR", "today-hot", "weekly-hot", "monthly-hot", "siro", "luxu", "gana", "maan", "scute", "ara", "uncensored-leak", "fc2", "heyzo", "tokyohot", "1pondo", "caribbeancom", "caribbeancompr", "10musume", "pacopacomama", "gachinco", "xxxav", "marriedslash", "naughty4610", "naughty0930", "madou", "twav", "furuke"); for (Element a : doc.select("nav a")) { - String typeName = a.text(); - if (!a.attr("href").startsWith("http")) continue; String typeId = a.attr("href").replace(url, ""); - if (typeId.startsWith("http")) continue; - classes.add(new Class(typeId, typeName)); + if (!typeIds.contains(typeId)) continue; + classes.add(new Class(typeId, a.text())); filters.put(typeId, Arrays.asList(new Filter("filters", "過濾", Arrays.asList(new Filter.Value("全部", ""), new Filter.Value("單人作品", "individual"), new Filter.Value("中文字幕", "chinese-subtitle"))))); } for (Element div : doc.select("div.thumbnail")) { diff --git a/app/src/main/java/com/github/catvod/spider/PanSearch.java b/app/src/main/java/com/github/catvod/spider/PanSearch.java index b4a6a5f2..663504b7 100644 --- a/app/src/main/java/com/github/catvod/spider/PanSearch.java +++ b/app/src/main/java/com/github/catvod/spider/PanSearch.java @@ -1,7 +1,5 @@ package com.github.catvod.spider; -import android.content.Context; - import com.github.catvod.bean.Result; import com.github.catvod.bean.Vod; import com.github.catvod.net.OkHttp; @@ -37,11 +35,6 @@ public class PanSearch extends Ali { return header; } - @Override - public void init(Context context, String extend) { - super.init(context, extend); - } - @Override public String searchContent(String key, boolean quick) throws Exception { String html = OkHttp.string(URL, getHeader()); diff --git a/app/src/main/java/com/github/catvod/spider/PanSou.java b/app/src/main/java/com/github/catvod/spider/PanSou.java index ef5e7df6..7b777bbb 100644 --- a/app/src/main/java/com/github/catvod/spider/PanSou.java +++ b/app/src/main/java/com/github/catvod/spider/PanSou.java @@ -1,7 +1,5 @@ package com.github.catvod.spider; -import android.content.Context; - import com.github.catvod.bean.Result; import com.github.catvod.bean.Vod; import com.github.catvod.net.OkHttp; @@ -33,11 +31,6 @@ public class PanSou extends Ali { return headers; } - @Override - public void init(Context context, String extend) { - super.init(context, extend); - } - @Override public String detailContent(List ids) throws Exception { if (pattern.matcher(ids.get(0)).find()) return super.detailContent(ids); diff --git a/app/src/main/java/com/github/catvod/spider/UpYun.java b/app/src/main/java/com/github/catvod/spider/UpYun.java index 9581b565..eee58a89 100644 --- a/app/src/main/java/com/github/catvod/spider/UpYun.java +++ b/app/src/main/java/com/github/catvod/spider/UpYun.java @@ -1,7 +1,5 @@ package com.github.catvod.spider; -import android.content.Context; - import com.github.catvod.bean.Result; import com.github.catvod.bean.Vod; import com.github.catvod.bean.upyun.Data; @@ -19,11 +17,6 @@ import javax.crypto.spec.SecretKeySpec; public class UpYun extends Ali { - @Override - public void init(Context context, String extend) { - super.init(context, extend); - } - @Override public String searchContent(String key, boolean quick) throws Exception { return searchContent(key, "1"); diff --git a/app/src/main/java/com/github/catvod/spider/XiaoZhiTiao.java b/app/src/main/java/com/github/catvod/spider/XiaoZhiTiao.java index a2e3d739..fb8a9f43 100644 --- a/app/src/main/java/com/github/catvod/spider/XiaoZhiTiao.java +++ b/app/src/main/java/com/github/catvod/spider/XiaoZhiTiao.java @@ -1,10 +1,13 @@ package com.github.catvod.spider; +import android.content.Context; import android.text.TextUtils; + import com.github.catvod.bean.Result; import com.github.catvod.bean.Vod; import com.github.catvod.net.OkHttp; import com.github.catvod.utils.Utils; + import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -17,56 +20,57 @@ import java.util.*; * @author Oiltea */ public class XiaoZhiTiao extends Ali { - - private String token; - private Date tokenExpiredAt = new Date(); - - private static final String siteUrl = "https://gitcafe.net/tool/alipaper/"; - private static final String aliUrl = "https://www.aliyundrive.com/s/"; - - private Map getHeaders() { - Map params = new HashMap<>(); - params.put("Host", "gitcafe.net"); - params.put("User-Agent", Utils.CHROME); - return params; - } - - @Override - public String searchContent(String key, boolean quick) throws JSONException { - Map params = new HashMap<>(); - params.put("action", "search"); - params.put("from", "web"); - params.put("token", this.getToken()); - params.put("keyword", key); - - JSONObject jsonObject = new JSONObject(OkHttp.post(siteUrl, params, getHeaders())); - if (jsonObject.getBoolean("success")) { - List list = new ArrayList<>(); - JSONArray jsonArray = jsonObject.getJSONArray("data"); - for (int i = 0, len = jsonArray.length(); i < len; i++) { - JSONObject o = jsonArray.getJSONObject(i); - String alikey = o.getString("alikey"); - String title = o.getString("title"); - String creatime = o.getString("creatime"); - list.add(new Vod(aliUrl + alikey, title, "", TextUtils.isEmpty(creatime) ? "" : creatime.substring(0, 10))); - } - return Result.string(list); - } - return Result.get().string(); - } - - private String getToken() throws JSONException { - if (TextUtils.isEmpty(token) || new Date().compareTo(tokenExpiredAt) > 0) { - Map params = new HashMap<>(); - params.put("action", "get_token"); - params.put("from", "web"); - - JSONObject jsonObject = new JSONObject(OkHttp.post(siteUrl, params, getHeaders())); - if (jsonObject.getBoolean("success")) { - token = jsonObject.getString("data"); - tokenExpiredAt = new Date(System.currentTimeMillis() + 24 * 60 * 60 * 1000); - } - } - return token; - } + + private static final String siteUrl = "https://gitcafe.net/tool/alipaper/"; + private static final String aliUrl = "https://www.aliyundrive.com/s/"; + private String token; + private Date date; + + private Map getHeaders() { + Map params = new HashMap<>(); + params.put("Host", "gitcafe.net"); + params.put("User-Agent", Utils.CHROME); + return params; + } + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + date = new Date(); + } + + @Override + public String searchContent(String key, boolean quick) throws Exception { + Map params = new HashMap<>(); + params.put("action", "search"); + params.put("from", "web"); + params.put("keyword", key); + params.put("token", getToken()); + JSONObject object = new JSONObject(OkHttp.post(siteUrl, params, getHeaders())); + if (!object.optBoolean("success")) return ""; + List list = new ArrayList<>(); + JSONArray data = object.getJSONArray("data"); + for (int i = 0, len = data.length(); i < len; i++) { + JSONObject o = data.getJSONObject(i); + String alikey = o.getString("alikey"); + String title = o.getString("title"); + String creatime = o.getString("creatime"); + list.add(new Vod(aliUrl + alikey, title, "", TextUtils.isEmpty(creatime) ? "" : creatime.substring(0, 10))); + } + return Result.string(list); + } + + private String getToken() throws JSONException { + if (TextUtils.isEmpty(token) || new Date().compareTo(date) > 0) { + Map params = new HashMap<>(); + params.put("action", "get_token"); + params.put("from", "web"); + JSONObject jsonObject = new JSONObject(OkHttp.post(siteUrl, params, getHeaders())); + if (jsonObject.getBoolean("success")) { + token = jsonObject.getString("data"); + date = new Date(System.currentTimeMillis() + 24 * 60 * 60 * 1000); + } + } + return token; + } } \ No newline at end of file diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index c95f0c7c..47bbe876 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 4294498e..d635e899 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -ee906871fa3ef19a87da0fad4947e36b +d756d06bfacd67917d3f5da7e7d80571