Clean code

This commit is contained in:
FongMi 2023-08-30 02:40:26 +08:00
parent 8d66153ae3
commit df635b1a0a
9 changed files with 63 additions and 86 deletions

View File

@ -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();
}

View File

@ -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)));

View File

@ -29,12 +29,11 @@ public class Miss extends Spider {
List<Class> classes = new ArrayList<>();
LinkedHashMap<String, List<Filter>> filters = new LinkedHashMap<>();
Document doc = Jsoup.parse(OkHttp.string(url));
List<String> 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")) {

View File

@ -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());

View File

@ -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<String> ids) throws Exception {
if (pattern.matcher(ids.get(0)).find()) return super.detailContent(ids);

View File

@ -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");

View File

@ -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;
@ -18,55 +21,56 @@ import java.util.*;
*/
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 String token;
private Date date;
private static final String siteUrl = "https://gitcafe.net/tool/alipaper/";
private static final String aliUrl = "https://www.aliyundrive.com/s/";
private Map<String, String> getHeaders() {
Map<String, String> params = new HashMap<>();
params.put("Host", "gitcafe.net");
params.put("User-Agent", Utils.CHROME);
return params;
}
private Map<String, String> getHeaders() {
Map<String, String> 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 JSONException {
Map<String, String> params = new HashMap<>();
params.put("action", "search");
params.put("from", "web");
params.put("token", this.getToken());
params.put("keyword", key);
@Override
public String searchContent(String key, boolean quick) throws Exception {
Map<String, String> 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<Vod> 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);
}
JSONObject jsonObject = new JSONObject(OkHttp.post(siteUrl, params, getHeaders()));
if (jsonObject.getBoolean("success")) {
List<Vod> 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<String, String> 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 String getToken() throws JSONException {
if (TextUtils.isEmpty(token) || new Date().compareTo(date) > 0) {
Map<String, String> 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;
}
}

Binary file not shown.

View File

@ -1 +1 @@
ee906871fa3ef19a87da0fad4947e36b
d756d06bfacd67917d3f5da7e7d80571