分片数优化
This commit is contained in:
parent
6301abfe6a
commit
bbf477acb5
|
|
@ -25,7 +25,7 @@ class Tg189Search : Cloud() {
|
|||
@Throws(Exception::class)
|
||||
override fun searchContent(key: String, quick: Boolean): String {
|
||||
val url =
|
||||
URL + "?channelUsername=cloud189_group,yunpan139,cloud189_group,cloudtianyi,kuakeclound,tianyirigeng,txtyzy,tyypzhpd,tyysypzypd,yunpan189&keyword=" + URLEncoder.encode(
|
||||
URL + "?channelUsername=cloud189_group,yunpan139,cloud189_group,cloudtianyi,kuakeclound,tianyirigeng,txtyzy,tyypzhpd,tyysypzypd,yunpan189&pic=true&keyword=" + URLEncoder.encode(
|
||||
key, Charset.defaultCharset().name()
|
||||
)
|
||||
val list: MutableList<Vod> = ArrayList()
|
||||
|
|
@ -36,8 +36,9 @@ class Tg189Search : Cloud() {
|
|||
val doc = Jsoup.parse(s)
|
||||
val id = doc.select(" a").eachAttr("href")
|
||||
.first { it.contains("189") || it.contains("139") }
|
||||
val name=doc.select("strong").text()
|
||||
|
||||
list.add(Vod(id, s, "", ""))
|
||||
list.add(Vod(id, name, "", ""))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class TgQuarkSearch : Cloud() {
|
|||
@Throws(Exception::class)
|
||||
override fun searchContent(key: String, quick: Boolean): String {
|
||||
val url =
|
||||
URL + "?channelUsername=alyp_1,clouddriveresources,dianyingshare,hdhhd21,jdjdn1111,leoziyuan,NewQuark,PanjClub,Quark_Movies,xiangxiunb,yunpanchat,yunpanqk,XiangxiuNB,alyp_4K_Movies,alyp_Animation,alyp_TV,alyp_JLP&keyword=" + URLEncoder.encode(
|
||||
URL + "?channelUsername=alyp_1,clouddriveresources,dianyingshare,hdhhd21,jdjdn1111,leoziyuan,NewQuark,PanjClub,Quark_Movies,xiangxiunb,yunpanchat,yunpanqk,XiangxiuNB,alyp_4K_Movies,alyp_Animation,alyp_TV,alyp_JLP&pic=true&keyword=" + URLEncoder.encode(
|
||||
key,
|
||||
Charset.defaultCharset().name()
|
||||
)
|
||||
|
|
@ -38,8 +38,8 @@ class TgQuarkSearch : Cloud() {
|
|||
val doc = Jsoup.parse(s)
|
||||
val id = doc.select(" a").eachAttr("href")
|
||||
.first { it.contains("189") || it.contains("139")|| it.contains("quark") }
|
||||
|
||||
list.add(Vod(id, s, "", ""))
|
||||
val name=doc.select("strong").text()
|
||||
list.add(Vod(id, name, "", ""))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ class TgSearch : Cloud() {
|
|||
@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(
|
||||
URL + "?channelUsername=tianyirigeng,tyypzhpd,XiangxiuNB,yunpanpan,kuakeyun,zaihuayun,Quark_Movies,alyp_4K_Movies,vip115hot,yunpanshare,dianyingshare&pic=true&keyword=" + URLEncoder.encode(
|
||||
key, Charset.defaultCharset().name()
|
||||
)
|
||||
val list: MutableList<Vod> = ArrayList()
|
||||
|
|
@ -36,8 +36,8 @@ class TgSearch : Cloud() {
|
|||
val doc = Jsoup.parse(s)
|
||||
val id = doc.select(" a").eachAttr("href")
|
||||
.first { it.contains("189") || it.contains("139") || it.contains("quark") }
|
||||
|
||||
list.add(Vod(id, s, "", ""))
|
||||
val name = doc.select("strong").text()
|
||||
list.add(Vod(id, name, "", ""))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import java.util.Vector
|
|||
import kotlin.math.min
|
||||
|
||||
object DownloadMT {
|
||||
private val THREAD_NUM: Int = Runtime.getRuntime().availableProcessors() * 2
|
||||
private val THREAD_NUM: Int = 64
|
||||
|
||||
private val infos = mutableMapOf<String, Array<Any>>();
|
||||
|
||||
|
|
@ -75,9 +75,9 @@ object DownloadMT {
|
|||
SpiderDebug.log("--文件总大小:$total")
|
||||
|
||||
//如果文件太小,也不走代理
|
||||
/* if (total.toLong() < 1024 * 1024 * 100) {
|
||||
return proxy(url, headers)
|
||||
}*/
|
||||
if (total.toLong() < 1024 * 1024 * 64) {
|
||||
return ProxyVideo.proxy(url, headers)
|
||||
}
|
||||
var range =
|
||||
if (StringUtils.isAllBlank(headers["range"])) headers["Range"] else headers["range"]
|
||||
if (StringUtils.isAllBlank(range)) range = "bytes=0-";
|
||||
|
|
@ -155,7 +155,7 @@ object DownloadMT {
|
|||
|
||||
fun generatePart(rangeObj: Map<String?, String>, total: String): List<LongArray> {
|
||||
val totalSize = total.toLong()
|
||||
//超过10GB,分块是80Mb,不然是16MB
|
||||
//超过10GB,分块是80MB,不然是16MB
|
||||
val partSize =
|
||||
if (totalSize > 8L * 1024L * 1024L * 1024L * 10L) 1024 * 1024 * 8 * 10L else 1024 * 1024 * 8 * 2L
|
||||
|
||||
|
|
|
|||
|
|
@ -22,13 +22,13 @@ public class TgSearchTest {
|
|||
|
||||
private Application mockContext;
|
||||
|
||||
private Tg189Search spider;
|
||||
private TgQuarkSearch spider;
|
||||
|
||||
@org.junit.Before
|
||||
public void setUp() throws Exception {
|
||||
mockContext = RuntimeEnvironment.application;
|
||||
Init.init(mockContext);
|
||||
spider = new Tg189Search();
|
||||
spider = new TgQuarkSearch();
|
||||
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,"{\n" +
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
6c57cc4eb7ebe82b74f2a723c0323500
|
||||
ee0cb4c956adb3087217062681ce67a0
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"spider": "https://andoridspidermt.netlify.app/jar/custom_spider.jar;md5;6c57cc4eb7ebe82b74f2a723c0323500",
|
||||
"spider": "https://andoridspidermt.netlify.app/jar/custom_spider.jar;md5;ee0cb4c956adb3087217062681ce67a0",
|
||||
"lives": [
|
||||
{
|
||||
"name": "电视直播",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"spider": "https://ghproxy.net/https://raw.githubusercontent.com/lushunming/AndroidCatVodSpider/multiThreadkt/jar/custom_spider.jar;md5;6c57cc4eb7ebe82b74f2a723c0323500",
|
||||
"spider": "https://ghproxy.net/https://raw.githubusercontent.com/lushunming/AndroidCatVodSpider/multiThreadkt/jar/custom_spider.jar;md5;ee0cb4c956adb3087217062681ce67a0",
|
||||
"lives": [
|
||||
{
|
||||
"name": "电视直播",
|
||||
|
|
|
|||
Loading…
Reference in New Issue