diff --git a/app/src/main/java/com/github/catvod/bean/upyun/Data.java b/app/src/main/java/com/github/catvod/bean/upyun/Data.java new file mode 100644 index 00000000..2be8ca94 --- /dev/null +++ b/app/src/main/java/com/github/catvod/bean/upyun/Data.java @@ -0,0 +1,26 @@ +package com.github.catvod.bean.upyun; + +import com.google.gson.Gson; +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class Data { + + @SerializedName("result") + private Data result; + @SerializedName("items") + private List items; + + public static Data objectFrom(String str) { + return new Gson().fromJson(str, Data.class); + } + + public Data getResult() { + return result; + } + + public List getItems() { + return items; + } +} diff --git a/app/src/main/java/com/github/catvod/bean/upyun/Item.java b/app/src/main/java/com/github/catvod/bean/upyun/Item.java new file mode 100644 index 00000000..e18e319d --- /dev/null +++ b/app/src/main/java/com/github/catvod/bean/upyun/Item.java @@ -0,0 +1,36 @@ +package com.github.catvod.bean.upyun; + +import android.text.TextUtils; + +import com.github.catvod.bean.Vod; +import com.google.gson.annotations.SerializedName; + +public class Item { + + @SerializedName("title") + private String title; + @SerializedName("page_url") + private String pageUrl; + @SerializedName("insert_time") + private String insertTime; + + public String getTitle() { + return TextUtils.isEmpty(title) ? "" : title; + } + + public String getPageUrl() { + return TextUtils.isEmpty(pageUrl) ? "" : pageUrl; + } + + public String getInsertTime() { + return TextUtils.isEmpty(insertTime) ? "" : insertTime; + } + + public boolean isAli() { + return getPageUrl().contains("www.aliyundrive.com"); + } + + public Vod getVod() { + return new Vod(getPageUrl(), getTitle(), "https://inews.gtimg.com/newsapp_bt/0/13263837859/1000", getInsertTime()); + } +} diff --git a/app/src/main/java/com/github/catvod/spider/UpYun.java b/app/src/main/java/com/github/catvod/spider/UpYun.java new file mode 100644 index 00000000..228a6d9c --- /dev/null +++ b/app/src/main/java/com/github/catvod/spider/UpYun.java @@ -0,0 +1,57 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.util.Base64; + +import com.github.catvod.bean.Result; +import com.github.catvod.bean.Vod; +import com.github.catvod.bean.upyun.Data; +import com.github.catvod.bean.upyun.Item; +import com.github.catvod.crawler.Spider; +import com.github.catvod.net.OkHttpUtil; +import com.github.catvod.utils.Misc; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class UpYun extends Spider { + + private final String siteUrl = "https://www.upyunso.com/"; + private final String apiUrl = "https://api.upyunso2.com/"; + private Ali ali; + + private Map getHeaders() { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", Misc.CHROME); + headers.put("Referer", siteUrl); + return headers; + } + + @Override + public void init(Context context, String extend) { + ali = new Ali(extend); + } + + @Override + public String detailContent(List ids) throws Exception { + return ali.detailContent(Arrays.asList(ids.get(0))); + } + + @Override + public String searchContent(String key, boolean quick) { + String url = apiUrl + "search?keyword=" + URLEncoder.encode(key) + "&page=1&s_type=2"; + String res = new String(Base64.decode(OkHttpUtil.string(url, getHeaders()), Base64.DEFAULT)); + List list = new ArrayList<>(); + for (Item item : Data.objectFrom(res).getResult().getItems()) if (item.isAli()) list.add(item.getVod()); + return Result.string(list); + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + return ali.playerContent(flag, id); + } +} \ No newline at end of file diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 2ad4cab5..655f9158 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 0e2c8897..9b665803 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -c701ac2466579126d00de02842c21b75 +f39892c6cd9bc26eff6ad16ca21742c2