Add UpYun

This commit is contained in:
FongMi 2022-12-19 15:13:50 +08:00
parent 904a9fd8cb
commit 4643d2795a
5 changed files with 120 additions and 1 deletions

View File

@ -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<Item> items;
public static Data objectFrom(String str) {
return new Gson().fromJson(str, Data.class);
}
public Data getResult() {
return result;
}
public List<Item> getItems() {
return items;
}
}

View File

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

View File

@ -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<String, String> getHeaders() {
HashMap<String, String> 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<String> 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<Vod> 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<String> vipFlags) {
return ali.playerContent(flag, id);
}
}

Binary file not shown.

View File

@ -1 +1 @@
c701ac2466579126d00de02842c21b75 f39892c6cd9bc26eff6ad16ca21742c2