From 2ec2462e36e1908a5211c2a4354d55da65f6f7a1 Mon Sep 17 00:00:00 2001 From: nikolin601 <76394646+nikolin601@users.noreply.github.com> Date: Tue, 1 Nov 2022 03:18:52 +0800 Subject: [PATCH] Add files via upload --- .../java/com/github/catvod/spider/Yiso.java | 85 +++++++++++++++ .../java/com/github/catvod/spider/Zhaozy.java | 100 ++++++++++++++++++ 2 files changed, 185 insertions(+) create mode 100644 app/src/main/java/com/github/catvod/spider/Yiso.java create mode 100644 app/src/main/java/com/github/catvod/spider/Zhaozy.java diff --git a/app/src/main/java/com/github/catvod/spider/Yiso.java b/app/src/main/java/com/github/catvod/spider/Yiso.java new file mode 100644 index 0000000..1dd6d8d --- /dev/null +++ b/app/src/main/java/com/github/catvod/spider/Yiso.java @@ -0,0 +1,85 @@ +package com.github.catvod.spider; + +import android.content.Context; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import java.util.regex.Pattern; + +public class Yiso extends Spider { + private static final Pattern aliyun = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)"); + private PushAgent pushAgent; + + public String detailContent(List list) { + try { + return pushAgent.detailContent(list); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public void init(Context context) { + super.init(context); + pushAgent = new PushAgent(); + pushAgent.init(context); + } + + public String playerContent(String str, String str2, List list) { + return pushAgent.playerContent(str, str2, list); + } + + protected static HashMap sHeaders() { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Linux; Android 12; V2049A Build/SP1A.210812.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/103.0.5060.129 Mobile Safari/537.36"); + headers.put("Referer", "https://yiso.fun/"); + return headers; + } + + private Pattern regexVid = Pattern.compile("(\\S+)"); + + public String searchContent(String key, boolean quick) { + try { + HashMap hashMap = new HashMap(); + HashMap LT = sHeaders(); + String url = "https://yiso.fun/api/search?name=" + URLEncoder.encode(key) + "&from=ali"; + + String content = OkHttpUtil.string(url, LT); + JSONObject data = new JSONObject(content); + JSONArray list = data.getJSONObject("data").getJSONArray("list"); + + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + + for (int i = 0; i < list.length(); i++) { + JSONObject jSONObject = list.getJSONObject(i); + String sourceName = jSONObject.getJSONArray("fileInfos").getJSONObject(0).getString("fileName"); + String remark = jSONObject.getString("gmtCreate"); + String id = jSONObject.getString("url"); + + JSONObject v = new JSONObject(); + String cover = "https://inews.gtimg.com/newsapp_bt/0/13263837859/1000"; + v.put("vod_name", sourceName); + v.put("vod_remarks", remark); + v.put("vod_id", id); + v.put("vod_pic", cover); + videos.put(v); + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + +} diff --git a/app/src/main/java/com/github/catvod/spider/Zhaozy.java b/app/src/main/java/com/github/catvod/spider/Zhaozy.java new file mode 100644 index 0000000..baabc00 --- /dev/null +++ b/app/src/main/java/com/github/catvod/spider/Zhaozy.java @@ -0,0 +1,100 @@ +package com.github.catvod.spider; + +import android.content.Context; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +public class Zhaozy extends Spider { + private static final Pattern aliyun = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)"); + private PushAgent pushAgent; + + public String detailContent(List list) { + try { + Pattern pattern = aliyun; + if (pattern.matcher(list.get(0)).find()) { + return pushAgent.detailContent(list); + } + Matcher matcher = pattern.matcher(OkHttpUtil.string("https://zhaoziyuan.me/" + list.get(0), null)); + if (!matcher.find()) { + return ""; + } + list.set(0, matcher.group(1)); + return pushAgent.detailContent(list); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + public void init(Context context, String str) { + super.init(context, str); + pushAgent = new PushAgent(); + pushAgent.init(context, str); + } + + public String playerContent(String str, String str2, List list) { + return pushAgent.playerContent(str, str2, list); + } + + protected static HashMap sHeaders() { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.62 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"); + headers.put("Accept-encoding", "gzip, deflate, br"); + headers.put("Accept-language", "zh-SG,zh;q=0.9,en-GB;q=0.8,en;q=0.7,zh-CN;q=0.6"); + return headers; + } + + private Pattern regexVid = Pattern.compile("(\\S+)"); + + public String searchContent(String key, boolean quick) { + try { + String url = "https://zhaoziyuan.me/so?filename=" + URLEncoder.encode(key); + Document docs = Jsoup.parse(OkHttpUtil.string(url, null)); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + Elements list = docs.select("div.li_con div.news_text"); + for (int i = 0; i < list.size(); i++) { + Element doc = list.get(i); + String sourceName = doc.select("div.news_text a h3").text(); + if (sourceName.contains(key)) { + String list1 = doc.select("div.news_text a").attr("href"); + Matcher matcher = regexVid.matcher(list1); + if (matcher.find()) { + JSONObject v = new JSONObject(); + String group = matcher.group(1); + String cover = "https://inews.gtimg.com/newsapp_bt/0/13263837859/1000"; + String remark = doc.select("div.news_text a p").text(); + + v.put("vod_name", sourceName); + v.put("vod_remarks", remark); + v.put("vod_id", group); + v.put("vod_pic", cover); + videos.put(v); + } + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} \ No newline at end of file