diff --git a/app/src/main/java/com/github/catvod/spider/TgSearch.kt b/app/src/main/java/com/github/catvod/spider/TgSearch.kt index 7c7d9ffd..360a66d4 100644 --- a/app/src/main/java/com/github/catvod/spider/TgSearch.kt +++ b/app/src/main/java/com/github/catvod/spider/TgSearch.kt @@ -1,56 +1,47 @@ -package com.github.catvod.spider; +package com.github.catvod.spider -import com.github.catvod.bean.Result; -import com.github.catvod.bean.Vod; -import com.github.catvod.crawler.SpiderDebug; -import com.github.catvod.net.OkHttp; -import com.github.catvod.utils.Json; -import com.github.catvod.utils.Util; -import org.jsoup.Jsoup; -import org.jsoup.nodes.Document; -import org.jsoup.nodes.Element; - -import java.net.URLEncoder; -import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import com.github.catvod.bean.Result +import com.github.catvod.bean.Vod +import com.github.catvod.net.OkHttp +import com.github.catvod.utils.Util +import org.jsoup.Jsoup +import java.net.URLEncoder +import java.nio.charset.Charset /** * @author zhixc */ -public class TgSearch extends Cloud { +class TgSearch : Cloud() { + private val URL = "https://tg.252035.xyz/" - private final String URL = "https://tg.252035.xyz/"; - - private Map getHeader() { - Map header = new HashMap<>(); - header.put("User-Agent", Util.CHROME); - return header; - } + private val header: Map + get() { + val header: MutableMap = HashMap() + header["User-Agent"] = Util.CHROME + return header + } + @Throws(Exception::class) + override fun searchContent(key: String, quick: Boolean): String { + val url = + URL + "?channelUsername=tianyirigeng,tyypzhpd,XiangxiuNB,yunpanpan,kuakeyun,zaihuayun,Quark_Movies,alyp_4K_Movies,vip115hot,yunpanshare,dianyingshare&keyword=" + URLEncoder.encode( + key, Charset.defaultCharset().name() + ) + val list: MutableList = ArrayList() + val html = OkHttp.string(url, header) + val arr = html.split(":I".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() + if (arr.size > 0) { + for (s in arr) { + val doc = Jsoup.parse(s) + val id = doc.select(" a").eachAttr("href") + .first { it.contains("189") || it.contains("139") || it.contains("quark") } - @Override - public String searchContent(String key, boolean quick) throws Exception { - - String url = URL + "?channelUsername=tianyirigeng,tyypzhpd,XiangxiuNB,yunpanpan,kuakeyun,zaihuayun,Quark_Movies,alyp_4K_Movies,vip115hot,yunpanshare,dianyingshare&keyword=" + URLEncoder.encode(key, Charset.defaultCharset().name()); - List list = new ArrayList<>(); - String html = OkHttp.string(url, getHeader()); - String[] arr = html.split(":I"); - if (arr.length > 0) { - for (String s : arr) { - Document doc = Jsoup.parse(Util.findByRegex("链接(.*)", s, 1)); - String id = doc.select(" a").attr("href"); - String name = Util.findByRegex("名称(.*)描述", s, 1).replace(":","").replace(":",""); - String desc = Util.findByRegex("描述(.*) 链接", s, 1).replace(":","").replace(":",""); - - list.add(new Vod(id, name, "", desc)); + list.add(Vod(id, s, "", "")) } } - return Result.string(list); + return Result.string(list) } } diff --git a/app/src/test/java/LeiJingTest.java b/app/src/test/java/LeiJingTest.java index 1da993ae..5cbafc96 100644 --- a/app/src/test/java/LeiJingTest.java +++ b/app/src/test/java/LeiJingTest.java @@ -70,7 +70,7 @@ public class LeiJingTest { @org.junit.Test public void detailContent() throws Exception { - String content = spider.detailContent(Arrays.asList("thread?topicId=35472")); + String content = spider.detailContent(Arrays.asList("thread?topicId=40214")); System.out.println("detailContent--" + content); JsonObject map = Json.safeObject(content); diff --git a/app/src/test/java/TgSearchTest.java b/app/src/test/java/TgSearchTest.java index eade0285..8d64fac2 100644 --- a/app/src/test/java/TgSearchTest.java +++ b/app/src/test/java/TgSearchTest.java @@ -2,6 +2,8 @@ import android.app.Application; import com.github.catvod.server.Server; import com.github.catvod.spider.Init; import com.github.catvod.spider.PanSearch; +import com.github.catvod.spider.Tg189Search; +import com.github.catvod.spider.TgQuarkSearch; import com.github.catvod.spider.TgSearch; import com.github.catvod.spider.TianYiSo; import com.github.catvod.utils.Json; @@ -20,17 +22,18 @@ public class TgSearchTest { private Application mockContext; - private TgSearch spider; + private Tg189Search spider; @org.junit.Before public void setUp() throws Exception { mockContext = RuntimeEnvironment.application; Init.init(mockContext); - spider = new TgSearch(); + spider = new Tg189Search(); Server.get().start(); // spider.init(mockContext, "{\"cookie\":\"b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; _UP_A4A_11_=wb9661c6dfb642f88f73d8e0c7edd398; b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; ctoken=wla6p3EUOLyn1FSB8IKp1SEW; grey-id=5583e32b-39df-4bf0-f39f-1adf83f604a2; grey-id.sig=p8ReBIMG2BeZu1sYvsuOAZxYbx-MVrsfKEiCv87MsTM; isQuark=true; isQuark.sig=hUgqObykqFom5Y09bll94T1sS9abT1X-4Df_lzgl8nM; _UP_F7E_8D_=ZkyvVHnrBLp1A1NFJIjWi0PwKLOVbxJPcg0RzQPI6KmBtV6ZMgPh38l93pgubgHDQqhaZ2Sfc0qv%2BRantbfg1mWGAUpRMP4RqXP78Wvu%2FCfvkWWGc5NhCTV71tGOIGgDBR3%2Bu6%2Fjj44KlE5biSNDOWW7Bigcz27lvOTidzNw8s%2FWtKAIxWbnCzZn4%2FJMBUub1SIMcW89g57k4mfPmDlCgpZKzxwl6beSfdtZ4RUWXmZOn5v5NkxVKhU4wR0Pq7NklczEGdRq2nIAcu7v22Uw2o%2FxMY0xBdeC9Korm5%2FNHnxl6K%2Bd6FXSoT9a3XIMQO359auZPiZWzrNlZe%2BqnOahXcx7KAhQIRqSOapSmL4ygJor4r5isJhRuDoXy7vJAVuH%2FRDtEJJ8rZTq0BdC23Bz%2B0MrsdgbK%2BiW; _UP_D_=pc; __wpkreporterwid_=3d3f74a7-99b7-4916-3f78-911fc2eb9d87; tfstk=fIoZNxjnbhKwPOu0TWZ4LsaRqirTcudSSmNbnxD0C5VgClMm8xMyB-GsnSu4tjpOflAOmSD-9PNiGl120XrgkVNb1SrqHbJBN3tSBAEYoQOWVUUg9qZ8n1bGGkD3CqGYINKSBABhjnXgp3_Vywz6gSc0Syj3BWf0mr2DLW24eZfiiovEKWefj1q0swq3E82iNEMinMy7SLrcpA4Fh3z_ZAViCfih3PbtdW5N_DuU77AaTijmYRkL2Wq54ENoy5a7ZXxCbok33XzS7QSZgxD-oyoVsdGotql0p2dVu7umC4nLStbiLmParc4FELHrI-c0u2dPVRrs8zoZWKCnIbNZrlHfUCMUz2z8KyXVSlgSFmUojh58OzeqTzgwaGll4YCYKwctDV5coP2LL79eKHxpNTXHmre1kZU32JPWCR_AkP2LL79eLZQY-WeUNdw1.; __pus=2051c82285199d8be553be41dd5a2100AAQ+mmv35G4FDDZ5x+3Mhe2OMbNgweQ1ODbW8zDt9YuP1LQVqHUuAAz9KWLsPjpNtim0AVGHusN4MCosTmbq/khM; __kp=e6604120-6051-11ef-bfe4-c31b6cdd0766; __kps=AATcZArVgS76EPn0FMaV4HEj; __ktd=sii/iz4ePzEaoVirXul7QQ==; __uid=AATcZArVgS76EPn0FMaV4HEj; __itrace_wid=5829b95d-dac1-48d3-bfd5-f60cd9462786; __puus=7da0b96cb710fa1b376934485f977e05AATp/q8/QupT7IiBR1GWqZhxlIRT677smMvoHlLxQA0Lk6CkP0YJBOTl+p9DZgzlMz6w4hPXPgWsokukk8PW7ZfhFfPmv8tKMgLpCGLW+tk57luhNghmSdTeVPkAF59STtyCPBEtiNzNAd/zZJ6qILJDi5ywEBAAAg+gOyWHoLHNUR+QxeHRuQa8g5WWA95J8jebIlrr8rCvI1vjTbtiYktT\",\"token\":\"26fc6787afff43e78b78992e782502f1\"}"); - spider.init(mockContext, "{\"tianyicookie\":\"{\\\"open.e.189.cn\\\":[{\\\"name\\\":\\\"SSON\\\",\\\"value\\\":\\\"dc466c8192e3109eaea837c1d136c1fd065253ce1c7d3a66ca1520d7d6d6307b10a1fe65c7becac73b95f24a6e681e654ec4f47c39533ebcc48bb78d6d6e63d1bbf3334e6e97eaa7092d34f87bf1209ee35f344871bc5a329eac34ae948d399d4a6b3b28a929c4f353ade0981657e9e0f09ce27cc1c15d8322c6e45a8ebb21eb431509f1dd7dc3a7856b32b0991d654d5ced73dd20b764ca8737600cbe699c37ccf59b3c610893fc42bdc08b477c5d394e290c14d175d1ca0ee9fa61a1a8dcac7007e9219fd0ae6ccd5dc760524213f85b6b8c6166af01a31336dab797d9118010b81a5a3c26e08e\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":true,\\\"httpOnly\\\":true,\\\"persistent\\\":true,\\\"hostOnly\\\":false},{\\\"name\\\":\\\"GUID\\\",\\\"value\\\":\\\"525d8874e53e46a7ba3ed8907e9fef1f\\\",\\\"expiresAt\\\":1775176321000,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":false,\\\"persistent\\\":true,\\\"hostOnly\\\":false},{\\\"name\\\":\\\"pageOp\\\",\\\"value\\\":\\\"336b9ddc820212fa6c9b5a0cfd7bf5b3\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":false,\\\"persistent\\\":false,\\\"hostOnly\\\":false},{\\\"name\\\":\\\"OPENINFO\\\",\\\"value\\\":\\\"33c28688ef52ce9e3a9ef87388047efbde5e3e2e4c7ef6ef267632468c7dfaf294ff59fa59d34801\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":true,\\\"persistent\\\":false,\\\"hostOnly\\\":false},{\\\"name\\\":\\\"GRAYNUMBER\\\",\\\"value\\\":\\\"319DE3F68C8730862F3BEF66F3D635B7\\\",\\\"expiresAt\\\":1775177653000,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":false,\\\"persistent\\\":true,\\\"hostOnly\\\":false}],\\\"cloud.189.cn\\\":[{\\\"name\\\":\\\"JSESSIONID\\\",\\\"value\\\":\\\"431787526C43DF21B6373E914FE597EC\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"cloud.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":true,\\\"persistent\\\":false,\\\"hostOnly\\\":true},{\\\"name\\\":\\\"COOKIE_LOGIN_USER\\\",\\\"value\\\":\\\"0C7407F59A6E5896EB6B777056E160DB020BAE67B121B5930CCD4777073744055308F7E8CD03F2FC2399E4823F60ECDD74120CEE4C529017\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"cloud.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":true,\\\"persistent\\\":false,\\\"hostOnly\\\":false}]}\"}"); - // spider.init(mockContext, ""); + spider.init(mockContext,"{\n" + + "\t\"username\":\"18896781601\" ,\"password\":\"Lushunming@0526\"\n" + + "}"); // spider.init(mockContext, ""); } @@ -38,7 +41,7 @@ public class TgSearchTest { @org.junit.Test public void searchContent() throws Exception { - String content = spider.searchContent("红海行动", false); + String content = spider.searchContent("水饺皇后", false); JsonObject map = Json.safeObject(content); Gson gson = new GsonBuilder().setPrettyPrinting().create(); System.out.println("searchContent--" + gson.toJson(map)); diff --git a/app/src/test/java/TianYiSoTest.java b/app/src/test/java/TianYiSoTest.java index 4666b9f5..d33a62d6 100644 --- a/app/src/test/java/TianYiSoTest.java +++ b/app/src/test/java/TianYiSoTest.java @@ -28,8 +28,9 @@ public class TianYiSoTest { spider = new TianYiSo(); Server.get().start(); // spider.init(mockContext, "{\"cookie\":\"b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; _UP_A4A_11_=wb9661c6dfb642f88f73d8e0c7edd398; b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; ctoken=wla6p3EUOLyn1FSB8IKp1SEW; grey-id=5583e32b-39df-4bf0-f39f-1adf83f604a2; grey-id.sig=p8ReBIMG2BeZu1sYvsuOAZxYbx-MVrsfKEiCv87MsTM; isQuark=true; isQuark.sig=hUgqObykqFom5Y09bll94T1sS9abT1X-4Df_lzgl8nM; _UP_F7E_8D_=ZkyvVHnrBLp1A1NFJIjWi0PwKLOVbxJPcg0RzQPI6KmBtV6ZMgPh38l93pgubgHDQqhaZ2Sfc0qv%2BRantbfg1mWGAUpRMP4RqXP78Wvu%2FCfvkWWGc5NhCTV71tGOIGgDBR3%2Bu6%2Fjj44KlE5biSNDOWW7Bigcz27lvOTidzNw8s%2FWtKAIxWbnCzZn4%2FJMBUub1SIMcW89g57k4mfPmDlCgpZKzxwl6beSfdtZ4RUWXmZOn5v5NkxVKhU4wR0Pq7NklczEGdRq2nIAcu7v22Uw2o%2FxMY0xBdeC9Korm5%2FNHnxl6K%2Bd6FXSoT9a3XIMQO359auZPiZWzrNlZe%2BqnOahXcx7KAhQIRqSOapSmL4ygJor4r5isJhRuDoXy7vJAVuH%2FRDtEJJ8rZTq0BdC23Bz%2B0MrsdgbK%2BiW; _UP_D_=pc; __wpkreporterwid_=3d3f74a7-99b7-4916-3f78-911fc2eb9d87; tfstk=fIoZNxjnbhKwPOu0TWZ4LsaRqirTcudSSmNbnxD0C5VgClMm8xMyB-GsnSu4tjpOflAOmSD-9PNiGl120XrgkVNb1SrqHbJBN3tSBAEYoQOWVUUg9qZ8n1bGGkD3CqGYINKSBABhjnXgp3_Vywz6gSc0Syj3BWf0mr2DLW24eZfiiovEKWefj1q0swq3E82iNEMinMy7SLrcpA4Fh3z_ZAViCfih3PbtdW5N_DuU77AaTijmYRkL2Wq54ENoy5a7ZXxCbok33XzS7QSZgxD-oyoVsdGotql0p2dVu7umC4nLStbiLmParc4FELHrI-c0u2dPVRrs8zoZWKCnIbNZrlHfUCMUz2z8KyXVSlgSFmUojh58OzeqTzgwaGll4YCYKwctDV5coP2LL79eKHxpNTXHmre1kZU32JPWCR_AkP2LL79eLZQY-WeUNdw1.; __pus=2051c82285199d8be553be41dd5a2100AAQ+mmv35G4FDDZ5x+3Mhe2OMbNgweQ1ODbW8zDt9YuP1LQVqHUuAAz9KWLsPjpNtim0AVGHusN4MCosTmbq/khM; __kp=e6604120-6051-11ef-bfe4-c31b6cdd0766; __kps=AATcZArVgS76EPn0FMaV4HEj; __ktd=sii/iz4ePzEaoVirXul7QQ==; __uid=AATcZArVgS76EPn0FMaV4HEj; __itrace_wid=5829b95d-dac1-48d3-bfd5-f60cd9462786; __puus=7da0b96cb710fa1b376934485f977e05AATp/q8/QupT7IiBR1GWqZhxlIRT677smMvoHlLxQA0Lk6CkP0YJBOTl+p9DZgzlMz6w4hPXPgWsokukk8PW7ZfhFfPmv8tKMgLpCGLW+tk57luhNghmSdTeVPkAF59STtyCPBEtiNzNAd/zZJ6qILJDi5ywEBAAAg+gOyWHoLHNUR+QxeHRuQa8g5WWA95J8jebIlrr8rCvI1vjTbtiYktT\",\"token\":\"26fc6787afff43e78b78992e782502f1\"}"); - spider.init(mockContext, "{\"tianyicookie\":\"{\\\"open.e.189.cn\\\":[{\\\"name\\\":\\\"SSON\\\",\\\"value\\\":\\\"dc466c8192e3109eaea837c1d136c1fd065253ce1c7d3a66ca1520d7d6d6307b10a1fe65c7becac73b95f24a6e681e654ec4f47c39533ebcc48bb78d6d6e63d1bbf3334e6e97eaa7092d34f87bf1209ee35f344871bc5a329eac34ae948d399d4a6b3b28a929c4f353ade0981657e9e0f09ce27cc1c15d8322c6e45a8ebb21eb431509f1dd7dc3a7856b32b0991d654d5ced73dd20b764ca8737600cbe699c37ccf59b3c610893fc42bdc08b477c5d394e290c14d175d1ca0ee9fa61a1a8dcac7007e9219fd0ae6ccd5dc760524213f85b6b8c6166af01a31336dab797d9118010b81a5a3c26e08e\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":true,\\\"httpOnly\\\":true,\\\"persistent\\\":true,\\\"hostOnly\\\":false},{\\\"name\\\":\\\"GUID\\\",\\\"value\\\":\\\"525d8874e53e46a7ba3ed8907e9fef1f\\\",\\\"expiresAt\\\":1775176321000,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":false,\\\"persistent\\\":true,\\\"hostOnly\\\":false},{\\\"name\\\":\\\"pageOp\\\",\\\"value\\\":\\\"336b9ddc820212fa6c9b5a0cfd7bf5b3\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":false,\\\"persistent\\\":false,\\\"hostOnly\\\":false},{\\\"name\\\":\\\"OPENINFO\\\",\\\"value\\\":\\\"33c28688ef52ce9e3a9ef87388047efbde5e3e2e4c7ef6ef267632468c7dfaf294ff59fa59d34801\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":true,\\\"persistent\\\":false,\\\"hostOnly\\\":false},{\\\"name\\\":\\\"GRAYNUMBER\\\",\\\"value\\\":\\\"319DE3F68C8730862F3BEF66F3D635B7\\\",\\\"expiresAt\\\":1775177653000,\\\"domain\\\":\\\"e.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":false,\\\"persistent\\\":true,\\\"hostOnly\\\":false}],\\\"cloud.189.cn\\\":[{\\\"name\\\":\\\"JSESSIONID\\\",\\\"value\\\":\\\"431787526C43DF21B6373E914FE597EC\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"cloud.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":true,\\\"persistent\\\":false,\\\"hostOnly\\\":true},{\\\"name\\\":\\\"COOKIE_LOGIN_USER\\\",\\\"value\\\":\\\"0C7407F59A6E5896EB6B777056E160DB020BAE67B121B5930CCD4777073744055308F7E8CD03F2FC2399E4823F60ECDD74120CEE4C529017\\\",\\\"expiresAt\\\":253402300799999,\\\"domain\\\":\\\"cloud.189.cn\\\",\\\"path\\\":\\\"/\\\",\\\"secure\\\":false,\\\"httpOnly\\\":true,\\\"persistent\\\":false,\\\"hostOnly\\\":false}]}\"}"); - // spider.init(mockContext, ""); + spider.init(mockContext,"{\n" + + "\t\"username\":\"18896781601\" ,\"password\":\"Lushunming@0526\"\n" + + "}"); // spider.init(mockContext, ""); } diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 7dd8c24d..05ed4c2e 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 d6abfc4d..98cfa681 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -b3413ed271088f5538e9c2208eb7cb87 +6c57cc4eb7ebe82b74f2a723c0323500 diff --git a/json/index.json b/json/index.json index 886c488b..55425c8a 100644 --- a/json/index.json +++ b/json/index.json @@ -1,5 +1,5 @@ { - "spider": "https://andoridspidermt.netlify.app/jar/custom_spider.jar;md5;b3413ed271088f5538e9c2208eb7cb87", + "spider": "https://andoridspidermt.netlify.app/jar/custom_spider.jar;md5;6c57cc4eb7ebe82b74f2a723c0323500", "lives": [ { "name": "电视直播", @@ -101,6 +101,22 @@ "searchable": 1, "changeable": 1, "ext": {} + }, { + "key": "TgQuarkSearch", + "name": "TgQuarkSearch|Pan", + "type": 3, + "api": "csp_TgQuarkSearch", + "searchable": 1, + "changeable": 1, + "ext": {} + }, { + "key": "Tg189Search", + "name": "Tg189Search|Pan", + "type": 3, + "api": "csp_Tg189Search", + "searchable": 1, + "changeable": 1, + "ext": {} }, { "key": "KuaKeBa", diff --git a/json/test.json b/json/test.json index eea9d099..78071781 100644 --- a/json/test.json +++ b/json/test.json @@ -1,5 +1,5 @@ { - "spider": "https://ghproxy.net/https://raw.githubusercontent.com/lushunming/AndroidCatVodSpider/multiThreadkt/jar/custom_spider.jar;md5;b3413ed271088f5538e9c2208eb7cb87", + "spider": "https://ghproxy.net/https://raw.githubusercontent.com/lushunming/AndroidCatVodSpider/multiThreadkt/jar/custom_spider.jar;md5;6c57cc4eb7ebe82b74f2a723c0323500", "lives": [ { "name": "电视直播",