commit 236efd9a7fa5c3a09deb55d2e3911976dfdc7675 Author: T00700 <00700@tutanota.com> Date: Fri Dec 2 13:36:22 2022 +0800 first commit diff --git a/293.txt b/293.txt new file mode 100644 index 0000000..aa9bc22 --- /dev/null +++ b/293.txt @@ -0,0 +1,20 @@ +{ + "libv": "http://123.56.222.84:2025/iphones/libvio.php?url=", + "xxjx": "http://123.56.222.84:2025/iphones/xinxin.php?url=", + "zxzj": "http://123.56.222.84:2025/iphones/zxzj.php?url=", + "4kjx": "http://123.56.222.84:2025/iphones/100.php?url=", + "jsjx": "http://123.56.222.84:2025/iphones/100.php?url=", + "qqjx": "http://123.56.222.84:2025/iphones/100.php?url=", + "qiyijx": "http://123.56.222.84:2025/iphones/100.php?url=", + "rrjx": "http://123.56.222.84:2025/iphones/400.php?url=", + "rxjx": "http://123.56.222.84:2025/iphones/rongxing.php?url=", + "zbjx": "http://123.56.222.84:2025/iphones/huya.php?id=", + "gqjx": "http://123.56.222.84:2025/iphones/100.php?url=", + "mainurl": "https://alogin.oss-cn-beijing.aliyuncs.com/iphones.json", + "appid": "10000", + "version": "1.3.0", + "headers": { + "host": "123.56.222.84:2025", + "User-Agent": "abcdefg" + } +} diff --git a/AliKey b/AliKey new file mode 100644 index 0000000..0dbf690 --- /dev/null +++ b/AliKey @@ -0,0 +1 @@ +c3895f91c81741959c22feb5fe3a5def \ No newline at end of file diff --git a/Alist.json b/Alist.json new file mode 100644 index 0000000..a14ad14 --- /dev/null +++ b/Alist.json @@ -0,0 +1,11 @@ +{ +"9T(Adult)":"https://drive.9t.ee", +"七米蓝":"https://al.chirmyram.com", +"神器云":"https://al.chirmyram.com", +"晴园":"https://alist.52qy.repl.co", +"触光":"https://pan.ichuguang.com", +"好汉吧":"https://8023.haohanba.cn", +"米奇妙妙屋":"https://anime.mqmmw.ga", +"小光组":"https://6vv.app", +"SB盘":"http://sbpan.tk" +} \ No newline at end of file diff --git a/Bilibili/Bili.smali b/Bilibili/Bili.smali new file mode 100644 index 0000000..88127f3 --- /dev/null +++ b/Bilibili/Bili.smali @@ -0,0 +1,1513 @@ +.class public Lcom/github/catvod/spider/Bili; +.super Lcom/github/catvod/crawler/Spider; +.source "SourceFile" + + +# instance fields +.field protected Aq:Lorg/json/JSONObject; + + +# direct methods +.method public constructor ()V + .registers 2 + + .line 1 + invoke-direct {p0}, Lcom/github/catvod/crawler/Spider;->()V + + const/4 v0, 0x0 + + .line 2 + iput-object v0, p0, Lcom/github/catvod/spider/Bili;->Aq:Lorg/json/JSONObject; + + return-void +.end method + + +# virtual methods +.method protected Aq()Ljava/util/HashMap; + .registers 4 + .annotation system Ldalvik/annotation/Signature; + value = { + "()", + "Ljava/util/HashMap<", + "Ljava/lang/String;", + "Ljava/lang/String;", + ">;" + } + .end annotation + + .line 1 + new-instance v0, Ljava/util/HashMap; + + invoke-direct {v0}, Ljava/util/HashMap;->()V + + const-string v1, "cookie" + + const-string v2, "buvid3=F75DB8A1-6D70-D06A-82A2-80DF64630B7510940infoc; b_nut=1665710210; i-wanna-go-back=-1; _uuid=9E6195A6-10DE6-34B9-96D7-DB10C86A1B9B811311infoc; buvid4=8EFACE72-3F03-8967-7B26-6161A5345A4211683-022101409-jFX7KwtKp+SnsxBGGRCO8w%3D%3D; fingerprint=c22d88faacc113b049f4f548d9c9a017; buvid_fp_plain=undefined; SESSDATA=7ed783f4%2C1681262256%2Cec93e%2Aa1; bili_jct=0d1eb454ba8d2b294946bd419c910c47; DedeUserID=418344235; DedeUserID__ckMd5=3d22e3aad639c1d3; sid=7fqa9896; buvid_fp=c22d88faacc113b049f4f548d9c9a017; b_ut=5; b_lsid=1F8191089_183D5A0676B; bsource=search_google; bp_video_offset_418344235=716818359574855700; PVID=2; innersign=1; CURRENT_FNVAL=4048; rpdid=|(J~RYlm|J|~0JuYYl~JYRkR" + + .line 2 + invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + + const-string v1, "User-Agent" + + const-string v2, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36" + + .line 3 + invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; + + return-object v0 +.end method + +.method public categoryContent(Ljava/lang/String;Ljava/lang/String;ZLjava/util/HashMap;)Ljava/lang/String; + .registers 11 + .annotation system Ldalvik/annotation/Signature; + value = { + "(", + "Ljava/lang/String;", + "Ljava/lang/String;", + "Z", + "Ljava/util/HashMap<", + "Ljava/lang/String;", + "Ljava/lang/String;", + ">;)", + "Ljava/lang/String;" + } + .end annotation + + const-string p3, "tid" + + :try_start_2 + const-string v0, "https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword=" + + if-eqz p4, :cond_34 + + .line 1 + invoke-virtual {p4}, Ljava/util/HashMap;->size()I + + move-result v1 + + if-lez v1, :cond_34 + + invoke-virtual {p4, p3}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z + + move-result v1 + + if-eqz v1, :cond_34 + + invoke-virtual {p4, p3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/lang/String; + + invoke-virtual {v1}, Ljava/lang/String;->length()I + + move-result v1 + + if-lez v1, :cond_34 + + .line 2 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p4, p3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; + + move-result-object p3 + + check-cast p3, Ljava/lang/String; + + invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + goto :goto_43 + + .line 3 + :cond_34 + new-instance p3, Ljava/lang/StringBuilder; + + invoke-direct {p3}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + :goto_43 + if-eqz p4, :cond_8c + + .line 4 + invoke-virtual {p4}, Ljava/util/HashMap;->size()I + + move-result p3 + + if-lez p3, :cond_8c + + .line 5 + invoke-virtual {p4}, Ljava/util/HashMap;->keySet()Ljava/util/Set; + + move-result-object p3 + + invoke-interface {p3}, Ljava/util/Set;->iterator()Ljava/util/Iterator; + + move-result-object p3 + + :cond_53 + :goto_53 + invoke-interface {p3}, Ljava/util/Iterator;->hasNext()Z + + move-result v0 + + if-eqz v0, :cond_8c + + .line 6 + invoke-interface {p3}, Ljava/util/Iterator;->next()Ljava/lang/Object; + + move-result-object v0 + + check-cast v0, Ljava/lang/String; + + .line 7 + invoke-virtual {p4, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; + + move-result-object v1 + + check-cast v1, Ljava/lang/String; + + .line 8 + invoke-virtual {v1}, Ljava/lang/String;->length()I + + move-result v2 + + if-lez v2, :cond_53 + + .line 9 + new-instance v2, Ljava/lang/StringBuilder; + + invoke-direct {v2}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string p1, "&" + + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string p1, "=" + + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-static {v1}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;)Ljava/lang/String; + + move-result-object p1 + + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + goto :goto_53 + + .line 10 + :cond_8c + new-instance p3, Ljava/lang/StringBuilder; + + invoke-direct {p3}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string p1, "&page=" + + invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + .line 11 + invoke-virtual {p0}, Lcom/github/catvod/spider/Bili;->Aq()Ljava/util/HashMap; + + move-result-object p3 + + invoke-static {p1, p3}, Lcom/github/catvod/spider/merge/Vf;->h(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; + + move-result-object p1 + + .line 12 + new-instance p3, Lorg/json/JSONObject; + + invoke-direct {p3, p1}, Lorg/json/JSONObject;->(Ljava/lang/String;)V + + const-string p1, "data" + + invoke-virtual {p3, p1}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; + + move-result-object p1 + + .line 13 + new-instance p3, Lorg/json/JSONArray; + + invoke-direct {p3}, Lorg/json/JSONArray;->()V + + const-string p4, "result" + + .line 14 + invoke-virtual {p1, p4}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; + + move-result-object p1 + + const/4 p4, 0x0 + + const/4 v0, 0x0 + + .line 15 + :goto_c0 + invoke-virtual {p1}, Lorg/json/JSONArray;->length()I + + move-result v1 + + if-ge v0, v1, :cond_13c + + .line 16 + invoke-virtual {p1, v0}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; + + move-result-object v1 + + .line 17 + new-instance v2, Lorg/json/JSONObject; + + invoke-direct {v2}, Lorg/json/JSONObject;->()V + + const-string v3, "pic" + + .line 18 + invoke-virtual {v1, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v3 + + const-string v4, "//" + + .line 19 + invoke-virtual {v3, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z + + move-result v4 + + if-eqz v4, :cond_ee + + .line 20 + new-instance v4, Ljava/lang/StringBuilder; + + invoke-direct {v4}, Ljava/lang/StringBuilder;->()V + + const-string v5, "https:" + + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v3 + + :cond_ee + const-string v4, "vod_id" + + const-string v5, "bvid" + + .line 21 + invoke-virtual {v1, v5}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v5 + + invoke-virtual {v2, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v4, "title" + + .line 22 + invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v4 + + .line 23 + invoke-static {v4}, Lcom/github/catvod/spider/merge/JD;->ue(Ljava/lang/String;)Lcom/github/catvod/spider/merge/vR; + + move-result-object v4 + + .line 24 + invoke-virtual {v4}, Lcom/github/catvod/spider/merge/Hq;->pE()Ljava/lang/String; + + move-result-object v4 + + const-string v5, "vod_name" + + .line 25 + invoke-virtual {v2, v5, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v4, "vod_pic" + + .line 26 + invoke-virtual {v2, v4, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v3, "duration" + + .line 27 + invoke-virtual {v1, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v1 + + const-string v3, ":" + + .line 28 + invoke-virtual {v1, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; + + move-result-object v1 + + aget-object v1, v1, p4 + + .line 29 + new-instance v3, Ljava/lang/StringBuilder; + + invoke-direct {v3}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, "分钟" + + invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v1 + + const-string v3, "vod_remarks" + + .line 30 + invoke-virtual {v2, v3, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 31 + invoke-virtual {p3, v2}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray; + + add-int/lit8 v0, v0, 0x1 + + goto/16 :goto_c0 + + .line 32 + :cond_13c + new-instance p1, Lorg/json/JSONObject; + + invoke-direct {p1}, Lorg/json/JSONObject;->()V + + const/16 p4, 0x14 + + .line 33 + invoke-static {p2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I + + move-result p2 + + const-string v0, "page" + + .line 34 + invoke-virtual {p1, v0, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + .line 35 + invoke-virtual {p3}, Lorg/json/JSONArray;->length()I + + move-result v0 + + if-ne v0, p4, :cond_154 + + add-int/lit8 p2, p2, 0x1 + + :cond_154 + const-string v0, "pagecount" + + .line 36 + invoke-virtual {p1, v0, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string p2, "limit" + + .line 37 + invoke-virtual {p1, p2, p4}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string p2, "total" + + const p4, 0x7fffffff + + .line 38 + invoke-virtual {p1, p2, p4}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string p2, "list" + + .line 39 + invoke-virtual {p1, p2, p3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 40 + invoke-virtual {p1}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object p1 + :try_end_16f + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_16f} :catch_170 + + return-object p1 + + :catch_170 + move-exception p1 + + .line 41 + invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V + + const/4 p1, 0x0 + + return-object p1 +.end method + +.method public detailContent(Ljava/util/List;)Ljava/lang/String; + .registers 13 + .annotation system Ldalvik/annotation/Signature; + value = { + "(", + "Ljava/util/List<", + "Ljava/lang/String;", + ">;)", + "Ljava/lang/String;" + } + .end annotation + + const-string v0, "_" + + const-string v1, "$" + + const-string v2, "data" + + const-string v3, "" + + const/4 v4, 0x0 + + .line 1 + :try_start_9 + invoke-interface {p1, v4}, Ljava/util/List;->get(I)Ljava/lang/Object; + + move-result-object p1 + + check-cast p1, Ljava/lang/String; + + .line 2 + new-instance v5, Ljava/lang/StringBuilder; + + invoke-direct {v5}, Ljava/lang/StringBuilder;->()V + + const-string v6, "https://api.bilibili.com/x/web-interface/archive/stat?bvid=" + + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v5 + + .line 3 + new-instance v6, Lorg/json/JSONObject; + + invoke-virtual {p0}, Lcom/github/catvod/spider/Bili;->Aq()Ljava/util/HashMap; + + move-result-object v7 + + invoke-static {v5, v7}, Lcom/github/catvod/spider/merge/Vf;->h(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; + + move-result-object v5 + + invoke-direct {v6, v5}, Lorg/json/JSONObject;->(Ljava/lang/String;)V + + .line 4 + invoke-virtual {v6, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; + + move-result-object v5 + + const-string v6, "aid" + + .line 5 + invoke-virtual {v5, v6}, Lorg/json/JSONObject;->getLong(Ljava/lang/String;)J + + move-result-wide v5 + + .line 6 + new-instance v7, Ljava/lang/StringBuilder; + + invoke-direct {v7}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {v7, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; + + invoke-virtual {v7, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v5 + + .line 7 + new-instance v6, Ljava/lang/StringBuilder; + + invoke-direct {v6}, Ljava/lang/StringBuilder;->()V + + const-string v7, "https://api.bilibili.com/x/web-interface/view?aid=" + + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v6 + + .line 8 + new-instance v7, Lorg/json/JSONObject; + + invoke-virtual {p0}, Lcom/github/catvod/spider/Bili;->Aq()Ljava/util/HashMap; + + move-result-object v8 + + invoke-static {v6, v8}, Lcom/github/catvod/spider/merge/Vf;->h(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; + + move-result-object v6 + + invoke-direct {v7, v6}, Lorg/json/JSONObject;->(Ljava/lang/String;)V + + .line 9 + invoke-virtual {v7, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; + + move-result-object v2 + + .line 10 + new-instance v6, Lorg/json/JSONObject; + + invoke-direct {v6}, Lorg/json/JSONObject;->()V + + const-string v7, "vod_id" + + .line 11 + invoke-virtual {v6, v7, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "title" + + .line 12 + invoke-virtual {v2, p1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object p1 + + const-string v7, "vod_name" + + .line 13 + invoke-virtual {v6, v7, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "pic" + + .line 14 + invoke-virtual {v2, p1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object p1 + + const-string v7, "vod_pic" + + .line 15 + invoke-virtual {v6, v7, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "tname" + + .line 16 + invoke-virtual {v2, p1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object p1 + + const-string v7, "type_name" + + .line 17 + invoke-virtual {v6, v7, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "vod_year" + + .line 18 + invoke-virtual {v6, p1, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "vod_area" + + .line 19 + invoke-virtual {v6, p1, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 20 + new-instance p1, Ljava/lang/StringBuilder; + + invoke-direct {p1}, Ljava/lang/StringBuilder;->()V + + const-string v7, "duration" + + invoke-virtual {v2, v7}, Lorg/json/JSONObject;->getLong(Ljava/lang/String;)J + + move-result-wide v7 + + const-wide/16 v9, 0x3c + + div-long/2addr v7, v9 + + invoke-virtual {p1, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; + + const-string v7, "分钟" + + invoke-virtual {p1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + const-string v7, "vod_remarks" + + .line 21 + invoke-virtual {v6, v7, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "vod_actor" + + .line 22 + invoke-virtual {v6, p1, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "vod_director" + + .line 23 + invoke-virtual {v6, p1, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "desc" + + .line 24 + invoke-virtual {v2, p1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object p1 + + const-string v3, "vod_content" + + .line 25 + invoke-virtual {v6, v3, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "vod_play_from" + + const-string v3, "B站" + + .line 26 + invoke-virtual {v6, p1, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 27 + new-instance p1, Ljava/util/ArrayList; + + invoke-direct {p1}, Ljava/util/ArrayList;->()V + + const-string v3, "pages" + + .line 28 + invoke-virtual {v2, v3}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; + + move-result-object v2 + + .line 29 + :goto_e3 + invoke-virtual {v2}, Lorg/json/JSONArray;->length()I + + move-result v3 + :try_end_e7 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_e7} :catch_143 + + const-string v7, "#" + + if-ge v4, v3, :cond_123 + + .line 30 + :try_start_eb + invoke-virtual {v2, v4}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; + + move-result-object v3 + + const-string v8, "part" + + .line 31 + invoke-virtual {v3, v8}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v8 + + .line 32 + invoke-virtual {v8, v1, v0}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; + + move-result-object v8 + + invoke-virtual {v8, v7, v0}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; + + move-result-object v7 + + .line 33 + new-instance v8, Ljava/lang/StringBuilder; + + invoke-direct {v8}, Ljava/lang/StringBuilder;->()V + + .line 34 + invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 35 + invoke-virtual {v8, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + .line 36 + invoke-virtual {v8, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v7, "+ " + + .line 37 + invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v7, "cid" + + .line 38 + invoke-virtual {v3, v7}, Lorg/json/JSONObject;->getLong(Ljava/lang/String;)J + + move-result-wide v9 + + .line 39 + invoke-virtual {v8, v9, v10}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; + + .line 40 + invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v3 + + .line 41 + invoke-virtual {p1, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z + + add-int/lit8 v4, v4, 0x1 + + goto :goto_e3 + + :cond_123 + const-string v0, "vod_play_url" + + .line 42 + invoke-static {v7, p1}, Landroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String; + + move-result-object p1 + + invoke-virtual {v6, v0, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 43 + new-instance p1, Lorg/json/JSONArray; + + invoke-direct {p1}, Lorg/json/JSONArray;->()V + + .line 44 + invoke-virtual {p1, v6}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray; + + .line 45 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + const-string v1, "list" + + .line 46 + invoke-virtual {v0, v1, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 47 + invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object p1 + :try_end_142 + .catch Ljava/lang/Exception; {:try_start_eb .. :try_end_142} :catch_143 + + return-object p1 + + :catch_143 + move-exception p1 + + .line 48 + invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V + + const/4 p1, 0x0 + + return-object p1 +.end method + +.method public homeContent(Z)Ljava/lang/String; + .registers 6 + + .line 1 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + :try_start_5 + const-string v1, "class" + + .line 2 + iget-object v2, p0, Lcom/github/catvod/spider/Bili;->Aq:Lorg/json/JSONObject; + + const-string v3, "classes" + + invoke-virtual {v2, v3}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; + + move-result-object v2 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + if-eqz p1, :cond_26 + + const-string p1, "filters" + + .line 3 + iget-object v1, p0, Lcom/github/catvod/spider/Bili;->Aq:Lorg/json/JSONObject; + + const-string v2, "filter" + + invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; + + move-result-object v1 + + invoke-virtual {v0, p1, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + :try_end_21 + .catch Lorg/json/JSONException; {:try_start_5 .. :try_end_21} :catch_22 + + goto :goto_26 + + :catch_22 + move-exception p1 + + .line 4 + invoke-static {p1}, Lcom/github/catvod/crawler/SpiderDebug;->log(Ljava/lang/Throwable;)V + + .line 5 + :cond_26 + :goto_26 + invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object p1 + + return-object p1 +.end method + +.method public homeVideoContent()Ljava/lang/String; + .registers 10 + + .line 1 + :try_start_0 + new-instance v0, Lorg/json/JSONArray; + + invoke-direct {v0}, Lorg/json/JSONArray;->()V + :try_end_5 + .catchall {:try_start_0 .. :try_end_5} :catchall_ad + + :try_start_5 + const-string v1, "https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword=窗 白噪音" + + .line 2 + invoke-virtual {p0}, Lcom/github/catvod/spider/Bili;->Aq()Ljava/util/HashMap; + + move-result-object v2 + + invoke-static {v1, v2}, Lcom/github/catvod/spider/merge/Vf;->h(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; + + move-result-object v1 + + .line 3 + new-instance v2, Lorg/json/JSONObject; + + invoke-direct {v2, v1}, Lorg/json/JSONObject;->(Ljava/lang/String;)V + + const-string v1, "data" + + invoke-virtual {v2, v1}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; + + move-result-object v1 + + const-string v2, "result" + + .line 4 + invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; + + move-result-object v1 + + const/4 v2, 0x0 + + const/4 v3, 0x0 + + .line 5 + :goto_22 + invoke-virtual {v1}, Lorg/json/JSONArray;->length()I + + move-result v4 + + if-ge v3, v4, :cond_9e + + .line 6 + invoke-virtual {v1, v3}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; + + move-result-object v4 + + .line 7 + new-instance v5, Lorg/json/JSONObject; + + invoke-direct {v5}, Lorg/json/JSONObject;->()V + + const-string v6, "pic" + + .line 8 + invoke-virtual {v4, v6}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v6 + + const-string v7, "//" + + .line 9 + invoke-virtual {v6, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z + + move-result v7 + + if-eqz v7, :cond_50 + + .line 10 + new-instance v7, Ljava/lang/StringBuilder; + + invoke-direct {v7}, Ljava/lang/StringBuilder;->()V + + const-string v8, "https:" + + invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v6 + + :cond_50 + const-string v7, "vod_id" + + const-string v8, "bvid" + + .line 11 + invoke-virtual {v4, v8}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v8 + + invoke-virtual {v5, v7, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v7, "title" + + .line 12 + invoke-virtual {v4, v7}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v7 + + .line 13 + invoke-static {v7}, Lcom/github/catvod/spider/merge/JD;->ue(Ljava/lang/String;)Lcom/github/catvod/spider/merge/vR; + + move-result-object v7 + + .line 14 + invoke-virtual {v7}, Lcom/github/catvod/spider/merge/Hq;->pE()Ljava/lang/String; + + move-result-object v7 + + const-string v8, "vod_name" + + .line 15 + invoke-virtual {v5, v8, v7}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v7, "vod_pic" + + .line 16 + invoke-virtual {v5, v7, v6}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v6, "duration" + + .line 17 + invoke-virtual {v4, v6}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v4 + + const-string v6, ":" + + .line 18 + invoke-virtual {v4, v6}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; + + move-result-object v4 + + aget-object v4, v4, v2 + + .line 19 + new-instance v6, Ljava/lang/StringBuilder; + + invoke-direct {v6}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v4, "分钟" + + invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v4 + + const-string v6, "vod_remarks" + + .line 20 + invoke-virtual {v5, v6, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 21 + invoke-virtual {v0, v5}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray; + :try_end_9a + .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_9a} :catch_9e + .catchall {:try_start_5 .. :try_end_9a} :catchall_ad + + add-int/lit8 v3, v3, 0x1 + + goto/16 :goto_22 + + .line 22 + :catch_9e + :cond_9e + :try_start_9e + new-instance v1, Lorg/json/JSONObject; + + invoke-direct {v1}, Lorg/json/JSONObject;->()V + + const-string v2, "list" + + .line 23 + invoke-virtual {v1, v2, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 24 + invoke-virtual {v1}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object v0 + :try_end_ac + .catchall {:try_start_9e .. :try_end_ac} :catchall_ad + + return-object v0 + + :catchall_ad + const-string v0, "" + + return-object v0 +.end method + +.method public init(Landroid/content/Context;Ljava/lang/String;)V + .registers 3 + + .line 1 + invoke-super {p0, p1, p2}, Lcom/github/catvod/crawler/Spider;->init(Landroid/content/Context;Ljava/lang/String;)V + + .line 2 + :try_start_3 + invoke-virtual {p0}, Lcom/github/catvod/spider/Bili;->Aq()Ljava/util/HashMap; + + move-result-object p1 + + invoke-static {p2, p1}, Lcom/github/catvod/spider/merge/Vf;->h(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; + + move-result-object p1 + + .line 3 + new-instance p2, Lorg/json/JSONObject; + + invoke-direct {p2, p1}, Lorg/json/JSONObject;->(Ljava/lang/String;)V + + iput-object p2, p0, Lcom/github/catvod/spider/Bili;->Aq:Lorg/json/JSONObject; + :try_end_12 + .catch Lorg/json/JSONException; {:try_start_3 .. :try_end_12} :catch_13 + + goto :goto_17 + + :catch_13 + move-exception p1 + + .line 4 + invoke-virtual {p1}, Lorg/json/JSONException;->printStackTrace()V + + :goto_17 + return-void +.end method + +.method public playerContent(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String; + .registers 7 + .annotation system Ldalvik/annotation/Signature; + value = { + "(", + "Ljava/lang/String;", + "Ljava/lang/String;", + "Ljava/util/List<", + "Ljava/lang/String;", + ">;)", + "Ljava/lang/String;" + } + .end annotation + + const-string p1, "url" + + :try_start_2 + const-string p3, "\\+" + + .line 1 + invoke-virtual {p2, p3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; + + move-result-object p2 + + const/4 p3, 0x0 + + .line 2 + aget-object v0, p2, p3 + + const/4 v1, 0x1 + + .line 3 + aget-object p2, p2, v1 + + .line 4 + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v2, "https://api.bilibili.com/x/player/playurl?avid=" + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v0, "&cid= " + + invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string p2, "&qn=120&fourk=1" + + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p2 + + .line 5 + new-instance v0, Lorg/json/JSONObject; + + invoke-virtual {p0}, Lcom/github/catvod/spider/Bili;->Aq()Ljava/util/HashMap; + + move-result-object v1 + + invoke-static {p2, v1}, Lcom/github/catvod/spider/merge/Vf;->h(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; + + move-result-object p2 + + invoke-direct {v0, p2}, Lorg/json/JSONObject;->(Ljava/lang/String;)V + + .line 6 + new-instance p2, Lorg/json/JSONObject; + + invoke-direct {p2}, Lorg/json/JSONObject;->()V + + const-string v1, "parse" + + const-string v2, "0" + + .line 7 + invoke-virtual {p2, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "playUrl" + + const-string v2, "" + + .line 8 + invoke-virtual {p2, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "data" + + .line 9 + invoke-virtual {v0, v1}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; + + move-result-object v0 + + const-string v1, "durl" + + .line 10 + invoke-virtual {v0, v1}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; + + move-result-object v0 + + invoke-virtual {v0, p3}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; + + move-result-object p3 + + .line 11 + invoke-virtual {p3, p1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object p3 + + .line 12 + invoke-virtual {p2, p1, p3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "header" + + const-string p3, "{\"Referer\":\"https://www.bilibili.com\",\"User-Agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36\"}" + + .line 13 + invoke-virtual {p2, p1, p3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string p1, "contentType" + + const-string p3, "video/x-flv" + + .line 14 + invoke-virtual {p2, p1, p3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 15 + invoke-virtual {p2}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object p1 + :try_end_75 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_75} :catch_76 + + return-object p1 + + :catch_76 + move-exception p1 + + .line 16 + invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V + + const/4 p1, 0x0 + + return-object p1 +.end method + +.method public searchContent(Ljava/lang/String;Z)Ljava/lang/String; + .registers 11 + + .line 1 + :try_start_0 + new-instance p2, Lorg/json/JSONObject; + + invoke-direct {p2}, Lorg/json/JSONObject;->()V + + .line 2 + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + const-string v1, "https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword=" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-static {p1}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;)Ljava/lang/String; + + move-result-object p1 + + invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p1 + + .line 3 + invoke-virtual {p0}, Lcom/github/catvod/spider/Bili;->Aq()Ljava/util/HashMap; + + move-result-object v0 + + invoke-static {p1, v0}, Lcom/github/catvod/spider/merge/Vf;->h(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; + + move-result-object p1 + + .line 4 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0, p1}, Lorg/json/JSONObject;->(Ljava/lang/String;)V + + const-string p1, "data" + + invoke-virtual {v0, p1}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; + + move-result-object p1 + + .line 5 + new-instance v0, Lorg/json/JSONArray; + + invoke-direct {v0}, Lorg/json/JSONArray;->()V + + const-string v1, "result" + + .line 6 + invoke-virtual {p1, v1}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; + + move-result-object p1 + + const/4 v1, 0x0 + + const/4 v2, 0x0 + + .line 7 + :goto_3a + invoke-virtual {p1}, Lorg/json/JSONArray;->length()I + + move-result v3 + + if-ge v2, v3, :cond_b6 + + .line 8 + invoke-virtual {p1, v2}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; + + move-result-object v3 + + .line 9 + new-instance v4, Lorg/json/JSONObject; + + invoke-direct {v4}, Lorg/json/JSONObject;->()V + + const-string v5, "pic" + + .line 10 + invoke-virtual {v3, v5}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v5 + + const-string v6, "//" + + .line 11 + invoke-virtual {v5, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z + + move-result v6 + + if-eqz v6, :cond_68 + + .line 12 + new-instance v6, Ljava/lang/StringBuilder; + + invoke-direct {v6}, Ljava/lang/StringBuilder;->()V + + const-string v7, "https:" + + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v5 + + :cond_68 + const-string v6, "vod_id" + + const-string v7, "bvid" + + .line 13 + invoke-virtual {v3, v7}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v7 + + invoke-virtual {v4, v6, v7}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v6, "title" + + .line 14 + invoke-virtual {v3, v6}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v6 + + .line 15 + invoke-static {v6}, Lcom/github/catvod/spider/merge/JD;->ue(Ljava/lang/String;)Lcom/github/catvod/spider/merge/vR; + + move-result-object v6 + + .line 16 + invoke-virtual {v6}, Lcom/github/catvod/spider/merge/Hq;->pE()Ljava/lang/String; + + move-result-object v6 + + const-string v7, "vod_name" + + .line 17 + invoke-virtual {v4, v7, v6}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v6, "vod_pic" + + .line 18 + invoke-virtual {v4, v6, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v5, "duration" + + .line 19 + invoke-virtual {v3, v5}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v3 + + const-string v5, ":" + + .line 20 + invoke-virtual {v3, v5}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; + + move-result-object v3 + + aget-object v3, v3, v1 + + .line 21 + new-instance v5, Ljava/lang/StringBuilder; + + invoke-direct {v5}, Ljava/lang/StringBuilder;->()V + + invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v3, "分钟" + + invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v3 + + const-string v5, "vod_remarks" + + .line 22 + invoke-virtual {v4, v5, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 23 + invoke-virtual {v0, v4}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray; + + add-int/lit8 v2, v2, 0x1 + + goto/16 :goto_3a + + :cond_b6 + const-string p1, "list" + + .line 24 + invoke-virtual {p2, p1, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + .line 25 + invoke-virtual {p2}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object p1 + :try_end_bf + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_bf} :catch_c0 + + return-object p1 + + :catch_c0 + move-exception p1 + + .line 26 + invoke-static {p1}, Lcom/github/catvod/crawler/SpiderDebug;->log(Ljava/lang/Throwable;)V + + const-string p1, "" + + return-object p1 +.end method diff --git a/Bilibili/Bili_1.json b/Bilibili/Bili_1.json new file mode 100644 index 0000000..6eb2c09 --- /dev/null +++ b/Bilibili/Bili_1.json @@ -0,0 +1,1456 @@ +{ + "classes": [ + { + "type_name": "整人大赏", + "type_id": "整人大赏" + }, + { + "type_name": "歌曲MV", + "type_id": "歌曲MV" + }, + { + "type_name": "影视MV", + "type_id": "影视MV" + }, + { + "type_name": "抖音", + "type_id": "抖音" + }, + { + "type_name": "搞笑", + "type_id": "搞笑" + }, + { + "type_name": "鬼畜", + "type_id": "鬼畜" + }, + { + "type_name": "Sports", + "type_id": "球星" + }, + { + "type_name": "戏曲", + "type_id": "戏曲" + }, + { + "type_name": "演唱会", + "type_id": "演唱会" + }, + { + "type_name": "动物世界", + "type_id": "动物世界" + }, + { + "type_name": "假窗白噪音", + "type_id": "窗白噪音" + }, + { + "type_name": "相声小品", + "type_id": "相声小品" + }, + { + "type_name": "儿童", + "type_id": "儿童" + } + ], + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "鬼畜": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/Bilibili/Bili_2.json b/Bilibili/Bili_2.json new file mode 100644 index 0000000..fbcaabf --- /dev/null +++ b/Bilibili/Bili_2.json @@ -0,0 +1,1440 @@ +{ + "classes": [ + { + "type_name": "搞笑", + "type_id": "搞笑" + }, + { + "type_name": "鬼畜", + "type_id": "鬼畜" + }, + { + "type_name": "Sports", + "type_id": "球星" + }, + { + "type_name": "戏曲", + "type_id": "戏曲" + }, + { + "type_name": "演唱会", + "type_id": "演唱会" + }, + { + "type_name": "动物世界", + "type_id": "动物世界" + }, + { + "type_name": "假窗白噪音", + "type_id": "窗白噪音" + }, + { + "type_name": "相声小品", + "type_id": "相声小品" + }, + { + "type_name": "儿童", + "type_id": "儿童" + } + ], + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "鬼畜": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/Bilibili/Bili_3.json b/Bilibili/Bili_3.json new file mode 100644 index 0000000..bbfa9bb --- /dev/null +++ b/Bilibili/Bili_3.json @@ -0,0 +1,1452 @@ +{ + "classes": [ + { + "type_name": "整人大赏", + "type_id": "整人大赏" + }, + { + "type_name": "影视MV", + "type_id": "影视MV" + }, + { + "type_name": "歌曲MV", + "type_id": "歌曲MV" + }, + { + "type_name": "搞笑", + "type_id": "搞笑" + }, + { + "type_name": "鬼畜", + "type_id": "鬼畜" + }, + { + "type_name": "Sports", + "type_id": "球星" + }, + { + "type_name": "戏曲", + "type_id": "戏曲" + }, + { + "type_name": "演唱会", + "type_id": "演唱会" + }, + { + "type_name": "动物世界", + "type_id": "动物世界" + }, + { + "type_name": "假窗白噪音", + "type_id": "窗白噪音" + }, + { + "type_name": "相声小品", + "type_id": "相声小品" + }, + { + "type_name": "儿童", + "type_id": "儿童" + } + ], + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "鬼畜": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/Bilibili/Bili_儿童乐园.json b/Bilibili/Bili_儿童乐园.json new file mode 100644 index 0000000..635ee3b --- /dev/null +++ b/Bilibili/Bili_儿童乐园.json @@ -0,0 +1,14 @@ +{"classes":[ + {"type_name":"儿童早教","type_id":"儿童早教"}, + {"type_name":"启蒙故事","type_id":"儿童启蒙故事"}, + {"type_name":"英语启蒙","type_id":"儿童英语启蒙"}, + {"type_name":"儿童歌曲","type_id":"儿童歌曲"}, + {"type_name":"儿童绘画","type_id":"儿童绘画"}, + {"type_name":"睡前故事","type_id":"睡前故事"}, + {"type_name":"儿童动画","type_id":"儿童动画"}, + {"type_name":"儿童音乐","type_id":"儿童音乐"}, + {"type_name":"安全教育","type_id":"儿童安全教育"}, + {"type_name":"贝瓦儿歌","type_id":"贝瓦儿歌"}, + {"type_name":"悟空识字","type_id":"悟空识字"}, + {"type_name":"宝宝巴士","type_id":"宝宝巴士"}, + {"type_name":"儿歌多多","type_id":"儿歌多多"}],"儿童":[{"key":"tid","name":"分类","value":[{"n":"全部","v":"儿童"},{"n":"教育","v":"儿童教育"},{"n":"歌曲","v":"儿童歌曲"},{"n":"舞蹈","v":"儿童舞蹈"},{"n":"成语故事","v":"儿童成语故事"},{"n":"音乐","v":"儿童音乐"},{"n":"儿童MV","v":"儿童MV"},{"n":"贝乐虎","v":"贝乐虎"},{"n":"宝宝巴士","v":"宝宝巴士"},{"n":"儿童好声音","v":"儿童好声音"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}]} \ No newline at end of file diff --git a/Bilibili/Bili_套餐.txt b/Bilibili/Bili_套餐.txt new file mode 100644 index 0000000..a016b6a --- /dev/null +++ b/Bilibili/Bili_套餐.txt @@ -0,0 +1 @@ +{"classes":[{"type_name":"搞笑","type_id":"搞笑"},{"type_name":"4K资源","type_id":"4K"},{"type_name":"8K资源","type_id":"8K"},{"type_name":"小姐姐","type_id":"小姐姐超清"},{"type_name":"广场舞","type_id":"广场舞超清"},{"type_name":"纪录片","type_id":"纪录片超清"},{"type_name":"电影解说","type_id":"电影解说超清"},{"type_name":"相声小品","type_id":"相声小品超清"},{"type_name":"动物世界","type_id":"动物世界超清"},{"type_name":"风景","type_id":"风景超清"},{"type_name":"演讲","type_id":"演讲超清"},{"type_name":"健身","type_id":"健身超清"},{"type_name":"体育","type_id":"体育超清"},{"type_name":"足球","type_id":"足球比赛超清"},{"type_name":"篮球","type_id":"篮球比赛超清"},{"type_name":"假窗白噪音","type_id":"白噪音超清"}],"filter":{"搞笑":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"鬼畜":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"窗白噪音":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"演讲":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"相声小品":[{"key":"tid","name":"分类","value":[{"n":"全部","v":"相声小品"},{"n":"单口相声","v":"单口相声"},{"n":"群口相声","v":"群口相声"},{"n":"德云社","v":"德云社"},{"n":"青曲社","v":"青曲社"},{"n":"郭德纲","v":"郭德纲"},{"n":"岳云鹏","v":"岳云鹏"},{"n":"曹云金","v":"曹云金"},{"n":"评书","v":"评书"},{"n":"小曲","v":"小曲"},{"n":"二人转","v":"二人转"},{"n":"春晚小品","v":"春晚小品"},{"n":"赵本山","v":"赵本山"},{"n":"陈佩斯","v":"陈佩斯"},{"n":"冯巩","v":"冯巩"},{"n":"宋小宝","v":"宋小宝"},{"n":"赵丽蓉","v":"赵丽蓉"},{"n":"郭达","v":"郭达"},{"n":"潘长江","v":"潘长江"},{"n":"郭冬临","v":"郭冬临"},{"n":"严顺开","v":"严顺开"},{"n":"文松","v":"文松"},{"n":"开心麻花","v":"开心麻花"},{"n":"屌丝男士","v":"屌丝男士"},{"n":"喜剧综艺","v":"喜剧综艺"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"动物世界":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"广场舞":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}]}} \ No newline at end of file diff --git a/Bilibili/Bili_女团.txt b/Bilibili/Bili_女团.txt new file mode 100644 index 0000000..c9fc186 --- /dev/null +++ b/Bilibili/Bili_女团.txt @@ -0,0 +1 @@ +{"classes":[{"type_name":"舞蹈","type_id":"舞蹈MV 4K"},{"type_name":"宅舞","type_id":"宅舞 4K"},{"type_name":"热舞","type_id":"热舞 4K"},{"type_name":"古风舞蹈","type_id":"古风舞蹈 4K"},{"type_name":"印度歌舞","type_id":"印度歌舞 4K"},{"type_name":"中国女团","type_id":"中国女团 4K"},{"type_name":"日本女团","type_id":"日本女团 4K"},{"type_name":"韩国女团","type_id":"韩国女团 4K"}],"舞蹈 4K":[{"key":"tid","name":"分类","value":[{"n":"全部","v":"舞蹈"},{"n":"宅舞","v":"宅舞"},{"n":"街舞","v":"街舞"},{"n":"明星舞蹈","v":"明星舞蹈"},{"n":"韩舞","v":"韩舞"},{"n":"古典舞","v":"古典舞"},{"n":"翻跳","v":"翻跳"},{"n":"中国舞","v":"中国舞"},{"n":"古风舞","v":"古风舞"},{"n":"现代舞","v":"现代舞"},{"n":"爵士舞","v":"爵士舞"},{"n":"芭蕾","v":"芭蕾"},{"n":"编舞","v":"编舞"},{"n":"POPPING","v":"POPPING"},{"n":"极乐净土","v":"极乐净土"},{"n":"桃源恋歌","v":"桃源恋歌"},{"n":"新宝岛","v":"新宝岛"},{"n":"拉丁舞","v":"拉丁舞"},{"n":"蹦迪","v":"蹦迪"},{"n":"民族舞","v":"民族舞"},{"n":"抖肩舞","v":"抖肩舞"},{"n":"齐舞","v":"齐舞"},{"n":"机械舞","v":"机械舞"},{"n":"广场舞","v":"广场舞"},{"n":"BDF","v":"BDF"},{"n":"抖音合集","v":"抖音合集"},{"n":"快手美女合集","v":"快手美女合集"},{"n":"练习室","v":"练习室"},{"n":"美女舞蹈","v":"美女舞蹈"},{"n":"牛仔裤","v":"牛仔裤"},{"n":"黑丝","v":"黑丝"},{"n":"超短裤","v":"超短裤"},{"n":"超短裙","v":"超短裙"},{"n":"舞蹈综合","v":"舞蹈综合"},{"n":"舞蹈教程","v":"舞蹈教程"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"女团 4K":[{"key":"tid","name":"女团","value":[{"n":"全部","v":"女团 MV 合集"}]},{"key":"tid","name":"中国女团","value":[{"n":"SNH48","v":"SNH48 MV 合集"},{"n":"S.H.E","v":"S.H.E MV 合集"},{"n":"Twins","v":"Twins MV 合集"},{"n":"火箭少女101","v":"火箭少女101 MV 合集"},{"n":"BY2","v":"BY2 MV 合集"},{"n":"S.I.N.G","v":"S.I.N.G MV 合集"},{"n":"3unshine","v":"3unshine MV 合集"},{"n":"蜜蜂少女队","v":"蜜蜂少女队 MV 合集"},{"n":"七朵组合","v":"七朵组合 MV 合集"},{"n":"GNZ48","v":"GNZ48 MV 合集"}]},{"key":"tid","name":"韩国女团","value":[{"n":"全部","v":"韩国女团 MV 合集"},{"n":"TWICE","v":"TWICE MV 合集"},{"n":"4MINUTE","v":"4MINUTE MV 合集"},{"n":"EXID","v":"EXID MV 合集"},{"n":"KARA","v":"KARA MV 合集"},{"n":"TARA","v":"TARA MV 合集"},{"n":"BLACKPINK","v":"BLACKPINK MV 合集"},{"n":"LOONA","v":"LOONA MV 合集"},{"n":"ITZY","v":"ITZY MV 合集"},{"n":"Red Velvet","v":"Red Velvet MV 合集"},{"n":"Everglow","v":"Everglow MV 合集"},{"n":"Mamamoo","v":"Mamamoo MV 合集"},{"n":"少女时代","v":"少女时代 MV 合集"},{"n":"S.E.S","v":"S.E.S MV 合集"},{"n":"FIN.K.L","v":"FIN.K.L MV 合集"},{"n":"2NE1","v":"2NE1 MV 合集"},{"n":"Wonder Girls","v":"Wonder Girls MV 合集"},{"n":"IZ*ONE","v":"IZ*ONE MV 合集"},{"n":"Sistar","v":"Sistar MV 合集"},{"n":"Apink","v":"Apink MV 合集"},{"n":"AOA","v":"AOA MV 合集"},{"n":"GFRIEND","v":"GFRIEND MV 合集"},{"n":"f(x)","v":"f(x) MV 合集"},{"n":"(G)I-DLE","v":"(G)I-DLE MV 合集"},{"n":"Itzy","v":"Itzy MV 合集"},{"n":"Oh! GG","v":"Oh! GG MV 合集"},{"n":"GirlCrush","v":"GirlCrush MV 合集"}]},{"key":"tid","name":"日本女团","value":[{"n":"全部","v":"日本女团 MV 合集"},{"n":"AKB48","v":"AKB48 MV 合集"},{"n":"SKE48","v":"SKE48 MV 合集"},{"n":"NMB48","v":"NMB48 MV 合集"},{"n":"JKT48","v":"JKT48 MV 合集"},{"n":"HKT48","v":"HKT48 MV 合集"},{"n":"AKB48 Team TP","v":"AKB48 Team TP MV 合集"},{"n":"Perfume","v":"Perfume MV 合集"},{"n":"桃色幸运草Z","v":"桃色幸运草Z MV 合集"},{"n":"乃木坂46乃","v":"乃木坂46乃 MV 合集"},{"n":"樱坂46","v":"樱坂46 MV 合集"},{"n":"日向坂46","v":"日向坂46 MV 合集"},{"n":"E-girls","v":"E-girls MV 合集"},{"n":"NiziU","v":"NiziU MV 合集"},{"n":"BiSH","v":"BiSH MV 合集"},{"n":"早安少女组","v":"早安少女组 MV 合集"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}]} \ No newline at end of file diff --git a/Bilibili/Bili_戏曲.txt b/Bilibili/Bili_戏曲.txt new file mode 100644 index 0000000..d67e252 --- /dev/null +++ b/Bilibili/Bili_戏曲.txt @@ -0,0 +1 @@ +{"classes":[{"type_name":"京剧","type_id":"京剧超清"},{"type_name":"越剧","type_id":"越剧超清"},{"type_name":"蒲剧","type_id":"蒲剧超清"},{"type_name":"眉户","type_id":"眉户超清"},{"type_name":"吕剧","type_id":"吕剧超清"},{"type_name":"楚剧","type_id":"楚剧超清"},{"type_name":"歌仔戏","type_id":"歌仔戏超清"},{"type_name":"黄梅戏","type_id":"黄梅戏超清"},{"type_name":"评剧","type_id":"评剧超清"},{"type_name":"豫剧","type_id":"豫剧超清"},{"type_name":"花鼓戏","type_id":"花鼓戏超清"},{"type_name":"布袋戏","type_id":"布袋戏合集超清"},{"type_name":"沪剧","type_id":"沪剧超清"},{"type_name":"昆曲","type_id":"昆曲超清"},{"type_name":"潮剧","type_id":"潮剧超清"},{"type_name":"超清潮剧","type_id":"超清潮剧超清"},{"type_name":"百花潮剧院","type_id":"百花潮剧院超清"},{"type_name":"香港潮剧","type_id":"香港潮剧超清"},{"type_name":"潮剧院","type_id":"潮剧院超清"},{"type_name":"潮剧团","type_id":"潮剧团超清"},{"type_name":"潮剧全剧","type_id":"潮剧全剧超清"},{"type_name":"潮剧选段","type_id":"潮剧选段超清"},{"type_name":"名家潮剧","type_id":"名家潮剧超清"},{"type_name":"潮汕小品","type_id":"潮汕小品超清"},{"type_name":"潮汕讲古","type_id":"潮汕讲古超清"},{"type_name":"绍兴莲花落","type_id":"绍兴莲花落超清"},{"type_name":"河北梆子","type_id":"河北梆子超清"},{"type_name":"梆子腔","type_id":"梆子腔超清"},{"type_name":"晋剧","type_id":"晋剧超清"},{"type_name":"龙江剧","type_id":"龙江剧超清"},{"type_name":"越调","type_id":"越调超清"},{"type_name":"河南曲剧","type_id":"河南曲剧超清"},{"type_name":"山东梆子","type_id":"山东梆子超清"},{"type_name":"淮剧","type_id":"淮剧超清"},{"type_name":"滑稽戏","type_id":"滑稽戏超清"},{"type_name":"婺剧","type_id":"婺剧超清"},{"type_name":"绍剧","type_id":"绍剧超清"},{"type_name":"徽剧","type_id":"徽剧超清"},{"type_name":"雁剧","type_id":"雁剧超清"},{"type_name":"上党梆子","type_id":"上党梆子超清"},{"type_name":"秦腔","type_id":"秦腔超清"},{"type_name":"武安平调","type_id":"武安平调超清"},{"type_name":"二人台","type_id":"二人台超清"},{"type_name":"吉剧","type_id":"吉剧超清"},{"type_name":"高腔","type_id":"高腔超清"}],"潮剧":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"超清潮剧":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"百花潮剧院":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"潮剧院":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"潮剧团":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}],"戏曲":[{"key":"tid","name":"分类","value":[{"n":"全部","v":"戏曲"},{"n":"京剧","v":"京剧"},{"n":"越剧","v":"越剧"},{"n":"黄梅戏","v":"黄梅戏"},{"n":"评剧","v":"评剧"},{"n":"豫剧","v":"豫剧"},{"n":"昆曲","v":"昆曲"},{"n":"高腔","v":"高腔"},{"n":"梆子腔","v":"梆子腔"},{"n":"河北梆子","v":"河北梆子"},{"n":"晋剧","v":"晋剧"},{"n":"蒲剧","v":"蒲剧"},{"n":"雁剧","v":"雁剧"},{"n":"上党梆子","v":"上党梆子"},{"n":"秦腔","v":"秦腔"},{"n":"武安平调","v":"武安平调"},{"n":"二人台","v":"二人台"},{"n":"吉剧","v":"吉剧"},{"n":"龙江剧","v":"龙江剧"},{"n":"越调","v":"越调"},{"n":"河南曲剧","v":"河南曲剧"},{"n":"山东梆子","v":"山东梆子"},{"n":"淮剧","v":"淮剧"},{"n":"沪剧","v":"沪剧"},{"n":"滑稽戏","v":"滑稽戏"},{"n":"婺剧","v":"婺剧"},{"n":"绍剧","v":"绍剧"},{"n":"徽剧","v":"徽剧"},{"n":"闽剧","v":"闽剧"},{"n":"莆仙戏","v":"莆仙戏"},{"n":"梨园戏","v":"梨园戏"},{"n":"高甲戏","v":"高甲戏"},{"n":"赣剧","v":"赣剧"},{"n":"采茶戏","v":"采茶戏"},{"n":"汉剧","v":"汉剧"},{"n":"湘剧","v":"湘剧"},{"n":"祁剧","v":"祁剧"},{"n":"湖南花鼓戏","v":"湖南花鼓戏"},{"n":"粤剧","v":"粤剧"},{"n":"潮剧","v":"潮剧"},{"n":"桂剧","v":"桂剧"},{"n":"彩调","v":"彩调"},{"n":"壮剧","v":"壮剧"},{"n":"川剧","v":"川剧"},{"n":"黔剧","v":"黔剧"},{"n":"滇剧","v":"滇剧"},{"n":"傣剧","v":"傣剧"},{"n":"藏剧","v":"藏剧"},{"n":"皮影戏","v":"皮影戏"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}]} \ No newline at end of file diff --git a/Bilibili/Bili_教程.json b/Bilibili/Bili_教程.json new file mode 100644 index 0000000..895d2ae --- /dev/null +++ b/Bilibili/Bili_教程.json @@ -0,0 +1,1075 @@ + { + "classes": [{ + "type_name": "MT管理器", + "type_id": "MT管理器" + }, { + "type_name": "网盘挂载", + "type_id": "网盘挂载" + }, { + "type_name": "alist+WebDav", + "type_id": "alist+WebDav" + }, { + "type_name": "Photoshop", + "type_id": "PS教程" + },{ + "type_name": "EXCEL", + "type_id": "EXCEL教程" + }, { + "type_name": "office", + "type_id": "office教程" + }, { + "type_name": "WPS", + "type_id": "WPS教程" + }, { + "type_name": "Studio one", + "type_id": "Studio one教程" + }, { + "type_name": "声卡调试", + "type_id": "声卡调试" + }, { + "type_name": "Git入门到精通", + "type_id": "Git入门到精通" + }, { + "type_name": "...", + "type_id": "..." + }], + "filter": { + "搞笑": [{ + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "TVBox": [{ + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "球星": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "球星" + }, { + "n": "梅西", + "v": "梅西" + }, { + "n": "C罗", + "v": "C罗" + }, { + "n": "天下足球", + "v": "天下足球" + }, { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, { + "n": "亨利", + "v": "亨利" + }, { + "n": "小罗", + "v": "小罗" + }, { + "n": "齐达内", + "v": "齐达内" + }, { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, { + "n": "内马尔", + "v": "内马尔" + }, { + "n": "德布劳内", + "v": "德布劳内" + }, { + "n": "欧冠", + "v": "欧冠" + }, { + "n": "世界杯", + "v": "世界杯" + }, { + "n": "西甲", + "v": "西甲" + }, { + "n": "英超", + "v": "英超" + }, { + "n": "意甲", + "v": "意甲" + }, { + "n": "德甲", + "v": "德甲" + }, { + "n": "国米", + "v": "国米" + }, { + "n": "皇马", + "v": "皇马" + }, { + "n": "巴萨", + "v": "巴萨" + }, { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, { + "n": "曼联", + "v": "曼联" + }, { + "n": "曼城", + "v": "曼城" + }, { + "n": "NBA", + "v": "NBA" + }, { + "n": "詹姆斯", + "v": "詹姆斯" + }, { + "n": "库里", + "v": "库里" + }, { + "n": "杜兰特", + "v": "杜兰特" + }, { + "n": "UFC", + "v": "UFC" + }, { + "n": "斯诺克", + "v": "斯诺克" + }, { + "n": "网球", + "v": "网球" + }, { + "n": "F1", + "v": "F1" + }, { + "n": "高尔夫", + "v": "高尔夫" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "相声小品": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "相声小品" + }, { + "n": "单口相声", + "v": "单口相声" + }, { + "n": "群口相声", + "v": "群口相声" + }, { + "n": "德云社", + "v": "德云社" + }, { + "n": "青曲社", + "v": "青曲社" + }, { + "n": "郭德纲", + "v": "郭德纲" + }, { + "n": "岳云鹏", + "v": "岳云鹏" + }, { + "n": "曹云金", + "v": "曹云金" + }, { + "n": "评书", + "v": "评书" + }, { + "n": "小曲", + "v": "小曲" + }, { + "n": "二人转", + "v": "二人转" + }, { + "n": "春晚小品", + "v": "春晚小品" + }, { + "n": "赵本山", + "v": "赵本山" + }, { + "n": "陈佩斯", + "v": "陈佩斯" + }, { + "n": "冯巩", + "v": "冯巩" + }, { + "n": "宋小宝", + "v": "宋小宝" + }, { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, { + "n": "郭达", + "v": "郭达" + }, { + "n": "潘长江", + "v": "潘长江" + }, { + "n": "郭冬临", + "v": "郭冬临" + }, { + "n": "严顺开", + "v": "严顺开" + }, { + "n": "文松", + "v": "文松" + }, { + "n": "开心麻花", + "v": "开心麻花" + }, { + "n": "屌丝男士", + "v": "屌丝男士" + }, { + "n": "喜剧综艺", + "v": "喜剧综艺" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "儿童": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "儿童" + }, { + "n": "教育", + "v": "儿童教育" + }, { + "n": "歌曲", + "v": "儿童歌曲" + }, { + "n": "舞蹈", + "v": "儿童舞蹈" + }, { + "n": "成语故事", + "v": "儿童成语故事" + }, { + "n": "音乐", + "v": "儿童音乐" + }, { + "n": "儿童MV", + "v": "儿童MV" + }, { + "n": "贝乐虎", + "v": "贝乐虎" + }, { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, { + "n": "儿童好声音", + "v": "儿童好声音" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "动物世界": [{ + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "戏曲": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "戏曲" + }, { + "n": "京剧", + "v": "京剧" + }, { + "n": "越剧", + "v": "越剧" + }, { + "n": "黄梅戏", + "v": "黄梅戏" + }, { + "n": "评剧", + "v": "评剧" + }, { + "n": "豫剧", + "v": "豫剧" + }, { + "n": "昆曲", + "v": "昆曲" + }, { + "n": "高腔", + "v": "高腔" + }, { + "n": "梆子腔", + "v": "梆子腔" + }, { + "n": "河北梆子", + "v": "河北梆子" + }, { + "n": "晋剧", + "v": "晋剧" + }, { + "n": "蒲剧", + "v": "蒲剧" + }, { + "n": "雁剧", + "v": "雁剧" + }, { + "n": "上党梆子", + "v": "上党梆子" + }, { + "n": "秦腔", + "v": "秦腔" + }, { + "n": "武安平调", + "v": "武安平调" + }, { + "n": "二人台", + "v": "二人台" + }, { + "n": "吉剧", + "v": "吉剧" + }, { + "n": "龙江剧", + "v": "龙江剧" + }, { + "n": "越调", + "v": "越调" + }, { + "n": "河南曲剧", + "v": "河南曲剧" + }, { + "n": "山东梆子", + "v": "山东梆子" + }, { + "n": "淮剧", + "v": "淮剧" + }, { + "n": "沪剧", + "v": "沪剧" + }, { + "n": "滑稽戏", + "v": "滑稽戏" + }, { + "n": "婺剧", + "v": "婺剧" + }, { + "n": "绍剧", + "v": "绍剧" + }, { + "n": "徽剧", + "v": "徽剧" + }, { + "n": "闽剧", + "v": "闽剧" + }, { + "n": "莆仙戏", + "v": "莆仙戏" + }, { + "n": "梨园戏", + "v": "梨园戏" + }, { + "n": "高甲戏", + "v": "高甲戏" + }, { + "n": "赣剧", + "v": "赣剧" + }, { + "n": "采茶戏", + "v": "采茶戏" + }, { + "n": "汉剧", + "v": "汉剧" + }, { + "n": "湘剧", + "v": "湘剧" + }, { + "n": "祁剧", + "v": "祁剧" + }, { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, { + "n": "粤剧", + "v": "粤剧" + }, { + "n": "潮剧", + "v": "潮剧" + }, { + "n": "桂剧", + "v": "桂剧" + }, { + "n": "彩调", + "v": "彩调" + }, { + "n": "壮剧", + "v": "壮剧" + }, { + "n": "川剧", + "v": "川剧" + }, { + "n": "黔剧", + "v": "黔剧" + }, { + "n": "滇剧", + "v": "滇剧" + }, { + "n": "傣剧", + "v": "傣剧" + }, { + "n": "藏剧", + "v": "藏剧" + }, { + "n": "皮影戏", + "v": "皮影戏" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "窗白噪音": [{ + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "演唱会": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "演唱会" + }, { + "n": "周杰伦", + "v": "周杰伦" + }, { + "n": "陈奕迅", + "v": "陈奕迅" + }, { + "n": "Beyond", + "v": "Beyond" + }, { + "n": "刘德华", + "v": "刘德华" + }, { + "n": "郭富城", + "v": "郭富城" + }, { + "n": "张学友", + "v": "张学友" + }, { + "n": "黎明", + "v": "黎明" + }, { + "n": "李宗盛", + "v": "李宗盛" + }, { + "n": "邓丽君", + "v": "邓丽君" + }, { + "n": "朴树", + "v": "朴树" + }, { + "n": "林子祥", + "v": "林子祥" + }, { + "n": "任贤齐", + "v": "任贤齐" + }, { + "n": "张信哲", + "v": "张信哲" + }, { + "n": "孙楠", + "v": "孙楠" + }, { + "n": "张宇", + "v": "张宇" + }, { + "n": "周华健", + "v": "周华健" + }, { + "n": "蔡依林", + "v": "蔡依林" + }, { + "n": "薛之谦", + "v": "薛之谦" + }, { + "n": "洛天依", + "v": "洛天依" + }, { + "n": "初音未来", + "v": "初音未来" + }, { + "n": "许嵩", + "v": "许嵩" + }, { + "n": "戴佩妮", + "v": "戴佩妮" + }, { + "n": "邓紫棋", + "v": "邓紫棋" + }, { + "n": "张韶涵", + "v": "张韶涵" + }, { + "n": "蔡健雅", + "v": "蔡健雅" + }, { + "n": "莫文蔚", + "v": "莫文蔚" + }, { + "n": "刘若英", + "v": "刘若英" + }, { + "n": "周深", + "v": "周深" + }, { + "n": "毛不易", + "v": "毛不易" + }, { + "n": "汪苏泷", + "v": "汪苏泷" + }, { + "n": "李宇春", + "v": "李宇春" + }, { + "n": "徐佳莹", + "v": "徐佳莹" + }, { + "n": "杨宗纬", + "v": "杨宗纬" + }, { + "n": "胡彦斌", + "v": "胡彦斌" + }, { + "n": "杨千嬅", + "v": "杨千嬅" + }, { + "n": "张靓颖", + "v": "张靓颖" + }, { + "n": "李荣浩", + "v": "李荣浩" + }, { + "n": "杨丞琳", + "v": "杨丞琳" + }, { + "n": "林志炫", + "v": "林志炫" + }, { + "n": "陶喆", + "v": "陶喆" + }, { + "n": "胡夏", + "v": "胡夏" + }, { + "n": "李玉刚", + "v": "李玉刚" + }, { + "n": "弦子", + "v": "弦子" + }, { + "n": "陈小春", + "v": "陈小春" + }, { + "n": "萧亚轩", + "v": "萧亚轩" + }, { + "n": "鹿晗", + "v": "鹿晗" + }, { + "n": "纵贯线", + "v": "纵贯线" + }, { + "n": "许巍", + "v": "许巍" + }, { + "n": "林俊杰", + "v": "林俊杰" + }, { + "n": "赵雷", + "v": "赵雷" + }, { + "n": "谭咏麟", + "v": "谭咏麟" + }, { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, { + "n": "容祖儿", + "v": "容祖儿" + }, { + "n": "周传雄", + "v": "周传雄" + }, { + "n": "SHE", + "v": "SHE" + }, { + "n": "苏打绿", + "v": "苏打绿" + }, { + "n": "五月天", + "v": "五月天" + }, { + "n": "张国荣", + "v": "张国荣" + }, { + "n": "梅艳芳", + "v": "梅艳芳" + }, { + "n": "孙燕姿", + "v": "孙燕姿" + }, { + "n": "李健", + "v": "李健" + }, { + "n": "华晨宇", + "v": "华晨宇" + }, { + "n": "袁娅维", + "v": "袁娅维" + }, { + "n": "大张伟", + "v": "大张伟" + }, { + "n": "TFBOYS", + "v": "TFBOYS" + }, { + "n": "王俊凯", + "v": "王俊凯" + }, { + "n": "易烊千玺", + "v": "易烊千玺" + }, { + "n": "王源", + "v": "王源" + }, { + "n": "田馥甄", + "v": "田馥甄" + }, { + "n": "小虎队", + "v": "小虎队" + }, { + "n": "张杰", + "v": "张杰" + }, { + "n": "王菲", + "v": "王菲" + }, { + "n": "伍佰", + "v": "伍佰" + }, { + "n": "刀郎", + "v": "刀郎" + }, { + "n": "草蜢", + "v": "草蜢" + }, { + "n": "潘玮柏", + "v": "潘玮柏" + }, { + "n": "梁静茹", + "v": "梁静茹" + }, { + "n": "林宥嘉", + "v": "林宥嘉" + }, { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, { + "n": "周慧敏", + "v": "周慧敏" + }, { + "n": "李圣杰", + "v": "李圣杰" + }, { + "n": "张惠妹", + "v": "张惠妹" + }, { + "n": "萧敬腾", + "v": "萧敬腾" + }, { + "n": "周笔畅", + "v": "周笔畅" + }, { + "n": "焦迈奇", + "v": "焦迈奇" + }, { + "n": "尤长靖", + "v": "尤长靖" + }, { + "n": "郑中基", + "v": "郑中基" + }, { + "n": "谭维维", + "v": "谭维维" + }, { + "n": "陈慧娴", + "v": "陈慧娴" + }, { + "n": "张艺兴", + "v": "张艺兴" + }, { + "n": "王嘉尔", + "v": "王嘉尔" + }, { + "n": "刘宪华", + "v": "刘宪华" + }, { + "n": "张敬轩", + "v": "张敬轩" + }, { + "n": "李克勤", + "v": "李克勤" + }, { + "n": "阿杜", + "v": "阿杜" + }, { + "n": "郭静", + "v": "郭静" + }, { + "n": "崔健", + "v": "崔健" + }, { + "n": "庾澄庆", + "v": "庾澄庆" + }, { + "n": "汪峰", + "v": "汪峰" + }, { + "n": "那英", + "v": "那英" + }, { + "n": "杨坤", + "v": "杨坤" + }, { + "n": "叶倩文", + "v": "叶倩文" + }, { + "n": "王心凌", + "v": "王心凌" + }, { + "n": "张震岳", + "v": "张震岳" + }, { + "n": "韩红", + "v": "韩红" + }, { + "n": "齐秦", + "v": "齐秦" + }, { + "n": "张雨生", + "v": "张雨生" + }, { + "n": "黄品源", + "v": "黄品源" + }, { + "n": "林忆莲", + "v": "林忆莲" + }, { + "n": "丁当", + "v": "丁当" + }, { + "n": "郑智化", + "v": "郑智化" + }, { + "n": "李玟", + "v": "李玟" + }, { + "n": "谢霆锋", + "v": "谢霆锋" + }, { + "n": "黄小琥", + "v": "黄小琥" + }, { + "n": "徐小凤", + "v": "徐小凤" + }, { + "n": "任嘉伦", + "v": "任嘉伦" + }, { + "n": "卓依婷", + "v": "卓依婷" + }, { + "n": "逃跑计划", + "v": "逃跑计划" + }, { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, { + "n": "花儿乐队", + "v": "花儿乐队" + }, { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, { + "n": "水木年华", + "v": "水木年华" + }, { + "n": "动力火车", + "v": "动力火车" + }, { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, { + "n": "信乐队", + "v": "信乐队" + }, { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, { + "n": "By2", + "v": "By2" + }, { + "n": "郁可唯", + "v": "郁可唯" + }, { + "n": "宋亚森", + "v": "宋亚森" + }, { + "n": "费玉清", + "v": "费玉清" + }, { + "n": "费翔", + "v": "费翔" + }, { + "n": "金志文", + "v": "金志文" + }, { + "n": "黄家强", + "v": "黄家强" + }, { + "n": "方大同", + "v": "方大同" + }, { + "n": "吴克群", + "v": "吴克群" + }, { + "n": "罗大佑", + "v": "罗大佑" + }, { + "n": "光良", + "v": "光良" + }, { + "n": "田震", + "v": "田震" + }, { + "n": "凤飞飞", + "v": "凤飞飞" + }, { + "n": "谭晶", + "v": "谭晶" + }, { + "n": "王杰", + "v": "王杰" + }, { + "n": "羽泉", + "v": "羽泉" + }, { + "n": "金池", + "v": "金池" + }, { + "n": "屠洪刚", + "v": "屠洪刚" + }, { + "n": "戴荃", + "v": "戴荃" + }, { + "n": "郭采洁", + "v": "郭采洁" + }, { + "n": "罗志祥", + "v": "罗志祥" + }, { + "n": "王力宏", + "v": "王力宏" + }, { + "n": "林肯公园", + "v": "林肯公园" + }, { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, { + "n": "阿黛尔", + "v": "阿黛尔" + }, { + "n": "BIGBANG", + "v": "BIGBANG" + }, { + "n": "LadyGaga", + "v": "LadyGaga" + }, { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, { + "n": "中岛美雪", + "v": "中岛美雪" + }, { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, { + "n": "后街男孩", + "v": "后街男孩" + }, { + "n": "布兰妮", + "v": "布兰妮" + }, { + "n": "夜愿乐队", + "v": "夜愿乐队" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }] + } + } \ No newline at end of file diff --git a/Bilibili/Bili_歌曲.txt b/Bilibili/Bili_歌曲.txt new file mode 100644 index 0000000..74a9632 --- /dev/null +++ b/Bilibili/Bili_歌曲.txt @@ -0,0 +1 @@ +{ "classes": [ { "type_name": "粤语MV", "type_id": "粤语MV4k合集" }, { "type_name": "2022年热榜MV", "type_id": "2022年热门MV4k合集" }, { "type_name": "KTV热门", "type_id": "KTV热门MV4k合集" }, { "type_name": "滚石经典", "type_id": "滚石MV4k合集" }, { "type_name": "经典老歌", "type_id": "经典老歌" }, { "type_name": "古风MV", "type_id": "古风MV4k合集" }, { "type_name": "闽南语MV", "type_id": "闽南语MV4k合集" }, { "type_name": "印度歌舞", "type_id": "印度歌舞MV4k合集" }, { "type_name": "网红翻唱", "type_id": "网红翻唱MV4k合集" }, { "type_name": "韩国女团", "type_id": "韩国女团MV4k合集" }, { "type_name": "A阿黛尔", "type_id": "阿黛尔MV4k合集" }, { "type_name": "Blackpink", "type_id": "blackpinkMV4k合集" }, { "type_name": "Beyond", "type_id": "beyondMV超清合集" }, { "type_name": "B坂井泉水", "type_id": "坂井泉水MV超清合集" }, { "type_name": "B宝丽金", "type_id": "宝丽金MV超清合集" }, { "type_name": "B布兰妮", "type_id": "布兰妮MV超清合集" }, { "type_name": "C崔健", "type_id": "催件MV超清合集" }, { "type_name": "C草蜢", "type_id": "草蜢MV超清合集" }, { "type_name": "Coldplay", "type_id": "coldplayMV超清合集" }, { "type_name": "C陈慧娴", "type_id": "陈慧娴MV超清合集" }, { "type_name": "C陈百强", "type_id": "陈百强MV超清合集" }, { "type_name": "C陈淑桦", "type_id": "陈淑桦MV超清合集" }, { "type_name": "C陈慧琳", "type_id": "陈慧琳MV超清合集" }, { "type_name": "D邓丽君", "type_id": "邓丽君MV超清合集" }, { "type_name": "D邓紫棋", "type_id": "邓紫棋MV超清合集" }, { "type_name": "D刀郎", "type_id": "刀郎MV超清合集" }, { "type_name": "D达明一派", "type_id": "刘以达MV超清合集" }, { "type_name": "F费玉清", "type_id": "费玉清MV超清合集" }, { "type_name": "F飞图", "type_id": "飞图MV超清合集" }, { "type_name": "G谷村新司", "type_id": "谷村新司MV超清合集" }, { "type_name": "G郭富城", "type_id": "郭富城MV超清合集" }, { "type_name": "G关淑怡", "type_id": "关淑怡MV超清合集" }, { "type_name": "H黄凯芹", "type_id": "黄凯芹MV超清合集" }, { "type_name": "J降央卓玛", "type_id": "降央卓玛MV超清合集" }, { "type_name": "J江慧", "type_id": "江慧MV超清合集" }, { "type_name": "J吉永小百合", "type_id": "吉永小百合MV超清合集" }, { "type_name": "J金庸", "type_id": "金庸影视MV超清合集" }, { "type_name": "K柯以敏", "type_id": "柯以敏MV超清合集" }, { "type_name": "K邝美云", "type_id": "邝美云MV超清合集" }, { "type_name": "L刘德华", "type_id": "刘德华MV超清合集" }, { "type_name": "Lady Gaga", "type_id": "Lady GagaMV超清合集" }, { "type_name": "L龙飘飘", "type_id": "龙飘飘MV超清合集" }, { "type_name": "L罗大佑", "type_id": "罗大佑MV" }, { "type_name": "L林志炫", "type_id": "林志炫MV" }, { "type_name": "L林忆莲", "type_id": "林忆莲MV" }, { "type_name": "L李知恩", "type_id": "李知恩MV" }, { "type_name": "L梁静茹", "type_id": "梁静茹MV" }, { "type_name": "L冷漠", "type_id": "冷漠MV" }, { "type_name": "L李克勤", "type_id": "李克勤MV" }, { "type_name": "L林子祥", "type_id": "林子祥MV" }, { "type_name": "L黎明", "type_id": "黎明MV" }, { "type_name": "L刘若英", "type_id": "刘若英MV" }, { "type_name": "M莫文蔚", "type_id": "莫文蔚MV" }, { "type_name": "M孟庭苇", "type_id": "孟庭苇MV" }, { "type_name": "M麦当娜", "type_id": "麦当娜MV" }, { "type_name": "M迈克杰克逊", "type_id": "迈克杰克逊MV" }, { "type_name": "N雅尼紫禁城", "type_id": "雅尼紫禁城MV" }, { "type_name": "P潘越云", "type_id": "潘越云MV" }, { "type_name": "P潘美辰", "type_id": "潘美辰MV" }, { "type_name": "Q齐秦", "type_id": "齐秦MV" }, { "type_name": "R任贤齐", "type_id": "任贤齐MV" }, { "type_name": "S苏慧伦", "type_id": "苏慧伦MV" }, { "type_name": "T童安格", "type_id": "童安格MV" }, { "type_name": "TFBOYS", "type_id": "TFBOYSMV" }, { "type_name": "T太极乐队", "type_id": "太极乐队MV" }, { "type_name": "T唐朝摇滚", "type_id": "唐朝摇滚MV" }, { "type_name": "T谭咏麟", "type_id": "谭咏麟MV" }, { "type_name": "W王琪", "type_id": "王琪MV" }, { "type_name": "W伍珂玥", "type_id": "伍珂玥MV" }, { "type_name": "W王杰", "type_id": "王杰MV" }, { "type_name": "W伍佰", "type_id": "伍佰MV" }, { "type_name": "W温兆伦", "type_id": "温兆伦MV" }, { "type_name": "W王菲", "type_id": "王菲MV" }, { "type_name": "X徐小凤", "type_id": "徐小凤MV" }, { "type_name": "X席琳迪翁", "type_id": "席琳迪翁MV" }, { "type_name": "X许嵩", "type_id": "黄许嵩MV" }, { "type_name": "X许美静", "type_id": "许美静MV" }, { "type_name": "X许冠杰", "type_id": "许冠杰MV" }, { "type_name": "X熊天平", "type_id": "熊天平MV" }, { "type_name": "X小虎队", "type_id": "小虎队MV" }, { "type_name": "X许巍", "type_id": "许巍MV" }, { "type_name": "Y叶启田", "type_id": "叶启田MV" }, { "type_name": "Y杨钰莹", "type_id": "杨钰莹MV" }, { "type_name": "Y叶玉卿", "type_id": "叶玉卿MV" }, { "type_name": "Y杨千嬅", "type_id": "杨千嬅MV" }, { "type_name": "Y怡正宵", "type_id": "怡正宵MV" }, { "type_name": "Z左麟右李", "type_id": "左麟右李MV" }, { "type_name": "Z张楚", "type_id": "张楚MV" }, { "type_name": "Z张真", "type_id": "张真MV" }, { "type_name": "Z张震岳", "type_id": "张震岳MV" }, { "type_name": "Z赵传", "type_id": "赵传MV" }, { "type_name": "Z周华健", "type_id": "周华健MV" }, { "type_name": "Z周启生", "type_id": "周启生MV" }, { "type_name": "Z张信哲", "type_id": "张信哲MV" }, { "type_name": "Z张也", "type_id": "张也MV" }, { "type_name": "Z周慧敏", "type_id": "周慧敏MV" }, { "type_name": "Z张碧晨", "type_id": "张碧晨MV" }, { "type_name": "Z中岛美雪", "type_id": "中岛美雪MV" }, { "type_name": "Z张学友", "type_id": "张学友MV" }, { "type_name": "Z猪哥亮", "type_id": "猪哥亮MV" }, { "type_name": "Z周杰伦", "type_id": "周杰伦MV" }, { "type_name": "Z周深", "type_id": "周深MV" }, { "type_name": "Z张蔷", "type_id": "张蔷MV" }, { "type_name": "Z张帝", "type_id": "张帝MV" }, { "type_name": "Z张国荣", "type_id": "张国荣MV" }, { "type_name": "Z周传雄", "type_id": "周传雄MV" }, { "type_name": "公众号“吾爱有三日月与卿”和“吾爱评测”整理", "type_id": "吾爱评测" } ], "filter": { "搞笑": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "TVBox": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "球星": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "球星" }, { "n": "梅西", "v": "梅西" }, { "n": "C罗", "v": "C罗" }, { "n": "天下足球", "v": "天下足球" }, { "n": "罗纳尔多", "v": "罗纳尔多" }, { "n": "亨利", "v": "亨利" }, { "n": "小罗", "v": "小罗" }, { "n": "齐达内", "v": "齐达内" }, { "n": "贝克汉姆", "v": "贝克汉姆" }, { "n": "内马尔", "v": "内马尔" }, { "n": "德布劳内", "v": "德布劳内" }, { "n": "欧冠", "v": "欧冠" }, { "n": "世界杯", "v": "世界杯" }, { "n": "西甲", "v": "西甲" }, { "n": "英超", "v": "英超" }, { "n": "意甲", "v": "意甲" }, { "n": "德甲", "v": "德甲" }, { "n": "国米", "v": "国米" }, { "n": "皇马", "v": "皇马" }, { "n": "巴萨", "v": "巴萨" }, { "n": "巴黎圣日耳曼", "v": "巴黎圣日耳曼" }, { "n": "曼联", "v": "曼联" }, { "n": "曼城", "v": "曼城" }, { "n": "NBA", "v": "NBA" }, { "n": "詹姆斯", "v": "詹姆斯" }, { "n": "库里", "v": "库里" }, { "n": "杜兰特", "v": "杜兰特" }, { "n": "UFC", "v": "UFC" }, { "n": "斯诺克", "v": "斯诺克" }, { "n": "网球", "v": "网球" }, { "n": "F1", "v": "F1" }, { "n": "高尔夫", "v": "高尔夫" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "相声小品": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "相声小品" }, { "n": "单口相声", "v": "单口相声" }, { "n": "群口相声", "v": "群口相声" }, { "n": "德云社", "v": "德云社" }, { "n": "青曲社", "v": "青曲社" }, { "n": "郭德纲", "v": "郭德纲" }, { "n": "岳云鹏", "v": "岳云鹏" }, { "n": "曹云金", "v": "曹云金" }, { "n": "评书", "v": "评书" }, { "n": "小曲", "v": "小曲" }, { "n": "二人转", "v": "二人转" }, { "n": "春晚小品", "v": "春晚小品" }, { "n": "赵本山", "v": "赵本山" }, { "n": "陈佩斯", "v": "陈佩斯" }, { "n": "冯巩", "v": "冯巩" }, { "n": "宋小宝", "v": "宋小宝" }, { "n": "赵丽蓉", "v": "赵丽蓉" }, { "n": "郭达", "v": "郭达" }, { "n": "潘长江", "v": "潘长江" }, { "n": "郭冬临", "v": "郭冬临" }, { "n": "严顺开", "v": "严顺开" }, { "n": "文松", "v": "文松" }, { "n": "开心麻花", "v": "开心麻花" }, { "n": "屌丝男士", "v": "屌丝男士" }, { "n": "喜剧综艺", "v": "喜剧综艺" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "儿童": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "儿童" }, { "n": "教育", "v": "儿童教育" }, { "n": "MV", "v": "儿童MV" }, { "n": "舞蹈", "v": "儿童舞蹈" }, { "n": "成语故事", "v": "儿童成语故事" }, { "n": "音乐", "v": "儿童音乐" }, { "n": "儿童MV", "v": "儿童MV" }, { "n": "贝乐虎", "v": "贝乐虎" }, { "n": "宝宝巴士", "v": "宝宝巴士" }, { "n": "儿童好声音", "v": "儿童好声音" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "动物世界": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "戏曲": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "戏曲" }, { "n": "京剧", "v": "京剧" }, { "n": "越剧", "v": "越剧" }, { "n": "黄梅戏", "v": "黄梅戏" }, { "n": "评剧", "v": "评剧" }, { "n": "豫剧", "v": "豫剧" }, { "n": "昆曲", "v": "昆曲" }, { "n": "高腔", "v": "高腔" }, { "n": "梆子腔", "v": "梆子腔" }, { "n": "河北梆子", "v": "河北梆子" }, { "n": "晋剧", "v": "晋剧" }, { "n": "蒲剧", "v": "蒲剧" }, { "n": "雁剧", "v": "雁剧" }, { "n": "上党梆子", "v": "上党梆子" }, { "n": "秦腔", "v": "秦腔" }, { "n": "武安平调", "v": "武安平调" }, { "n": "二人台", "v": "二人台" }, { "n": "吉剧", "v": "吉剧" }, { "n": "龙江剧", "v": "龙江剧" }, { "n": "越调", "v": "越调" }, { "n": "河南曲剧", "v": "河南曲剧" }, { "n": "山东梆子", "v": "山东梆子" }, { "n": "淮剧", "v": "淮剧" }, { "n": "沪剧", "v": "沪剧" }, { "n": "滑稽戏", "v": "滑稽戏" }, { "n": "婺剧", "v": "婺剧" }, { "n": "绍剧", "v": "绍剧" }, { "n": "徽剧", "v": "徽剧" }, { "n": "闽剧", "v": "闽剧" }, { "n": "莆仙戏", "v": "莆仙戏" }, { "n": "梨园戏", "v": "梨园戏" }, { "n": "高甲戏", "v": "高甲戏" }, { "n": "赣剧", "v": "赣剧" }, { "n": "采茶戏", "v": "采茶戏" }, { "n": "汉剧", "v": "汉剧" }, { "n": "湘剧", "v": "湘剧" }, { "n": "祁剧", "v": "祁剧" }, { "n": "湖南花鼓戏", "v": "湖南花鼓戏" }, { "n": "粤剧", "v": "粤剧" }, { "n": "潮剧", "v": "潮剧" }, { "n": "桂剧", "v": "桂剧" }, { "n": "彩调", "v": "彩调" }, { "n": "壮剧", "v": "壮剧" }, { "n": "川剧", "v": "川剧" }, { "n": "黔剧", "v": "黔剧" }, { "n": "滇剧", "v": "滇剧" }, { "n": "傣剧", "v": "傣剧" }, { "n": "藏剧", "v": "藏剧" }, { "n": "皮影戏", "v": "皮影戏" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "窗白噪音": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "MV": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "MV" }, { "n": "周杰伦", "v": "周杰伦" }, { "n": "陈奕迅", "v": "陈奕迅" }, { "n": "Beyond", "v": "Beyond" }, { "n": "刘德华", "v": "刘德华" }, { "n": "郭富城", "v": "郭富城" }, { "n": "张学友", "v": "张学友" }, { "n": "黎明", "v": "黎明" }, { "n": "李宗盛", "v": "李宗盛" }, { "n": "邓丽君", "v": "邓丽君" }, { "n": "朴树", "v": "朴树" }, { "n": "林子祥", "v": "林子祥" }, { "n": "任贤齐", "v": "任贤齐" }, { "n": "张信哲", "v": "张信哲" }, { "n": "孙楠", "v": "孙楠" }, { "n": "张宇", "v": "张宇" }, { "n": "周华健", "v": "周华健" }, { "n": "蔡依林", "v": "蔡依林" }, { "n": "薛之谦", "v": "薛之谦" }, { "n": "洛天依", "v": "洛天依" }, { "n": "初音未来", "v": "初音未来" }, { "n": "许嵩", "v": "许嵩" }, { "n": "戴佩妮", "v": "戴佩妮" }, { "n": "邓紫棋", "v": "邓紫棋" }, { "n": "张韶涵", "v": "张韶涵" }, { "n": "蔡健雅", "v": "蔡健雅" }, { "n": "莫文蔚", "v": "莫文蔚" }, { "n": "刘若英", "v": "刘若英" }, { "n": "周深", "v": "周深" }, { "n": "毛不易", "v": "毛不易" }, { "n": "汪苏泷", "v": "汪苏泷" }, { "n": "李宇春", "v": "李宇春" }, { "n": "徐佳莹", "v": "徐佳莹" }, { "n": "杨宗纬", "v": "杨宗纬" }, { "n": "胡彦斌", "v": "胡彦斌" }, { "n": "杨千嬅", "v": "杨千嬅" }, { "n": "张靓颖", "v": "张靓颖" }, { "n": "李荣浩", "v": "李荣浩" }, { "n": "杨丞琳", "v": "杨丞琳" }, { "n": "林志炫", "v": "林志炫" }, { "n": "陶喆", "v": "陶喆" }, { "n": "胡夏", "v": "胡夏" }, { "n": "李玉刚", "v": "李玉刚" }, { "n": "弦子", "v": "弦子" }, { "n": "陈小春", "v": "陈小春" }, { "n": "萧亚轩", "v": "萧亚轩" }, { "n": "鹿晗", "v": "鹿晗" }, { "n": "纵贯线", "v": "纵贯线" }, { "n": "许巍", "v": "许巍" }, { "n": "林俊杰", "v": "林俊杰" }, { "n": "赵雷", "v": "赵雷" }, { "n": "谭咏麟", "v": "谭咏麟" }, { "n": "凤凰传奇", "v": "凤凰传奇" }, { "n": "容祖儿", "v": "容祖儿" }, { "n": "周传雄", "v": "周传雄" }, { "n": "SHE", "v": "SHE" }, { "n": "苏打绿", "v": "苏打绿" }, { "n": "五月天", "v": "五月天" }, { "n": "张国荣", "v": "张国荣" }, { "n": "梅艳芳", "v": "梅艳芳" }, { "n": "孙燕姿", "v": "孙燕姿" }, { "n": "李健", "v": "李健" }, { "n": "华晨宇", "v": "华晨宇" }, { "n": "袁娅维", "v": "袁娅维" }, { "n": "大张伟", "v": "大张伟" }, { "n": "TFBOYS", "v": "TFBOYS" }, { "n": "王俊凯", "v": "王俊凯" }, { "n": "易烊千玺", "v": "易烊千玺" }, { "n": "王源", "v": "王源" }, { "n": "田馥甄", "v": "田馥甄" }, { "n": "小虎队", "v": "小虎队" }, { "n": "张杰", "v": "张杰" }, { "n": "王菲", "v": "王菲" }, { "n": "伍佰", "v": "伍佰" }, { "n": "刀郎", "v": "刀郎" }, { "n": "草蜢", "v": "草蜢" }, { "n": "潘玮柏", "v": "潘玮柏" }, { "n": "梁静茹", "v": "梁静茹" }, { "n": "林宥嘉", "v": "林宥嘉" }, { "n": "蔡徐坤", "v": "蔡徐坤" }, { "n": "周慧敏", "v": "周慧敏" }, { "n": "李圣杰", "v": "李圣杰" }, { "n": "张惠妹", "v": "张惠妹" }, { "n": "萧敬腾", "v": "萧敬腾" }, { "n": "周笔畅", "v": "周笔畅" }, { "n": "焦迈奇", "v": "焦迈奇" }, { "n": "尤长靖", "v": "尤长靖" }, { "n": "郑中基", "v": "郑中基" }, { "n": "谭维维", "v": "谭维维" }, { "n": "陈慧娴", "v": "陈慧娴" }, { "n": "张艺兴", "v": "张艺兴" }, { "n": "王嘉尔", "v": "王嘉尔" }, { "n": "刘宪华", "v": "刘宪华" }, { "n": "张敬轩", "v": "张敬轩" }, { "n": "李克勤", "v": "李克勤" }, { "n": "阿杜", "v": "阿杜" }, { "n": "郭静", "v": "郭静" }, { "n": "崔健", "v": "崔健" }, { "n": "庾澄庆", "v": "庾澄庆" }, { "n": "汪峰", "v": "汪峰" }, { "n": "那英", "v": "那英" }, { "n": "杨坤", "v": "杨坤" }, { "n": "叶倩文", "v": "叶倩文" }, { "n": "王心凌", "v": "王心凌" }, { "n": "张震岳", "v": "张震岳" }, { "n": "韩红", "v": "韩红" }, { "n": "齐秦", "v": "齐秦" }, { "n": "张雨生", "v": "张雨生" }, { "n": "黄品源", "v": "黄品源" }, { "n": "林忆莲", "v": "林忆莲" }, { "n": "丁当", "v": "丁当" }, { "n": "郑智化", "v": "郑智化" }, { "n": "李玟", "v": "李玟" }, { "n": "谢霆锋", "v": "谢霆锋" }, { "n": "黄小琥", "v": "黄小琥" }, { "n": "徐小凤", "v": "徐小凤" }, { "n": "任嘉伦", "v": "任嘉伦" }, { "n": "卓依婷", "v": "卓依婷" }, { "n": "逃跑计划", "v": "逃跑计划" }, { "n": "青鸟飞鱼", "v": "青鸟飞鱼" }, { "n": "飞儿乐队", "v": "飞儿乐队" }, { "n": "花儿乐队", "v": "花儿乐队" }, { "n": "南拳妈妈", "v": "南拳妈妈" }, { "n": "水木年华", "v": "水木年华" }, { "n": "动力火车", "v": "动力火车" }, { "n": "筷子兄弟", "v": "筷子兄弟" }, { "n": "鹿先森乐队", "v": "鹿先森乐队" }, { "n": "信乐队", "v": "信乐队" }, { "n": "旅行团乐队", "v": "旅行团乐队" }, { "n": "By2", "v": "By2" }, { "n": "郁可唯", "v": "郁可唯" }, { "n": "宋亚森", "v": "宋亚森" }, { "n": "费玉清", "v": "费玉清" }, { "n": "费翔", "v": "费翔" }, { "n": "金志文", "v": "金志文" }, { "n": "黄家强", "v": "黄家强" }, { "n": "方大同", "v": "方大同" }, { "n": "吴克群", "v": "吴克群" }, { "n": "罗大佑", "v": "罗大佑" }, { "n": "光良", "v": "光良" }, { "n": "田震", "v": "田震" }, { "n": "凤飞飞", "v": "凤飞飞" }, { "n": "谭晶", "v": "谭晶" }, { "n": "王杰", "v": "王杰" }, { "n": "羽泉", "v": "羽泉" }, { "n": "金池", "v": "金池" }, { "n": "屠洪刚", "v": "屠洪刚" }, { "n": "戴荃", "v": "戴荃" }, { "n": "郭采洁", "v": "郭采洁" }, { "n": "罗志祥", "v": "罗志祥" }, { "n": "王力宏", "v": "王力宏" }, { "n": "林肯公园", "v": "林肯公园" }, { "n": "迈克尔杰克逊", "v": "迈克尔杰克逊" }, { "n": "泰勒·斯威夫特", "v": "泰勒·斯威夫特" }, { "n": "阿黛尔", "v": "阿黛尔" }, { "n": "BIGBANG", "v": "BIGBANG" }, { "n": "LadyGaga", "v": "LadyGaga" }, { "n": "贾斯丁比伯", "v": "贾斯丁比伯" }, { "n": "中岛美雪", "v": "中岛美雪" }, { "n": "仓木麻衣", "v": "仓木麻衣" }, { "n": "后街男孩", "v": "后街男孩" }, { "n": "布兰妮", "v": "布兰妮" }, { "n": "夜愿乐队", "v": "夜愿乐队" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ] } } \ No newline at end of file diff --git a/Bilibili/Bili_演唱会.txt b/Bilibili/Bili_演唱会.txt new file mode 100644 index 0000000..7e2ff9b --- /dev/null +++ b/Bilibili/Bili_演唱会.txt @@ -0,0 +1 @@ +{"classes":[{"type_name":"粤语","type_id":"粤语歌曲超清"},{"type_name":"2022年热榜","type_id":"2022年热们歌曲"},{"type_name":"经典老歌","type_id":"经典老歌"},{"type_name":"古风歌曲","type_id":"古风歌曲"},{"type_name":"闽南语歌曲","type_id":"闽南语歌曲"},{"type_name":"DJ","type_id":"DJ歌曲"},{"type_name":"网红翻唱","type_id":"网红翻唱歌曲"},{"type_name":"音乐","type_id":"音乐 4k"},{"type_name":"A阿黛尔","type_id":"阿黛尔演唱会超清超清"},{"type_name":"Blackpink","type_id":"blackpink演唱会超清"},{"type_name":"Beyond","type_id":"beyond演唱会超清"},{"type_name":"B坂井泉水","type_id":"坂井泉水演唱会超清"},{"type_name":"B宝丽金","type_id":"宝丽金演唱会超清"},{"type_name":"B布兰妮","type_id":"布兰妮演唱会超清"},{"type_name":"C陈瑞","type_id":"陈瑞演唱会超清"},{"type_name":"C陈奕迅","type_id":"陈奕迅演唱会超清"},{"type_name":"C崔健","type_id":"催件演唱会超清"},{"type_name":"Coldplay","type_id":"coldplay演唱会超清"},{"type_name":"C陈慧娴","type_id":"陈慧娴演唱会超清"},{"type_name":"C陈百强","type_id":"陈百强演唱会超清"},{"type_name":"C陈淑桦","type_id":"陈淑桦演唱会超清"},{"type_name":"C陈慧琳","type_id":"陈慧琳演唱会超清"},{"type_name":"D邓丽君","type_id":"邓丽君演唱会超清"},{"type_name":"D邓紫棋","type_id":"邓紫棋演唱会超清"},{"type_name":"D刀郎","type_id":"刀郎演唱会超清"},{"type_name":"D达明一派","type_id":"刘以达歌曲"},{"type_name":"F费玉清","type_id":"费玉清演唱会超清"},{"type_name":"G谷村新司","type_id":"谷村新司演唱会超清"},{"type_name":"G郭富城","type_id":"郭富城演唱会超清"},{"type_name":"G邰正宵","type_id":"邰正宵演唱会超清"},{"type_name":"G关淑怡","type_id":"关淑怡演唱会超清"},{"type_name":"H黄凯芹","type_id":"黄凯芹演唱会超清"},{"type_name":"H黑豹乐队","type_id":"H黑豹乐队"},{"type_name":"J降央卓玛","type_id":"降央卓玛演唱会超清"},{"type_name":"J江慧","type_id":"江慧歌曲"},{"type_name":"J吉永小百合","type_id":"吉永小百合歌曲"},{"type_name":"J金庸","type_id":"金庸影视歌曲"},{"type_name":"L刘德华","type_id":"刘德华演唱会超清"},{"type_name":"Lady Gaga","type_id":"Lady Gaga演唱会超清"},{"type_name":"L龙飘飘","type_id":"龙飘飘演唱会超清"},{"type_name":"L罗百吉","type_id":"罗百吉演唱会超清"},{"type_name":"L罗大佑","type_id":"罗大佑演唱会超清"},{"type_name":"L林志炫","type_id":"林志炫演唱会超清"},{"type_name":"L林忆莲","type_id":"林忆莲演唱会超清"},{"type_name":"L李知恩","type_id":"李知恩演唱会超清"},{"type_name":"L梁静茹","type_id":"梁静茹演唱会超清"},{"type_name":"L冷漠","type_id":"冷漠演唱会超清"},{"type_name":"L李克勤","type_id":"李克勤演唱会超清"},{"type_name":"L林子祥","type_id":"林子祥演唱会超清"},{"type_name":"L黎明","type_id":"黎明演唱会超清"},{"type_name":"L刘若英","type_id":"刘若英演唱会超清"},{"type_name":"MC Hotdog","type_id":"MC Hotdog演唱会超清"},{"type_name":"M莫文蔚","type_id":"莫文蔚演唱会超清"},{"type_name":"M孟庭苇","type_id":"孟庭苇演唱会超清"},{"type_name":"M麦当娜","type_id":"麦当娜演唱会超清"},{"type_name":"M迈克杰克逊","type_id":"迈克杰克逊演唱会超清"},{"type_name":"N雅尼紫禁城","type_id":"雅尼紫禁城演唱会超清"},{"type_name":"P潘越云","type_id":"潘越云演唱会超清"},{"type_name":"P潘美辰","type_id":"潘美辰演唱会超清"},{"type_name":"Q齐秦","type_id":"齐秦演唱会超清"},{"type_name":"Q祁美云","type_id":"祁美云演唱会超清"},{"type_name":"R任贤齐","type_id":"任贤齐演唱会超清"},{"type_name":"S苏慧伦","type_id":"苏慧伦演唱会超清"},{"type_name":"T唐朝乐队","type_id":"唐朝乐队"},{"type_name":"T童安格","type_id":"童安格演唱会超清"},{"type_name":"TFBOYS","type_id":"TFBOYS演唱会超清"},{"type_name":"T太极乐队","type_id":"太极乐队演唱会超清"},{"type_name":"T唐朝摇滚","type_id":"唐朝摇滚演唱会超清"},{"type_name":"T谭咏麟","type_id":"谭咏麟演唱会超清"},{"type_name":"W王琪","type_id":"王琪歌曲"},{"type_name":"W伍珂玥","type_id":"伍珂玥演唱会超清"},{"type_name":"W王杰","type_id":"王杰演唱会超清"},{"type_name":"W伍佰","type_id":"伍佰演唱会超清"},{"type_name":"W温兆伦","type_id":"温兆伦演唱会超清"},{"type_name":"W王菲","type_id":"王菲演唱会超清"},{"type_name":"X熊天平","type_id":"熊天平演唱会超清"},{"type_name":"X徐小凤","type_id":"徐小凤演唱会超清"},{"type_name":"X席琳迪翁","type_id":"席琳迪翁演唱会超清"},{"type_name":"X许嵩","type_id":"黄许嵩演唱会超清"},{"type_name":"X许美静","type_id":"许美静演唱会超清"},{"type_name":"X许冠杰","type_id":"许冠杰演唱会超清"},{"type_name":"X小虎队","type_id":"小虎队演唱会超清"},{"type_name":"X许巍","type_id":"许巍演唱会超清"},{"type_name":"Y叶启田","type_id":"叶启田演唱会超清"},{"type_name":"Y叶玉卿","type_id":"叶玉卿演唱会超清"},{"type_name":"Y杨千嬅","type_id":"杨千嬅演唱会超清"},{"type_name":"Z左麟右李","type_id":"左麟右李演唱会超清"},{"type_name":"Z赵传","type_id":"赵传演唱会超清"},{"type_name":"Z周华健","type_id":"周华健演唱会超清"},{"type_name":"Z周启生","type_id":"周启生演唱会超清"},{"type_name":"Z张信哲","type_id":"张信哲演唱会超清"},{"type_name":"Z周慧敏","type_id":"周慧敏演唱会超清"},{"type_name":"Z张碧晨","type_id":"张碧晨演唱会超清"},{"type_name":"Z中岛美雪","type_id":"中岛美雪演唱会超清"},{"type_name":"Z张学友","type_id":"张学友演唱会超清"},{"type_name":"Z猪哥亮","type_id":"猪哥亮歌曲"},{"type_name":"Z周杰伦","type_id":"周杰伦演唱会超清"},{"type_name":"Z周深","type_id":"周深演唱会超清"},{"type_name":"Z张蔷","type_id":"张蔷演唱会超清"},{"type_name":"Z张帝","type_id":"张帝演唱会超清"},{"type_name":"Z张国荣","type_id":"张国荣演唱会超清"},{"type_name":"Z郑钧","type_id":"郑钧演唱会超清"},{"type_name":"Z张楚","type_id":"张楚演唱会超清"},{"type_name":"Z张真","type_id":"张真演唱会超清"},{"type_name":"Z赵传","type_id":"赵传演唱会超清"},{"type_name":"Z周传雄","type_id":"周传雄演唱会超清"}],"演唱会":[{"key":"tid","name":"分类","value":[{"n":"全部","v":"演唱会"},{"n":"周杰伦","v":"周杰伦"},{"n":"陈奕迅","v":"陈奕迅"},{"n":"Beyond","v":"Beyond"},{"n":"刘德华","v":"刘德华"},{"n":"郭富城","v":"郭富城"},{"n":"张学友","v":"张学友"},{"n":"黎明","v":"黎明"},{"n":"李宗盛","v":"李宗盛"},{"n":"邓丽君","v":"邓丽君"},{"n":"朴树","v":"朴树"},{"n":"林子祥","v":"林子祥"},{"n":"任贤齐","v":"任贤齐"},{"n":"张信哲","v":"张信哲"},{"n":"孙楠","v":"孙楠"},{"n":"张宇","v":"张宇"},{"n":"周华健","v":"周华健"},{"n":"蔡依林","v":"蔡依林"},{"n":"薛之谦","v":"薛之谦"},{"n":"洛天依","v":"洛天依"},{"n":"初音未来","v":"初音未来"},{"n":"许嵩","v":"许嵩"},{"n":"戴佩妮","v":"戴佩妮"},{"n":"邓紫棋","v":"邓紫棋"},{"n":"张韶涵","v":"张韶涵"},{"n":"蔡健雅","v":"蔡健雅"},{"n":"莫文蔚","v":"莫文蔚"},{"n":"刘若英","v":"刘若英"},{"n":"周深","v":"周深"},{"n":"毛不易","v":"毛不易"},{"n":"汪苏泷","v":"汪苏泷"},{"n":"李宇春","v":"李宇春"},{"n":"徐佳莹","v":"徐佳莹"},{"n":"杨宗纬","v":"杨宗纬"},{"n":"胡彦斌","v":"胡彦斌"},{"n":"杨千嬅","v":"杨千嬅"},{"n":"张靓颖","v":"张靓颖"},{"n":"李荣浩","v":"李荣浩"},{"n":"杨丞琳","v":"杨丞琳"},{"n":"林志炫","v":"林志炫"},{"n":"陶喆","v":"陶喆"},{"n":"胡夏","v":"胡夏"},{"n":"李玉刚","v":"李玉刚"},{"n":"弦子","v":"弦子"},{"n":"陈小春","v":"陈小春"},{"n":"萧亚轩","v":"萧亚轩"},{"n":"鹿晗","v":"鹿晗"},{"n":"纵贯线","v":"纵贯线"},{"n":"许巍","v":"许巍"},{"n":"林俊杰","v":"林俊杰"},{"n":"赵雷","v":"赵雷"},{"n":"谭咏麟","v":"谭咏麟"},{"n":"凤凰传奇","v":"凤凰传奇"},{"n":"容祖儿","v":"容祖儿"},{"n":"周传雄","v":"周传雄"},{"n":"SHE","v":"SHE"},{"n":"苏打绿","v":"苏打绿"},{"n":"五月天","v":"五月天"},{"n":"张国荣","v":"张国荣"},{"n":"梅艳芳","v":"梅艳芳"},{"n":"孙燕姿","v":"孙燕姿"},{"n":"李健","v":"李健"},{"n":"华晨宇","v":"华晨宇"},{"n":"袁娅维","v":"袁娅维"},{"n":"大张伟","v":"大张伟"},{"n":"TFBOYS","v":"TFBOYS"},{"n":"王俊凯","v":"王俊凯"},{"n":"易烊千玺","v":"易烊千玺"},{"n":"王源","v":"王源"},{"n":"田馥甄","v":"田馥甄"},{"n":"小虎队","v":"小虎队"},{"n":"张杰","v":"张杰"},{"n":"王菲","v":"王菲"},{"n":"伍佰","v":"伍佰"},{"n":"刀郎","v":"刀郎"},{"n":"草蜢","v":"草蜢"},{"n":"潘玮柏","v":"潘玮柏"},{"n":"梁静茹","v":"梁静茹"},{"n":"林宥嘉","v":"林宥嘉"},{"n":"蔡徐坤","v":"蔡徐坤"},{"n":"周慧敏","v":"周慧敏"},{"n":"李圣杰","v":"李圣杰"},{"n":"张惠妹","v":"张惠妹"},{"n":"萧敬腾","v":"萧敬腾"},{"n":"周笔畅","v":"周笔畅"},{"n":"焦迈奇","v":"焦迈奇"},{"n":"尤长靖","v":"尤长靖"},{"n":"郑中基","v":"郑中基"},{"n":"谭维维","v":"谭维维"},{"n":"陈慧娴","v":"陈慧娴"},{"n":"张艺兴","v":"张艺兴"},{"n":"王嘉尔","v":"王嘉尔"},{"n":"刘宪华","v":"刘宪华"},{"n":"张敬轩","v":"张敬轩"},{"n":"李克勤","v":"李克勤"},{"n":"阿杜","v":"阿杜"},{"n":"郭静","v":"郭静"},{"n":"崔健","v":"崔健"},{"n":"庾澄庆","v":"庾澄庆"},{"n":"汪峰","v":"汪峰"},{"n":"那英","v":"那英"},{"n":"杨坤","v":"杨坤"},{"n":"叶倩文","v":"叶倩文"},{"n":"王心凌","v":"王心凌"},{"n":"张震岳","v":"张震岳"},{"n":"韩红","v":"韩红"},{"n":"齐秦","v":"齐秦"},{"n":"张雨生","v":"张雨生"},{"n":"黄品源","v":"黄品源"},{"n":"林忆莲","v":"林忆莲"},{"n":"丁当","v":"丁当"},{"n":"郑智化","v":"郑智化"},{"n":"李玟","v":"李玟"},{"n":"谢霆锋","v":"谢霆锋"},{"n":"黄小琥","v":"黄小琥"},{"n":"徐小凤","v":"徐小凤"},{"n":"任嘉伦","v":"任嘉伦"},{"n":"卓依婷","v":"卓依婷"},{"n":"逃跑计划","v":"逃跑计划"},{"n":"青鸟飞鱼","v":"青鸟飞鱼"},{"n":"飞儿乐队","v":"飞儿乐队"},{"n":"花儿乐队","v":"花儿乐队"},{"n":"南拳妈妈","v":"南拳妈妈"},{"n":"水木年华","v":"水木年华"},{"n":"动力火车","v":"动力火车"},{"n":"筷子兄弟","v":"筷子兄弟"},{"n":"鹿先森乐队","v":"鹿先森乐队"},{"n":"信乐队","v":"信乐队"},{"n":"旅行团乐队","v":"旅行团乐队"},{"n":"By2","v":"By2"},{"n":"郁可唯","v":"郁可唯"},{"n":"宋亚森","v":"宋亚森"},{"n":"费玉清","v":"费玉清"},{"n":"费翔","v":"费翔"},{"n":"金志文","v":"金志文"},{"n":"黄家强","v":"黄家强"},{"n":"方大同","v":"方大同"},{"n":"吴克群","v":"吴克群"},{"n":"罗大佑","v":"罗大佑"},{"n":"光良","v":"光良"},{"n":"田震","v":"田震"},{"n":"凤飞飞","v":"凤飞飞"},{"n":"谭晶","v":"谭晶"},{"n":"王杰","v":"王杰"},{"n":"羽泉","v":"羽泉"},{"n":"金池","v":"金池"},{"n":"屠洪刚","v":"屠洪刚"},{"n":"戴荃","v":"戴荃"},{"n":"郭采洁","v":"郭采洁"},{"n":"罗志祥","v":"罗志祥"},{"n":"王力宏","v":"王力宏"},{"n":"林肯公园","v":"林肯公园"},{"n":"迈克尔杰克逊","v":"迈克尔杰克逊"},{"n":"泰勒·斯威夫特","v":"泰勒·斯威夫特"},{"n":"阿黛尔","v":"阿黛尔"},{"n":"BIGBANG","v":"BIGBANG"},{"n":"LadyGaga","v":"LadyGaga"},{"n":"贾斯丁比伯","v":"贾斯丁比伯"},{"n":"中岛美雪","v":"中岛美雪"},{"n":"仓木麻衣","v":"仓木麻衣"},{"n":"后街男孩","v":"后街男孩"},{"n":"布兰妮","v":"布兰妮"},{"n":"夜愿乐队","v":"夜愿乐队"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}]} \ No newline at end of file diff --git a/Bilibili/Bili_直播.php b/Bilibili/Bili_直播.php new file mode 100644 index 0000000..7108c6a --- /dev/null +++ b/Bilibili/Bili_直播.php @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/Bilibili/Bili_相声.txt b/Bilibili/Bili_相声.txt new file mode 100644 index 0000000..30cc6b7 --- /dev/null +++ b/Bilibili/Bili_相声.txt @@ -0,0 +1 @@ +{ "classes": [{ "type_name": "全部", "type_id": "相声小品" },{ "type_name": "单口相声", "type_id": "单口相声" }, { "type_name": "群口相声", "type_id": "群口相声" }, { "type_name": "德云社", "type_id": "德云社" }, { "type_name": "青曲社", "type_id": "青曲社" },{ "type_name": "郭德纲", "type_id": "郭德纲" }, { "type_name": "岳云鹏", "type_id": "岳云鹏" },{ "type_name": "曹云金", "type_id": "曹云金" }, { "type_name": "评书", "type_id": "评书" },{ "type_name": "小曲", "type_id": "小曲" }, { "type_name": "二人转", "type_id": "二人转" },{ "type_name": "春晚小品", "type_id": "春晚小品" }, { "type_name": "赵本山", "type_id": "赵本山" },{ "type_name": "陈佩斯", "type_id": "陈佩斯" }, { "type_name": "冯巩", "type_id": "冯巩" },{ "type_name": "宋小宝", "type_id": "宋小宝" }, { "type_name": "赵丽蓉", "type_id": "赵丽蓉" },{ "type_name": "郭达", "type_id": "郭达" }, { "type_name": "潘长江", "type_id": "潘长江" },{ "type_name": "郭冬临", "type_id": "郭冬临" }, { "type_name": "严顺开", "type_id": "严顺开" },{ "type_name": "文松", "type_id": "文松" }, { "type_name": "开心麻花", "type_id": "开心麻花" },{ "type_name": "屌丝男士", "type_id": "屌丝男士" },{ "type_name": "喜剧综艺", "type_id": "喜剧综艺" } ],"filter": { "搞笑": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "潮剧": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "超清潮剧": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "百花潮剧院": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "潮剧院": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "潮剧团": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "闽南歌曲合集": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "中文dj": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "经典老歌": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "情歌对唱": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "中文mv": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "TVBox": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "球星": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "球星" }, { "n": "梅西", "v": "梅西" }, { "n": "C罗", "v": "C罗" }, { "n": "天下足球", "v": "天下足球" }, { "n": "罗纳尔多", "v": "罗纳尔多" }, { "n": "亨利", "v": "亨利" }, { "n": "小罗", "v": "小罗" }, { "n": "齐达内", "v": "齐达内" }, { "n": "贝克汉姆", "v": "贝克汉姆" }, { "n": "内马尔", "v": "内马尔" }, { "n": "德布劳内", "v": "德布劳内" }, { "n": "欧冠", "v": "欧冠" }, { "n": "世界杯", "v": "世界杯" }, { "n": "西甲", "v": "西甲" }, { "n": "英超", "v": "英超" }, { "n": "意甲", "v": "意甲" }, { "n": "德甲", "v": "德甲" }, { "n": "国米", "v": "国米" }, { "n": "皇马", "v": "皇马" }, { "n": "巴萨", "v": "巴萨" }, { "n": "巴黎圣日耳曼", "v": "巴黎圣日耳曼" }, { "n": "曼联", "v": "曼联" }, { "n": "曼城", "v": "曼城" }, { "n": "NBA", "v": "NBA" }, { "n": "詹姆斯", "v": "詹姆斯" }, { "n": "库里", "v": "库里" }, { "n": "杜兰特", "v": "杜兰特" }, { "n": "UFC", "v": "UFC" }, { "n": "斯诺克", "v": "斯诺克" }, { "n": "网球", "v": "网球" }, { "n": "F1", "v": "F1" }, { "n": "高尔夫", "v": "高尔夫" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "相声小品": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "相声小品" }, { "n": "单口相声", "v": "单口相声" }, { "n": "群口相声", "v": "群口相声" }, { "n": "德云社", "v": "德云社" }, { "n": "青曲社", "v": "青曲社" }, { "n": "郭德纲", "v": "郭德纲" }, { "n": "岳云鹏", "v": "岳云鹏" }, { "n": "曹云金", "v": "曹云金" }, { "n": "评书", "v": "评书" }, { "n": "小曲", "v": "小曲" }, { "n": "二人转", "v": "二人转" }, { "n": "春晚小品", "v": "春晚小品" }, { "n": "赵本山", "v": "赵本山" }, { "n": "陈佩斯", "v": "陈佩斯" }, { "n": "冯巩", "v": "冯巩" }, { "n": "宋小宝", "v": "宋小宝" }, { "n": "赵丽蓉", "v": "赵丽蓉" }, { "n": "郭达", "v": "郭达" }, { "n": "潘长江", "v": "潘长江" }, { "n": "郭冬临", "v": "郭冬临" }, { "n": "严顺开", "v": "严顺开" }, { "n": "文松", "v": "文松" }, { "n": "开心麻花", "v": "开心麻花" }, { "n": "屌丝男士", "v": "屌丝男士" }, { "n": "喜剧综艺", "v": "喜剧综艺" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "儿童": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "儿童" }, { "n": "教育", "v": "儿童教育" }, { "n": "歌曲", "v": "儿童歌曲" }, { "n": "舞蹈", "v": "儿童舞蹈" }, { "n": "成语故事", "v": "儿童成语故事" }, { "n": "音乐", "v": "儿童音乐" }, { "n": "儿童MV", "v": "儿童MV" }, { "n": "贝乐虎", "v": "贝乐虎" }, { "n": "宝宝巴士", "v": "宝宝巴士" }, { "n": "儿童好声音", "v": "儿童好声音" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "动物世界": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "戏曲": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "戏曲" }, { "n": "京剧", "v": "京剧" }, { "n": "越剧", "v": "越剧" }, { "n": "黄梅戏", "v": "黄梅戏" }, { "n": "评剧", "v": "评剧" }, { "n": "豫剧", "v": "豫剧" }, { "n": "昆曲", "v": "昆曲" }, { "n": "高腔", "v": "高腔" }, { "n": "梆子腔", "v": "梆子腔" }, { "n": "河北梆子", "v": "河北梆子" }, { "n": "晋剧", "v": "晋剧" }, { "n": "蒲剧", "v": "蒲剧" }, { "n": "雁剧", "v": "雁剧" }, { "n": "上党梆子", "v": "上党梆子" }, { "n": "秦腔", "v": "秦腔" }, { "n": "武安平调", "v": "武安平调" }, { "n": "二人台", "v": "二人台" }, { "n": "吉剧", "v": "吉剧" }, { "n": "龙江剧", "v": "龙江剧" }, { "n": "越调", "v": "越调" }, { "n": "河南曲剧", "v": "河南曲剧" }, { "n": "山东梆子", "v": "山东梆子" }, { "n": "淮剧", "v": "淮剧" }, { "n": "沪剧", "v": "沪剧" }, { "n": "滑稽戏", "v": "滑稽戏" }, { "n": "婺剧", "v": "婺剧" }, { "n": "绍剧", "v": "绍剧" }, { "n": "徽剧", "v": "徽剧" }, { "n": "闽剧", "v": "闽剧" }, { "n": "莆仙戏", "v": "莆仙戏" }, { "n": "梨园戏", "v": "梨园戏" }, { "n": "高甲戏", "v": "高甲戏" }, { "n": "赣剧", "v": "赣剧" }, { "n": "采茶戏", "v": "采茶戏" }, { "n": "汉剧", "v": "汉剧" }, { "n": "湘剧", "v": "湘剧" }, { "n": "祁剧", "v": "祁剧" }, { "n": "湖南花鼓戏", "v": "湖南花鼓戏" }, { "n": "粤剧", "v": "粤剧" }, { "n": "潮剧", "v": "潮剧" }, { "n": "桂剧", "v": "桂剧" }, { "n": "彩调", "v": "彩调" }, { "n": "壮剧", "v": "壮剧" }, { "n": "川剧", "v": "川剧" }, { "n": "黔剧", "v": "黔剧" }, { "n": "滇剧", "v": "滇剧" }, { "n": "傣剧", "v": "傣剧" }, { "n": "藏剧", "v": "藏剧" }, { "n": "皮影戏", "v": "皮影戏" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "窗白噪音": [ { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ], "演唱会": [ { "key": "tid", "name": "分类", "value": [ { "n": "全部", "v": "演唱会" }, { "n": "周杰伦", "v": "周杰伦" }, { "n": "陈奕迅", "v": "陈奕迅" }, { "n": "Beyond", "v": "Beyond" }, { "n": "刘德华", "v": "刘德华" }, { "n": "郭富城", "v": "郭富城" }, { "n": "张学友", "v": "张学友" }, { "n": "黎明", "v": "黎明" }, { "n": "李宗盛", "v": "李宗盛" }, { "n": "邓丽君", "v": "邓丽君" }, { "n": "朴树", "v": "朴树" }, { "n": "林子祥", "v": "林子祥" }, { "n": "任贤齐", "v": "任贤齐" }, { "n": "张信哲", "v": "张信哲" }, { "n": "孙楠", "v": "孙楠" }, { "n": "张宇", "v": "张宇" }, { "n": "周华健", "v": "周华健" }, { "n": "蔡依林", "v": "蔡依林" }, { "n": "薛之谦", "v": "薛之谦" }, { "n": "洛天依", "v": "洛天依" }, { "n": "初音未来", "v": "初音未来" }, { "n": "许嵩", "v": "许嵩" }, { "n": "戴佩妮", "v": "戴佩妮" }, { "n": "邓紫棋", "v": "邓紫棋" }, { "n": "张韶涵", "v": "张韶涵" }, { "n": "蔡健雅", "v": "蔡健雅" }, { "n": "莫文蔚", "v": "莫文蔚" }, { "n": "刘若英", "v": "刘若英" }, { "n": "周深", "v": "周深" }, { "n": "毛不易", "v": "毛不易" }, { "n": "汪苏泷", "v": "汪苏泷" }, { "n": "李宇春", "v": "李宇春" }, { "n": "徐佳莹", "v": "徐佳莹" }, { "n": "杨宗纬", "v": "杨宗纬" }, { "n": "胡彦斌", "v": "胡彦斌" }, { "n": "杨千嬅", "v": "杨千嬅" }, { "n": "张靓颖", "v": "张靓颖" }, { "n": "李荣浩", "v": "李荣浩" }, { "n": "杨丞琳", "v": "杨丞琳" }, { "n": "林志炫", "v": "林志炫" }, { "n": "陶喆", "v": "陶喆" }, { "n": "胡夏", "v": "胡夏" }, { "n": "李玉刚", "v": "李玉刚" }, { "n": "弦子", "v": "弦子" }, { "n": "陈小春", "v": "陈小春" }, { "n": "萧亚轩", "v": "萧亚轩" }, { "n": "鹿晗", "v": "鹿晗" }, { "n": "纵贯线", "v": "纵贯线" }, { "n": "许巍", "v": "许巍" }, { "n": "林俊杰", "v": "林俊杰" }, { "n": "赵雷", "v": "赵雷" }, { "n": "谭咏麟", "v": "谭咏麟" }, { "n": "凤凰传奇", "v": "凤凰传奇" }, { "n": "容祖儿", "v": "容祖儿" }, { "n": "周传雄", "v": "周传雄" }, { "n": "SHE", "v": "SHE" }, { "n": "苏打绿", "v": "苏打绿" }, { "n": "五月天", "v": "五月天" }, { "n": "张国荣", "v": "张国荣" }, { "n": "梅艳芳", "v": "梅艳芳" }, { "n": "孙燕姿", "v": "孙燕姿" }, { "n": "李健", "v": "李健" }, { "n": "华晨宇", "v": "华晨宇" }, { "n": "袁娅维", "v": "袁娅维" }, { "n": "大张伟", "v": "大张伟" }, { "n": "TFBOYS", "v": "TFBOYS" }, { "n": "王俊凯", "v": "王俊凯" }, { "n": "易烊千玺", "v": "易烊千玺" }, { "n": "王源", "v": "王源" }, { "n": "田馥甄", "v": "田馥甄" }, { "n": "小虎队", "v": "小虎队" }, { "n": "张杰", "v": "张杰" }, { "n": "王菲", "v": "王菲" }, { "n": "伍佰", "v": "伍佰" }, { "n": "刀郎", "v": "刀郎" }, { "n": "草蜢", "v": "草蜢" }, { "n": "潘玮柏", "v": "潘玮柏" }, { "n": "梁静茹", "v": "梁静茹" }, { "n": "林宥嘉", "v": "林宥嘉" }, { "n": "蔡徐坤", "v": "蔡徐坤" }, { "n": "周慧敏", "v": "周慧敏" }, { "n": "李圣杰", "v": "李圣杰" }, { "n": "张惠妹", "v": "张惠妹" }, { "n": "萧敬腾", "v": "萧敬腾" }, { "n": "周笔畅", "v": "周笔畅" }, { "n": "焦迈奇", "v": "焦迈奇" }, { "n": "尤长靖", "v": "尤长靖" }, { "n": "郑中基", "v": "郑中基" }, { "n": "谭维维", "v": "谭维维" }, { "n": "陈慧娴", "v": "陈慧娴" }, { "n": "张艺兴", "v": "张艺兴" }, { "n": "王嘉尔", "v": "王嘉尔" }, { "n": "刘宪华", "v": "刘宪华" }, { "n": "张敬轩", "v": "张敬轩" }, { "n": "李克勤", "v": "李克勤" }, { "n": "阿杜", "v": "阿杜" }, { "n": "郭静", "v": "郭静" }, { "n": "崔健", "v": "崔健" }, { "n": "庾澄庆", "v": "庾澄庆" }, { "n": "汪峰", "v": "汪峰" }, { "n": "那英", "v": "那英" }, { "n": "杨坤", "v": "杨坤" }, { "n": "叶倩文", "v": "叶倩文" }, { "n": "王心凌", "v": "王心凌" }, { "n": "张震岳", "v": "张震岳" }, { "n": "韩红", "v": "韩红" }, { "n": "齐秦", "v": "齐秦" }, { "n": "张雨生", "v": "张雨生" }, { "n": "黄品源", "v": "黄品源" }, { "n": "林忆莲", "v": "林忆莲" }, { "n": "丁当", "v": "丁当" }, { "n": "郑智化", "v": "郑智化" }, { "n": "李玟", "v": "李玟" }, { "n": "谢霆锋", "v": "谢霆锋" }, { "n": "黄小琥", "v": "黄小琥" }, { "n": "徐小凤", "v": "徐小凤" }, { "n": "任嘉伦", "v": "任嘉伦" }, { "n": "卓依婷", "v": "卓依婷" }, { "n": "逃跑计划", "v": "逃跑计划" }, { "n": "青鸟飞鱼", "v": "青鸟飞鱼" }, { "n": "飞儿乐队", "v": "飞儿乐队" }, { "n": "花儿乐队", "v": "花儿乐队" }, { "n": "南拳妈妈", "v": "南拳妈妈" }, { "n": "水木年华", "v": "水木年华" }, { "n": "动力火车", "v": "动力火车" }, { "n": "筷子兄弟", "v": "筷子兄弟" }, { "n": "鹿先森乐队", "v": "鹿先森乐队" }, { "n": "信乐队", "v": "信乐队" }, { "n": "旅行团乐队", "v": "旅行团乐队" }, { "n": "By2", "v": "By2" }, { "n": "郁可唯", "v": "郁可唯" }, { "n": "宋亚森", "v": "宋亚森" }, { "n": "费玉清", "v": "费玉清" }, { "n": "费翔", "v": "费翔" }, { "n": "金志文", "v": "金志文" }, { "n": "黄家强", "v": "黄家强" }, { "n": "方大同", "v": "方大同" }, { "n": "吴克群", "v": "吴克群" }, { "n": "罗大佑", "v": "罗大佑" }, { "n": "光良", "v": "光良" }, { "n": "田震", "v": "田震" }, { "n": "凤飞飞", "v": "凤飞飞" }, { "n": "谭晶", "v": "谭晶" }, { "n": "王杰", "v": "王杰" }, { "n": "羽泉", "v": "羽泉" }, { "n": "金池", "v": "金池" }, { "n": "屠洪刚", "v": "屠洪刚" }, { "n": "戴荃", "v": "戴荃" }, { "n": "郭采洁", "v": "郭采洁" }, { "n": "罗志祥", "v": "罗志祥" }, { "n": "王力宏", "v": "王力宏" }, { "n": "林肯公园", "v": "林肯公园" }, { "n": "迈克尔杰克逊", "v": "迈克尔杰克逊" }, { "n": "泰勒·斯威夫特", "v": "泰勒·斯威夫特" }, { "n": "阿黛尔", "v": "阿黛尔" }, { "n": "BIGBANG", "v": "BIGBANG" }, { "n": "LadyGaga", "v": "LadyGaga" }, { "n": "贾斯丁比伯", "v": "贾斯丁比伯" }, { "n": "中岛美雪", "v": "中岛美雪" }, { "n": "仓木麻衣", "v": "仓木麻衣" }, { "n": "后街男孩", "v": "后街男孩" }, { "n": "布兰妮", "v": "布兰妮" }, { "n": "夜愿乐队", "v": "夜愿乐队" } ] }, { "key": "duration", "name": "时长", "value": [ { "n": "全部", "v": "0" }, { "n": "60分钟以上", "v": "4" }, { "n": "30~60分钟", "v": "3" }, { "n": "10~30分钟", "v": "2" }, { "n": "10分钟以下", "v": "1" } ] } ] } } \ No newline at end of file diff --git a/Bilibili/Bili_计算机.json b/Bilibili/Bili_计算机.json new file mode 100644 index 0000000..97ce1a4 --- /dev/null +++ b/Bilibili/Bili_计算机.json @@ -0,0 +1,239 @@ +{ + "classes": [ + { + "type_name": "Java开发", + "type_id": "Java开发" + }, + { + "type_name": "Android开发", + "type_id": "Android开发" + }, + { + "type_name": "C语言", + "type_id": "C语言开发" + }, + { + "type_name": "Python开发", + "type_id": "Python开发" + } + ], + "filter": { + + "Java开发": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "Java开发" + }, + { + "n": "入门", + "v": "Java基础" + }, + { + "n": "进阶", + "v": "Java进阶" + }, + { + "n": "高级", + "v": "Java高级" + }, + { + "n": "实战", + "v": "Java项目实战" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "Android开发": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "Android开发" + }, + { + "n": "入门", + "v": "Android基础" + }, + { + "n": "进阶", + "v": "Android进阶" + }, + { + "n": "高级", + "v": "Android高级" + }, + { + "n": "实战", + "v": "Android项目实战" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "C语言开发": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "C语言开发" + }, + { + "n": "入门", + "v": "C语言基础" + }, + { + "n": "进阶", + "v": "C语言进阶" + }, + { + "n": "高级", + "v": "C语言高级" + }, + { + "n": "实战", + "v": "C语言项目实战" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "Python开发": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "Python开发" + }, + { + "n": "入门", + "v": "Python基础" + }, + { + "n": "进阶", + "v": "Python进阶" + }, + { + "n": "高级", + "v": "Python高级" + }, + { + "n": "实战", + "v": "Python项目实战" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/Bilibili/Bili_评书.txt b/Bilibili/Bili_评书.txt new file mode 100644 index 0000000..829987e --- /dev/null +++ b/Bilibili/Bili_评书.txt @@ -0,0 +1,110 @@ +{ + "classes": [ + { + "type_name": "单田芳", + "type_id": "单田芳评书" + }, + { + "type_name": "袁阔成", + "type_id": "袁阔成评书" + }, + { + "type_name": "有声小说", + "type_id": "有声小说" + }, + { + "type_name": "刘兰芳", + "type_id": "刘兰芳评书" + }, + { + "type_name": "田连元", + "type_id": "田连元评书" + }, + { + "type_name": "故事", + "type_id": "故事" + }, + { + "type_name": "单口", + "type_id": "单口评书" + }, + + { + "type_name": "动画评书", + "type_id": "动画评书" + }, + { + "type_name": "王玥波", + "type_id": "王玥波评书" + }, + { + "type_name": "张少佐", + "type_id": "张少佐评书" + }, + { + "type_name": "连丽如", + "type_id": "连丽如评书" + }, + { + "type_name": "关永超", + "type_id": "关永超评书" + }, + + { + "type_name": "王少堂", + "type_id": "王少堂评书" + }, + { + "type_name": "陈士和", + "type_id": "陈士和评书" + }, + { + "type_name": "陈青远", + "type_id": "陈青远评书" + } + + + + +], + "filter": { + "单田芳评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + + "袁阔成评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + + "有声小说": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"tid","name":"分类","value":[{"n":"全部","v":"有声小说"},{"n":"有声书","v":"有声书"},{"n":"多人有声小说","v":"多人有声小说"},{"n":"恐怖有声小说","v":"恐怖有声小说"},{"n":"穿越有声小说","v":"穿越有声小说"},{"n":"金庸有声小说","v":"金庸有声小说"},{"n":"悬疑有声小说","v":"悬疑有声小说"},{"n":"官场有声小说","v":"官场有声小说"},{"n":"搞笑有声小说","v":"搞笑有声小说"},{"n":"言情有声小说","v":"言情有声小说"},{"n":"重生有声小说","v":"重生有声小说"},{"n":"修仙有声小说","v":"修仙有声小说"},{"n":"武侠有声小说","v":"武侠有声小说"},{"n":"广播剧有声小说","v":"广播剧有声小说"}]}, + +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + "刘兰芳评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + + "田连元评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + "故事": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, + +{"key":"tid","name":"分类","value":[{"n":"全部","v":"故事"},{"n":"故事会","v":"故事会"},{"n":"民间故事","v":"民间故事"},{"n":"恐怖故事","v":"民间故事"},{"n":"王刚讲故事","v":"王刚讲故事"},{"n":"儿童故事","v":"儿童故事"},{"n":"安徒生童话","v":"安徒生童话"},{"n":"世界未解之谜","v":"世界未解之谜"},{"n":"故事合集","v":"故事合集"},{"n":"怪谈","v":"怪谈"}]},{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + + "单口评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + + "动画评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + "王玥波评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + "张少佐评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + "连丽如评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + "王少堂评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + "陈士和评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + + "关永超评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}], + + "陈青远评书": [{"key":"order","name":"排序","value":[{"n":"综合排序","v":"0"},{"n":"最多点击","v":"click"},{"n":"最新发布","v":"pubdate"},{"n":"最多弹幕","v":"dm"},{"n":"最多收藏","v":"stow"}]}, +{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}]}} \ No newline at end of file diff --git a/Bilibili/Bili_课堂.json b/Bilibili/Bili_课堂.json new file mode 100644 index 0000000..b3b223b --- /dev/null +++ b/Bilibili/Bili_课堂.json @@ -0,0 +1,1418 @@ +{ + "classes": [ + { + "type_name": "儿童", + "type_id": "儿童" + }, + { + "type_name": "小学", + "type_id": "小学课程" + }, + { + "type_name": "一年级", + "type_id": "一年级" + }, + { + "type_name": "二年级", + "type_id": "二年级" + }, + { + "type_name": "三年级", + "type_id": "三年级" + }, + { + "type_name": "四年级", + "type_id": "四年级" + }, + { + "type_name": "五年级", + "type_id": "五年级" + }, + { + "type_name": "六年级", + "type_id": "六年级" + }, + { + "type_name": "小升初", + "type_id": "小升初" + }, + { + "type_name": "初中", + "type_id": "初中课程" + }, + { + "type_name": "七年级", + "type_id": "七年级" + }, + { + "type_name": "八年级", + "type_id": "八年级" + }, + { + "type_name": "九年级", + "type_id": "九年级" + }, + { + "type_name": "中考", + "type_id": "中考" + }, + { + "type_name": "初升高", + "type_id": "初升高" + }, + { + "type_name": "高中", + "type_id": "高中课程" + }, + { + "type_name": "高一", + "type_id": "高一" + }, + { + "type_name": "高二", + "type_id": "高二" + }, + { + "type_name": "高三", + "type_id": "高三" + }, + { + "type_name": "高考", + "type_id": "高考" + } + + ], + "filter": { + + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "巧虎", + "v": "巧虎" + }, + { + "n": "巧虎英语", + "v": "巧虎英语" + }, + { + "n": "巧虎古诗", + "v": "巧虎古诗" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "小学课程": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "小学课程" + }, + { + "n": "语文", + "v": "小学语文" + }, + { + "n": "数学", + "v": "小学数学" + }, + { + "n": "英语", + "v": "小学英语" + }, + { + "n": "实验", + "v": "小学科学实验" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "一年级": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "小学一年级" + }, + { + "n": "语文", + "v": "一年级语文" + }, + { + "n": "数学", + "v": "一年级数学" + }, + { + "n": "英语", + "v": "一年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "二年级": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "小学二年级" + }, + { + "n": "语文", + "v": "二年级语文" + }, + { + "n": "数学", + "v": "二年级数学" + }, + { + "n": "英语", + "v": "二年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "三年级": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "小学三年级" + }, + { + "n": "语文", + "v": "三年级语文" + }, + { + "n": "数学", + "v": "三年级数学" + }, + { + "n": "英语", + "v": "三年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "四年级": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "小学四年级" + }, + { + "n": "语文", + "v": "四年级语文" + }, + { + "n": "数学", + "v": "四年级数学" + }, + { + "n": "英语", + "v": "四年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "五年级": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "小学五年级" + }, + { + "n": "语文", + "v": "五年级语文" + }, + { + "n": "数学", + "v": "五年级数学" + }, + { + "n": "英语", + "v": "五年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "六年级": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "小学六年级" + }, + { + "n": "语文", + "v": "六年级语文" + }, + { + "n": "数学", + "v": "六年级数学" + }, + { + "n": "英语", + "v": "六年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "小升初": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "小升初" + }, + { + "n": "语文", + "v": "小升初语文" + }, + { + "n": "数学", + "v": "小升初数学" + }, + { + "n": "英语", + "v": "小升初英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "初中课程": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "初中课程" + }, + { + "n": "语文", + "v": "初中语文" + }, + { + "n": "数学", + "v": "初中数学" + }, + { + "n": "英语", + "v": "初中英语" + }, + { + "n": "物理", + "v": "初中物理" + }, + { + "n": "化学", + "v": "初中化学" + }, + { + "n": "历史", + "v": "初中历史" + }, + { + "n": "政治", + "v": "初中政治" + }, + { + "n": "生物", + "v": "初中生物" + }, + { + "n": "地理", + "v": "初中地理" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "七年级": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "七年级" + }, + { + "n": "语文", + "v": "七年级语文" + }, + { + "n": "数学", + "v": "七年级数学" + }, + { + "n": "英语", + "v": "七年级英语" + }, + { + "n": "物理", + "v": "七年级物理" + }, + { + "n": "化学", + "v": "七年级化学" + }, + { + "n": "历史", + "v": "七年级历史" + }, + { + "n": "政治", + "v": "七年级政治" + }, + { + "n": "生物", + "v": "七年级生物" + }, + { + "n": "地理", + "v": "七年级地理" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "八年级": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "八年级" + }, + { + "n": "语文", + "v": "八年级语文" + }, + { + "n": "数学", + "v": "八年级数学" + }, + { + "n": "英语", + "v": "八年级英语" + }, + { + "n": "物理", + "v": "八年级物理" + }, + { + "n": "化学", + "v": "八年级化学" + }, + { + "n": "历史", + "v": "八年级历史" + }, + { + "n": "政治", + "v": "八年级政治" + }, + { + "n": "生物", + "v": "八年级生物" + }, + { + "n": "地理", + "v": "八年级地理" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "九年级": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "九年级" + }, + { + "n": "语文", + "v": "九年级语文" + }, + { + "n": "数学", + "v": "九年级数学" + }, + { + "n": "英语", + "v": "九年级英语" + }, + { + "n": "物理", + "v": "九年级物理" + }, + { + "n": "化学", + "v": "九年级化学" + }, + { + "n": "历史", + "v": "九年级历史" + }, + { + "n": "政治", + "v": "九年级政治" + }, + { + "n": "生物", + "v": "九年级生物" + }, + { + "n": "地理", + "v": "九年级地理" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "中考": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "中考" + }, + { + "n": "语文", + "v": "中考语文" + }, + { + "n": "数学", + "v": "中考数学" + }, + { + "n": "英语", + "v": "中考英语" + }, + { + "n": "物理", + "v": "中考物理" + }, + { + "n": "化学", + "v": "中考化学" + }, + { + "n": "历史", + "v": "中考历史" + }, + { + "n": "政治", + "v": "中考政治" + }, + { + "n": "生物", + "v": "中考生物" + }, + { + "n": "地理", + "v": "中考地理" + }, + { + "n": "实验", + "v": "中考实验" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "初升高": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "初升高" + }, + { + "n": "语文", + "v": "初升高语文" + }, + { + "n": "数学", + "v": "初升高数学" + }, + { + "n": "英语", + "v": "初升高英语" + }, + { + "n": "物理", + "v": "初升高物理" + }, + { + "n": "化学", + "v": "初升高化学" + }, + { + "n": "历史", + "v": "初升高历史" + }, + { + "n": "政治", + "v": "初升高政治" + }, + { + "n": "生物", + "v": "初升高生物" + }, + { + "n": "地理", + "v": "初升高地理" + } + + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高中课程": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "高中课程" + }, + { + "n": "语文", + "v": "高中语文" + }, + { + "n": "数学", + "v": "高中数学" + }, + { + "n": "英语", + "v": "高中英语" + }, + { + "n": "物理", + "v": "高中物理" + }, + { + "n": "化学", + "v": "高中化学" + }, + { + "n": "生物", + "v": "高中生物" + }, + { + "n": "历史", + "v": "高中历史" + }, + { + "n": "政治", + "v": "高中政治" + }, + { + "n": "地理", + "v": "高中地理" + }, + { + "n": "实验", + "v": "高中实验" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高一": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "高一" + }, + { + "n": "语文", + "v": "高一语文" + }, + { + "n": "数学", + "v": "高一数学" + }, + { + "n": "英语", + "v": "高一英语" + }, + { + "n": "物理", + "v": "高一物理" + }, + { + "n": "化学", + "v": "高一化学" + }, + { + "n": "历史", + "v": "高一历史" + }, + { + "n": "政治", + "v": "高一政治" + }, + { + "n": "生物", + "v": "高一生物" + }, + { + "n": "地理", + "v": "高一地理" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "高二" + }, + { + "n": "语文", + "v": "高二语文" + }, + { + "n": "数学", + "v": "高二数学" + }, + { + "n": "英语", + "v": "高二英语" + }, + { + "n": "物理", + "v": "高二物理" + }, + { + "n": "化学", + "v": "高二化学" + }, + { + "n": "历史", + "v": "高二历史" + }, + { + "n": "政治", + "v": "高二政治" + }, + { + "n": "生物", + "v": "高二生物" + }, + { + "n": "地理", + "v": "高二地理" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "高三" + }, + { + "n": "语文", + "v": "高三语文" + }, + { + "n": "数学", + "v": "高三数学" + }, + { + "n": "英语", + "v": "高三英语" + }, + { + "n": "物理", + "v": "高三物理" + }, + { + "n": "化学", + "v": "高三化学" + }, + { + "n": "历史", + "v": "高三历史" + }, + { + "n": "政治", + "v": "高三政治" + }, + { + "n": "生物", + "v": "高三生物" + }, + { + "n": "地理", + "v": "高三地理" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高考": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "高考" + }, + { + "n": "语文", + "v": "高考语文" + }, + { + "n": "数学", + "v": "高考数学" + }, + { + "n": "英语", + "v": "高考英语" + }, + { + "n": "物理", + "v": "高考物理" + }, + { + "n": "化学", + "v": "高考化学" + }, + { + "n": "历史", + "v": "高考历史" + }, + { + "n": "政治", + "v": "高考政治" + }, + { + "n": "生物", + "v": "高考生物" + }, + { + "n": "地理", + "v": "高考地理" + }, + { + "n": "实验", + "v": "高考实验" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + + } +} \ No newline at end of file diff --git a/Bilibili/bili.json b/Bilibili/bili.json new file mode 100644 index 0000000..01060a7 --- /dev/null +++ b/Bilibili/bili.json @@ -0,0 +1,3711 @@ +{ + "classes": [{ + "type_name": "演唱会", + "type_id": "演唱会4K" + }, { + "type_name": "戏曲", + "type_id": "戏曲4K" + }, { + "type_name": "相声小品", + "type_id": "相声小品" + }, { + "type_name": "风景", + "type_id": "风景4K" + }, { + "type_name": "MV", + "type_id": "MV4K" + }, { + "type_name": "歌舞", + "type_id": "歌舞" + }, { + "type_name": "说案", + "type_id": "说案" + }, { + "type_name": "演讲", + "type_id": "演讲" + }, { + "type_name": "解说", + "type_id": "解说" + }, { + "type_name": "儿童", + "type_id": "儿童" + }, { + "type_name": "📕苏教版", + "type_id": "苏教版课程" + }, { + "type_name": "📗人教版", + "type_id": "人教版课程" + }, { + "type_name": "📘沪教版", + "type_id": "沪教版课程" + }, { + "type_name": "📚北师大版", + "type_id": "北师大版课程" + }, { + "type_name": "搞笑", + "type_id": "搞笑" + }, { + "type_name": "健身", + "type_id": "健身" + }, { + "type_name": "食谱", + "type_id": "食谱" + }, { + "type_name": "球星", + "type_id": "球星" + }, { + "type_name": "动物世界", + "type_id": "动物世界4K" + }, { + "type_name": "窗白噪音", + "type_id": "窗白噪音4K" + }, { + "type_name": "UP主", + "type_id": "UP主" + }], + "filter": { + "苏教版课程": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "年级科目", + "value": [{ + "n": "1年级语文", + "v": "苏教版1年级语文" + }, { + "n": "1年级数学", + "v": "苏教版1年级数学" + }, { + "n": "1年级英语", + "v": "苏教版1年级英语" + }, { + "n": "2年级语文", + "v": "苏教版2年级语文" + }, { + "n": "2年级数学", + "v": "苏教版2年级数学" + }, { + "n": "2年级英语", + "v": "苏教版2年级英语" + }, { + "n": "3年级语文", + "v": "苏教版3年级语文" + }, { + "n": "3年级数学", + "v": "苏教版3年级数学" + }, { + "n": "3年级英语", + "v": "苏教版3年级英语" + }, { + "n": "4年级语文", + "v": "苏教版4年级语文" + }, { + "n": "4年级数学", + "v": "苏教版4年级数学" + }, { + "n": "4年级英语", + "v": "苏教版4年级英语" + }, { + "n": "5年级语文", + "v": "苏教版5年级语文" + }, { + "n": "5年级数学", + "v": "苏教版5年级数学" + }, { + "n": "5年级英语", + "v": "苏教版5年级英语" + }, { + "n": "6年级语文", + "v": "苏教版6年级语文" + }, { + "n": "6年级数学", + "v": "苏教版6年级数学" + }, { + "n": "6年级英语", + "v": "苏教版6年级英语" + }, { + "n": "7年级语文", + "v": "苏教版7年级语文" + }, { + "n": "7年级数学", + "v": "苏教版7年级数学" + }, { + "n": "7年级英语", + "v": "苏教版7年级英语" + }, { + "n": "7年级历史", + "v": "苏教版7年级历史" + }, { + "n": "7年级地理", + "v": "苏教版7年级地理" + }, { + "n": "7年级生物", + "v": "苏教版7年级生物" + }, { + "n": "7年级物理", + "v": "苏教版7年级物理" + }, { + "n": "7年级化学", + "v": "苏教版7年级化学" + }, { + "n": "8年级语文", + "v": "苏教版8年级语文" + }, { + "n": "8年级数学", + "v": "苏教版8年级数学" + }, { + "n": "8年级英语", + "v": "苏教版8年级英语" + }, { + "n": "8年级历史", + "v": "苏教版8年级历史" + }, { + "n": "8年级地理", + "v": "苏教版8年级地理" + }, { + "n": "8年级生物", + "v": "苏教版8年级生物" + }, { + "n": "8年级物理", + "v": "苏教版8年级物理" + }, { + "n": "8年级化学", + "v": "苏教版8年级化学" + }, { + "n": "9年级语文", + "v": "苏教版9年级语文" + }, { + "n": "9年级数学", + "v": "苏教版9年级数学" + }, { + "n": "9年级英语", + "v": "苏教版9年级英语" + }, { + "n": "9年级历史", + "v": "苏教版9年级历史" + }, { + "n": "9年级地理", + "v": "苏教版9年级地理" + }, { + "n": "9年级生物", + "v": "苏教版9年级生物" + }, { + "n": "9年级物理", + "v": "苏教版9年级物理" + }, { + "n": "9年级化学", + "v": "苏教版9年级化学" + }, { + "n": "高一语文", + "v": "苏教版高一语文" + }, { + "n": "高一数学", + "v": "苏教版高一数学" + }, { + "n": "高一英语", + "v": "苏教版高一英语" + }, { + "n": "高一思想政治", + "v": "苏教版高一思想政治" + }, { + "n": "高一历史", + "v": "苏教版高一历史" + }, { + "n": "高一地理", + "v": "苏教版高一地理" + }, { + "n": "高一生物", + "v": "苏教版高一生物" + }, { + "n": "高一物理", + "v": "苏教版高一物理" + }, { + "n": "高一化学", + "v": "苏教版高一化学" + }, { + "n": "高二语文", + "v": "苏教版高二语文" + }, { + "n": "高二数学", + "v": "苏教版高二数学" + }, { + "n": "高二英语", + "v": "苏教版高二英语" + }, { + "n": "高二思想政治", + "v": "苏教版高二思想政治" + }, { + "n": "高二历史", + "v": "苏教版高二历史" + }, { + "n": "高二地理", + "v": "苏教版高二地理" + }, { + "n": "高二生物", + "v": "苏教版高二生物" + }, { + "n": "高二物理", + "v": "苏教版高二物理" + }, { + "n": "高二化学", + "v": "苏教版高二化学" + }, { + "n": "高三语文", + "v": "苏教版高三语文" + }, { + "n": "高三数学", + "v": "苏教版高三数学" + }, { + "n": "高三英语", + "v": "苏教版高三英语" + }, { + "n": "高三思想政治", + "v": "苏教版高三思想政治" + }, { + "n": "高三历史", + "v": "苏教版高三历史" + }, { + "n": "高三地理", + "v": "苏教版高三地理" + }, { + "n": "高三生物", + "v": "苏教版高三生物" + }, { + "n": "高三物理", + "v": "苏教版高三物理" + }, { + "n": "高三化学", + "v": "苏教版高三化学" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "人教版课程": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "年级科目", + "value": [{ + "n": "1年级语文", + "v": "人教版1年级语文" + }, { + "n": "1年级数学", + "v": "人教版1年级数学" + }, { + "n": "1年级英语", + "v": "人教版1年级英语" + }, { + "n": "2年级语文", + "v": "人教版2年级语文" + }, { + "n": "2年级数学", + "v": "人教版2年级数学" + }, { + "n": "2年级英语", + "v": "人教版2年级英语" + }, { + "n": "3年级语文", + "v": "人教版3年级语文" + }, { + "n": "3年级数学", + "v": "人教版3年级数学" + }, { + "n": "3年级英语", + "v": "人教版3年级英语" + }, { + "n": "4年级语文", + "v": "人教版4年级语文" + }, { + "n": "4年级数学", + "v": "人教版4年级数学" + }, { + "n": "4年级英语", + "v": "人教版4年级英语" + }, { + "n": "5年级语文", + "v": "人教版5年级语文" + }, { + "n": "5年级数学", + "v": "人教版5年级数学" + }, { + "n": "5年级英语", + "v": "人教版5年级英语" + }, { + "n": "6年级语文", + "v": "人教版6年级语文" + }, { + "n": "6年级数学", + "v": "人教版6年级数学" + }, { + "n": "6年级英语", + "v": "人教版6年级英语" + }, { + "n": "7年级语文", + "v": "人教版7年级语文" + }, { + "n": "7年级数学", + "v": "人教版7年级数学" + }, { + "n": "7年级英语", + "v": "人教版7年级英语" + }, { + "n": "7年级历史", + "v": "人教版7年级历史" + }, { + "n": "7年级地理", + "v": "人教版7年级地理" + }, { + "n": "7年级生物", + "v": "人教版7年级生物" + }, { + "n": "7年级物理", + "v": "人教版7年级物理" + }, { + "n": "7年级化学", + "v": "人教版7年级化学" + }, { + "n": "8年级语文", + "v": "人教版8年级语文" + }, { + "n": "8年级数学", + "v": "人教版8年级数学" + }, { + "n": "8年级英语", + "v": "人教版8年级英语" + }, { + "n": "8年级历史", + "v": "人教版8年级历史" + }, { + "n": "8年级地理", + "v": "人教版8年级地理" + }, { + "n": "8年级生物", + "v": "人教版8年级生物" + }, { + "n": "8年级物理", + "v": "人教版8年级物理" + }, { + "n": "8年级化学", + "v": "人教版8年级化学" + }, { + "n": "9年级语文", + "v": "人教版9年级语文" + }, { + "n": "9年级数学", + "v": "人教版9年级数学" + }, { + "n": "9年级英语", + "v": "人教版9年级英语" + }, { + "n": "9年级历史", + "v": "人教版9年级历史" + }, { + "n": "9年级地理", + "v": "人教版9年级地理" + }, { + "n": "9年级生物", + "v": "人教版9年级生物" + }, { + "n": "9年级物理", + "v": "人教版9年级物理" + }, { + "n": "9年级化学", + "v": "人教版9年级化学" + }, { + "n": "高一语文", + "v": "人教版高一语文" + }, { + "n": "高一数学", + "v": "人教版高一数学" + }, { + "n": "高一英语", + "v": "人教版高一英语" + }, { + "n": "高一思想政治", + "v": "人教版高一思想政治" + }, { + "n": "高一历史", + "v": "人教版高一历史" + }, { + "n": "高一地理", + "v": "人教版高一地理" + }, { + "n": "高一生物", + "v": "人教版高一生物" + }, { + "n": "高一物理", + "v": "人教版高一物理" + }, { + "n": "高一化学", + "v": "人教版高一化学" + }, { + "n": "高二语文", + "v": "人教版高二语文" + }, { + "n": "高二数学", + "v": "人教版高二数学" + }, { + "n": "高二英语", + "v": "人教版高二英语" + }, { + "n": "高二思想政治", + "v": "人教版高二思想政治" + }, { + "n": "高二历史", + "v": "人教版高二历史" + }, { + "n": "高二地理", + "v": "人教版高二地理" + }, { + "n": "高二生物", + "v": "人教版高二生物" + }, { + "n": "高二物理", + "v": "人教版高二物理" + }, { + "n": "高二化学", + "v": "人教版高二化学" + }, { + "n": "高三语文", + "v": "人教版高三语文" + }, { + "n": "高三数学", + "v": "人教版高三数学" + }, { + "n": "高三英语", + "v": "人教版高三英语" + }, { + "n": "高三思想政治", + "v": "人教版高三思想政治" + }, { + "n": "高三历史", + "v": "人教版高三历史" + }, { + "n": "高三地理", + "v": "人教版高三地理" + }, { + "n": "高三生物", + "v": "人教版高三生物" + }, { + "n": "高三物理", + "v": "人教版高三物理" + }, { + "n": "高三化学", + "v": "人教版高三化学" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "沪教版课程": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "年级科目", + "value": [{ + "n": "1年级语文", + "v": "沪教版1年级语文" + }, { + "n": "1年级数学", + "v": "沪教版1年级数学" + }, { + "n": "1年级英语", + "v": "沪教版1年级英语" + }, { + "n": "2年级语文", + "v": "沪教版2年级语文" + }, { + "n": "2年级数学", + "v": "沪教版2年级数学" + }, { + "n": "2年级英语", + "v": "沪教版2年级英语" + }, { + "n": "3年级语文", + "v": "沪教版3年级语文" + }, { + "n": "3年级数学", + "v": "沪教版3年级数学" + }, { + "n": "3年级英语", + "v": "沪教版3年级英语" + }, { + "n": "4年级语文", + "v": "沪教版4年级语文" + }, { + "n": "4年级数学", + "v": "沪教版4年级数学" + }, { + "n": "4年级英语", + "v": "沪教版4年级英语" + }, { + "n": "5年级语文", + "v": "沪教版5年级语文" + }, { + "n": "5年级数学", + "v": "沪教版5年级数学" + }, { + "n": "5年级英语", + "v": "沪教版5年级英语" + }, { + "n": "6年级语文", + "v": "沪教版6年级语文" + }, { + "n": "6年级数学", + "v": "沪教版6年级数学" + }, { + "n": "6年级英语", + "v": "沪教版6年级英语" + }, { + "n": "7年级语文", + "v": "沪教版7年级语文" + }, { + "n": "7年级数学", + "v": "沪教版7年级数学" + }, { + "n": "7年级英语", + "v": "沪教版7年级英语" + }, { + "n": "7年级历史", + "v": "沪教版7年级历史" + }, { + "n": "7年级地理", + "v": "沪教版7年级地理" + }, { + "n": "7年级生物", + "v": "沪教版7年级生物" + }, { + "n": "7年级物理", + "v": "沪教版7年级物理" + }, { + "n": "7年级化学", + "v": "沪教版7年级化学" + }, { + "n": "8年级语文", + "v": "沪教版8年级语文" + }, { + "n": "8年级数学", + "v": "沪教版8年级数学" + }, { + "n": "8年级英语", + "v": "沪教版8年级英语" + }, { + "n": "8年级历史", + "v": "沪教版8年级历史" + }, { + "n": "8年级地理", + "v": "沪教版8年级地理" + }, { + "n": "8年级生物", + "v": "沪教版8年级生物" + }, { + "n": "8年级物理", + "v": "沪教版8年级物理" + }, { + "n": "8年级化学", + "v": "沪教版8年级化学" + }, { + "n": "9年级语文", + "v": "沪教版9年级语文" + }, { + "n": "9年级数学", + "v": "沪教版9年级数学" + }, { + "n": "9年级英语", + "v": "沪教版9年级英语" + }, { + "n": "9年级历史", + "v": "沪教版9年级历史" + }, { + "n": "9年级地理", + "v": "沪教版9年级地理" + }, { + "n": "9年级生物", + "v": "沪教版9年级生物" + }, { + "n": "9年级物理", + "v": "沪教版9年级物理" + }, { + "n": "9年级化学", + "v": "沪教版9年级化学" + }, { + "n": "高一语文", + "v": "沪教版高一语文" + }, { + "n": "高一数学", + "v": "沪教版高一数学" + }, { + "n": "高一英语", + "v": "沪教版高一英语" + }, { + "n": "高一思想政治", + "v": "沪教版高一思想政治" + }, { + "n": "高一历史", + "v": "沪教版高一历史" + }, { + "n": "高一地理", + "v": "沪教版高一地理" + }, { + "n": "高一生物", + "v": "沪教版高一生物" + }, { + "n": "高一物理", + "v": "沪教版高一物理" + }, { + "n": "高一化学", + "v": "沪教版高一化学" + }, { + "n": "高二语文", + "v": "沪教版高二语文" + }, { + "n": "高二数学", + "v": "沪教版高二数学" + }, { + "n": "高二英语", + "v": "沪教版高二英语" + }, { + "n": "高二思想政治", + "v": "沪教版高二思想政治" + }, { + "n": "高二历史", + "v": "沪教版高二历史" + }, { + "n": "高二地理", + "v": "沪教版高二地理" + }, { + "n": "高二生物", + "v": "沪教版高二生物" + }, { + "n": "高二物理", + "v": "沪教版高二物理" + }, { + "n": "高二化学", + "v": "沪教版高二化学" + }, { + "n": "高三语文", + "v": "沪教版高三语文" + }, { + "n": "高三数学", + "v": "沪教版高三数学" + }, { + "n": "高三英语", + "v": "沪教版高三英语" + }, { + "n": "高三思想政治", + "v": "沪教版高三思想政治" + }, { + "n": "高三历史", + "v": "沪教版高三历史" + }, { + "n": "高三地理", + "v": "沪教版高三地理" + }, { + "n": "高三生物", + "v": "沪教版高三生物" + }, { + "n": "高三物理", + "v": "沪教版高三物理" + }, { + "n": "高三化学", + "v": "沪教版高三化学" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "北师大版课程": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "年级科目", + "value": [{ + "n": "1年级语文", + "v": "北师大版1年级语文" + }, { + "n": "1年级数学", + "v": "北师大版1年级数学" + }, { + "n": "1年级英语", + "v": "北师大版1年级英语" + }, { + "n": "2年级语文", + "v": "北师大版2年级语文" + }, { + "n": "2年级数学", + "v": "北师大版2年级数学" + }, { + "n": "2年级英语", + "v": "北师大版2年级英语" + }, { + "n": "3年级语文", + "v": "北师大版3年级语文" + }, { + "n": "3年级数学", + "v": "北师大版3年级数学" + }, { + "n": "3年级英语", + "v": "北师大版3年级英语" + }, { + "n": "4年级语文", + "v": "北师大版4年级语文" + }, { + "n": "4年级数学", + "v": "北师大版4年级数学" + }, { + "n": "4年级英语", + "v": "北师大版4年级英语" + }, { + "n": "5年级语文", + "v": "北师大版5年级语文" + }, { + "n": "5年级数学", + "v": "北师大版5年级数学" + }, { + "n": "5年级英语", + "v": "北师大版5年级英语" + }, { + "n": "6年级语文", + "v": "北师大版6年级语文" + }, { + "n": "6年级数学", + "v": "北师大版6年级数学" + }, { + "n": "6年级英语", + "v": "北师大版6年级英语" + }, { + "n": "7年级语文", + "v": "北师大版7年级语文" + }, { + "n": "7年级数学", + "v": "北师大版7年级数学" + }, { + "n": "7年级英语", + "v": "北师大版7年级英语" + }, { + "n": "7年级历史", + "v": "北师大版7年级历史" + }, { + "n": "7年级地理", + "v": "北师大版7年级地理" + }, { + "n": "7年级生物", + "v": "北师大版7年级生物" + }, { + "n": "7年级物理", + "v": "北师大版7年级物理" + }, { + "n": "7年级化学", + "v": "北师大版7年级化学" + }, { + "n": "8年级语文", + "v": "北师大版8年级语文" + }, { + "n": "8年级数学", + "v": "北师大版8年级数学" + }, { + "n": "8年级英语", + "v": "北师大版8年级英语" + }, { + "n": "8年级历史", + "v": "北师大版8年级历史" + }, { + "n": "8年级地理", + "v": "北师大版8年级地理" + }, { + "n": "8年级生物", + "v": "北师大版8年级生物" + }, { + "n": "8年级物理", + "v": "北师大版8年级物理" + }, { + "n": "8年级化学", + "v": "北师大版8年级化学" + }, { + "n": "9年级语文", + "v": "北师大版9年级语文" + }, { + "n": "9年级数学", + "v": "北师大版9年级数学" + }, { + "n": "9年级英语", + "v": "北师大版9年级英语" + }, { + "n": "9年级历史", + "v": "北师大版9年级历史" + }, { + "n": "9年级地理", + "v": "北师大版9年级地理" + }, { + "n": "9年级生物", + "v": "北师大版9年级生物" + }, { + "n": "9年级物理", + "v": "北师大版9年级物理" + }, { + "n": "9年级化学", + "v": "北师大版9年级化学" + }, { + "n": "高一语文", + "v": "北师大版高一语文" + }, { + "n": "高一数学", + "v": "北师大版高一数学" + }, { + "n": "高一英语", + "v": "北师大版高一英语" + }, { + "n": "高一思想政治", + "v": "北师大版高一思想政治" + }, { + "n": "高一历史", + "v": "北师大版高一历史" + }, { + "n": "高一地理", + "v": "北师大版高一地理" + }, { + "n": "高一生物", + "v": "北师大版高一生物" + }, { + "n": "高一物理", + "v": "北师大版高一物理" + }, { + "n": "高一化学", + "v": "北师大版高一化学" + }, { + "n": "高二语文", + "v": "北师大版高二语文" + }, { + "n": "高二数学", + "v": "北师大版高二数学" + }, { + "n": "高二英语", + "v": "北师大版高二英语" + }, { + "n": "高二思想政治", + "v": "北师大版高二思想政治" + }, { + "n": "高二历史", + "v": "北师大版高二历史" + }, { + "n": "高二地理", + "v": "北师大版高二地理" + }, { + "n": "高二生物", + "v": "北师大版高二生物" + }, { + "n": "高二物理", + "v": "北师大版高二物理" + }, { + "n": "高二化学", + "v": "北师大版高二化学" + }, { + "n": "高三语文", + "v": "北师大版高三语文" + }, { + "n": "高三数学", + "v": "北师大版高三数学" + }, { + "n": "高三英语", + "v": "北师大版高三英语" + }, { + "n": "高三思想政治", + "v": "北师大版高三思想政治" + }, { + "n": "高三历史", + "v": "北师大版高三历史" + }, { + "n": "高三地理", + "v": "北师大版高三地理" + }, { + "n": "高三生物", + "v": "北师大版高三生物" + }, { + "n": "高三物理", + "v": "北师大版高三物理" + }, { + "n": "高三化学", + "v": "北师大版高三化学" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "说案": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "说案" + }, { + "n": "汤圆", + "v": "汤圆说案" + }, { + "n": "唐唐", + "v": "唐唐说案" + }, { + "n": "罗翔", + "v": "罗翔说刑法" + }, { + "n": "何家弘", + "v": "何家弘说案" + }, { + "n": "韩诺", + "v": "韩诺说案" + }, { + "n": "老V", + "v": "老V说案" + }, { + "n": "禁播档案‼️", + "v": "禁播档案" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "演讲": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "全部演讲" + }, { + "n": "A艾跃进", + "v": "艾跃进演讲" + }, { + "n": "C超级演说家", + "v": "超级演说家名场面" + }, { + "n": "D电影", + "v": "电影演讲" + }, { + "n": "D典籍里的中国", + "v": "典籍里的中国" + }, { + "n": "G郭继承", + "v": "郭继承" + }, { + "n": "H华春莹", + "v": "华春莹演讲" + }, { + "n": "L雷军", + "v": "雷军演讲" + }, { + "n": "L罗翔", + "v": "罗翔演讲" + }, { + "n": "R任正非", + "v": "任正非演讲" + }, { + "n": "TED", + "v": "TED演讲" + }, { + "n": "W汪文斌", + "v": "汪文斌演讲" + }, { + "n": "Y一刻", + "v": "一刻talks" + }, { + "n": "Z赵立坚", + "v": "赵立坚演讲" + }, { + "n": "Z郑强", + "v": "郑强演讲" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "解说": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "解说" + }, { + "n": "电影", + "v": "电影解说" + }, { + "n": "电视", + "v": "电视解说" + }, { + "n": "历史", + "v": "历史解说" + }, { + "n": "动漫", + "v": "动漫解说" + }, { + "n": "歌词", + "v": "歌词解读" + }, { + "n": "小说", + "v": "小说解读" + }, { + "n": "纪录片", + "v": "纪录片解说" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "歌舞": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌舞" + }, { + "n": "电影歌舞", + "v": "电影歌舞" + }, { + "n": "国风舞蹈", + "v": "国风舞蹈" + }, { + "n": "河卫国风", + "v": "河南卫视国风" + }, { + "n": "助眠音乐", + "v": "助眠音乐" + }, { + "n": "古风歌曲", + "v": "古风歌曲" + }, { + "n": "国乐大典", + "v": "国乐大典" + }, { + "n": "怀旧老歌", + "v": "怀旧老歌" + }, { + "n": "抖音热歌", + "v": "抖音热歌" + }, { + "n": "网红翻唱", + "v": "网红翻唱" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "UP主": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "昵称", + "value": [{ + "n": "全部", + "v": "UP主" + }, { + "n": "A阿阳热爱前端", + "v": "阿阳热爱前端" + }, { + "n": "A艾栗夏", + "v": "艾栗夏" + }, { + "n": "A爱读书的King", + "v": "爱读书的King" + }, { + "n": "A爱看报的Kris", + "v": "爱看报的Kris" + }, { + "n": "A安森垚", + "v": "安森垚" + }, { + "n": "A安慰记心理小店", + "v": "安慰记心理小店" + }, { + "n": "A安因思谈", + "v": "安因思谈" + }, { + "n": "A昂克英文君", + "v": "昂克英文君" + }, { + "n": "B阪神电车", + "v": "阪神电车" + }, { + "n": "B宝剑侍从", + "v": "宝剑侍从" + }, { + "n": "B北京青年x凉子访谈录", + "v": "北京青年x凉子访谈录" + }, { + "n": "B北师大刘文利", + "v": "北师大刘文利" + }, { + "n": "B备胎说车", + "v": "备胎说车" + }, { + "n": "B毕导THU", + "v": "毕导THU" + }, { + "n": "B哔哩哔哩纪录片", + "v": "哔哩哔哩纪录片" + }, { + "n": "B蝙蝠音乐", + "v": "蝙蝠音乐" + }, { + "n": "B冰零-Mahiru忠诚眷属", + "v": "冰零-Mahiru忠诚眷属" + }, { + "n": "B冰糖雪梨Cherie", + "v": "冰糖雪梨Cherie" + }, { + "n": "B波普尔2020", + "v": "波普尔2020" + }, { + "n": "B不务正业的李雷", + "v": "不务正业的李雷" + }, { + "n": "B不正经老丝", + "v": "不正经老丝" + }, { + "n": "C草说木言", + "v": "草说木言" + }, { + "n": "C柴知道", + "v": "柴知道" + }, { + "n": "C程十安", + "v": "C程十安" + }, { + "n": "D大啊毛君", + "v": "大啊毛君" + }, { + "n": "D大连老师王博文", + "v": "大连老师王博文" + }, { + "n": "D大门ZRR", + "v": "大门ZRR" + }, { + "n": "D大象放映室", + "v": "大象放映室" + }, { + "n": "D大又元", + "v": "大又元" + }, { + "n": "D戴建业老师", + "v": "戴建业老师" + }, { + "n": "D调侃企业发展史", + "v": "调侃企业发展史" + }, { + "n": "D动画讲编程", + "v": "动画讲编程" + }, { + "n": "D动物学博士陈睿", + "v": "动物学博士陈睿" + }, { + "n": "D杜滑滑", + "v": "杜滑滑" + }, { + "n": "E鹅姐职场", + "v": "鹅姐职场" + }, { + "n": "F帆雨动画", + "v": "帆雨动画" + }, { + "n": "F反诈骗", + "v": "反诈骗" + }, { + "n": "F方猫boom", + "v": "方猫boom" + }, { + "n": "F芳斯塔芙", + "v": "芳斯塔芙" + }, { + "n": "F菲比老司机", + "v": "菲比老司机" + }, { + "n": "F附议YJango", + "v": "附议YJango" + }, { + "n": "G肝帝董佳宁", + "v": "肝帝董佳宁" + }, { + "n": "G高盛元", + "v": "高盛元" + }, { + "n": "G龚老师课堂", + "v": "龚老师课堂" + }, { + "n": "G郭爷物理", + "v": "郭爷物理" + }, { + "n": "G国家玮-开明致学", + "v": "国家玮-开明致学" + }, { + "n": "G果壳", + "v": "果壳" + }, { + "n": "G果木浪子", + "v": "果木浪子" + }, { + "n": "H哈佛雪梨", + "v": "哈佛雪梨" + }, { + "n": "H韩顺平", + "v": "韩顺平" + }, { + "n": "H韩语养乐多老师", + "v": "韩语养乐多老师" + }, { + "n": "H画画的番木", + "v": "画画的番木" + }, { + "n": "H画渣花小烙", + "v": "画渣花小烙" + }, { + "n": "H幻海航行", + "v": "幻海航行" + }, { + "n": "H灰细胞", + "v": "灰细胞" + }, { + "n": "H回到2049", + "v": "回到2049" + }, { + "n": "H会放羊的教书匠", + "v": "会放羊的教书匠" + }, { + "n": "J机械百宝箱", + "v": "机械百宝箱" + }, { + "n": "J纪录片我去看世界", + "v": "纪录片我去看世界" + }, { + "n": "J纪录片之家字幕组", + "v": "纪录片之家字幕组" + }, { + "n": "J技术研究院", + "v": "技术研究院" + }, { + "n": "J季绝学", + "v": "季绝学" + }, { + "n": "J夹性芝士", + "v": "夹性芝士" + }, { + "n": "J讲历史的赵冬梅", + "v": "讲历史的赵冬梅" + }, { + "n": "J经济研究室-祈祷", + "v": "经济研究室-祈祷" + }, { + "n": "J军武志", + "v": "军武志" + }, { + "n": "K看懂村", + "v": "看懂村" + }, { + "n": "K科普中国", + "v": "科普中国" + }, { + "n": "K科学声音", + "v": "科学声音" + }, { + "n": "L拉片实验室", + "v": "拉片实验室" + }, { + "n": "L唠点历史", + "v": "唠点历史" + }, { + "n": "L老K的无聊杂谈", + "v": "老K的无聊杂谈" + }, { + "n": "L老爸评测", + "v": "老爸评测" + }, { + "n": "L老龙山下的狐狸", + "v": "老龙山下的狐狸" + }, { + "n": "L老师好我叫何同学", + "v": "老师好我叫何同学" + }, { + "n": "L乐乐老师的网络课堂", + "v": "乐乐老师的网络课堂" + }, { + "n": "L乐有为医生", + "v": "乐有为医生" + }, { + "n": "L冷静医夏", + "v": "冷静医夏" + }, { + "n": "L李船长笔记", + "v": "李船长笔记" + }, { + "n": "L李永乐老师官方", + "v": "李永乐老师官方" + }, { + "n": "L历史调研室", + "v": "历史调研室" + }, { + "n": "L历史启示录", + "v": "历史启示录" + }, { + "n": "L罗翔说刑法", + "v": "罗翔说刑法" + }, { + "n": "M木鱼水心", + "v": "木鱼水心" + }, { + "n": "S森纳映画", + "v": "森纳映画" + }, { + "n": "S沙盘上的战争", + "v": "沙盘上的战争" + }, { + "n": "S设计师的睡前毒物", + "v": "设计师的睡前毒物" + }, { + "n": "S生命中国", + "v": "生命中国" + }, { + "n": "S史图馆", + "v": "史图馆" + }, { + "n": "S世界记忆大师龙雅", + "v": "世界记忆大师龙雅" + }, { + "n": "S司马南", + "v": "司马南" + }, { + "n": "S思想史万有引力", + "v": "思想史万有引力" + }, { + "n": "S所长林超", + "v": "所长林超" + }, { + "n": "T汤质看本质", + "v": "汤质看本质" + }, { + "n": "T天真的和感伤的小说家", + "v": "天真的和感伤的小说家" + }, { + "n": "T听君一席课", + "v": "听君一席课" + }, { + "n": "W唯一讲述者", + "v": "唯一讲述者" + }, { + "n": "X心理学陈祉妍", + "v": "心理学陈祉妍" + }, { + "n": "X心理学于悦", + "v": "心理学于悦" + }, { + "n": "X心医林霖", + "v": "心医林霖" + }, { + "n": "X刑法学", + "v": "刑法学" + }, { + "n": "Y有观点大历史", + "v": "有观点大历史" + }, { + "n": "Z这知识好冷", + "v": "这知识好冷" + }, { + "n": "Z中科院格致论道讲坛", + "v": "中科院格致论道讲坛" + }, { + "n": "Z中医基础理论", + "v": "中医基础理论" + }, { + "n": "Z周观鱼UP", + "v": "周观鱼UP" + }, { + "n": "Z周末音乐", + "v": "周末音乐" + }, { + "n": "Z诸葛呈像", + "v": "诸葛呈像" + }, { + "n": "Z子小孙的老年生活", + "v": "子小孙的老年生活" + }, { + "n": "Z专心种花兔", + "v": "专心种花兔" + }, { + "n": "Z子都忆情", + "v": "子都忆情" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "风景4K": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "风景4K" + }, { + "n": "A澳门", + "v": "澳门风景4K" + }, { + "n": "A安徽", + "v": "安徽风景4K" + }, { + "n": "B布达拉宫", + "v": "布达拉宫风景4K" + }, { + "n": "B北京", + "v": "北京风景4K" + }, { + "n": "C重庆", + "v": "重庆风景4K" + }, { + "n": "C草原", + "v": "草原风景4K" + }, { + "n": "D大海", + "v": "大海风景4K" + }, { + "n": "F福建", + "v": "福建风景4K" + }, { + "n": "G广东", + "v": "广东风景4K" + }, { + "n": "G广西", + "v": "广西风景4K" + }, { + "n": "G贵州", + "v": "贵州风景4K" + }, { + "n": "G甘肃", + "v": "甘肃风景4K" + }, { + "n": "H海南", + "v": "海南风景4K" + }, { + "n": "H河北", + "v": "河北风景4K" + }, { + "n": "H河南", + "v": "河南风景4K" + }, { + "n": "H湖北", + "v": "湖北风景4K" + }, { + "n": "H湖南", + "v": "湖南风景4K" + }, { + "n": "H黑龙江", + "v": "黑龙江风景4K" + }, { + "n": "J吉林", + "v": "吉林风景4K" + }, { + "n": "J江苏", + "v": "江苏风景4K" + }, { + "n": "J江西", + "v": "江西风景4K" + }, { + "n": "L辽宁", + "v": "辽宁风景4K" + }, { + "n": "M民宿", + "v": "民宿风景4K" + }, { + "n": "N内蒙古", + "v": "内蒙古风景4K" + }, { + "n": "N宁夏", + "v": "宁夏风景4K" + }, { + "n": "Q青海", + "v": "青海风景4K" + }, { + "n": "S上海", + "v": "上海风景4K" + }, { + "n": "S陕西", + "v": "陕西风景4K" + }, { + "n": "S四川", + "v": "四川风景4K" + }, { + "n": "S山西", + "v": "山西风景4K" + }, { + "n": "S山东", + "v": "山东风景4K" + }, { + "n": "T天津", + "v": "天津风景4K" + }, { + "n": "T台湾", + "v": "台湾风景4K" + }, { + "n": "T天空", + "v": "天空风景4K" + }, { + "n": "X西湖", + "v": "西湖风景4K" + }, { + "n": "X西藏", + "v": "西藏风景4K" + }, { + "n": "X新疆", + "v": "新疆风景4K" + }, { + "n": "X香港", + "v": "香港风景4K" + }, { + "n": "Y云南", + "v": "云南风景4K" + }, { + "n": "Z浙江", + "v": "浙江风景4K" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "球星": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "球星" + }, { + "n": "B巴萨", + "v": "巴萨4K" + }, { + "n": "B巴黎圣日耳曼", + "v": "巴黎圣日耳曼4K" + }, { + "n": "B贝克汉姆", + "v": "贝克汉姆4K" + }, { + "n": "C罗", + "v": "C罗4K" + }, { + "n": "D杜兰特", + "v": "杜兰特4K" + }, { + "n": "D德布劳内", + "v": "德布劳内4K" + }, { + "n": "D德甲", + "v": "德甲4K" + }, { + "n": "F1", + "v": "F14K" + }, { + "n": "G国米", + "v": "国米4K" + }, { + "n": "G高尔夫", + "v": "高尔夫4K" + }, { + "n": "H亨利", + "v": "亨利4K" + }, { + "n": "H皇马", + "v": "皇马4K" + }, { + "n": "K库里", + "v": "库里4K" + }, { + "n": "L罗纳尔多", + "v": "罗纳尔多4K" + }, { + "n": "M梅西", + "v": "梅西4K" + }, { + "n": "M曼联", + "v": "曼联4K" + }, { + "n": "M曼城", + "v": "曼城4K" + }, { + "n": "NBA", + "v": "NBA4K" + }, { + "n": "N内马尔", + "v": "内马尔4K" + }, { + "n": "O欧冠", + "v": "欧冠4K" + }, { + "n": "Q齐达内", + "v": "齐达内4K" + }, { + "n": "S世界杯", + "v": "世界杯4K" + }, { + "n": "S斯诺克", + "v": "斯诺克4K" + }, { + "n": "T天下足球", + "v": "天下足球4K" + }, { + "n": "UFC", + "v": "UFC4K" + }, { + "n": "W网球", + "v": "网球4K" + }, { + "n": "X小罗", + "v": "小罗4K" + }, { + "n": "X西甲", + "v": "西甲4K" + }, { + "n": "Y英超", + "v": "英超4K" + }, { + "n": "Y意甲", + "v": "意甲4K" + }, { + "n": "Z詹姆斯", + "v": "詹姆斯4K" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "相声小品": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "相声小品" + }, { + "n": "C陈佩斯", + "v": "陈佩斯小品4K" + }, { + "n": "C春晚小品", + "v": "春晚小品" + }, { + "n": "C曹云金", + "v": "曹云金相声4K" + }, { + "n": "D单口相声", + "v": "单口相声4K" + }, { + "n": "D德云社", + "v": "德云社小品4K" + }, { + "n": "E二人转", + "v": "二人转" + }, { + "n": "F冯巩", + "v": "冯巩小品4K" + }, { + "n": "G郭德纲", + "v": "郭德纲相声4K" + }, { + "n": "G郭冬临", + "v": "郭冬临小品4K" + }, { + "n": "G郭达", + "v": "郭达小品4K" + }, { + "n": "K开心麻花", + "v": "开心麻花小品4K" + }, { + "n": "P评书", + "v": "评书" + }, { + "n": "P潘长江", + "v": "潘长江小品4K" + }, { + "n": "Q青曲社", + "v": "青曲社相声4K" + }, { + "n": "Q群口相声", + "v": "群口相声" + }, { + "n": "S宋小宝", + "v": "宋小宝小品4K" + }, { + "n": "W文松", + "v": "文松小品4K" + }, { + "n": "X小曲", + "v": "小曲相声4K" + }, { + "n": "X喜剧综艺", + "v": "喜剧综艺4K" + }, { + "n": "Y严顺开", + "v": "严顺开小品4K" + }, { + "n": "Y岳云鹏", + "v": "岳云鹏相声小品4K" + }, { + "n": "Z赵本山", + "v": "赵本山小品" + }, { + "n": "Z赵丽蓉", + "v": "赵丽蓉小品4K" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "儿童": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "儿童" + }, { + "n": "教育", + "v": "儿童早教" + }, { + "n": "歌曲", + "v": "贝瓦儿歌" + }, { + "n": "舞蹈", + "v": "儿童舞蹈" + }, { + "n": "成语故事", + "v": "儿童成语故事" + }, { + "n": "安全教育", + "v": "儿童安全教育" + }, { + "n": "睡前故事", + "v": "儿童睡前故事" + }, { + "n": "贝乐虎", + "v": "贝乐虎" + }, { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, { + "n": "儿童好声音", + "v": "儿童好声音" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "搞笑": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "搞笑" + }, { + "n": "搞笑配音", + "v": "搞笑配音" + }, { + "n": "搞笑电影", + "v": "搞笑电影" + }, { + "n": "搞笑综艺", + "v": "搞笑综艺" + }, { + "n": "鬼畜电影", + "v": "鬼畜电影" + }, { + "n": "搞笑动画", + "v": "搞笑动画" + }, { + "n": "搞笑番", + "v": "搞笑番" + }, { + "n": "十万个冷笑话", + "v": "十万个冷笑话" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "健身": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "健身教程" + }, { + "n": "有氧运动", + "v": "有氧运动" + }, { + "n": "无氧运动", + "v": "无氧运动" + }, { + "n": "健身操", + "v": "健身操" + }, { + "n": "养生操", + "v": "养生操" + }, { + "n": "广场舞", + "v": "广场舞教学" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "食谱": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "食谱" + }, { + "n": "健康食谱", + "v": "健康食谱" + }, { + "n": "面食", + "v": "面食" + }, { + "n": "米饭", + "v": "米饭" + }, { + "n": "鲁菜", + "v": "鲁菜食谱" + }, { + "n": "川菜", + "v": "川菜食谱" + }, { + "n": "粤菜", + "v": "粤菜食谱" + }, { + "n": "苏菜", + "v": "苏菜食谱" + }, { + "n": "闽菜", + "v": "闽菜食谱" + }, { + "n": "浙菜", + "v": "浙菜食谱" + }, { + "n": "湘菜", + "v": "湘菜食谱" + }, { + "n": "徽菜", + "v": "徽菜食谱" + }, { + "n": "自制小吃", + "v": "自制小吃" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "动物世界4K": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "戏曲4K": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "戏曲4K" + }, { + "n": "B梆子腔", + "v": "梆子腔戏曲4K" + }, { + "n": "C采茶戏", + "v": "采茶戏戏曲4K" + }, { + "n": "C潮剧", + "v": "潮剧戏曲4K" + }, { + "n": "C彩调", + "v": "彩调戏曲4K" + }, { + "n": "C川剧", + "v": "川剧戏曲4K" + }, { + "n": "D滇剧", + "v": "滇剧戏曲4K" + }, { + "n": "D傣剧", + "v": "傣剧戏曲4K" + }, { + "n": "E二人台", + "v": "二人台戏曲4K" + }, { + "n": "G高腔", + "v": "高腔戏曲4K" + }, { + "n": "G高甲戏", + "v": "高甲戏戏曲4K" + }, { + "n": "G赣剧", + "v": "赣剧戏曲4K" + }, { + "n": "G桂剧", + "v": "桂剧戏曲4K" + }, { + "n": "H黄梅戏", + "v": "黄梅戏戏曲4K" + }, { + "n": "H河北梆子", + "v": "河北梆子戏曲4K" + }, { + "n": "H河南曲剧", + "v": "河南曲剧戏曲4K" + }, { + "n": "H淮剧", + "v": "淮剧戏曲4K" + }, { + "n": "H沪剧", + "v": "沪剧戏曲4K" + }, { + "n": "H滑稽戏", + "v": "滑稽戏戏曲4K" + }, { + "n": "H徽剧", + "v": "徽剧4K" + }, { + "n": "H汉剧", + "v": "汉剧戏曲4K" + }, { + "n": "H湖南花鼓戏", + "v": "湖南花鼓戏戏曲4K" + }, { + "n": "J京剧", + "v": "京剧戏曲4K" + }, { + "n": "J晋剧", + "v": "晋剧戏曲4K" + }, { + "n": "J吉剧", + "v": "吉剧戏曲4K" + }, { + "n": "K昆曲", + "v": "昆曲戏曲4K" + }, { + "n": "L梨园戏", + "v": "梨园戏戏曲4K" + }, { + "n": "L龙江剧", + "v": "龙江剧戏曲4K" + }, { + "n": "M闽剧", + "v": "闽剧戏曲4K" + }, { + "n": "P评剧", + "v": "评剧戏曲4K" + }, { + "n": "P蒲剧", + "v": "蒲剧戏曲4K" + }, { + "n": "P皮影戏", + "v": "皮影戏戏曲" + }, { + "n": "P莆仙戏", + "v": "莆仙戏戏曲4K" + }, { + "n": "Q黔剧", + "v": "黔剧戏曲4K" + }, { + "n": "Q祁剧", + "v": "祁剧戏曲4K" + }, { + "n": "Q秦腔", + "v": "秦腔戏曲4K" + }, { + "n": "S上党梆子", + "v": "上党梆子戏曲4K" + }, { + "n": "S山东梆子", + "v": "山东梆子戏曲4K" + }, { + "n": "S绍剧", + "v": "绍剧戏曲4K" + }, { + "n": "W武安平调", + "v": "武安平调戏曲4K" + }, { + "n": "W婺剧", + "v": "婺剧戏曲4K" + }, { + "n": "X湘剧", + "v": "湘剧戏曲4K" + }, { + "n": "Y越剧", + "v": "越剧戏曲4K" + }, { + "n": "Y豫剧", + "v": "豫剧戏曲4K" + }, { + "n": "Y雁剧", + "v": "雁剧戏曲4K" + }, { + "n": "Y越调", + "v": "越调戏曲4K" + }, { + "n": "Y粤剧", + "v": "粤剧戏曲4K" + }, { + "n": "Z壮剧", + "v": "壮剧戏曲4K" + }, { + "n": "Z藏剧", + "v": "藏剧戏曲4K" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "窗白噪音4K": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "MV4K": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "MV4K" + }, { + "n": "A阿杜", + "v": "阿杜MV4K" + }, { + "n": "A阿黛尔", + "v": "阿黛尔MV4K" + }, { + "n": "BBeyond", + "v": "BeyondMV4K" + }, { + "n": "BBy2", + "v": "By2MV4K" + }, { + "n": "BBIGBANG", + "v": "BIGBANGMV4K" + }, { + "n": "B布兰妮", + "v": "布兰妮MV4K" + }, { + "n": "B坂井泉水", + "v": "坂井泉水演唱会4K" + }, { + "n": "C陈奕迅", + "v": "陈奕迅MV4K" + }, { + "n": "C蔡依林", + "v": "蔡依林MV4K" + }, { + "n": "C初音未来", + "v": "初音未来MV4K" + }, { + "n": "C蔡健雅", + "v": "蔡健雅MV4K" + }, { + "n": "C陈小春", + "v": "陈小春MV4K" + }, { + "n": "C草蜢", + "v": "草蜢MV4K" + }, { + "n": "C陈慧娴", + "v": "陈慧娴MV4K" + }, { + "n": "C崔健", + "v": "崔健MV4K" + }, { + "n": "C仓木麻衣", + "v": "仓木麻衣MV4K" + }, { + "n": "D戴荃", + "v": "戴荃MV4K" + }, { + "n": "D动力火车", + "v": "动力火车MV4K" + }, { + "n": "D邓丽君", + "v": "邓丽君MV4K" + }, { + "n": "D丁当", + "v": "丁当MV4K" + }, { + "n": "D刀郎", + "v": "刀郎MV4K" + }, { + "n": "D邓紫棋", + "v": "邓紫棋MV4K" + }, { + "n": "D戴佩妮", + "v": "戴佩妮MV4K" + }, { + "n": "D邓丽君", + "v": "邓丽君MV4K" + }, { + "n": "F飞儿乐队", + "v": "飞儿乐队MV4K" + }, { + "n": "F费玉清", + "v": "费玉清MV4K" + }, { + "n": "F费翔", + "v": "费翔MV4K" + }, { + "n": "F方大同", + "v": "方大同MV4K" + }, { + "n": "F房东的猫", + "v": "房东的猫MV4K" + }, { + "n": "F凤飞飞", + "v": "凤飞飞MV4K" + }, { + "n": "F凤凰传奇", + "v": "凤凰传奇MV4K" + }, { + "n": "G古风歌曲", + "v": "古风歌曲4K" + }, { + "n": "G国乐大典", + "v": "国乐大典4K" + }, { + "n": "G郭采洁", + "v": "郭采洁MV4K" + }, { + "n": "G光良", + "v": "光良MV4K" + }, { + "n": "G郭静", + "v": "郭静MV4K" + }, { + "n": "G郭富城", + "v": "郭富城MV4K" + }, { + "n": "H胡彦斌", + "v": "胡彦斌MV4K" + }, { + "n": "H胡夏", + "v": "胡夏MV4K" + }, { + "n": "H韩红", + "v": "韩红MV4K" + }, { + "n": "H黄品源", + "v": "黄品源MV4K" + }, { + "n": "H黄小琥", + "v": "黄小琥MV4K" + }, { + "n": "H花儿乐队", + "v": "花儿乐队MV4K" + }, { + "n": "H黄家强", + "v": "黄家强MV4K" + }, { + "n": "H后街男孩", + "v": "后街男孩MV4K" + }, { + "n": "J经典老歌", + "v": "经典老歌4K" + }, { + "n": "J贾斯丁比伯", + "v": "贾斯丁比伯MV4K" + }, { + "n": "J金池", + "v": "金池MV4K" + }, { + "n": "J金志文", + "v": "金志文MV4K" + }, { + "n": "J焦迈奇", + "v": "焦迈奇MV4K" + }, { + "n": "K筷子兄弟", + "v": "筷子兄弟MV4K" + }, { + "n": "L李玟", + "v": "李玟MV4K" + }, { + "n": "L林忆莲", + "v": "林忆莲MV4K" + }, { + "n": "L李克勤", + "v": "李克勤MV4K" + }, { + "n": "L刘宪华", + "v": "刘宪华MV4K" + }, { + "n": "L李圣杰", + "v": "李圣杰MV4K" + }, { + "n": "L林宥嘉", + "v": "林宥嘉MV4K" + }, { + "n": "L梁静茹", + "v": "梁静茹MV4K" + }, { + "n": "L李健", + "v": "李健MV4K" + }, { + "n": "L林俊杰", + "v": "林俊杰MV4K" + }, { + "n": "L李玉刚", + "v": "李玉刚MV4K" + }, { + "n": "L林志炫", + "v": "林志炫MV4K" + }, { + "n": "L李荣浩", + "v": "李荣浩MV4K" + }, { + "n": "L李宇春", + "v": "李宇春MV4K" + }, { + "n": "L洛天依", + "v": "洛天依MV4K" + }, { + "n": "L林子祥", + "v": "林子祥MV4K" + }, { + "n": "L李宗盛", + "v": "李宗盛MV4K" + }, { + "n": "L黎明", + "v": "黎明MV4K" + }, { + "n": "L刘德华", + "v": "刘德华MV4K" + }, { + "n": "L罗大佑", + "v": "罗大佑MV4K" + }, { + "n": "L林肯公园", + "v": "林肯公园MV4K" + }, { + "n": "LLadyGaga", + "v": "LadyGagaMV4K" + }, { + "n": "L旅行团乐队", + "v": "旅行团乐队MV4K" + }, { + "n": "M莫文蔚", + "v": "莫文蔚MV4K" + }, { + "n": "M毛不易", + "v": "毛不易MV4K" + }, { + "n": "M梅艳芳", + "v": "梅艳芳MV4K" + }, { + "n": "M迈克尔杰克逊", + "v": "迈克尔杰克逊MV4K" + }, { + "n": "N南拳妈妈", + "v": "南拳妈妈MV4K" + }, { + "n": "P朴树", + "v": "朴树MV4K" + }, { + "n": "Q齐秦", + "v": "齐秦MV4K" + }, { + "n": "Q青鸟飞鱼", + "v": "青鸟飞鱼MV4K" + }, { + "n": "R容祖儿", + "v": "容祖儿MV4K" + }, { + "n": "R热歌", + "v": "热歌MV4K" + }, { + "n": "R任贤齐", + "v": "任贤齐MV4K" + }, { + "n": "S水木年华", + "v": "水木年华MV4K" + }, { + "n": "S孙燕姿", + "v": "孙燕姿MV4K" + }, { + "n": "S苏打绿", + "v": "苏打绿MV4K" + }, { + "n": "SSHE", + "v": "SHEMV4K" + }, { + "n": "S孙楠", + "v": "孙楠MV4K" + }, { + "n": "T陶喆", + "v": "陶喆MV4K" + }, { + "n": "T谭咏麟", + "v": "谭咏麟MV4K" + }, { + "n": "T田馥甄", + "v": "田馥甄MV4K" + }, { + "n": "T谭维维", + "v": "谭维维MV4K" + }, { + "n": "T逃跑计划", + "v": "逃跑计划MV4K" + }, { + "n": "T田震", + "v": "田震MV4K" + }, { + "n": "T谭晶", + "v": "谭晶MV4K" + }, { + "n": "T屠洪刚", + "v": "屠洪刚MV4K" + }, { + "n": "T泰勒·斯威夫特", + "v": "泰勒·斯威夫特MV4K" + }, { + "n": "W王力宏", + "v": "王力宏MV4K" + }, { + "n": "W王杰", + "v": "王杰MV4K" + }, { + "n": "W吴克群", + "v": "吴克群MV4K" + }, { + "n": "W王心凌", + "v": "王心凌MV4K" + }, { + "n": "W汪峰", + "v": "汪峰MV4K" + }, { + "n": "W伍佰", + "v": "伍佰MV4K" + }, { + "n": "W王菲", + "v": "王菲MV4K" + }, { + "n": "W五月天", + "v": "五月天MV4K" + }, { + "n": "W汪苏泷", + "v": "汪苏泷MV4K" + }, { + "n": "X徐佳莹", + "v": "徐佳莹MV4K" + }, { + "n": "X弦子", + "v": "弦子MV4K" + }, { + "n": "X萧亚轩", + "v": "萧亚轩MV4K" + }, { + "n": "X许巍", + "v": "许巍MV4K" + }, { + "n": "X薛之谦", + "v": "薛之谦MV4K" + }, { + "n": "X许嵩", + "v": "许嵩MV4K" + }, { + "n": "X小虎队", + "v": "小虎队MV4K" + }, { + "n": "X萧敬腾", + "v": "萧敬腾MV4K" + }, { + "n": "X谢霆锋", + "v": "谢霆锋MV4K" + }, { + "n": "X徐小凤", + "v": "徐小凤MV4K" + }, { + "n": "X信乐队", + "v": "信乐队MV4K" + }, { + "n": "Y夜愿乐队", + "v": "夜愿乐队MV4K" + }, { + "n": "Y原创音乐", + "v": "原创音乐MV4K" + }, { + "n": "Y羽泉", + "v": "羽泉MV4K" + }, { + "n": "Y粤语", + "v": "粤语MV4K" + }, { + "n": "Y郁可唯", + "v": "郁可唯MV4K" + }, { + "n": "Y叶倩文", + "v": "叶倩文MV4K" + }, { + "n": "Y杨坤", + "v": "杨坤MV4K" + }, { + "n": "Y庾澄庆", + "v": "庾澄庆MV4K" + }, { + "n": "Y尤长靖", + "v": "尤长靖MV4K" + }, { + "n": "Y易烊千玺", + "v": "易烊千玺MV4K" + }, { + "n": "Y袁娅维", + "v": "袁娅维MV4K" + }, { + "n": "Y杨丞琳", + "v": "杨丞琳MV4K" + }, { + "n": "Y杨千嬅", + "v": "杨千嬅MV4K" + }, { + "n": "Y杨宗纬", + "v": "杨宗纬MV4K" + }, { + "n": "Z周杰伦", + "v": "周杰伦MV4K" + }, { + "n": "Z张学友", + "v": "张学友MV4K" + }, { + "n": "Z张信哲", + "v": "张信哲MV4K" + }, { + "n": "Z张宇", + "v": "张宇MV4K" + }, { + "n": "Z周华健", + "v": "周华健MV4K" + }, { + "n": "Z张韶涵", + "v": "张韶涵MV4K" + }, { + "n": "Z周深", + "v": "周深MV4K" + }, { + "n": "Z纵贯线", + "v": "纵贯线MV4K" + }, { + "n": "Z赵雷", + "v": "赵雷MV4K" + }, { + "n": "Z周传雄", + "v": "周传雄MV4K" + }, { + "n": "Z张国荣", + "v": "张国荣MV4K" + }, { + "n": "Z周慧敏", + "v": "周慧敏MV4K" + }, { + "n": "Z张惠妹", + "v": "张惠妹MV4K" + }, { + "n": "Z周笔畅", + "v": "周笔畅MV4K" + }, { + "n": "Z郑中基", + "v": "郑中基MV4K" + }, { + "n": "Z张艺兴", + "v": "张艺兴MV4K" + }, { + "n": "Z张震岳", + "v": "张震岳MV4K" + }, { + "n": "Z中国好声音", + "v": "中国好声音MV4K" + }, { + "n": "Z张雨生", + "v": "张雨生MV4K" + }, { + "n": "Z郑智化", + "v": "郑智化MV4K" + }, { + "n": "Z卓依婷", + "v": "卓依婷MV4K" + }, { + "n": "Z中岛美雪", + "v": "中岛美雪MV4K" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }], + "演唱会4K": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, { + "n": "最多点击", + "v": "click" + }, { + "n": "最新发布", + "v": "pubdate" + }, { + "n": "最多弹幕", + "v": "dm" + }, { + "n": "最多收藏", + "v": "stow" + }] + }, { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "演唱会4K" + }, { + "n": "A阿杜", + "v": "阿杜演唱会4K" + }, { + "n": "A阿黛尔", + "v": "阿黛尔演唱会4K" + }, { + "n": "BBeyond", + "v": "Beyond演唱会4K" + }, { + "n": "BBy2", + "v": "By2演唱会4K" + }, { + "n": "BBIGBANG", + "v": "BIGBANG演唱会4K" + }, { + "n": "B布兰妮", + "v": "布兰妮演唱会4K" + }, { + "n": "B坂井泉水", + "v": "坂井泉水演唱会4K" + }, { + "n": "C陈奕迅", + "v": "陈奕迅演唱会4K" + }, { + "n": "C蔡依林", + "v": "蔡依林演唱会4K" + }, { + "n": "C初音未来", + "v": "初音未来演唱会4K" + }, { + "n": "C蔡健雅", + "v": "蔡健雅演唱会4K" + }, { + "n": "C陈小春", + "v": "陈小春演唱会4K" + }, { + "n": "C草蜢", + "v": "草蜢演唱会4K" + }, { + "n": "C陈慧娴", + "v": "陈慧娴演唱会4K" + }, { + "n": "C崔健", + "v": "崔健演唱会4K" + }, { + "n": "C仓木麻衣", + "v": "仓木麻衣演唱会4K" + }, { + "n": "D戴荃", + "v": "戴荃演唱会4K" + }, { + "n": "D动力火车", + "v": "动力火车演唱会4K" + }, { + "n": "D邓丽君", + "v": "邓丽君演唱会4K" + }, { + "n": "D丁当", + "v": "丁当演唱会4K" + }, { + "n": "D刀郎", + "v": "刀郎演唱会4K" + }, { + "n": "D邓紫棋", + "v": "邓紫棋演唱会4K" + }, { + "n": "D戴佩妮", + "v": "戴佩妮演唱会4K" + }, { + "n": "D邓丽君", + "v": "邓丽君演唱会4K" + }, { + "n": "F飞儿乐队", + "v": "飞儿乐队演唱会4K" + }, { + "n": "F费玉清", + "v": "费玉清演唱会4K" + }, { + "n": "F费翔", + "v": "费翔演唱会4K" + }, { + "n": "F方大同", + "v": "方大同演唱会4K" + }, { + "n": "F房东的猫", + "v": "房东的猫演唱会4K" + }, { + "n": "F凤飞飞", + "v": "凤飞飞演唱会4K" + }, { + "n": "F凤凰传奇", + "v": "凤凰传奇演唱会4K" + }, { + "n": "G郭采洁", + "v": "郭采洁演唱会4K" + }, { + "n": "G光良", + "v": "光良演唱会4K" + }, { + "n": "G郭静", + "v": "郭静演唱会4K" + }, { + "n": "G郭富城", + "v": "郭富城演唱会4K" + }, { + "n": "H胡彦斌", + "v": "胡彦斌演唱会4K" + }, { + "n": "H胡夏", + "v": "胡夏演唱会4K" + }, { + "n": "H韩红", + "v": "韩红演唱会4K" + }, { + "n": "H黄品源", + "v": "黄品源演唱会4K" + }, { + "n": "H黄小琥", + "v": "黄小琥演唱会4K" + }, { + "n": "H花儿乐队", + "v": "花儿乐队演唱会4K" + }, { + "n": "H黄家强", + "v": "黄家强演唱会4K" + }, { + "n": "H后街男孩", + "v": "后街男孩演唱会4K" + }, { + "n": "J经典老歌", + "v": "经典老歌演唱会4K" + }, { + "n": "J贾斯丁比伯", + "v": "贾斯丁比伯演唱会4K" + }, { + "n": "J金池", + "v": "金池演唱会4K" + }, { + "n": "J金志文", + "v": "金志文演唱会4K" + }, { + "n": "J焦迈奇", + "v": "焦迈奇演唱会4K" + }, { + "n": "K筷子兄弟", + "v": "筷子兄弟演唱会4K" + }, { + "n": "L李玟", + "v": "李玟演唱会4K" + }, { + "n": "L林忆莲", + "v": "林忆莲演唱会4K" + }, { + "n": "L李克勤", + "v": "李克勤演唱会4K" + }, { + "n": "L刘宪华", + "v": "刘宪华演唱会4K" + }, { + "n": "L李圣杰", + "v": "李圣杰演唱会4K" + }, { + "n": "L林宥嘉", + "v": "林宥嘉演唱会4K" + }, { + "n": "L梁静茹", + "v": "梁静茹演唱会4K" + }, { + "n": "L李健", + "v": "李健演唱会4K" + }, { + "n": "L林俊杰", + "v": "林俊杰演唱会4K" + }, { + "n": "L李玉刚", + "v": "李玉刚演唱会4K" + }, { + "n": "L林志炫", + "v": "林志炫演唱会4K" + }, { + "n": "L李荣浩", + "v": "李荣浩演唱会4K" + }, { + "n": "L李宇春", + "v": "李宇春演唱会4K" + }, { + "n": "L洛天依", + "v": "洛天依演唱会4K" + }, { + "n": "L林子祥", + "v": "林子祥演唱会4K" + }, { + "n": "L李宗盛", + "v": "李宗盛演唱会4K" + }, { + "n": "L黎明", + "v": "黎明演唱会4K" + }, { + "n": "L刘德华", + "v": "刘德华演唱会4K" + }, { + "n": "L罗大佑", + "v": "罗大佑演唱会4K" + }, { + "n": "L林肯公园", + "v": "林肯公园演唱会4K" + }, { + "n": "LLadyGaga", + "v": "LadyGaga演唱会4K" + }, { + "n": "L旅行团乐队", + "v": "旅行团乐队演唱会4K" + }, { + "n": "M莫文蔚", + "v": "莫文蔚演唱会4K" + }, { + "n": "M毛不易", + "v": "毛不易演唱会4K" + }, { + "n": "M梅艳芳", + "v": "梅艳芳演唱会4K" + }, { + "n": "M迈克尔杰克逊", + "v": "迈克尔杰克逊演唱会4K" + }, { + "n": "N南拳妈妈", + "v": "南拳妈妈演唱会4K" + }, { + "n": "P朴树", + "v": "朴树演唱会4K" + }, { + "n": "Q齐秦", + "v": "齐秦演唱会4K" + }, { + "n": "Q青鸟飞鱼", + "v": "青鸟飞鱼演唱会4K" + }, { + "n": "R容祖儿", + "v": "容祖儿演唱会4K" + }, { + "n": "R任贤齐", + "v": "任贤齐演唱会4K" + }, { + "n": "S水木年华", + "v": "水木年华演唱会4K" + }, { + "n": "S孙燕姿", + "v": "孙燕姿演唱会4K" + }, { + "n": "S苏打绿", + "v": "苏打绿演唱会4K" + }, { + "n": "SSHE", + "v": "SHE演唱会4K" + }, { + "n": "S孙楠", + "v": "孙楠演唱会4K" + }, { + "n": "T陶喆", + "v": "陶喆演唱会4K" + }, { + "n": "T谭咏麟", + "v": "谭咏麟演唱会4K" + }, { + "n": "T田馥甄", + "v": "田馥甄演唱会4K" + }, { + "n": "T谭维维", + "v": "谭维维演唱会4K" + }, { + "n": "T逃跑计划", + "v": "逃跑计划演唱会4K" + }, { + "n": "T田震", + "v": "田震演唱会4K" + }, { + "n": "T谭晶", + "v": "谭晶演唱会4K" + }, { + "n": "T屠洪刚", + "v": "屠洪刚演唱会4K" + }, { + "n": "T泰勒·斯威夫特", + "v": "泰勒·斯威夫特演唱会4K" + }, { + "n": "W王力宏", + "v": "王力宏演唱会4K" + }, { + "n": "W王杰", + "v": "王杰演唱会4K" + }, { + "n": "W吴克群", + "v": "吴克群演唱会4K" + }, { + "n": "W王心凌", + "v": "王心凌演唱会4K" + }, { + "n": "W汪峰", + "v": "汪峰演唱会4K" + }, { + "n": "W伍佰", + "v": "伍佰演唱会4K" + }, { + "n": "W王菲", + "v": "王菲演唱会4K" + }, { + "n": "W五月天", + "v": "五月天演唱会4K" + }, { + "n": "W汪苏泷", + "v": "汪苏泷演唱会4K" + }, { + "n": "X徐佳莹", + "v": "徐佳莹演唱会4K" + }, { + "n": "X弦子", + "v": "弦子演唱会4K" + }, { + "n": "X萧亚轩", + "v": "萧亚轩演唱会4K" + }, { + "n": "X许巍", + "v": "许巍演唱会4K" + }, { + "n": "X薛之谦", + "v": "薛之谦演唱会4K" + }, { + "n": "X许嵩", + "v": "许嵩演唱会4K" + }, { + "n": "X小虎队", + "v": "小虎队演唱会4K" + }, { + "n": "X萧敬腾", + "v": "萧敬腾演唱会4K" + }, { + "n": "X谢霆锋", + "v": "谢霆锋演唱会4K" + }, { + "n": "X徐小凤", + "v": "徐小凤演唱会4K" + }, { + "n": "X信乐队", + "v": "信乐队演唱会4K" + }, { + "n": "Y夜愿乐队", + "v": "夜愿乐队演唱会4K" + }, { + "n": "Y羽泉", + "v": "羽泉演唱会4K" + }, { + "n": "Y郁可唯", + "v": "郁可唯演唱会4K" + }, { + "n": "Y叶倩文", + "v": "叶倩文演唱会4K" + }, { + "n": "Y杨坤", + "v": "杨坤演唱会4K" + }, { + "n": "Y庾澄庆", + "v": "庾澄庆演唱会4K" + }, { + "n": "Y尤长靖", + "v": "尤长靖演唱会4K" + }, { + "n": "Y易烊千玺", + "v": "易烊千玺演唱会4K" + }, { + "n": "Y袁娅维", + "v": "袁娅维演唱会4K" + }, { + "n": "Y杨丞琳", + "v": "杨丞琳演唱会4K" + }, { + "n": "Y杨千嬅", + "v": "杨千嬅演唱会4K" + }, { + "n": "Y杨宗纬", + "v": "杨宗纬演唱会4K" + }, { + "n": "Z周杰伦", + "v": "周杰伦演唱会4K" + }, { + "n": "Z张学友", + "v": "张学友演唱会4K" + }, { + "n": "Z张信哲", + "v": "张信哲演唱会4K" + }, { + "n": "Z张宇", + "v": "张宇演唱会4K" + }, { + "n": "Z周华健", + "v": "周华健演唱会4K" + }, { + "n": "Z张韶涵", + "v": "张韶涵演唱会4K" + }, { + "n": "Z周深", + "v": "周深演唱会4K" + }, { + "n": "Z纵贯线", + "v": "纵贯线演唱会4K" + }, { + "n": "Z赵雷", + "v": "赵雷演唱会4K" + }, { + "n": "Z周传雄", + "v": "周传雄演唱会4K" + }, { + "n": "Z张国荣", + "v": "张国荣演唱会4K" + }, { + "n": "Z周慧敏", + "v": "周慧敏演唱会4K" + }, { + "n": "Z张惠妹", + "v": "张惠妹演唱会4K" + }, { + "n": "Z周笔畅", + "v": "周笔畅演唱会4K" + }, { + "n": "Z郑中基", + "v": "郑中基演唱会4K" + }, { + "n": "Z张艺兴", + "v": "张艺兴演唱会4K" + }, { + "n": "Z张震岳", + "v": "张震岳演唱会4K" + }, { + "n": "Z张雨生", + "v": "张雨生演唱会4K" + }, { + "n": "Z郑智化", + "v": "郑智化演唱会4K" + }, { + "n": "Z卓依婷", + "v": "卓依婷演唱会4K" + }, { + "n": "Z中岛美雪", + "v": "中岛美雪演唱会4K" + }] + }, { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, { + "n": "60分钟以上", + "v": "4" + }, { + "n": "30~60分钟", + "v": "3" + }, { + "n": "10~30分钟", + "v": "2" + }, { + "n": "10分钟以下", + "v": "1" + }] + }] + } +} \ No newline at end of file diff --git a/Bilibili/bili_cookie1.json b/Bilibili/bili_cookie1.json new file mode 100644 index 0000000..17d0b10 --- /dev/null +++ b/Bilibili/bili_cookie1.json @@ -0,0 +1,43 @@ +{ + "cookie": "https://ghproxy.com/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/json/cookie.txt", + "classes": [ + { + "type_name": "帕梅拉", + "type_id": "帕梅拉" + }, + { + "type_name": "太极拳", + "type_id": "太极拳" + }, + { + "type_name": "广场舞", + "type_id": "广场舞" + }, + { + "type_name": "健身", + "type_id": "健身" + }, + { + "type_name": "舞蹈", + "type_id": "舞蹈" + }, + { + "type_name": "电影", + "type_id": "电影" + }, + { + "type_name": "电视剧", + "type_id": "电视剧" + }, + { + "type_name": "演唱会", + "type_id": "演唱会" + }, + { + "type_name": "动物世界", + "type_id": "动物世界" + } + ], + "filter": { + } +} \ No newline at end of file diff --git a/Bilibili/bili_cookie2.json b/Bilibili/bili_cookie2.json new file mode 100644 index 0000000..e091b10 --- /dev/null +++ b/Bilibili/bili_cookie2.json @@ -0,0 +1,43 @@ +{ +"cookie":"buvid3=E0790B82-C290-CDAB-8946-947A9567194385542infoc;b_nut=1667379485;CURRENT_FNVAL=4048;_uuid=2AE7F849-A4C10-C4FE-B618-739E7FBF594288733infoc;buvid4=439EF721-A135-6262-4F14-A5F59F2E54BF89591-022110216-QhGq2YnTvtCKG7C8eEgDWg%3D%3D;rpdid=|(k|kY)RR|Ju0J'uYY~J~ml|k;fingerprint=f45f2f9692293ffea8416798939520a9;buvid_fp_plain=undefined;buvid_fp=f45f2f9692293ffea8416798939520a9;DedeUserID=49048555;DedeUserID__ckMd5=c743a31004747564;CURRENT_QUALITY=80;i-wanna-go-back=-1;b_ut=5;SESSDATA=9f3c82f6%2C1683517584%2C64640%2Ab2;bili_jct=c8c378eeda235e6b145e03d26889d8db;sid=fotmqmg1;innersign=0;b_lsid=751023CF2_1845D02FFBD;bp_t_offset_49048555=726515807299829793", +"classes":[ +{ +"type_name":"帕梅拉", +"type_id":"帕梅拉" +}, +{ +"type_name":"太极拳", +"type_id":"太极拳" +}, +{ +"type_name":"广场舞", +"type_id":"广场舞" +}, +{ +"type_name":"健身", +"type_id":"健身" +}, +{ +"type_name":"舞蹈", +"type_id":"舞蹈" +}, +{ +"type_name":"电影", +"type_id":"电影" +}, +{ +"type_name":"电视剧", +"type_id":"电视剧" +}, +{ +"type_name":"演唱会", +"type_id":"演唱会" +}, +{ +"type_name":"动物世界", +"type_id":"动物世界" +} +], +"filter":{ +} +} \ No newline at end of file diff --git a/Course/#配置里的注释详解.txt b/Course/#配置里的注释详解.txt new file mode 100644 index 0000000..df1d0d2 --- /dev/null +++ b/Course/#配置里的注释详解.txt @@ -0,0 +1,721 @@ +解码:http://cron.qiqiv.cn/cron/abc/123/ +解密:http://jm.pooo.eu.org/ + +json;pk;123456 +菜妮丝https://cainisi.cf + +//"wallpaper":"https://qiu.moe/a723", +//"wallpaper":"https://jnlzy.tk/", +//"wallpaper":"https://tool.weetai.cn/api", +//"wallpaper":"https://api.lr-jia.cn/api/dnmm", +//"wallpaper":"http://www.kf666888.cn/api/tvbox/img", +//"wallpaper":"https://picsum.photos/1280/720/?blur=10", + +//规则集.嗅探默认正则正则未包含到的视频请自行配置rules +"rules": [ {"host":"*", "rule":["iesdouyin.com/aweme", "video_id="]}, {"host":"*", "rule":["huoshan.com", "/item/video/"]}, {"host":"*", "rule":["http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a)\\?.*"]}, {"host":"*", "rule":["http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a)"]} ] + + + "lives": [ + { + "name": "直播", + "type": 0, + "url": "http://home.jundie.top:81/Cat/tv/live.txt", + "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}" + }, + { + "group": "redirect", + "channels": [ + { + "name": "live", + "urls": [ + "proxy://do=live&type=txt&ext=aHR0cDovL2hvbWUuanVuZGllLnRvcDo4MS9DYXQvdHYvbGl2ZS50eHQ=" + ] + } + ], + "epg":"http://epg.51zmt.top:8000/api/diyp/" + } + ], + +// 驱动器 (可选) +"drives":[ + {"name":"aList","server":"http://alist.lan:8000/dav/","userName":"****","password":"****","type":"webdav"}, + {"name":"DSM","server":"http://dsm.lan:5000","userName":"****","password":"****","type":"webdav"}, + {"name":"ali-WebDAV-App","server":"http://127.0.0.1:8080/","userName":"admin","password":"admin","type":"webdav"} +], + +##555 UA设置成Mozilla/5.0 (Linux; Android 11; M2104K10AC Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36 + +体育直播代理http://mmitv.top/test/yyzb.php + +//在"sites"前面 + "drives": [ + { + "name": "舒夏", + "server": "https://alist.sxbai.repl.co", + "type": "alist" + }, + { + "name": "🦀9T(Adult)", + "server": "https://drive.9t.ee", + "type": "alist" + }, + { + "name": "🐱梓澪の妙妙屋", + "server": "https://xn--i0v44m.xyz", + "type": "alist" + }, + { + "name": "🚆资源小站", + "server": "https://pan.142856.xyz", + "type": "alist" + }, + { + "name": "🌤晴园的宝藏库", + "server": "https://alist.52qy.repl.co", + "type": "alist" + }, + { + "name": "🐭米奇妙妙屋", + "server": "https://anime.mqmmw.ga", + "type": "alist" + }, + { + "name": "🔮嗨翻", + "server": "https://pan.hikerfans.com", + "type": "alist", + "password": "5" + }, + { + "name": "💂小兵组网盘影视", + "server": "https://6vv.app", + "type": "alist" + }, + { + "name": "📀小光盘", + "server": "https://alist.xiaoguanxiaocheng.life", + "type": "alist" + }, + { + "name": "🐋一只鱼", + "server": "https://alist.youte.ml", + "type": "alist" + }, + { + "name": "🌊七米蓝", + "server": "https://al.chirmyram.com", + "type": "alist" + }, + { + "name": "🌴非盘", + "server": "http://www.feifwp.top", + "type": "alist" + }, + { + "name": "🥼帅盘", + "server": "https://hi.shuaipeng.wang", + "type": "alist" + }, + { + "name": "🐉神族九帝", + "server": "https://alist.shenzjd.com", + "type": "alist" + }, + { + "name": "☃姬路白雪", + "server": "https://pan.jlbx.xyz", + "type": "alist" + }, + { + "name": "🎧听闻网盘", + "server": "https://wangpan.sangxuesheng.com", + "type": "alist" + }, + { + "name": "💾DISK", + "server": "http://124.222.140.243:8080", + "type": "alist" + }, + { + "name": "🌨云播放", + "server": "https://quanzi.laoxianghuijia.cn", + "type": "alist" + }, + { + "name": "✨星梦", + "server": "https://pan.bashroot.top", + "type": "alist" + }, + { + "name": "🌊小江", + "server": "https://dyj.me", + "type": "alist" + }, + { + "name": "💫触光", + "server": "https://pan.ichuguang.com", + "type": "alist" + }, + { + "name": "🕵好汉吧", + "server": "https://8023.haohanba.cn", + "type": "alist" + }, + { + "name": "🥗AUNEY", + "server": "http://121.227.25.116:8008", + "type": "alist" + }, + { + "name": "🎡资源小站", + "server": "https://960303.xyz/", + "type": "alist" + }, + { + "name": "🏝fenwe", + "server": "http://www.fenwe.tk:5244", + "type": "alist" + }, + { + "name": "🎢轻弹浅唱", + "server": "https://g.xiang.lol", + "type": "alist" + }, + { + "name": "阿里", + "password": "43886374072944a2bcc55a0ed129ab48", + "type": "alidrive" + } + ], + + + +//{"key":"key_〔资源名称〕","name":"『资源名称","type":0,"api":"csp_〔jar内文件名称〕","searchable":1,"quickSearch":1,"filterable":0,"jar":"〔jar文件地址〕","ext":"〔txt json文件地址〕","playUrl":"〔播放解析地址〕","categories":["〔自定义官源资源列表〕","〔自定义官源资源列表〕"] }, + + +{"key":"qq","name":"T4-腾讯","type":4,"api":"http://home.jundie.top:666/psp/qq.php?key=signAYT","searchable":1,"quickSearch":1,"filterable":1}, +{"key":"iqiyi","name":"T4-爱奇艺","type":4,"api":"http://home.jundie.top:666/psp/iqiyi.php?key=signAYT","searchable":1,"quickSearch":1,"filterable":1}, +{"key":"youku","name":"T4-优酷","type":4,"api":"http://home.jundie.top:666/psp/youku.php?key=signAYT","searchable":1,"quickSearch":1,"filterable":1}, + +{ +"key":"完美看看", +"name":"完美看看", +"type":4, +"api":"http://home.jundie.top:666/psp/wmkk.php", +"searchable":1, +"quickSearch":1, +"filterable":1 +}, + +{"key":"csp_xBPQ_555电影", +"name":"xbpq|555电影", +"type":3, +"api":"csp_xBPQ", +"searchable":1, +"quickSearch":1, +"filterable":0, +"ext":"{\"副标题\":\"module-item-note\\\">&&<\",\"播放数组\":\"module-play-list-content&&\",\"线路数组\":\"data-dropdown-value=&&>\",\"线路标题\":\"\\\"&&\\\"\",\"分类\":\"电影$1#电视剧$2#综艺$3#动漫$4\",\"分类url\":\"https://www.zxk555.com/vodshow/{cateId}--------{catePg}---.html\"}"}, + + + +{"key":"csp_xBPQ_zf","name": "体育┃抓饭体育","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 0,"filterable": 0,"ext": "https://agit.ai/00700/vvebo/raw/branch/main/xBPQ/%e6%8a%93%e9%a5%ad%e4%bd%93%e8%82%b2.json"}, + +{"key":"csp_XYQBiu_17kan","name":"体育┃一起看球","type":3,"api":"csp_XYQBiu","searchable":0,"quickSearch":0,"filterable":0,"ext":"https://agit.ai/00700/vvebo/raw/branch/main/XYQBiu/17kan_2.json"}, + +{"key":"csp_XYQBiu_310直播","name":"体育┃310看球","type":3,"api":"csp_XYQBiu","searchable":0,"quickSearch":0,"filterable":0,"ext":"https://agit.ai/00700/vvebo/raw/branch/main/XYQBiu/310tv.json"}, + +{"key":"csp_xBPQ_88","name":"体育┃88看球","type":3,"api":"csp_xBPQ","searchable":1,"quickSearch":1,"filterable":0,"ext":"https://agit.ai/00700/vvebo/raw/branch/main/test/88.txt"}, + + +{"key":"csp_XYQBiu_虎牙直播","name":"直播┃虎牙直播","type":3,"api":"csp_XYQBiu","searchable":0,"quickSearch":0,"filterable":0,"ext":"https://agit.ai/00700/vvebo/raw/branch/main/XYQBiu/%e8%99%8e%e7%89%99%e8%a7%a3%e6%9e%90.json","jar":"https://agit.ai/00700/vvebo/raw/branch/main/spider/XYQBiu_huya.jar;md5;12D2DF395A9BDAE64A9982A88F23D9E3"}, + +{"key":"csp_XYQBiu_短视频","name":"视频┃抖音快手","type":3,"api":"csp_XYQBiu","searchable":0,"quickSearch":0,"filterable":0,"ext":"https://agit.ai/00700/vvebo/raw/branch/main/XYQBiu/%e5%88%86%e4%ba%ab%e7%9f%ad%e8%a7%86%e9%a2%91.json","jar":"https://agit.ai/00700/vvebo/raw/branch/main/spider/XYQBiu.jar;md5;B5CB416B74DFAD8048304186375F0320"}, + +{"key":"csp_Biubiu_FM电台","name":"XBiubiu┃FM电台","type":3,"api":"csp_XBiubiu","searchable":1,"quickSearch":1,"filterable":0,"ext":"https://agit.ai/00700/vvebo/raw/branch/main/test/FM%e7%94%b5%e5%8f%b0.txt","jar":"https://agit.ai/00700/vvebo/raw/branch/main/spider/XBiubiu.jar"}, + +//http://52.78.50.140:50217/vod?rule=360影视 + +{"key":"csp_xBPQ_电视直播", +"name":"电视直播", +"type":3, +"api":"csp_xBPQ", +"searchable":1, +"quickSearch":1, +"filterable":0, +"ext":"{ +\"分类\":\"电视直播$ys.html#\", +\"主页url\":\"http://www.lu1.cc/c/tv/sjtv/\", +\"分类url\":\"http://www.lu1.cc/c/tv/sjtv/{cteId}\", +\"图片\":\"http://\", +\"播放图片\":\"http://\", +\"线路合并\":\"1\" +}"}, + +{"key":"我的豆瓣","name":"导航┃豆瓣评分","type":4,"api":"https://t4.secan.icu/vod?sites=all&timeout=7","searchable":1,"quickSearch":1,"filterable":1}, + +{"key":"douban","name":"豆瓣荐片┃神器妹推介首页","type":4,"api": "https://service-la7b1xlw-1308372858.gz.apigw.tencentcs.com/release/vod?","searchable": 0,"quickSearch": 0,"filterable": 0}, + + +道长:http://101.34.67.237/config/3 + +//{"key":"dr_兔小贝","name":"影视┃兔小贝源","type":1,"api":"https://drpy.aqingyuan.repl.co/vod?rule=兔小贝","searchable":1,"quickSearch":1,"filterable":0}, +//{"key":"dr_小猫咪","name":"影视┃小猫咪源","type":1,"api":"https://drpy.aqingyuan.repl.co/vod?rule=小猫咪","searchable":1,"quickSearch":1,"filterable":0}, + + +//{"key":"dr_菜狗","name":"菜狗(道长)","type":1,"api":"https://ww.ww999.repl.co/vod?rule=菜狗","searchable":2,"quickSearch":0,"filterable":1}, + +{ +"key":"py_freezb", +"name":"免费直播_Py", +"type":3, +"api":"py_freezb", +"searchable":0, +"quickSearch":0, +"filterable":1, +"ext":"https://agit.ai/00700/vvebo/raw/branch/main/python/py_freezb.py" +}, + +{ +"key":"py_yytv", +"name":"YY体育_Py", +"type":3, +"api":"py_yytv", +"searchable":0, +"quickSearch":0, +"filterable":1, +"ext":"https://agit.ai/00700/vvebo/raw/branch/main/python/py_yytv.py" +}, + +{"key":"csp_xb_lib","name":"Lib-Vio|XBiu|","type":3,"api":"csp_XBiu","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://www.libvio.me/type/{cateId}-{catePg}.html"}, +//{"key":"csp_xpath_独播库","name":"影视┃独播影视","type":3,"api":"csp_XPathMacFilter","playerType":0,"searchable":1,"quickSearch":1,"filterable":1,"ext":"https://agit.ai/00700/vvebo/raw/branch/main/XPath/duboku.json"}, +//{"key":"csp_XBiu_追剧达人","name":"️影视┃追剧达人","type":3,"api":"csp_XBiu","searchable":1,"quickSearch":1,"filterable":1,"ext":"http://zjdr.tv/vodshow/id/{cateId}/page/{catePg}.html"}, +//{"key":"csp_xb_zbk","name":"影视┃不卡影视","type":3,"api":"csp_XBiu","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://www.zbkk.net/vodshow/{cateId}--------{catePg}---.html"}, +//{"key":"多多","name":"影视┃多多资源","type":1,"api":"https://www.ddzyz1.com/api.php/provide/vod/","searchable":1,"quickSearch":1,"filterable":1,"categories":["国产剧","日韩剧","港台剧","欧美剧","综艺","动漫","动作片","科幻片","战争片","喜剧片","爱情片","恐怖片","剧情片"]}, +{"key":"dr_兔小贝","name":"影视┃兔小贝","type":1,"api":"https://drpy.justmiss.repl.co/vod?rule=兔小贝","searchable":1,"quickSearch":1,"filterable":0}, +{"key":"dr_喵喵","name":"影视┃喵喵","type":1,"api":"https://drpy.justmiss.repl.co/vod?rule=喵喵","searchable":1,"quickSearch":1,"filterable":0}, +{"key":"csp_Nbys","name":"翻墙┃泥巴影视","type":3,"api":"csp_Nbys","searchable":1,"quickSearch":1,"filterable":1} +{"key":"csp_apple","name":"影视┃小苹果源","type":3,"api":"csp_LiteApple","playerType":1,"searchable":1,"quickSearch":1,"filterable":1}, +{"key":"csp_乐猪影视","name":"影视┃乐猪影视","type":3,"api":"csp_Lezhu","searchable":1,"quickSearch":1,"filterable":1}, +{"key":"csp_视界影视","name":"影视┃视界影视","type":3,"api":"csp_KanSJ","searchable":1,"quickSearch":1,"filterable":1}, +{"key":"csp_直播合集","name":"直播┃四站合一","type":3,"api":"csp_Yj1211","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_360","name":"聚合┃360影视","type":3,"api":"csp_SP360","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_Bttoo","name":"影视┃宝塔影视","type":3,"api":"csp_Bttoo","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_Lib","name":"影视┃利维影视","type":3,"api":"csp_Lib","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_Auete","name":"影视┃奥特影视","type":3,"api":"csp_Auete","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"mjxq_spider","name":"影视┃美剧星球","type":3,"api":"csp_Mjxq","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_剧荒","name":"影视┃剧荒影视","type":3,"api":"csp_Juhuang","searchable":1,"quickSearch":1,"filterable":1}, +{"key":"csp_SP293","name":"影视┃293视频","type":3,"api":"csp_SP293","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://agit.ai/00700/vvebo/raw/branch/main/293.txt"}, +{"key":"csp_DiDuan" ,"name":"影视┃欧美日韩","type":3,"api":"csp_xBPQ","click": "ddys.tv;.vjs-big-play-button","searchable":1,"quickSearch":1,"filterable":1}, +{"key":"3EDY","name":"影视┃飘花影视","type":3,"api":"csp_EEEDY","playerType":2,"searchable":1,"quickSearch":1,"filterable":1}, +{"key":"csp_Bd","name":"影视┃哔嘀影视","type":3,"api":"csp_Bdys01","searchable":1,"quickSearch":1,"filterable":1}, +{"key":"csp_Wmkk","name":"影视┃完美影视","api":"csp_Wmkk","type":3,"filterable":1,"quickSearch":1,"searchable":1}, + + +//{"key":"csp_Jianying","name":"影视┃简影影视","api":"csp_JianYing","type":3,"searchable":1,"quickSearch":1,"filterable":0,"ext":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7IklEIjozMzk2MSwiQ3JlYXRlZEF0IjoiMjAyMi0wOS0xNVQwOTo1NjozOC41MzErMDg6MDAiLCJVcGRhdGVkQXQiOiIyMDIyLTA5LTE1VDA5OjU2OjM4LjUzMSswODowMCIsIkRlbGV0ZWRBdCI6bnVsbCwidXNlcl9lbWFpbCI6Ijg2NzMzNzkzNUBxcS5jb20iLCJ1c2VyX25hbWUiOiIiLCJ1c2VyX3B3ZCI6IiIsInVzZXJfaWQiOiI2NWFlZDQ0My02ZmFhLTQyMTYtYTU2Mi04Y2YyZjlmZjk1ZGIiLCJ1c2VyX2Fuc3dlciI6IiIsImxvY2tfaXMiOiJGYWxzZSIsImlzX3R2IjoiIiwiaXNfYWRtaW4iOiJGYWxzZSIsInJlZ190aW1lIjpudWxsLCJyZWdfa2V5IjoiIiwidHZfdGltZSI6bnVsbCwidHZfa2V5IjoiIn0sImV4cCI6MTY2MzgxMTgwNCwiaXNzIjoiQWxmcmVkbyBNZW5kb3phIn0.t0xl2Grj9CzjcbzL7538Q0Kb7rDTvB90qz7A0I24KLs"}, + +//{"key":"csp_Cokemv","name":"影视┃可乐影视","type":3,"api":"csp_Cokemv","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"小熊","name":"影视┃小熊影视","type":3,"api":"csp_Xxys","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"Smdyy_spider","name":"影视┃神马影视","api":"csp_Smdyy","type":3,"filterable":1,"quickSearch":1,"searchable":1}, +//{"key":"追剧喵","name":"影视┃追剧喵喵","type":3,"api":"csp_ZJMiao","searchable":1,"quickSearch":1,"filterable":1}, + + + + +//{"key": "csp_xf_heihei","name": "️嘿嘿影视","type": 3,"api": "csp_XYQHiker","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "https://agit.ai/00700/vvebo/raw/branch/main/XYQPlugin/heihei.json","jar":"https://agit.ai/00700/vvebo/raw/branch/main/spider/XYQPlugin.jar;md5;E20EF64626337DDBB65E47273C3BE588"}, + +//一个不带筛选的分类url +{"key":"TVB云播","name":"影视┃TVB云播","type":3,"api":"csp_xBPQ","searchable":1,"quickSearch":1,"filterable":1,"ext":"http://www.tvyb03.com/vod/type/id/{cateId}/page/{catePg}.html"}, + + +{"key":"csp_xBPQ_黑洞","name":"黑洞网 xBPQ","type":3,"api":"csp_xBPQ","searchable":1,"quickSearch":1,"filterable":0,"ext":"{\"免嗅\":\"0\",\"副标题\":\"class=\\\"hl-lc-1 remarks\\\">&&\",\"导演\": \"导演:&&\",\"播放标题\":\">&&<\",\"播放数组\":\"hl-list-wrap&&\",\"分类\":\"电视剧$2#动漫$4#电影$1#综艺$3\",\"分类url\":\"https://www.nulltm.com/vodshow/{cateId}--------{catePg}---.html\",\"年份\":\"2000-2022\",\"筛选\":\"0\"}"}, + + +//pluto支持js调用 +//{"key":"kunyu77_js","name":"酷云77(js)","type":3,"api":"js_kunyu77","searchable":1,"quickSearch":0,"filterable":0,"ext":"https://raw.githubusercontent.com/catvod/CatVodSpiderJS/main/kunyu77.js"}, + + + + + +//{"key":"小宝影院","name":"小宝影院","type":3,"api":"csp_Xiaoh","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"Olevod","name":"Olevod","type":3,"api":"csp_Olevod","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_Nbys","name":"影视┃泥巴(需翻墙)","type":3,"api":"csp_Nbys","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"if101资源","name":"影视┃if101(需翻墙)","type":0,"api":"https://demo.if101.tv/api.php/provide/vod/at/xml","searchable":1,"quickSearch":0,"filterable":0}, +//{"key":"csp_Kunyu77","name":"影视┃新酷云七","type":3,"api":"csp_Kunyu77","searchable":1,"quickSearch":1,"filterable":1,"jar":"https://agit.ai/00700/vvebo/raw/branch/main/spider/77new.jar;md5;2F19C527B9A335FB1415C5F9686515C8"}, + +{"key":"csp_追剧达人","name":"影视┃追剧达人","type":3,"api":"csp_Zjdr","searchable":1,"quickSearch":1,"filterable":1}, + +//{"key":"csp_低端影视","name":"影视┃低端影视","type":3,"api":"csp_Ddrk","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"spider_IKan","name":"影视┃爱看影视","type":3,"api":"csp_IKan","quickSearch":1,"searchable":1,"filterable":1}, +//{"key":"csp_SP293","name":"影视┃293影视","type":3,"api":"csp_SP293","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_DY1990","name":"影视┃1990影视","type":3,"api":"csp_DY1990","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_LiteApple","name":"影视┃小苹果源(有广告)","type":3,"api":"csp_LiteApple","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_IQIYI","name":"官方┃爱奇艺源","type":3,"api":"csp_IQIYI","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_QQ","name":"官方┃腾讯视频","type":3,"api":"csp_QQ","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"csp_MGTV","name":"官方┃芒果视频","type":3,"api":"csp_MGTV","searchable":1,"quickSearch":1,"filterable":1}, + + + + +//{"key": "csp_xBPQ_磁搜","name": "磁搜影视","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "{\"免嗅\":\"1\",\"播放标题\":\"span>&&<\",\"副标题\":\"class=\\\"module-item-note\\\">&&\",\"线路数组\": \"class=\\\"module-tab-item tab-item&&\",\"线路标题\": \"&&\",\"播放数组\":\"class=\\\"module-play-list&&\",\"分类url\":\"https://cokemv.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html\"}","jar":"https://agit.ai/00700/vvebo/raw/branch/main/spider/xBPQ.jar;md5;FC05EA9C2A8EFCF4C18C6AFCE51AC406"}, + +//{"key": "csp_xBPQ_在线之家","name": "️在线之家","type": 3,"api": "csp_xBPQ","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "{\"免嗅\":\"1\",\"播放标题\":\">&&<\",\"副标题\":\"class=\\\"pic-text text-right\\\">&&\",\"线路数组\": \"class=\\\"stui-vodlist__head&&\",\"线路标题\": \"

&&

\",\"播放数组\":\"class=\\\"stui-content__playlist&&\",\"分类\":\"电影$1#美剧$2#韩剧$3#日剧$4#泰剧$5#动漫$6\",\"分类url\":\"https://zxzj.vip/vodshow/{cateId}-{area}-------{catePg}---{year}.html\",\"筛选\":\"1\"}","jar":"https://agit.ai/00700/vvebo/raw/branch/main/spider/xBPQ.jar;md5;FC05EA9C2A8EFCF4C18C6AFCE51AC406"}, + + + + + + +//"drives":[{"name":"Puppet studio","plugin":"alist","server":"https://www.kugutsu.ml","userName":"","password":"","type":"plugin"}, +//{"name":"99T","plugin":"alist","server":"https://drive.9t.ee","userName":"","password":"","type":"plugin"}, +//{"name":"一只魚","plugin":"alist","server":"https://alist.youte.ml/","userName":"","password":"","type":"plugin"}, +//{"name":"姬路白雪","plugin":"alist","server":"https://pan.jlbx.xyz/","userName":"","password":"","type":"plugin"}, +//{"name":"嗨翻","plugin":"alist","server":"https://pan.hikerfans.com/","userName":"","password":"","type":"plugin"}, +//{"name":"142856","plugin":"alist","server":"https://pan.142856.xyz","userName":"","password":"","type":"plugin"}, +//{"name":"非盘","plugin":"alist","server":"http://www.feifwp.top/","userName":"","password":"","type":"plugin"}, +//{"name":"听闻","plugin":"alist","server":"https://wangpan.sangxuesheng.com/","userName":"","password":"","type":"plugin"}, +//{"name":"晴园","server":"https://alist.52qy.repl.co/dav/","userName":"qingyuan","password":"qingyuan","type":"webdav"}, +//{"name":"晴園","plugin":"alist","server":"https://alist.52qy.repl.co/","userName":"","password":"","type":"plugin"}], + +{"key":"t4public","name":"聚合┃T4公共源","type":4,"api":"https://t4.secan.icu/vod?sites=all&ali_token=阿里token&timeout=10","searchable":1,"quickSearch":1,"filterable":1}, +{"key":"T4a","name":"聚合┃T4聚合源","type":4,"api":"https://t4.secan.icu/vod?sites=all&ali_token=dcbc975ad0684eb5a498ecd1836272e6&timeout=5","searchable":1,"quickSearch":1,"filterable":1}, + + +{"key":"Upyunso","name":"Up云┃搜索","type":3,"api":"csp_Upyunso","playerType":1,"searchable":1,"quickSearch":1,"filterable":0,"ext":"https://sourl.cn/KFAFiT"}, +{"key":"csp_小纸条源","name":"阿里┃小纸条源","type":3,"api":"csp_Gitcafe","searchable":1,"quickSearch":1,"filterable":1,"ext":"dcbc975ad0684eb5a498ecd1836272e6"}, +{"key":"csp_易搜资源","name":"阿里┃易搜资源","type":3,"api":"csp_Yiso","searchable":1,"quickSearch":1,"filterable":0,"ext":"dcbc975ad0684eb5a498ecd1836272e6"}, +{"key": "csp_AliPanSou","name": "🌥阿里盘搜","type": 3,"api": "csp_AliPS","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "a60a9387a6124e47ac78c726a02dba6d"}, +{"key":"csp_找资源搜","name":"阿里┃找资源搜","type":3,"api":"csp_Zhaozy","searchable":1,"quickSearch":1,"filterable":1,"ext":"dcbc975ad0684eb5a498ecd1836272e6"}, + +//token=14ab7929c5724ffd9c3431d8fa19d421 +//token=7bb5b24ca3274ad781a6071082e9eebd +//token=cb342129366f422aa3ee4509653f8d3b +//token=29975243e264440b85919670b76916c4 +//token=a60a9387a6124e47ac78c726a02dba6d +//token=0a09055c492542afb181be67701b26a5 +//token=4acb3ad2f2254ba1b566279f7cd98ba3 +//token=2f6613c6c13d4bf593b9059314755337 +//token=3a49cf29cf20410997247c6eb4509be9 +//token=3781469b13074e4cac1e0e7113e4fa20 +//token=59744816075f4729bc00cd23b98e3447 +//token=7bb5b24ca3274ad781a6071082e9eebd +//token=ad3c78559a494bde814f1a6c8c40db51 +//token=1f373a68733e4dafa5fa28dca9826b35 +//token=dcbc975ad0684eb5a498ecd1836272e6 +//token=77bad5a7fdcc40ba99f5f92bf93bb2f7 +//token=8f0b3f0dc1834f309f077ea5549e99a8 +//token=80fed847f05b433696531e0bc9bf24c9 +//token=e2f22158b3614acb87857fde40563c8a +//token=058fc4f934db45e18ae0f55235da2f24 +//token=81461f2e9d0b4ffb86612db403824b8a + + + + + + +//T4网络接口,后面可以接 +555影视,cokemv,LIBVIO,vip影院,万能影视,养端,剧白白,喵喵,在线之家,夜空,干饭影视,影视工厂,玩偶姐姐,瓜皮TV,看视界,莫扎兔,蓝光影院,蓝莓影视,鸭奈飞 +//http://cms.nokia.press/vod?rule=555影视 + +//{"key":"csp_XYQHiker","name":"XYQ┃冷曦影视","type":3,"api":"csp_XYQHiker","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://agit.ai/00700/vvebo/raw/branch/main/XYQPlugin/%e5%86%b7%e6%9b%a6.json","jar":"https://agit.ai/00700/vvebo/raw/branch/main/spider/XYQPlugin.jar;1B39EB5462A4ECC6AD799549C34D2F0D"}, + +//{"key": "T4","name": "豆瓣荐片(T4桉)","type": 4,"api": "https://t4.secan.icu/vod?sites=all&timeout=7","searchable": 1,"quickSearch": 1,"filterable": 1}, + +//带阿里KEN+豆瓣KEN +//{"key":"我的豆瓣","name":"导航┃豆瓣推荐","type":4,"api":"https://t4.secan.icu/vod?sites=all&ali_token=dcbc975ad0684eb5a498ecd1836272e6&douban=262163036","searchable":1,"quickSearch":1,"filterable":1}, + + + +//{"key":"T4","name":"聚合┃T4爬虫源","type":4,"api":"https://service-la7b1xlw-1308372858.gz.apigw.tencentcs.com/release/vod?sites=all&ali_token=https://cn-cd-dx-2.natfrp.cloud:44327/","searchable":1,"quickSearch":1,"filterable":1}, +//{"key":"t4test","name":"T4测试(搜索)","type":4,"api":"http://catvod.fun:8002/vod?sites=all&ali_token=59744816075f4729bc00cd23b98e3447&timeout=8","searchable":1,"quickSearch":1,"filterable":0}, + + +//{"key":"py_cctv","name":"直播┃央视CCTV","type":3,"api":"py_cctv","searchable":0,"quickSearch":0,"filterable":1,"ext":"https://gitea.com/vvebo/vvebo/raw/branch/main/python/py_cctv.py"}, + +//{"key":"小城","name":"影视┃小城影视","type":3,"api":"csp_AppYsV2","searchable":1,"quickSearch":1,"filterable":1,"ext":"http://bc.yybox.xyz/api.php/v1.vod"}, + + +//{"key":"csp_Alist","name":"云存┃Alist","type":3,"api":"csp_Alist","searchable":1,"quickSearch":0,"filterable":0,"ext":"https://gitea.com/vvebo/vvebo/raw/branch/main/Alist.json"}, +//{"key":"csp_bendi","name":"本地┃本地视频","type":3,"api":"csp_LocalFile","searchable":0,"quckSearch":0,"filterable":0,"type_flag":1}, +//{"key":"push_agent","name":"手机┃推送资源","type":3,"api":"csp_PushAgent","searchable":0,"quickSearch":0,"filterable":0,"ext":"dcbc975ad0684eb5a498ecd1836272e6"}, + + + + + + +//热词搜索 +"hotSearch":[{"name":"mobilesearch","request":{"method":"GET","header":[{"key":"Referer","value":"https://www.douban.com/"}],"url":{"raw":"https://movie.douban.com/j/new_search_subjects?sort=U&range=0,10&tags=&playable=1&start=0&year_range=2022,2022"}},"response":{"result":"$.data","data":[{"key":"keyword","value":"title"}]}}], + + + +//{"name":"Web聚合","type":3,"url":"Web"}, +//{"name":"解析聚合","type":3,"url":"Demo"}, +//{"name":"Json并发","type":2,"url":"Parallel"}, +//{"name":"Json轮询","type":2,"url":"Sequence"}, + + +https://jx.aidouer.net/?url= +https://jx.playerjy.com/?url= +https://api.okjx.cc:3389/jx.php?url= +https://www.mtosz.com/m3u8.php?url= +https://www.pangujiexi.cc/jiexi.php?url= +https://www.ckmov.vip/api.php?url= +https://www.h8jx.com/jiexi.php?url= +https://jx.4kdv.com/?url= +https://api.jiexi.la/?url= +https://jx.000180.top/jx/?url= +https://www.1717yun.com/jx/ty.php?url= +https://jx.yparse.com/index.php?url= +https://www.8090g.cn/?url= +https://www.administratorw.com/video.php?url= + + +https://jx.parwix.com:4433/player/?url= +https://cv.htoo.vip/?url= +https://jx.7kjx.com/?url= +http://jx.13tv.top/?url= +https://www.yemu.xyz/?url= +https://www.gai4.com/?url= +https://lecurl.cn/?url= +https://okjx.cc/?url= +http://s.lingutv.cn/?url= + + +{"name":"神1","type":1,"url":"http://newjiexi.gotka.top/keyu3.php?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"],"header":{"User-Agent":"okhttp/4.1.0"}}}, +{"name":"神3","type":1,"url":"http://api.ckflv.cn/?url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"灵谷","type":1,"url":"http://s.lingutv.cn/?url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"江湖","type":1,"url":"http://211.99.99.236:4567/jhjson/ceshi.php?url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, + +https://jxxxx.sanmitt.cn/index.php?url= +https://dbapp.hengj.cn/rr/tg/?url= +http://hhjson.cgys001.com/hhjson.php?url= + + { + "name": "解析5", + "url": "http://139.159.220.126:5705/parse/api/鸿途.js?url=", + "type": 1, + "ext": { + "flag": [ + "qiyi", + "imgo", + "爱奇艺", + "奇艺", + "qq", + "腾讯", + "youku", + "优酷", + "pptv", + "PPTV", + "letv", + "乐视", + "leshi", + "bilibili", + "哔哩哔哩", + "哔哩", + "mgtv", + "芒果", + "sohu", + "xigua", + "fun", + "风行" + ], + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "江湖", + "url": "http://139.159.220.126:5705/parse/api/江湖.js?url=", + "type": 1, + "ext": { + "flag": [ + "qiyi", + "imgo", + "爱奇艺", + "奇艺", + "qq", + "腾讯", + "youku", + "优酷", + "pptv", + "PPTV", + "letv", + "乐视", + "leshi", + "bilibili", + "哔哩哔哩", + "哔哩", + "mgtv", + "芒果", + "sohu", + "xigua", + "fun", + "风行" + ], + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "酷云", + "url": "http://139.159.220.126:5705/parse/api/酷云.js?url=", + "type": 1, + "ext": { + "flag": [ + "qiyi", + "imgo", + "爱奇艺", + "奇艺", + "qq", + "腾讯", + "youku", + "优酷", + "pptv", + "PPTV", + "letv", + "乐视", + "leshi", + "bilibili", + "哔哩哔哩", + "哔哩", + "mgtv", + "芒果", + "sohu", + "xigua", + "fun", + "风行" + ], + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "飞跃", + "url": "http://139.159.220.126:5705/parse/api/飞跃.js?url=", + "type": 1, + "ext": { + "flag": [ + "qiyi", + "imgo", + "爱奇艺", + "奇艺", + "qq", + "腾讯", + "youku", + "优酷", + "pptv", + "PPTV", + "letv", + "乐视", + "leshi", + "bilibili", + "哔哩哔哩", + "哔哩", + "mgtv", + "芒果", + "sohu", + "xigua", + "fun", + "风行" + ], + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + +//{"name":"A1","type":1,"url":"http://json.youguo520.top/fufeng/?url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","xigua","1905","letv","sohu","bilibili","哔哩哔哩","哔哩","奇艺"],"header":{"User-Agent":"Dart/2.14(dart:io)"}}}, +//{"name":"A2","type":1,"url":"https://jhpc.manduhu.com/j1217.php?url=","ext":{"flag":["qiyi","爱奇艺","奇艺","mgtv","芒果","youku","优酷","pptv","PPTV"]}}, +//{"name":"A3","type":1,"url":"http://103.40.240.46/jh/?url=","ext":{"flag":["renrenmi","qq","腾讯","youku","优酷","mgtv","芒果","xigua","西瓜"]}}, + +////{name:"酷云",url:"http://api.kunyu77.com/api.php/provide/parserUrl?url=",jxb:"原",js:"1",json:"1",ua:"Dalvik/2.1.0",zd:"1",qp:"1"}, + +//"type":1,http://168.qxzm.cc/user/owe.php?app=10000&account=hjdhnx&password=hjdhnx&url= + +//{"name": "Fosi嗅探","url": "https://play.fositv.com/?url=","type": 0,"ext": {"flag": ["qiyi","imgo", "爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩", "哔哩","mgtv","芒果","sohu","xigua","fun","风行" ],"header": { "User-Agent": "Mozilla/5.0"}}}, + + { + "name": "线路01", + "type": 1, + "url": "http://211.99.99.236:4567/jhjson/ceshi.php?url=" + }, + { + "name": "线路02", + "type": 1, + "url": "http://newjiexi.gotka.top/keyu3.php?url=", + "ext": { + "header": { + "User-Agent": "okhttp/4.1.0" + } + } + }, + { + "name": "线路03", + "type": 1, + "url": "https://play.fuqizhishi.com/jx/API.php?appkey=xiaobaiiii&url=" + }, + { + "name": "线路04", + "type": 1, + "url": "https://play.fuqizhishi.com/juhe/API.php?appkey=caijijuhe220902&url=" + }, + { + "name": "线路05", + "type": 1, + "url": "https://json.freejx.in/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ] + } + }, + { + "name": "线路06", + "type": 1, + "url": "http://tgjx.itcker.com/api/?key=u7eWwiakUR1L6KS4sj&url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "iqiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ] + } + }, + + + diff --git a/Course/293.png b/Course/293.png new file mode 100644 index 0000000..be10787 Binary files /dev/null and b/Course/293.png differ diff --git a/Course/360热搜.json b/Course/360热搜.json new file mode 100644 index 0000000..4f91e0a --- /dev/null +++ b/Course/360热搜.json @@ -0,0 +1,27 @@ +热搜关键字失效的可以把下面这段加到配置文件 + +// 360 热搜api +"hotSearch": [{ + "name": "mobilesearch", + "request": { + "method": "GET", + "header": [ + { + "key": "Referer", + "value": "https://www.360kan.com/" + } + ], + "url": { + "raw": "https://api.web.360kan.com/v1/query/addef?ver=2&t={time}" + } + }, + "response": { + "result": "$.data", + "data": [ + { + "key": "keyword", + "value": "title" + } + ] + } +}], \ No newline at end of file diff --git a/Course/APP影视列表 b/Course/APP影视列表 new file mode 100644 index 0000000..8c1147a --- /dev/null +++ b/Course/APP影视列表 @@ -0,0 +1,1216 @@ +{ +"data":[ + { + "title":"APP影视(小龟)", + "list":[ + { + "title":"3080影视", + "url":"https://3080l.me/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/3080影视.png", + "murl":"q:APP影视" + }, + { + "title":"555电影", + "url":"http://w7tv.com/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/555电影.png", + "murl":"q:APP影视" + }, + { + "title":"5060影院", + "url":"https://app.linzhiyuan.xyz/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/5060影院.png", + "murl":"q:APP影视" + }, + { + "title":"913e影视", + "url":"http://www.913e.net/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/913E影视.png", + "murl":"q:APP影视" + }, + { + "title":"LIBVIO", + "url":"https://www.mkys.me/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/LIBVIO.png", + "murl":"q:APP影视" + }, + { + "title":"TV酷", + "url":"https://www.u23c.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/TV酷影视.png", + "murl":"q:APP影视" + }, + { + "title":"vip影院", + "url":"http://360yy.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/VIP影院xg.png", + "murl":"q:APP影视" + }, + { + "title":"爱迪影视", + "url":"https://aidi.fun/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/爱迪影视.png", + "murl":"q:APP影视" + }, + { + "title":"嗷呜动漫", + "url":"http://app.aowufuns.com:1031/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/嗷呜动漫.png", + "murl":"q:APP影视" + }, + { + "title":"哎呀影视", + "url":"https://www.aisvod.tv/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/爱尚影视.png", + "murl":"q:APP影视" + }, + { + "title":"爱追剧", + "url":"https://4k.lqiyi.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/爱追剧xg.png", + "murl":"q:APP影视" + }, + { + "title":"播放呀", + "url":"https://www.bofangya.com/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/播放呀.png", + "murl":"q:APP影视" + }, + { + "title":"畅看影视", + "url":"http://www.sxbrd.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/畅看影视.png", + "murl":"q:APP影视" + }, + { + "title":"畅视影视", + "url":"http://app.reboju.net/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/畅视影视.png", + "murl":"q:APP影视" + }, + { + "title":"迪迪影院", + "url":"http://dd88.icu:6080/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/迪迪影院.png", + "murl":"q:APP影视" + }, + { + "title":"嘀哩嘀哩", + "url":"http://dilidili.la/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/嘀哩嘀哩xg.png", + "murl":"q:APP影视" + }, + { + "title":"北墨影院", + "url":"http://beimotv.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/北墨影院.png", + "murl":"q:APP影视" + }, + { + "title":"毒舌电影", + "url":"https://cms.96ym.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/毒舌电影.png", + "murl":"q:APP影视" + }, + { + "title":"段友影视", + "url":"http://js.66app.me/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/段友影视©.png", + "murl":"q:APP影视" + }, + { + "title":"饭团影院", + "url":"http://television.wkfile.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/饭团影院.png", + "murl":"q:APP影视" + }, + { + "title":"瓜皮TV", + "url":"http://www.dijiaxia.com/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/瓜皮TV.png", + "murl":"q:APP影视" + }, + { + "title":"海胆影视", + "url":"http://xf123.cc/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/海胆影视.png", + "murl":"q:APP影视" + }, + { + "title":"火箭影视", + "url":"http://huojian.wchulian.com.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/火箭影视.png", + "murl":"q:APP影视" + }, + { + "title":"环球影视", + "url":"https://hqystv.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/环球影视.png", + "murl":"q:APP影视" + }, + { + "title":"海棠视频", + "url":"https://www.haitangsp.net/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/海棠视频.png", + "murl":"q:APP影视" + }, + { + "title":"京广航", + "url":"https://www.jingguanhang.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/京广航影视.png", + "murl":"q:APP影视" + }, + { + "title":"久九影视", + "url":"https://api.58qxk.cn/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/久九影视.png", + "murl":"q:APP影视" + }, + { + "title":"极客", + "url":"https://www.i8k.cc/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/极客.png", + "murl":"q:APP影视" + }, + { + "title":"看365", + "url":"https://www.kan365.xyz/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/Air视频.png", + "murl":"q:APP影视" + }, + { + "title":"酷扑TV", + "url":"https://www.kupu.cc/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/酷扑TV.png", + "murl":"q:APP影视" + }, + { + "title":"快云影音", + "url":"https://www.kuaiyunyy.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/快云影音.png", + "murl":"q:APP影视" + }, + { + "title":"灵狐影视", + "url":"http://x.dmntv.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/灵狐影视.png", + "murl":"q:APP影视" + }, + { + "title":"老韩综", + "url":"http://zy.kmoonhh.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/老韩综.png", + "murl":"q:APP影视" + }, + { + "title":"荔枝视频", + "url":"https://zjys.vip/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/荔枝视频.png", + "murl":"q:APP影视" + }, + { + "title":"抹茶猪", + "url":"https://www.mczdyw.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/抹茶猪电影.png", + "murl":"q:APP影视" + }, + { + "title":"漫岛", + "url":"http://a.mdaotv.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/漫岛.png", + "murl":"q:APP影视" + }, + { + "title":"萌蛋蛋", + "url":"http://app.mengdandan.com/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/萌蛋蛋.png", + "murl":"q:APP影视" + }, + { + "title":"苗点影视", + "url":"https://www.msdv.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/苗点影视.png", + "murl":"q:APP影视" + }, + { + "title":"蜜果TV", + "url":"https://www.miguotv.net/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/蜜果TV.png", + "murl":"q:APP影视" + }, + { + "title":"麻花视频", + "url":"https://www.mahuashipin.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/麻花视频.png", + "murl":"q:APP影视" + }, + { + "title":"皮皮影视", + "url":"http://pp.ig4.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/皮皮影视.png", + "murl":"q:APP影视" + }, + { + "title":"氢视频", + "url":"http://h1080p.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/氢视频.png", + "murl":"q:APP影视" + }, + { + "title":"思古影视", + "url":"https://app.siguyy.com/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/思古影视.png", + "murl":"q:APP影视" + }, + { + "title":"世界电影", + "url":"https://app.lovetv.online/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/世界电影.png", + "murl":"q:APP影视" + }, + { + "title":"神马影院", + "url":"https://www.6080kan.cc/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/神马影院.png", + "murl":"q:APP影视" + }, + { + "title":"天空影视", + "url":"https://www.tkys.tv/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/天空影视.png", + "murl":"q:APP影视" + }, + { + "title":"躺平影视", + "url":"http://www.lltpys.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/躺平影视.png", + "murl":"q:APP影视" + }, + { + "title":"天神影视", + "url":"https://deity.fun/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/天神影视.png", + "murl":"q:APP影视" + }, + { + "title":"我爱电影", + "url":"http://xg.5imv.net/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/我爱电影xg.png", + "murl":"q:APP影视" + }, + { + "title":"污妖动漫", + "url":"https://www.wyydm.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/污妖动漫.png", + "murl":"q:APP影视" + }, + { + "title":"小白视频", + "url":"https://ccoyytv.com/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/小白视频.png", + "murl":"q:APP影视" + }, + { + "title":"星空影视", + "url":"https://xkys.tv/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/星空影视xg.png", + "murl":"q:APP影视" + }, + { + "title":"小强TV", + "url":"http://xqapp.hailanfj.com/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/小强TV.png", + "murl":"q:APP影视" + }, + { + "title":"小七影视", + "url":"http://ys.kd60.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/小七影视.png", + "murl":"q:APP影视" + }, + { + "title":"雪人影视", + "url":"http://qqtvapp.com/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/雪人影视xg.png", + "murl":"q:APP影视" + }, + { + "title":"雪人影视", + "url":"https://xg.qd234.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/雪人影视1.png", + "murl":"q:APP影视" + }, + { + "title":"小易影视", + "url":"https://xy.irop.cn/api.php/app/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/小易影视.png", + "murl":"q:APP影视" + }, + { + "title":"影视工场", + "url":"https://www.ysgc.cc/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/影视工场.png", + "murl":"q:APP影视" + }, + { + "title":"追剧达人", + "url":"http://vipmv.tv/xgapp.php/v1/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/追剧达人.png", + "murl":"q:APP影视" + } + ] + }, + { + "title":"APP影视(大熊)", + "list":[ + { + "title":"大熊影视", + "url":"https://dxys2233.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/大熊影视.png", + "murl":"q:APP影视" + }, + { + "title":"免费看", + "url":"https://freekan.vip/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/免费看影视.png", + "murl":"q:APP影视" + }, + { + "title":"全能影视", + "url":"https://qnys5566.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/全能影视.png", + "murl":"q:APP影视" + }, + { + "title":"手指影视", + "url":"https://szys5678.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/手指影视.png", + "murl":"q:APP影视" + }, + { + "title":"心爱影视", + "url":"https://xays6677.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/心爱影视.png", + "murl":"q:APP影视" + }, + { + "title":"雪梨视频", + "url":"https://zsb2233.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/雪梨视频.png", + "murl":"q:APP影视" + }, + { + "title":"杨桃影视", + "url":"https://ytys3456.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/杨桃影视.png", + "murl":"q:APP影视" + } + ] + }, + { + "title":"APP影视(优质)", + "list":[ + { + "title":"1080p", + "url":"https://1080p.one/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/1080p.png", + "murl":"q:APP影视" + }, + { + "title":"4K影院", + "url":"http://4kdytv.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/4K影院.png", + "murl":"q:APP影视" + }, + { + "title":"80K影视", + "url":"https://1080p.tv/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/80K影视.png", + "murl":"q:APP影视" + }, + { + "title":"CJT影院", + "url":"https://www.cjt521.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/CJT影院.png", + "murl":"q:APP影视" + }, + { + "title":"DC影视", + "url":"http://chaorenbb.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/DC影视.png", + "murl":"q:APP影视" + }, + { + "title":"HG影视", + "url":"http://hgyx.vip/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/HG影视.png", + "murl":"q:APP影视" + }, + { + "title":"l0l影院", + "url":"https://l0l.tv/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/l0l影院.png", + "murl":"q:APP影视" + }, + { + "title":"爱看美剧", + "url":"https://www.uumjw.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/爱看美剧.png", + "murl":"q:APP影视" + }, + { + "title":"阿姨追剧", + "url":"https://www.ayzhuiju.com/ruifenglb_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/阿姨追剧2.png", + "murl":"q:APP影视" + }, + { + "title":"初心影视", + "url":"https://www.18mv.club/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/初心影视.png", + "murl":"q:APP影视" + }, + { + "title":"独播社", + "url":"http://35ys.cc/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/独播社.png", + "murl":"q:APP影视" + }, + { + "title":"段友影视", + "url":"http://121.204.249.135:4433/ruifenglb_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/段友影视3.png", + "murl":"q:APP影视" + }, + { + "title":"饭后电影", + "url":"http://summ.vip/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/饭后电影.png", + "murl":"q:APP影视" + }, + { + "title":"飞捷影视", + "url":"https://www.fj6080.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/飞捷影视.png", + "murl":"q:APP影视" + }, + { + "title":"疯狂看", + "url":"http://app.fkkdy.vip/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/疯狂看电影.png", + "murl":"q:APP影视" + }, + { + "title":"汇聚库TV", + "url":"https://www.zzclove666.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/汇聚库TV.png", + "murl":"q:APP影视" + }, + { + "title":"虎猫视频", + "url":"https://humaosp.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/虎猫视频.png", + "murl":"q:APP影视" + }, + { + "title":"绿箭影视", + "url":"http://www.69ty.cc/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/绿箭影视.png", + "murl":"q:APP影视" + }, + { + "title":"懒猫电影", + "url":"http://www.esellauto.com/ruifenglb_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/懒猫电影.png", + "murl":"q:APP影视" + }, + { + "title":"漫岛影视", + "url":"http://app.mdaotv.cn/mubai_api.php/m2.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/漫岛影视.png", + "murl":"q:APP影视" + }, + { + "title":"麻瓜视频", + "url":"http://aliyun.k8aa.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/麻瓜视频1.png", + "murl":"q:APP影视" + }, + { + "title":"美剧虫", + "url":"https://meijuchong.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/美剧虫.png", + "murl":"q:APP影视" + }, + { + "title":"木子电影", + "url":"http://www.muzidy.top/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/木子电影.png", + "murl":"q:APP影视" + }, + { + "title":"暖光影视", + "url":"https://app.bl210.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/暖光影视.png", + "murl":"q:APP影视" + }, + { + "title":"奈非迷", + "url":"https://app.netflixmi.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/奈非迷影视.png", + "murl":"q:APP影视" + }, + { + "title":"南府影视", + "url":"http://iapp.nfuxs.club/dnmb.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/南府影视.png", + "murl":"q:APP影视" + }, + { + "title":"柠柚影视", + "url":"http://nu.e4tv.cn/lvdou_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/柠柚影视.png", + "murl":"q:APP影视" + }, + { + "title":"瑞丰资源", + "url":"https://ts.yjhan.com:4433/ruifenglb_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/瑞丰.png", + "murl":"q:APP影视" + }, + { + "title":"温妮影视", + "url":"https://www.wenniys.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/温妮影视.png", + "murl":"q:APP影视" + }, + { + "title":"星辰视频", + "url":"https://m.hj0999.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/星辰视频.png", + "murl":"q:APP影视" + }, + { + "title":"小极影视", + "url":"http://app.8d8q.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/小极影视.png", + "murl":"q:APP影视" + }, + { + "title":"雪人资源", + "url":"https://zy.qd234.cn/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/雪人资源站.png", + "murl":"q:APP影视" + }, + { + "title":"益达影院", + "url":"http://luobu.yss6080.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/益达影院.png", + "murl":"q:APP影视" + }, + { + "title":"雨果影视", + "url":"http://ygapp.xcys63.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/雨果影视.png", + "murl":"q:APP影视" + }, + { + "title":"月色影视", + "url":"http://69ty.cc/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/月色影视.png", + "murl":"q:APP影视" + }, + { + "title":"优视影视", + "url":"http://cc.ysys.asia/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/优视影视.png", + "murl":"q:APP影视" + }, + { + "title":"影阅阁", + "url":"http://221.236.18.12:665/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/影阅阁.png", + "murl":"q:APP影视" + }, + { + "title":"追剧吧", + "url":"http://zhuiju8.vip/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/追剧吧影视.png", + "murl":"q:APP影视" + } + ] + }, + { + "title":"APP影视(普通)", + "list":[ + { + "title":"80影视", + "url":"http://www.ccc8.net/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/80影视.png", + "murl":"q:APP影视" + }, + { + "title":"QC影视", + "url":"https://www.qcsvip.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/QC影视.png", + "murl":"q:APP影视" + }, + { + "title":"U5影视", + "url":"https://appx.uy07.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/U5影视.png", + "murl":"q:APP影视" + }, + { + "title":"yoyo", + "url":"http://jx.wnvod.net/ruifenglb_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/yoyo影视.png", + "murl":"q:APP影视" + }, + { + "title":"爱影视", + "url":"https://www.hzlff.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/爱影视.png", + "murl":"q:APP影视" + }, + { + "title":"爱追剧", + "url":"http://81.71.18.95:520/lvdou_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/爱追剧.png", + "murl":"q:APP影视" + }, + { + "title":"艾特影视", + "url":"https://www.aitee.cc/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/艾特影视.png", + "murl":"q:APP影视" + }, + { + "title":"白菜追剧", + "url":"http://lbapp.huimaojia.com:30119/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/白菜追剧.png", + "murl":"q:APP影视" + }, + { + "title":"比邻影视", + "url":"http://0hzy.cn:9990/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/比邻影视.png", + "murl":"q:APP影视" + }, + { + "title":"百讯视频", + "url":"https://z.iopenyun.com:99/app_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/百讯视频.png", + "murl":"q:APP影视" + }, + { + "title":"菜鸟动漫", + "url":"http://taikong.huangguay.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/菜鸟动漫.png", + "murl":"q:APP影视" + }, + { + "title":"大头影视", + "url":"http://dy.idsao.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/大头影视.png", + "murl":"q:APP影视" + }, + { + "title":"段友影视", + "url":"http://js.66app.me/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/段友影视2.png", + "murl":"q:APP影视" + }, + { + "title":"豆渣影视", + "url":"http://douzhayss.cc/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/豆渣影视.png", + "murl":"q:APP影视" + }, + { + "title":"二九影视", + "url":"https://app.19kp.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/二九影视.png", + "murl":"q:APP影视" + }, + { + "title":"辉哥影视", + "url":"https://app.y.hgyule8.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/辉哥影视.png", + "murl":"q:APP影视" + }, + { + "title":"黄河影视", + "url":"http://i.ledu8.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/黄河影视.png", + "murl":"q:APP影视" + }, + { + "title":"盒子影院", + "url":"http://i.nihaohezi.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/盒子影院.png", + "murl":"q:APP影视" + }, + { + "title":"筋斗云", + "url":"https://tv.jindcloud.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/筋斗云影视.png", + "murl":"q:APP影视" + }, + { + "title":"极光影院", + "url":"http://app.winxz.cc/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/极光影院.png", + "murl":"q:APP影视" + }, + { + "title":"剧迷视频", + "url":"http://pan.hzafw.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/剧迷视频.png", + "murl":"q:APP影视" + }, + { + "title":"橘子影视", + "url":"http://jz.juzidy.vip/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/橘子影视.png", + "murl":"q:APP影视" + }, + { + "title":"看剧吧", + "url":"http://app.ishen520.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/看剧吧.png", + "murl":"q:APP影视" + }, + { + "title":"看看剧", + "url":"https://www.kankanju.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/看看剧.png", + "murl":"q:APP影视" + }, + { + "title":"蓝光视频", + "url":"http://vip.91iqiyi.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/蓝光视频.png", + "murl":"q:APP影视" + }, + { + "title":"林谷影视", + "url":"http://ys.linguyy.xyz/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/林谷影视.png", + "murl":"q:APP影视" + }, + { + "title":"冷视TV", + "url":"https://len.tv/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/冷视TV.png", + "murl":"q:APP影视" + }, + { + "title":"美剧范", + "url":"http://ttzmz.net/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/美剧范.png", + "murl":"q:APP影视" + }, + { + "title":"喵乐影视", + "url":"http://miaoleys.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/喵乐影视.png", + "murl":"q:APP影视" + }, + { + "title":"名视影", + "url":"http://app.qqccv.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/名视影.png", + "murl":"q:APP影视" + }, + { + "title":"麻子追剧", + "url":"http://b.2maz.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/麻子追剧.png", + "murl":"q:APP影视" + }, + { + "title":"奈飞中文", + "url":"https://www.naifei.org/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/奈飞中文.png", + "murl":"q:APP影视" + }, + { + "title":"皮皮动漫", + "url":"http://dm.muying.me/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/皮皮动漫.png", + "murl":"q:APP影视" + }, + { + "title":"奇趣影视", + "url":"https://app.qiqu.me/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/奇趣影视.png", + "murl":"q:APP影视" + }, + { + "title":"思奇影视", + "url":"http://app.siqitv.vip/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/思奇影视.png", + "murl":"q:APP影视" + }, + { + "title":"三日影院", + "url":"https://www.3ri.net/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/三日影院.png", + "murl":"q:APP影视" + }, + { + "title":"视听星球", + "url":"http://zjyapijzys.shynwlkj.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/视听星球.png", + "murl":"q:APP影视" + }, + { + "title":"土豆TV", + "url":"http://xiuxian.qd234.cn/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/土豆TV.png", + "murl":"q:APP影视" + }, + { + "title":"淘剧社", + "url":"https://app.shuhai99.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/淘剧社.png", + "murl":"q:APP影视" + }, + { + "title":"天天影视", + "url":"http://app.at008.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/天天影视.png", + "murl":"q:APP影视" + }, + { + "title":"天天视频", + "url":"http://app.qianju.cc/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/天天视频.png", + "murl":"q:APP影视" + }, + { + "title":"兔子窝", + "url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/兔子窝.png", + "murl":"q:APP影视" + }, + { + "title":"我爱跟剧", + "url":"https://www.genmov.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/我爱跟剧.png", + "murl":"q:APP影视" + }, + { + "title":"吾爱影视", + "url":"http://app.5lp.net/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/吾爱影视.png", + "murl":"q:APP影视" + }, + { + "title":"吾爱影视", + "url":"http://52ysw.xyz/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/吾爱影视1.png", + "murl":"q:APP影视" + }, + { + "title":"蜗牛动漫", + "url":"http://woniudm.woniu.cyou:20000/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/蜗牛动漫.png", + "murl":"q:APP影视" + }, + { + "title":"熊猫动漫", + "url":"http://dongman.k8aa.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/熊猫动漫.png", + "murl":"q:APP影视" + }, + { + "title":"玺娜影视", + "url":"https://pp.wxina.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/玺娜影视.png", + "murl":"q:APP影视" + }, + { + "title":"小蜻蜓", + "url":"http://3ketv.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/小蜻蜓视频.png", + "murl":"q:APP影视" + }, + { + "title":"星球视频", + "url":"http://119.29.121.48:8088/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/星球视频.png", + "murl":"q:APP影视" + }, + { + "title":"玺心影视", + "url":"https://tv.arbd.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/玺心影视.png", + "murl":"q:APP影视" + }, + { + "title":"星影相随", + "url":"http://app.rootthree.top/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/星影相随.png", + "murl":"q:APP影视" + }, + { + "title":"小易影视", + "url":"http://xy.irop.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/小易影视.png", + "murl":"q:APP影视" + }, + { + "title":"樱花动漫", + "url":"https://www.dmwu.cc/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/樱花动漫.png", + "murl":"q:APP影视" + }, + { + "title":"月亮影视", + "url":"http://ys.13tv.top/acj_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/月亮影视.png", + "murl":"q:APP影视" + }, + { + "title":"影视大全", + "url":"https://xc.xixi2yy.xyz/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/影视大全HD.png", + "murl":"q:APP影视" + }, + { + "title":"影视热剧", + "url":"http://lb.26ys.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/影视热剧.png", + "murl":"q:APP影视" + }, + { + "title":"渔渔影视", + "url":"http://luobo.yugenye.site/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/渔渔影视.png", + "murl":"q:APP影视" + }, + { + "title":"柚子视频", + "url":"http://yz.26ys.cn/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/柚子视频.png", + "murl":"q:APP影视" + }, + { + "title":"追剧猫", + "url":"http://tv.kmtvb.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/追剧猫1.png", + "murl":"q:APP影视" + }, + { + "title":"侦探影视", + "url":"http://ys.huangguay.com/mogai_api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/侦探影视.png", + "murl":"q:APP影视" + }, + { + "title":"猪猪影院", + "url":"http://app.2zdyy.com/api.php/v1.vod", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/猪猪影院.png", + "murl":"q:APP影视" + } + ] + }, + { + "title":"APP影视(TV端)", + "list":[ + { + "title":"2号币", + "url":"http://phoebe.cf/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/2号币影院.png", + "murl":"q:TV影视" + }, + { + "title":"HG影视", + "url":"http://api.hgyx.vip/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/HG影视.png", + "murl":"q:TV影视" + }, + { + "title":"傲视影院", + "url":"http://j.zjj.life:88/mv/api.php/Chengcheng/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/傲视影院.png", + "murl":"q:TV影视" + }, + { + "title":"爱西西TV", + "url":"http://tv.aixixi.vip/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/爱西西TV.png", + "murl":"q:TV影视" + }, + { + "title":"刺桐影视", + "url":"http://tv.cttv.vip/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/刺桐影视.png", + "murl":"q:TV影视" + }, + { + "title":"尘梓TV", + "url":"http://cztv.vip:83/api.php/chenziystv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/尘梓TV.png", + "murl":"q:TV影视" + }, + { + "title":"嘀哩嘀哩", + "url":"https://api.diliktv.xyz/api.php/Chengcheng/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/嘀哩嘀哩TV.png", + "murl":"q:TV影视" + }, + { + "title":"动力影视", + "url":"http://www.love9989.com/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/动力影视.png", + "murl":"q:TV影视" + }, + { + "title":"大师兄", + "url":"http://dsxtv.tv.ci/api.php/dsx/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/大师兄影视.png", + "murl":"q:TV影视" + }, + { + "title":"二货影视", + "url":"http://d.zjj.life:88/mv/api.php/Chengcheng/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/二货影视.png", + "murl":"q:TV影视" + }, + { + "title":"黑龙影视", + "url":"http://vip.ji-ding-he.site/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/黑龙影视.png", + "murl":"q:TV影视" + }, + { + "title":"聚多影视", + "url":"http://jdyy.weetai.cn/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/聚多影视.png", + "murl":"q:TV影视" + }, + { + "title":"久久影院", + "url":"http://l.bhtv.org.cn/mv/api.php/Chengcheng/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/久久影院.png", + "murl":"q:TV影视" + }, + { + "title":"乐酷TV", + "url":"http://150.138.78.177:2021/api.php/Chengcheng/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/乐酷TV.png", + "murl":"q:TV影视" + }, + { + "title":"流星雨", + "url":"http://nn.lxyyy.xyz:8/c/api.php/WAiLaowang/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/流星雨影院.png", + "murl":"q:TV影视" + }, + { + "title":"冷月TV", + "url":"https://tv.521x5.com/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/冷月TV.png", + "murl":"q:TV影视" + }, + { + "title":"荔枝影视", + "url":"http://api.zjys.vip/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/荔枝影视TV.png", + "murl":"q:TV影视" + }, + { + "title":"免费看TV", + "url":"http://www.freekan.vip/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/免费看TV.png", + "murl":"q:TV影视" + }, + { + "title":"蜜果TV", + "url":"http://vv.miguotv.net/m/api.php/Chengcheng/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/蜜果TV.png", + "murl":"q:TV影视" + }, + { + "title":"米来影视", + "url":"http://42.51.37.161:2346/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/米来影视.png", + "murl":"q:TV影视" + }, + { + "title":"米奇TV", + "url":"http://www.s6ep3.top/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/米奇TV.png", + "murl":"q:TV影视" + }, + { + "title":"思奇TV", + "url":"http://tv.siqitv.vip/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/思奇TV.png", + "murl":"q:TV影视" + }, + { + "title":"双子星", + "url":"http://tv.diyoui.cc/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/双子星.png", + "murl":"q:TV影视" + }, + { + "title":"山楂影视", + "url":"http://dy6.dcd1.cn/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/山楂影视.png", + "murl":"q:TV影视" + }, + { + "title":"若惜影视", + "url":"http://rxw.ruoxinew.com/api.php/Sntv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/若惜影视.png", + "murl":"q:TV影视" + }, + { + "title":"虾皮视频", + "url":"http://tv.cmt8.xyz/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/虾皮视频.png", + "murl":"q:TV影视" + }, + { + "title":"小极TV", + "url":"http://api.8d8q.com/mmv/api.php/Chengcheng/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/小极TV.png", + "murl":"q:TV影视" + }, + { + "title":"小熊猫TV", + "url":"http://tv2.hetaoys.vip/api.php/iptv/vod/", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/小熊猫TV.png", + "murl":"q:TV影视" + } + ] + }, + { + "title":"接口个人收集,未经询问引用,请自己找(推荐使用以下APP)", + "list":[ + { + "title":"M浏览器", + "url":"https://www.coolapk.com/apk/cn.nr19.mbrowser", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/M浏览器2.png", + "murl":"q:#浏览框?url=https://www.coolapk.com/apk/cn.nr19.mbrowser " + }, + { + "title":"海阔视界", + "url":"https://haikuo.lanzoui.com/u/GoldRiver", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/海阔视界.png", + "murl":"q:#浏览框?url=https://haikuo.lanzoui.com/u/GoldRiver" + }, + { + "title":"视频聚合(PC)", + "url":"", + "img":"https://inmemory.coding.net/p/InMemory/d/MBrowser/git/raw/master/AppFile/AppIcon/视频聚合.png", + "murl":"" + } + ] + } +] +} diff --git a/Course/Picture_图片教程/001_XBiubiu图片教程.png b/Course/Picture_图片教程/001_XBiubiu图片教程.png new file mode 100644 index 0000000..3a3e406 Binary files /dev/null and b/Course/Picture_图片教程/001_XBiubiu图片教程.png differ diff --git a/Course/Picture_图片教程/002_XBiubiu图片教程.jpg b/Course/Picture_图片教程/002_XBiubiu图片教程.jpg new file mode 100644 index 0000000..3879138 Binary files /dev/null and b/Course/Picture_图片教程/002_XBiubiu图片教程.jpg differ diff --git a/Course/Picture_图片教程/003_XBiubiu图片教程.png b/Course/Picture_图片教程/003_XBiubiu图片教程.png new file mode 100644 index 0000000..4f9b6a0 Binary files /dev/null and b/Course/Picture_图片教程/003_XBiubiu图片教程.png differ diff --git a/Course/Picture_图片教程/004_XBiubiu图片教程.jpg b/Course/Picture_图片教程/004_XBiubiu图片教程.jpg new file mode 100644 index 0000000..d2d77cc Binary files /dev/null and b/Course/Picture_图片教程/004_XBiubiu图片教程.jpg differ diff --git a/Course/Picture_图片教程/005_XBiubiu图片教程.png b/Course/Picture_图片教程/005_XBiubiu图片教程.png new file mode 100644 index 0000000..903c922 Binary files /dev/null and b/Course/Picture_图片教程/005_XBiubiu图片教程.png differ diff --git a/Course/Picture_图片教程/006_XBiubiu图片教程.jpg b/Course/Picture_图片教程/006_XBiubiu图片教程.jpg new file mode 100644 index 0000000..c8f4c27 Binary files /dev/null and b/Course/Picture_图片教程/006_XBiubiu图片教程.jpg differ diff --git a/Course/Picture_图片教程/007_XBiubiu图片教程.png b/Course/Picture_图片教程/007_XBiubiu图片教程.png new file mode 100644 index 0000000..ce8669c Binary files /dev/null and b/Course/Picture_图片教程/007_XBiubiu图片教程.png differ diff --git a/Course/Picture_图片教程/008_XBiubiu图片教程.jpg b/Course/Picture_图片教程/008_XBiubiu图片教程.jpg new file mode 100644 index 0000000..a1f7ad7 Binary files /dev/null and b/Course/Picture_图片教程/008_XBiubiu图片教程.jpg differ diff --git a/Course/Picture_图片教程/009_XBiubiu图片教程.png b/Course/Picture_图片教程/009_XBiubiu图片教程.png new file mode 100644 index 0000000..7510316 Binary files /dev/null and b/Course/Picture_图片教程/009_XBiubiu图片教程.png differ diff --git a/Course/Picture_图片教程/010_XBiubiu图片教程.jpg b/Course/Picture_图片教程/010_XBiubiu图片教程.jpg new file mode 100644 index 0000000..4c68aa4 Binary files /dev/null and b/Course/Picture_图片教程/010_XBiubiu图片教程.jpg differ diff --git a/Course/Picture_图片教程/011_XBiubiu图片教程.png b/Course/Picture_图片教程/011_XBiubiu图片教程.png new file mode 100644 index 0000000..6ac9988 Binary files /dev/null and b/Course/Picture_图片教程/011_XBiubiu图片教程.png differ diff --git a/Course/Picture_图片教程/012_XBiubiu图片教程.jpg b/Course/Picture_图片教程/012_XBiubiu图片教程.jpg new file mode 100644 index 0000000..5e8fe4a Binary files /dev/null and b/Course/Picture_图片教程/012_XBiubiu图片教程.jpg differ diff --git a/Course/Picture_图片教程/013_XBiubiu图片教程.png b/Course/Picture_图片教程/013_XBiubiu图片教程.png new file mode 100644 index 0000000..b2c1caf Binary files /dev/null and b/Course/Picture_图片教程/013_XBiubiu图片教程.png differ diff --git a/Course/Picture_图片教程/TVBox_T版内置配置地址1_用Apktool M.jpg b/Course/Picture_图片教程/TVBox_T版内置配置地址1_用Apktool M.jpg new file mode 100644 index 0000000..dbdf00a Binary files /dev/null and b/Course/Picture_图片教程/TVBox_T版内置配置地址1_用Apktool M.jpg differ diff --git a/Course/Picture_图片教程/TVBox_T版内置配置地址2_用Apktool M.jpg b/Course/Picture_图片教程/TVBox_T版内置配置地址2_用Apktool M.jpg new file mode 100644 index 0000000..8cb4f96 Binary files /dev/null and b/Course/Picture_图片教程/TVBox_T版内置配置地址2_用Apktool M.jpg differ diff --git a/Course/Picture_图片教程/TVBox_俊版内置配置地址1.png b/Course/Picture_图片教程/TVBox_俊版内置配置地址1.png new file mode 100644 index 0000000..7f844a5 Binary files /dev/null and b/Course/Picture_图片教程/TVBox_俊版内置配置地址1.png differ diff --git a/Course/Picture_图片教程/TVBox_俊版内置配置地址2.png b/Course/Picture_图片教程/TVBox_俊版内置配置地址2.png new file mode 100644 index 0000000..9303150 Binary files /dev/null and b/Course/Picture_图片教程/TVBox_俊版内置配置地址2.png differ diff --git a/Course/Picture_图片教程/TVBox_俊版内置配置地址3.png b/Course/Picture_图片教程/TVBox_俊版内置配置地址3.png new file mode 100644 index 0000000..b66fba7 Binary files /dev/null and b/Course/Picture_图片教程/TVBox_俊版内置配置地址3.png differ diff --git a/Course/Picture_图片教程/影音壳子_提个BUG位置替换1.png b/Course/Picture_图片教程/影音壳子_提个BUG位置替换1.png new file mode 100644 index 0000000..1f89e16 Binary files /dev/null and b/Course/Picture_图片教程/影音壳子_提个BUG位置替换1.png differ diff --git a/Course/Picture_图片教程/影音壳子_提个BUG位置替换2.png b/Course/Picture_图片教程/影音壳子_提个BUG位置替换2.png new file mode 100644 index 0000000..65a07e6 Binary files /dev/null and b/Course/Picture_图片教程/影音壳子_提个BUG位置替换2.png differ diff --git a/Course/Picture_图片教程/简影换密钥.jpg b/Course/Picture_图片教程/简影换密钥.jpg new file mode 100644 index 0000000..e456a41 Binary files /dev/null and b/Course/Picture_图片教程/简影换密钥.jpg differ diff --git a/Course/Picture_图片教程/腾讯体育.png b/Course/Picture_图片教程/腾讯体育.png new file mode 100644 index 0000000..d8c6ec2 Binary files /dev/null and b/Course/Picture_图片教程/腾讯体育.png differ diff --git a/Course/Picture_图片教程/阿里取KEY.png b/Course/Picture_图片教程/阿里取KEY.png new file mode 100644 index 0000000..046911e Binary files /dev/null and b/Course/Picture_图片教程/阿里取KEY.png differ diff --git a/Course/Py_添加教程.md b/Course/Py_添加教程.md new file mode 100644 index 0000000..e797b5e --- /dev/null +++ b/Course/Py_添加教程.md @@ -0,0 +1,98 @@ + +## Pyramid添加教程 + +以下代码使用TVBOXOSC最后一个版本作为样例,其他的衍生版本请自行参考。目前只支持armeabi-v7a和x86_64,测试结束后续会放出所有版本支持 + +### 添加过程 + +##### 1.添加pyramid.aar到android项目libs目录下 + +##### 2.在 app\build.gradle 中添加内容 +```gralde +dependencies { + //添加pyramid.aar引用 + implementation files('libs\\pyramid.aar') +} +``` +##### 3.在 app\proguard-rules.pro 中添加内容 +```pro +-keep public class com.undcover.freedom.pyramid.** { *; } +-dontwarn com.undcover.freedom.pyramid.** +-keep public class com.chaquo.python.** { *; } +-dontwarn com.chaquo.python.** +``` +##### 4.修改项目 App.java +```java +// 添加引用 +import com.undcover.freedom.pyramid.PythonLoader; + +public class App extends MultiDexApplication { + //... +} +``` +```java +public void onCreate() { + // .... + PlayerHelper.init(); + //pyramid-add-start + PythonLoader.getInstance().setApplication(this); + //pyramid-add-end +} +``` +##### 5.修改 ApiConfig.java +```java +// 添加引用 +import com.github.catvod.crawler.SpiderNull; +import com.undcover.freedom.pyramid.PythonLoader; +public class ApiConfig { + //... +} +``` + +```java +private void parseJson(String apiUrl, String jsonStr) { + //pyramid-add-start + PythonLoader.getInstance().setConfig(jsonStr); + //pyramid-add-end + JsonObject infoJson = new Gson().fromJson(jsonStr, JsonObject.class); + //.... +} +``` + +```java +public Spider getCSP(SourceBean sourceBean) { + //pyramid-add-start + if (sourceBean.getApi().startsWith("py_")) { + try { + return PythonLoader.getInstance().getSpider(sourceBean.getKey(), sourceBean.getExt()); + } catch (Exception e) { + e.printStackTrace(); + return new SpiderNull(); + } + } + //pyramid-add-end + return jarLoader.getSpider(sourceBean.getKey(), sourceBean.getApi(), sourceBean.getExt()); +} +``` + +```java +public Object[] proxyLocal(Map param) { + //pyramid-add-start + try { + if(param.containsKey("api")){ + String doStr = param.get("do").toString(); + if(doStr.equals("ck")) + return PythonLoader.getInstance().proxyLocal("","",param); + SourceBean sourceBean = ApiConfig.get().getSource(doStr); + return PythonLoader.getInstance().proxyLocal(sourceBean.getKey(),sourceBean.getExt(),param); + }else{ + String doStr = param.get("do").toString(); + if(doStr.equals("live")) return PythonLoader.getInstance().proxyLocal("","",param); + } + } catch (Exception e) { + e.printStackTrace(); + } + //pyramid-add-end + return jarLoader.proxyInvoke(param); +} +``` \ No newline at end of file diff --git a/Course/TVBOX的XBiubiu规则.md b/Course/TVBOX的XBiubiu规则.md new file mode 100644 index 0000000..195110c --- /dev/null +++ b/Course/TVBOX的XBiubiu规则.md @@ -0,0 +1,28 @@ +## TVBOX的XBiubiu规则 +## XBiubiu 使用方法 +![4b20344b021a0c690daa9540d4c69ee](https://user-images.githubusercontent.com/102397160/182081560-9d6acb49-0bed-4de8-83a5-14fe840f667b.png) + +## ![68747470733a2f2f6c6975363733636e2e6769746875622e696f2f626f782f7375622f5862622f6230312e6a7067](https://user-images.githubusercontent.com/102397160/182079920-903aeb76-6c7d-4c58-9324-5602fd26aed2.jpg) + +![c8c881b01f7bd218be74eccbd822c2e](https://user-images.githubusercontent.com/102397160/182081615-fa039af2-9706-4a0b-b0cd-542853979c3b.png) + +## ![68747470733a2f2f6c6975363733636e2e6769746875622e696f2f626f782f7375622f5862622f6230312e312e6a7067](https://user-images.githubusercontent.com/102397160/182080343-1ddab3ed-98a9-4919-a390-649b02473c5c.jpg) + + "jiequshuzuqian": "class=\"stui-vodlist__box\"", //------截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + + "jiequshuzuhou": "", //------截取的列表数组的后关键词 + +## ![68747470733a2f2f6c6975363733636e2e6769746875622e696f2f626f782f7375622f5862622f6230322e312e6a7067](https://user-images.githubusercontent.com/102397160/182080422-e930ddb7-0b87-4b42-a16d-29e8853daa4b.jpg) + +![2fef43e0c9d7b167e7354c0ff14d5fd](https://user-images.githubusercontent.com/102397160/182081764-cd8bf96f-f305-4a57-a9a3-fdbedd10bd51.png) + +## ![68747470733a2f2f6c6975363733636e2e6769746875622e696f2f626f782f7375622f5862622f6230322e322e6a7067](https://user-images.githubusercontent.com/102397160/182080520-ebf50e25-b253-4c8c-bef4-3edda78788b1.jpg) + + ![c35e334e7e44684e2cec191eba75572](https://user-images.githubusercontent.com/102397160/182081812-3b7682db-e151-403b-993b-cecd1ab2004a.png) + +## ![68747470733a2f2f6c6975363733636e2e6769746875622e696f2f626f782f7375622f5862622f6230332e6a7067](https://user-images.githubusercontent.com/102397160/182080617-5d5578a1-479a-4e38-bd63-eb865eb28e5a.jpg) + +![de36c08b83008946bdeafe25d1bb859](https://user-images.githubusercontent.com/102397160/182081889-29ec3eea-d72c-47ee-8535-0b5be28a3c3b.png) + +## ![68747470733a2f2f6c6975363733636e2e6769746875622e696f2f626f782f7375622f5862622f6230342e6a7067](https://user-images.githubusercontent.com/102397160/182080684-eb767c6f-3e48-4d99-a162-8c17608a1a21.jpg) +![5cbe8b586dc2de09baa92105bcc4613](https://user-images.githubusercontent.com/102397160/182081944-fd876483-ad72-4ead-9ccc-adaaab6905cc.png) diff --git a/Course/XBiu.zip b/Course/XBiu.zip new file mode 100644 index 0000000..175dd3d Binary files /dev/null and b/Course/XBiu.zip differ diff --git a/Course/XPathRule解释.txt b/Course/XPathRule解释.txt new file mode 100644 index 0000000..6920d4d --- /dev/null +++ b/Course/XPathRule解释.txt @@ -0,0 +1,278 @@ +ublic class XPathRule { + /** + * user-agent + */ + private String ua; + /** + * 获取分类和首页推荐的Url + */ + private String homeUrl; + /** + * 分类节点 xpath + */ + private String cateNode; + /** + * 分类节点名 xpath + */ + private String cateName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateNameR; + /** + * 分类节点id xpath + */ + private String cateId; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateIdR; + /** + * 手动指定 分类 如果有则不从homeUrl中获取分类 + */ + private LinkedHashMap cateManual = new LinkedHashMap<>(); + + /** + * 更新推荐视频节点 xpath + */ + private String homeVodNode; + /** + * 更新推荐视频名称 xpath + */ + private String homeVodName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern homeVodNameR; + /** + * 更新推荐视频id xpath + */ + private String homeVodId; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern homeVodIdR; + /** + * 更新推荐视频图片 xpath + */ + private String homeVodImg; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern homeVodImgR; + /** + * 更新推荐视频简介 xpath + */ + private String homeVodMark; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern homeVodMarkR; + /** + * 分类页地址 + */ + private String cateUrl; + /** + * 分类叶视频节点 xpath + */ + private String cateVodNode; + /** + * 分类叶视频名称 xpath + */ + private String cateVodName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateVodNameR; + /** + * 分类叶视频视频id xpath + */ + private String cateVodId; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateVodIdR; + /** + * 分类叶视频视频图片 xpath + */ + private String cateVodImg; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateVodImgR; + /** + * 分类叶视频视频简介 xpath + */ + private String cateVodMark; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateVodMarkR; + + /** + * 详情页面 + */ + private String dtUrl; + /** + * 详情节点 xpath + */ + private String dtNode; + /** + * 详情 视频名 xpath + */ + private String dtName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtNameR; + /** + * 详情视频图片 xpath + */ + private String dtImg; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtImgR; + /** + * 详情视频分类 xpath + */ + private String dtCate; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtCateR; + /** + * 详情视频年份 xpath + */ + private String dtYear; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtYearR; + /** + * 详情视频地区 xpath + */ + private String dtArea; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtAreaR; + /** + * 详情视频简介 xpath + */ + private String dtMark; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtMarkR; + /** + * 详情演员 xpath + */ + private String dtActor; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtActorR; + /** + * 详情导演 xpath + */ + private String dtDirector; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtDirectorR; + /** + * 详情 说明 长 xpath + */ + private String dtDesc; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtDescR; + + /** + * 详情播放来源节点 + */ + private String dtFromNode; + /** + * 详情播放来源名称 xpath + */ + private String dtFromName; + /** + * 详情 + */ + private Pattern dtFromNameR; + /** + * 详情播放地址列表节点 xpath + */ + private String dtUrlNode; + /** + * 详情播放地址节点 xpath + */ + private String dtUrlSubNode; + /** + * 详情播放地址id xpath + */ + private String dtUrlId; + /** + * 详情 + */ + private Pattern dtUrlIdR; + /** + * 详情播放地址名称 xpath + */ + private String dtUrlName; + /** + * 详情 + */ + private Pattern dtUrlNameR; + /** + * 播放页面url + */ + private String playUrl; + /** + * 播放解析调用ua + */ + private String playUa; + + /** + * 搜索页地址 + */ + private String searchUrl; + + /** + * 搜索页视频节点 xpath + */ + private String scVodNode; + /** + * 搜索页视频名称 xpath + */ + private String scVodName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern scVodNameR; + /** + * 搜索页视频id xpath + */ + private String scVodId; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern scVodIdR; + /** + * 搜索页视频图片 xpath + */ + private String scVodImg; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern scVodImgR; + /** + * 搜索页视频简介 xpath + */ + private String scVodMark; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern scVodMarkR; \ No newline at end of file diff --git a/Course/XP套娃规则.txt b/Course/XP套娃规则.txt new file mode 100644 index 0000000..a3036fc --- /dev/null +++ b/Course/XP套娃规则.txt @@ -0,0 +1,104 @@ +{ + "ua": "", + // 首页地址 用于获取 分类和首页推荐 + "homeUrl": "http://www.9rmb.com", + // 分类节点 + "cateNode": "//ul[contains(@class,'navbar-nav')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + // 分类名 + "cateName": "/text()", + // 分类id + "cateId": "/@href", + // 分类id二次处理正则 + "cateIdR": "/type/(\\d+).html", + // 手动设置分类,如果手动设置了分类则不使用上面的分类xpath获取分类 例如 "cateManual": {"电影": "1", "电视剧": "2"}, + "cateManual": {}, + // 首页推荐视频的节点 + "homeVodNode": "//div[@class='col-md-12 movie-item-out']//a[not(contains(@href, '6'))]/parent::*/parent::*/parent::*/div[contains(@class, 'movie-item-out') and position()<10]/div[@class='movie-item']/a", + // 首页推荐视频的名称 + "homeVodName": "/@title", + // 二次处理正则 + "homeVodNameR": "", + // 首页推荐视频的id + "homeVodId": "/@href", + // 二次处理正则 + "homeVodIdR": "/show/(\\w+).html", + // 首页推荐视频的图片 + "homeVodImg": "/img/@src", + // 二次处理正则 + "homeVodImgR": "", + // 首页推荐视频的简介 + "homeVodMark": "/button/text()", + // 二次处理正则 + "homeVodMarkR": "", + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "http://www.9rmb.com/type/{cateId}/{catePg}.html", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//div[@class='movie-item']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/button/text()", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "http://www.9rmb.com/show/{vid}.html", + // 详情节点 + "dtNode": "//div[@class='container-fluid']", + // 视频名 + "dtName": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@alt", + "dtNameR": "", + // 视频图片 + "dtImg": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@src", + "dtImgR": "", + // 视频分类 + "dtCate": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '类型')]/parent::*/following-sibling::*/text()", + "dtCateR": "", + // 视频年份 + "dtYear": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '日期')]/parent::*/following-sibling::*/text()", + "dtYearR": "", + // 视频地区 + "dtArea": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '国家')]/parent::*/following-sibling::*/text()", + "dtAreaR": "", + // 视频状态 + "dtMark": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '状态')]/parent::*/following-sibling::*/text()", + "dtMarkR": "", + // 主演 + "dtActor": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '主演')]/parent::*/following-sibling::*/text()", + "dtActorR": "", + // 导演 + "dtDirector": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '导演')]/parent::*/following-sibling::*/text()", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "//p[@class='summary']/text()", + "dtDescR": "", + // 播放源节点 + "dtFromNode": "//div[contains(@class,'resource-list')]/div[@class='panel-heading']/strong", + // 播放源名称 + "dtFromName": "/text()", + // 二次处理正则 + "dtFromNameR": "\\S+\\.(\\S+) \\(", + // 播放列表节点 + "dtUrlNode": "//div[contains(@class,'resource-list')]/ul[@class='dslist-group']", + // 播放地址节点 + "dtUrlSubNode": "/li/a", + // 播放地址 + "dtUrlId": "@href", + // 二次处理正则 + "dtUrlIdR": "/play/(\\S+).html", + // 剧集名称 + "dtUrlName": "/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "http://www.9rmb.com/play/{playUrl}.html", + // 解析webview的user-agent + "playUa": "", + // 搜索地址 + "searchUrl": "http://www.9rmb.com/search?wd={wd}", + // 同上面的homeVod字段 搜索结果中的视频信息, 这里有对苹果cms suggest搜索接口的特殊支持,参考示例中的极品影视 + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} \ No newline at end of file diff --git a/Course/XYQBiu写法说明/XYQBiu写法说明.json b/Course/XYQBiu写法说明/XYQBiu写法说明.json new file mode 100644 index 0000000..9fecd33 --- /dev/null +++ b/Course/XYQBiu写法说明/XYQBiu写法说明.json @@ -0,0 +1,218 @@ +//写法思路来自biubiu影院,海阔视界,xpath筛选。2022年9月22日 +//项目魔改至github开源仓库https://github.com/Tangsan99999/TvJar中的XBiubiu.java文件, +//本文档为完整模板,实际情况可按规则写法删去不需要的。 +{ + //规则名 + "title": "XYQBiu模板", + //作者 + "author": "聆听优美旋律", + //请求头UA,不填则默认okhttp/3.12.11,可填MOBILE_UA或PC_UA使用内置的手机版或电脑版UA + //多个请求头参数写法示例,"User-Agent$PC_UA#Referer$http://ww.baidu.com#Cookie$ser=ok", + //习惯查看手机源码写建议用手机版UA,习惯查看PC版源码写建议用电脑版UA + "UserAgent":"PC_UA", + //网页编码格式默认UTF-8编码,UTF-8,GBK,GB2312 + "Coding_format":"UTF-8", + //图片是否需要走代理,一般是图片无Referer参数不显示那种需要,全局设置,0否,1是。 + "PicNeedProxy":"0", + //是否开启获取首页数据,0关闭,1开启 + "homeContent":"0", + //分类链接起始页码,禁止负数和含小数点。 + "firstpage": "1", + //分类链接,{cateId}是分类,{catePg}是页码,第一页没有页码的可以这样写 第二页链接[firstPage=第一页的链接] + // https://www.libvio.me/show/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html + "class_url": "http://www.lezhutv.com/vodshow/{cateId}--------{catePg}---.html[firstPage=第一页不含页码的链接]", + //分类名,分类1&分类2&分类3 + "class_name": "电影&电视剧&综艺&动漫", + //分类名替换词,替换词1&替换词2&替换词3,替换词包含英文&的用两个中文&&代替,示例:&&id=0&&&id=1 + "class_value": "1&2&3&4", + //筛选数据,支持直写,clan://本地路径(可能有bug),http云端链接,标准json格式,参考xpath的筛选写法 + //填ext可以使用下面手动填写的筛选数据。 + "filterdata":{}, + + //!!!要使用下面的筛选数据,筛选数据那一定要填ext,"filterdata":"ext" + //子分类名称{cateId},第一子分类1&第一子分类2||第二子分类1&第二子分类2 + "fclass_name": "动作片&喜剧片||国产剧&日韩剧||空||国产动漫&日本动漫", + //分类名替换词,替换词1&替换词2&替换词3,替换词包含英文&的用两个中文&&代替,示例:&&id=0&&&id=1 + "fclass_value": "5&6||13&14||空||国产动漫&日本动漫", + //筛选类型名称{class} + "fcatelog_name":"爱情&喜剧&科幻", + //筛选类型替换词 + "fcatelog_value":"爱情&喜剧&科幻", + //地区名称{area},地区1&地区2&地区3 + "farea_name": "中国&新加坡", + //地区替换词,替换词1&替换词2&替换词3,替换词包含英文&的用两个中文&&代替,示例:&&id=0&&&id=1 + "farea_value": "中国&新加坡", + //年份名称{year},年份1&年份2&年份3 + "fyear_name": "2022&2021", + //年份替换词,替换词1&替换词2&替换词3 + "fyear_value": "2022&2021", + //语言名称,对应分类链接{lang},语言1&语言2&语言3 + "flang_name": "国语&英语", + //语言替换词,替换词1&替换词2&替换词3 + "flang_value": "国语&英语", + //排序名称{by},排序1&排序2&排序3 + "fsort_name": "时间&人气&评分", + //排序替换词,替换词1&替换词2&替换词3。 + "fsort_value": "time&hits&score", + + //分类页面截取数据模式,0为json,1为普通网页。 + "cat_mode": "1", + //分类json列表数组定位,最多支持3层,能力有限,不是所有页面都能支持 + "catjsonlist": "data.list", + //分类json片单图片 + "catjsonpic": "roomSrc", + //分类json片单标题 + "catjsonname": "roomName", + //分类json片单链接 + "catjsonid": "rid", + //分类json片单副标题 + "catjsonstitle":"nickname", + + //分类是否二次截取 + "cat_YN_twice": "0", + //分类二次截取前 + "cat_twice_pre": "空", + //分类二次截取后 + "cat_twice_suf": "", + + //分类数组截取前 + "cat_arr_pre": "", + //分类截取片单图片,截取前缀&&截取后缀 + "cat_pic": "data-original=\"&&\"", + //分类截取片单标题,截取前缀&&截取后缀 + "cat_title": "title=\"&&\"", + //分类截取片单副标题,截取前缀&&截取后缀 + "cat_subtitle": "", + //分类截取片单链接,截取前缀&&截取后缀 + "cat_url": "href=\"&&\"", + + //分类片单链接补前缀 + "cat_prefix": "http://www.lezhutv.com", + //分类片单链接补后缀 + "cat_suffix": "", + + //搜索专属请求头UA,不填则默认okhttp/3.12.11,可填MOBILE_UA或PC_UA使用内置的手机版或电脑版UA + //多个请求头参数写法示例,"User-Agent$PC_UA#Referer$http://ww.baidu.com#Cookie$ser=ok", + //习惯查看手机源码写建议用手机版UA,习惯查看PC版源码写建议用电脑版UA + "SUserAgent":"PC_UA", + //搜索链接,搜索关键字用{wd}表示,post请求的最后面加;post + //POST链接示例 http://www.lezhutv.com/index.php?m=vod-search;post + "search_url": "http://www.lezhutv.com/index.php/vod/search/page/1/wd/{wd}.html", + //POST搜索body,填写搜索关键字的键值,一般常见的是searchword和wd,不是POST搜索的可留空或删除。 + "sea_PtBody":"wd={wd}&search=", + + //搜索模式,0为json搜索,只支持列表在list数组里的,其它为网页截取。 + "search_mode": "0", + //搜索json列表数组定位,不填默认内置list,最多支持3层,能力有限,不是所有页面都能支持。 + "jsonlist": "list", + //搜索json片单图片 + "jsonpic": "pic", + //搜索json片单标题 + "jsonname": "name", + //搜索json片单链接 + "jsonid": "id", + //json片单副标题,这个很少有,预留着 + "jsonstitle":"", + + //搜索是否二次截取 + "sea_YN_twice": "0", + //搜索二次截取前 + "sea_twice_pre": "空", + //搜索二次截取后 + "sea_twice_suf": "", + + //搜索数组前缀 + "sea_arr_pre": "", + //搜索片单图片,截取前缀&&截取后缀 + "sea_pic": "data-original=\"&&\"", + //搜索片单标题,截取前缀&&截取后缀 + "sea_title": "title=\"&&\"", + //搜索片单链接,截取前缀&&截取后缀 + "sea_url": "href=\"&&\"", + //搜索副标题,截取前缀&&截取后缀 + "sea_subtitle": "", + + //搜索片单链接补前缀 + "search_prefix": "http://www.lezhutv.com", + //搜索片单链接补后缀,这个一般json搜索的需要 + "search_suffix": "", + + //片单链接是否直接播放,0否,1分类片单链接直接播放,2详情选集链接直接播放。 + //设置成直接播放后,后面3个参数请注意该留空的请务必留空。 + "force_play": "0", + //直接播放链接补前缀 + "play_prefix": "https://live.52sf.ga/huya/", + //直接播放链接补后缀,设置为#isVideo=true#可强制识别为视频链接 + "play_suffix": "#isVideo=true#", + //直接播放链接设置请求头,只对直链视频有效,每一组用#分开 + "play_header": "authority$ku.peizq.online#Referer$https://play.peizq.online", + + //演员和简介不支持使用jsoup写法,只支持关键字截取法 + //演员数据,截取前缀&&截取后缀 + "proj_actor": "主演:&&

", + //简介内容,截取前缀&&截取后缀 + "proj_plot": "简介:&&

", + + //线路截取区域,如果不需要请把tab_title或tab_arr_pre置空或者全部不要填。 + //线路是否二次截取 + "tab_YN_twice": "0", + //线路二次截取前 + "tab_twice_pre": "", + //线路二次截取后 + "tab_twice_suf": "", + + //线路截取数组前 + "tab_arr_pre": "空", + //线路截取数组后 + "tab_arr_suf": "空", + //线路标题,截取前缀&&截取后缀 + //排除线路写法示例==> "tab_title": "title\">&&[不包含:网盘,云盘]", + "tab_title": "空", + + //列表是否二次截取 + "list_YN_twice": "0", + //列表二次截取前 + "list_twice_pre": "空", + //列表二次截取后 + "list_twice_suf": "空", + //列表数组截取前,必须 + "list_arr_pre": "
    ", + + //集数是否二次截取 + "epi_YN_twice": "0", + //集数二次截取前 + "epi_twice_pre": "空", + //集数二次截取后 + "epi_twice_suf": "空", + //集数数组截取前,必须 + "epi_arr_pre": "", + //集数标题,截取前缀&&截取后缀 + "epi_title": ">&&<", + //集数链接,截取前缀&&截取后缀 + "epi_url": "href=\"&&\"", + //选集是否反转显示 + "epi_reverse": "0", + //集数链接补前缀 + "epiurl_prefix": "http://www.lezhutv.com", + //集数链接补后缀 + "epiurl_suffix": "", + + //下面几个参数请勿乱用。否则可能会有副作用。 + //分析网页源码中有'); +$content=getSubstr($content,'"url":"','",'); +$content=str_replace("\/","/",$content); + +if(strpos($content,"qq.com")>0 or strpos($content,"youku.com")>0 or strpos($content,"iqiyi.com")>0 or strpos($content,"mgtv.com")>0){ +$content=$vip.$content; +} +echo ''; +//==============================以上是直链分析代码======================================================= + + + +}else if ($wd<> null){ +//=============================以下是搜索代码======================================================= +if($searchable==0){ +echo 'php中未开启搜索'; +exit; +} +if($page==null){ +$page=1; +} +$geturl =str_replace("{wd}",urlencode($wd),$search); +$geturl =str_replace("{page}",$page,$geturl); +$html = curl_get($geturl,$gettype,$cookie); +if($searchtype==1){ +$dom = new DOMDocument(); +$html= mb_convert_encoding($html ,'HTML-ENTITIES',"UTF-8"); +$dom->loadHTML($html); +$dom->normalize(); +$xpath = new DOMXPath($dom); +$texts = $xpath->query($searchquery2); +$events = $xpath->query($searchquery); +$titleevents= $xpath->query($searchtitleAttr); +$linkevents= $xpath->query($searchlinkAttr); +$length=$events->length; +$result='{"code":1,"page":'.$page.',"pagecount":'. $page.',"total":'. $length.',"list":['; +for ($i = 0; $i < $events->length; $i++) { + $event = $events->item($i); + $text = $texts->item($i)->nodeValue; + $link = $linkevents->item($i)->nodeValue; + $title = $titleevents->item($i)->nodeValue; + if($searchurl1<>null){ + $link2 =getSubstr($link,$searchurl1,$searchurl2); + }else{ + $link2 =$link; + } + $result=$result.'{"vod_id":'.$link2.',"vod_name":"'.$title.'","vod_remarks":"'.$text.'"},'; +} +$result=substr($result, 0, strlen($result)-1).']}'; +echo $result; +}else{ +$arr=json_decode($html,true); +$arr_q1a=$arr[$searchquery]; +$m=count($arr_q1a); +$result='{"code":1,"page":'.$page.',"pagecount":'. $page.',"total":'. $m.',"list":['; + for($i=0;$i<$m;$i++){ + $title = $arr_q1a[$i][$searchtitleAttr]; +$link = $arr_q1a[$i][$searchlinkAttr]; +if($searchquery2<>null){ +$text = $arr_q1a[$i][$searchquery2]; +$result=$result.'{"vod_id":'.$link.',"vod_name":"'.$title.'","vod_remarks":"'.$text.'"},'; +}else{ +$result=$result.'{"vod_id":'.$link.',"vod_name":"'.$title.'"},'; +} + } + $result=substr($result, 0, strlen($result)-1).']}'; +echo $result; +} +//==============================以上是搜索代码======================================================= +}else{ +echo $movietype; +} + +function curl_get($url,$gettype2,$cookie2){ + // $header = array( + // 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36', + //); + if($gettype2==2){ + $data = file_get_contents($url); + return $data; + }else{ + $curl = curl_init(); + curl_setopt($curl, CURLOPT_URL, $url); + curl_setopt($curl, CURLOPT_HEADER, 0); + curl_setopt($curl, CURLOPT_TIMEOUT, 20); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent); + if($cookie2<>null){ + curl_setopt($curl, CURLOPT_COOKIE, $cookie2); + } + $ip=Rand_IP(); + curl_setopt($curl, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.$ip, 'CLIENT-IP:'.$ip)); + $data = curl_exec($curl); + if (curl_error($curl)) { + return "Error: ".curl_error($curl); + } else { + curl_close($curl); + return $data; + } + } +} + +function Rand_IP(){ + $ip2id= round(rand(600000, 2550000) / 10000); + $ip3id= round(rand(600000, 2550000) / 10000); + $ip4id= round(rand(600000, 2550000) / 10000); + $arr_1 = array("218","218","66","66","218","218","60","60","202","204","66","66","66","59","61","60","222","221","66","59","60","60","66","218","218","62","63","64","66","66","122","211"); + $randarr= mt_rand(0,count($arr_1)-1); + $ip1id = $arr_1[$randarr]; + return $ip1id.".".$ip2id.".".$ip3id.".".$ip4id; +} + + +function getSubstr($str, $leftStr, $rightStr) +{ +if($leftStr<>null && $rightStr<>null){ +$left = strpos($str, $leftStr); +$right = strpos($str, $rightStr,$left+strlen($left)); +if($left < 0 or $right < $left){ +return ''; +} +return substr($str, $left + strlen($leftStr),$right-$left-strlen($leftStr)); +}else{ +$str2=$str; +if($leftStr<>null){ +$str2=str_replace($leftStr,'',$str2); +} +if($rightStr<>null){ +$str2=str_replace($rightStr,'',$str2); +} +return $str2; +} +} + +function replacestr($str2){ +$test2=$str2; +$test2=str_replace(" ","",$test2); +$test2=str_replace(" ","",$test2); +$test2 = preg_replace('/\s*/', '', $test2); +return $test2; +} +?> \ No newline at end of file diff --git a/Course/xBPQ写法说明/xBPQ字段说明,具体写法参考其它写好的.json b/Course/xBPQ写法说明/xBPQ字段说明,具体写法参考其它写好的.json new file mode 100644 index 0000000..ecdc189 --- /dev/null +++ b/Course/xBPQ写法说明/xBPQ字段说明,具体写法参考其它写好的.json @@ -0,0 +1,112 @@ +{ +"作者": "奏者", +"站名": "两个BT", +"主页url": "https://www.bttwoo.com", +// 编码可以在网页源代码头部查看,常见编码是 utf-8 不填默认为 utf-8 +"编码": "utf-8", +// 使用默认,展示40个 "热门":"0",关闭 "热门":"n",展示n个 +"热门":"", +// 用于网页显示PC端的还是手机端,默认不填为PC端 +"请求头": "", +// 可同时使用 Referer 以及 User-Agent #分割 如下 +"头部集合": "User-Agent$Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1#Referer$https://ddys.tv", +// 用于显示首页推荐数量 填0不显示 不填显示全部 +"热门推荐": "", +// 这还不清楚 +"起始页": "1", +// 一般写体育直播才需要,请参考体育直播 18+ 网页🤣 +"直接播放": "0", +"倒序播放": "0", +"图片代理": "0", + +// 推荐页和分类页共用,截取前后使用&&分隔 +// 用于截取
  • &&
  • 的上级 +"二次截取": "", +// 用于截取影片上下头部 比如:
  • &&
  • 中间即为影片数据 +"数组": "", +// 用于截取图片地址 +"图片": "", +// 用于截取影片名称 +"标题": "", +// 用于截取更新集数 +"副标题": "", +// 截取详情页地址 +"链接": "", +// 填了主页URL 可不填少数情况下需要 +"链接前缀": "", + +"线路二次截取": "", +// 连续序号用-连接序号之间用#分隔 +// 如:"数组": "class=\"hl-list-item&&[不包含:1#9-11]", +"线路数组": "", +// 引号内添加线路替换#分隔多个替换项, +// 如:[替换:线路1>>腾腾#播放>>空#(*)$空] +"线路标题": "", +"线路合并":"1", + +"多线二次截取": "", +"多线数组": "", +"多线链接": "", + +// 状态=地区,可不填,填0关闭 +"状态":"", +"导演": "", +"主演": "", +"简介": "", + +"播放二次截取": "", +"播放数组": "", +"列表二次截取": "", +"播放列表": "", +// 排除不相关的标题 如:"播放标题": ">&&[不包含:素白白]", +"播放标题": "", +"播放链接": "", +"播放链接前缀": "", + +"免嗅": "0", +// 用于辅助嗅探,当视频播放链接非以下格式时可填写格式后缀或者域名 +"嗅探词":".m3u8#.mp4", +// 过滤无效播放链接,填域名或者中间段关键词 +"过滤词":"", +"播放请求头": "", + +// 搜索可包含页码,会把搜索到的全部内容展示出来 +// 模式1:截取模式,json模式很多网站不支持 +// 模式0:json模式,自动截取内容 +// 模式0:详情无数据可在 搜索链接前缀中填入详情链接如:"搜索后缀":"/detail/", +"搜索url": "https://fositv.com/vodsearch/{wd}----------{pg}---.html", +"搜索模式": "1", +"搜索二次截取": "", +"搜索数组": "", +"搜索图片": "", +"搜索标题": "", +"搜索链接": "", +"搜索链接前缀": "", + +// 第一页与其他页不一样的直接用英文中括号加在分类url末尾 +// {cateId}分类 {catePg}页码 {class}类型 {area}地区 {year}年份 {lang}语言 {by}排序 +"分类url": "", +// 分类内置数字和拼音的四在类型,可用键$值的方式直接填写在分类中,用#分隔,例 +// 分类": "电影$1#电视剧$2", +// 也可以用截取模式,截取模式同样可筛选和替换 +"分类": "电影$1#剧集$2#综艺$3#动漫$4", +// 自动截取分类名称以及链接 +"分类二次截取": "", +"分类数组": "", +"分类标题": "", +"分类ID": "", +// 下面每个网站都不同,不需要删除即可 +"类型": "1--动作片&喜剧片&爱情片&科幻片&恐怖片&剧情片&战争片&动画片&犯罪片&纪录片&音乐片&微电影&奇幻片&悬疑片||2--国产剧&日韩剧&欧美剧&港台剧&日剧&台剧&泰剧&越剧||3--大陆综艺&港台综艺&日韩综艺&欧美综艺||4--国产动漫&日本动漫&港台动漫&欧美动漫&其它动漫", +"类型值": "6&7&8&9&10&11&12&20&21&22&23&24&38&39||13&14&15&16&25&26&27&28||3&29&30&31&32||33&34&35&36&37", +// 通用剧情,修改下面的1-- 2-- 可选择对应的剧情 +// 下面顺序适合 电影$1#剧集$2#综艺$3#动漫$4 +"剧情": "1--喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&情色&伦理&动画&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&古装&历史&运动&农村&儿童||2--古装&战争&青春偶像&喜剧&家庭&犯罪&动作&奇幻&剧情&历史&经典&乡村&情景&商战&网剧&其他||3--选秀&情感&访谈&播报&旅游&音乐&美食&纪实&曲艺&生活&游戏互动&财经&求职||4--情感&科幻&热血&推理&搞笑&冒险&萝莉&校园&动作&机战&运动&战争&少年&少女&社会&原创&亲子&益智&励志&其他", +//地区一般默认1,有的大际是内地,按下格式替换多个使用尝试用||或#分隔 +"地区": "[替换:大陆>>内地]", +//年份默认1时,为2010-2022,自定义写法:起始年-截止年 +"年份": "1", +//排序默认1时,自定义写法:"排序": "时间$time#热门$hits", +"排序": "1", +//筛选1启动内置筛选0关闭,可使用clan://调用json筛选 +"筛选": "1" +} diff --git a/Course/xBPQ写法说明/xBPQ完整说明.txt b/Course/xBPQ写法说明/xBPQ完整说明.txt new file mode 100644 index 0000000..1a44030 --- /dev/null +++ b/Course/xBPQ写法说明/xBPQ完整说明.txt @@ -0,0 +1,112 @@ +{ +"作者": "劳思", +"站名": "小猫咪", +"主页url": "https://fositv.com", +"请求头": "", +"热门推荐": "1", +"起始页": "1", +"直接播放": "0", +"倒序播放": "0", +/** +*个别网站需要开启图片代理才能显示图片,比如素白白,一般情况下不能开 +*/ +"图片代理": "0", + +/** +*所有截取前后用&&连接 + +*截取信息末尾可用中括号附加筛选包含或不包含,用#分隔多个关键词,全部英文符号,例 +"分类数组": "class=\"nav\"&&[不包含:首页#资讯]", + +*可在截取信息末尾用中括号修改替换显示内容,替换与被替换之间用>>分隔,用#分隔多个替换项,替换为汉字空时表示不显示被替换词,被替换词可以用通配符*,比如(*),会替换掉包含括号的左右括号之间的全部字符,例 +"线路数组": "class=\"hl-tabs-btn hl-slide-swiper&&[替换:线路1>>腾腾#播放>>空#(*)$空]", + +*要筛选或替换某项内容在相应截取字段末尾,引号内加,例 +"播放标题": ">&&[不包含:素白白]", + +*数组筛选除关键词筛选外还可以筛选序号,连续序号用-连接序号之间用#分隔,例 +"数组": "class=\"hl-list-item&&[不包含:1#9-11]", +*/ +"二次截取": "", +"数组": "class=\"myui-vodlist__box&&", +"图片": "data-original=\"&&\"", +"标题": "title=\"&&\"", +"副标题": "class=\"pic-text text-right\">&&", +"链接": "href=\"&&\"", +"链接前缀": "", + +"线路二次截取": "", +"线路数组": "#playlist&&", +"线路标题": ">&&<", + +"状态":"
  • ", +"导演": "导演:&&&&", + +"播放二次截取": "", +"播放数组": "class=\"myui-content__list&&
", +"列表二次截取": "", +"播放列表": "", +"播放标题": ">&&<", +"播放链接": "href=\"&&\"", +"播放链接前缀": "https://fositv.com", +"免嗅": "0", +"嗅探词":".m3u8", +"过滤词":"", +"播放请求头": "", +/** +*搜索可包含页码,会把搜索到的全部内容展示出来 +*一般用模式1:截取模式,json模式很多网站不支持 +*/ +"搜索url": "https://fositv.com/vodsearch/{wd}----------{pg}---.html", +"搜索模式": "1", +"搜索二次截取": "", +"搜索数组": "class=\"myui-vodlist__thumb&&", +"搜索图片": "data-original=\"&&\"", +"搜索标题": "title=\"&&\"", +"搜索链接": "href=\"&&\"", +"搜索链接前缀": "", +/** +*第一页与其他页不一样的直接用英文中括号加在分类url末尾 +*/ +"分类url": "https://fositv.com/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", +/** +*分类内置数字和拼音的四在类型,可用键$值的方式直接填写在分类中,用#分隔,例 +"分类": "电影$1#电视剧$2", +*也可以用截取模式,截取模式同样可筛选和替换 +*/ +"分类": "数字||纪录$5", +"分类二次截取": "", +"分类数组": "", +"分类标题": "", +"分类ID": "", + +/** +*以下为筛选配置,需要网站本身没有筛选的无法使用 +*类型和剧情自定义方式相同:大类之间用||分隔,每个大类的头部用--分隔大类值,比如电影的值是1,电视剧的值是2时: +"类型": "1--动作$101#喜剧||2--武侠$202#爱情$203", +*/ +"类型": "1--动作$101#喜剧$102#爱情$103#科幻$104#剧情$105#悬疑$106#惊悚$107#恐怖$108#犯罪$109#谍战$110#冒险$111#奇幻$112#灾难$113#战争$114#动画$115#歌舞$116#历史$117#传记$118#纪录$119||2--武侠$201#喜剧$202#爱情$203#剧情$204#青春$205#悬疑$206#科幻$207#军事$208#警匪$209#谍战$210#奇幻$211#偶像$212#都市$215#古装$217#历史$218#神话$219||3--脱口秀$301#真人秀$302#搞笑$303#访谈$304#生活$305#晚会$306#美食$307#游戏$308#亲子$309#旅游$310#文化$311#体育$312#时尚$313#纪实$314#益智$315#演艺$316#歌舞$317#音乐$318#播报$319||4--热血$401#格斗$402#恋爱$403#美少女$404#校园$405#搞笑$406#LOLI$407#神魔$408#机战$409#科幻$410#真人$411#青春$412#魔法$413#神话$414#冒险$415#运动$416#竞技$417#童话$418#亲子$419#教育$420||5--人物$501#军事$502#历史$503#自然$504#探险$505#科技$506#文化$507#刑侦$508#社会$509#旅游$510", +"剧情": "0", +/** +*地区一般默认1就可以了,有的大际是中国大陆,就需要用替换法,与截取替换有区别:"地区$地区值"同时存在,缺一不可,各组替换之间用||分隔 +*/ +"地区": "替换[大陆$大陆>>中国大陆$中国大陆||香港$香港>>中国香港$中国香港||台湾$台湾>>中国台湾$中国台湾]", +/** +*年份默认1时,为2010-2022,自定义写法:起始年-截止年,如 +"年份": "2000-2020", +*/ +"年份": "", +/** +*排序默认1时,为英文模式,自定义写法: +"排序": "时间$time#热门$hits", +*/ +"排序": "1", +/** +*可在"筛选"字段填外部json地址,支持本地clan和和外网http +*可直接复制xp的json到"筛选"字段 +*"筛选"字段为1时,使用分项自定义,包括:类型cateId、剧情class、地区area、年份year、排序by,除类型外每个分项都有默认内置"1" +*/ +"筛选": "1" +} diff --git a/Course/xBPQ写法说明/xBPQ完整说明,很多字段可省略,甚至省到只剩分类url和播放数组.json b/Course/xBPQ写法说明/xBPQ完整说明,很多字段可省略,甚至省到只剩分类url和播放数组.json new file mode 100644 index 0000000..4b34b74 --- /dev/null +++ b/Course/xBPQ写法说明/xBPQ完整说明,很多字段可省略,甚至省到只剩分类url和播放数组.json @@ -0,0 +1,149 @@ +{ +"作者": "劳思", +"站名": "小猫咪", +"主页url": "https://fositv.com", + +手机截取的填手机,默认电脑,可以不填 +"请求头": "手机", + +"Referer": "", + +如果要加很多,用 +"头部集合": "键1$值1#键2$值2" + +cookie举例 +"头部集合":"User-Agent$Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36#Cookie$__51vcke__JkhsbY12QJTG77T8=9a5c68ea-7716-5787-b387-bd974c5b2a93; __51vuft__JkhsbY12QJTG77T8=1661856106935; mx_style=white; showBtn=true; __51uvsct__JkhsbY12QJTG77T8=3; PHPSESSID=j7nd1pl8v8b7790tg8m6umpd9r", + +热门推荐不再只是开关,也是数量设置,0,关,1就是显示1个,40就是显示40个,默认40,多了卡 +"热门推荐": "1", + +"起始页": "1", +"直接播放": "0", +"倒序播放": "0", + +个别网站需要开启图片代理才能显示图片,比如素白白,一般情况下不能开 +"图片代理": "0", + +所有截取前后用&&连接 + +截取信息末尾可用中括号附加筛选包含或不包含,用#分隔多个关键词,全部英文符号,例 +"分类数组": "class=\"nav\"&&[不包含:首页#资讯]", + +*可在截取信息末尾用中括号修改替换显示内容,替换与被替换之间用>>分隔,用#分隔多个替换项,替换为汉字空时表示不显示被替换词,被替换词可以用通配符*,比如(*),会替换掉包含括号的左右括号之间的全部字符,例 +"线路数组": "class=\"hl-tabs-btn hl-slide-swiper&&[替换:线路1>>腾腾#播放>>空#(*)$空]", + +<序号> + +要筛选或替换某项内容在相应截取字段末尾,引号内加,例 +"播放标题": ">&&[不包含:素白白]", + +*数组筛选除关键词筛选外还可以筛选序号,连续序号用-连接序号之间用#分隔,例 +"数组": "class=\"hl-list-item&&[不包含:1#9-11]", +*/ +"二次截取": "", +"数组": "class=\"myui-vodlist__box&&", +"图片": "data-original=\"&&\"", +"标题": "title=\"&&\"", +"副标题": "class=\"pic-text text-right\">&&", +"链接": "href=\"&&\"", +"链接前缀": "", + +不分线路就是把所有线路合到一块 +"线路合并": "1", + +线路排序只有加在线路数组后才生效,例: +[排序:蓝光三>优优][不包含:蓝光一#蓝光四][替换:蓝光二>>贼快] + +"线路二次截取": "", +"线路数组": "#playlist&&", +"线路标题": ">&&<", +"线路链接": "href=\"https://ddys.tv&&\"", + +"状态":"
  • ", +"导演": "导演:&&&&", + +"播放二次截取": "", +"播放数组": "class=\"myui-content__list&&", +"列表二次截取": "", +"播放列表": "", +"播放标题": ">&&<", +"播放链接": "href=\"&&\"", +"播放链接前缀": "https://fositv.com", + +//免嗅,要支持的站才行,免嗅是直链播放,不嗅探不解析,直接播放,有player_aaaa那种,有的加密怕player_aaaa无法直接播放,要关掉免嗅 +"免嗅": "0", + +"嗅探词": ".m3u8#m3u8?#.mp4#mp4?#ixigua#.czspp#.flv#.mp3#.m4a#?item/video#is_play_url=1#play/?#qianpailive", +"过滤词":"", +"播放请求头": "", +/** +*搜索可包含页码,会把搜索到的全部内容展示出来 +"搜索后缀":"/detail/", +*一般用模式1:截取模式,json模式很多网站不支持 +*/ +"搜索url": "https://fositv.com/vodsearch/{wd}----------{pg}---.html;post;searchword={wd}", +;post;键1$值1#键2$值2 +支持所有post,支持头部集合带cookie +搜索url:http://xxx.com/{cateId}-{catePg}.html;post;User-Agent$Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36#Cookie$__51vcke__JkhsbY12QJTG77T8=9a5c68ea-7716-5787-b387-bd974c5b2a93; __51vuft__JkhsbY12QJTG77T8=1661856106935; mx_style=white; showBtn=true; __51uvsct__JkhsbY12QJTG77T8=3; PHPSESSID=j7nd1pl8v8b7790tg8m6umpd9r + +"搜索模式": "1", +"搜索二次截取": "", +"搜索数组": "class=\"myui-vodlist__thumb&&
  • ", +"搜索图片": "data-original=\"&&\"", +"搜索标题": "title=\"&&\"", +"搜索链接": "href=\"&&\"", +"搜索副标题": "", +"搜索链接前缀": "", +/** +*第一页与其他页不一样的直接用英文中括号加在分类url末尾 +*/ +"分类url": "https://fositv.com/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", +/** +*分类内置数字和拼音的四在类型,可用键$值的方式直接填写在分类中,用#分隔,例 +"分类": "电影$1#电视剧$2", +*也可以用截取模式,截取模式同样可筛选和替换 +*/ +"分类": "数字||纪录$5", +"分类二次截取": "", +"分类数组": "", +"分类标题": "", +"分类ID": "", + +/** +*以下为筛选配置,需要网站本身没有筛选的无法使用 +*类型和剧情自定义方式相同:大类之间用||分隔,每个大类的头部用--分隔大类值,比如电影的值是1,电视剧的值是2时: +"类型": "1--动作$101#喜剧||2--武侠$202#爱情$203", +*/ +"类型": "1--动作$101#喜剧$102#爱情$103#科幻$104#剧情$105#悬疑$106#惊悚$107#恐怖$108#犯罪$109#谍战$110#冒险$111#奇幻$112#灾难$113#战争$114#动画$115#歌舞$116#历史$117#传记$118#纪录$119||2--武侠$201#喜剧$202#爱情$203#剧情$204#青春$205#悬疑$206#科幻$207#军事$208#警匪$209#谍战$210#奇幻$211#偶像$212#都市$215#古装$217#历史$218#神话$219||3--脱口秀$301#真人秀$302#搞笑$303#访谈$304#生活$305#晚会$306#美食$307#游戏$308#亲子$309#旅游$310#文化$311#体育$312#时尚$313#纪实$314#益智$315#演艺$316#歌舞$317#音乐$318#播报$319||4--热血$401#格斗$402#恋爱$403#美少女$404#校园$405#搞笑$406#LOLI$407#神魔$408#机战$409#科幻$410#真人$411#青春$412#魔法$413#神话$414#冒险$415#运动$416#竞技$417#童话$418#亲子$419#教育$420||5--人物$501#军事$502#历史$503#自然$504#探险$505#科技$506#文化$507#刑侦$508#社会$509#旅游$510", +"剧情": "0", +/** +*地区一般默认1就可以了,有的大际是中国大陆,就需要用替换法,与截取替换有区别:"地区$地区值"同时存在,缺一不可,各组替换之间用||分隔 +*/ +"地区": "替换[大陆$大陆>>中国大陆$中国大陆||香港$香港>>中国香港$中国香港||台湾$台湾>>中国台湾$中国台湾]", +/** +*年份默认1时,为2010-2022,自定义写法:起始年-截止年,如 +"年份": "2000-2020", +*/ +"年份": "", +/** +*排序默认1时,为英文模式,自定义写法: +"排序": "时间$time#热门$hits", +*/ +"排序": "1", +/** +*可在"筛选"字段填外部json地址,支持本地clan和和外网http +*可直接复制xp的json到"筛选"字段 +*"筛选"字段为1时,使用分项自定义,包括:类型cateId、剧情class、地区area、年份year、排序by,除类型外每个分项都有默认内置"1" +*/ +"筛选": "1" +} +筛选改版,在内置基础上追加和替换,规则统一成截取替换样式[替换:xxx>>yyy],增加新的筛选填写模式 + +"类型": "1--动作$101#喜剧$102#爱情$103#科幻$104#剧情$105#悬疑$106#惊悚$107#恐怖$108#犯罪$109#谍战$110#冒险$111#奇幻$112#灾难$113#战争$114#动画$115#歌舞$116#历史$117#传记$118#纪录$119||2--武侠$201#喜剧$202#爱情$203#剧情$204#青春$205#悬疑$206#科幻$207#军事$208#警匪$209#谍战$210#奇幻$211#偶像$212#都市$215#古装$217#历史$218#神话$219||3--脱口秀$301#真人秀$302#搞笑$303#访谈$304#生活$305#晚会$306#美食$307#游戏$308#亲子$309#旅游$310#文化$311#体育$312#时尚$313#纪实$314#益智$315#演艺$316#歌舞$317#音乐$318#播报$319||4--热血$401#格斗$402#恋爱$403#美少女$404#校园$405#搞笑$406#LOLI$407#神魔$408#机战$409#科幻$410#真人$411#青春$412#魔法$413#神话$414#冒险$415#运动$416#竞技$417#童话$418#亲子$419#教育$420||5--人物$501#军事$502#历史$503#自然$504#探险$505#科技$506#文化$507#刑侦$508#社会$509#旅游$510", + +可以这样 + +"类型": "1--全部&动作片&喜剧片&爱情片&科幻片&剧情片&恐怖片&战争片&惊悚片&犯罪片&冒险片&动画片&悬疑片&武侠片&奇幻片&其他片||2--电视剧&日韩剧&港台剧&欧美剧&短剧&其他剧", +"类型值": "1&6&7&8&9&10&11&12&20&21&22&23&24&25&26&27||13&14&15&16&28&29", \ No newline at end of file diff --git a/Course/xb_石榴json截取.json b/Course/xb_石榴json截取.json new file mode 100644 index 0000000..7dea35d --- /dev/null +++ b/Course/xb_石榴json截取.json @@ -0,0 +1,37 @@ +{ + "站名": "石榴电影", + "首页": "电影", + "分类url": "https://hei19.com/catalog?column={cateId}&sort=1&per_page=72&page={catePg}", +//注释部分都可省略 +// "分类": "电影&电视剧&综艺&动漫", +// "分类值": "1&2&3&4", + "二次截取": "type=\"application/json\">&&",//截取整个json + "数组": "props.pageProps.mediaData.data[]",//截取整个json,就要带完整路径,json数组处于最后位置时,[]可以省略 +// "图片": "cover", +// "标题": "name", +// "链接": "id", +// "副标题": "score", + "链接前缀": "https://hei19.com/detail/", + "搜索url": "https://hei19.com/search?type=1&keywords={wd}", + "搜索二次截取": "searchMovieList\":&&,\"searchStarList", + "搜索数组": "data", +// "搜索图片": "pic", +// "搜索标题": "name", +// "搜索链接": "id", + "搜索链接前缀": "https://hei19.com/detail/", + "播放二次截取": "videoDetail\":&&,\"recommendList",//截取部分json + "影片类型":"videoinfo.type", + "影片年代":"videoinfo.year", + "影片地区":"videoinfo.area", + "导演":"videoinfo.director[].name(💞️)", + "主演":"videoinfo.starring[].name(💞)", +//videoinfo.starring[].name(💞),表示取json对象"videoinfo"的json数组"director"的所有json对象的name属性值,()内容表示用💞分隔。 +//json数组可用下标指定,starring[3]表示数组中第三个json对象,starring[3,]表示数组中第三至最后json对象,starring[,3]表示数组中第一至第三json对象,starring[2,5]表示数组中第二至第五json对象。 +//处于中间位置的json数组,[]不能省略。 + "简介":"videoinfo.introduction", + "播放列表": "videoepisode.data[]"//处于最后位置的json数组,[]可以省略 +// "播放标题": "name", +// "播放链接": "url", +// "嗅探词": ".mp4#.m3u8#.flv", +// "过滤词": ".html#=http" +} \ No newline at end of file diff --git a/Course/修改首页源列数.md b/Course/修改首页源列数.md new file mode 100644 index 0000000..4f639f3 --- /dev/null +++ b/Course/修改首页源列数.md @@ -0,0 +1,15 @@ + +直播提示:开源测试软件,请勿商用以及播放违法内容 + + app/src/main/java/com/github/tvbox/osc/ui/activity/LivePlayActivity.java + +471行 + +首页换源动态列数 + +app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java + +609行 + spanCount = (int)Math.floor(sites.size()/60); + + spanCount = Math.min(spanCount, 2); diff --git a/Course/多JAR格式模版.txt b/Course/多JAR格式模版.txt new file mode 100644 index 0000000..7408ad7 --- /dev/null +++ b/Course/多JAR格式模版.txt @@ -0,0 +1,275 @@ +{ + "spider":"https://gitea.com/wjj415/wjj/raw/branch/main/01.jar;md5;d3418c225503499e7a8e97b229d8d576 +", + +"jars": +{ +"668":"https://gitea.com/wjj415/wjj/raw/branch/main/668.jar;md5;8c9dd15a0e5a8fa5537ab1ddabb5cfa2", +"qj0729":"https://gitea.com/wjj415/wjj/raw/branch/main/qj0729.jar;md5;80bbc2d2f8bd207815aa717e5a199b14", +"ts":"" + +}, + + + "lives":[{"group":"redirect","channels":[{"name":"live","urls":["proxy://do=live&type=txt&ext=aHR0cDovL2hvbWUuanVuZGllLnRvcDo4MS9DYXQvdHYvbGl2ZS50eHQ="]}]}], + + "sites":[ + + + + + +{"key":"csp_Kunyu77","name":"🥇七七(SP)","type":3,"api":"csp_Kunyu77","searchable":1,"quickSearch":1,"filterable":1}, +{"key":"Smdyy_spider" ,"name":"🐞神马影视","api":"csp_Smdyy","type":3,"filterable":1,"quickSearch":1,"searchable":1,"ext":"","jar":"qj0729"}, + + +{"key":"KanSJ_spider","name":"🐞看视界","api":"csp_KanSJ","type":3,"filterable":1,"quickSearch":1,"searchable":1,"ext":"","jar":"qj0729"}, + +{"key":"293视频","name":"🐞293视频","type":3,"api":"csp_SP293","searchable":1,"quickSearch":1,"filterable":1,"jar":"qj0729"}, +{"key":"3EDY","name":"🐞3EDY(EXO)","type":3,"api":"csp_EEEDY","searchable":1,"quickSearch":1,"filterable":1,"jar":"qj0729"}, + + {"key":"酷猫","name":"🐱酷猫","type":3,"api":"csp_Kmys","searchable":1,"quickSearch":1,"filterable":1,"jar":"668"}, + {"key":"追剧喵","name":"🥇追剧喵(SP)","type":3,"api":"csp_ZJMiao","searchable":1,"quickSearch":1,"filterable":1}, + {"key":"csp_hbys","name":"🥇简影(SP)","api":"csp_JianYing","type":3,"filterable":1,"quickSearch":1,"searchable":1,"ext":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7IklEIjoyNTU5OSwiQ3JlYXRlZEF0IjoiMjAyMi0wNy0xN1QwOTo1OTowMy43MzIrMDg6MDAiLCJVcGRhdGVkQXQiOiIyMDIyLTA3LTE3VDA5OjU5OjAzLjczMiswODowMCIsIkRlbGV0ZWRBdCI6bnVsbCwidXNlcl9lbWFpbCI6ImppYW55aW5nOTk5QHFxLmNvbSIsInVzZXJfbmFtZSI6IiIsInVzZXJfcHdkIjoiIiwidXNlcl9pZCI6IjA1NzRiMzAyLTc5MzUtNGFlZi1hOTBkLTFlZjdjMTU3Y2U2MyIsInVzZXJfYW5zd2VyIjoiIiwibG9ja19pcyI6IkZhbHNlIiwiaXNfdHYiOiIiLCJpc19hZG1pbiI6IkZhbHNlIiwicmVnX3RpbWUiOm51bGwsInJlZ19rZXkiOiIiLCJ0dl90aW1lIjpudWxsLCJ0dl9rZXkiOiIifSwiZXhwIjoxNjU4NjI3OTQ2LCJpc3MiOiJBbGZyZWRvIE1lbmRvemEifQ.u2bRjVQAb1DisJYFPmkwPTi_kpaLoOR20hvZ34lVTDY","jar":"668"}, + {"key":"csp_Kuaikan","name":"🥇快看(SP)","type":3,"api":"csp_Kuaikan","searchable":1,"quickSearch":1,"filterable":1,"jar":"668"}, + {"key":"csp_CZSPP","name":"🥇厂长(SP)","type":3,"api":"csp_Czsapp","searchable":1,"quickSearch":1,"filterable":1,"jar":"668"}, + {"key":"在线之家","name":"🏠在线之家","type":3,"api":"csp_Zxzj","searchable":1,"quickSearch":1,"filterable":1,"jar":"668"}, + {"key": "Ikan","name": "🥇爱看(SP)","type": 3,"api": "csp_IKan","searchable": 1,"quickSearch": 1,"filterable":1}, + {"key":"csp_Wmkk","name":"🥇完美看看(SP)","api":"csp_Wmkk","type":3,"filterable":1,"quickSearch":1,"searchable":1,"jar":"qj0729"}, + {"key":"csp_Tkys","name":"🥇天空(SP)","type":3,"api":"csp_Tkys","searchable":1,"quickSearch":1,"filterable":1,"jar":"668"}, + + { + "key": "Ekan_spider", + "name": "🐷Ekan", + "api": "csp_Ekan", + "type": 3, + "filterable": 1, + "quickSearch": 1, + "searchable": 1 + }, + { + "key": "csp_QQ", + "name": "🐷腾讯", + "type": 3, + "api": "csp_QQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_MGTV", + "name": "🐷芒果", + "type": 3, + "api": "csp_MGTV", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_IQIYI", + "name": "🐷爱奇艺", + "type": 3, + "api": "csp_IQIYI", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + + {"key":"csp_LiteApple","name":"🥇小苹果(SP)","type":3,"api":"csp_LiteApple","searchable":1,"quickSearch":1,"filterable": 1,"jar":"668"}, + {"key":"csp_SP361","name":"🥉360(SP)","type":3,"api":"csp_SP360","searchable":1,"quickSearch":1,"filterable":1,"jar":"qj0729"}, + {"key":"csp_Auete","name":"🥇Auete(SP)","type":3,"api":"csp_Auete","searchable":1,"quickSearch":1,"filterable":1,"jar":"668"}, + {"key":"csp_Bttoo","name": "🥇Bttwo(SP)","type":3,"api":"csp_Bttoo","searchable":1,"quickSearch":1,"filterable":1,"jar":"668" } +, + {"key":"csp_Cokemv","name":"🥇Cokemv(SP)","type":3,"api":"csp_Cokemv","searchable":1,"quickSearch":1,"filterable":1,"jar":"668"}, + {"key": "Lib","name": "🥇Libvio(SP)","type": 3,"api": "csp_Lib","searchable": 0,"quickSearch": 1,"filterable": 1,"jar":"668"}, + + + + { + "key": "csp_BBB", + "name": "🐮哔哩套餐", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "https://gitea.com/wjj415/jn/raw/branch/main/Bili.json" + }, + { + "key": "Gitcafe", + "name": "小纸条", + "type": 3, + "api": "csp_Gitcafe", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://gitea.com/qiaoji/jar/raw/branch/main/token.txt" + }, + + { + "key": "9E03", + "name": "🐍9E03", + "type": 3, + "api": "csp_AppYsV2", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://vod.9e03.com/lvdou_api.php/v1.vod", + "jar":"668" + }, + {"key":"FindZY","name":"🎲找资源","type":3,"api":"csp_FindZY","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://gitea.com/qiaoji/jar/raw/branch/main/token.txt"}, + {"key":"AliPS","name":"🎲 盘 搜","type":3,"api":"csp_AliPanSou","searchable":1,"quickSearch":1,"filterable":1,"ext":"https://gitea.com/qiaoji/jar/raw/branch/main/token.txt"}, + {"key": "push_agent","name":"🚀 推 送","type":3,"api":"csp_PushAgent","searchable":0,"quickSearch":0,"filterable":0,"ext":"https://gitea.com/qiaoji/jar/raw/branch/main/token.txt"}, + {"key":"csp_Nbys","name":"🚧泥巴(跨栏)","type":3,"api":"csp_Nbys","searchable":1,"quickSearch":1,"filterable":1}, + {"key":"If101","name":"🚧If101(跨栏)","type":3,"api":"csp_If101","searchable":1,"quickSearch":1,"filterable":1}, + + {"key":"考拉直链","name":"🎍考拉直链","type":1,"api":"https://ikaola.tv/api.php/provide/vod/","searchable":1,"quickSearch":1}, +## XB系列 + {"key": "csp_555电影","name": "🥈555电影(XB)","type": 3,"api": "csp_XBiubiu","searchable": 1,"quickSearch": 1,"filterable": 0,"ext": "http://home.jundie.top:81/Cat/MaooXB/555电影.json"}, + {"key":"csp_biubiu_瓜皮TV","name":"🥈瓜皮TV(XB)","type":3,"api":"csp_XBiubiu","searchable":1,"quickSearch":1,"filterable":0,"ext":"http://home.jundie.top:81/Cat/MaooXB/瓜皮TV.json"}, + {"key":"csp_biubiu_乐猪影视","name":"🥈乐猪影视(XB)","type":3,"api":"csp_XBiubiu","searchable":1,"quickSearch":1,"filterable":0,"ext":"http://home.jundie.top:81/Cat/MaooXB/乐猪影视.json"}, + {"key":"csp_biubiu_影视工厂","name":"🥈影视工厂(XB)","type":3,"api":"csp_XBiubiu","searchable":1,"quickSearch":1,"filterable":0,"ext":"http://home.jundie.top:81/Cat/MaooXB/影视工厂.json"}, + {"key":"csp_biubiu_F7好看剧","name":"🥈F7好看剧(XB)","type":3,"api":"csp_XBiubiu","searchable":1,"quickSearch":1,"filterable":0,"ext":"http://home.jundie.top:81/Cat/MaooXB/F7好看剧.json"}, + +## XPath系列 + {"key":"csp_xpath_dm84","name":"🥈动漫巴士(XP)","type":3,"api":"csp_XPathFilter","searchable":1,"quickSearch":1,"filterable":0,"ext":"http://home.jundie.top:81/Cat/MaooXP/dm84.json"}, + {"key":"csp_xpath_ddg","name":"🥈达达龟(XPF)","type":3,"api":"csp_XPathMacFilter","searchable":1,"quickSearch":1,"filterable":1,"ext":"http://home.jundie.top:81/Cat/MaooXP/dadagui.json"}, + {"key":"csp_xpath_bdcl","name":"🥈哔滴磁力(XPF)","type":3,"api":"csp_XPath","searchable":1,"quickSearch":1,"filterable":1,"ext":"http://home.jundie.top:81/Cat/MaooXP/bidid.json"}, + {"key":"XP_yhdm","name":"🥈樱花动漫","type":3,"api":"csp_XPath","searchable":1,"quickSearch":1,"filterable":0,"ext":"http://home.jundie.top:81/Cat/MaooXP/yinghua.json"}, + + #官采资源 + + {"key":"8090资源","name":"🥉8090资源(官)","type":1,"api":"http://zy.yilans.net:8090/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"天堂资源","name":"🥉天堂资源(官)","type":1,"api":"http://vipmv.cc/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"M3U8.TV资源","name":"🥉M3U8.TV资源(官)","type":1,"api":"http://www.zycaiji.net:7788/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"八戒官采","name":"🥉八戒官采(官)","type":1,"api":"https://www.bajiezy.xyz/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"土狗360","name":"🥉土狗360(官)","type":1,"api":"http://360.tgzy.cc/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"忆梦","name":"🥉忆梦(官)","type":1,"api":"http://anltv.cn/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"木子看剧","name":"🥉木子看剧(官)","type":1,"api":"https://mzkj.maccms.cf/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"小猫咪","name":"🥉小猫咪(官)","type":1,"api":"http://zy.xiaomaomi.cc/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"诺讯资源","name":"🥉诺讯资源(官)","type":1,"api":"http://caiji.nxflv.com/api.php/provide/vod/","searchable":1,"quickSearch":1}, {"key":"看猫","name":"🥉看猫(官)","type":1,"api":"http://124.222.83.15:88/api.php/provide/vod/","searchable":1,"quickSearch":1}, + + #切片资源 + {"key":"金鹰资源","name":"金鹰资源(切)","type":1,"api":"http://jinyingzy.com/provide/vod","searchable":1,"quickSearch":1}, + {"key":"冠军资源","name":"冠军资源(切)","type":1,"api":"https://www.cmpzy.com/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"FOX资源","name":"FOX资源(切)","type":1,"api":"https://api.foxzyapi.com/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"量子资源","name":"量子资源(切)","type":1,"api":"http://cj.lziapi.com/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"卧龙资源","name":"卧龙资源(切)","type":1,"api":"https://collect.wolongzyw.com/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"樱花资源","name":"樱花资源(切)","type":1,"api":"https://m3u8.apiyhzy.com/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"易看资源","name":"易看资源(切)","type":1,"api":"https://api.yikanapi.com/api.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"新浪资源","name":"新浪资源(切)","type":1,"api":"http://api.xinlangapi.com/xinlangapi.php/provide/vod/","searchable":1,"quickSearch":1}, + {"key":"快播资源","name":"快播资源(切)","type":1,"api":"http://www.kuaibozy.com/api.php/provide/vod/","searchable":1,"quickSearch":1} + + ], + + "parses":[ + {"name":"解析聚合","type":3,"url":"Demo"}, + {"name":"Json并发","type":2,"url":"Parallel"}, + {"name":"Json轮询","type":2,"url":"Sequence"}, + + +{ + "name": "ceshi", + "type": 1, + "url": "http://27.124.4.42:4567/jhjson/ceshi.php?url=", + "ext": {"flag": ["qq","qiyi","mgtv","youku","letv","sohu","xigua","1905"]} + }, + { + "name":"293","type":1,"url":"http://47.98.234.2:7768/api.php?url=","ext":{"flag":["qq","qiyi","mgtv","youku","letv","sohu","xigua","1905"],"header":{"User-Agent":"Dart/2.14 (dart:io)"}} + }, + { + "name":"nxflv","type":1,"url":"https://vip.nxflv.com/home/api?uid=701203&key=bltuyCEFKLTX013679&url=" + }, + { + "name":"fuqi", + "type":1, + "url":"https://play.fuqizhishi.com/maotv/API.php?appkey=xiongdimenbieguaiwodingbuzhulegailekey07201538&url=" + }, + { + "name":"yemu", + "type":0, + "url":"https://www.yemu.xyz/?url=" + }, + { + "name":"gai", + "type":0, + "url":"https://www.gai4.com/?url=" + }, + +{"name": "Web解析","type": 0,"url": "https://chaxun.truechat365.com/?url=","ext": {"flag": ["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name": "爱豆解析","type": 0,"url": "https://jx.aidouer.net/?url="}, +{"name": "冰豆解析","type": 0,"url": "https://bd.jx.cn/?url="}, + {"name":"fuqi","type":1,"url":"https://play.fuqizhishi.com/maotv/API.php?appkey=xiongdimenbieguaiwodingbuzhulegailekey07201538&url="}, + {"name":"盘古","type":0,"url":"https://www.m3u8.tv.cdn.8old.cn/jx.php?url="}, + {"name":"左岸","type":1,"url":"http://110.42.2.115:880/analysis/json/?uid=2100&my=fgjnoqstLMRUZ03489&url=","ext":{"flag":["qq","qiyi","mgtv","youku","letv","sohu","xigua","1905","优播线路","腾播线路"],"header":{"User-Agent":"Dart/2.14 (dart:io)"}}}, + { "name": "太空", "type": 1, "url": "http://124.222.68.182/jiexi/4kJX.php/?url=", "ext": { "flag": [ "qq", "腾讯", "qiyi", "爱奇艺", "奇艺", "youku", "优酷", "sohu", "搜狐", "letv", "乐视", "mgtv", "芒果", "CL4K", "renrenmi", "ltnb", "bilibili", "1905", "xigua" ] } }, + {"name":"未知","type":1,"url":"http://106.52.218.221:88/?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, + {"name":"随便1","type":1,"url":"http://cl.yjhan.com:8090/home/api?type=ys&uid=821518&key=aghlmnyBFIJMPRX489&url="}, + {"name":"随便2","type":1,"url":"https://www.nfjx.xyz/home/api?type=ys&uid=5767995&key=ijkmovxDEHIJPQRW69&url="}, + {"name":"LTRX","type":1,"url":"https://svip.spchat.top/api/?type=ys&key=bKemW41JnxmQb4l67h&url=","ext":{"flag":["rx"]}}, + {"name":"OJBK","type":0,"url":"https://jmwl.qd234.cn/v/?v=","ext":{"flag":["ltnb","renrenmi","rx","xfyun","muxm3u8","xigua","xueren","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","bilibili","哔哩哔哩","哔哩","pptv","PPTV","sohu","letv"]}}, + {"name":"parwix1","type":0,"url":"https://jx.parwix.com:4433/player/?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, + {"name":"parwix2","type":0,"url":"https://jx.parwix.com:4433/player/analysis.php?v=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, + {"name":"线路m9","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1931000&key=gktuvyzABEORSYZ135&url="}, + {"name":"线路NX","type":1,"url":"https://vip.nxflv.com/home/api?uid=701203&key=bltuyCEFKLTX013679&url="}, + {"name":"①秒播","type":1,"url":"https://jx.hfyrw.com/mao.go?url="}, + {"name":"②秒播","type":1,"url":"http://27.124.4.42:4567/jhjson/ceshi.php?url=","ext":{"flag":["qiyi","qq","letv","sohu","youku","mgtv","bilibili","wasu","xigua","1905"]}}, + {"name":"③秒播","url": "http://81.71.48.249:4456/jsonc/293shipin.php?url=","type": 1,"i": "77", + "ext":{"flag":["qiyi","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果"]} + }, + {"name":"④秒播","type":1,"url":"http://106.55.234.91:4433/?url=","ext":{"flag":["qiyi","qq","letv","sohu","youku","mgtv","bilibili","wasu","xigua","1905"]}}, + {"name": "⑤秒播","type": 1,"url": "http://81.71.48.249:4456/jsonc/longxia.php?url=","ext": {"flag": ["qq","qiyi","mgtv","youku","letv","sohu","xigua","1905"],"header": {"User-Agent": "Dart/2.14 (dart:io)"}}}, + {"name":"⑦秒播","type":1,"url":"https://app.okmedcos.com/4k/?url="}, + {"name":"⑧秒播","type":1,"url":"https://jie.1z1.cc/api/?key=HdMmTMfyf1uTOQUL0b&url="}, + {"name":"Pro","type":1,"url":"http://api.vip123kan.vip/?url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, + {"name":"2","type":1,"url":"https://jx.mczdyw.com/xg.php?url=","ext":{"flag":["mgtv","芒果"]}}, + {"name":"3","type":1,"url":"https://www.aiaine.com/api/?key=kVqmG5dAQ5dZTcECw8&url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, + {"name":"4","type":1,"url":"https://svip.rongxingvr.top/api/?key=niBgMGXVdCQhsmeEBK&url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, + {"name":"8","type":1,"url":"https://app.iminna.com/jx/?url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, + {"name":"飓风影院2","type":1,"url":"https://vvip.funsline.cn/api/?key=3xWfEoDf4V9p9Y20CR&url=","ext":{"flag":["ziqie","youku","优酷","qiyi","爱奇艺","奇艺","mgtv","芒果","qq","腾讯"]}}, + {"name":"我爱电影网","type":1,"url":"https://jhpc.manduhu.com/j1217.php?url=","ext":{"flag":["qiyi","爱奇艺","奇艺","mgtv","芒果","youku","优酷","pptv","PPTV"]}}, + {"name":"王牌","type":1,"url":"https://za.kuanjv.com/?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","搜狐","sohu","letv","乐视","bilibili","哔哩哔哩","哔哩","xigua","西瓜"]}}, + {"name":"盘古解析","type":1,"url":"https://json.pangujiexi.com:12345/json.php?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果"]}}, + {"name":"欢雨","type":1,"url":"http://www.youhuifuligou.com/json/?id=7&url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","letv","乐视","xigua","西瓜"]}} + ], + "flags":["youku","qq","iqiyi","qiyi","letv","sohu","tudou","pptv","mgtv","wasu","bilibili","renrenmi"], + "ijk":[ + {"group":"软解码","options":[ + {"category":4,"name":"opensles","value":"0"}, + {"category":4,"name":"overlay-format","value":"842225234"}, + {"category":4,"name":"framedrop","value":"1"}, + {"category":4,"name":"soundtouch","value":"1"}, + {"category":4,"name":"start-on-prepared","value":"1"}, + {"category":1,"name":"http-detect-range-support","value":"0"}, + {"category":1,"name":"fflags","value":"fastseek"}, + {"category":2,"name":"skip_loop_filter","value":"48"}, + {"category":4,"name":"reconnect","value":"1"}, + {"category":4,"name":"enable-accurate-seek","value":"0"}, + {"category":4,"name":"mediacodec","value":"0"}, + {"category":4,"name":"mediacodec-auto-rotate","value":"0"}, + {"category":4,"name":"mediacodec-handle-resolution-change","value":"0"}, + {"category":4,"name":"mediacodec-hevc","value":"0"}, + {"category":1,"name":"dns_cache_timeout","value":"600000000"} + ]}, + {"group":"硬解码","options":[ + {"category":4,"name":"opensles","value":"0"}, + {"category":4,"name":"overlay-format","value":"842225234"}, + {"category":4,"name":"framedrop","value":"1"}, + {"category":4,"name":"soundtouch","value":"1"}, + {"category":4,"name":"start-on-prepared","value":"1"}, + {"category":1,"name":"http-detect-range-support","value":"0"}, + {"category":1,"name":"fflags","value":"fastseek"}, + {"category":2,"name":"skip_loop_filter","value":"48"}, + {"category":4,"name":"reconnect","value":"1"}, + {"category":4,"name":"enable-accurate-seek","value":"0"}, + {"category":4,"name":"mediacodec","value":"1"}, + {"category":4,"name":"mediacodec-auto-rotate","value":"1"}, + {"category":4,"name":"mediacodec-handle-resolution-change","value":"1"}, + {"category":4,"name":"mediacodec-hevc","value":"1"}, + {"category":1,"name":"dns_cache_timeout","value":"600000000"} + ]} + ], + "ads":["mimg.0c1q0l.cn","www.googletagmanager.com","www.google-analytics.com","mc.usihnbcq.cn","mg.g1mm3d.cn","mscs.svaeuzh.cn","cnzz.hhttm.top","tp.vinuxhome.com","cnzz.mmstat.com","www.baihuillq.com","s23.cnzz.com","z3.cnzz.com","c.cnzz.com","stj.v1vo.top","z12.cnzz.com","img.mosflower.cn","tips.gamevvip.com","ehwe.yhdtns.com","xdn.cqqc3.com","www.jixunkyy.cn","sp.chemacid.cn","hm.baidu.com","s9.cnzz.com","z6.cnzz.com","um.cavuc.com","mav.mavuz.com","wofwk.aoidf3.com","z5.cnzz.com","xc.hubeijieshikj.cn","tj.tianwenhu.com","xg.gars57.cn","k.jinxiuzhilv.com","cdn.bootcss.com","ppl.xunzhuo123.com","xomk.jiangjunmh.top","img.xunzhuo123.com","z1.cnzz.com","s13.cnzz.com","xg.huataisangao.cn","z7.cnzz.com","xg.huataisangao.cn","z2.cnzz.com","s96.cnzz.com","q11.cnzz.com","thy.dacedsfa.cn","xg.whsbpw.cn","s19.cnzz.com","z8.cnzz.com","s4.cnzz.com","f5w.as12df.top","ae01.alicdn.com","www.92424.cn","k.wudejia.com","vivovip.mmszxc.top","qiu.xixiqiu.com","cdnjs.hnfenxun.com","cms.qdwght.com"], +// "wallpaper":"https://picsum.photos/1280/720/?blur=10" + "wallpaper":"http://www.kf666888.cn/api/tvbox/img" +} \ No newline at end of file diff --git a/Course/多地址格式,也可认为是仓库.json b/Course/多地址格式,也可认为是仓库.json new file mode 100644 index 0000000..9127e9d --- /dev/null +++ b/Course/多地址格式,也可认为是仓库.json @@ -0,0 +1,21 @@ +{ + "api":[ +{"key":"@Pro","name":"@Pro", + "ext":"https://share.nite07.com/api/v3/file/source/18035/BOX3.json?sign=m9tt9AehwEjJDDEvTovp-zk4ckhrAj89uRP02TRq2_M%3D%3A0", + "date":"2022-08-29"}, +{"key":"@TV","name":"@TV", + "ext":"https://gitcode.net/qq_26898231/TVBox/-/raw/main/tv.json", + "date":"2022-08-29"}, +{"key":"BOX线路","name":"BOX线路", + "ext":"http://52bsj.vip:81/api/v3/file/get/29899/box2.json?sign=3cVyKZQr3lFAwdB3HK-A7h33e0MnmG6lLB9oWlvSNnM%3D%3A0", + "date":">默认推荐"}, +{"key":"刚刚线路","name":"刚刚线路", + "ext":"http://刚刚.live/猫 ", + "date":"♻️>推荐线路"}, +{"key":"️哔哩学习线路","name":"️哔哩学习线路", + "ext":"http://52bsj.vip:81/api/v3/file/get/41063/bili.json?sign=TxuApYZt6bNl9TzI7vObItW34UnATQ4RQxABAEwHst4%3D%3A0", + "date":">娱乐学习线路"}, +{"key":"alist+网盘综合线路","name":"alist+网盘综合线路", + "ext":"http://52bsj.vip:81/api/v3/file/get/45055/alist.json?sign=5hJ60J-4XMmtamakqYzTiaX_8-1vwxpGeN0WcRVDsh8%3D%3A0", + "date":">4K搜索专用"}] +} \ No newline at end of file diff --git a/Course/腾讯热搜.json b/Course/腾讯热搜.json new file mode 100644 index 0000000..e25271f --- /dev/null +++ b/Course/腾讯热搜.json @@ -0,0 +1,24 @@ +"hotSearch": [{ + "name": "mobilesearch", + "request": { + "method": "GET", + "header": [ + { + "key": "Referer", + "value": "https://v.qq.com/" + } + ], + "url": { + "raw": "https://node.video.qq.com/x/api/hot_mobilesearch?channdlId=0&_={time}" + } + }, + "response": { + "result": "$.data.itemList", + "data": [ + { + "key": "keyword", + "value": "title" + } + ] + } +}], \ No newline at end of file diff --git a/Course/自定义接口模板.txt b/Course/自定义接口模板.txt new file mode 100644 index 0000000..757b3f9 --- /dev/null +++ b/Course/自定义接口模板.txt @@ -0,0 +1,69 @@ +{ + "author": "", + "name": "自定义规则讲解演示", + "url": "https://xxxx.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + //"User": "User-Agent:Dart/2.14 (dart:io)", + //"shouye": "1", + + "fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/#记录$/index.php/vod/show/id/5/page/#国产剧$/index.php/vod/show/id/201/page/#港台剧$/index.php/vod/show/id/202/page/#日韩剧$/index.php/vod/show/id/203/page/#欧美剧$/index.php/vod/show/id/204/page/#海外剧$/index.php/vod/show/id/205/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"pic\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"zu", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "

    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 diff --git a/Course/蜻蜓FM.txt b/Course/蜻蜓FM.txt new file mode 100644 index 0000000..016a34d --- /dev/null +++ b/Course/蜻蜓FM.txt @@ -0,0 +1,640 @@ +Radio,#genre# +500首华语经典,http://ls.qingting.fm/live/3412131.m3u8?bitrate=64 +CRI 环球资讯广播 FM90.5,http://sk.cri.cn/905.m3u8 +CRI 中文环球广播,http://sk.cri.cn/hyhq.m3u8 +CRI 南海之声,http://sk.cri.cn/nhzs.m3u8 +CRI Hit FM FM88.7,http://sk.cri.cn/887.m3u8 +CRI 轻松调频 FM91.5,http://sk.cri.cn/915.m3u8 +CRI NEWS Plus AM846,http://sk.cri.cn/am846.m3u8 +CRI NEWS Plus AM1008,http://sk.cri.cn/am1008.m3u8 +CNR 经济之声,http://ngcdn002.cnr.cn/live/jjzs/index.m3u8 +CNR 中国之声,http://ngcdn001.cnr.cn/live/zgzs/index.m3u8 +CNR 音乐之声,http://ngcdn003.cnr.cn/live/yyzs/index.m3u8 +CNR 经典音乐广播 101.8,http://ngcdn004.cnr.cn/live/dszs/index.m3u8 +CNR 中华之声,http://ngcdn005.cnr.cn/live/zhzs/index.m3u8 +CNR 神州之声,http://ngcdn006.cnr.cn/live/szzs/index.m3u8 +CNR 华夏之声,http://ngcdn007.cnr.cn/live/hxzs/index.m3u8 +CNR 香港之声,http://ngcdn008.cnr.cn/live/xgzs/index.m3u8 +CNR 民族之声,http://ngcdn009.cnr.cn/live/mzzs/index.m3u8 +CNR 文艺之声,http://ngcdn010.cnr.cn/live/wyzs/index.m3u8 +CNR 老年之声,http://ngcdn011.cnr.cn/live/lnzs/index.m3u8 +CNR 中国乡村之声,http://ngcdn017.cnr.cn/live/xczs/index.m3u8 +CNR 哈语广播,http://live.xmcdn.com/live/1396/64.m3u8 +CNR 哈语广播,http://ngcdn025.cnr.cn/live/hygb/index.m3u8 +CNR 藏语广播,http://ngcdn012.cnr.cn/live/zygb/index.m3u8 +CNR 维语广播,http://ngcdn013.cnr.cn/live/wygb/index.m3u8 +CNR 娱乐广播,http://ngcdn014.cnr.cn/live/ylgb/index.m3u8 +CNR 中国交通广播,http://ngcdn016.cnr.cn/live/gsgljtgb/index.m3u8 +Asia FM亚洲经典台,https://lhttp.qingting.fm/live/5021912/64k.mp3 +清晨音乐台,http://lhttp.qingting.fm/live/4915/64k.mp3 +FM Uruma,https://mtist.as.smartstream.ne.jp/30011/livestream/chunklist.m3u8 +香港电台第一台,https://rthkaudio1-lh.akamaihd.net/i/radio1_1@355864/master.m3u8 +香港电台第一台,https://rthkaudio1-lh.akamaihd.net/i/radio1_1@355864/index_56_a-p.m3u8 +香港电台第二台,https://rthkaudio2-lh.akamaihd.net/i/radio2_1@355865/master.m3u8 +香港电台第三台,https://rthkaudio3-lh.akamaihd.net/i/radio3_1@355866/master.m3u8 +香港电台第五台,https://rthkaudio5-lh.akamaihd.net/i/radio5_1@355868/master.m3u8 +西澳华语广播电台,http://streamer5.rightclickitservices.com:7200/stream +马来西亚MY FM音乐台,http://astro1.rastream.com/myfm +纽西兰华人之声AM936新超凡,http://radio.936.nz:8000/am936 +纽西兰华人之声FM104.2音乐台,http://radio.936.nz:8000/fm994 +Mandarin Radio,http://streaming.radionomy.com/JamendoLounge +CCN赛普勒斯中文电台,https://cdn.istoikona.com/ccnradio/ccnradio/icecast.audio +CRI南海之声,http://satellitepull.cnr.cn/live/wxnhzs/playlist.m3u8 +北京好音乐广播,https://lhttp.qingting.fm/live/5021381/64k.mp3 +上海东广新闻台,http://lhttp.qingting.fm/live/275/64k.mp3 +上海动感101音乐广播,http://lhttp.qingting.fm/live/274/64k.mp3 +石家庄音乐广播,https://lhttp.qingting.fm/live/1654/64k.mp3 +辽宁文艺广播,http://satellitepull.cnr.cn/live/wxlnwygb/playlist.m3u8 +黑龙江都市女性广播,http://satellitepull.cnr.cn/live/wx32hljnxgb/playlist.m3u8 +黑龙江音乐广播,http://satellitepull.cnr.cn/live/wx32hljyygb/playlist.m3u8 +苏州音乐广播,https://lhttp.qingting.fm/live/2803/64k.mp3 +江苏音乐广播,http://satellitepull.cnr.cn/live/wx32jsyygb/playlist.m3u8 +杭州动听968音乐调频,http://lhttp.qingting.fm/live/4866/64k.mp3 +安徽音乐广播,http://satellitepull.cnr.cn/live/wxahyygb/playlist.m3u8 +安徽小说评书广播,http://satellitepull.cnr.cn/live/wxahxspsgb/playlist.m3u8 +安徽戏曲广播,http://satellitepull.cnr.cn/live/wxahxqgb/playlist.m3u8 +湖南摩登音乐台FM975,http://lhttp.qingting.fm/live/4980/64k.mp3 +郑州电台怀旧好声音,https://lhttp.qingting.fm/live/1223/64k.mp3 +河南音乐广播,http://stream.hndt.com/live/yinyue/playlist.m3u8 +河南古典音乐天籁广播,http://stream.hndt.com/live/gudian/chunklist_w1085892077.m3u8 +河南戏曲娱乐广播,http://stream.hndt.com/live/yule/playlist.m3u8 +河南戏曲娱乐广播,http://stream.hndt.com/live/yule/chunklist_w1631891218.m3u8 +武汉音乐广播,https://lhttp.qingting.fm/live/1297/64k.mp3 +广西音乐广播 FM95.0,http://satellitepull.cnr.cn/live/wx32gxwygb/playlist.m3u8 +重庆文艺广播,http://satellitepull.cnr.cn/live/wxcqwygb/playlist.m3u8 +重庆音乐广播,http://satellitepull.cnr.cn/live/wxcqyygb/playlist.m3u8 +成都休闲文化广播,http://livecdn.pull.cdbs.com.cn/live/fm946.flv +贵州音乐广播,http://satellitepull.cnr.cn/live/wx32gzyygb/playlist.m3u8 +贵州故事广播,http://satellitepull.cnr.cn/live/wx32gzgsgb/playlist.m3u8 +贵州旅游广播,http://satellitepull.cnr.cn/live/wx32gzlygb/playlist.m3u8 +云南音乐广播,http://satellitepull.cnr.cn/live/wxynyygb/playlist.m3u8 +甘肃黄河之声,http://satellitepull.cnr.cn/live/wxgshhzs/playlist.m3u8 +新疆音乐广播MYFM103.9,https://lhttp.qingting.fm/live/4029/64k.mp3 +AsiaFM亚洲音乐台,https://lhttp.qingting.fm/live/4581/64k.mp3 +赤峯汉语综合广播 FM96,http://live.xmcdn.com/live/1085/64.m3u8 +九江交通广播 FM88.4 FM88.9,http://ls.qingting.fm/live/2785094.m3u8 +龙广都市女性台 FM102.1,http://stream3.hljtv.com/hljrd97/sd/live.m3u8 +龙广高校广播 FM99.3,http://stream3.hljtv.com/hljrdgx/sd/live.m3u8 +龙广新闻广播 FM94.6,http://stream3.hljtv.com/hljrdjt/sd/live.m3u8 +宁波经济广播 FM102.9,http://live.xmcdn.com/live/649/64.m3u8 +陕西青春广播 FM105.5,http://radio.sxtvs.com/radio/kids.mp3 +襄阳汽车广播 FM105.3,http://ls.qingting.fm/live/1308.m3u8 +襄阳新闻广播 FM104,http://ls.qingting.fm/live/1307.m3u8 +新疆音乐广播 MyFM FM103.9,http://ls.qingting.fm/live/4029.m3u8 +长沙新闻广播 FM105.0,http://ls.qingting.fm/live/4877.m3u8 +郑州私家车 FM91.8,http://ls.qingting.fm/live/1222.m3u8 +台湾古典音乐台Classical FM 97.7,http://59.120.88.155:8000/live.mp3 +PigpenRadio,http://178.79.158.160:8213/stream?type=http&nocache=8702 +晋城交通音乐广播 FM93.5,http://ls.qingting.fm/live/1189.m3u8 +晋城新闻综合广播 FM89.8,http://ls.qingting.fm/live/1188.m3u8 +荆门交通音乐频率 FM99.3,http://live.jmtv.com.cn/jtyypl/sd/live.m3u8 +荆门交通音乐频率 FM99.3,http://ls.qingting.fm/live/60808.m3u8 +荆门之声频率 FM89.7,http://live.jmtv.com.cn/xwzhpl/sd/live.m3u8 +九江新闻综合广播 FM91.6,http://ls.qingting.fm/live/4474799.m3u8 +开封旅游广播,http://ls.qingting.fm/live/4569.m3u8 +开州之声 FM89.0,http://183.64.174.171:10124/tlgb.m3u8 +昆明都市调频 FM102.8,http://live.xmcdn.com/live/907/64.m3u8 +昆明都市调频 FM102.8,http://ls.qingting.fm/live/1935.m3u8 +昆明汽车广播 FM95.4,http://live.xmcdn.com/live/906/64.m3u8 +昆明汽车广播 FM95.4,http://ls.qingting.fm/live/1936.m3u8 +昆明阳光广播,http://live.xmcdn.com/live/910/64.m3u8 +昆明阳光广播,http://ls.qingting.fm/live/1934.m3u8 +昆明资讯频率,http://live.xmcdn.com/live/908/64.m3u8 +昆明资讯频率,http://ls.qingting.fm/live/1937.m3u8 +拉萨人民广播电台 FM91.4,http://ls.qingting.fm/live/3244137.m3u8 +兰州交通音乐广播 FM99.5,http://ls.qingting.fm/live/1711.m3u8 +兰州生活文艺广播 FM100.8,http://ls.qingting.fm/live/1713.m3u8 +兰州新闻综合广播 FM97.3,http://live.xmcdn.com/live/294/64.m3u8 +兰州新闻综合广播 FM97.3,http://ls.qingting.fm/live/1712.m3u8 +辽宁交通广播 FM97.5,http://live.xmcdn.com/live/1649/64.m3u8 +辽宁交通广播 FM97.5,http://ls.qingting.fm/live/23801.m3u8 +辽宁经济广播 FM88.8,http://ls.qingting.fm/live/23797.m3u8 +辽宁文艺广播 FM95.9,http://ls.qingting.fm/live/23795.m3u8 +辽宁乡村广播 FM96.9,http://ls.qingting.fm/live/23799.m3u8 +辽阳交通文艺广播 FM107.8,http://ls.qingting.fm/live/2977806.m3u8 +龙广爱家频道 FM97,http://live.xmcdn.com/live/380/64.m3u8 +龙广爱家频道 FM97,http://ls.qingting.fm/live/4972.m3u8 +龙广朝鲜语广播 AM873,http://stream3.hljtv.com/hljrdcy/sd/live.m3u8 +龙广都市女性台 FM102.1,http://ls.qingting.fm/live/4968.m3u8 +龙广交通广播 FM99.8,http://ls.qingting.fm/live/4973.m3u8 +龙广青苹果之声 FM104.6,http://ls.qingting.fm/live/4976.m3u8 +龙广私家车广播 FM104.5,http://stream3.hljtv.com/hljrdsh/sd/live.m3u8 +龙广乡村广播 AM945,http://stream3.hljtv.com/hljrdnc/sd/live.m3u8 +龙广音乐广播 FM95.8,http://live.xmcdn.com/live/379/64.m3u8 +龙广音乐广播 FM95.8,http://stream3.hljtv.com/hljrdnx/sd/live.m3u8 +梅州交通广播 FM105.8,http://ls.qingting.fm/live/24195.m3u8 +梅州新闻广播 FM94.8,http://ls.qingting.fm/live/24173.m3u8 +明星FM,http://ls.qingting.fm/live/91019.m3u8 +牡丹江交通广播,http://live.xmcdn.com/live/1559/64.m3u8 +牡丹江新闻广播,http://live.xmcdn.com/live/1558/64.m3u8 +南宁成功895 FM89.5,http://live.xmcdn.com/live/1321/64.m3u8?aac +南宁成功895 FM89.5,http://ls.qingting.fm/live/80797.m3u8?aac +南宁交通音乐广播 FM107.4,http://live.xmcdn.com/live/306/64.m3u8?aac +南宁交通音乐广播 FM107.4,http://ls.qingting.fm/live/80793.m3u8?aac +南宁经典1049 FM104.9,http://live.xmcdn.com/live/1316/64.m3u8?aac +南宁经典1049 FM104.9,http://ls.qingting.fm/live/80795.m3u8?aac +南宁新闻综合广播 FM101.4,http://live.xmcdn.com/live/305/64.m3u8?aac +南通交通广播 FM92.9,http://live.xmcdn.com/live/741/64.m3u8 +南通交通广播 FM92.9,http://ls.qingting.fm/live/2216385.m3u8 +南通私家车广播 FM106.1,http://ls.qingting.fm/live/1738915.m3u8 +南通新闻广播 FM97.0,http://live.xmcdn.com/live/739/64.m3u8 +南通新闻广播 FM97.0,http://ls.qingting.fm/live/1611381.m3u8 +南通音乐广播 FM91.8,http://live.xmcdn.com/live/742/64.m3u8 +南通音乐广播 FM91.8,http://ls.qingting.fm/live/1606731.m3u8 +宁波动感105 FM105.2,http://ls.qingting.fm/live/3047946.m3u8 +宁波交通广播 FM93.9,http://ls.qingting.fm/live/1140.m3u8 +宁波经济广播 FM102.9,http://ls.qingting.fm/live/1152.m3u8 +宁波老少广播 FM90.4,http://live.xmcdn.com/live/665/64.m3u8 +宁波老少广播 FM90.4,http://ls.qingting.fm/live/1141.m3u8 +宁波私家车音乐台 FM104.7,http://ls.qingting.fm/live/1142.m3u8 +宁波私家车音乐台 FM98.6,http://live.xmcdn.com/live/660/64.m3u8 +宁波新闻广播 FM92.0,http://live.xmcdn.com/live/653/64.m3u8 +宁波新闻广播 FM92.0,http://ls.qingting.fm/live/1138.m3u8 +宁波甬江之声 FM100.1,http://live.xmcdn.com/live/658/64.m3u8 +宁波甬江之声 FM100.1,http://ls.qingting.fm/live/23909.m3u8 +宁夏都市广播 FM103.7,http://live.xmcdn.com/live/1071/64.m3u8 +宁夏都市广播 FM103.7,http://ls.qingting.fm/live/1842.m3u8 +宁夏交通广播 FM98.4,http://ls.qingting.fm/live/1840.m3u8 +宁夏音乐广播 FM104.7,http://live.xmcdn.com/live/1878/64.m3u8 +黔西南交通旅游广播 FM88.3,http://ls.qingting.fm/live/5046.m3u8 +黔西南金州之声 FM107.9,http://ls.qingting.fm/live/5045.m3u8 +秦皇岛924欢乐调频 FM92.4,http://live.xmcdn.com/live/1129/64.m3u8 +秦皇岛交通广播 FM100.4,http://live.xmcdn.com/live/523/64.m3u8 +秦皇岛体育音乐广播 FM97.3,http://live.xmcdn.com/live/522/64.m3u8 +青岛故事广播 FM95.2,http://ls.qingting.fm/live/4956.m3u8 +青岛广播爱车 FM94.0,http://ls.qingting.fm/live/4005188.m3u8 +青岛交通广播 FM89.7,http://live.xmcdn.com/live/807/64.m3u8 +青岛交通广播 FM89.7,http://ls.qingting.fm/live/1676.m3u8 +青岛经济广播 FM102.9,http://ls.qingting.fm/live/1674.m3u8 +青岛私家车电台 FM96.4,http://live.xmcdn.com/live/813/64.m3u8 +青岛私家车电台 FM96.4,http://ls.qingting.fm/live/1675.m3u8 +青岛西海岸城市生活广播 FM92.6,http://ls.qingting.fm/live/33446.m3u8 +青岛西海岸交通广播 FM92.6,http://ls.qingting.fm/live/3748882.m3u8 +青岛新闻广播 FM107.6,http://ls.qingting.fm/live/1673.m3u8 +青海生活广播 花儿调频 FM90.3,http://live.xmcdn.com/live/882/64.m3u8 +青海生活广播 花儿调频 FM90.3,http://ls.qingting.fm/live/2163891.m3u8 +三明新闻综合广播,http://ls.qingting.fm/live/3128814.m3u8 +三亚天涯之声 FM104.6,http://live.xmcdn.com/live/531/64.m3u8 +三亚天涯之声 FM104.6,http://ls.qingting.fm/live/68236.m3u8 +厦门广播闽南之声,http://ls.qingting.fm/live/1740.m3u8 +厦门经济交通广播,http://ls.qingting.fm/live/1738.m3u8 +厦门私家车广播,http://ls.qingting.fm/live/1741.m3u8 +厦门新闻广播,http://ls.qingting.fm/live/1737.m3u8 +厦门音乐广播,http://ls.qingting.fm/live/1739.m3u8 +山东交通广播 FM101.1,http://ls.qingting.fm/live/60262.m3u8 +山东经济广播 FM98.6,http://live.xmcdn.com/live/797/64.m3u8 +山东经济广播 FM98.6,http://ls.qingting.fm/live/60198.m3u8 +山东女主播电台 FM97.5,http://live.xmcdn.com/live/801/64.m3u8 +山东女主播电台 FM97.5,http://ls.qingting.fm/live/60258.m3u8 +山东生活广播 MyFM FM105,http://live.xmcdn.com/live/802/64.m3u8 +山东生活广播 MyFM FM105,http://ls.qingting.fm/live/60260.m3u8 +山东体育广播 FM102.1,http://live.xmcdn.com/live/805/64.m3u8 +山东体育广播 FM102.1,http://ls.qingting.fm/live/60266.m3u8 +山东乡村广播 FM91.9,http://live.xmcdn.com/live/809/64.m3u8 +山东新闻广播 FM95,http://live.xmcdn.com/live/1440/64.m3u8 +山东新闻广播 FM95,http://ls.qingting.fm/live/60180.m3u8 +山东音乐广播 FM99.1,http://live.xmcdn.com/live/794/64.m3u8 +山东音乐广播 FM99.1,http://ls.qingting.fm/live/1665.m3u8 +陕西都市广播-陕广新闻 FM101.8,http://ls.qingting.fm/live/1609.m3u8 +陕西都市广播-陕广新闻 FM101.8,http://radio.sxtvs.com/radio/city.mp3 +陕西故事广播 AM603,http://ls.qingting.fm/live/1608.m3u8 +陕西故事广播 AM603,http://radio.sxtvs.com/radio/story.mp3 +陕西交通广播 FM91.6,http://ls.qingting.fm/live/1601.m3u8 +陕西交通广播 FM91.6,http://radio.sxtvs.com/radio/traffic.mp3 +陕西农村广播 AM900,http://ls.qingting.fm/live/1602.m3u8 +陕西农村广播 AM900,http://radio.sxtvs.com/radio/country.mp3 +陕西汽车调频 FM89.6,http://radio.sxtvs.com/radio/encnomy.mp3 +陕西秦腔广播 FM101.1,http://ls.qingting.fm/live/1604.m3u8 +陕西秦腔广播 FM101.1,http://radio.sxtvs.com/radio/cityopera.mp3 +陕西戏曲广播 AM747,http://ls.qingting.fm/live/1606.m3u8 +陕西戏曲广播 AM747,http://radio.sxtvs.com/radio/opera.mp3 +陕西新闻广播 FM106.6,http://ls.qingting.fm/live/1600.m3u8 +陕西新闻广播 FM106.6,http://radio.sxtvs.com/radio/news.mp3 +陕西音乐广播 FM98.8,http://ls.qingting.fm/live/4873.m3u8 +陕西音乐广播 FM98.8,http://radio.sxtvs.com/radio/music.mp3 +上海 KFM981,http://live.xmcdn.com/live/1661/64.m3u8 +上海 KFM981,http://ls.qingting.fm/live/2963035.m3u8 +上海 KFM981,http://rs-bj.ajmide.com/r_1001/1001.m3u8 +上海城市沸点 FM100.1,http://live.xmcdn.com/live/1236/64.m3u8 +上海动感101 FM101.7,http://live.xmcdn.com/live/53/64.m3u8 +上海动感101 FM101.7,http://ls.qingting.fm/live/274.m3u8 +上海动感101 FM101.7,http://rs-bj.ajmide.com/r_11/11.m3u8 +上海故事广播 FM107.2,http://live.xmcdn.com/live/61/64.m3u8 +上海故事广播 FM107.2,http://ls.qingting.fm/live/268.m3u8 +上海故事广播 FM107.2,http://rs-bj.ajmide.com/r_3/3.m3u8 +上海嘉定电台,http://rs.ajmide.com/r_1483/1483.m3u8 +上海交通台 FM105.7,http://live.xmcdn.com/live/59/64.m3u8 +上海交通台 FM105.7,http://ls.qingting.fm/live/266.m3u8 +上海交通台 FM105.7,http://rs-bj.ajmide.com/r_1/1.m3u8 +上海金山乐游100分 FM105.1,http://rs.ajmide.com/c_6397/6397.m3u8 +上海经典947 FM94.7,http://live.xmcdn.com/live/54/64.m3u8 +上海经典947 FM94.7,http://ls.qingting.fm/live/267.m3u8 +上海经典947 FM94.7,http://rs.ajmide.com/r_10/10.m3u8 +上海闵行电台 FM102.7,http://live.xmcdn.com/live/1731/64.m3u8 +上海闵行电台 FM102.7,http://ls.qingting.fm/live/58826.m3u8 +上海闵行电台 FM102.7,http://rs.ajmide.com/r_1614/1614.m3u8 +上海浦东广播 FM106.5,http://live.xmcdn.com/live/1239/64.m3u8 +上海浦东广播 FM106.5,http://ls.qingting.fm/live/1794199.m3u8 +上海人民广播电台 FM93.4,http://live.xmcdn.com/live/58/64.m3u8 +上海人民广播电台 FM93.4,http://ls.qingting.fm/live/270.m3u8 +上海人民广播电台 FM93.4,http://rs-bj.ajmide.com/r_7/7.m3u8 +上海戏剧曲艺 AM1197,http://live.xmcdn.com/live/60/64.m3u8 +上海戏剧曲艺 AM1197,http://rs.ajmide.com/r_6/6.m3u8 +深圳缤纷 FM104.3,http://live.xmcdn.com/live/267/64.m3u8 +深圳飞扬音乐971,http://ls.qingting.fm/live/1271.m3u8 +深圳快乐1062(交通广播),http://ls.qingting.fm/live/1272.m3u8 +深圳私家车广播 FM94.2,http://live.xmcdn.com/live/265/64.m3u8 +深圳私家车广播 FM94.2,http://ls.qingting.fm/live/1273.m3u8 +深圳先锋898(新闻广播),http://live.xmcdn.com/live/262/64.m3u8 +深圳先锋898(新闻广播),http://ls.qingting.fm/live/1270.m3u8 +深圳星光 FM99.1,http://ls.qingting.fm/live/28132.m3u8 +沈阳都市广播 FM92.1,http://ls.qingting.fm/live/1099.m3u8 +沈阳生活广播 FM103.4,http://live.xmcdn.com/live/331/64.m3u8 +沈阳新闻广播 FM104.5,http://live.xmcdn.com/live/328/64.m3u8 +沈阳新闻广播 FM104.5,http://ls.qingting.fm/live/23891.m3u8 +沈阳音乐广播 路上好朋友 FM98.6,http://live.xmcdn.com/live/329/64.m3u8 +沈阳音乐广播 路上好朋友 FM98.6,http://ls.qingting.fm/live/1101.m3u8 +石家庄交通广播 FM94.6,http://live.xmcdn.com/live/505/64.m3u8 +石家庄新闻广播 FM88.2,http://live.xmcdn.com/live/502/64.m3u8 +石家庄音乐广播 FM106.7,http://live.xmcdn.com/live/504/64.m3u8 +四川财富广播 FM94.0,http://ls.qingting.fm/live/4927.m3u8 +四川城市之音 CityFM FM102.6,http://live.xmcdn.com/live/755/64.m3u8 +四川城市之音 CityFM FM102.6,http://ls.qingting.fm/live/1111.m3u8 +四川交通广播 FM101.7,http://ls.qingting.fm/live/4886.m3u8 +四川民族广播 AM954,http://ls.qingting.fm/live/1115.m3u8 +四川岷江音乐 FM95.5,http://ls.qingting.fm/live/1110.m3u8 +四川私家车广播 FM92.5,http://ls.qingting.fm/live/4939.m3u8 +四川文艺广播 快乐900 FM90.0,http://ls.qingting.fm/live/4887.m3u8 +四川新闻综合广播 FM98.1,http://live.xmcdn.com/live/1643/64.m3u8 +四川新闻综合广播 FM98.1,http://ls.qingting.fm/live/4906.m3u8 +苏州交通广播 FM104.8,http://live.xmcdn.com/live/64/64.m3u8 +苏州汽车广播 FM102.8,http://live.xmcdn.com/live/66/64.m3u8 +苏州生活广播 FM96.5,http://live.xmcdn.com/live/573/64.m3u8 +苏州戏曲广播 AM846,http://live.xmcdn.com/live/576/64.m3u8 +苏州新闻广播 FM91.1,http://live.xmcdn.com/live/63/64.m3u8 +苏州音乐广播 动听948 FM94.8,http://live.xmcdn.com/live/65/64.m3u8 +太原交通广播 FM107,http://live.xmcdn.com/live/883/64.m3u8 +太原交通广播 FM107,http://ls.qingting.fm/live/4900.m3u8 +太原私家车Radio FM104.4,http://ls.qingting.fm/live/4018.m3u8 +太原新闻广播 FM91.2,http://ls.qingting.fm/live/23873.m3u8 +太原音乐广播 FM102.6,http://ls.qingting.fm/live/1185.m3u8 +天津 My FM 100.5,http://live.xmcdn.com/live/121/64.m3u8 +天津 My FM 100.5,http://ls.qingting.fm/live/23869.m3u8 +铜梁电台龙乡之声 FM96.6,http://222.180.119.78:10346/a1.m3u8 +万州交通广播,http://123.146.162.24:8013/tslslive/L4cvRM0/hls/live_sd.m3u8 +万州交通广播,http://live.xmcdn.com/live/1679/64.m3u8 +万州综合广播,http://123.146.162.24:8013/tslslive/gBEcw39/hls/live_sd.m3u8 +万州综合广播,http://live.xmcdn.com/live/1678/64.m3u8 +潍坊私家车广播 FM93.3,http://live.xmcdn.com/live/841/64.m3u8 +潍坊私家车广播 FM93.3,http://ls.qingting.fm/live/84511.m3u8 +潍坊新闻广播 FM100.2,http://live.xmcdn.com/live/849/64.m3u8 +潍坊新闻广播 FM100.2,http://ls.qingting.fm/live/60358.m3u8 +潍坊音乐广播 FM88.7,http://ls.qingting.fm/live/4015.m3u8 +温州交通广播 FM103.9,http://live.xmcdn.com/live/641/64.m3u8 +温州交通广播 FM103.9,http://ls.qingting.fm/live/23863.m3u8 +温州经济生活广播 FM88.8,http://live.xmcdn.com/live/659/64.m3u8 +温州经济生活广播 FM88.8,http://ls.qingting.fm/live/23867.m3u8 +温州绿色之声 FM93.8,http://live.xmcdn.com/live/663/64.m3u8 +温州绿色之声 FM93.8,http://ls.qingting.fm/live/1158.m3u8 +温州私家车音乐广播 FM100.3,http://live.xmcdn.com/live/642/64.m3u8 +温州私家车音乐广播 FM100.3,http://ls.qingting.fm/live/23865.m3u8 +温州新闻广播 FM94.9,http://live.xmcdn.com/live/655/64.m3u8 +温州新闻广播 FM94.9,http://ls.qingting.fm/live/23861.m3u8 +无锡都市生活广播 FM98.7,http://ls.qingting.fm/live/2783.m3u8 +无锡交通广播 FM106.9,http://ls.qingting.fm/live/2780.m3u8 +无锡经济广播 FM104,http://ls.qingting.fm/live/2778.m3u8 +无锡梁溪之声广播 FM92.6,http://ls.qingting.fm/live/2782.m3u8 +无锡汽车音乐广播 FM91.4,http://ls.qingting.fm/live/2779.m3u8 +无锡新闻广播 FM93.7,http://ls.qingting.fm/live/2777.m3u8 +无锡综合广播 AM1116,http://ls.qingting.fm/live/2776.m3u8 +五星体育 FM94.0,http://live.xmcdn.com/live/57/64.m3u8 +五星体育 FM94.0,http://ls.qingting.fm/live/4928.m3u8 +五星体育 FM94.0,http://rs.ajmide.com/r_4/4.m3u8 +五邑旅游频道 FM90.4,http://ls.qingting.fm/live/3047974.m3u8 +西安交通广播 FM104.3,http://live.xmcdn.com/live/1371/64.m3u8 +西安交通广播 FM104.3,http://ls.qingting.fm/live/1611.m3u8 +西安交通广播 FM104.3,http://stream3.xiancity.cn/5/sd/live.m3u8 +西安新闻广播 FM95.0,http://ls.qingting.fm/live/1610.m3u8 +西安新闻广播 FM95.0,http://stream3.xiancity.cn/1/sd/live.m3u8 +西安音乐广播 FM93.1,http://live.xmcdn.com/live/1442/64.m3u8 +西安音乐广播 FM93.1,http://ls.qingting.fm/live/1612.m3u8 +西安音乐广播 FM93.1,http://stream3.xiancity.cn/4/sd/live.m3u8 +西安资讯广播 FM106.1,http://stream3.xiancity.cn/2/sd/live.m3u8 +西安综艺广播 FM102.4,http://stream3.xiancity.cn/3/sd/live.m3u8 +西藏藏语广播 FM101.6,http://media.vtibet.com/masvod/HLSLive/11/zangyuRadio.m3u8 +西藏都市生活广播 FM98.0,http://media.vtibet.com/masvod/HLSLive/17/dushiRadio.m3u8 +西藏汉语广播 FM93.3,http://media.vtibet.com/masvod/HLSLive/13/hanyuRadio.m3u8 +西藏康巴话广播 FM103.0,http://media.vtibet.com/masvod/HLSLive/15/kangbaRadio.m3u8 +西藏科教广播 FM106.3,http://media.vtibet.com/masvod/HLSLive/49/kejiaoRadio.m3u8 +西宁交通频率,http://ls.qingting.fm/live/3400408.m3u8 +西宁旅游频率,http://ls.qingting.fm/live/3400411.m3u8 +西宁私家车音乐调频,http://ls.qingting.fm/live/3377772.m3u8 +西宁新闻频率,http://ls.qingting.fm/live/3400403.m3u8 +咸阳城市之声 FM100.7,http://ls.qingting.fm/live/3559664.m3u8 +襄阳音乐广播,http://ls.qingting.fm/live/5057.m3u8 +新疆故事广播 FM102.8,http://ls.qingting.fm/live/1911.m3u8 +新疆哈萨克语广播,http://ls.qingting.fm/live/1908.m3u8 +新疆交通广播 FM94.9,http://live.xmcdn.com/live/987/64.m3u8 +新疆交通广播 FM94.9,http://ls.qingting.fm/live/1910.m3u8 +新疆蒙古语广播,http://ls.qingting.fm/live/1903.m3u8 +新疆民生广播 FM92.4,http://ls.qingting.fm/live/76186.m3u8 +新疆私家车广播 FM92.9,http://ls.qingting.fm/live/1909.m3u8 +新疆维吾尔语交通文艺广播,http://ls.qingting.fm/live/78923.m3u8 +新疆新闻广播 FM96.1,http://ls.qingting.fm/live/1902.m3u8 +新乡交通广播 FM99.1,http://ls.qingting.fm/live/1229.m3u8 +许昌交通广播 FM92.6,http://ls.qingting.fm/live/3126629.m3u8 +许昌新闻广播 FM102,http://ls.qingting.fm/live/3125648.m3u8 +烟台交通广播 FM103,http://ls.qingting.fm/live/1684.m3u8 +烟台经济广播 FM105.9,http://ls.qingting.fm/live/1683.m3u8 +烟台新闻广播 FM101,http://ls.qingting.fm/live/1682.m3u8 +扬州江都广播,http://ls.qingting.fm/live/4312411.m3u8 +阳泉交通广播,http://ls.qingting.fm/live/4592896.m3u8?aac +阳泉新闻综合广播,http://ls.qingting.fm/live/5876899.m3u8?aac +银川都市经济广播 FM95.0,http://live1.ycgbtv.com.cn/ycdupl/sd/live.m3u8 +银川交通音乐台 FM100.6,http://live1.ycgbtv.com.cn/ycjt/sd/live.m3u8 +银川汽车生活广播 FM90.5,http://live1.ycgbtv.com.cn/yccar/sd/live.m3u8 +银川新闻综合频率 AM801,http://live1.ycgbtv.com.cn/ycxwpl/sd/live.m3u8 +玉溪新闻广播,http://ls.qingting.fm/live/2978811.m3u8 +郁南网络电台,http://ls.qingting.fm/live/23893.m3u8 +岳阳交通广播 FM106.1,http://ls.qingting.fm/live/88931.m3u8 +岳阳新闻综合广播,http://ls.qingting.fm/live/88933.m3u8 +岳阳音乐广播,http://ls.qingting.fm/live/3555897.m3u8 +云南交通广播 FM91.8,http://live.xmcdn.com/live/903/64.m3u8 +云南交通广播 FM91.8,http://ls.qingting.fm/live/1928.m3u8 +云南教育广播 FM100,http://ls.qingting.fm/live/1930.m3u8 +云南经济广播 私家车 FM88.7,http://ls.qingting.fm/live/1927.m3u8 +云南民族广播 SW7210,http://ls.qingting.fm/live/1933.m3u8 +云南香格里拉之声 FM99,http://ls.qingting.fm/live/24463.m3u8 +云南新闻广播 FM105.8,http://live.xmcdn.com/live/905/64.m3u8 +云南新闻广播 FM105.8,http://ls.qingting.fm/live/1926.m3u8 +云南音乐广播 FM97,http://live.xmcdn.com/live/904/64.m3u8 +云南音乐广播 FM97,http://ls.qingting.fm/live/1929.m3u8 +运城交通文艺广播 FM101.9,http://live.xmcdn.com/live/1251/64.m3u8 +运城新闻综合广播 FM93.2,http://live.xmcdn.com/live/1252/64.m3u8 +沾化新闻综合广播 FM104.2,http://ls.qingting.fm/live/2234967.m3u8 +张家口私家车广播 FM104.3,http://live.xmcdn.com/live/1858/64.m3u8 +长春 FM88.0,http://ls.qingting.fm/live/4850.m3u8 +长春生活故事广播 FM90.0,http://ls.qingting.fm/live/5014.m3u8 +长沙城市之声 FM101.7,http://ls.qingting.fm/live/4237.m3u8 +浙江财富广播 FM95,http://ls.qingting.fm/live/4519.m3u8 +浙江城市之声 (私家车107) FM107,http://live.xmcdn.com/live/638/64.m3u8 +浙江动听(音乐调频) FM96.8,http://live.xmcdn.com/live/637/64.m3u8 +浙江动听(音乐调频) FM96.8,http://ls.qingting.fm/live/4866.m3u8 +浙江交通之声 FM93,http://live.xmcdn.com/live/634/64.m3u8 +浙江交通之声 FM93,http://ls.qingting.fm/live/4522.m3u8 +浙江民生 FM99.6,http://ls.qingting.fm/live/4521.m3u8 +浙江女主播电台 FM104.5,http://live.xmcdn.com/live/636/64.m3u8 +浙江女主播电台 FM104.5,http://ls.qingting.fm/live/4524.m3u8 +浙江之声 FM88,http://live.xmcdn.com/live/633/64.m3u8 +浙江之声 FM88,http://ls.qingting.fm/live/4518.m3u8 +郑州车道931,http://ls.qingting.fm/live/1221.m3u8 +郑州活力944,http://ls.qingting.fm/live/4921.m3u8 +郑州经典广播 FM107.9,http://ls.qingting.fm/live/1223.m3u8 +郑州汽车广播 FM91.2,http://ls.qingting.fm/live/1211.m3u8 +郑州新闻广播 FM98.6,http://live.xmcdn.com/live/470/64.m3u8 +郑州新闻广播 FM98.6,http://ls.qingting.fm/live/1220.m3u8 +中山电台快乐888,http://live.xmcdn.com/live/1191/64.m3u8 +中山电台快乐888,http://ls.qingting.fm/live/1278.m3u8 +中山电台新锐967,http://live.xmcdn.com/live/1220/64.m3u8 +中山电台新锐967,http://ls.qingting.fm/live/1277.m3u8 +重庆都市广播 FM93.8,http://live.xmcdn.com/live/132/64.m3u8 +重庆都市广播 FM93.8,http://ls.qingting.fm/live/1502.m3u8 +重庆交通广播 FM95.5,http://live.xmcdn.com/live/130/64.m3u8 +重庆交通广播 FM95.5,http://ls.qingting.fm/live/1500.m3u8 +重庆经济广播 FM101.5,http://live.xmcdn.com/live/129/64.m3u8 +重庆经济广播 FM101.5,http://ls.qingting.fm/live/1499.m3u8 +重庆新闻广播 FM96.8,http://ls.qingting.fm/live/1498.m3u8 +重庆音乐广播 FM88.1,http://live.xmcdn.com/live/131/64.m3u8 +重庆音乐广播 FM88.1,http://ls.qingting.fm/live/647.m3u8 +周口交通广播,http://tv.zkxww.com:1935/broadcast/1003.stream_aac/playlist.m3u8 +周口新闻广播,http://tv.zkxww.com:1935/broadcast/1001.stream_aac/playlist.m3u8 +周口音乐广播,http://tv.zkxww.com:1935/broadcast/1004.stream_aac/playlist.m3u8 +珠海电台活力915,http://ls.qingting.fm/live/2473319.m3u8 +珠海电台交通音乐875,http://ls.qingting.fm/live/1275.m3u8 +珠海电台先锋951,http://ls.qingting.fm/live/1274.m3u8 +国立教育广播电台台北总台FM台,https://cast.ner.gov.tw/1 +国立教育广播电台台北总台AM台,https://cast.ner.gov.tw/2 +CRI 海峡飞虹,http://sk.cri.cn/hxfh.m3u8 +Love Radio FM103.7,http://live.xmcdn.com/live/55/64.m3u8 +Love Radio FM103.7,http://ls.qingting.fm/live/273.m3u8 +Love Radio FM103.7,http://rs-bj.ajmide.com/r_2/2.m3u8 +MY FM 南京 FM103.5,http://ls.qingting.fm/live/2769.m3u8 +MY FM 西安 FM105.5,http://live.xmcdn.com/live/870/64.m3u8 +MY FM 西安 FM105.5,http://ls.qingting.fm/live/4885.m3u8 +安阳交通广播 FM89,http://ls.qingting.fm/live/2138.m3u8 +安阳汽车音乐台 FM100.8,http://ls.qingting.fm/live/2123.m3u8 +安阳新闻综合广播 FM94.2,http://ls.qingting.fm/live/4689560.m3u8 +安岳柠都之声 FM98.0,http://ls.qingting.fm/live/3644391.m3u8 +巴渝之声 FM104.5,http://ls.qingting.fm/live/3545693.m3u8 +包头交通广播 FM89.2,http://live.xmcdn.com/live/1111/64.m3u8 +包头蒙语广播 FM105.9,http://live.xmcdn.com/live/1094/64.m3u8 +包头汽车音乐广播 FM100.1,http://live.xmcdn.com/live/1103/64.m3u8 +包头新闻综合广播 FM94.9,http://live.xmcdn.com/live/1104/64.m3u8 +保定城市服务广播 乐动1016,http://ls.qingting.fm/live/62628.m3u8 +保定飞扬1058汽车音乐广播,http://live.xmcdn.com/live/521/64.m3u8 +保定飞扬1058汽车音乐广播,http://ls.qingting.fm/live/2604325.m3u8 +保定交通广播 FM104.8,http://ls.qingting.fm/live/28140.m3u8 +保定经典964汽车音乐广播,http://ls.qingting.fm/live/2227017.m3u8 +保定新闻广播 FM93.7,http://ls.qingting.fm/live/3701149.m3u8 +保山综合广播 FM98.7,http://ls.qingting.fm/live/3702178.m3u8 +北海新闻广播 FM93.5,http://ls.qingting.fm/live/85653.m3u8 +北京城市广播 FM107.3,http://ls.qingting.fm/live/345.m3u8 +北京房山经典音乐 FM96.9,http://live.xmcdn.com/live/963/64.m3u8 +北京房山经典音乐 FM96.9,http://ls.qingting.fm/live/68746.m3u8 +北京故事广播 AM603,http://ls.qingting.fm/live/337.m3u8 +北京好音乐 FM95.9,http://live.xmcdn.com/live/964/64.m3u8 +北京好音乐 FM95.9,http://ls.qingting.fm/live/2131011.m3u8 +北京交通广播 FM103.9,http://live.xmcdn.com/live/93/64.m3u8 +北京交通广播 FM103.9,http://ls.qingting.fm/live/336.m3u8 +北京青年广播 FM98.2,http://ls.qingting.fm/live/347.m3u8 +北京体育广播 FM102.5,http://ls.qingting.fm/live/335.m3u8 +北京外语广播 AM774,http://ls.qingting.fm/live/334.m3u8 +北京文艺广播 FM87.6,http://ls.qingting.fm/live/333.m3u8 +北京新闻广播 FM100.6,http://ls.qingting.fm/live/339.m3u8 +北京阳光调频 FM98.6,http://ls.qingting.fm/live/2507637.m3u8 +北京音乐广播 FM97.4,http://ls.qingting.fm/live/332.m3u8 +沧州交通广播,http://live.xmcdn.com/live/525/64.m3u8 +常州爱听935(音乐广播) FM93.5,http://ls.qingting.fm/live/2799.m3u8 +常州财富生活广播 FM105.2,http://ls.qingting.fm/live/2794.m3u8 +常州交通广播 FM90,http://ls.qingting.fm/live/2796.m3u8 +常州新闻广播 AM846,http://ls.qingting.fm/live/2798.m3u8 +朝阳交通娱乐广播 AM648,http://live.xmcdn.com/live/354/64.m3u8 +朝阳经济广播 FM106.5,http://live.xmcdn.com/live/355/64.m3u8 +朝阳新闻综合广播 FM96.1,http://live.xmcdn.com/live/353/64.m3u8 +郴州音乐交通广播 FM102.8,http://ls.qingting.fm/live/86747.m3u8 +郴州综合广播 FM99.2,http://ls.qingting.fm/live/76765.m3u8 +楚天交通广播 FM92.7,http://ls.qingting.fm/live/1291.m3u8 +楚天音乐广播 FM105.8,http://live.xmcdn.com/live/708/64.m3u8 +楚天音乐广播 FM105.8,http://ls.qingting.fm/live/1289.m3u8 +丹东新闻广播 FM103.6,http://live.xmcdn.com/live/342/64.m3u8 +第一财经 FM97.7,http://live.xmcdn.com/live/56/64.m3u8 +第一财经 FM97.7,http://ls.qingting.fm/live/276.m3u8 +第一财经 FM97.7,http://rs-bj.ajmide.com/r_5/5.m3u8 +东港新闻综合广播 FM93.3,http://live.xmcdn.com/live/1324/64.m3u8 +东莞FM104音乐广播,http://ls.qingting.fm/live/93619.m3u8 +东莞畅享1075交通广播,http://ls.qingting.fm/live/1288.m3u8 +东莞阳光1008新闻综合,http://ls.qingting.fm/live/1276.m3u8 +东广新闻台 FM90.9,http://ls.qingting.fm/live/275.m3u8 +东广新闻台 FM90.9,http://rs-bj.ajmide.com/r_12/12.m3u8 +动感101泡菜电台,http://rs.ajmide.com/r_1461/1461.m3u8 +恩平电台 FM97.7,http://ls.qingting.fm/live/80439.m3u8 +佛山电台三水台 FM90.6,http://ls.qingting.fm/live/1264.m3u8 +福建交通广播 FM100.7,http://live.xmcdn.com/live/790/64.m3u8 +抚顺交通广播 FM106.1,http://ls.qingting.fm/live/1094.m3u8 +甘肃都市调频 FM106.6,http://live.xmcdn.com/live/288/64.m3u8 +甘肃交通广播 FM93.4(2),http://live.xmcdn.com/live/289/64.m3u8 +甘肃经济广播 FM93.4(2),http://live.xmcdn.com/live/292/64.m3u8 +甘肃农村广播 FM92.2,http://live.xmcdn.com/live/291/64.m3u8 +甘肃青春调频 FM104.8,http://live.xmcdn.com/live/290/64.m3u8 +甘肃新闻综合广播 FM96.1,http://live.xmcdn.com/live/287/64.m3u8 +赣江之声 FM92.3,http://ls.qingting.fm/live/23889.m3u8 +公安县广播电台 FM102.6,http://ls.qingting.fm/live/5063.m3u8 +广东城市之声SunFM爱车 FM103.6,http://ls.qingting.fm/live/469.m3u8 +广东股市广播 FM95.3,http://ls.qingting.fm/live/4847.m3u8 +广东南方生活广播 FM93.6,http://live.xmcdn.com/live/249/64.m3u8 +广东南方生活广播 FM93.6,http://ls.qingting.fm/live/468.m3u8 +广东文体广播 FM107.7,http://ls.qingting.fm/live/471.m3u8 +广东新闻频道 FM91.4,http://live.xmcdn.com/live/245/64.m3u8 +广东新闻频道 FM91.4,http://ls.qingting.fm/live/1254.m3u8 +广东羊城交通广播 FM105.2,http://live.xmcdn.com/live/248/64.m3u8 +广东羊城交通广播 FM105.2,http://ls.qingting.fm/live/1262.m3u8 +广东音乐之声 FM99.3,http://live.xmcdn.com/live/74/64.m3u8 +广东音乐之声 FM99.3,http://ls.qingting.fm/live/1260.m3u8 +广东优悦广播(南粤) FM105.7,http://live.xmcdn.com/live/255/64.m3u8 +广东优悦广播(南粤) FM105.7,http://ls.qingting.fm/live/470.m3u8 +广东珠江经济台 FM97.4,http://live.xmcdn.com/live/252/64.m3u8 +广东珠江经济台 FM97.4,http://ls.qingting.fm/live/1259.m3u8 +广西北部湾之声(广西对外广播) FM96.4,http://live.xmcdn.com/live/303/64.m3u8 +广西北部湾之声(广西对外广播) FM96.4,http://ls.qingting.fm/live/1757.m3u8 +广西交通台 FM100.3,http://live.xmcdn.com/live/304/64.m3u8 +广西交通台 FM100.3,http://ls.qingting.fm/live/1758.m3u8 +广西女主播电台 FM97.0,http://live.xmcdn.com/live/300/64.m3u8 +广西女主播电台 FM97.0,http://ls.qingting.fm/live/1754.m3u8 +广西私家车930 FM93.0,http://ls.qingting.fm/live/1756.m3u8 +广西新闻910 FM91.0,http://live.xmcdn.com/live/299/64.m3u8 +广西新闻910 FM91.0,http://ls.qingting.fm/live/1753.m3u8 +广西音乐台 FM95.0,http://live.xmcdn.com/live/301/64.m3u8 +广西音乐台 FM95.0,http://ls.qingting.fm/live/4875.m3u8 +广州 MYFM 88.0 (都市生活),http://live.xmcdn.com/live/259/64.m3u8 +广州 MYFM 88.0 (都市生活),http://ls.qingting.fm/live/52712.m3u8 +广州交通电台 FM106.1,http://live.xmcdn.com/live/258/64.m3u8 +广州交通电台 FM106.1,http://ls.qingting.fm/live/4955.m3u8 +广州汽车音乐电台 FM102.7,http://live.xmcdn.com/live/257/64.m3u8 +广州汽车音乐电台 FM102.7,http://ls.qingting.fm/live/52710.m3u8 +广州新闻电台 FM96.2,http://live.xmcdn.com/live/256/64.m3u8 +广州新闻电台 FM96.2,http://ls.qingting.fm/live/4848.m3u8 +贵阳交通广播 FM102.7,http://live.xmcdn.com/live/366/64.m3u8 +贵阳交通广播 FM102.7,http://ls.qingting.fm/live/1774.m3u8 +贵阳新闻广播 FM88.9,http://ls.qingting.fm/live/1773.m3u8 +贵阳音乐之声 动感909 FM90.9,http://live.xmcdn.com/live/368/64.m3u8 +贵阳音乐之声 动感909 FM90.9,http://ls.qingting.fm/live/4874.m3u8 +贵州电台故事广播 FM90.0,http://ls.qingting.fm/live/23931.m3u8 +贵州电台交通广播 FM95.2,http://live.xmcdn.com/live/362/64.m3u8 +贵州电台交通广播 FM95.2,http://ls.qingting.fm/live/23927.m3u8 +贵州电台经济广播 FM98.9,http://ls.qingting.fm/live/23935.m3u8 +贵州电台旅游广播 FM97.2,http://ls.qingting.fm/live/23929.m3u8 +贵州电台音乐广播 FM91.6,http://ls.qingting.fm/live/23937.m3u8 +贵州新闻综合广播 FM94.6,http://ls.qingting.fm/live/23933.m3u8 +海口新闻综合广播,http://ls.qingting.fm/live/2938451.m3u8 +海口音乐广播,http://ls.qingting.fm/live/23859.m3u8 +海南国际旅游之声 FM103.8,http://ls.qingting.fm/live/1862.m3u8 +海南交通广播 FM100,http://ls.qingting.fm/live/4911.m3u8 +海南民生广播 FM101,http://ls.qingting.fm/live/1511803.m3u8 +海南新闻广播 FM88.6,http://ls.qingting.fm/live/1861.m3u8 +海南音乐广播 FM94.5,http://ls.qingting.fm/live/4878.m3u8 +杭州交通广播 FM91.8,http://live.xmcdn.com/live/632/64.m3u8 +杭州交通广播 FM91.8,http://ls.qingting.fm/live/1133.m3u8 +杭州老朋友广播 AM954,http://ls.qingting.fm/live/1132.m3u8 +杭州西湖之声 FM105.4,http://ls.qingting.fm/live/1163.m3u8 +杭州新闻广播 FM89,http://live.xmcdn.com/live/646/64.m3u8 +杭州新闻广播 FM89,http://ls.qingting.fm/live/1134.m3u8 +杭州综合广播 FM90.7,http://live.xmcdn.com/live/1845/64.m3u8 +杭州综合广播 FM90.7,http://ls.qingting.fm/live/4546579.m3u8 +河北 My FM 102.9,http://live.xmcdn.com/live/1743/64.m3u8 +河北 My FM 102.9,http://ls.qingting.fm/live/2508757.m3u8 +河北故事广播 FM107.9,http://ls.qingting.fm/live/1645.m3u8 +河北交通广播 FM99.2,http://ls.qingting.fm/live/1646.m3u8 +河北旅游广播 AM603,http://ls.qingting.fm/live/1651.m3u8 +河北农民广播 AM558,http://ls.qingting.fm/live/1650.m3u8 +河北生活广播 FM88.8,http://ls.qingting.fm/live/4867.m3u8 +河北私家车广播 FM90.7,http://ls.qingting.fm/live/4868.m3u8 +河北新闻广播 FM104.3,http://ls.qingting.fm/live/1644.m3u8 +河北音乐广播 FM102.4,http://ls.qingting.fm/live/1649.m3u8 +河南驾车1066 FM106.6,http://ls.qingting.fm/live/1207.m3u8 +河南交通广播 FM104.1,http://ls.qingting.fm/live/1209.m3u8 +河南乐龄(信息广播) FM105.6,http://ls.qingting.fm/live/59896.m3u8 +河南私家车999 FM99.9,http://ls.qingting.fm/live/1219.m3u8 +河南新闻广播 FM95.4,http://ls.qingting.fm/live/1215.m3u8 +河南音乐广播 魅力881 FM88.1,http://ls.qingting.fm/live/1208.m3u8 +河南影视广播 MyRadio FM90.0,http://ls.qingting.fm/live/1206.m3u8 +河南娱乐广播 FM97.6,http://ls.qingting.fm/live/1719795.m3u8 +鹤壁交通音乐广播 FM93.5,http://ls.qingting.fm/live/3032681.m3u8 +鹤山电台104.7,http://ls.qingting.fm/live/1286.m3u8 +衡阳好朋友 FM105.4,http://ls.qingting.fm/live/1319363.m3u8 +衡阳交通广播 FM101.8,http://live.xmcdn.com/live/1181/64.m3u8 +衡阳交通广播 FM101.8,http://ls.qingting.fm/live/5079921.m3u8 +衡阳新闻广播 FM98.9,http://live.xmcdn.com/live/1185/64.m3u8 +衡阳新闻广播 FM98.9,http://ls.qingting.fm/live/5079970.m3u8 +呼和浩特城市生活广播 FM90.1,http://ls.qingting.fm/live/2218717.m3u8 +呼和浩特文艺广播 FM99.8,http://ls.qingting.fm/live/3099076.m3u8 +呼和浩特新闻综合广播 FM92.9,http://ls.qingting.fm/live/2218711.m3u8 +湖州交通文艺广播 FM103.5,http://live.xmcdn.com/live/656/64.m3u8 +湖州交通文艺广播 FM98.5,http://ls.qingting.fm/live/2811.m3u8 +湖州经济广播 FM103.5,http://live.xmcdn.com/live/647/64.m3u8 +湖州经济广播 FM103.5,http://ls.qingting.fm/live/2812.m3u8 +湖州综合广播 湖州之声 FM05,http://live.xmcdn.com/live/675/64.m3u8 +湖州综合广播 湖州之声 FM05,http://ls.qingting.fm/live/2810.m3u8 +怀化交通频道,http://ls.qingting.fm/live/3077141.m3u8 +怀化新闻频道,http://ls.qingting.fm/live/3077068.m3u8 +怀集音乐之声,http://live.xmcdn.com/live/1205/64.m3u8 +怀集音乐之声,http://ls.qingting.fm/live/4804.m3u8 +惠州环保交通广播 FM98.8,http://ls.qingting.fm/live/5017.m3u8 +惠州新闻综合广播 FM100,http://ls.qingting.fm/live/5016.m3u8 +惠州音乐广播 FM90.7,http://ls.qingting.fm/live/2212959.m3u8 +吉林交通广播 FM103.8,http://live.xmcdn.com/live/431/64.m3u8 +吉林交通广播 FM103.8,http://ls.qingting.fm/live/4945.m3u8 +吉林经济广播 FM95.3,http://live.xmcdn.com/live/433/64.m3u8 +吉林经济广播 FM95.3,http://ls.qingting.fm/live/3976.m3u8 +吉林乡村之声广播 FM97.6,http://live.xmcdn.com/live/430/64.m3u8 +吉林新闻综合广播 FM91.6,http://live.xmcdn.com/live/429/64.m3u8 +吉林新闻综合广播 FM91.6,http://ls.qingting.fm/live/4953.m3u8 +吉林音乐广播 FM92.7,http://live.xmcdn.com/live/434/64.m3u8 +吉林音乐广播 FM92.7,http://ls.qingting.fm/live/1831.m3u8 +吉林资讯广播 FM100.1,http://live.xmcdn.com/live/432/64.m3u8 +济南故事广播 FM104.3,http://ls.qingting.fm/live/1672.m3u8 +济南交通广播 FM103.1,http://ls.qingting.fm/live/1669.m3u8 +济南经济广播 FM90.9,http://live.xmcdn.com/live/800/64.m3u8 +济南经济广播 FM90.9,http://ls.qingting.fm/live/1668.m3u8 +济南私家车广播 FM93.6,http://ls.qingting.fm/live/1670.m3u8 +济南新闻广播 FM106.6,http://live.xmcdn.com/live/795/64.m3u8 +济南新闻广播 FM106.6,http://ls.qingting.fm/live/1667.m3u8 +济南音乐广播(MUSIC887),http://live.xmcdn.com/live/799/64.m3u8 +济南音乐广播(MUSIC887),http://ls.qingting.fm/live/1671.m3u8 +江门旅游音乐台 FM93.3,http://ls.qingting.fm/live/1283.m3u8 +江门新闻综合台 FM100.2,http://ls.qingting.fm/live/1282.m3u8 +江苏财经广播 AM585,http://lzlive.vojs.cn/caijing/92/live.m3u8 +江苏故事广播 AM1206,http://lzlive.vojs.cn/rWjyus9/92/live.m3u8 +江苏健康广播 AM846,http://lzlive.vojs.cn/EWpb5Ov/92/live.m3u8 +江苏交通广播 FM101.1,http://live.xmcdn.com/live/536/64.m3u8 +江苏交通广播 FM101.1,http://ls.qingting.fm/live/4054.m3u8 +江苏交通广播 FM101.1,http://lzlive.vojs.cn/4TaHTeL/92/live.m3u8 +江苏金陵之声,http://lzlive.vojs.cn/Hd2hIgM/92/live.m3u8 +江苏经典流行音乐 FM97.5,http://lzlive.vojs.cn/2wtSfrS/92/live.m3u8 +江苏文艺广播 AM1053,http://lzlive.vojs.cn/pL6NkZo/92/live.m3u8 +江苏新闻广播 FM93.7,http://live.xmcdn.com/live/534/64.m3u8 +江苏新闻广播 FM93.7,http://ls.qingting.fm/live/4944.m3u8 +江苏新闻广播 FM93.7,http://lzlive.vojs.cn/5Fo8mMX/92/live.m3u8 +江苏新闻综合广播 AM702,http://live.xmcdn.com/live/533/64.m3u8 +江苏新闻综合广播 AM702,http://ls.qingting.fm/live/5055.m3u8 +江苏新闻综合广播 AM702,http://lzlive.vojs.cn/rTyLc36/92/live.m3u8 +江苏音乐广播 FM89.7,http://lzlive.vojs.cn/jAmO6Ng/92/live.m3u8 +金鹰955电台,http://live.xmcdn.com/live/405/64.m3u8 +金鹰955电台,http://ls.qingting.fm/live/4937.m3u8 +Asia FM,https://lhttp.qingting.fm/live/5022405/64k.mp3 +CRI怀旧金曲频道,https://lhttp.qingting.fm/live/5022038/64k.mp3 +上海经典947音乐广播,http://lhttp.qingting.fm/live/267/64k.mp3 +哈尔滨音乐广播,https://lhttp.qingting.fm/live/839/64k.mp3 +新疆故事广播,https://lhttp.qingting.fm/live/1911/64k.mp3 +纽约WABH-AM 1380(Country),https://ice24.securenetsystems.net/WABH +扬州交通广播,http://ls.qingting.fm/live/2804.m3u8 +扬州流行音乐广播,http://ls.qingting.fm/live/2805.m3u8 \ No newline at end of file diff --git a/Course/解析收集.txt b/Course/解析收集.txt new file mode 100644 index 0000000..e1fe959 --- /dev/null +++ b/Course/解析收集.txt @@ -0,0 +1,390 @@ +"parses":[ +{"name":"解析聚合","type":3,"url":"Demo"}, +{"name":"Json并发","type":2,"url":"Parallel"}, +{"name":"Json轮询","type":2,"url":"Sequence"}, +{"name":"365","type":0,"url":"https://chaxun.truechat365.com/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"Yoyo1","type":1,"url":"https://json.legendwhb.cn/json.php/?url="}, +{"name":"vip视频在线解析1","type":1,"url":"https://vip.agoni.top/?url="}, +{"name":"PPJ解析","type":1,"url":"https://jx.ppjbk.cn/?url="}, +{"name":"bz2","type":0,"url":"https://h5.freejson.xyz/player/?url="}, +{"name":"bz3","type":0,"url":"https://freejx.rx88.top:1234/?url="}, +{"name":"解析9","type":1,"url":"https://dm.xmflv.com:4433/?url="}, +{"name":"☑钢铁侠","type":1,"url":"https://json.freejx.in/?url="}, +{"name":"诺诺","type":1,"url":"https://www.ckmov.com/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"诺讯","type":1,"url":"https://www.nxflv.com/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"888","type":1,"url":"https://app.iminna.com/jx/?url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name":"解41","type":1,"url":"https://jx.kujiexi.net/m3u8.php?url="}, +{"name":"解42","type":1,"url":"http://jx.ykyunbo.com/m3u8.php?url="}, +{"name":"解43","type":1,"url":"https://player.aibozyplayer.com/m3u8/?url="}, +{"name":"解44","type":1,"url":"https://player.sewozyplayer.com/m3u8/?url="}, +{"name":"解46","type":1,"url":"https://player.leyuzy.net/?url="}, +{"name":"解47","type":1,"url":"https://api.xiusebf.com/m3u8/?url="}, +{"name":"解48","type":1,"url":"https://mgm3u8-player.com/player/DPm3u8.php?url="}, +{"name":"解49","type":1,"url":"https://player.77lehuo.com/aliplayer/?url="}, +{"name":"解50","type":1,"url":"https://jx.ykyunbo.com/m3u8.php?url="}, +{"name":"解54","type":1,"url":"http://api.diliktv.xyz/vip/jx.php?url="}, +{"name":"解57","type":1,"url":"https://www.xymav.com/?url="}, +{"name":"解58","type":1,"url":"https://9kjx.com/?url="}, +{"name":"解59","type":1,"url":"https://dp.fqplayer.com/dplayer/?url="}, +{"name":"解61","type":1,"url":"https://api.iztyy.com/jiexi/?url="}, +{"name":"解63","type":1,"url":"http://vip.26db.cn/c/?url="}, +{"name":"解64","type":1,"url":"http://vip.26db.cn/f/?url="}, +{"name":"解65","type":1,"url":"http://vip.26db.cn/a/?url="}, +{"name":"解66","type":1,"url":"http://okjx.cc/?url="}, +{"name":"解85","type":1,"url":"https://www.1717yun.com/api/?url="}, +{"name":"解95","type":1,"url":"https://660e.com/?url="}, +{"name":"解96","type":1,"url":"https://www.8090.la/8090/?url="}, +{"name":"解101","type":1,"url":"https://player.maqq.cn/?url="}, +{"name":"解109","type":1,"url":"http://m2090.com/?url="}, +{"name":"解析第一","type":0,"url":"http://27.124.4.42:4567/jhjson/ceshi.php?url="}, +{"name":"解析05","type":0,"url":"http://id190.tpddns.cn:81/jsonch/?url="}, +{"name":"星空影视","type":1,"url":"http://api.vip123kan.vip/?url="}, +{"name":"醉仙","type":0,"url":"https://jx.zui.cm/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"解析10","type":1,"url":"http://w.h100.top/jxhx/jx/?url="}, +{"name":"2","type":1,"url":"https://jx.mczdyw.com/xg.php?url=","ext":{"flag":["mgtv","芒果"]}}, +{"name":"BL","type":1,"url":"https://vip.bljiex.com/?v=","ext":{"flag":["ltnb","qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"ccyjjd","type":1,"url":"https://ckmov.ccyjjd.com/ckmov/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"CK","type":1,"url":"https://www.ckplayer.vip/jiexi/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"playerjy/B站","type":1,"url":"https://jx.playerjy.com/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"PM","type":1,"url":"https://www.playm3u8.cn/jiexi.php?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"刚刚影视","type":0,"url":"https://vip.fuqizhishi.com/?v="}, +{"name":"多多","type":1,"url":"https://player.movie09.com/dplayer/?url="}, +{"name":"💡迪奥","type":1,"url":"https://123.1dior.cn/?url="}, +{"name":"💡ckmov","type":1,"url":"https://www.ckmov.vip/api.php?url="}, +{"name":"💡H8","type":1,"url":"https://www.h8jx.com/jiexi.php?url="}, +{"name":"💡MUTV","type":1,"url":"https://jiexi.janan.net/jiexi/?url="}, +{"name":"💡MAO","type":1,"url":"https://www.mtosz.com/m3u8.php?url="}, +{"name":"椰子0","type":0,"url":"http://jx.gbxy.net.cn/?url="}, +{"name":"椰子1","type":0,"url":"https://z1.m1907.cn/?jx="}, +{"name":"线路NX","type":1,"url":"https://vip.nxflv.com/home/api?uid=701203&key=bltuyCEFKLTX013679&url="}, +{"name":"leduo","type":1,"url":"https://api.ldjx.cc/wp-api/getvodurl.php?token=1001&vid=","ext":{"flag":["leduo"]}}, +{"name":"renrenmi3","type":1,"url":"https://sz.dxzj88.com/jxrjrm/jiaomi.php?url=","ext":{"flag":["renrenmi"]}}, +{"name":"Pro2","type":1,"url":"https://vip.rongxingvr.top/api/?type=ys&key=JJEZkZIhzkA4cUtBfR&url=","ext":{"flag":["ltnb","rx","qiyi","爱奇艺","qq","奇艺","sohu","letv","youku","优酷","mgtv","芒果"]}}, +{"name":"3","type":1,"url":"https://www.aiaine.com/api/?key=kVqmG5dAQ5dZTcECw8&url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name":"4","type":1,"url":"https://svip.rongxingvr.top/api/?key=niBgMGXVdCQhsmeEBK&url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name":"飓风影院2","type":1,"url":"https://vvip.funsline.cn/api/?key=3xWfEoDf4V9p9Y20CR&url=","ext":{"flag":["ziqie","youku","优酷","qiyi","爱奇艺","奇艺","mgtv","芒果","qq","腾讯"]}}, +{"name":"我爱电影网","type":1,"url":"https://jhpc.manduhu.com/j1217.php?url=","ext":{"flag":["qiyi","爱奇艺","奇艺","mgtv","芒果","youku","优酷","pptv","PPTV"]}}, +{"name":"江湖解析","type":1,"url":"http://103.40.240.46/jh/?url=","ext":{"flag":["renrenmi","qq","腾讯","youku","优酷","mgtv","芒果","xigua","西瓜"]}}, +{"name":"王牌","type":1,"url":"https://za.kuanjv.com/?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","搜狐","sohu","letv","乐视","bilibili","哔哩哔哩","哔哩","xigua","西瓜"]}}, +{"name":"盘古解析","type":1,"url":"https://json.pangujiexi.com:12345/json.php?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果"]}}, +{"name":"欢雨","type":1,"url":"http://www.youhuifuligou.com/json/?id=7&url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","letv","乐视","xigua","西瓜"]}}, +{"name":"hfyrw","type":1,"url":"https://json.hfyrw.com/mao.go?url=","ext":{"flag":["ltnb","renrenmi"]}}, +{"name":"aiaine02","type":1,"url":"https://vip.aiaine.com/api/?key=8FN8gNAySnvJiMllxZ&url=","ext":{"flag":["ltnb","renrenmi","xfyun","miaoparty","miaoparty2","miaoparty3","longteng","xueren"]}}, +{"name":"五一解析","type":1,"url":"https://json.5lp.net/json.php?url=","ext":{"flag":["ltnb","renrenmi","rx","rongxing"]}}, +{"name":"RongXingVR","type":1,"url":"https://vip.rongxingvr.top/api/?key=JJEZkZIhzkA4cUtBfR&url=","ext":{"flag":["renrenmi","rx","rongxing","mgtv","芒果","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"jx36","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=9105801&key=huwxFGILMOQSTUZ679&url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果"]}}, +{"name":"Wuduzy","type":1,"url":"https://aa.xkys.tv/json.php?url=","ext":{"flag":["wuduzy"]}}, +{"name":"LTRX","type":1,"url":"https://svip.spchat.top/api/?type=ys&key=bKemW41JnxmQb4l67h&url=","ext":{"flag":["rx"]}}, +{"name":"喵派对资源3","type":1,"url":"https://vip.aiaine.com/api/?key=fOWaGgFU45zlIjvbHI&url=","ext":{"flag":["ltnb","renrenmi"]}}, +{"name":"喵派对资源2","type":1,"url":"https://svip.iremind.me/api/?key=A5Db8HF8c8FSIOR6R1&url=","ext":{"flag":["renrenmi","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","bilibili","哔哩哔哩","哔哩","sohu"]}}, +{"name":"M117","type":0,"url":"http://1.117.152.239:39000/?url="}, +{"name":"parwix1","type":0,"url":"https://jx.parwix.com:4433/player/?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"parwix2","type":0,"url":"https://jx.parwix.com:4433/player/analysis.php?v=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"xuerenweb","type":0,"url":"https://s.2tu.uk/?url=","ext":{"flag":["xueren"]}}, +{"name":"xuerenweb2","type":0,"url":"https://xrm3u8.qd234.cn/?url=","ext":{"flag":["xueren"]}}, +{"name":"美剧虫","type":0,"url":"https://jx.daiguaji.com/?url=","ext":{"flag":["zijian"]}}, +{"name":"miao","type":0,"url":"https://jx.58g8.com/1/?url=","ext":{"flag":["miaoparty"]}}, +{"name":"瓜瓜优选","type":2,"url":"Preference"}, +{"name":"瓜瓜免嗅","type":2,"url":"Cucumber"}, +{"name":"bilibili","type":1,"url":"https://vip.23at.cn/home/api?type=ys&uid=4883852&key=adfimsvxzDKNOVX389&url=","ext":{"flag":["bilibili"]}}, +{"name":"初心影视1","type":1,"url":"http://jhpc.manduhu.com/j1217.php?url=","ext":{"flag":["youku","优酷","qq","腾讯","mgtv","芒果"]}}, +{"name":"初心影视9","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1931000&key=gktuvyzABEORSYZ135&url=","ext":{"flag":["youku","优酷","qq","腾讯","mgtv","芒果"]}}, +{"name":"jx165","type":1,"url":"https://ltjx.kuaixiao.vip/home/api?type=ys&uid=506916&key=dlmpwBHIKLMPQRVW23&url=","ext":{"flag":["ltnb"]}}, +{"name":"leduotv","type":1,"url":"https://api.leduotv.com/wp-api/getvodurl.php?vid=","ext":{"flag":["leduo"]}}, +{"name":"OJBK","type":0,"url":"https://jmwl.qd234.cn/v/?v=","ext":{"flag":["ltnb","renrenmi","rx","xfyun","muxm3u8","xigua","xueren","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","bilibili","哔哩哔哩","哔哩","pptv","PPTV","sohu","letv"]}}, +{"name":"1","type":1,"url":"https://svip.msdv.cn/api/?key=YAUhZt7TmZg2BUTQC2&url="}, +{"name":"2","type":0,"url":"http://ts.yjhan.com:8090/api/?key=kYMcDdn4gh3AAxVXbQ&url="}, +{"name":"3","type":1,"url":"http://23.224.174.74:5577/home/api?type=ys&uid=19722&key=aghknrsvxCDEGNRSUZ&url="}, +{"name":"5","type":1,"url":"http://cygc.xyz:88/api/?key=MhH2xWPjH3ZX2n3Ddv&url="}, +{"name":"6","type":1,"url":"https://api.parwix.com:4433/analysis/json/?uid=556&my=acfhjoprtuvxKLMQ12&url="}, +{"name":"7","type":1,"url":"https://ysjx.jikezhuji.com/api/?key=80gdewY7tQriIwA6hw&url="}, +{"name":"大熊影视","type":1,"url":"http://42.157.128.85:880/analysis/json/?uid=1735&my=bcdgkmpvxADJLNUYZ8&url=","ext":{"flag":["youku","优酷","qq","腾讯","qiyi","爱奇艺","奇艺"]}}, +{"name":"菜鸟追剧1","type":1,"url":"http://106.52.51.138:52013/lt.php?url=","ext":{"flag":["ltnb"]}}, +{"name":"小白动漫","type":1,"url":"http://121.62.60.222:1314/lt.php?url=","ext":{"flag":["ltnb","longteng"]}}, +{"name":"300看世界2","type":1,"url":"https://jx.300ys.xyz/json/m3u8.php/?url=","ext":{"flag":["ftqp4","xuanfeng"]}}, +{"name":"300看世界3","type":1,"url":"http://jx.300ys.xyz/json/m3u8.php/?url=","ext":{"flag":["zy1080","xkys"]}}, +{"name":"爱看美剧1","type":1,"url":"https://play.akmeiju.cc:553/akmeiju.php?url=","ext":{"flag":["aikan"]}}, +{"name":"爱西西","type":1,"url":"http://jx.laodi.xyz:6699/api.php/user/jx?uid=4&ldkey=BLsUKYVZiWdmQc7bbpT3&url=","ext":{"flag":["laodim3u8"]}}, +{"name":"白嫖影视","type":1,"url":"http://ts.yjhan.com:8090/api/?key=Y4GefMCIQJz23mc06R&url=","ext":{"flag":["CL4K"]}}, +{"name":"段友影视","type":1,"url":"http://ts.yjhan.com:8090/api/?key=DSQFgXdmj9xkDyiXdr&url=","ext":{"flag":["CL4K"]}}, +{"name":"爱看美剧","type":1,"url":"http://ts.yjhan.com:8090/api/?key=P6XfOl9hD3LpqOFdRJ&url=","ext":{"flag":["CL4K"]}}, +{"name":"天诚影视1","type":1,"url":"https://yun.nbjx.vip:4399/json/?uid=6&tokey=befhmoqFHMOQRTUXZ7&url=","ext":{"flag":["qiyi","爱奇艺","奇艺"]}}, +{"name":"300看世界","type":1,"url":"https://jx.300ys.xyz/json/jh.php/?url=","ext":{"flag":["youku","优酷","qiyi","爱奇艺","奇艺","renrenmi","qq","腾讯","letv","乐视"]}}, +{"name":"琳琅影院","type":1,"url":"http://ts.yjhan.com:8090/api/?key=njU0bfiF05eODFfktq&url=","ext":{"flag":["CL4K"]}}, +{"name":"爱酷影视","type":1,"url":"https://yun.nbjx.vip:4399/json/?uid=5&tokey=ikmnorsvxyzCFKQU59&url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","letv","乐视"]}}, +{"name":"小白动漫1","type":1,"url":"https://ltnb.jeeves.vip/home/api?type=ys&uid=2753644&key=bdgipszEOPQUXZ3569&url=","ext":{"flag":["ltnb","longteng"]}}, +{"name":"康耀影视6","type":1,"url":"http://175.178.109.153:615//api/?key=6OCzkXnrNIxhVxrM8G&url=","ext":{"flag":["miaoparty","qiyi","爱奇艺","奇艺","qq","腾讯","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","miaoparty3"]}}, +{"name":"饭后电影","type":1,"url":"http://ts.yjhan.com:8090/api/?key=yNSLsBLOaUkKp2kZ6i&url=","ext":{"flag":["CL4K"]}}, +{"name":"麻瓜视频","type":1,"url":"https://kuba.renrenmi.cc:2266/api/?key=a2bSwx5iAGx1g2qn4h&url=","ext":{"flag":["renrenmi"]}}, +{"name":"零刻影院","type":1,"url":"http://ys.ling00.cn/json/?url=","ext":{"flag":["CL4K"]}}, +{"name":"粉象视界","type":1,"url":"http://47.100.138.210:91/home/api?type=ys&uid=4476440&key=eghkvwxyFHORVX3478&url=","ext":{"flag":["mgtv","芒果","renrenmi","youku","优酷","qiyi","爱奇艺","奇艺"]}}, +{"name":"爱酷影视6","type":1,"url":"https://jb.vjiangbei.com/home/api?type=ys&uid=646808&key=gklpqrtwyDIJKMP467&url=","ext":{"flag":["qq","腾讯","letv","乐视","youku","优酷"]}}, +{"name":"益达影院6","type":1,"url":"https://jb.vjiangbei.com/home/api?type=ys&uid=281459&key=cfnoprCDJKLNPQTY34&url=","ext":{"flag":["ltnb","ziqie","qq","腾讯","youku","优酷","qiyi","爱奇艺","奇艺","mgtv","芒果","letv","乐视"]}}, +{"name":"思乐影视1","type":1,"url":"https://jb.vjiangbei.com/home/api?type=ys&uid=2534396&key=ejovwzABDKTUXY1357&url=","ext":{"flag":["mgtv","芒果","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷"]}}, +{"name":"琅琊影视","type":1,"url":"https://ltjx.jeeves.vip/home/api?type=ys&uid=1589472&key=aehjpzAHILOPQRU456&url=","ext":{"flag":["ltnb"]}}, +{"name":"DC影视2","type":1,"url":"https://ltjx.jeeves.vip/home/api?type=ys&uid=461939&key=adfgilmotCEPRSXY06&url=","ext":{"flag":["ltnb"]}}, +{"name":"抹茶猪","type":1,"url":"https://ltjx.jeeves.vip/home/api?type=ys&uid=1136443&key=bhijopryzBJKLMSUX8&url=","ext":{"flag":["ltnb"]}}, +{"name":"思乐影视","type":1,"url":"https://ltjx.jeeves.vip/home/api?type=ys&uid=1427917&key=bdfilpqsxzDEGHRW04&url=","ext":{"flag":["ltnb"]}}, +{"name":"大熊影视","type":1,"url":"https://jf.1080p.icu/home/api?type=dsp&uid=147565&key=adilmopuBEFJNUV067&url=","ext":{"flag":["wuduzy"]}}, +{"name":"南府追剧1","type":1,"url":"https://jx.ncxmid.cn/sb/?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷"]}}, +{"name":"绿箭影视","type":1,"url":"https://ltjx.jeeves.vip/home/api?type=ys&uid=803828&key=cdefimpzDQTUW23679&url=","ext":{"flag":["ltnb"]}}, +{"name":"小白动漫2","type":1,"url":"https://ltjx.jeeves.vip/home/api?type=ys&uid=1284948&key=bdehjlqtDEHJPZ0156&url=","ext":{"flag":["ltnb","longteng"]}}, +{"name":"琅琊影视8","type":1,"url":"https://jf.96ym.cn/api/?key=13FXcA46Nzg4QeFHbq&url=","ext":{"flag":["ziqie","ltnb","youku","优酷","qiyi","爱奇艺","奇艺","qq","腾讯","letv","乐视"]}}, +{"name":"虎猫视频","type":1,"url":"https://humaosp.com/json.php?url=","ext":{"flag":["qq","腾讯"]}}, +{"name":"天诚影视2","type":1,"url":"https://svip.renrenmi.cc:2222/api/?key=hWip8WQvRg7oniSF0M&url=","ext":{"flag":["qiyi","爱奇艺","奇艺"]}}, +{"name":"DC影视","type":1,"url":"https://jb.vjiangbei.com/home/api?type=ys&uid=2219260&key=bcdjqBEFGLMPW01457&url=","ext":{"flag":["ziqie","ltnb","qq","腾讯"]}}, +{"name":"南府追剧1","type":1,"url":"https://vvip.muxvip.com:8866/api/?key=xJvC19KWkxoyQO71hk&url=","ext":{"flag":["muxm3u8"]}}, +{"name":"粉象视界1","type":1,"url":"https://www.xinkanke.com/jiexi/go.php?url=","ext":{"flag":["ltnb"]}}, +{"name":"南府影视","type":1,"url":"https://vvip.muxvip.com:8866/api/?key=xVIWNjOvnxgmvrPgXO&url=","ext":{"flag":["muxm3u8"]}}, +{"name":"300看世界","type":1,"url":"https://jx.300ys.xyz/jiexi/v.php/?url=","ext":{"flag":["qiyi","爱奇艺","奇艺","qq","腾讯","mgtv","芒果","letv","乐视"]}}, +{"name":"爱酷影视5","type":1,"url":"https://xrjson.qd234.cn/home/api?type=ys&uid=127899&key=aefhilptwADEKNSV46&url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","rx","letv","乐视","youku","优酷"]}}, +{"name":"南府追剧","type":1,"url":"https://app.omofun.net/m3u8/omofun.php?id=","ext":{"flag":["dmplay"]}}, +{"name":"康耀影视4","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=8153438&key=dfjkmopxHJKNXZ2389&url=","ext":{"flag":["qiyi","爱奇艺","奇艺","youku","优酷","letv","乐视"]}}, +{"name":"天诚影视4","type":1,"url":"https://svip.cygc.xyz/api/?key=LHIDJlDFp1lPagfFwQ&url=","ext":{"flag":["qiyi","爱奇艺","奇艺"]}}, +{"name":"爱酷影视1","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=8459535&key=efiknotzFHKLQSVX59&url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","letv","乐视"]}}, +{"name":"叮当影视1","type":1,"url":"http://dt.hwh.ink/home/api?type=ys&uid=1297351&key=acdfklopqvwyKLOT39&url=","ext":{"flag":["qiyi","爱奇艺","奇艺","ltnb","renrenmi","qq","腾讯","mgtv","芒果","youku","优酷","letv","乐视"]}}, +{"name":"天诚影视3","type":1,"url":"https://vvip.muxvip.com:8866/api/?key=7wk1FnMRDwAVTPDNAM&url=","ext":{"flag":["qiyi","爱奇艺","奇艺"]}}, +{"name":"段友影视1","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=998036&key=afhlnuvzDJLMOX3689&url=","ext":{"flag":["qq","腾讯"]}}, +{"name":"蜜蜂影视4","type":1,"url":"https://xrjson.qd234.cn/home/api?type=ys&uid=366750&key=afgrstxFGHJKLMQVX1&url=","ext":{"flag":["ltnb","xueren","renrenmi"]}}, +{"name":"段友影视","type":1,"url":"https://api.qilin.best/home/api?type=ys&uid=2343358&key=cekpsuvxJKNOV34789&url=","ext":{"flag":["qq","腾讯"]}}, +{"name":"菜鸟追剧","type":1,"url":"https://apis.jxcxin.cn/api/jx?url=","ext":{"flag":["qq","腾讯","mgtv","芒果"]}}, +{"name":"天诚影视5","type":1,"url":"http://json.1920lgzy.top/api/?key=K6ROZoQ9Y5FxzkdgTT&url=","ext":{"flag":["1920l","qiyi","爱奇艺","奇艺"]}}, +{"name":"六把刀影院","type":1,"url":"https://vip.aiaine.com/api/?key=pJiKdUKoatLiVha0el&url=","ext":{"flag":["miaoparty","miaoparty3"]}}, +{"name":"琅琊影视7","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=123503&key=ghinorsuvBCMOQTY68&url=","ext":{"flag":["ziqie","qiyi","爱奇艺","奇艺","qq","腾讯","mgtv","芒果"]}}, +{"name":"饭后电影1","type":1,"url":"http://jx.yinliub.cn/home/api?type=ys&uid=512130&key=dinstuwBGJRTUY0369&url=","ext":{"flag":["ltnb","qq","腾讯","qiyi","爱奇艺","奇艺","letv","乐视","rx","youku","优酷","mgtv","芒果"]}}, +{"name":"天诚影视","type":1,"url":"http://jf.tcspvip.com:246/api/?key=Yz4WsVTuG4PaM07i0f&url=","ext":{"flag":["1920l","qiyi","爱奇艺","奇艺"]}}, +{"name":"4K影院","type":1,"url":"http://47.100.138.210:91/home/api?type=ys&uid=7593435&key=ehortuyAHMNQTWX457&url=","ext":{"flag":["qiyi","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","mgtv","芒果"]}}, +{"name":"4K影院","type":1,"url":"https://www.aiaine.com/api/?key=e4keFpymfY5keNsavC&url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","pptv","PPTV","mgtv","芒果","youku","优酷"]}}, +{"name":"益达影院1","type":1,"url":"https://ltnb.jeeves.vip/home/api?type=ys&uid=2509623&key=glnpyADKLMNOTU0249&url=","ext":{"flag":["ltnb","ziqie"]}}, +{"name":"小极影视","type":1,"url":"https://jx.xiaoysw1.com/appjson/lt.php?url=","ext":{"flag":["ltnb"]}}, +{"name":"独播社","type":1,"url":"https://ltnb.jeeves.vip/home/api?type=ys&uid=2492729&key=bkmopwEFMNQSUWXZ67&url=","ext":{"flag":["ltnb","ziqie"]}}, +{"name":"灵狐影视","type":1,"url":"https://api.parwix.com:4433/analysis/json/?uid=84&my=gijkmnouvxyFHPYZ28&url="}, +{"name":"Vip影院1","type":1,"url":"https://api.zakkpa.com:8888/analysis/json/?uid=39&my=bdfinvyBCDEJKUY089&url="}, +{"name":"萌蛋蛋","type":1,"url":"https://svip.renrenmi.cc:2222/api/?key=LorFAswZzr3sGNI0YU&url=","t":119,"i":"checkat2021-12-2819:44:48"}, +{"name":"影阅阁2","type":1,"url":"https://svip.renrenmi.cc:2222/api/?key=82KErJogweliHPt7Yp&url=","t":123,"i":"checkat2021-12-2819:44:31"}, +{"name":"看剧吧","type":1,"url":"https://svip.renrenmi.cc:2222/api/?key=fI3YQ3vxF5uREfNpDU&url=","t":156,"i":"checkat2021-12-2819:45:41"}, +{"name":"绿箭影视","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=7743764&key=acgjlopuxACEHJLT48&url=","t":166,"i":"checkat2021-12-2819:44:44"}, +{"name":"麻瓜视频","type":1,"url":"https://api.parwix.com:4433/analysis/json/?uid=1735&my=egkqvxzBEHPQSUWX28&url=","t":170,"i":"checkat2021-12-2819:44:04"}, +{"name":"南府影视","type":1,"url":"http://play.szbodankyy.com/cnmb111/?url=","t":186,"i":"checkat2021-12-2819:44:36"}, +{"name":"小强TV","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=867242&key=acjksAGHJMPQTY3567&url=","t":190,"i":"checkat2021-12-2819:44:17"}, +{"name":"DC影视","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=7665652&key=dglmnwEFILMOPRW056&url=","t":206,"i":"checkat2021-12-2819:44:09"}, +{"name":"影阅阁3","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=594615&key=bcehpqtxCEGKMT0248&url=","t":236,"i":"checkat2021-12-2819:44:31"}, +{"name":"筋斗云","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1494542&key=ijmqvwxABEHILMOT48&url=","t":282,"i":"checkat2021-12-2819:44:44"}, +{"name":"艾特影视","type":1,"url":"http://159.75.45.225:12588/?url=","t":319,"i":"checkat2021-12-2819:45:21"}, +{"name":"4K影院1","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1095368&key=cdgjpsuDFLNRTUVY03&url=","t":335,"i":"checkat2021-12-2819:45:32"}, +{"name":"追剧吧","type":1,"url":"https://www.lengyue.app/hdsfajdkljlasjklsaj/?url=","t":356,"i":"checkat2021-12-2819:44:09"}, +{"name":"Yoyo","type":1,"url":"http://47.100.138.210:91/home/api?type=ys&uid=1947441&key=bcfgjmuwCEORSVX237&url=","t":367,"i":"checkat2021-12-2819:44:34"}, +{"name":"追剧吧3","type":1,"url":"http://47.100.138.210:91/home/api?type=ys&uid=715391&key=bdltvyACHKLQX01789&url=","t":384,"i":"checkat2021-12-2819:44:15"}, +{"name":"阿姨追剧","type":1,"url":"http://47.100.138.210:91/home/api?type=ys&uid=2867314&key=ntyzDEGHPQVW234789&url=","t":392,"i":"checkat2021-12-2819:45:01"}, +{"name":"二九影视","type":1,"url":"http://47.94.137.151:8089/?url=","t":450,"i":"checkat2021-12-2819:45:29"}, +{"name":"雨果影视1","type":1,"url":"https://json.nbjx.vip:4399/?wap=0&url=","t":459,"i":"checkat2021-12-2819:44:30"}, +{"name":"星影相随1","type":1,"url":"https://xt.gbxy.net.cn/api/?key=7gAmfK5typSVsg2Qnr&url=","t":497,"i":"checkat2021-12-2819:44:13"}, +{"name":"抹茶猪","type":1,"url":"https://svip.renrenmi.cc:2222/api/?key=81gnuXCwZK9IZxt8bU&url=","t":517,"i":"checkat2021-12-2819:44:15"}, +{"name":"筋斗云1","type":1,"url":"https://fast.rongxingvr.cn:8866/api/?key=nrR7koAyq9ajKId4nC&url=","t":552,"i":"checkat2021-12-2819:44:46"}, +{"name":"看剧吧1","type":1,"url":"http://47.100.138.210:91/home/api?type=ys&uid=243653&key=kqswxyABGHKLQSV127&url=","t":559,"i":"checkat2021-12-2819:45:42"}, +{"name":"麻瓜视频1","type":1,"url":"https://jhjx.ptygx.com/xttyjx.php/?url=","t":598,"i":"checkat2021-12-2819:44:16"}, +{"name":"看剧吧2","type":1,"url":"https://fast.rongxingvr.cn:8866/api/?key=G0KF039jDQWlMHMf5z&url=","t":618,"i":"checkat2021-12-2819:45:43"}, +{"name":"爱影视","type":1,"url":"http://json.iqtv.tv/json.php?id=syhdjjjelxu66&url=","t":709,"i":"checkat2021-12-2819:45:05"}, +{"name":"影阅阁","type":1,"url":"http://api1.json.vin:4433/api/?key=WPDh6vf0aT0ahepWzW&url=","t":721,"i":"checkat2021-12-2819:44:27"}, +{"name":"阿姨追剧3","type":1,"url":"http://json.qd234.cn/home/api?type=ys&uid=353067&key=bghmnoxBIKORUV1269&url=","t":826,"i":"checkat2021-12-2819:45:37"}, +{"name":"疯狂看","type":1,"url":"https://a.zhuijula.top/yun_api.php?url=","t":877,"i":"checkat2021-12-2819:45:25"}, +{"name":"瑞丰资源","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1285201&key=bcikqtwxyADEGKUX36&url="}, +{"name":"益达影院","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=123503&key=fgkqryzDEFLNQSTW69&url="}, +{"name":"无名","type":1,"url":"https://api.zakkpa.com:8888/analysis/json/?uid=91&my=gjksuvCHIJLRS01268&url="}, +{"name":"抹茶猪","type":1,"url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1525223&key=fhikpsvBCDFHJOSUZ8&url="}, +{"name":"麻瓜视频","type":1,"url":"https://api.parwix.com:4433/analysis/json/?uid=1735&my=cejkmnuvyBEFINR056&url="}, +{"name":"追剧吧2","type":1,"url":"https://svip.spchat.top/api/?key=SAl7tLs3Zzu5alSNtz&url="}, +{"name":"看剧吧1","type":1,"url":"https://supervip.rongxingvr.cn:8866/api/?key=nKn4eO8giUKSe8jxZU&url="}, +{"name":"爱影视","type":1,"url":"http://14.17.115.200:520/json.php?id=6e5LaYyU5JLs9aRawyGKwPkH7ZFr701z&url="}, +{"name":"追剧吧1","type":1,"url":"http://newjiexi.gotto.top/yun_apib.php/?url="}, +{"name":"无名-1","type":1,"url":"http://vipjh.chunbaotaiji.com/?url="}, +{"name":"Vip影院","type":1,"url":"https://api.zakkpa.com:8888/analysis/json/?uid=39&my=ehklrtxzAFKLMNUXY2&url="}, +{"name":"大头影视","type":1,"url":"http://fast.rongxingvr.cn:99/api/?key=M3tZzS2q0oGrQ7aWlr&url="}, +{"name":"绿箭影视","type":1,"url":"http://jf.jisutuku.top/api/?key=RHjXcjUTkyZnfWx9u4&url="}, +{"name":"我爱电影1","type":1,"url":"https://vip.kpjx.cc/api/?key=3sKKYzWSxLmX1hnsMs&url="}, +{"name":"蜜果TV","type":1,"url":"https://fast.rongxingvr.cn:8866/api/?key=rmxOw7BpINuGIyWQng&url="}, +{"name":"麻花视频","type":1,"url":"http://jf.tcspvip.com:246/home/api?type=ys&uid=65404&key=bjoprtvyABGIMPXZ27&url="}, +{"name":"饭后电影","type":1,"url":"https://fast.rongxingvr.cn:8866/api/?key=J4mUIu3DrRtIOojDox&url="}, +{"name":"豆渣影视","type":1,"url":"https://fast.rongxingvr.cn:8866/api/?key=jtDZ22biNujOBLlgoe&url="}, +{"name":"优视影视2","type":1,"url":"http://ccc.ysys.asia/jx/?id=4&url="}, +{"name":"极客","type":1,"url":"https://sbsb.i8k.cc/?url="}, +{"name":"遗忘影视","type":1,"url":"http://gq.bywdtk.cn/?url="}, +{"name":"玺娜影视","type":1,"url":"https://balabala.yatongle.com/api/?key=RuHZpg9zxigiLZRIyl&url="}, +{"name":"林谷影视","type":1,"url":"http://jf.lemiaoyun.cn/home/api?type=ys&uid=40190120&key=dhilnoCDHLOPQRUW29&url="}, +{"name":"Rx","type":1,"url":"https://vvip.funsline.cn/api/?key=JNiddoRwmLBYehxnFq&url=","ext":{"flag":["rx","youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name":"renrenmi","type":1,"url":"https://kuba.renrenmi.cc:2266/api/?key=02wsrxJzuGkI4C8pQ5&url=","ext":{"flag":["renrenmi"]}}, +{"name":"1","type":1,"url":"https://svip.rongxingvr.top/api/?key=Wyl9CjTyelP0UOaECD&url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name":"5","type":1,"url":"https://8700.top/api/?type=app&key=hdJPNHumGa905uqoee&url=","ext":{"flag":["ltnb","youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name":"6","type":1,"url":"https://svip.iremind.me/api/?key=LWYifrJ9QrCCrtn06g&url=","ext":{"flag":["ltnb","youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name":"7","type":1,"url":"http://json.hfyrw.com:9501/mao.go?url=","ext":{"flag":["ltnb","youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name":"CJT影院","type":1,"url":"https://svip.rongxingvr.top/api/?key=B26J6jO5MOnjUv3GqW&url=","ext":{"flag":["renrenmi","rx","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"jx34","type":1,"url":"https://jiexi.300ys.xyz/json/jianghujx.php/?url=","ext":{"flag":["renrenmi","bilibili","哔哩哔哩","哔哩","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","pptv","PPTV","sohu"]}}, +{"name":"jx86","type":1,"url":"https://17.txtest.qzbeyond.cn/e4a/?url=","ext":{"flag":["qq","腾讯","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"影视达人01","type":1,"url":"http://svip.cygc.xyz/api/?key=sAJihNO41tPHN3szy1&url=","ext":{"flag":["ltnb","renrenmi","xigua","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"cx99999","type":1,"url":"http://cx99999.cn/rxjson.php?url=","ext":{"flag":["renrenmi","rx","xueren","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"RongXingVR","type":1,"url":"http://23.224.174.74:5583/jsonindex.php?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","sohu","pptv","PPTV","bilibili","哔哩哔哩","哔哩","renrenmi","rx"]}}, +{"name":"搬运工资源站","type":1,"url":"https://jx.kupu.cc/json/jxbanyung.php/?url=","ext":{"flag":["ltnb","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","sohu","pptv","PPTV","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"公主","type":1,"url":"https://jx.renrenmi.cc/?url="}, +{"name":"云you解析2","type":1,"url":"https://maoyingshi.cc/api.php?url=","ext":{"flag":["qq","qiyi","mgtv","youku","letv","sohu","xigua","1905"],"header":{"User-Agent":"Dart/2.14(dart:io)"}}}, +{"name":"293","type":1,"url":"http://110.42.2.115:880/analysis/json/?uid=2100&my=fgjnoqstLMRUZ03489&url=","ext":{"flag":["qq","qiyi","mgtv","youku","letv","sohu","xigua","1905"],"header":{"User-Agent":"Dart/2.14(dart:io)"}}}, +{"name":"433解析","type":1,"url":"https://jx.bozrc.com:4433/player/?url=","ext":{"flag":["qiyi","qq","letv","sohu","youku","mgtv","bilibili","wasu","xigua","1905","优酷","芒果","腾讯","爱奇艺","奇艺"]}}, +{"name":"龙虾","type":1,"url":"http://106.55.234.91:4433/?url=","ext":{"flag":["qq","qiyi","mgtv","youku","letv","sohu","xigua","1905"],"header":{"User-Agent":"Dalvik/2.1.0"}}}, +{"name":"搬运","type":1,"url":"https://jx.bynote.top/API.php?url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"江湖","type":1,"url":"http://211.99.99.236:4567/jhjson/ceshi.php?url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"扶风","type":1,"url":"https://vip.byteamone.cn/api/?key=6sdRk7xF8yaTMlRoqr&url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"油果","type":1,"url":"http://json.youguo520.top/fufeng/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"],"header":{"User-Agent":"Dart/2.14(dart:io)"}}}, +{"name":"parwixvip","type":0,"url":"https://vip.parwix.com:4433/player/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"线路1","type":1,"url":"https://jx.hfyrw.com/mao.go?url=","ext":{"flag":["youku","优酷","mgtv","芒果","qq","腾讯","qiyi","爱奇艺","qq","奇艺"]}}, +{"name":"线路5","type":1,"url":"https://www.pangujiexi.com/pangu/?url="}, +{"name":"线路9","type":1,"url":"https://jie.1z1.cc/api/?key=HdMmTMfyf1uTOQUL0b&url="}, +{"name":"真不卡2","type":1,"url":"https://good-vip.mmiyue.com/zhenbuka2/api/svip/HaShrcJUHwtH7TDdgUzHaWvJ1lWUZWiK.php?url="}, +{"name":"播放呀","type":1,"url":"https://jx.vk95.com/xx/?url="}, +{"name":"想看资源","type":1,"url":"https://lyw28.com/m3u8/?url="}, +{"name":"renrenmi1","type":1,"url":"https://jx.blbo.cc:4433/?url="}, +{"name":"解03","type":1,"url":"http://115.231.218.97:1314/api/?key=RwOSJUQyDGtD5K2qJY&url="}, +{"name":"解04","type":1,"url":"https://jhjx.kuanjv.com/newky/?url="}, +{"name":"解09","type":1,"url":"https://jb.vjiangbei.com/home/api?type=ys&uid=281459&key=dhlotwxzABCIJMT189&url="}, +{"name":"解10","type":1,"url":"https://jf.96ym.cn/api/?key=4tuNi0EjxTYFzJIN5r&url="}, +{"name":"解11","type":1,"url":"https://jb.vjiangbei.com/home/api?type=ys&uid=2219260&key=hlmnpqswHIKQRSX146&url="}, +{"name":"解13","type":1,"url":"http://42.157.128.85:880/analysis/json/?uid=2245&my=chorsvzDIKVWX34789&url="}, +{"name":"解15","type":1,"url":"https://jx.7kjx.com/?url="}, +{"name":"解19","type":1,"url":"https://svip.renrenmi.cc:2222/api/?key=nn4j8rukPXSVzR78E9&url="}, +{"name":"解20","type":1,"url":"https://kuba.renrenmi.cc:2266/api/?key=1PhqM8xRCbmfgwmcE2&url="}, +{"name":"解21","type":1,"url":"http://www.youhuifuligou.com/json/?id=1&url="}, +{"name":"解22","type":1,"url":"https://dd.mouliuk.com/home/api?type=ys&uid=12293&key=acfhkovxzDEIMPWX29&url="}, +{"name":"解23","type":1,"url":"https://vip.byteamone.cn/api/?key=vpO0packXeAp4XYCnA&url="}, +{"name":"解36","type":1,"url":"http://42.157.128.85:880/analysis/json/?uid=2245&my=cdnouwxBHLMQSUVWZ1&url="}, +{"name":"解45","type":1,"url":"https://help.siwazywcdn2.com:5278/m3u8.php?url="}, +{"name":"解51","type":1,"url":"http://www.ikukk.com/?url="}, +{"name":"解52","type":1,"url":"https://jx.xmflv.com/?url="}, +{"name":"解53","type":1,"url":"https://www.8090g.cn/?url="}, +{"name":"解55","type":1,"url":"https://nbjx.vip/?url="}, +{"name":"解56","type":1,"url":"https://api.okjx.cc:3389/jx.php?url="}, +{"name":"解62","type":1,"url":"https://www.91jxs.com/jiexi/?url="}, +{"name":"解67","type":1,"url":"http://jx.xdiaosi.com/?url="}, +{"name":"解68","type":1,"url":"http://jx.rdhk.net/?url="}, +{"name":"解70","type":1,"url":"https://okjx.cc/?url="}, +{"name":"解81","type":1,"url":"https://vip.laobandq.com/jiexi.php?url="}, +{"name":"解84","type":1,"url":"https://svip.bljiex.cc/?v="}, +{"name":"解89","type":1,"url":"https://api.qianqi.net/vip/?url="}, +{"name":"解87","type":1,"url":"https://www.ikukk.com/?url="}, +{"name":"解90","type":1,"url":"https://api.jiexi.la/?url="}, +{"name":"解91","type":1,"url":"https://jx.m3u8.tv/jiexi/?url="}, +{"name":"解92","type":1,"url":"http://47.100.138.210:92/?url="}, +{"name":"解94","type":1,"url":"https://jx.iztyy.com/svip/?url="}, +{"name":"解97","type":1,"url":"https://jx.daidaitv.top:43810/?url="}, +{"name":"解98","type":1,"url":"https://www.vodjx.top/api/?key=XSQzk8KFK1I7FfPK5X&url="}, +{"name":"云you解析①","type":1,"url":"http://chaloli.cn/home/api?type=ys&uid=1&key=dfgilnotuyDGHMQW34&url="}, +{"name":"盘å�¤","type":0,"url":"https://www.m3u8.tv.cdn.8old.cn/jx.php?url="}, +{"name":"左岸","type":1,"url":"http://110.42.2.115:880/analysis/json/?uid=2288&my=flmoqszABEIJNQT017&url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","sohu","æ�œç‹�","letv","ä¹�视","mgtv","芒æ�œ","CL4K","renrenmi","ltnb","bilibili","1905","xigua"]}}, +{"name":"keyu","type":1,"url":"http://newjiexi.gotka.top/keyu3.php?url=","ext":{"flag":["qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒æ�œ","letv","ä¹�视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"],"header":{"User-Agent":"okhttp/4.1.0"}}}, +{"name":"éš�便2","type":1,"url":"https://www.nfjx.xyz/home/api?type=ys&uid=5767995&key=ijkmovxDEHIJPQRW69&url="}, +{"name":"GGTV1","type":1,"url":"https://play.fuqizhishi.com/juhe/API.php?appkey=caijijuhe220902&url="}, +{"name":"CK解析","type":1,"url":"http://api.ckflv.cn/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"视界","type":1,"url":"http://150.230.216.174/tvjx.php?url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"],"header":{"User-Agent":"Dart/2.14(dart:io)"}}}, +{"name":"思古","type":1,"url":"https://jsap.attakids.com/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"爱豆","type":1,"url":"https://jx.aidouer.net/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"夜幕","type":1,"url":"https://www.yemu.xyz/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"盘古","type":1,"url":"http://www.pangujiexi.cc/jiexi.php?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"盖世","type":1,"url":"https://www.gai4.com/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"0523","type":1,"url":"https://go.yh0523.cn/y.cy?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"17云","type":1,"url":"https://www.1717yun.com/jx/ty.php?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"4K","type":1,"url":"https://jx.4kdv.com/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"江湖","type":1,"url":"https://api.jhdyw.vip/?url=","ext":{"flag":["qq","腾讯","qiyi","iqiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","letv","乐视","pptv","PPTV","sohu","bilibili","哔哩哔哩","哔哩"]}}, +{"name":"Fosiå—…æ�¢","type":0,"url":"https://play.fositv.com/?url="}, +{"name":"爱酷嗅æ�¢","type":0,"url":"https://jx.zhanlangbu.com/?url="}, +{"name":"宝盒TV","type":1,"url":"https://jx.52ruo.cc/json/?id=6&url="}, +{"name":"解析02","type":1,"url":"https://hc.izny.cn/json.php?url="}, +{"name":"云端1","type":0,"url":"https://js.52jx.top:2525/?url="}, +{"name":"云端2","type":0,"url":"https://sb.5gseo.net/?url="}, +{"name":"💋So丶","type":0,"url":"https://tljiaqing.nde.tw/m3u8/?url="}, +{"name":"2080kk","type":1,"url":"https://v.2080kk.com/home/api?type=ys&uid=1308653&key=behnpstwxBCHJMQ029&url="}, +{"name":"云youè§£æ��â‘ ","type":1,"url":"https://chaloli.cn/home/api?type=ys&uid=1&key=dfgilnotuyDGHMQW34&url="}, +{"name":"觅知","type":1,"url":"https://jx.255tv.cn/api/?key=4nk3dhZkAWbHTNpP3n&url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"爱酷","type":1,"url":"https://k.json.icu/home/api?type=ys&uid=155872&key=dfhknruxyABJLMPY19&url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"融兴","type":1,"url":"https://svip.rongxingvr.top/api/?key=4gb6ui9qfap4kLrvb2&url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"左岸","type":1,"url":"http://110.42.2.115:880/analysis/json/?uid=2284&my=efghjmxzADEFIS0268&url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"乐喵","type":1,"url":"http://jf.lemiaoyun.cn/home/api?type=ys&uid=149204&key=aceqstuvzABDJPTYZ0&url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"猫咪","type":1,"url":"http://api.xiaomaomi.tv/home/api?type=ys&uid=8728968&key=cdkmqvyzFIJPRT2349&url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"灵谷","type":1,"url":"http://s.lingutv.cn/?url=","ext":{"flag":["qiyi","iqiyi","奇艺","爱奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","bilibili","哔哩哔哩","哔哩","mgtv","芒果","xigua","西瓜","sohu","搜狐","cntv","cctv","央视","1905","m1905"]}}, +{"name":"解析10","type":0,"url":"http://www.ckmov.vip/api.php?url="}, +{"name":"解析20","type":0,"url":"https://parse.123mingren.com/?url="}, +{"name":"解析21","type":0,"url":"http://api.wpsseo.cn/?v="}, +{"name":"解析23","type":0,"url":"https://www.pangujiexi.cc/jiexi.php?url="}, +{"name":"云you","type":1,"url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=klmnqADJQRUV024678&url="}, +{"name":"云you解析","type":1,"url":"http://chaloli.cn/home/api?type=ys&uid=1&key=dklsuzIKNPRVW14568&url="}, +{"name":"zn","type":1,"url":"https://svip.znjson.com/api/?key=gX8j9IPvoQ5mFmlIzu&url="}, +{"name":"tvjx1","type":1,"url":"http://42.157.129.28:5612/tvjx/?url="}, +{"name":"tvjx2","type":1,"url":"http://120.233.84.226:5612/tvjx/?url="}, +{"name":"0秒播","type":1,"url":"https://www.hfyrw.com/json.php?url="}, +{"name":"奥特曼","type":1,"url":"https://api.aoteman.tv/?url="}, +{"name":"飞飞解析","type":1,"url":"https://y.9dan.cc/?v="}, +{"name":"易看解析","type":1,"url":"https://analysis.yikan.one/analysis/player/?url="}, +{"name":"豪华啦解析","type":1,"url":"https://vipjx.cc/?url=","ext":{"flag":["ziqie","youku","优酷","qiyi","爱奇艺","奇艺","mgtv","芒果","qq","腾讯"]}}, +{"name":"爱跟解析","type":1,"url":"https://vip.2ktvb.com/player/?url=","ext":{"flag":["ziqie","youku","优酷","qiyi","爱奇艺","奇艺","mgtv","芒果","qq","腾讯"]}}, +{"name":"必成解析","type":1,"url":"https://jisu.rongxingvr.top/api/?key=rCMmoKD0H0ShJ00u2f&url=","ext":{"flag":["qq","qiyi","youku","pptv","le","sohu","bilibili","xigua","1905"]}}, +{"name":"七彩解析","type":1,"url":"https://jx.xymav.com/?url="}, +{"name":"综合线路解析","type":1,"url":"https://laisoyiba.com/mov/s/?sv=3&url="}, +{"name":"1907","type":1,"url":"https://my.qiqtv.cn/?jx="}, +{"name":"乐多资源","type":1,"url":"https://api.leduotv.com/wp-api/ifr.php?isDp=1&vid="}, +{"name":"虾米1","type":1,"url":"https://nbjx.vip/index.php?url="}, +{"name":"全民","type":1,"url":"https://jx.quanmingjiexi.com/?url="}, +{"name":"PPJ蓝光解析","type":1,"url":"https://bf.ppjbk.cn/?url="}, +{"name":"PPJ弹幕解析2","type":1,"url":"https://bf.ppjbk.cn/bf/?url="}, +{"name":"m2090.","type":1,"url":"https://m2090.com/?url="}, +{"name":"云解析","type":1,"url":"https://jx.ppflv.com/?url="}, +{"name":"百域","type":1,"url":"https://jx.618g.com/?url="}, +{"name":"大幕","type":1,"url":"https://jx.52damu.com/dmjx/jiexi.php?url="}, +{"name":"RDHK","type":1,"url":"https://jx.rdhk.net/?v="}, +{"name":"淘电影","type":1,"url":"https://jx.vodjx.top/vip/?url="}, +{"name":"维多","type":1,"url":"https://jx.ivito.cn/?url="}, +{"name":"七哥","type":1,"url":"https://jx.mmkv.cn/tv.php?url="}, +{"name":"游艺","type":1,"url":"https://api.u1o.net/?url="}, +{"name":"LE","type":1,"url":"https://lecurl.cn/?url="}, +{"name":"小蒋","type":1,"url":"https://www.kpezp.cn/jlexi.php?url="}, +{"name":"YiTV","type":1,"url":"https://jiexi.us/?url="}, +{"name":"星空","type":1,"url":"http://60jx.com/?url="}, +{"name":"云析","type":1,"url":"https://jx.yparse.com/index.php?url="}, +{"name":"奇米","type":1,"url":"https://qimihe.com/?url="}, +{"name":"思云","type":1,"url":"https://jx.ap2p.cn/?url="}, +{"name":"听乐","type":1,"url":"https://jx.dj6u.com/?url="}, +{"name":"aijx","type":1,"url":"https://jiexi.t7g.cn/?url="}, +{"name":"52","type":1,"url":"https://vip.52jiexi.top/?url="}, +{"name":"黑米","type":1,"url":"https://www.myxin.top/jx/api/?url="}, +{"name":"豪华啦","type":1,"url":"https://api.lhh.la/vip/?url="}, +{"name":"凉城","type":1,"url":"https://jx.mw0.cc/?url="}, +{"name":"33t","type":1,"url":"https://www.33tn.cn/?url="}, +{"name":"180","type":1,"url":"https://jx.000180.top/jx/?url="}, +{"name":"无名","type":1,"url":"https://www.administratorw.com/video.php?url="}, +{"name":"无名小站","type":1,"url":"https://www.administratorw.com/admin.php?url="}, +{"name":"黑云","type":1,"url":"https://jiexi.380k.com/?url="}, +{"name":"九八","type":1,"url":"https://jx.youyitv.com/?url="}, +{"name":"集象","type":1,"url":"http://110.42.2.115:880/analysis/json/?uid=2245&my=cdfhirsuwyEGIPU346&url=","ext":{"flag":["renrenmi","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","bilibili","哔哩哔哩","哔哩","sohu"]}}, +{"name":"VIP1","type":1,"url":"http://110.42.2.115:880/analysis/json/?uid=2233&my=eginqstBCJMNSUX689&url=","ext":{"flag":["renrenmi","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","bilibili","哔哩哔哩","哔哩","sohu"]}}, +{"name":"VIP3","type":1,"url":"http://jifei.mrcy0.com/home/api?type=ys&uid=2752189&key=aefghtACLNRSZ01247&url=","ext":{"flag":["renrenmi","qq","腾讯","qiyi","爱奇艺","奇艺","youku","优酷","mgtv","芒果","bilibili","哔哩哔哩","哔哩","sohu"]}}, +{"name":"北雁","type":0,"url":"https://jx.beiyan.cc:4433/?url="}, +{"name":"网络搜集02","type":1,"url":"https://json.pangujiexi.com/json.php?url=","ext":{"flag":["youku","优酷","qq","腾讯","qiyi","爱奇艺","奇艺"]}}, +{"name":"168","url":"https://drpy.owen10086.repl.co/parse/api/168.js?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"无名","url":"https://drpy.owen10086.repl.co/parse/api/无名.js?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"江湖","url":"https://drpy.owen10086.repl.co/parse/api/江湖.js?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"酷云","url":"https://drpy.owen10086.repl.co/parse/api/酷云.js?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"鸿途","url":"https://drpy.owen10086.repl.co/parse/api/鸿途.js?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"91","url":"http://91fanli.top/m3u8/?url=","type":0,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"BT5V","url":"https://rx.bt5v.com/json/jsonindex.php/?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"CY","url":"https://vip.cyu0.cn/home/api?type=ys&uid=1353484&key=efopqwABCLOTVYZ278&url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"萝卜","type":1,"url":"https://ys.lbbb.cc/?url="}, +{"name":"尘烟","type":1,"url":"https://vip.xuux.icu/home/api?type=dsp&uid=5326302&key=fijkqstuFIMOPSWY68&url="}, +{"name":"江湖解析","type":1,"url":"http://jx.vipmv.co/?url="}, +{"name":"未知","type":1,"url":"http://106.52.218.221:88/?url="}, +{"name":"飞跃","type":1,"url":"http://3.34.11.171:55224/parse/api/飞跃.js?url="}, +{"name":"鸿途","type":1,"url":"http://3.34.11.171:55224/parse/api/鸿途.js?url="}, +{"name":"江湖","type":1,"url":"http://3.34.11.171:55224/parse/api/江湖.js?url="}, +{"name":"酷云","type":1,"url":"http://3.34.11.171:55224/parse/api/酷云.js?url="}, +{"name":"hxys1","type":0,"url":"https://hxys.tv/bfq/?url="}, +{"name":"风起邺城","url":"http://139.159.220.126:5705/parse/api/鸿途.js?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"风起江湖2","url":"http://139.159.220.126:5705/parse/api/江湖.js?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"风起酷云","url":"http://139.159.220.126:5705/parse/api/酷云.js?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"飞跃","url":"https://drpy.owen10086.repl.co/parse/api/飞跃.js?url=","type":1,"ext":{"flag":["qiyi","imgo","爱奇艺","奇艺","qq","腾讯","youku","优酷","pptv","PPTV","letv","乐视","leshi","bilibili","哔哩哔哩","哔哩","mgtv","芒果","sohu","xigua","fun","风行"],"header":{"User-Agent":"Mozilla/5.0"}}}, +{"name":"云youè§£æ��â‘ ","type":1,"url":"https://chaloli.cn/home/api?type=ys&uid=1&key=bcghijmortwFQTV578&url="}, +{"name":"云you","type":1,"url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=bfijlnovBCEGHJTV09&url="} +], \ No newline at end of file diff --git a/Course/调试助手/中文网页自定义格式模板.txt b/Course/调试助手/中文网页自定义格式模板.txt new file mode 100644 index 0000000..2b818d7 --- /dev/null +++ b/Course/调试助手/中文网页自定义格式模板.txt @@ -0,0 +1,74 @@ +{"网站名字": "xx资源网", +"网站地址": "https://www.xxx.com", +"访问请求ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"访问请求cookie": "空", +"访问请求referer": "空", +"播放请求头": "User-Agent$123", +"图片请求头": "空", +"网页编码": "utf-8", + +//0:不禁用,1:禁用 +"禁用搜索": "0", + +//0:不启用,1:启用 +"启用js加载源码":"0", +"js加载源码时间":"5", + +"嗅探词": "m3u8?#.m3u8#.mp4#.flv#.mp3#.m4a", +"过滤词": "51.la#cnzz.com#baidu.com#bilibili.com", + +//0:记录,1:不记录 +"是否记录历史": "0", + +//0:否,1:是 +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"列表起始页": "1", +"列表分类": "电视剧$/vodshow/id/dianshiju/page/#电影$/vodshow/id/dianying/page/#综艺$/vodshow/id/zongyi/page/#动漫$/vodshow/id/dongman/page/", +"列表后缀": ".html", +"列表二次截取": "空", +"列表截取数组": "class=\"stui-vodlist__box\"$$", +"列表图片前缀": "空", +"列表图片": "original=\"$$\"", +"列表标题": "title=\"$$\"", +"列表副标题": "class=\"pic-text text-right\">$$", +"列表链接": "href=\"$$\"", +"列表链接前缀": "空", +"列表链接后缀": "空", + +//0:get方式,1:post方式,注意:如果用post方式,【搜索模式】要填:1 +"搜索请求方式": "0", +"搜索模式": "0", +"搜索前": "/index.php/ajax/suggest?mid=1&wd=", +"搜索后": "&limit=150", +"搜索连接后缀": "/vod/", +"搜索二次截取": "空", +"搜索截取数组": "前$$后", +"搜索图片前缀": "空", +"搜索图片": "original=\"$$\"", +"搜索标题": "title=\"$$\"", +"搜索副标题": "class=\"pic-text text-right\">$$", +"搜索链接": "href=\"$$\"", +"搜索链接前缀": "空", +"搜索链接后缀": "空", + +//0:不启用,1:启用 +"启用线路名": "0", +"线路名二次截取": "空", +"线路名截取数组": "class=\"more$$", +"线路名标题": "/>$$", + +"播放页状态": "class=\"pic-text text-right\">$$", +"播放页导演": "导演:$$

    ", +"播放页演员": "主演:$$

    ", +"播放页剧情": "

    $$

    ", + +"播放页二次截取": "空", +"播放页截取数组": "class=\"stui-content__playlist$$", +"播放剧集二次截取": "空", +"播放剧集截取数组": "", +"播放剧集标题": ">$$<", +"播放剧集链接": "href=\"$$\"", +"播放剧集链接前缀": "空", +"播放剧集链接后缀": "空"} \ No newline at end of file diff --git a/Course/调试助手/图片示例.txt b/Course/调试助手/图片示例.txt new file mode 100644 index 0000000..3a319d2 --- /dev/null +++ b/Course/调试助手/图片示例.txt @@ -0,0 +1,26 @@ +{"网站名字": "图片示例", +"网站地址": "https://desk.tooopen.com", +"访问请求ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"网页编码": "空", +"图片请求头": "Referer$https://desk.tooopen.com/", +"禁用搜索": "1", +"看图模式": "1", +"看图连接字符": "_", +"图片详情最大页数": "1", +"列表起始页": "1", +"列表分类": "美女明星$/model_3_#艺术写真$/artphoto_3_", +"列表后缀": ".html", +"列表二次截取": "id=\"container\"$$", +"列表截取数组": "", +"列表图片前缀": "空", +"列表图片": "src=\"$$\"", +"列表标题": "alt=\"$$\"", +"列表副标题": "空", +"列表链接": "href=\"http$$\"", +"列表链接前缀": "http", +"列表链接后缀": "空", +"播放剧集二次截取": "id=\"faded\"$$", +"播放剧集截取数组": "
  • $$
  • ", +"播放剧集链接": "src=\"$$\"", +"播放剧集链接前缀": "空", +"播放剧集链接后缀": "空"} \ No newline at end of file diff --git a/Course/调试助手/图片类网页自定义格式模板.txt b/Course/调试助手/图片类网页自定义格式模板.txt new file mode 100644 index 0000000..9fee662 --- /dev/null +++ b/Course/调试助手/图片类网页自定义格式模板.txt @@ -0,0 +1,26 @@ +{"网站名字": "壁纸图片类模板", +"网站地址": "https://xxx.com", +"访问请求ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"网页编码": "空", +"图片请求头": "Referer$https://xxx.com/", +"禁用搜索": "1", +"看图模式": "1", +"看图连接字符": "_", +"图片详情最大页数": "1", +"列表起始页": "1", +"列表分类": "壁纸$/model_3_", +"列表后缀": ".html", +"列表二次截取": "id=\"container\"$$", +"列表截取数组": "", +"列表图片前缀": "空", +"列表图片": "src=\"$$\"", +"列表标题": "alt=\"$$\"", +"列表副标题": "空", +"列表链接": "href=\"$$\"", +"列表链接前缀": "空", +"列表链接后缀": "空", +"播放剧集二次截取": "id=\"faded\"$$", +"播放剧集截取数组": "
  • $$
  • ", +"播放剧集链接": "src=\"$$\"", +"播放剧集链接前缀": "空", +"播放剧集链接后缀": "空"} \ No newline at end of file diff --git a/Course/豆瓣热搜.json b/Course/豆瓣热搜.json new file mode 100644 index 0000000..b269b59 --- /dev/null +++ b/Course/豆瓣热搜.json @@ -0,0 +1,27 @@ +// 豆瓣热搜 +// 感谢海王提供的豆瓣api + +"hotSearch": [{ + "name": "mobilesearch", + "request": { + "method": "GET", + "header": [ + { + "key": "Referer", + "value": "https://www.douban.com/" + } + ], + "url": { + "raw": "https://movie.douban.com/j/new_search_subjects?sort=U&range=0,10&tags=&playable=1&start=0&year_range=2022,2022" + } + }, + "response": { + "result": "$.data", + "data": [ + { + "key": "keyword", + "value": "title" + } + ] + } +}], \ No newline at end of file diff --git a/Course/限制仅TVBox访问接口的PHP源码.zip b/Course/限制仅TVBox访问接口的PHP源码.zip new file mode 100644 index 0000000..e1e65b3 Binary files /dev/null and b/Course/限制仅TVBox访问接口的PHP源码.zip differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..41fc3b8 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# 服务端爬虫T4:https://github.com/sec-an/TV_Spider.git +# Python爬虫:https://github.com/UndCover/PyramidStore.git +# 俊佬_TVBox:https://github.com/q215613905/TVBoxOS.git +# TVBoxOSC:https://github.com/CatVodTVOfficial/TVBoxOSC.git +# FongMi_TV(旧猫界面):https://github.com/FongMi/TV.git +# takagen99_TVBox:https://github.com/takagen99/Box.git +# pluto-player:https://github.com/pluto-player/updates +# 官仓0718封仓:https://github.com/CatVodTVOfficial/TVBoxOSC.git +# clanTV:https://github.com/clanTV/clanTV.git +# 道长:https://gitcode.net/qq_32394351/dr_py \ No newline at end of file diff --git a/Spider/XBiu.jar b/Spider/XBiu.jar new file mode 100644 index 0000000..c155ca9 Binary files /dev/null and b/Spider/XBiu.jar differ diff --git a/Spider/XBiubiu.jar b/Spider/XBiubiu.jar new file mode 100644 index 0000000..3ee6593 Binary files /dev/null and b/Spider/XBiubiu.jar differ diff --git a/Spider/XYQBiu.jar b/Spider/XYQBiu.jar new file mode 100644 index 0000000..b253198 Binary files /dev/null and b/Spider/XYQBiu.jar differ diff --git a/Spider/XYQBiu_huya.jar b/Spider/XYQBiu_huya.jar new file mode 100644 index 0000000..245ea66 Binary files /dev/null and b/Spider/XYQBiu_huya.jar differ diff --git a/Spider/XYQPlugin.jar b/Spider/XYQPlugin.jar new file mode 100644 index 0000000..7ccb643 Binary files /dev/null and b/Spider/XYQPlugin.jar differ diff --git a/Spider/bili.jar b/Spider/bili.jar new file mode 100644 index 0000000..99e675e Binary files /dev/null and b/Spider/bili.jar differ diff --git a/Spider/clicli.jar b/Spider/clicli.jar new file mode 100644 index 0000000..a248728 Binary files /dev/null and b/Spider/clicli.jar differ diff --git a/Spider/vvebo.jar b/Spider/vvebo.jar new file mode 100644 index 0000000..98904fe Binary files /dev/null and b/Spider/vvebo.jar differ diff --git a/Spider/xBPQ.jar b/Spider/xBPQ.jar new file mode 100644 index 0000000..54c6b76 Binary files /dev/null and b/Spider/xBPQ.jar differ diff --git a/Spider/动漫.jar b/Spider/动漫.jar new file mode 100644 index 0000000..9aaa9a4 Binary files /dev/null and b/Spider/动漫.jar differ diff --git a/Spider/救阴白骨爪_明码集合_勿删.jar b/Spider/救阴白骨爪_明码集合_勿删.jar new file mode 100644 index 0000000..98904fe Binary files /dev/null and b/Spider/救阴白骨爪_明码集合_勿删.jar differ diff --git a/TVBox_APK/PlutoTVShortcut_v1.0.0.apk b/TVBox_APK/PlutoTVShortcut_v1.0.0.apk new file mode 100644 index 0000000..90d8775 Binary files /dev/null and b/TVBox_APK/PlutoTVShortcut_v1.0.0.apk differ diff --git a/TVBox_APK/TVBox_q215613905.apk b/TVBox_APK/TVBox_q215613905.apk new file mode 100644 index 0000000..6951773 Binary files /dev/null and b/TVBox_APK/TVBox_q215613905.apk differ diff --git a/TVBox_APK/TVBox_takagen99.apk b/TVBox_APK/TVBox_takagen99.apk new file mode 100644 index 0000000..b53feb3 Binary files /dev/null and b/TVBox_APK/TVBox_takagen99.apk differ diff --git a/TVBox_APK/leanback-java.apk b/TVBox_APK/leanback-java.apk new file mode 100644 index 0000000..d1fba19 Binary files /dev/null and b/TVBox_APK/leanback-java.apk differ diff --git a/TVBox_APK/leanback-java_4.2-4.4专用.apk b/TVBox_APK/leanback-java_4.2-4.4专用.apk new file mode 100644 index 0000000..b5bf371 Binary files /dev/null and b/TVBox_APK/leanback-java_4.2-4.4专用.apk differ diff --git a/TVBox_APK/leanback-python.apk b/TVBox_APK/leanback-python.apk new file mode 100644 index 0000000..d38b48b Binary files /dev/null and b/TVBox_APK/leanback-python.apk differ diff --git a/TVBox_APK/pluto_v1.6.4.apk b/TVBox_APK/pluto_v1.6.4.apk new file mode 100644 index 0000000..c9d6bcb Binary files /dev/null and b/TVBox_APK/pluto_v1.6.4.apk differ diff --git a/TVBox_APK/影音壳子_1.3.0_去加固.apk b/TVBox_APK/影音壳子_1.3.0_去加固.apk new file mode 100644 index 0000000..f4cfc20 Binary files /dev/null and b/TVBox_APK/影音壳子_1.3.0_去加固.apk differ diff --git a/TVBox_APK/调试助手_2.1.6.apk b/TVBox_APK/调试助手_2.1.6.apk new file mode 100644 index 0000000..3722be1 Binary files /dev/null and b/TVBox_APK/调试助手_2.1.6.apk differ diff --git a/TVBox_APK/贝贝_221015.apk b/TVBox_APK/贝贝_221015.apk new file mode 100644 index 0000000..369c07d Binary files /dev/null and b/TVBox_APK/贝贝_221015.apk differ diff --git a/TVBox_JS/007影视.js b/TVBox_JS/007影视.js new file mode 100644 index 0000000..2d3143c --- /dev/null +++ b/TVBox_JS/007影视.js @@ -0,0 +1,7 @@ +muban.首图2.二级.tabs = '.nav-tabs.dpplay&&li'; +var rule = Object.assign(muban.首图2,{ + title:'007影视', + host:'https://www.007ts.me', + url:'/channel/fyclass-fypage.html', + searchUrl:'/search/**----------fypage---.html', +}); \ No newline at end of file diff --git a/TVBox_JS/1080P.js b/TVBox_JS/1080P.js new file mode 100644 index 0000000..8573254 --- /dev/null +++ b/TVBox_JS/1080P.js @@ -0,0 +1,7 @@ +var rule = Object.assign(muban.mxpro,{ +title:'1080P', +host:'https://1080p.tv', +url:'/vodshow/fyclass--------fypage---/', +searchUrl:'/vodsearch/**----------fypage---/', +class_parse:'.navbar-items li:gt(1):lt(7);a&&Text;a&&href;.*/(.*?)/', +}); diff --git a/TVBox_JS/18av.js b/TVBox_JS/18av.js new file mode 100644 index 0000000..c69316c --- /dev/null +++ b/TVBox_JS/18av.js @@ -0,0 +1,19 @@ +var rule = { + title:'18av', + host:'https://maa1812.com', + url:'/zh/fyclass/all/fypage.html', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'最近更新',//静态分类名称拼接 + class_url:'chinese_list',//静态分类标识拼接 + //class_parse:'ul.animenu__nav&&li;a&&Text;a&&href', + limit:5, + play_parse:true, + lazy:'', + 一级:'.posts div;.meta&&Text;img&&src;.top&&Text;a&&href', + 二级:'*', + +} + diff --git a/TVBox_JS/360.js b/TVBox_JS/360.js new file mode 100644 index 0000000..79c372d --- /dev/null +++ b/TVBox_JS/360.js @@ -0,0 +1,28 @@ +var rule = { + title:'360影视', + host:'https://www.360kan.com', + homeUrl:'https://api.web.360kan.com/v1/rank?cat=2&size=9', + detailUrl:'https://api.web.360kan.com/v1/detail?cat=fyclass&id=fyid', + searchUrl:'https://api.so.360kan.com/index?force_v=1&kw=**&from=&pageno=fypage&v_ap=1&tab=all', + url:'https://api.web.360kan.com/v1/filter/list?catid=fyclass&rank=rankhot&cat=&year=&area=&act=&size=35&pageno=fypage&callback=', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'电视剧&电影&综艺&动漫', + class_url:'2&1&3&4', + limit:5, + multi:1, + searchable:2, + play_parse:true, + lazy:'js:input=input.split("?")[0];log(input);', + // 疑似t4专用的 + // lazy:'js:input={parse: 1, playUrl: "", jx: 1, url: input.split("?")[0]}', + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + 推荐:'json:data;title;cover;comment;cat+ent_id;description', + 一级:'json:data.movies;title;cover;pubdate;id;description', + 二级:'', + 二级:'js:let html=JSON.parse(fetch(input,fetch_params));let data=html.data;let tilte=data.title;let img=data.cdncover;let vod_type=data.moviecategory.join(",");let area=data.area.join(",");let director=data.director.join(",");let actor=data.actor.join(",");let content=data.description;let base_vod={vod_id:input,vod_name:tilte,type_name:vod_type,vod_actor:actor,vod_director:director,vod_content:content,vod_remarks:area,vod_pic:urljoin2(input,img)};let delta=200;let vod_play={};let sites=data.playlink_sites;sites.forEach(function(site){let playList="";let vodItems=[];if(data.allupinfo){let total=parseInt(data.allupinfo[site]);for(let j=1;j0){playList=vodItems.join("#")}if(playList.length<1){return}vod_play[site]=playList});let tabs=Object.keys(vod_play);let playUrls=[];for(let id in tabs){print("id:"+id);playUrls.push(vod_play[tabs[id]])}if(tabs.length>0){let vod_play_from=tabs.join("$$$");let vod_play_url=playUrls.join("$$$");base_vod.vod_play_from=vod_play_from;base_vod.vod_play_url=vod_play_url}VOD=base_vod;', + 搜索:'json:data.longData.rows;titleTxt||titlealias;cover;cat_name;cat_id+en_id;description', +} \ No newline at end of file diff --git a/TVBox_JS/360影视.js b/TVBox_JS/360影视.js new file mode 100644 index 0000000..6cc6cfa --- /dev/null +++ b/TVBox_JS/360影视.js @@ -0,0 +1,31 @@ +var rule = { + title:'360影视', + host:'https://www.360kan.com', + homeUrl:'https://api.web.360kan.com/v1/rank?cat=2&size=9', + detailUrl:'https://api.web.360kan.com/v1/detail?cat=fyclass&id=fyid', + searchUrl:'https://api.so.360kan.com/index?force_v=1&kw=**&from=&pageno=fypage&v_ap=1&tab=all', + url:'https://api.web.360kan.com/v1/filter/list?catid=fyclass&rank=rankhot&cat=&year=&area=&act=&size=35&pageno=fypage&callback=', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'电视剧&电影&综艺&动漫', + class_url:'2&1&3&4', + limit:5, + multi:1, + searchable:2, + play_parse:true, + lazy:'js:input=input.split("?")[0];log(input);', + // 疑似t4专用的 + // lazy:'js:input={parse: 1, playUrl: "", jx: 1, url: input.split("?")[0]}', + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + 推荐:'json:data;title;cover;comment;cat+ent_id;description', + 一级:'json:data.movies;title;cover;pubdate;id;description', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites","lists":"data.playlinksdetail.#idv.default_url"}, + 二级:'js:let html=JSON.parse(fetch(input,fetch_params));let data=html.data;let tilte=data.title;let img=data.cdncover;let vod_type=data.moviecategory.join(",");let area=data.area.join(",");let director=data.director.join(",");let actor=data.actor.join(",");let content=data.description;base_vod={vod_id:input,vod_name:tilte,type_name:vod_type,vod_actor:actor,vod_director:director,vod_content:content,vod_remarks:area,vod_pic:urljoin2(input,img)};let delta=200;let vod_play={};let sites=data.playlink_sites;for(let i in sites){let site=sites[i];let playList="";let vodItems=[];if(data.allupinfo){let total=parseInt(data.allupinfo[site]);for(let j=1;j0){playList=vodItems.join("#")}if(playList.length<1){continue}vod_play[site]=playList}let tabs=Object.keys(vod_play);let playUrls=[];for(let id in tabs){playUrls.push(vod_play[tabs[id]])}if(tabs.length>0){vod_play_from=tabs.join("$$$");vod_play_url=playUrls.join("$$$");base_vod.vod_play_from=vod_play_from;base_vod.vod_play_url=vod_play_url}vod=base_vod;', + // 二级:'js:let html=JSON.parse(fetch(input,fetch_params));let data=html.data;let tilte=data.title;let img=data.cdncover;let vod_type=data.moviecategory.join(",");let area=data.area.join(",");let director=data.director.join(",");let actor=data.actor.join(",");let content=data.description;base_vod={vod_id:input,vod_name:tilte,type_name:vod_type,vod_actor:actor,vod_director:director,vod_content:content,vod_remarks:area,vod_pic:urljoin2(input,img)};let delta=200;let vod_play={};let sites=data.playlink_sites;for(let i in sites){let site=sites[i];let playList="";let vodItems=[];if(data.allupinfo){let total=parseInt(data.allupinfo[site]);for(let j=1;j0){playList=vodItems.join("#")}if(playList.length<1){continue}vod_play[site]=playList}let tabs=Object.keys(vod_play);let playUrls=[];for(let id in tabs){playUrls.push(vod_play[tabs[id]])}if(tabs.length>0){vod_play_from=tabs.join("$$$");vod_play_url=playUrls.join("$$$");base_vod.vod_play_from=vod_play_from;base_vod.vod_play_url=vod_play_url}vod=base_vod;', + // 搜索:'json:data.longData.rows;titleTxt;cover;cat_name;cat_id+en_id;description', + 搜索:'json:data.longData.rows;titleTxt||titlealias;cover;cat_name;cat_id+en_id;description', +} \ No newline at end of file diff --git a/TVBox_JS/555影视.js b/TVBox_JS/555影视.js new file mode 100644 index 0000000..e637698 --- /dev/null +++ b/TVBox_JS/555影视.js @@ -0,0 +1,8 @@ +var rule = Object.assign(muban.mxpro,{ +title:'555影视', +host:'https://www.5dy6.cc', +headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + "Cookie": "searchneed=ok" +}, +}); \ No newline at end of file diff --git a/TVBox_JS/555影视_2.js b/TVBox_JS/555影视_2.js new file mode 100644 index 0000000..186d740 --- /dev/null +++ b/TVBox_JS/555影视_2.js @@ -0,0 +1,9 @@ +var rule = Object.assign(muban.mxpro,{ +title:'555影视', +// host:'https://www.555dy.app', +host:'https://www.555yy2.com/', +headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'Mozilla/5.0 (Linux; Android 11; M2104K10AC Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36', + "Cookie": "searchneed=ok" +}, +}); \ No newline at end of file diff --git a/TVBox_JS/88看球.js b/TVBox_JS/88看球.js new file mode 100644 index 0000000..f84e0e2 --- /dev/null +++ b/TVBox_JS/88看球.js @@ -0,0 +1,21 @@ +var rule = { + title:'88看球', + host:'http://www.88kanqiu.cc', + url:'/match/fyclass/live', + searchUrl:'', + searchable:0, + quickSearch:0, + class_parse:'.nav-pills li;a&&Text;a&&href;/match/(\\d+)/live', + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + play_parse:true, + lazy:'', + limit:6, + double:false, + 推荐:'*', + 一级:'.list-group .group-game-item;.d-none&&Text;img&&src;.btn&&Text;a&&href', + 二级:{title:'.game-info-container&&Text;.customer-navbar-nav li&&Text',img:'img&&src',desc:';;;div.team-name:eq(0)&&Text;div.team-name:eq(1)&&Text',content:'div.game-time&&Text',tabs:'',tab_text:'',lists:'.btn-group a',list_text:'a&&Text',list_url:'a&&href'}, + 搜索:'', +} diff --git a/TVBox_JS/88看球1.js b/TVBox_JS/88看球1.js new file mode 100644 index 0000000..f84e0e2 --- /dev/null +++ b/TVBox_JS/88看球1.js @@ -0,0 +1,21 @@ +var rule = { + title:'88看球', + host:'http://www.88kanqiu.cc', + url:'/match/fyclass/live', + searchUrl:'', + searchable:0, + quickSearch:0, + class_parse:'.nav-pills li;a&&Text;a&&href;/match/(\\d+)/live', + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + play_parse:true, + lazy:'', + limit:6, + double:false, + 推荐:'*', + 一级:'.list-group .group-game-item;.d-none&&Text;img&&src;.btn&&Text;a&&href', + 二级:{title:'.game-info-container&&Text;.customer-navbar-nav li&&Text',img:'img&&src',desc:';;;div.team-name:eq(0)&&Text;div.team-name:eq(1)&&Text',content:'div.game-time&&Text',tabs:'',tab_text:'',lists:'.btn-group a',list_text:'a&&Text',list_url:'a&&href'}, + 搜索:'', +} diff --git a/TVBox_JS/AnFuns.js b/TVBox_JS/AnFuns.js new file mode 100644 index 0000000..28d6f76 --- /dev/null +++ b/TVBox_JS/AnFuns.js @@ -0,0 +1,8 @@ +muban.海螺3.二级.desc = '.hl-text-conch&&Text'; +var rule = Object.assign(muban.海螺3,{ + title:'AnFuns动漫', + host:'https://www.anfuns.cc', + cate_exclude: '最新|排行', + url:'/type/fyclass-fypage.html', + searchUrl:'/search/page/fypage/wd/**.html', +}); \ No newline at end of file diff --git a/TVBox_JS/JRS看直播1.js b/TVBox_JS/JRS看直播1.js new file mode 100644 index 0000000..6dfed27 --- /dev/null +++ b/TVBox_JS/JRS看直播1.js @@ -0,0 +1,22 @@ +var rule = { + title:'JRS看直播', + host:'http://www.jrskan.net', + url:'/fyclass', + searchUrl:'', + searchable:0, + quickSearch:0, + class_name:'全部', + class_url:'/', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + play_parse:true, + lazy:'', + limit:6, + double:false, + 推荐:'*', + 一级:'.row a;li div:gt(2):lt(6)&&Text;img&&src;.match-start-time&&Text;a&&href', + 二级:{title:'.live-title&&Text;.live-title&&Text',img:'img:eq(1)&&src',desc:';;;.live-left-team-sj&&Text;.live-right-team-sj&&Text',content:'.live-info&&Text',tabs:'',tab_text:'',lists:'#item-source a',list_text:'a&&Text',list_url:'a&&data-url'}, + 搜索:'', +} diff --git a/TVBox_JS/JS-1122.zip b/TVBox_JS/JS-1122.zip new file mode 100644 index 0000000..29d986f Binary files /dev/null and b/TVBox_JS/JS-1122.zip differ diff --git a/TVBox_JS/JS2-1128.zip b/TVBox_JS/JS2-1128.zip new file mode 100644 index 0000000..f371643 Binary files /dev/null and b/TVBox_JS/JS2-1128.zip differ diff --git a/TVBox_JS/JustLive.js b/TVBox_JS/JustLive.js new file mode 100644 index 0000000..8b242a0 --- /dev/null +++ b/TVBox_JS/JustLive.js @@ -0,0 +1,50 @@ +// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py +// drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md +// Pluto Player官方TG https://t.me/PlutoPlayer +// Pluto Player官方TG https://t.me/PlutoPlayerChannel + +var rule = { + title: 'JustLive', + host: 'http://live.yj1211.work', + homeUrl: '/api/live/getRecommend?page=1&size=20',//网站的首页链接,用于分类获取和推荐获取 + url: '/api/live/getRecommendByPlatformArea?platform=fyclass&area=fyfilter&page=fypage&size=20', //网站的分类页面链接 + class_name: '斗鱼&虎牙&哔哩&网易', + class_url: 'douyu&huya&bilibili&cc', + filterable: 1, + filter_url: '{{fl.area or "影音馆"}}', + filter_def:{ + douyu:{ + area:'一起看', + }, + huya:{ + area:'一起看', + }, + bilibili:{ + area:'影音馆', + }, + cc:{ + area:'星秀', + } + }, + filter: { + 'douyu': [{ 'key': 'area', 'name': '分区', 'value': [{ 'n': '一起看', 'v': '一起看' }, { 'n': '二次元', 'v': '二次元' }, { 'n': '颜值', 'v': '颜值' }, { 'n': '颜值(横屏)', 'v': '颜值(横屏)' }, { 'n': '音乐', 'v': '音乐' }, { 'n': '户外', 'v': '户外' }, { 'n': '美食', 'v': '美食' }, { 'n': '原创IP', 'v': '原创IP' }, { 'n': '互动交友', 'v': '互动交友' }, { 'n': '音遇恋人', 'v': '音遇恋人' }, { 'n': '舞蹈', 'v': '舞蹈' }, { 'n': '趣生活', 'v': '趣生活' }, { 'n': '心动FM', 'v': '心动FM' }, { 'n': '娱乐推荐', 'v': '娱乐推荐' }, { 'n': '校园', 'v': '校园' }, { 'n': '文化', 'v': '文化' }, { 'n': '企鹅直播', 'v': '企鹅直播' }, { 'n': '数码科技', 'v': '数码科技' }, { 'n': '社会人文', 'v': '社会人文' }, { 'n': '汽车', 'v': '汽车' }, { 'n': '科普', 'v': '科普' }, { 'n': '纪录片', 'v': '纪录片' }, { 'n': '斗鱼购物', 'v': '斗鱼购物' }, { 'n': '成年教育', 'v': '成年教育' }, { 'n': '交友', 'v': '交友' }, { 'n': '心动FM.', 'v': '心动FM.' }, { 'n': '一起玩', 'v': '一起玩' }, { 'n': '开黑车队', 'v': '开黑车队' }, { 'n': '点唱', 'v': '点唱' }, { 'n': 'CP聊天', 'v': 'CP聊天' }, { 'n': '语音交友', 'v': '语音交友' }, { 'n': '音乐之声', 'v': '音乐之声' }, { 'n': '连麦互动', 'v': '连麦互动' }, { 'n': '娱乐开黑', 'v': '娱乐开黑' }, { 'n': '星星点灯', 'v': '星星点灯' }, { 'n': '正能量', 'v': '正能量' }, { 'n': '赛车竞技', 'v': '赛车竞技' }, { 'n': '京斗云', 'v': '京斗云' }, { 'n': '英雄联盟', 'v': '英雄联盟' }, { 'n': '热门游戏', 'v': '热门游戏' }, { 'n': '穿越火线', 'v': '穿越火线' }, { 'n': 'CFHD', 'v': 'CFHD' }, { 'n': '使命召唤', 'v': '使命召唤' }, { 'n': 'DNF', 'v': 'DNF' }, { 'n': 'DOTA2', 'v': 'DOTA2' }, { 'n': '炉石传说', 'v': '炉石传说' }, { 'n': 'CS:GO', 'v': 'CS:GO' }, { 'n': 'VALORANT', 'v': 'VALORANT' }, { 'n': 'lol云顶之弈', 'v': 'lol云顶之弈' }, { 'n': '魔兽争霸', 'v': '魔兽争霸' }, { 'n': '魔兽怀旧服', 'v': '魔兽怀旧服' }, { 'n': '自走棋', 'v': '自走棋' }, { 'n': '传奇', 'v': '传奇' }, { 'n': '跑跑卡丁车', 'v': '跑跑卡丁车' }, { 'n': '网易游戏', 'v': '网易游戏' }, { 'n': '星际争霸', 'v': '星际争霸' }, { 'n': '格斗游戏', 'v': '格斗游戏' }, { 'n': '守望先锋归来', 'v': '守望先锋归来' }, { 'n': 'DOTA', 'v': 'DOTA' }, { 'n': '魔兽世界', 'v': '魔兽世界' }, { 'n': '剑网3', 'v': '剑网3' }, { 'n': '我的世界', 'v': '我的世界' }, { 'n': '超激斗梦境', 'v': '超激斗梦境' }, { 'n': '冒险岛', 'v': '冒险岛' }, { 'n': '三国杀', 'v': '三国杀' }, { 'n': '梦幻西游', 'v': '梦幻西游' }, { 'n': '天涯明月刀', 'v': '天涯明月刀' }, { 'n': '街头篮球', 'v': '街头篮球' }, { 'n': 'NBA2KOL2', 'v': 'NBA2KOL2' }, { 'n': 'QQ飞车端游', 'v': 'QQ飞车端游' }, { 'n': '战地之王', 'v': '战地之王' }, { 'n': '军事游戏', 'v': '军事游戏' }, { 'n': '棋牌娱乐', 'v': '棋牌娱乐' }, { 'n': 'FIFA ONLINE 4', 'v': 'FIFA ONLINE 4' }, { 'n': '热门网游', 'v': '热门网游' }, { 'n': '诛仙世界', 'v': '诛仙世界' }, { 'n': '千古风流', 'v': '千古风流' }, { 'n': 'APEX', 'v': 'APEX' }, { 'n': '流放之路POE', 'v': '流放之路POE' }, { 'n': '剑网3缘起', 'v': '剑网3缘起' }, { 'n': '逆水寒', 'v': '逆水寒' }, { 'n': '风暴英雄', 'v': '风暴英雄' }, { 'n': '逆战', 'v': '逆战' }, { 'n': '坦克世界', 'v': '坦克世界' }, { 'n': '战舰世界', 'v': '战舰世界' }, { 'n': '巫师之昆特牌', 'v': '巫师之昆特牌' }, { 'n': '反恐精英Online', 'v': '反恐精英Online' }, { 'n': '暗黑破坏神3', 'v': '暗黑破坏神3' }, { 'n': '梦三国2', 'v': '梦三国2' }, { 'n': '传奇世界', 'v': '传奇世界' }, { 'n': '方舟:生存进化', 'v': '方舟:生存进化' }, { 'n': '刀塔霸业', 'v': '刀塔霸业' }, { 'n': '神武4电脑版', 'v': '神武4电脑版' }, { 'n': '群雄逐鹿', 'v': '群雄逐鹿' }, { 'n': '堡垒之夜', 'v': '堡垒之夜' }, { 'n': '无限法则', 'v': '无限法则' }, { 'n': '问道电脑版', 'v': '问道电脑版' }, { 'n': '西山居游戏', 'v': '西山居游戏' }, { 'n': '最终幻想14', 'v': '最终幻想14' }, { 'n': '战意', 'v': '战意' }, { 'n': '剑灵', 'v': '剑灵' }, { 'n': '星际战甲', 'v': '星际战甲' }, { 'n': '龙之谷', 'v': '龙之谷' }, { 'n': '铁甲雄兵', 'v': '铁甲雄兵' }, { 'n': '古剑奇谭网络版', 'v': '古剑奇谭网络版' }, { 'n': '轩辕传奇', 'v': '轩辕传奇' }, { 'n': '神途', 'v': '神途' }, { 'n': '激战2', 'v': '激战2' }, { 'n': '高达文化区', 'v': '高达文化区' }] }], + 'huya': [{ 'key': 'area', 'name': '分区', 'value': [{ 'n': '一起看', 'v': '一起看' }, { 'n': '放映厅', 'v': '放映厅' }, { 'n': '星秀', 'v': '星秀' }, { 'n': '户外', 'v': '户外' }, { 'n': '二次元', 'v': '二次元' }, { 'n': '美食', 'v': '美食' }, { 'n': '颜值', 'v': '颜值' }, { 'n': '交友', 'v': '交友' }, { 'n': '体育', 'v': '体育' }, { 'n': '娱乐天地', 'v': '娱乐天地' }, { 'n': '吃喝玩乐', 'v': '吃喝玩乐' }, { 'n': '组队', 'v': '组队' }, { 'n': '原创', 'v': '原创' }, { 'n': '虎牙地方', 'v': '虎牙地方' }, { 'n': '虚拟偶像', 'v': '虚拟偶像' }, { 'n': '虎牙文化', 'v': '虎牙文化' }, { 'n': '趣分享', 'v': '趣分享' }, { 'n': '音乐', 'v': '音乐' }, { 'n': '派对', 'v': '派对' }, { 'n': '科技', 'v': '科技' }, { 'n': '直播购', 'v': '直播购' }, { 'n': '旅游', 'v': '旅游' }, { 'n': '英雄联盟', 'v': '英雄联盟' }, { 'n': '超击突破', 'v': '超击突破' }, { 'n': '守望先锋归来', 'v': '守望先锋归来' }, { 'n': 'lol云顶之弈', 'v': 'lol云顶之弈' }, { 'n': '穿越火线', 'v': '穿越火线' }, { 'n': '暴雪专区', 'v': '暴雪专区' }, { 'n': '地下城与勇士', 'v': '地下城与勇士' }, { 'n': '炉石传说', 'v': '炉石传说' }, { 'n': '魔兽世界', 'v': '魔兽世界' }, { 'n': 'DOTA2', 'v': 'DOTA2' }, { 'n': 'CS:GO', 'v': 'CS:GO' }, { 'n': 'DOTA1', 'v': 'DOTA1' }, { 'n': 'QQ飞车', 'v': 'QQ飞车' }, { 'n': '问道', 'v': '问道' }, { 'n': '魔兽争霸3', 'v': '魔兽争霸3' }, { 'n': '逆战', 'v': '逆战' }, { 'n': '梦三国', 'v': '梦三国' }, { 'n': '网游竞技', 'v': '网游竞技' }, { 'n': '射击综合游戏', 'v': '射击综合游戏' }, { 'n': '军事游戏', 'v': '军事游戏' }, { 'n': '坦克世界', 'v': '坦克世界' }, { 'n': '永恒之塔', 'v': '永恒之塔' }, { 'n': '剑灵', 'v': '剑灵' }, { 'n': '御龙在天', 'v': '御龙在天' }, { 'n': '传奇', 'v': '传奇' }, { 'n': '神武4电脑版', 'v': '神武4电脑版' }, { 'n': '起凡:群雄逐鹿', 'v': '起凡:群雄逐鹿' }, { 'n': '体育游戏', 'v': '体育游戏' }, { 'n': '传奇类游戏', 'v': '传奇类游戏' }, { 'n': '彩虹岛Online', 'v': '彩虹岛Online' }, { 'n': '诛仙3', 'v': '诛仙3' }, { 'n': '逆水寒', 'v': '逆水寒' }, { 'n': '炉石战棋', 'v': '炉石战棋' }, { 'n': 'CFHD', 'v': 'CFHD' }, { 'n': '冒险岛', 'v': '冒险岛' }, { 'n': '生死狙击2', 'v': '生死狙击2' }, { 'n': 'QQ三国', 'v': 'QQ三国' }, { 'n': '反恐精英Online', 'v': '反恐精英Online' }, { 'n': '龙之谷', 'v': '龙之谷' }, { 'n': '战舰世界', 'v': '战舰世界' }, { 'n': '枪神纪', 'v': '枪神纪' }, { 'n': '热血江湖', 'v': '热血江湖' }, { 'n': '九阴真经', 'v': '九阴真经' }, { 'n': '星际战甲', 'v': '星际战甲' }, { 'n': 'NBA2KOL系列', 'v': 'NBA2KOL系列' }, { 'n': '寻仙', 'v': '寻仙' }, { 'n': '铁甲雄兵', 'v': '铁甲雄兵' }, { 'n': '刀剑英雄', 'v': '刀剑英雄' }, { 'n': '荒野行动PC版', 'v': '荒野行动PC版' }, { 'n': 'FIFA Online系列', 'v': 'FIFA Online系列' }, { 'n': '暗黑破坏神', 'v': '暗黑破坏神' }, { 'n': '征途', 'v': '征途' }, { 'n': '斗战神', 'v': '斗战神' }, { 'n': '星际争霸', 'v': '星际争霸' }, { 'n': 'VALORANT', 'v': 'VALORANT' }, { 'n': '跑跑卡丁车', 'v': '跑跑卡丁车' }, { 'n': '天涯明月刀', 'v': '天涯明月刀' }, { 'n': 'QQ华夏', 'v': 'QQ华夏' }, { 'n': '剑网3', 'v': '剑网3' }, { 'n': '武林外传一世琴缘', 'v': '武林外传一世琴缘' }, { 'n': '反恐行动online', 'v': '反恐行动online' }, { 'n': '完美端游系列', 'v': '完美端游系列' }] }], + 'bilibili': [{ 'key': 'area', 'name': '分区', 'value': [{ 'n': '影音馆', 'v': '影音馆' }, { 'n': '视频唱见', 'v': '视频唱见' }, { 'n': '萌宅领域', 'v': '萌宅领域' }, { 'n': '视频聊天', 'v': '视频聊天' }, { 'n': '舞见', 'v': '舞见' }, { 'n': '情感', 'v': '情感' }, { 'n': '户外', 'v': '户外' }, { 'n': '日常', 'v': '日常' }, { 'n': '唱见电台', 'v': '唱见电台' }, { 'n': '聊天电台', 'v': '聊天电台' }, { 'n': '配音', 'v': '配音' }, { 'n': '虚拟主播', 'v': '虚拟主播' }, { 'n': '3D虚拟主播', 'v': '3D虚拟主播' }, { 'n': '生活分享', 'v': '生活分享' }, { 'n': '运动', 'v': '运动' }, { 'n': '搞笑', 'v': '搞笑' }, { 'n': '手工绘画', 'v': '手工绘画' }, { 'n': '萌宠', 'v': '萌宠' }, { 'n': '美食', 'v': '美食' }, { 'n': '时尚', 'v': '时尚' }, { 'n': '社科法律心理', 'v': '社科法律心理' }, { 'n': '人文历史', 'v': '人文历史' }, { 'n': '校园学习', 'v': '校园学习' }, { 'n': '职场·技能', 'v': '职场·技能' }, { 'n': ' 科技', 'v': ' 科技' }, { 'n': '科学科普', 'v': '科学科普' }, { 'n': '时政', 'v': '时政' }, { 'n': '购物', 'v': '购物' }, { 'n': '游戏赛事', 'v': '游戏赛事' }, { 'n': '体育赛事', 'v': '体育赛事' }, { 'n': '赛事综合', 'v': '赛事综合' }, { 'n': '英雄联盟', 'v': '英雄联盟' }, { 'n': 'DOTA2', 'v': 'DOTA2' }, { 'n': 'CS:GO', 'v': 'CS:GO' }, { 'n': 'APEX英雄', 'v': 'APEX英雄' }, { 'n': '永劫无间', 'v': '永劫无间' }, { 'n': '穿越火线', 'v': '穿越火线' }, { 'n': '守望先锋', 'v': '守望先锋' }, { 'n': '吃鸡行动', 'v': '吃鸡行动' }, { 'n': '逃离塔科夫', 'v': '逃离塔科夫' }, { 'n': '传奇', 'v': '传奇' }, { 'n': 'DNF', 'v': 'DNF' }, { 'n': '生死狙击2', 'v': '生死狙击2' }, { 'n': '洛奇英雄传', 'v': '洛奇英雄传' }, { 'n': '最终幻想14', 'v': '最终幻想14' }, { 'n': '星际战甲', 'v': '星际战甲' }, { 'n': '梦三国', 'v': '梦三国' }, { 'n': '英魂之刃', 'v': '英魂之刃' }, { 'n': '剑网3', 'v': '剑网3' }, { 'n': '铁甲雄兵', 'v': '铁甲雄兵' }, { 'n': '封印者', 'v': '封印者' }, { 'n': '新天龙八部', 'v': '新天龙八部' }, { 'n': '赛尔号', 'v': '赛尔号' }, { 'n': '造梦西游', 'v': '造梦西游' }, { 'n': '洛克王国', 'v': '洛克王国' }, { 'n': '问道', 'v': '问道' }, { 'n': '诛仙世界', 'v': '诛仙世界' }, { 'n': '大话西游', 'v': '大话西游' }, { 'n': '奇迹MU', 'v': '奇迹MU' }, { 'n': '永恒之塔', 'v': '永恒之塔' }, { 'n': 'QQ三国', 'v': 'QQ三国' }, { 'n': '人间地狱', 'v': '人间地狱' }, { 'n': 'VALORANT', 'v': 'VALORANT' }, { 'n': '彩虹岛', 'v': '彩虹岛' }, { 'n': '洛奇', 'v': '洛奇' }, { 'n': '跑跑卡丁车', 'v': '跑跑卡丁车' }, { 'n': '星际公民', 'v': '星际公民' }, { 'n': 'Squad战术小队', 'v': 'Squad战术小队' }, { 'n': '反恐精英Online', 'v': '反恐精英Online' }, { 'n': '风暴奇侠', 'v': '风暴奇侠' }, { 'n': '装甲战争', 'v': '装甲战争' }, { 'n': '失落的方舟', 'v': '失落的方舟' }, { 'n': '阿尔比恩', 'v': '阿尔比恩' }, { 'n': '猎杀对决', 'v': '猎杀对决' }, { 'n': 'CFHD', 'v': 'CFHD' }, { 'n': '骑士精神2', 'v': '骑士精神2' }, { 'n': '超击突破', 'v': '超击突破' }, { 'n': '武装突袭', 'v': '武装突袭' }, { 'n': '300英雄', 'v': '300英雄' }, { 'n': '炉石传说', 'v': '炉石传说' }, { 'n': '剑网3缘起', 'v': '剑网3缘起' }, { 'n': '街头篮球', 'v': '街头篮球' }, { 'n': '综合射击', 'v': '综合射击' }, { 'n': '剑灵', 'v': '剑灵' }, { 'n': '艾尔之光', 'v': '艾尔之光' }, { 'n': '黑色沙漠', 'v': '黑色沙漠' }, { 'n': '天涯明月刀', 'v': '天涯明月刀' }, { 'n': '超激斗梦境', 'v': '超激斗梦境' }, { 'n': '冒险岛', 'v': '冒险岛' }, { 'n': '逆战', 'v': '逆战' }, { 'n': '魔兽争霸3', 'v': '魔兽争霸3' }, { 'n': 'QQ飞车', 'v': 'QQ飞车' }, { 'n': '魔兽世界', 'v': '魔兽世界' }, { 'n': 'FIFA ONLINE 4', 'v': 'FIFA ONLINE 4' }, { 'n': 'NBA2KOL2', 'v': 'NBA2KOL2' }, { 'n': '使命召唤:战区', 'v': '使命召唤:战区' }, { 'n': 'VRChat', 'v': 'VRChat' }, { 'n': '坦克世界', 'v': '坦克世界' }, { 'n': '战舰世界', 'v': '战舰世界' }, { 'n': '战争雷霆', 'v': '战争雷霆' }, { 'n': '战意', 'v': '战意' }, { 'n': '风暴英雄', 'v': '风暴英雄' }, { 'n': '星际争霸2', 'v': '星际争霸2' }, { 'n': '刀塔自走棋', 'v': '刀塔自走棋' }, { 'n': '堡垒之夜', 'v': '堡垒之夜' }, { 'n': '枪神纪', 'v': '枪神纪' }, { 'n': '三国杀', 'v': '三国杀' }, { 'n': '龙之谷', 'v': '龙之谷' }, { 'n': '古剑奇谭OL', 'v': '古剑奇谭OL' }, { 'n': '幻想全明星', 'v': '幻想全明星' }, { 'n': '怀旧网游', 'v': '怀旧网游' }, { 'n': '新游前瞻', 'v': '新游前瞻' }, { 'n': '星战前夜:晨曦', 'v': '星战前夜:晨曦' }, { 'n': '梦幻西游端游', 'v': '梦幻西游端游' }, { 'n': '流放之路', 'v': '流放之路' }, { 'n': 'FPS沙盒', 'v': 'FPS沙盒' }, { 'n': '永恒轮回', 'v': '永恒轮回' }, { 'n': '激战2', 'v': '激战2' }, { 'n': '其他网游', 'v': '其他网游' }, { 'n': '王者荣耀', 'v': '王者荣耀' }, { 'n': '和平精英', 'v': '和平精英' }, { 'n': 'LOL手游', 'v': 'LOL手游' }, { 'n': '原神', 'v': '原神' }, { 'n': '第五人格', 'v': '第五人格' }, { 'n': '明日方舟', 'v': '明日方舟' }, { 'n': '哈利波特:魔法觉醒', 'v': '哈利波特:魔法觉醒' }, { 'n': '幻塔', 'v': '幻塔' }, { 'n': '金铲铲之战', 'v': '金铲铲之战' }, { 'n': 'APEX手游', 'v': 'APEX手游' }, { 'n': '深空之眼', 'v': '深空之眼' }, { 'n': '无期迷途', 'v': '无期迷途' }, { 'n': '光遇', 'v': '光遇' }, { 'n': '香肠派对', 'v': '香肠派对' }, { 'n': '猫之城', 'v': '猫之城' }, { 'n': '玛娜希斯回响', 'v': '玛娜希斯回响' }, { 'n': '使命召唤手游', 'v': '使命召唤手游' }, { 'n': '黑色沙漠手游', 'v': '黑色沙漠手游' }, { 'n': '崩坏3', 'v': '崩坏3' }, { 'n': '游戏王:决斗链接', 'v': '游戏王:决斗链接' }, { 'n': '游戏王', 'v': '游戏王' }, { 'n': '蛋仔派对', 'v': '蛋仔派对' }, { 'n': '阴阳师', 'v': '阴阳师' }, { 'n': '火影忍者手游', 'v': '火影忍者手游' }, { 'n': 'Fate/GO', 'v': 'Fate/GO' }, { 'n': '综合棋牌', 'v': '综合棋牌' }, { 'n': 'QQ飞车手游', 'v': 'QQ飞车手游' }, { 'n': '决战!平安京', 'v': '决战!平安京' }, { 'n': '狼人杀', 'v': '狼人杀' }, { 'n': '三国杀移动版', 'v': '三国杀移动版' }, { 'n': '碧蓝航线', 'v': '碧蓝航线' }, { 'n': '影之诗', 'v': '影之诗' }, { 'n': '明日之后', 'v': '明日之后' }, { 'n': '部落冲突:皇室战争', 'v': '部落冲突:皇室战争' }, { 'n': '奥比岛手游', 'v': '奥比岛手游' }, { 'n': '盾之勇者成名录:浪潮', 'v': '盾之勇者成名录:浪潮' }, { 'n': '雀姬', 'v': '雀姬' }, { 'n': '公主连结Re:Dive', 'v': '公主连结Re:Dive' }, { 'n': 'DNF手游', 'v': 'DNF手游' }, { 'n': 'FIFA足球世界', 'v': 'FIFA足球世界' }, { 'n': 'BanG Dream', 'v': 'BanG Dream' }, { 'n': '荒野乱斗', 'v': '荒野乱斗' }, { 'n': 'CF手游', 'v': 'CF手游' }, { 'n': '战双帕弥什', 'v': '战双帕弥什' }, { 'n': '天涯明月刀手游', 'v': '天涯明月刀手游' }, { 'n': '解密游戏', 'v': '解密游戏' }, { 'n': '恋爱养成游戏', 'v': '恋爱养成游戏' }, { 'n': '暗黑破坏神:不朽', 'v': '暗黑破坏神:不朽' }, { 'n': '暗区突围', 'v': '暗区突围' }, { 'n': '跑跑卡丁车手游', 'v': '跑跑卡丁车手游' }, { 'n': '非人学园', 'v': '非人学园' }, { 'n': '百闻牌', 'v': '百闻牌' }, { 'n': '猫和老鼠手游', 'v': '猫和老鼠手游' }, { 'n': '坎公骑冠剑', 'v': '坎公骑冠剑' }, { 'n': '忍者必须死3', 'v': '忍者必须死3' }, { 'n': '梦幻西游手游', 'v': '梦幻西游手游' }, { 'n': '航海王热血航线', 'v': '航海王热血航线' }, { 'n': '少女前线', 'v': '少女前线' }, { 'n': '300大作战', 'v': '300大作战' }, { 'n': '少女前线:云图计划', 'v': '少女前线:云图计划' }, { 'n': '漫威超级战争', 'v': '漫威超级战争' }, { 'n': '摩尔庄园手游', 'v': '摩尔庄园手游' }, { 'n': '宝可梦大集结', 'v': '宝可梦大集结' }, { 'n': '小动物之星', 'v': '小动物之星' }, { 'n': '天地劫:幽城再临', 'v': '天地劫:幽城再临' }, { 'n': '漫威对决', 'v': '漫威对决' }, { 'n': '东方归言录', 'v': '东方归言录' }, { 'n': '梦幻模拟战', 'v': '梦幻模拟战' }, { 'n': '时空猎人3', 'v': '时空猎人3' }, { 'n': '重返帝国', 'v': '重返帝国' }, { 'n': '其他手游', 'v': '其他手游' }, { 'n': '新游评测', 'v': '新游评测' }, { 'n': '主机游戏', 'v': '主机游戏' }, { 'n': '我的世界', 'v': '我的世界' }, { 'n': '独立游戏', 'v': '独立游戏' }, { 'n': '怀旧游戏', 'v': '怀旧游戏' }, { 'n': '弹幕互动玩法', 'v': '弹幕互动玩法' }, { 'n': '禁闭求生', 'v': '禁闭求生' }, { 'n': '斯普拉遁3', 'v': '斯普拉遁3' }, { 'n': '卧龙:苍天陨落', 'v': '卧龙:苍天陨落' }, { 'n': '恐怖游戏', 'v': '恐怖游戏' }, { 'n': '使命召唤19', 'v': '使命召唤19' }, { 'n': '异度神剑', 'v': '异度神剑' }, { 'n': '艾尔登法环', 'v': '艾尔登法环' }, { 'n': '聚会游戏', 'v': '聚会游戏' }, { 'n': '命运2', 'v': '命运2' }, { 'n': '沙石镇时光', 'v': '沙石镇时光' }, { 'n': 'Dread Hunger', 'v': 'Dread Hunger' }, { 'n': '红色警戒2', 'v': '红色警戒2' }, { 'n': '失落迷城:群星的诅咒', 'v': '失落迷城:群星的诅咒' }, { 'n': '策略游戏', 'v': '策略游戏' }, { 'n': '战地风云', 'v': '战地风云' }, { 'n': '幽灵线:东京', 'v': '幽灵线:东京' }, { 'n': '糖豆人', 'v': '糖豆人' }, { 'n': '消逝的光芒2', 'v': '消逝的光芒2' }, { 'n': '只狼', 'v': '只狼' }, { 'n': '怪物猎人', 'v': '怪物猎人' }, { 'n': '饥荒', 'v': '饥荒' }, { 'n': '精灵宝可梦', 'v': '精灵宝可梦' }, { 'n': 'FIFA23', 'v': 'FIFA23' }, { 'n': '暖雪', 'v': '暖雪' }, { 'n': '全面战争:战锤3', 'v': '全面战争:战锤3' }, { 'n': '彩虹六号:异种', 'v': '彩虹六号:异种' }, { 'n': '战神', 'v': '战神' }, { 'n': 'FORZA 极限竞速', 'v': 'FORZA 极限竞速' }, { 'n': 'NBA2K', 'v': 'NBA2K' }, { 'n': '帝国时代4', 'v': '帝国时代4' }, { 'n': '光环:无限', 'v': '光环:无限' }, { 'n': '孤岛惊魂6', 'v': '孤岛惊魂6' }, { 'n': '植物大战僵尸', 'v': '植物大战僵尸' }, { 'n': '仙剑奇侠传七', 'v': '仙剑奇侠传七' }, { 'n': '灵魂筹码', 'v': '灵魂筹码' }, { 'n': '格斗游戏', 'v': '格斗游戏' }, { 'n': '荒野大镖客2', 'v': '荒野大镖客2' }, { 'n': '重生细胞', 'v': '重生细胞' }, { 'n': '刺客信条', 'v': '刺客信条' }, { 'n': '恐鬼症', 'v': '恐鬼症' }, { 'n': '以撒', 'v': '以撒' }, { 'n': '双人成行', 'v': '双人成行' }, { 'n': '方舟', 'v': '方舟' }, { 'n': '仁王2', 'v': '仁王2' }, { 'n': '鬼泣5', 'v': '鬼泣5' }, { 'n': '枪火重生', 'v': '枪火重生' }, { 'n': '盗贼之海', 'v': '盗贼之海' }, { 'n': '胡闹厨房', 'v': '胡闹厨房' }, { 'n': '体育游戏', 'v': '体育游戏' }, { 'n': '恐惧之间', 'v': '恐惧之间' }, { 'n': '塞尔达', 'v': '塞尔达' }, { 'n': '马力欧制造2', 'v': '马力欧制造2' }, { 'n': '全境封锁2', 'v': '全境封锁2' }, { 'n': '骑马与砍杀', 'v': '骑马与砍杀' }, { 'n': '人类一败涂地', 'v': '人类一败涂地' }, { 'n': '鬼谷八荒', 'v': '鬼谷八荒' }, { 'n': '无主之地3', 'v': '无主之地3' }, { 'n': '辐射76', 'v': '辐射76' }, { 'n': '全面战争', 'v': '全面战争' }, { 'n': '亿万僵尸', 'v': '亿万僵尸' }, { 'n': '暗黑破坏神2', 'v': '暗黑破坏神2' }, { 'n': '文字游戏', 'v': '文字游戏' }, { 'n': '恋爱模拟游戏', 'v': '恋爱模拟游戏' }, { 'n': '泰拉瑞亚', 'v': '泰拉瑞亚' }, { 'n': '雨中冒险2', 'v': '雨中冒险2' }, { 'n': '游戏速通', 'v': '游戏速通' }, { 'n': '摔角城大乱斗', 'v': '摔角城大乱斗' }, { 'n': '勇敢的哈克', 'v': '勇敢的哈克' }, { 'n': ' 审判系列', 'v': ' 审判系列' }, { 'n': '太吾绘卷', 'v': '太吾绘卷' }, { 'n': '其他单机', 'v': '其他单机' }] }], + 'cc': [{ 'key': 'area', 'name': '分区', 'value': [{ 'n': '星秀', 'v': '星秀' }, { 'n': '二次元', 'v': '二次元' }, { 'n': '风华正茂', 'v': '风华正茂' }, { 'n': '正能量', 'v': '正能量' }, { 'n': '古风国色', 'v': '古风国色' }, { 'n': '巨好看', 'v': '巨好看' }, { 'n': '语音', 'v': '语音' }, { 'n': '梦幻西游手游', 'v': '梦幻西游手游' }, { 'n': '倩女幽魂手游', 'v': '倩女幽魂手游' }, { 'n': '第五人格', 'v': '第五人格' }, { 'n': '荒野行动', 'v': '荒野行动' }, { 'n': '大话西游手游', 'v': '大话西游手游' }, { 'n': '明日之后', 'v': '明日之后' }, { 'n': '阴阳师', 'v': '阴阳师' }, { 'n': '率土之滨', 'v': '率土之滨' }, { 'n': '决战!平安京', 'v': '决战!平安京' }, { 'n': '猫和老鼠', 'v': '猫和老鼠' }, { 'n': '暗黑破坏神:不朽', 'v': '暗黑破坏神:不朽' }, { 'n': '光·遇', 'v': '光·遇' }, { 'n': '天谕手游', 'v': '天谕手游' }, { 'n': '镇魔曲手游', 'v': '镇魔曲手游' }, { 'n': '宝可梦大探险', 'v': '宝可梦大探险' }, { 'n': '梦幻西游三维版', 'v': '梦幻西游三维版' }, { 'n': '综合手游', 'v': '综合手游' }, { 'n': '哈利波特:魔法觉醒', 'v': '哈利波特:魔法觉醒' }, { 'n': '神都夜行录', 'v': '神都夜行录' }, { 'n': '王牌竞速', 'v': '王牌竞速' }, { 'n': '星战前夜:无烬星河', 'v': '星战前夜:无烬星河' }, { 'n': '忘川风华录', 'v': '忘川风华录' }, { 'n': '漫威超级战争', 'v': '漫威超级战争' }, { 'n': '无尽的拉格朗日', 'v': '无尽的拉格朗日' }, { 'n': '大唐无双手游', 'v': '大唐无双手游' }, { 'n': '量子特攻', 'v': '量子特攻' }, { 'n': '机动都市阿尔法', 'v': '机动都市阿尔法' }, { 'n': '逆水寒手游', 'v': '逆水寒手游' }, { 'n': '非人学园', 'v': '非人学园' }, { 'n': '光明大陆', 'v': '光明大陆' }, { 'n': '梦幻西游网页版', 'v': '梦幻西游网页版' }, { 'n': '乱斗西游2', 'v': '乱斗西游2' }, { 'n': '《天下》手游', 'v': '《天下》手游' }, { 'n': '劲舞团', 'v': '劲舞团' }, { 'n': '三少爷的剑', 'v': '三少爷的剑' }, { 'n': '迷雾世界', 'v': '迷雾世界' }, { 'n': '终结战场', 'v': '终结战场' }, { 'n': '永远的7日之都', 'v': '永远的7日之都' }, { 'n': '狼人杀', 'v': '狼人杀' }, { 'n': '魂之轨迹', 'v': '魂之轨迹' }, { 'n': '三国如龙传', 'v': '三国如龙传' }, { 'n': '堡垒前线:破坏与创造', 'v': '堡垒前线:破坏与创造' }, { 'n': '战争怒吼', 'v': '战争怒吼' }, { 'n': '猎魂觉醒', 'v': '猎魂觉醒' }, { 'n': '终结战场PC版', 'v': '终结战场PC版' }, { 'n': '轩辕剑龙舞云山', 'v': '轩辕剑龙舞云山' }, { 'n': '实况:王者集结', 'v': '实况:王者集结' }, { 'n': '权力与纷争', 'v': '权力与纷争' }, { 'n': '花与剑', 'v': '花与剑' }, { 'n': '流星群侠传', 'v': '流星群侠传' }, { 'n': '游戏王:决斗链接', 'v': '游戏王:决斗链接' }, { 'n': '遇见逆水寒', 'v': '遇见逆水寒' }, { 'n': '阴阳师:百闻牌', 'v': '阴阳师:百闻牌' }, { 'n': '青璃', 'v': '青璃' }, { 'n': '阴阳师:妖怪屋', 'v': '阴阳师:妖怪屋' }, { 'n': '重装上阵', 'v': '重装上阵' }, { 'n': '猎手之王', 'v': '猎手之王' }, { 'n': '第九所', 'v': '第九所' }, { 'n': 'Badlanders', 'v': 'Badlanders' }, { 'n': '风云岛行动', 'v': '风云岛行动' }, { 'n': '一起优诺', 'v': '一起优诺' }, { 'n': '隐世录', 'v': '隐世录' }, { 'n': '洪荒文明', 'v': '洪荒文明' }, { 'n': '密特拉之星', 'v': '密特拉之星' }, { 'n': '阴阳师: 妖怪小班', 'v': '阴阳师: 妖怪小班' }, { 'n': '漫威对决', 'v': '漫威对决' }, { 'n': '月神的迷宫', 'v': '月神的迷宫' }, { 'n': '有杀气童话2', 'v': '有杀气童话2' }, { 'n': '零号任务', 'v': '零号任务' }, { 'n': '蛋仔派对', 'v': '蛋仔派对' }, { 'n': '绝对演绎', 'v': '绝对演绎' }, { 'n': '大航海之路', 'v': '大航海之路' }, { 'n': '大富翁9', 'v': '大富翁9' }, { 'n': '永恒文明', 'v': '永恒文明' }, { 'n': '新游中心', 'v': '新游中心' }, { 'n': '我的世界中国版', 'v': '我的世界中国版' }, { 'n': '梦幻西游电脑版', 'v': '梦幻西游电脑版' }, { 'n': '大话西游2经典版', 'v': '大话西游2经典版' }, { 'n': '永劫无间', 'v': '永劫无间' }, { 'n': '新倩女幽魂', 'v': '新倩女幽魂' }, { 'n': '荒野行动PC模拟器', 'v': '荒野行动PC模拟器' }, { 'n': '天下3', 'v': '天下3' }, { 'n': '一梦江湖', 'v': '一梦江湖' }, { 'n': '大话西游2免费版', 'v': '大话西游2免费版' }, { 'n': '逆水寒', 'v': '逆水寒' }, { 'n': '其他游戏', 'v': '其他游戏' }, { 'n': '超激斗梦境', 'v': '超激斗梦境' }, { 'n': '魔兽世界怀旧服', 'v': '魔兽世界怀旧服' }, { 'n': '镇魔曲', 'v': '镇魔曲' }, { 'n': 'FPS综合游戏', 'v': 'FPS综合游戏' }, { 'n': '绿茵信仰', 'v': '绿茵信仰' }, { 'n': '天谕', 'v': '天谕' }, { 'n': '魔兽世界', 'v': '魔兽世界' }, { 'n': '大唐无双零', 'v': '大唐无双零' }, { 'n': '武魂2', 'v': '武魂2' }, { 'n': '命运2', 'v': '命运2' }, { 'n': '暗黑破坏神', 'v': '暗黑破坏神' }, { 'n': '泰亚史诗', 'v': '泰亚史诗' }, { 'n': '泰亚史诗', 'v': '泰亚史诗' }, { 'n': '战意', 'v': '战意' }, { 'n': '易次元', 'v': '易次元' }, { 'n': '无主之地3', 'v': '无主之地3' }, { 'n': 'EVE Online', 'v': 'EVE Online' }, { 'n': '全面战争:竞技场', 'v': '全面战争:竞技场' }, { 'n': '暴雪游戏', 'v': '暴雪游戏' }, { 'n': '魔兽争霸', 'v': '魔兽争霸' }, { 'n': '大话女儿国', 'v': '大话女儿国' }] }] }, + detailUrl: '/index/liveRoom?platform=fyclass&roomId=fyid',//二级详情拼接链接(json格式用) + searchUrl: '/api/live/search?platform=all&keyWords=**&isLive=0', + searchable: 2, + quickSearch: 0, + headers: { + 'User-Agent': 'PC_UA' + }, + timeout: 5000, + play_parse: true, + lazy: '', + double: false, + limit: 6, + 推荐: '*', + 一级: 'json:data;roomName;roomPic;ownerName;roomId', + 二级: '*', + 搜索: '*', +} diff --git a/TVBox_JS/KUBO影视.js b/TVBox_JS/KUBO影视.js new file mode 100644 index 0000000..fa644a1 --- /dev/null +++ b/TVBox_JS/KUBO影视.js @@ -0,0 +1,25 @@ +var rule = { + title:'KUBO影视', + host:'https://123kubo.tv', + // homeUrl:'/', + url:'/show/fyclass/page/fypage.html', + searchUrl:'/search/page/fypage/wd/**.html', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_name:'电影&电视剧&综艺&动漫', + class_url:'1&2&3&4', + //class_parse:'.myui-panel-box&&ul&&li;a&&Text;a&&href;/v/(.*)/', + play_parse:true, + lazy:'', + limit:6, + 推荐:'ul.hl-vod-list;li;a&&title;.hl-item-thumb.hl-lazy&&data-original;.hl-pic-text&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.hl-list-item;a&&title;.hl-item-thumb.hl-lazy&&data-original;.hl-pic-text&&Text;a&&href', + 二级:{"title":".hl-item-thumb.hl-lazy&&title;.hl-full-box&&ul li:eq(6)&&Text","img":".hl-item-thumb.hl-lazy&&data-original","desc":".hl-full-box&&ul&&li:eq(1)&&Text;.hl-full-box&&ul&&li:eq(2)&&Text;.hl-full-box&&ul&&li:eq(3)&&Text","content":".hl-col-xs-12.blurb&&Text","tabs":".hl-plays-from:eq(0) a","lists":".hl-plays-list:eq(#id) li"}, + 搜索:'.hl-item-div;a&&title;.hl-item-thumb&&data-original;.hl-lc-1&&Text;a&&href;.text-muted:eq(-1)&&Text', +} diff --git a/TVBox_JS/LIBVIO.js b/TVBox_JS/LIBVIO.js new file mode 100644 index 0000000..bcd99f0 --- /dev/null +++ b/TVBox_JS/LIBVIO.js @@ -0,0 +1,8 @@ +var rule = Object.assign(muban.首图2,{ +title:'LIBVIO', +// host:'https://www.libvio.me', +host:'https://www.libvio.fun', +url:'/type/fyclass-fypage.html', +class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', +searchUrl:'/search/**----------fypage---.html', +}); \ No newline at end of file diff --git a/TVBox_JS/MXONE.js b/TVBox_JS/MXONE.js new file mode 100644 index 0000000..99cf7c2 --- /dev/null +++ b/TVBox_JS/MXONE.js @@ -0,0 +1,9 @@ +var rule = Object.assign(muban.mxpro,{ + title:'MXONE', + host:'https://www.jpys.me', + url:'vodshow/fyclass--------fypage---.html', + searchUrl:'/vodsearch/**----------fypage---.html/', + class_name:'电影&电视剧&动漫&综艺', + class_url:'1&2&3&4', + class_parse:'', +}); \ No newline at end of file diff --git a/TVBox_JS/Missav.js b/TVBox_JS/Missav.js new file mode 100644 index 0000000..5ef9b5c --- /dev/null +++ b/TVBox_JS/Missav.js @@ -0,0 +1,22 @@ +var rule = { + title:'Missav', + host:'https://missav.com', + searchUrl:'/cn/search/**', + url:'/cn/fyclass?page=fypage', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'最近更新&新作上市&无码流出&SIRO&LUXU&GANA&PRESTIGE&S-CUTE&ARA&FC2&麻豆传媒&本月热门',//静态分类名称拼接 + class_url:'new&release&uncensored-leak&siro&luxu&gana&maan&scute&ara&fc2&madou&monthly-hot',//静态分类标识拼接 + limit:5, + play_parse:true, + lazy:'', + 一级:'.grid.grid-cols-2 div&&a;.lozad.w-full&&alt;.lozad.w-full&&data-src;.absolute.bottom-1&&Text;a&&href', + 二级:'*', + 搜索:'.grid.grid-cols-2 div&&a;.lozad.w-full&&alt;.lozad.w-full&&data-src;.absolute.bottom-1&&Text;a&&href', + searchable:1,//是否启用全局搜索, + quickSearch:1,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, +} + diff --git a/TVBox_JS/Nike影视.js b/TVBox_JS/Nike影视.js new file mode 100644 index 0000000..fdf379e --- /dev/null +++ b/TVBox_JS/Nike影视.js @@ -0,0 +1,8 @@ +var rule = Object.assign(muban.mxpro,{ +title:'Nike影视', +host:'https://www.ajeee.com', +url:'/show/fyclass/page/fypage.html', +class_name:'电影&电视剧&综艺&动漫', +class_url:'Movie&Tv&Variety&Cartoon', +class_parse:'', +}); \ No newline at end of file diff --git a/TVBox_JS/RP影视.js b/TVBox_JS/RP影视.js new file mode 100644 index 0000000..c481f39 --- /dev/null +++ b/TVBox_JS/RP影视.js @@ -0,0 +1,16 @@ +var rule = { + title:'RP影视', + host:'https://mac.rp123.top', + url:'/vodshow/fyclass--hits------fypage---/', + searchUrl:'/vodsearch/-------------/?wd=**', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{'User-Agent':'MOBILE_UA',}, + class_name:'电影&电视剧&综艺&动漫&纪录片&4K专区', + class_url:'1&2&3&4&35&40', + 推荐:'.module-poster-item;*;*;*;*', + 一级:'.module-poster-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', + 二级:{"title":"h1&&Text;.module-info-tag-link a&&Text","img":".alignnone&&src","desc":";;;.module-info-items div:eq(4) a&&Text;.module-info-items div:eq(3) a&&Text","content":".show-desc&&Text","tabs":".module-tab-items-box span","lists":".module-play-list:eq(#id) a"}, + 搜索:'.module-card-item-poster;img&&alt;.lazyload&&data-original;.module-item-note&&Text;a&&href', +} \ No newline at end of file diff --git a/TVBox_JS/TV云播.js b/TVBox_JS/TV云播.js new file mode 100644 index 0000000..dcd5b74 --- /dev/null +++ b/TVBox_JS/TV云播.js @@ -0,0 +1,9 @@ +muban.首图.二级.tabs = '.myui-panel__head.bottom-line h3'; +var rule = Object.assign(muban.首图,{ +title:'TV云播', +host:'http://www.tvyb03.com', +url:'/vod/type/id/fyclass/page/fypage.html', +class_parse:'.item.nav-list.clearfix li:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', +推荐:'.myui-panel_bd.clearfix;.myui-vodlist.clearfix&&li;a&&title;a&&data-original;.background-color&&Text;a&&href', + 一级:'.myui-vodlist li;a&&title;a&&data-original;.pic-tag-top&&Text;a&&href', +}); \ No newline at end of file diff --git a/TVBox_JS/alist.js b/TVBox_JS/alist.js new file mode 100644 index 0000000..f124d80 --- /dev/null +++ b/TVBox_JS/alist.js @@ -0,0 +1,270 @@ +import _ from 'https://underscorejs.org/underscore-esm-min.js' +import { distance } from 'https://unpkg.com/fastest-levenshtein@1.0.16/esm/mod.js' + +/** + * alist js + * 配置设置 {"key":"Alist","name":"Alist","type":3,"api":"http://xxx.com/alist.js","searchable":0,"quickSearch":0,"filterable":0,"ext":"http://xxx.com/alist.json"} + * alist.json [{ + name:'名称', + server:'地址', + startPage:'/', //启动文件夹 + showAll: false , //是否显示全部文件,默认false只显示 视频和文件夹 + params:{ //对应文件夹参数 如设置对应文件夹的密码 + '/abc':{ password : '123' }, + '/abc/abc':{ password : '123' }, + } + }] + * 提示 想要加载文件夹里面全部视频到详情(看剧可以自动播放下一集支持历史记录) + * 需要改软件才能支持,,建议长按文件夹时添加判断 tag == folder 时跳转 DetailActivity + */ + +const http = function (url, options = {}) { + if(options.method =='POST' && options.data){ + options.body = JSON.stringify(options.data) + options.headers = Object.assign({'content-type':'application/json'}, options.headers) + } + const res = req(url, options); + res.json = () => res.content ? JSON.parse(res.content) : null; + res.text = () => res.content; + return res +}; +["get", "post"].forEach(method => { + http[method] = function (url, options = {}) { + return http(url, Object.assign(options, {method: method.toUpperCase()})); + } +}) + +const __drives = {} + +function get_drives_path(tid) { + const index = tid.indexOf('$'); + const name = tid.substring(0, index); + const path = tid.substring(index + 1) + return { drives: get_drives(name), path } +} + +function get_drives(name) { + const { settings, api, server } = __drives[name] + if (settings.v3 == null) { //获取 设置 + settings.v3 = false + const data = http.get(server + '/api/public/settings').json().data; + if (_.isArray(data)) { + settings.title = data.find(x => x.key == 'title')?.value; + settings.v3 = false; + settings.version = data.find(x => x.key == 'version')?.value; + settings.enableSearch = data.find(x => x.key == 'enable search')?.value == 'true'; + } else { + settings.title = data.title; + settings.v3 = true; + settings.version = data.version; + settings.enableSearch = false; //v3 没有找到 搜索配置 + } + //不同版本 接口不一样 + api.path = settings.v3 ? '/api/fs/list' : '/api/public/path'; + api.file = settings.v3 ? '/api/fs/get' : '/api/public/path'; + api.search = settings.v3 ? '/api/public/search' : '/api/public/search'; + } + return __drives[name] +} + +function init(ext) { + const data = http.get(ext).json(); + data.forEach(item => __drives[item.name] = { + name: item.name, + server: item.server.endsWith("/") ? url.substring(0, item.server.length() - 1) : item.server, + startPage: item.startPage || '/', //首页 + showAll: item.showAll === true, //默认只显示 视频和文件夹,如果想显示全部 showAll 设置true + params: item.params || {}, + _path_param: item.params ? _.sortBy(Object.keys(item.params), function(x) { return -x.length }) : [], + settings: {}, + api: {}, + getParams(path) { + const key = this._path_param.find(x => path.startsWith(x)) + return Object.assign({}, this.params[key], { path }) + }, + getPath(path) { + const res = http.post(this.server + this.api.path, { data: this.getParams(path) }).json() + return this.settings.v3 ? res.data.content : res.data.files + }, + getFile(path) { + const res = http.post(this.server + this.api.file, { data: this.getParams(path) }).json() + const data = this.settings.v3 ? res.data : res.data.files[0] + if (!this.settings.v3) data.raw_url = data.url //v2 的url和v3不一样 + return data + }, + isFolder(data) { return data.type == 1 }, + isVideo(data) { //判断是否是 视频文件 + return this.settings.v3 ? data.type == 2 : data.type == 3 + }, + is_subt(data) { + if (data.type == 1) return false + const ext = [".srt", ".ass", ".scc", ".stl", ".ttml"] + return ext.some(x => data.name.endsWith(x)) + }, + getPic(data) { + let pic = this.settings.v3 ? data.thumb : data.thumbnail; + return pic || (this.isFolder(data) ? "http://img1.3png.com/281e284a670865a71d91515866552b5f172b.png" : '') + } + }) +} + +function home(filter) { + let classes = Object.keys(__drives).map(key => ({ + type_id: `${key}$${__drives[key].startPage}`, + type_name: key, + type_flag: '1', + })) + return JSON.stringify({ 'class': classes }); +} + +function homeVod(params) { + return JSON.stringify({ 'list': [] }) +} + +function category(tid, pg, filter, extend) { + let { drives, path } = get_drives_path(tid) + const id = tid.endsWith('/') ? tid : tid + '/' + const list = drives.getPath(path) + let subList = [] + let vodFiles = [] + let allList = [] + list.forEach(item => { + if (drives.is_subt(item)) subList.push(item.name) + if (!drives.showAll && !drives.isFolder(item) && !drives.isVideo(item)) return //只显示视频文件和文件夹 + let remark = get_size(item.size) + const vod = { + 'vod_id': id + item.name + (drives.isFolder(item) ? '/' : ''), + 'vod_name': item.name.replaceAll("$", "").replaceAll("#", ""), + 'vod_pic': drives.getPic(item), + 'vod_tag': drives.isFolder(item) ? 'folder' : 'file', + 'vod_remarks': drives.isFolder(item) ? remark + ' 文件夹' : remark + } + if (drives.isVideo(item)) vodFiles.push(vod) + allList.push(vod) + }) + + if (vodFiles.length == 1 && subList.length > 0) { //只有一个视频 一个或者多个字幕 取相似度最高的 + let sub = subList.length == 1 ? subList[0] : _.chain(allList).sortBy(x => (x.includes('chs') ? 100 : 0) + levenshteinDistance(x, vodFiles[0].vod_name)).last().value() + vodFiles[0].vod_id += "@@@" + sub + //vodFiles[0].vod_remarks += " 有字幕" + } else { + vodFiles.forEach(item => { + const lh = 0 + let sub + subList.forEach(s => { + //编辑距离相似度 + const l = levenshteinDistance(s, item.vod_name) + if (l > 60 && l > lh) sub = s + }) + if (sub) { + item.vod_id += "@@@" + sub + //item.vod_remarks += " 有字幕" + } + }) + } + + return JSON.stringify({ + 'page': 1, + 'pagecount': 1, + 'limit': allList.length, + 'total': allList.length, + 'list': allList, + }); +} + +function detail(tid) { + let { drives, path } = get_drives_path(tid) + if (path.endsWith("/")) { //长按文件夹可以 加载里面全部视频到详情 + const content = category(tid, null, false, null) + const { list } = JSON.parse(content) + const vod_play_url = [] + list.forEach(x => { + if (x.vod_tag == 'file') vod_play_url.push(`${x.vod_name}$${x.vod_id.substring(x.vod_id.indexOf('$') + 1)}`) + }) + const pl = path.split("/"); + const vod_name = pl[pl.length - 2] || drives.name; + let vod = { + vod_id: tid, + vod_name: vod_name, + type_name: "文件夹", + vod_pic: "https://avatars.githubusercontent.com/u/97389433?s=200&v=4", + vod_content: tid, + vod_tag: 'folder', + vod_play_from: drives.name, + vod_play_url: vod_play_url.join('#'), + vod_remarks: drives.settings.title, + } + return JSON.stringify({ 'list': [vod] }) + } else { + let paths = path.split("@@@"); + let vod_name = paths[0].substring(paths[0].lastIndexOf("/") + 1) + let vod = { + vod_id: tid, + vod_name: vod_name, + type_name: "文件", + vod_pic: "https://avatars.githubusercontent.com/u/97389433?s=200&v=4", + vod_content: tid, + vod_play_from: drives.name, + vod_play_url: vod_name + "$" + path, + vod_remarks: drives.settings.title, + } + return JSON.stringify({ + 'list': [vod] + }); + } +} + +function play(flag, id, flags) { + const drives = get_drives(flag) + const urls = id.split("@@@") + const vod = { + 'parse': 0, + 'playUrl': '', + 'url': drives.getFile(urls[0]).raw_url + } + if (urls.length >= 2) { + const path = urls[0].substring(0, urls[0].lastIndexOf('/') + 1) + vod.subt = drives.getFile(path + urls[1]).raw_url + } + return JSON.stringify(vod) +} + +function search(wd, quick) { + return JSON.stringify({ + 'list': [] + }); +} + +function get_size(sz) { + if (sz <= 0) return ""; + let filesize = ""; + if (sz > 1024 * 1024 * 1024 * 1024.0) { + sz /= (1024 * 1024 * 1024 * 1024.0); + filesize = "TB"; + } else if (sz > 1024 * 1024 * 1024.0) { + sz /= (1024 * 1024 * 1024.0); + filesize = "GB"; + } else if (sz > 1024 * 1024.0) { + sz /= (1024 * 1024.0); + filesize = "MB"; + } else { + sz /= 1024.0; + filesize = "KB"; + } + return sz.toFixed(2) + filesize +} + +function levenshteinDistance(str1, str2) { + return 100 - 100 * distance(str1, str2) / Math.max(str1.length, str2.length) +} + +__JS_SPIDER__ = { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search +} + diff --git a/TVBox_JS/banan.js b/TVBox_JS/banan.js new file mode 100644 index 0000000..d3befc6 --- /dev/null +++ b/TVBox_JS/banan.js @@ -0,0 +1,19 @@ +var rule = { + title:'banan', + host:'https://banan.tv', + url:'/vodtype/fyclass-fypage.html', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'探花&91大神&素人&国产&高清&FC2',//静态分类名称拼接 + class_url:'57&23&63&25&22&28',//静态分类标识拼接 + //class_parse:'ul.navbar-nav&&li:gt(1):lt(6);a&&Text;a&&href', + limit:5, + play_parse:true, + lazy:'', + 一级:'.img-box.cover-md&&a;img&&alt;img&&data-src;.grid_date&&Text;a&&href', + 二级:'*', + +} + diff --git a/TVBox_JS/cokemv.js b/TVBox_JS/cokemv.js new file mode 100644 index 0000000..1f4a3d2 --- /dev/null +++ b/TVBox_JS/cokemv.js @@ -0,0 +1,5 @@ +var rule = Object.assign(muban.mxpro,{ +title:'cokemv', +host:'https://cokemv.me', +class_parse:'.navbar-items li:gt(1):lt(7);a&&Text;a&&href;/(\\d+).html', +}); \ No newline at end of file diff --git a/TVBox_JS/czzy.js b/TVBox_JS/czzy.js new file mode 100644 index 0000000..dff451e --- /dev/null +++ b/TVBox_JS/czzy.js @@ -0,0 +1,20 @@ +var rule={ + title:'厂长资源', + host:'https://www.czspp.com', + url:'/fyclass/page/fypage', + searchUrl:'/xssearch?q=**&f=_all&p=fypage', + searchable:2,//是否启用全局搜索, + quickSearch:1,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{'User-Agent':'UC_UA', }, + play_parse:true, + lazy:'', + limit:6, + class_name:'豆瓣电影Top250&最新电影&电视剧&国产剧&美剧&韩剧&番剧&动漫', + class_url:'dbtop250&zuixindianying&dsj&gcj&meijutt&hanjutv&fanju&dm', + 推荐:'.bt_img;ul&&li;*;*;*;*', + double:true, + 一级:'.bt_img&&ul&&li;h3.dytit&&Text;img.lazy&&data-original;.jidi&&Text;a&&href', + 二级:{"title":"h1&&Text;.moviedteail_list li&&a&&Text","img":"div.dyimg img&&src","desc":".moviedteail_list li:eq(3) a&&Text;.moviedteail_list li:eq(2) a&&Text;.moviedteail_list li:eq(1) a&&Text;.moviedteail_list li:eq(7) a&&Text;.moviedteail_list li:eq(5) a&&Text","content":".yp_context&&Text","tabs":".mi_paly_box&&span","lists":".paly_list_btn:eq(#id) a"}, + 搜索:'.search_list&&ul&&li;*;*;*;*', +} \ No newline at end of file diff --git a/TVBox_JS/ddys.js b/TVBox_JS/ddys.js new file mode 100644 index 0000000..5d67d28 --- /dev/null +++ b/TVBox_JS/ddys.js @@ -0,0 +1,29 @@ +var rule={ + title:'ddys', + host:'https://ddys.tv', + // homeUrl:'/', + url:'/fyclass/page/fypage/', + searchUrl:'/?s=**&post_type=post', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + // class_name:'电影&剧集&动画', + // class_url:'movie&airing&anime', + class_parse:'#primary-menu li.menu-item;a&&Text;a&&href;\.tv/(.*)', + cate_exclude:'站长|^其他$|关于|^电影$|^剧集$|^类型$', + play_parse:true, + lazy:'js:let purl=input.split("|")[0];let referer=input.split("|")[1];let zm=input.split("|")[2];print("purl:"+purl);print("referer:"+referer);print("zm:"+zm);let myua="okhttp/3.15";if(/ddrkey/.test(purl)){let ret=request(purl,{Referer:referer,withHeaders:true,"User-Agent":myua});log(ret);input=purl}else{let html=request(purl,{headers:{Referer:referer,"User-Agent":myua}});print(html);try{input=JSON.parse(html).url||{}}catch(e){input=purl}}', + limit:6, + //推荐:'.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.post-box-list&&article;a:eq(-1)&&Text;.post-box-image&&style;a:eq(0)&&Text;a:eq(-1)&&href', + 二级:{"title":".post-title&&Text;.cat-links&&Text","img":".doulist-item&&img&&data-cfsrc","desc":".published&&Text","content":".abstract&&Text","tabs":"js:TABS=['国内','海外(貌似不能播放)']", + lists:'js:log(TABS);let d=[];pdfh=jsp.pdfh;pdfa=jsp.pdfa;if(typeof play_url==="undefined"){var play_url=""}function getLists(html){let src=pdfh(html,".wp-playlist-script&&Html");src=JSON.parse(src).tracks;let list1=[];let list2=[];src.forEach(function(it){let src0=it.src0;let src1=it.src1;let src2=it.src2;let title=it.caption;let url1="https://ddys.tv/getvddr/video?id="+src1+"&dim=1080P+&type=mix";let url2="https://w.ddys.tv"+src0+"?ddrkey="+src2;let zm="https://ddys.tv/subddr/"+it.subsrc;list1.push({title:title,url:url1,desc:zm});list2.push({title:title,url:url2,desc:zm})});return{list1:list1,list2:list2}}var data=getLists(html);var list1=data.list1;var list2=data.list2;let nums=pdfa(html,"body&&.post-page-numbers");nums.forEach(function(it){let num=pdfh(it,"body&&Text");log(num);let nurl=input+num+"/";if(num==1){return}log(nurl);let html=request(nurl);let data=getLists(html);list1=list1.concat(data.list1);list2=list2.concat(data.list2)});list1=list1.map(function(item){return item.title+"$"+play_url+urlencode(item.url+"|"+input+"|"+item.desc)});list2=list2.map(function(item){return item.title+"$"+play_url+urlencode(item.url+"|"+input+"|"+item.desc)});LISTS=[list1,list2];', + }, + 搜索:'#main&&article;.post-title&&Text;;.published&&Text;a&&href', + 推荐:'*' +} \ No newline at end of file diff --git a/TVBox_JS/douban.js b/TVBox_JS/douban.js new file mode 100644 index 0000000..618c0d8 --- /dev/null +++ b/TVBox_JS/douban.js @@ -0,0 +1,168 @@ +import './uri.min.js'; + +/** + * 豆瓣索引 + * @antod + * + */ + +const key = 'douban'; +const api = 'https://frodo.douban.com/api/v2'; +const ua = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat'; +const apiKey = '0ac44ae016490db2204ce0a042db2916'; +const homeData = {"class":[{"type_id":"movie","type_name":"电影"},{"type_id":"tv","type_name":"电视剧"},{"type_id":"rank","type_name":"排行版"}],"filters":{"movie":[{"key":"类型","name":"类型","value":[{"n":"全部类型","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"动画","v":"动画"},{"n":"悬疑","v":"悬疑"},{"n":"犯罪","v":"犯罪"},{"n":"惊悚","v":"惊悚"},{"n":"冒险","v":"冒险"},{"n":"音乐","v":"音乐"},{"n":"历史","v":"历史"},{"n":"奇幻","v":"奇幻"},{"n":"恐怖","v":"恐怖"},{"n":"战争","v":"战争"},{"n":"传记","v":"传记"},{"n":"歌舞","v":"歌舞"},{"n":"武侠","v":"武侠"},{"n":"情色","v":"情色"},{"n":"灾难","v":"灾难"},{"n":"西部","v":"西部"},{"n":"纪录片","v":"纪录片"},{"n":"短片","v":"短片"}]},{"key":"地区","name":"地区","value":[{"n":"全部地区","v":""},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"中国大陆","v":"中国大陆"},{"n":"美国","v":"美国"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"印度","v":"印度"},{"n":"泰国","v":"泰国"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"加拿大","v":"加拿大"},{"n":"澳大利亚","v":"澳大利亚"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"丹麦","v":"丹麦"}]},{"key":"sort","name":"排序","value":[{"n":"近期热度","v":"T"},{"n":"首映时间","v":"R"},{"n":"高分优先","v":"S"}]},{"key":"年代","name":"年代","value":[{"n":"全部年代","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2010年代","v":"2010年代"},{"n":"2000年代","v":"2000年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"},{"n":"70年代","v":"70年代"},{"n":"60年代","v":"60年代"},{"n":"更早","v":"更早"}]}],"tv":[{"key":"类型","name":"类型","value":[{"n":"不限","v":""},{"n":"电视剧","v":"电视剧"},{"n":"综艺","v":"综艺"}]},{"key":"电视剧形式","name":"电视剧形式","value":[{"n":"不限","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"悬疑","v":"悬疑"},{"n":"动画","v":"动画"},{"n":"武侠","v":"武侠"},{"n":"古装","v":"古装"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"科幻","v":"科幻"},{"n":"恐怖","v":"恐怖"},{"n":"历史","v":"历史"},{"n":"战争","v":"战争"},{"n":"动作","v":"动作"},{"n":"冒险","v":"冒险"},{"n":"传记","v":"传记"},{"n":"剧情","v":"剧情"},{"n":"奇幻","v":"奇幻"},{"n":"惊悚","v":"惊悚"},{"n":"灾难","v":"灾难"},{"n":"歌舞","v":"歌舞"},{"n":"音乐","v":"音乐"}]},{"key":"综艺形式","name":"综艺形式","value":[{"n":"不限","v":""},{"n":"真人秀","v":"真人秀"},{"n":"脱口秀","v":"脱口秀"},{"n":"音乐","v":"音乐"},{"n":"歌舞","v":"歌舞"}]},{"key":"地区","name":"地区","value":[{"n":"全部地区","v":""},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"国外","v":"国外"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"美国","v":"美国"},{"n":"英国","v":"英国"},{"n":"泰国","v":"泰国"},{"n":"中国台湾","v":"中国台湾"},{"n":"意大利","v":"意大利"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"西班牙","v":"西班牙"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"丹麦","v":"丹麦"},{"n":"印度","v":"印度"},{"n":"加拿大","v":"加拿大"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"澳大利亚","v":"澳大利亚"}]},{"key":"sort","name":"排序","value":[{"n":"近期热度","v":"T"},{"n":"首播时间","v":"R"},{"n":"高分优先","v":"S"}]},{"key":"年代","name":"年代","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2010年代","v":"2010年代"},{"n":"2000年代","v":"2000年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"},{"n":"70年代","v":"70年代"},{"n":"60年代","v":"60年代"},{"n":"更早","v":"更早"}]},{"key":"平台","name":"平台","value":[{"n":"全部","v":""},{"n":"腾讯视频","v":"腾讯视频"},{"n":"爱奇艺","v":"爱奇艺"},{"n":"优酷","v":"优酷"},{"n":"湖南卫视","v":"湖南卫视"},{"n":"Netflix","v":"Netflix"},{"n":"HBO","v":"HBO"},{"n":"BBC","v":"BBC"},{"n":"NHK","v":"NHK"},{"n":"CBS","v":"CBS"},{"n":"NBC","v":"NBC"},{"n":"tvN","v":"tvN"}]}],"rank":[{"key":"榜单","name":"榜单","value":[{"n":"实时热门电影","v":"movie_real_time_hotest"},{"n":"一周口碑电影榜","v":"movie_weekly_best"},{"n":"豆瓣电影Top250","v":"movie_top250"},{"n":"实时热门电视","v":"tv_real_time_hotest"},{"n":"华语口碑剧集榜","v":"tv_chinese_best_weekly"},{"n":"全球口碑剧集榜","v":"tv_global_best_weekly"},{"n":"国内口碑综艺榜","v":"show_chinese_best_weekly"},{"n":"国外口碑综艺榜","v":"show_global_best_weekly"}]}]}}; + +function request(path) { + const uri = new Uri(api + path); + // TODO - params + const header = { + 'User-Agent': ua, + 'Referer': 'https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html' + }; + const res = req(uri.toString(), { + headers: header + }); + + const content = res.content; + return content; +} + +function init(ext) { +} + +function home(filter) { + if (filter) return JSON.stringify(homeData); + return JSON.stringify({ + 'class': homeData.class + }); +} + +function homeVod(params) { + try { + const url = '/subject_collection/show_hot/items?apiKey=' + apiKey + '&count=20&start=0'; + + let videos = []; + for (const vod of JSON.parse(request(url)).subject_collection_items) { + if (vod.type && (vod.type == 'tv' || vod.type == 'movie')) { + videos.push({ + 'vod_id': '/' + vod.type + '/' + vod.id, + 'vod_name': vod.title, + 'vod_pic': vod.pic.normal, + 'vod_remarks': vod.rating.value + }); + } + } + + return JSON.stringify({ + 'list': videos + }); + } catch (e) { + console.log(e); + } + return JSON.stringify({ + 'list': [] + }); +} + +function category(tid, pg, filter, extend) { + try { + let url = ''; + let data = {}; + let list = []; + const pageSize = 30; + + if (filter && extend) { + // TODO - filter + console.log(JSON.stringify(extend)); + } + + if (tid == 'movie' || tid == 'tv') { + url += '/' + tid + '/recommend?apiKey=' + apiKey + + '&tags=&sort=T&refresh=0&selected_categories=' + JSON.stringify(extend) + + '&count=' + pageSize + '&start=' + ((parseInt(pg) - 1) * pageSize); + + data = JSON.parse(request(url)); + list = data.items; + } else if (tid == 'rank') { + let type = 'show_hot'; + url += '/subject_collection/' + type + '/items?apiKey=' + apiKey + + '&count=' + pageSize + '&start=' + (parseInt(pg) - 1) * pageSize; + data = JSON.parse(request(url)); + list = data.subject_collection_items; + } + + // console.log(url); + + let videos = []; + for (const vod of list) { + if (vod.type && (vod.type == 'tv' || vod.type == 'movie')) { + videos.push({ + 'vod_id': '/' + vod.type + '/' + vod.id, + 'vod_name': vod.title, + 'vod_pic': vod.pic.normal, + 'vod_remarks': vod.rating.value + }); + } + } + + return JSON.stringify({ + 'page': parseInt(pg), + 'pagecount': parseInt(data.total / pageSize), + 'limit': pageSize, + 'total': data.total, + 'list': videos, + }); + } catch (e) { + console.log(e) + } + return '{}'; +} + +function detail(id) { + try { + const url = id + '?apiKey=' + apiKey; + const data = JSON.parse(request(url)); + + let directors = []; + data.directors.forEach((it) => {directors.push(it.name)}); + let actors = []; + data.actors.forEach((it) => {actors.push(it.name)}); + + let vod = { + 'vod_id': data.id, + 'vod_name': data.title, + 'vod_pic': data.pic.normal, + 'type_name': data.genres.join('/'), + 'vod_year': data.year, + 'vod_area': data.area, + 'vod_remarks': data.card_subtitle, + 'vod_actor': actors.join('/'), + 'vod_director': directors.join('/'), + 'vod_content': data.intro, + } + return JSON.stringify({ + 'list': [vod] + }); + } catch (e) { + console.log(e) + } + return '{}'; +} + +function play(flag, id, flags) { + return '{}'; +} + +function search(wd, quick) { + return '{}'; +} + +__JS_SPIDER__ = { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search +} diff --git a/TVBox_JS/douban2.js b/TVBox_JS/douban2.js new file mode 100644 index 0000000..a77c46a --- /dev/null +++ b/TVBox_JS/douban2.js @@ -0,0 +1,34 @@ +var rule = { + title:'drpy', + host:'https://frodo.douban.com', + homeUrl:'', + searchUrl:'', + searchable:1, + quickSearch:1, + filterable:1, + // 分类链接fypage参数支持1个()表达式 + url:'/?pg=fypage&class=fyclass&douban=', + filter_url:'fl={{fl}}', + headers:{ + "Host": "frodo.douban.com", + "Connection": "Keep-Alive", + "Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html", + "content-type": "application/json", + "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat" + }, + timeout:5000, + class_name:'热门电影&热播剧集&热播综艺&电影筛选&电视筛选&电影榜单&电视榜单&我的豆瓣', + class_url:'hot_gaia&tv_hot&show_hot&movie&tv&rank_list_movie&rank_list_tv&interests', + filter:{'interests': [{'key': 'status', 'name': '状态', 'value': [{'n': '想看', 'v': 'mark'}, {'n': '在看', 'v': 'doing'}, {'n': '看过', 'v': 'done'}]}, {'key': 'subtype_tag', 'name': '形式', 'value': [{'n': '全部', 'v': ''}, {'n': '电影', 'v': 'movie'}, {'n': '电视', 'v': 'tv'}]}, {'key': 'year_tag', 'name': '年代', 'value': [{'n': '全部', 'v': '全部'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'hot_gaia': [{'key': 'sort', 'name': '排序', 'value': [{'n': '热度', 'v': 'recommend'}, {'n': '最新', 'v': 'time'}, {'n': '评分', 'v': 'rank'}]}, {'key': 'area', 'name': '地区', 'value': [{'n': '全部', 'v': '全部'}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}]}], 'tv_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'tv_hot'}, {'n': '国产剧', 'v': 'tv_domestic'}, {'n': '欧美剧', 'v': 'tv_american'}, {'n': '日剧', 'v': 'tv_japanese'}, {'n': '韩剧', 'v': 'tv_korean'}, {'n': '动画', 'v': 'tv_animation'}]}], 'show_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'show_hot'}, {'n': '国内', 'v': 'show_domestic'}, {'n': '国外', 'v': 'show_foreign'}]}], 'movie': [{'key': '类型', 'name': '类型', 'value': [{'n': '全部类型', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '动画', 'v': '动画'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '冒险', 'v': '冒险'}, {'n': '音乐', 'v': '音乐'}, {'n': '历史', 'v': '历史'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '战争', 'v': '战争'}, {'n': '传记', 'v': '传记'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '武侠', 'v': '武侠'}, {'n': '情色', 'v': '情色'}, {'n': '灾难', 'v': '灾难'}, {'n': '西部', 'v': '西部'}, {'n': '纪录片', 'v': '纪录片'}, {'n': '短片', 'v': '短片'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '英国', 'v': '英国'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '意大利', 'v': '意大利'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '印度', 'v': '印度'}, {'n': '泰国', 'v': '泰国'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '澳大利亚', 'v': '澳大利亚'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首映时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部年代', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'tv': [{'key': '类型', 'name': '类型', 'value': [{'n': '不限', 'v': ''}, {'n': '电视剧', 'v': '电视剧'}, {'n': '综艺', 'v': '综艺'}]}, {'key': '电视剧形式', 'name': '电视剧形式', 'value': [{'n': '不限', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '动画', 'v': '动画'}, {'n': '武侠', 'v': '武侠'}, {'n': '古装', 'v': '古装'}, {'n': '家庭', 'v': '家庭'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '科幻', 'v': '科幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '历史', 'v': '历史'}, {'n': '战争', 'v': '战争'}, {'n': '动作', 'v': '动作'}, {'n': '冒险', 'v': '冒险'}, {'n': '传记', 'v': '传记'}, {'n': '剧情', 'v': '剧情'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '灾难', 'v': '灾难'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '音乐', 'v': '音乐'}]}, {'key': '综艺形式', 'name': '综艺形式', 'value': [{'n': '不限', 'v': ''}, {'n': '真人秀', 'v': '真人秀'}, {'n': '脱口秀', 'v': '脱口秀'}, {'n': '音乐', 'v': '音乐'}, {'n': '歌舞', 'v': '歌舞'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '国外', 'v': '国外'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '美国', 'v': '美国'}, {'n': '英国', 'v': '英国'}, {'n': '泰国', 'v': '泰国'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '意大利', 'v': '意大利'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}, {'n': '印度', 'v': '印度'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '澳大利亚', 'v': '澳大利亚'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首播时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}, {'key': '平台', 'name': '平台', 'value': [{'n': '全部', 'v': ''}, {'n': '腾讯视频', 'v': '腾讯视频'}, {'n': '爱奇艺', 'v': '爱奇艺'}, {'n': '优酷', 'v': '优酷'}, {'n': '湖南卫视', 'v': '湖南卫视'}, {'n': 'Netflix', 'v': 'Netflix'}, {'n': 'HBO', 'v': 'HBO'}, {'n': 'BBC', 'v': 'BBC'}, {'n': 'NHK', 'v': 'NHK'}, {'n': 'CBS', 'v': 'CBS'}, {'n': 'NBC', 'v': 'NBC'}, {'n': 'tvN', 'v': 'tvN'}]}], 'rank_list_movie': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电影', 'v': 'movie_real_time_hotest'}, {'n': '一周口碑电影榜', 'v': 'movie_weekly_best'}, {'n': '豆瓣电影Top250', 'v': 'movie_top250'}]}], 'rank_list_tv': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电视', 'v': 'tv_real_time_hotest'}, {'n': '华语口碑剧集榜', 'v': 'tv_chinese_best_weekly'}, {'n': '全球口碑剧集榜', 'v': 'tv_global_best_weekly'}, {'n': '国内口碑综艺榜', 'v': 'show_chinese_best_weekly'}, {'n': '国外口碑综艺榜', 'v': 'show_global_best_weekly'}]}]}, + limit:20, + play_parse:false, + 推荐:'', + 推荐:'js:let d=[];let douban_api_host="https://frodo.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function subject_real_time_hotest(){try{let res=miniapp_request("/subject_collection/subject_real_time_hotest/items",{});let lists=[];let arr=res.subject_collection_items||[];arr.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"暂无评分";let honnor=(item.honor_infos||[]).map(function(it){return it.title}).join("|");lists.append({vod_id:"msearch:"+TYPE,vod_name:item.title||"",vod_pic:item.pic.normal,vod_remarks:rating+" "+honnor})}});return lists}catch(e){print("发生了错误:"+e.message);return[]}}VODS=subject_real_time_hotest();print(VODS);', + // 手动调用解析请求json的url,此lazy不方便 + lazy:'', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级:'', + 一级:'js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="https://frodo.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{let res={};if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;let tags;let sort;if(Object.keys(MY_FL).length>0){sort=MY_FL.sort||"T";tags=Object.values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{sort="T";tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d);setResult2(res);', + 二级:'', + 搜索:'', +} \ No newline at end of file diff --git a/TVBox_JS/drT.js b/TVBox_JS/drT.js new file mode 100644 index 0000000..f71f602 --- /dev/null +++ b/TVBox_JS/drT.js @@ -0,0 +1,189 @@ +// drT.js +// 2022/09/30 write by hjdhnx +// Licensed under the MIT license. + +(function () { + "use strict"; + + var drT = { + name: "drT", + version: "1.0.0", + templateSettings: { + evaluate: /\{\{([\s\S]+?(\}?)+)\}\}/g, + interpolate: /\{\{([\s\S]+?)\}\}/g, // 变量渲染 + encode: /\{\{@([\s\S]+?)\}\}/g, // 变量自动url编码 + use: /\{\{#([\s\S]+?)\}\}/g, + useParams: /(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g, + define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g, + defineParams:/^\s*([\w$]+):([\s\S]+)/, + conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g, // ? if ?? else if ?? else + iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g, + varname: "fl", + strip: true, + append: true, + selfcontained: false, + doNotSkipEncoded: false + }, + template: undefined, //fn, compile template + compile: undefined, //fn, for express + log: true + }, _globals; + + drT.encodeHTMLSource = function(doNotSkipEncoded) { + var encodeHTMLRules = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/" }, + matchHTML = doNotSkipEncoded ? /[&<>"'\/]/g : /&(?!#?\w+;)|<|>|"|'|\//g; + return function(code) { + return code ? code.toString().replace(matchHTML, function(m) {return encodeHTMLRules[m] || m;}) : ""; + }; + }; + + _globals = (function(){ return this || (0,eval)("this"); }()); + + /* istanbul ignore else */ + if (typeof module !== "undefined" && module.exports) { + module.exports = drT; + } else if (typeof define === "function" && define.amd) { + define(function(){return drT;}); + } else { + _globals.drT = drT; + } + + var startend = { + append: { start: "'+(", end: ")+'", startencode: "'+encodeHTML(" }, + split: { start: "';out+=(", end: ");out+='", startencode: "';out+=encodeHTML(" } + }, skip = /$^/; + + function resolveDefs(c, block, def) { + return ((typeof block === "string") ? block : block.toString()) + .replace(c.define || skip, function(m, code, assign, value) { + if (code.indexOf("def.") === 0) { + code = code.substring(4); + } + if (!(code in def)) { + if (assign === ":") { + if (c.defineParams) value.replace(c.defineParams, function(m, param, v) { + def[code] = {arg: param, text: v}; + }); + if (!(code in def)) def[code]= value; + } else { + new Function("def", "def['"+code+"']=" + value)(def); + } + } + return ""; + }) + .replace(c.use || skip, function(m, code) { + if (c.useParams) code = code.replace(c.useParams, function(m, s, d, param) { + if (def[d] && def[d].arg && param) { + var rw = (d+":"+param).replace(/'|\\/g, "_"); + def.__exp = def.__exp || {}; + def.__exp[rw] = def[d].text.replace(new RegExp("(^|[^\\w$])" + def[d].arg + "([^\\w$])", "g"), "$1" + param + "$2"); + return s + "def.__exp['"+rw+"']"; + } + }); + var v = new Function("def", "return " + code)(def); + return v ? resolveDefs(c, v, def) : v; + }); + } + + function unescape(code) { + return code.replace(/\\('|\\)/g, "$1").replace(/[\r\t\n]/g, " "); + } + + drT.template = function(tmpl, c, def) { + c = c || drT.templateSettings; + var cse = c.append ? startend.append : startend.split, needhtmlencode, sid = 0, indv, + str = (c.use || c.define) ? resolveDefs(c, tmpl, def || {}) : tmpl; + + // console.log(str); + let beforeCode = ''; + if(str.match(c.interpolate || skip)){ + let inter_codes = str.match(c.interpolate || skip); + let inter_dict = {}; + inter_codes.forEach(item=>{ + item.replace(c.interpolate || skip,function (m,code) { + let varname = code.split('.')[0]; + if(!inter_dict.hasOwnProperty(varname)){ + let beginCode = `if(typeof(${varname})==='undefined'){${varname}={}}`; + inter_dict[varname] = beginCode; + }if(!inter_dict.hasOwnProperty(code)){ + let beginCode = `if(typeof(${code})==='undefined'){${code}=''};`; + inter_dict[code] = beginCode; + } + }); + }); + let beginCode = Object.values(inter_dict).join('\n'); + // console.log(beginCode); + beforeCode += beginCode; + } + str = beforeCode+("var out='" + (c.strip ? str.replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g," ") + .replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g,""): str) + .replace(/'|\\/g, "\\$&") + .replace(c.encode || skip, function(m, code) { + needhtmlencode = true; + return cse.startencode + unescape(code) + cse.end; + }) + .replace(c.interpolate || skip, function(m, code) { + let varname = code.split('.')[0]; + // console.log(varname === code); + // console.log(`varname:${varname},code:${code}`); + if(varname === code){ + let res = cse.start + `JSON.stringify(${unescape(code)})` + cse.end; + // console.log(res); + return res + } + return cse.start + unescape(code) + cse.end; + }) + .replace(c.conditional || skip, function(m, elsecase, code) { + return elsecase ? + (code ? "';}else if(" + unescape(code) + "){out+='" : "';}else{out+='") : + (code ? "';if(" + unescape(code) + "){out+='" : "';}out+='"); + }) + .replace(c.iterate || skip, function(m, iterate, vname, iname) { + if (!iterate) return "';} } out+='"; + sid+=1; indv=iname || "i"+sid; iterate=unescape(iterate); + return "';var arr"+sid+"="+iterate+";if(arr"+sid+"){var "+vname+","+indv+"=-1,l"+sid+"=arr"+sid+".length-1;while("+indv+"0){let sort=MY_FL.sort||"T";let tags=Object.Values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{let sort="T";let tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};let res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d);setResult2(res);', + 二级:'', + 搜索:'', +} \ No newline at end of file diff --git a/TVBox_JS/if101.js b/TVBox_JS/if101.js new file mode 100644 index 0000000..21bff1d --- /dev/null +++ b/TVBox_JS/if101.js @@ -0,0 +1,24 @@ +var rule={ + title:'if101', + host:'https://www.oulevod.tv', + // homeUrl:'/', + url:'/index.php/vod/show/id/fyclass/page/fypage.html', + searchUrl:'/index.php/vod/search.html?wd=**', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse:'.conch-nav&&ul&&li;a&&Text;a&&href;./(\\d+).html', + cate_exclude:'', + play_parse:true, + lazy:'', + limit:6, + 推荐:'body&&.hl-list-wrap;ul&&li;a&&title;.hl-lazy&&data-original;.hl-pic-text&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.hl-vod-list&&li;a&&title;.hl-lazy&&data-original;.hl-pic-text&&Text;a&&href', + 二级:{"title":".hl-dc-title&&Text;.hl-col-xs-12&&em&&.hl-text-muted:eq(0)&&Text","img":".hl-lazy&&data-original","desc":".hl-col-xs-12&&em&&.hl-text-muted:eq(-2)&&Text;.hl-col-xs-12&&em&&.hl-text-muted:eq(1)&&Text;.hl-col-xs-12&&em&&.hl-text-muted:eq(2)&&Text","content":".hl-content-text&&Text","tabs":".hl-plays-wrap","lists":".hl-plays-list:eq(#id) li"}, + 搜索:'.hl-list-wrap&&ul&&li;h3&&Text;.hl-lazy&&data-original;.hl-item-title:eq(0)&&Text;a&&href', +} \ No newline at end of file diff --git a/TVBox_JS/iqiyi.js b/TVBox_JS/iqiyi.js new file mode 100644 index 0000000..f59aa5a --- /dev/null +++ b/TVBox_JS/iqiyi.js @@ -0,0 +1,39 @@ +var rule = { + title:'奇珍异兽', + host:'https://www.iqiyi.com', + homeUrl:'', + // detailUrl:'https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid=fyid&size=2000&page=1', + detailUrl:'https://pcw-api.iqiyi.com/video/video/videoinfowithuser/fyid?agent_type=1&authcookie=&subkey=fyid&subscribe=1', + searchUrl:'https://search.video.iqiyi.com/o?if=html5&key=**&pageNum=fypage&pos=1&pageSize=24&site=iqiyi', + searchable:2, + multi:1, + filterable:1, + filter:{'1': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '华语', 'v': 1}, {'n': '香港地区', 'v': 28997}, {'n': '美国', 'v': 2}, {'n': '欧洲', 'v': 3}, {'n': '韩国', 'v': 4}, {'n': '日本', 'v': 308}, {'n': '泰国', 'v': 1115}, {'n': '印度', 'v': 28999}, {'n': '其它', 'v': 5}]}, {'key': '18001', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': 8}, {'n': '爱情', 'v': 6}, {'n': '动作', 'v': 11}, {'n': '枪战', 'v': 131}, {'n': '犯罪', 'v': 291}, {'n': '惊悚', 'v': 128}, {'n': '恐怖', 'v': 10}, {'n': '悬疑', 'v': 289}, {'n': '动画', 'v': 12}, {'n': '家庭', 'v': 27356}, {'n': '奇幻', 'v': 1284}, {'n': '魔幻', 'v': 129}, {'n': '科幻', 'v': 9}, {'n': '战争', 'v': 7}, {'n': '青春', 'v': 130}]}, {'key': '27396', 'name': '规格', 'value': [{'n': '全部', 'v': ''}, {'n': '巨制', 'v': 27397}, {'n': '院线', 'v': 27815}, {'n': '独播', 'v': 30149}, {'n': '网络电影', 'v': 27401}]}], '2': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 15}, {'n': '港剧', 'v': 16}, {'n': '韩剧', 'v': 17}, {'n': '美剧', 'v': 18}, {'n': '日剧', 'v': 309}, {'n': '泰剧', 'v': 1114}, {'n': '台湾地区', 'v': 1117}, {'n': '英剧', 'v': 28916}, {'n': '其它', 'v': 19}]}, {'key': '18003', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '自制', 'v': 11992}, {'n': '古装', 'v': 24}, {'n': '言情', 'v': 20}, {'n': '武侠', 'v': 23}, {'n': '偶像', 'v': 30}, {'n': '家庭', 'v': 1654}, {'n': '青春', 'v': 1653}, {'n': '都市', 'v': 24064}, {'n': '喜剧', 'v': 135}, {'n': '战争', 'v': 27916}, {'n': '军旅', 'v': 1655}, {'n': '谍战', 'v': 290}, {'n': '悬疑', 'v': 32}, {'n': '罪案', 'v': 149}, {'n': '穿越', 'v': 148}, {'n': '宫廷', 'v': 139}, {'n': '历史', 'v': 21}, {'n': '神话', 'v': 145}, {'n': '科幻', 'v': 34}, {'n': '年代', 'v': 27}, {'n': '农村', 'v': 29}, {'n': '商战', 'v': 140}, {'n': '剧情', 'v': 24063}, {'n': '奇幻', 'v': 27881}, {'n': '网剧', 'v': 24065}, {'n': '竖短片', 'v': 32839}]}], '3': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '国内', 'v': 20323}, {'n': '国外', 'v': 20324}]}, {'key': '18004', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '人文', 'v': 70}, {'n': '美食', 'v': 33908}, {'n': '医疗', 'v': 33924}, {'n': '自然', 'v': 33933}, {'n': '萌宠', 'v': 33945}, {'n': '财经', 'v': 33953}, {'n': '罪案', 'v': 33960}, {'n': '竞技', 'v': 33967}, {'n': '灾难', 'v': 33974}, {'n': '军事', 'v': 72}, {'n': '历史', 'v': 74}, {'n': '探险', 'v': 73}, {'n': '社会', 'v': 71}, {'n': '科技', 'v': 28119}, {'n': '旅游', 'v': 310}]}, {'key': '28467', 'name': '出品方', 'value': [{'n': '全部', 'v': ''}, {'n': 'BBC', 'v': 28468}, {'n': '美国历史频道', 'v': 28470}, {'n': '探索频道', 'v': 28471}, {'n': '央视记录', 'v': 28472}, {'n': '北京纪实频道', 'v': 28473}, {'n': '上海纪实频道', 'v': 28474}, {'n': '朗思文化', 'v': 28476}, {'n': 'CNEX', 'v': 28477}, {'n': '五星传奇', 'v': 28478}, {'n': 'IMG', 'v': 28479}, {'n': 'NHK', 'v': 28480}, {'n': '爱奇艺出品', 'v': 31283}, {'n': 'Netflix', 'v': 31286}]}, {'key': '29076', 'name': '片种', 'value': [{'n': '全部', 'v': ''}, {'n': '纪录电影', 'v': 29077}, {'n': '系列纪录片', 'v': 29078}, {'n': '网络纪录片', 'v': 29082}, {'n': '纪实栏目', 'v': 29083}]}, {'key': '31294', 'name': '时长', 'value': [{'n': '全部', 'v': ''}, {'n': '微纪录', 'v': 29079}, {'n': '长纪录', 'v': 29080}, {'n': '短纪录', 'v': 29081}]}], '4': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': 37}, {'n': '日本', 'v': 38}, {'n': '韩国', 'v': 1106}, {'n': '欧美', 'v': 30218}, {'n': '其它', 'v': 40}]}, {'key': '30219', 'name': '版本', 'value': [{'n': '全部', 'v': ''}, {'n': '动画', 'v': 30220}, {'n': '特摄', 'v': 30223}, {'n': '布袋戏', 'v': 30224}, {'n': '特别篇', 'v': 32782}, {'n': '动态漫画', 'v': 32783}, {'n': '动画电影', 'v': 32784}, {'n': '竖版视频', 'v': 32785}, {'n': '轻动画', 'v': 33482}, {'n': '短剧', 'v': 33483}]}, {'key': '30225', 'name': '风格', 'value': [{'n': '全部', 'v': ''}, {'n': '搞笑', 'v': 30230}, {'n': '热血', 'v': 30232}, {'n': '催泪', 'v': 30233}, {'n': '治愈', 'v': 30234}, {'n': '励志', 'v': 30237}, {'n': '机战', 'v': 30241}, {'n': '恋爱', 'v': 30243}, {'n': '科幻', 'v': 30245}, {'n': '奇幻', 'v': 30247}, {'n': '推理', 'v': 30248}, {'n': '校园', 'v': 30249}, {'n': '日常', 'v': 30252}, {'n': '历史', 'v': 30254}, {'n': '美食', 'v': 30255}, {'n': '职场', 'v': 30256}, {'n': '偶像', 'v': 30258}, {'n': '泡面', 'v': 30265}, {'n': '冒险', 'v': 30267}, {'n': '竞技', 'v': 30268}, {'n': '合家欢', 'v': 30270}, {'n': '武侠', 'v': 32792}, {'n': '玄幻', 'v': 32793}]}, {'key': '32795', 'name': '新类型', 'value': [{'n': '全部', 'v': ''}, {'n': '轻小说改编', 'v': 32796}, {'n': '漫画改编', 'v': 32797}, {'n': '游戏改编', 'v': 32798}, {'n': '原创', 'v': 32799}]}], '6': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 151}, {'n': '港台', 'v': 152}, {'n': '韩国', 'v': 33306}, {'n': '欧美', 'v': 154}, {'n': '其它', 'v': 1113}]}, {'key': '18014', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '播报', 'v': 155}, {'n': '访谈', 'v': 156}, {'n': '游戏', 'v': 158}, {'n': '晚会', 'v': 292}, {'n': '曲艺', 'v': 293}, {'n': '脱口秀', 'v': 2118}, {'n': '真人秀', 'v': 2224}, {'n': '竞技', 'v': 30278}, {'n': '爱奇艺出品', 'v': 30279}, {'n': '竞演', 'v': 33860}]}, {'key': '33162', 'name': '题材', 'value': [{'n': '全部', 'v': ''}, {'n': '音乐', 'v': 33163}, {'n': '舞蹈', 'v': 33172}, {'n': '文化', 'v': 33173}, {'n': '美食', 'v': 33182}, {'n': '伦理', 'v': 33184}, {'n': '相亲', 'v': 33193}, {'n': '纪实', 'v': 33195}, {'n': '生活', 'v': 33196}, {'n': '亲子', 'v': 33197}, {'n': '少儿', 'v': 33198}, {'n': '财经', 'v': 33199}, {'n': '健康', 'v': 33200}, {'n': '时尚', 'v': 33203}, {'n': '旅游', 'v': 33205}, {'n': '教育', 'v': 33206}, {'n': '其它', 'v': 33220}, {'n': '爱情', 'v': 33316}, {'n': '搞笑', 'v': 33317}, {'n': '益智', 'v': 33318}, {'n': '职场', 'v': 33319}, {'n': '语言', 'v': 33530}, {'n': '辩论', 'v': 33531}, {'n': '演讲', 'v': 33843}]}], '5': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 221}, {'n': '港台', 'v': 220}, {'n': '欧美', 'v': 219}, {'n': '日韩', 'v': 218}, {'n': '拉美', 'v': 217}, {'n': '亚洲地区', 'v': 216}, {'n': '非洲', 'v': 215}]}, {'key': '18009', 'name': '语种', 'value': [{'n': '全部', 'v': ''}, {'n': '普通话', 'v': 91}, {'n': '粤语', 'v': 92}, {'n': '闽南语', 'v': 93}, {'n': '英语', 'v': 94}, {'n': '日语', 'v': 95}, {'n': '韩语', 'v': 96}, {'n': '其它', 'v': 97}]}, {'key': '23554', 'name': '音乐类型', 'value': [{'n': '全部', 'v': ''}, {'n': '单曲MV', 'v': 23556}, {'n': '单曲现场', 'v': 23557}, {'n': '演唱会', 'v': 23558}, {'n': '新闻', 'v': 23559}, {'n': '访谈', 'v': 23560}, {'n': '音乐记录', 'v': 23561}, {'n': '音乐周边', 'v': 23562}, {'n': '音乐节目', 'v': 23563}, {'n': '影视原声', 'v': 23564}, {'n': '音乐短片', 'v': 23565}, {'n': '其他', 'v': 23566}]}], '16': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': '18061', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': 1296}, {'n': '爱情', 'v': 1297}, {'n': '动作', 'v': 1298}, {'n': '奇幻', 'v': 1299}, {'n': '惊悚', 'v': 1300}, {'n': '悬疑', 'v': 1301}, {'n': '青春', 'v': 1302}]}]}, + // url:'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&is_purchase=&mode=24&page_id=fypage&ret_num=48&three_category_id=', + url:'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&page_id=fypage&ret_num=48', + filter_url:'is_purchase={{fl.is_purchase}}&mode={{fl.mode}}&three_category_id={{fl.three_category_id}}&market_release_date_level={{fl.year}}', + // url:'https://pcw-api.iqiyi.com/search/video/videolists?channel_id=fyclass&pageNum=fypage&pageSize=24&data_type=1&site=iqiyi', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'电影&电视剧&纪录片&动漫&综艺&音乐&网络电影', + class_url:'1&2&3&4&6&5&16', + limit:20, + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:.data.list;.name;.imageUrl;.latestOrder;.albumId', + 推荐:'', + // 推荐:'js:let d=[];fetch_params.headers["user-agent"]=PC_UA;pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;let html=fetch(HOST,fetch_params);let lists=pdfa(html,".qy-mod-li");lists.forEach(function(it){try{let title=pdfh(it,"p.sub&&title");let desc=pdfh(it,".qy-mod-label&&Text");let pic_url=pd(it,"img&&src");d.push({title:title,desc:desc,img:pic_url})}catch(e){}});res=setResult(d);', + 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=request(input);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=fetch(input,fetch_params);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'json:.data.list;.name;.imageUrl;.playUrl;.latestOrder', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.name+data.subtitle;data.latestOrder","img":"data.imageUrl","desc":"data.categories;data.areas","content":"data.description","tabs":"data.name","lists":"data.playlinksdetail.#idv.default_url"}, + 二级:'', + 二级:'js:let d=[];let html=request(input);let json=JSON.parse(html).data;VOD={vod_id:"",vod_url:input,vod_name:"",type_name:"",vod_actor:"",vod_year:"",vod_director:"",vod_area:"",vod_content:"",vod_remarks:"",vod_pic:""};VOD.vod_name=json.name;try{if(json.latestOrder){VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+"\\n更新至:第"+json.latestOrder+"集(期)/共"+json.videoCount+"集(期)"}else{VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+json.period}}catch(e){VOD.vod_remarks=json.subtitle}VOD.vod_area=(json.focus||"")+"\\n资费:"+(json.payMark===1?"VIP":"免费")+"\\n地区:"+(json.areas||"");let vsize="579_772";try{vsize=json.imageSize[12]}catch(e){}VOD.vod_pic=json.imageUrl.replace(".jpg","_"+vsize+".jpg?caplist=jpg,webp");VOD.type_name=json.categories.map(function(it){return it.name}).join(",");if(json.people.main_charactor){let vod_actors=[];json.people.main_charactor.forEach(function(it){vod_actors.push(it.name)});VOD.vod_actor=vod_actors.join(",")}VOD.vod_content=json.description;let playlists=[];if(json.channelId===1||json.channelId===5){playlists=[{playUrl:json.playUrl,imageUrl:json.imageUrl,shortTitle:json.shortTitle,focus:json.focus,period:json.period}]}else{if(json.channelId===6){let qs=json.period.split("-")[0];let listUrl="https://pcw-api.iqiyi.com/album/source/svlistinfo?cid=6&sourceid="+json.albumId+"&timelist="+qs;let playData=JSON.parse(request(listUrl)).data[qs];playData.forEach(function(it){playlists.push({playUrl:it.playUrl,imageUrl:it.imageUrl,shortTitle:it.shortTitle,focus:it.focus,period:it.period})})}else{let listUrl="https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid="+json.albumId+"&size=200&page=1";let data=JSON.parse(request(listUrl)).data;let total=data.total;playlists=data.epsodelist;if(total>200){for(let i=2;i200){for(let i=2;i= 0) + continue; + let contents = block.contents; + for (const content of contents) { + videos.push({ + 'vod_id': content.id, + 'vod_name': content.title, + 'vod_pic': content.videoCover, + 'vod_remarks': content.msg, + }) + } + } + return JSON.stringify({ + 'list': videos + }); +} + +function category(tid, pg, filter, extend) { + let data = JSON.parse(request(url + '/api.php/provide/searchFilter?type_id=' + tid + '&pagenum=' + pg + '&pagesize=24')).data; + let videos = [] + for (const vod of data.result) { + videos.push({ + 'vod_id': vod.id, + 'vod_name': vod.title, + 'vod_pic': vod.videoCover, + 'vod_remarks': vod.msg, + }); + } + return JSON.stringify({ + 'page': parseInt(data.page), + 'pagecount': data.pagesize, + 'limit': 24, + 'total': data.total, + 'list': videos, + }); +} + +function detail(id) { + let data = JSON.parse(request(url + '/api.php/provide/videoDetail?ids=' + id)).data; + let vod = { + 'vod_id': data.id, + 'vod_name': data.videoName, + 'vod_pic': data.videoCover, + 'type_name': data.subCategory, + 'vod_year': data.year, + 'vod_area': data.area, + 'vod_remarks': data.msg, + 'vod_actor': data.actor, + 'vod_director': data.director, + 'vod_content': data.brief.trim(), + } + let episodes = JSON.parse(request(url + '/api.php/provide/videoPlaylist?ids=' + id)).data.episodes; + let playlist = {}; + for (const episode of episodes) { + let playurls = episode.playurls; + for (const playurl of playurls) { + let from = playurl.playfrom; + if (!playlist.hasOwnProperty(from)) { + playlist[from] = [] + } + playlist[from].push(playurl.title.trim() + '$' + playurl.playurl); + } + } + vod.vod_play_from = _.keys(playlist).join('$$$'); + let urls = _.values(playlist) + let vod_play_url = [] + for (const urlist of urls) { + vod_play_url.push(urlist.join('#')) + } + vod.vod_play_url = vod_play_url.join('$$$') + return JSON.stringify({ + 'list': [vod] + }); +} + +function play(flag, id, flags) { + let data = JSON.parse(request(url + '/api.php/provide/parserUrl?url=' + id)).data; + let playHeader = data.playHeader; + let jxUrl = data.url; + let jxData = JSON.parse(request(jxUrl)); + if (flags.indexOf(flag) >= 0) { + return JSON.stringify({ + 'parse': 1, + 'jx': 1, + 'url': id + }); + } else { + return JSON.stringify({ + 'parse': 0, + 'url': id + }); + } +} + +function search(wd, quick) { + let data = JSON.parse(request(url + '/api.php/provide/searchVideo?searchName=' + wd)).data; + let videos = []; + for (const vod of data) { + videos.push({ + 'vod_id': vod.id, + 'vod_name': vod.videoName, + 'vod_pic': vod.videoCover, + 'vod_remarks': vod.msg, + }) + } + return JSON.stringify({ + 'list': videos + }); +} + +__JS_SPIDER__ = { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search +} \ No newline at end of file diff --git a/TVBox_JS/kunyu77_2.js b/TVBox_JS/kunyu77_2.js new file mode 100644 index 0000000..0eeab15 --- /dev/null +++ b/TVBox_JS/kunyu77_2.js @@ -0,0 +1,206 @@ +import { randomStr } from './lib/util.js'; +import './lib/dayjs.min.js' +import './lib/uri.min.js'; +import './lib/crypto-js.js' +import _ from './lib/underscore-esm-min.js' + +let key = 'kunyu77'; +let url = 'http://api.kunyu77.com'; +let agent = 'Dalvik/2.1.0 (Linux; U; Android 6.0; ZTE BA520 Build/MRA58K)'; +let deviceId = ''; +let timeOffset = 0; + +function request(reqUrl) { + let sj = dayjs().unix() - timeOffset; + let uri = new Uri(reqUrl); + uri.addQueryParam() + uri.addQueryParam('pcode', '010110004') + uri.addQueryParam('version', '2.0.4') + uri.addQueryParam('devid', deviceId) + uri.addQueryParam('package', 'com.sevenVideo.app.android') + uri.addQueryParam('sys', 'android') + uri.addQueryParam('sysver', '6.0') + uri.addQueryParam('brand', 'ZTE') + uri.addQueryParam('model', 'ZTE_BA520') + uri.addQueryParam('sj', sj); + let keys = []; + for (var i = 0; i < uri.queryPairs.length; i++) { + keys.push(uri.queryPairs[i][0]); + } + keys = _.sortBy(keys, function (name) { return name }) + let tkSrc = uri.path(); + for (let k of keys) { + tkSrc += uri.getQueryParamValue(k); + } + tkSrc += sj; + tkSrc += 'XSpeUFjJ'; + console.log(tkSrc); + let tk = CryptoJS.MD5(tkSrc).toString().toLowerCase(); + console.log(tk); + let header = { + 'user-agent': agent, + 't': sj, + 'TK': tk, + }; + let res = req(uri.toString(), { + headers: header + }); + + let serverTime = res.headers.Date; + let content = res.content; + let serverTimeS = dayjs(serverTime).unix(); + timeOffset = dayjs().unix() - serverTimeS; + // console.log(content); + return content; +} + +function init(ext) { + var device = local.get(key, 'device'); + if (device.length == 0) { + device = randomStr(32).toLowerCase(); + local.set(key, 'device', device); + } + deviceId = device; + console.log(dayjs().unix()); +} + +function home(filter) { + let data = JSON.parse(request(url + '/api.php/provide/filter')).data; + let classes = []; + for (const key in data) { + classes.push({ + 'type_id': key, + 'type_name': data[key][0].cat + }); + } + console.log(classes); + return JSON.stringify({ + 'class': classes + }); +} + +function homeVod(params) { + let data = JSON.parse(request(url + '/api.php/provide/homeBlock?type_id=0')).data; + let blocks = data.blocks; + let videos = []; + for (const block of blocks) { + let name = block.block_name; + if (name.indexOf('热播') >= 0) + continue; + let contents = block.contents; + for (const content of contents) { + videos.push({ + 'vod_id': content.id, + 'vod_name': content.title, + 'vod_pic': content.videoCover, + 'vod_remarks': content.msg, + }) + } + } + return JSON.stringify({ + 'list': videos + }); +} + +function category(tid, pg, filter, extend) { + let data = JSON.parse(request(url + '/api.php/provide/searchFilter?type_id=' + tid + '&pagenum=' + pg + '&pagesize=24')).data; + let videos = [] + for (const vod of data.result) { + videos.push({ + 'vod_id': vod.id, + 'vod_name': vod.title, + 'vod_pic': vod.videoCover, + 'vod_remarks': vod.msg, + }); + } + return JSON.stringify({ + 'page': parseInt(data.page), + 'pagecount': data.pagesize, + 'limit': 24, + 'total': data.total, + 'list': videos, + }); +} + +function detail(id) { + let data = JSON.parse(request(url + '/api.php/provide/videoDetail?ids=' + id)).data; + let vod = { + 'vod_id': data.id, + 'vod_name': data.videoName, + 'vod_pic': data.videoCover, + 'type_name': data.subCategory, + 'vod_year': data.year, + 'vod_area': data.area, + 'vod_remarks': data.msg, + 'vod_actor': data.actor, + 'vod_director': data.director, + 'vod_content': data.brief.trim(), + } + let episodes = JSON.parse(request(url + '/api.php/provide/videoPlaylist?ids=' + id)).data.episodes; + let playlist = {}; + for (const episode of episodes) { + let playurls = episode.playurls; + for (const playurl of playurls) { + let from = playurl.playfrom; + if (!playlist.hasOwnProperty(from)) { + playlist[from] = [] + } + playlist[from].push(playurl.title.trim() + '$' + playurl.playurl); + } + } + vod.vod_play_from = _.keys(playlist).join('$$$'); + let urls = _.values(playlist) + let vod_play_url = [] + for (const urlist of urls) { + vod_play_url.push(urlist.join('#')) + } + vod.vod_play_url = vod_play_url.join('$$$') + return JSON.stringify({ + 'list': [vod] + }); +} + +function play(flag, id, flags) { + let data = JSON.parse(request(url + '/api.php/provide/parserUrl?url=' + id)).data; + let playHeader = data.playHeader; + let jxUrl = data.url; + let jxData = JSON.parse(request(jxUrl)); + if (flags.indexOf(flag) >= 0) { + return JSON.stringify({ + 'parse': 1, + 'jx': 1, + 'url': id + }); + } else { + return JSON.stringify({ + 'parse': 0, + 'url': id + }); + } +} + +function search(wd, quick) { + let data = JSON.parse(request(url + '/api.php/provide/searchVideo?searchName=' + wd)).data; + let videos = []; + for (const vod of data) { + videos.push({ + 'vod_id': vod.id, + 'vod_name': vod.videoName, + 'vod_pic': vod.videoCover, + 'vod_remarks': vod.msg, + }) + } + return JSON.stringify({ + 'list': videos + }); +} + +__JS_SPIDER__ = { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search +} \ No newline at end of file diff --git a/TVBox_JS/kuyun77.js b/TVBox_JS/kuyun77.js new file mode 100644 index 0000000..0bd435b --- /dev/null +++ b/TVBox_JS/kuyun77.js @@ -0,0 +1,37 @@ +var rule = { + title:'酷云77', + host:'http://api.kunyu77.com', + homeUrl:'/api.php/provide/homeBlock?type_id=0', + searchUrl:'/api.php/provide/searchVideo?searchName=**', + searchable:2, + quickSearch:0, + filterable:1, + multi:1, + // 分类链接fypage参数支持1个()表达式 + url:'/api.php/provide/searchFilter?type_id=fyclass&pagesize=24&pagenum=fypage', + detailUrl:'/api.php/provide/videoDetail?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids=fyid', + filter_url:'year={{fl.y}}&category={{fl.scat}}&area={{fl.a}}', + filter:{0: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 1: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 2: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 3: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 4: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}]}, + headers:{ + "User-Agent":"okhttp/3.12.0" + }, + timeout:5000, + class_name:'全部&电影&电视剧&综艺&动漫', + class_url:'0&1&2&3&4', + limit:20, + play_parse:true, + play_json:0, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input={parse:1,url:input};', + lazy:'', + lazy:'js:function GetPlayUrl(playUrl){let realPlay={parse:0,url:playUrl};if(/mgtv|sohu/.test(playUrl)){realPlay.headers={"User-Agent":"Mozilla/5.0"}}else if(/bili/.test(playUrl)){realPlay.headers={"User-Agent":"Mozilla/5.0",Referer:"https://www.bilibili.com"}}else if(/ixigua/.test(playUrl)){realPlay.headers={"User-Agent":"Mozilla/5.0",Referer:"https://www.ixigua.com"}}return realPlay}if(/\\.m3u8|\\.mp4/.test(input)){input={parse:0,url:input}}else{try{let url="http://api.kunyu77.com/api.php/provide/parserUrl?url="+input;let html=request(url);let urll=JSON.parse(html).data.url;let playhtml=request(urll);let playurl=JSON.parse(playhtml).url;input=GetPlayUrl(playurl)}catch(e){input={parse:1,jx:1,url:input}}}', + 推荐:'json:data.blocks;contents;title;videoCover;msg;id', + double:true, + // 一级:'json:data.filterData.listData;title;img;subTitle;videoLink;summary', + 一级:'', + 一级:'json:data.result;title;videoCover;msg;id', + 二级:'', + 二级:'js:var d=[];VOD={vod_id:input};try{let html=request(input);print(html);html=JSON.parse(html);let node=html.data;VOD={vod_id:node["id"],vod_name:node["videoName"],vod_pic:node["videoCover"],type_name:node["subCategory"],vod_year:node["year"],vod_area:node["area"],vod_remarks:node["msg"],vod_actor:node["actor"],vod_director:node["director"],vod_content:node["brief"].strip()};let tid=input.split("ids=")[1];let listUrl="http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids="+tid;html=request(listUrl);html=JSON.parse(html);let episodes=html.data.episodes;let playMap={};if(typeof play_url==="undefined"){var play_url=""}play_url=play_url.replace("&play_url=","&type=json&play_url=");episodes.forEach(function(ep){let playurls=ep["playurls"];playurls.forEach(function(playurl){let source=playurl["playfrom"];if(!playMap.hasOwnProperty(source)){playMap[source]=[]}playMap[source].append(playurl["title"].strip()+"$"+play_url+urlencode(playurl["playurl"]))})});let playFrom=[];let playList=[];Object.keys(playMap).forEach(function(key){playFrom.append(key);playList.append(playMap[key].join("#"))});let vod_play_from=playFrom.join("$$$");let vod_play_url=playList.join("$$$");VOD["vod_play_from"]=vod_play_from;VOD["vod_play_url"]=vod_play_url}catch(e){log("获取二级详情页发生错误:"+e.message)}', + 搜索:'', + 搜索:'json:data;videoName;videoCover;msg;id', +} \ No newline at end of file diff --git a/TVBox_JS/l0l.js b/TVBox_JS/l0l.js new file mode 100644 index 0000000..d3c7809 --- /dev/null +++ b/TVBox_JS/l0l.js @@ -0,0 +1,10 @@ +muban.海螺2.二级.content = '.play-m-box&&Text'; +muban.海螺2.二级.desc = '.play-news&&Text'; +muban.海螺2.二级.img = ''; +var rule = Object.assign(muban.海螺2,{ + title:'l0l', + host:'https://www.l0l.tv', + class_parse:'.index-tag&&li;a&&.title&&Text;a&&href;.*/(.*?).html', + searchUrl:'/index.php/vod/search/page/fypage/wd/**.html', + 搜索:'.searchlilst&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', +}); \ No newline at end of file diff --git a/TVBox_JS/lib/alist.min.js b/TVBox_JS/lib/alist.min.js new file mode 100644 index 0000000..3e17316 --- /dev/null +++ b/TVBox_JS/lib/alist.min.js @@ -0,0 +1 @@ +import{distance}from"https://gitcode.net/qq_32394351/dr_py/-/raw/master/libs/mod.js";import{sortListByCN}from"https://gitcode.net/qq_32394351/dr_py/-/raw/master/libs/sortName.js";String.prototype.rstrip=function(chars){let regex=new RegExp(chars+"$");return this.replace(regex,"")};var showMode="single";var searchDriver="";var limit_search_show=200;var search_type="";var detail_order="name";const request_timeout=5e3;function print(any){any=any||"";if(typeof any=="object"&&Object.keys(any).length>0){try{any=JSON.stringify(any);console.log(any)}catch(e){console.log(typeof any+":"+any.length)}}else if(typeof any=="object"&&Object.keys(any).length<1){console.log("null object")}else{console.log(any)}}const http=function(url,options={}){if(options.method==="POST"&&options.data){options.body=JSON.stringify(options.data);options.headers=Object.assign({"content-type":"application/json"},options.headers)}options.timeout=request_timeout;try{const res=req(url,options);res.json=()=>res&&res.content?JSON.parse(res.content):null;res.text=()=>res&&res.content?res.content:"";return res}catch(e){return{json(){return null},text(){return""}}}};["get","post"].forEach(method=>{http[method]=function(url,options={}){return http(url,Object.assign(options,{method:method.toUpperCase()}))}});const __drives={};function isMedia(file){return/\.(dff|dsf|mp3|aac|wav|wma|cda|flac|m4a|mid|mka|mp2|mpa|mpc|ape|ofr|ogg|ra|wv|tta|ac3|dts|tak|webm|wmv|mpeg|mov|ram|swf|mp4|avi|rm|rmvb|flv|mpg|mkv|m3u8|ts|3gp|asf)$/.test(file.toLowerCase())}function get_drives_path(tid){const index=tid.indexOf("$");const name=tid.substring(0,index);const path=tid.substring(index+1);return{drives:get_drives(name),path:path}}function get_drives(name){const{settings,api,server}=__drives[name];if(settings.v3==null){settings.v3=false;const data=http.get(server+"/api/public/settings").json().data;if(Array.isArray(data)){settings.title=data.find(x=>x.key==="title")?.value;settings.v3=false;settings.version=data.find(x=>x.key==="version")?.value;settings.enableSearch=data.find(x=>x.key==="enable search")?.value==="true"}else{settings.title=data.title;settings.v3=true;settings.version=data.version;settings.enableSearch=false}api.path=settings.v3?"/api/fs/list":"/api/public/path";api.file=settings.v3?"/api/fs/get":"/api/public/path";api.search=settings.v3?"/api/public/search":"/api/public/search"}return __drives[name]}function init(ext){let alist_data=ext.split(";");let alist_data_url=alist_data[0];limit_search_show=alist_data.length>1?Number(alist_data[1])||limit_search_show:limit_search_show;search_type=alist_data.length>2?alist_data[2]:search_type;print(alist_data_url);const data=http.get(alist_data_url).json();let drives=[];if(Array.isArray(data)&&data.length>1&&data[0].hasOwnProperty("server")&&data[0].hasOwnProperty("name")){drives=data}else if(!Array.isArray(data)&&data.hasOwnProperty("drives")&&Array.isArray(data.drives)){drives=data.drives.filter(it=>it.type&&it.type==="alist"||!it.type)}print(drives);searchDriver=(drives.find(x=>x.search)||{}).name||"";if(!searchDriver&&drives.length>1){searchDriver=drives[0].name}print(searchDriver);drives.forEach(item=>{let _path_param=[];if(item.params){_path_param=Object.keys(item.params);_path_param.sort((a,b)=>a.length-b.length)}__drives[item.name]={name:item.name,server:item.server.endsWith("/")?item.server.rstrip("/"):item.server,startPage:item.startPage||"/",showAll:item.showAll===true,search:!!item.search,params:item.params||{},_path_param:_path_param,settings:{},api:{},getParams(path){const key=this._path_param.find(x=>path.startsWith(x));return Object.assign({},this.params[key],{path:path})},getPath(path){const res=http.post(this.server+this.api.path,{data:this.getParams(path)}).json();return this.settings.v3?res.data.content:res.data.files},getFile(path){let raw_url=this.server+"/d"+path;raw_url=encodeURI(raw_url);return{raw_url:raw_url}},isFolder(data){return data.type===1},isVideo(data){return this.settings.v3?data.type===2||data.type===0||data.type===3:data.type===3||data.type===0||data.type===4},is_subt(data){if(data.type===1){return false}const ext=/\.(srt|ass|scc|stl|ttml)$/;return ext.test(data.name)},getPic(data){let pic=this.settings.v3?data.thumb:data.thumbnail;return pic||(this.isFolder(data)?"http://img1.3png.com/281e284a670865a71d91515866552b5f172b.png":"")},getTime(data,isStandard){isStandard=isStandard||false;try{let tTime=data.updated_at||data.time_str||data.modified||"";let date="";if(tTime){tTime=tTime.split("T");date=tTime[0];if(isStandard){date=date.replace(/-/g,"/")}tTime=tTime[1].split(/Z|\./);date+=" "+tTime[0]}return date}catch(e){return""}}}});print("init执行完毕")}function home(filter){let classes=Object.keys(__drives).map(key=>({type_id:`${key}$${__drives[key].startPage}`,type_name:key,type_flag:"1"}));let filter_dict={};let filters=[{key:"order",name:"排序",value:[{n:"名称⬆️",v:"vod_name_asc"},{n:"名称⬇️",v:"vod_name_desc"},{n:"中英⬆️",v:"vod_cn_asc"},{n:"中英⬇️",v:"vod_cn_desc"},{n:"时间⬆️",v:"vod_time_asc"},{n:"时间⬇️",v:"vod_time_desc"},{n:"大小⬆️",v:"vod_size_asc"},{n:"大小⬇️",v:"vod_size_desc"},{n:"无",v:"none"}]},{key:"show",name:"播放展示",value:[{n:"单集",v:"single"},{n:"全集",v:"all"}]}];classes.forEach(it=>{filter_dict[it.type_id]=filters});print("----home----");print(classes);return JSON.stringify({class:classes,filters:filter_dict})}function homeVod(params){return JSON.stringify({list:[]})}function category(tid,pg,filter,extend){let orid=tid.replace(/#all#|#search#/g,"");let{drives,path}=get_drives_path(orid);const id=orid.endsWith("/")?orid:orid+"/";const list=drives.getPath(path);let subList=[];let vodFiles=[];let allList=[];let fl=filter?extend:{};if(fl.show){showMode=fl.show}list.forEach(item=>{if(drives.is_subt(item)){subList.push(item.name)}if(!drives.showAll&&!drives.isFolder(item)&&!drives.isVideo(item)){return}let vod_time=drives.getTime(item);let vod_size=get_size(item.size);let remark=vod_time.split(" ")[0].substr(3)+"\t"+vod_size;let vod_id=id+item.name+(drives.isFolder(item)?"/":"");if(showMode==="all"){vod_id+="#all#"}print(vod_id);const vod={vod_id:vod_id,vod_name:item.name.replaceAll("$","").replaceAll("#",""),vod_pic:drives.getPic(item),vod_time:vod_time,vod_size:item.size,vod_tag:drives.isFolder(item)?"folder":"file",vod_remarks:drives.isFolder(item)?remark+" 文件夹":remark};if(drives.isVideo(item)){vodFiles.push(vod)}allList.push(vod)});if(vodFiles.length===1&&subList.length>0){let sub;if(subList.length===1){sub=subList[0]}else{let subs=JSON.parse(JSON.stringify(subList));subs.sort((a,b)=>{let a_similar=(a.includes("chs")?100:0)+levenshteinDistance(a,vodFiles[0].vod_name);let b_similar=(b.includes("chs")?100:0)+levenshteinDistance(b,vodFiles[0].vod_name);if(a_similar>b_similar){return 1}else{return-1}});sub=subs.slice(-1)[0]}vodFiles[0].vod_id+="@@@"+sub;vodFiles[0].vod_remarks+="🏷️"}else{vodFiles.forEach(item=>{const lh=0;let sub;subList.forEach(s=>{const l=levenshteinDistance(s,item.vod_name);if(l>60&&l>lh){sub=s}});if(sub){item.vod_id+="@@@"+sub;item.vod_remarks+="🏷️"}})}if(fl.order){let key=fl.order.split("_").slice(0,-1).join("_");let order=fl.order.split("_").slice(-1)[0];print(`排序key:${key},排序order:${order}`);if(key.includes("name")){detail_order="name";allList=sortListByName(allList,key,order)}else if(key.includes("cn")){detail_order="cn";allList=sortListByCN(allList,"vod_name",order)}else if(key.includes("time")){detail_order="time";allList=sortListByTime(allList,key,order)}else if(key.includes("size")){detail_order="size";allList=sortListBySize(allList,key,order)}else if(fl.order.includes("none")){detail_order="none";print("不排序")}}else{if(detail_order!=="none"){allList=sortListByName(allList,"vod_name","asc")}}print("----category----"+`tid:${tid},detail_order:${detail_order},showMode:${showMode}`);return JSON.stringify({page:1,pagecount:1,limit:allList.length,total:allList.length,list:allList})}function getAll(otid,tid,drives,path){try{const content=category(tid,null,false,null);const isFile=isMedia(otid.replace(/#all#|#search#/g,"").split("@@@")[0]);const{list}=JSON.parse(content);let vod_play_url=[];list.forEach(x=>{if(x.vod_tag==="file"){let vid=x.vod_id.replace(/#all#|#search#/g,"");vod_play_url.push(`${x.vod_name}$${vid.substring(vid.indexOf("$")+1)}`)}});const pl=path.split("/").filter(it=>it);let vod_name=pl[pl.length-1]||drives.name;if(vod_name===drives.name){print(pl)}if(otid.includes("#search#")){vod_name+="[搜]"}let vod={vod_id:otid,vod_name:vod_name,type_name:"文件夹",vod_pic:"https://avatars.githubusercontent.com/u/97389433?s=120&v=4",vod_content:tid,vod_tag:"folder",vod_play_from:drives.name,vod_play_url:vod_play_url.join("#"),vod_remarks:drives.settings.title};print("----detail1----");print(vod);return JSON.stringify({list:[vod]})}catch(e){print(e.message);return JSON.stringify({list:[{}]})}}function detail(tid){let isSearch=tid.includes("#search#");let isAll=tid.includes("#all#");let otid=tid;tid=tid.replace(/#all#|#search#/g,"");let isFile=isMedia(tid.split("@@@")[0]);print(`isFile:${tid}?${isFile}`);let{drives,path}=get_drives_path(tid);print(`drives:${drives},path:${path}`);if(path.endsWith("/")){return getAll(otid,tid,drives,path)}else{if(isSearch&&!isFile){return getAll(otid,tid,drives,path)}else if(isAll){let new_tid;if(isFile){new_tid=tid.split("/").slice(0,-1).join("/")+"/"}else{new_tid=tid}print(`全集模式 tid:${tid}=>tid:${new_tid}`);let{drives,path}=get_drives_path(new_tid);return getAll(otid,new_tid,drives,path)}else if(isFile){let paths=path.split("@@@");let vod_name=paths[0].substring(paths[0].lastIndexOf("/")+1);let vod_title=vod_name;if(otid.includes("#search#")){vod_title+="[搜]"}let vod={vod_id:otid,vod_name:vod_title,type_name:"文件",vod_pic:"https://avatars.githubusercontent.com/u/97389433?s=120&v=4",vod_content:tid,vod_play_from:drives.name,vod_play_url:vod_name+"$"+path,vod_remarks:drives.settings.title};print("----detail2----");print(vod);return JSON.stringify({list:[vod]})}else{return JSON.stringify({list:[]})}}}function play(flag,id,flags){const drives=get_drives(flag);const urls=id.split("@@@");let vod={parse:0,playUrl:"",url:drives.getFile(urls[0]).raw_url};if(urls.length>=2){const path=urls[0].substring(0,urls[0].lastIndexOf("/")+1);vod.subt=drives.getFile(path+urls[1]).raw_url}print("----play----");print(vod);return JSON.stringify(vod)}function search(wd,quick){print(__drives);print("可搜索的alist驱动:"+searchDriver);if(!searchDriver||!wd){return JSON.stringify({list:[]})}else{let driver=__drives[searchDriver];wd=wd.split(" ").filter(it=>it.trim()).join("+");print(driver);let surl=driver.server+"/search?box="+wd+"&url=";if(search_type){surl+="&type="+search_type}print("搜索链接:"+surl);let html=http.get(surl).text();let lists=[];try{lists=pdfa(html,"div&&ul&&a")}catch(e){}print(`搜索结果数:${lists.length},搜索结果显示数量限制:${limit_search_show}`);let vods=[];let excludeReg=/\.(pdf|epub|mobi|txt|doc|lrc)$/;let cnt=0;lists.forEach(it=>{let vhref=pdfh(it,"a&&href");if(vhref){vhref=unescape(vhref)}if(excludeReg.test(vhref)){return}if(cnt1024*1024*1024*1024){sz/=1024*1024*1024*1024;filesize="TB"}else if(sz>1024*1024*1024){sz/=1024*1024*1024;filesize="GB"}else if(sz>1024*1024){sz/=1024*1024;filesize="MB"}else if(sz>1024){sz/=1024;filesize="KB"}else{filesize="B"}let sizeStr=sz.toFixed(2)+filesize,index=sizeStr.indexOf("."),dou=sizeStr.substr(index+1,2);if(dou==="00"){return sizeStr.substring(0,index)+sizeStr.substr(index+3,2)}else{return sizeStr}}function levenshteinDistance(str1,str2){return 100-100*distance(str1,str2)/Math.max(str1.length,str2.length)}function naturalSort(options){if(!options){options={}}return function(a,b){if(options.key){a=a[options.key];b=b[options.key]}var EQUAL=0;var GREATER=options.order==="desc"?-1:1;var SMALLER=-GREATER;var re=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi;var sre=/(^[ ]*|[ ]*$)/g;var dre=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/;var hre=/^0x[0-9a-f]+$/i;var ore=/^0/;var normalize=function normalize(value){var string=""+value;return options.caseSensitive?string:string.toLowerCase()};var x=normalize(a).replace(sre,"")||"";var y=normalize(b).replace(sre,"")||"";var xN=x.replace(re,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0");var yN=y.replace(re,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0");if(!x&&!y)return EQUAL;if(!x&&y)return GREATER;if(x&&!y)return SMALLER;var xD=parseInt(x.match(hre))||xN.length!=1&&x.match(dre)&&Date.parse(x);var yD=parseInt(y.match(hre))||xD&&y.match(dre)&&Date.parse(y)||null;var oFxNcL,oFyNcL;if(yD){if(xDyD)return GREATER}for(var cLoc=0,numS=Math.max(xN.length,yN.length);cLocoFyNcL)return GREATER}return EQUAL}}const sortListByName=(vodList,key,order)=>{if(!key){return vodList}order=order||"asc";return vodList.sort(naturalSort({key:key,order:order,caseSensitive:true}))};const getTimeInt=timeStr=>{return new Date(timeStr).getTime()};const sortListByTime=(vodList,key,order)=>{if(!key){return vodList}let ASCarr=vodList.sort((a,b)=>{a=a[key];b=b[key];return getTimeInt(a)-getTimeInt(b)});if(order==="desc"){ASCarr.reverse()}return ASCarr};const sortListBySize=(vodList,key,order)=>{if(!key){return vodList}let ASCarr=vodList.sort((a,b)=>{a=a[key];b=b[key];return(Number(a)||0)-(Number(b)||0)});if(order==="desc"){ASCarr.reverse()}return ASCarr};export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}; \ No newline at end of file diff --git a/TVBox_JS/lib/cheerio.min.js b/TVBox_JS/lib/cheerio.min.js new file mode 100644 index 0000000..7d6375e --- /dev/null +++ b/TVBox_JS/lib/cheerio.min.js @@ -0,0 +1 @@ +var e,t=function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}}class g extends A{constructor(){super(...arguments),this.type=e.CDATA}get nodeType(){return 4}}class N extends A{constructor(){super(...arguments),this.type=e.Root}get nodeType(){return 9}}class C extends A{constructor(t,n,r=[],i=("script"===t?e.Script:"style"===t?e.Style:e.Tag)){super(r),this.name=t,this.attribs=n,this.type=i}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map((e=>{var t,n;return{name:e,value:this.attribs[e],namespace:null===(t=this["x-attribsNamespace"])||void 0===t?void 0:t[e],prefix:null===(n=this["x-attribsPrefix"])||void 0===n?void 0:n[e]}}))}}function I(t){return(n=t).type===e.Tag||n.type===e.Script||n.type===e.Style;var n}function S(t){return t.type===e.CDATA}function b(t){return t.type===e.Text}function O(t){return t.type===e.Comment}function y(t){return t.type===e.Directive}function L(t){return t.type===e.Root}function k(e){return Object.prototype.hasOwnProperty.call(e,"children")}function v(e,t=!1){let n;if(b(e))n=new m(e.data);else if(O(e))n=new T(e.data);else if(I(e)){const r=t?D(e.children):[],i=new C(e.name,{...e.attribs},r);r.forEach((e=>e.parent=i)),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...e["x-attribsPrefix"]}),n=i}else if(S(e)){const r=t?D(e.children):[],i=new g(r);r.forEach((e=>e.parent=i)),n=i}else if(L(e)){const r=t?D(e.children):[],i=new N(r);r.forEach((e=>e.parent=i)),e["x-mode"]&&(i["x-mode"]=e["x-mode"]),n=i}else{if(!y(e))throw new Error(`Not implemented yet: ${e.type}`);{const t=new _(e.name,e.data);null!=e["x-name"]&&(t["x-name"]=e["x-name"],t["x-publicId"]=e["x-publicId"],t["x-systemId"]=e["x-systemId"]),n=t}}return n.startIndex=e.startIndex,n.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(n.sourceCodeLocation=e.sourceCodeLocation),n}function D(e){const t=e.map((e=>v(e,!0)));for(let e=1;e$\x80-\uFFFF]/g,x=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),w=null!=String.prototype.codePointAt?(e,t)=>e.codePointAt(t):(e,t)=>55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t);function B(e){let t,n="",r=0;for(;null!==(t=P.exec(e));){const i=t.index,s=e.charCodeAt(i),a=x.get(s);void 0!==a?(n+=e.substring(r,i)+a,r=i+1):(n+=`${e.substring(r,i)}&#x${w(e,i).toString(16)};`,r=P.lastIndex+=Number(55296==(64512&s)))}return n+e.substr(r)}function F(e,t){return function(n){let r,i=0,s="";for(;r=e.exec(n);)i!==r.index&&(s+=n.substring(i,r.index)),s+=t.get(r[0].charCodeAt(0)),i=r.index+1;return s+n.substring(i)}}const U=F(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),H=F(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),G=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((e=>[e.toLowerCase(),e]))),Y=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((e=>[e.toLowerCase(),e]))),q=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function K(e){return e.replace(/"/g,""")}const j=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function V(e,t={}){const n="length"in e?e:[e];let r="";for(let e=0;e`;case c:return function(e){return`\x3c!--${e.data}--\x3e`}(e);case p:return function(e){return``}(e);case l:case h:case u:return function(e,t){var n;"foreign"===t.xmlMode&&(e.name=null!==(n=G.get(e.name))&&void 0!==n?n:e.name,e.parent&&Q.has(e.parent.name)&&(t={...t,xmlMode:!1}));!t.xmlMode&&X.has(e.name)&&(t={...t,xmlMode:"foreign"});let r=`<${e.name}`;const i=function(e,t){var n;if(!e)return;const r=!1===(null!==(n=t.encodeEntities)&&void 0!==n?n:t.decodeEntities)?K:t.xmlMode||"utf8"!==t.encodeEntities?B:U;return Object.keys(e).map((n=>{var i,s;const a=null!==(i=e[n])&&void 0!==i?i:"";return"foreign"===t.xmlMode&&(n=null!==(s=Y.get(n))&&void 0!==s?s:n),t.emptyAttrs||t.xmlMode||""!==a?`${n}="${r(a)}"`:n})).join(" ")}(e.attribs,t);i&&(r+=` ${i}`);0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&j.has(e.name))?(t.xmlMode||(r+=" "),r+="/>"):(r+=">",e.children.length>0&&(r+=V(e.children,t)),!t.xmlMode&&j.has(e.name)||(r+=``));return r}(e,t);case a:return function(e,t){var n;let r=e.data||"";!1===(null!==(n=t.encodeEntities)&&void 0!==n?n:t.decodeEntities)||!t.xmlMode&&e.parent&&q.has(e.parent.name)||(r=t.xmlMode||"utf8"!==t.encodeEntities?B(r):H(r));return r}(e,t)}}const Q=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),X=new Set(["svg","math"]);function $(e,t){return V(e,t)}function z(e){return Array.isArray(e)?e.map(z).join(""):k(e)&&!O(e)?z(e.children):b(e)?e.data:""}function J(t){return Array.isArray(t)?t.map(J).join(""):k(t)&&(t.type===e.Tag||S(t))?J(t.children):b(t)?t.data:""}function Z(e){return k(e)?e.children:[]}function ee(e){return e.parent||null}function te(e){const t=ee(e);if(null!=t)return Z(t);const n=[e];let{prev:r,next:i}=e;for(;null!=r;)n.unshift(r),({prev:r}=r);for(;null!=i;)n.push(i),({next:i}=i);return n}function ne(e){let{next:t}=e;for(;null!==t&&!I(t);)({next:t}=t);return t}function re(e){let{prev:t}=e;for(;null!==t&&!I(t);)({prev:t}=t);return t}function ie(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){const t=e.parent.children;t.splice(t.lastIndexOf(e),1)}}function se(e,t,n=!0,r=1/0){return Array.isArray(t)||(t=[t]),ae(e,t,n,r)}function ae(e,t,n,r){const i=[];for(const s of t){if(e(s)&&(i.push(s),--r<=0))break;if(n&&k(s)&&s.children.length>0){const t=ae(e,s.children,n,r);if(i.push(...t),r-=t.length,r<=0)break}}return i}function oe(e,t,n=!0){let r=null;for(let i=0;i0&&(r=oe(e,s.children,!0)))}return r}const ce={tag_name:e=>"function"==typeof e?t=>I(t)&&e(t.name):"*"===e?I:t=>I(t)&&t.name===e,tag_type:e=>"function"==typeof e?t=>e(t.type):t=>t.type===e,tag_contains:e=>"function"==typeof e?t=>b(t)&&e(t.data):t=>b(t)&&t.data===e};function le(e,t){return"function"==typeof t?n=>I(n)&&t(n.attribs[e]):n=>I(n)&&n.attribs[e]===t}function he(e,t){return n=>e(n)||t(n)}function ue(e){const t=Object.keys(e).map((t=>{const n=e[t];return Object.prototype.hasOwnProperty.call(ce,t)?ce[t](n):le(t,n)}));return 0===t.length?null:t.reduce(he)}function pe(e,t,n=!0,r=1/0){return se(ce.tag_name(e),t,n,r)}var fe;function de(e,t){const n=[],r=[];if(e===t)return 0;let i=k(e)?e:e.parent;for(;i;)n.unshift(i),i=i.parent;for(i=k(t)?t:t.parent;i;)r.unshift(i),i=i.parent;const s=Math.min(n.length,r.length);let a=0;for(;ac.indexOf(h)?o===t?fe.FOLLOWING|fe.CONTAINED_BY:fe.FOLLOWING:o===e?fe.PRECEDING|fe.CONTAINS:fe.PRECEDING}function Ee(e){return(e=e.filter(((e,t,n)=>!n.includes(e,t+1)))).sort(((e,t)=>{const n=de(e,t);return n&fe.PRECEDING?-1:n&fe.FOLLOWING?1:0})),e}!function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(fe||(fe={}));const me=["url","type","lang"],Te=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function _e(e){return pe("media:content",e).map((e=>{const{attribs:t}=e,n={medium:t.medium,isDefault:!!t.isDefault};for(const e of me)t[e]&&(n[e]=t[e]);for(const e of Te)t[e]&&(n[e]=parseInt(t[e],10));return t.expression&&(n.expression=t.expression),n}))}function Ae(e,t){return pe(e,t,!0,1)[0]}function ge(e,t,n=!1){return z(pe(e,t,n,1)).trim()}function Ne(e,t,n,r,i=!1){const s=ge(n,r,i);s&&(e[t]=s)}function Ce(e){return"rss"===e||"feed"===e||"rdf:RDF"===e}var Ie,Se=Object.freeze({__proto__:null,isTag:I,isCDATA:S,isText:b,isComment:O,isDocument:L,hasChildren:k,getOuterHTML:$,getInnerHTML:function(e,t){return k(e)?e.children.map((e=>$(e,t))).join(""):""},getText:function e(t){return Array.isArray(t)?t.map(e).join(""):I(t)?"br"===t.name?"\n":e(t.children):S(t)?e(t.children):b(t)?t.data:""},textContent:z,innerText:J,getChildren:Z,getParent:ee,getSiblings:te,getAttributeValue:function(e,t){var n;return null===(n=e.attribs)||void 0===n?void 0:n[t]},hasAttrib:function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},getName:function(e){return e.name},nextElementSibling:ne,prevElementSibling:re,removeElement:ie,replaceElement:function(e,t){const n=t.prev=e.prev;n&&(n.next=t);const r=t.next=e.next;r&&(r.prev=t);const i=t.parent=e.parent;if(i){const n=i.children;n[n.lastIndexOf(e)]=t,e.parent=null}},appendChild:function(e,t){if(ie(t),t.next=null,t.parent=e,e.children.push(t)>1){const n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},append:function(e,t){ie(t);const{parent:n}=e,r=e.next;if(t.next=r,t.prev=e,e.next=t,t.parent=n,r){if(r.prev=t,n){const e=n.children;e.splice(e.lastIndexOf(r),0,t)}}else n&&n.children.push(t)},prependChild:function(e,t){if(ie(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){const n=e.children[1];n.prev=t,t.next=n}else t.next=null},prepend:function(e,t){ie(t);const{parent:n}=e;if(n){const r=n.children;r.splice(r.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t},filter:se,find:ae,findOneChild:function(e,t){return t.find(e)},findOne:oe,existsOne:function e(t,n){return n.some((n=>I(n)&&(t(n)||n.children.length>0&&e(t,n.children))))},findAll:function(e,t){var n;const r=[],i=t.filter(I);let s;for(;s=i.shift();){const t=null===(n=s.children)||void 0===n?void 0:n.filter(I);t&&t.length>0&&i.unshift(...t),e(s)&&r.push(s)}return r},testElement:function(e,t){const n=ue(e);return!n||n(t)},getElements:function(e,t,n,r=1/0){const i=ue(e);return i?se(i,t,n,r):[]},getElementById:function(e,t,n=!0){return Array.isArray(t)||(t=[t]),oe(le("id",e),t,n)},getElementsByTagName:pe,getElementsByTagType:function(e,t,n=!0,r=1/0){return se(ce.tag_type(e),t,n,r)},removeSubsets:function(e){let t=e.length;for(;--t>=0;){const n=e[t];if(t>0&&e.lastIndexOf(n,t-1)>=0)e.splice(t,1);else for(let r=n.parent;r;r=r.parent)if(e.includes(r)){e.splice(t,1);break}}return e},get DocumentPosition(){return fe},compareDocumentPosition:de,uniqueSort:Ee,getFeed:function(e){const t=Ae(Ce,e);return t?"feed"===t.name?function(e){var t;const n=e.children,r={type:"atom",items:pe("entry",n).map((e=>{var t;const{children:n}=e,r={media:_e(n)};Ne(r,"id","id",n),Ne(r,"title","title",n);const i=null===(t=Ae("link",n))||void 0===t?void 0:t.attribs.href;i&&(r.link=i);const s=ge("summary",n)||ge("content",n);s&&(r.description=s);const a=ge("updated",n);return a&&(r.pubDate=new Date(a)),r}))};Ne(r,"id","id",n),Ne(r,"title","title",n);const i=null===(t=Ae("link",n))||void 0===t?void 0:t.attribs.href;i&&(r.link=i);Ne(r,"description","subtitle",n);const s=ge("updated",n);s&&(r.updated=new Date(s));return Ne(r,"author","email",n,!0),r}(t):function(e){var t,n;const r=null!==(n=null===(t=Ae("channel",e.children))||void 0===t?void 0:t.children)&&void 0!==n?n:[],i={type:e.name.substr(0,3),id:"",items:pe("item",e.children).map((e=>{const{children:t}=e,n={media:_e(t)};Ne(n,"id","guid",t),Ne(n,"title","title",t),Ne(n,"link","link",t),Ne(n,"description","description",t);const r=ge("pubDate",t);return r&&(n.pubDate=new Date(r)),n}))};Ne(i,"title","title",r),Ne(i,"link","link",r),Ne(i,"description","description",r);const s=ge("lastBuildDate",r);s&&(i.updated=new Date(s));return Ne(i,"author","managingEditor",r,!0),i}(t):null}}),be="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Oe(e){if(Object.keys)return Object.keys(e);var t=[];for(var n in e)t.push(n);return t}function ye(e,t){if(e.forEach)return e.forEach(t);for(var n=0;n1&&c.shift(),this._hasParentSelector=null;const l=this._trace(c,t,["$"],i,s,n).filter((function(e){return e&&!e.isParentSelector}));return l.length?o||1!==l.length||l[0].hasArrExpr?l.reduce(((e,t)=>{const n=this._getPreferredOutput(t);return a&&Array.isArray(n)?e=e.concat(n):e.push(n),e}),[]):this._getPreferredOutput(l[0]):o?[]:void 0},He.prototype._getPreferredOutput=function(e){const t=this.currResultType;switch(t){case"all":{const t=Array.isArray(e.path)?e.path:He.toPathArray(e.path);return e.pointer=He.toPointer(t),e.path="string"==typeof e.path?e.path:He.toPathString(e.path),e}case"value":case"parent":case"parentProperty":return e[t];case"path":return He.toPathString(e[t]);case"pointer":return He.toPointer(e.path);default:throw new TypeError("Unknown result type")}},He.prototype._handleCallback=function(e,t,n){if(t){const r=this._getPreferredOutput(e);e.path="string"==typeof e.path?e.path:He.toPathString(e.path),t(r,n,e)}},He.prototype._trace=function(e,t,n,r,i,s,a,o){let c;if(!e.length)return c={path:n,value:t,parent:r,parentProperty:i,hasArrExpr:a},this._handleCallback(c,s,"value"),c;const l=e[0],h=e.slice(1),u=[];function p(e){Array.isArray(e)?e.forEach((e=>{u.push(e)})):u.push(e)}if(("string"!=typeof l||o)&&t&&we.call(t,l))p(this._trace(h,t[l],Be(n,l),t,l,s,a));else if("*"===l)this._walk(t,(e=>{p(this._trace(h,t[e],Be(n,e),t,e,s,!0,!0))}));else if(".."===l)p(this._trace(h,t,n,r,i,s,a)),this._walk(t,(r=>{"object"==typeof t[r]&&p(this._trace(e.slice(),t[r],Be(n,r),t,r,s,!0))}));else{if("^"===l)return this._hasParentSelector=!0,{path:n.slice(0,-1),expr:h,isParentSelector:!0};if("~"===l)return c={path:Be(n,l),value:i,parent:r,parentProperty:null},this._handleCallback(c,s,"property"),c;if("$"===l)p(this._trace(h,t,n,null,null,s,a));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(l))p(this._slice(l,h,t,n,r,i,s));else if(0===l.indexOf("?(")){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");const e=l.replace(/^\?\((.*?)\)$/u,"$1");this._walk(t,(a=>{this._eval(e,t[a],a,n,r,i)&&p(this._trace(h,t[a],Be(n,a),t,a,s,!0))}))}else if("("===l[0]){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");p(this._trace(Fe(this._eval(l,t,n[n.length-1],n.slice(0,-1),r,i),h),t,n,r,i,s,a))}else if("@"===l[0]){let e=!1;const a=l.slice(1,-2);switch(a){case"scalar":t&&["object","function"].includes(typeof t)||(e=!0);break;case"boolean":case"string":case"undefined":case"function":typeof t===a&&(e=!0);break;case"integer":!Number.isFinite(t)||t%1||(e=!0);break;case"number":Number.isFinite(t)&&(e=!0);break;case"nonFinite":"number"!=typeof t||Number.isFinite(t)||(e=!0);break;case"object":t&&typeof t===a&&(e=!0);break;case"array":Array.isArray(t)&&(e=!0);break;case"other":e=this.currOtherTypeCallback(t,n,r,i);break;case"null":null===t&&(e=!0);break;default:throw new TypeError("Unknown value type "+a)}if(e)return c={path:n,value:t,parent:r,parentProperty:i},this._handleCallback(c,s,"value"),c}else if("`"===l[0]&&t&&we.call(t,l.slice(1))){const e=l.slice(1);p(this._trace(h,t[e],Be(n,e),t,e,s,a,!0))}else if(l.includes(",")){const e=l.split(",");for(const a of e)p(this._trace(Fe(a,h),t,n,r,i,s,!0))}else!o&&t&&we.call(t,l)&&p(this._trace(h,t[l],Be(n,l),t,l,s,a,!0))}if(this._hasParentSelector)for(let e=0;e{t(e)}))},He.prototype._slice=function(e,t,n,r,i,s,a){if(!Array.isArray(n))return;const o=n.length,c=e.split(":"),l=c[2]&&Number.parseInt(c[2])||1;let h=c[0]&&Number.parseInt(c[0])||0,u=c[1]&&Number.parseInt(c[1])||o;h=h<0?Math.max(0,h+o):Math.min(o,h),u=u<0?Math.max(0,u+o):Math.min(o,u);const p=[];for(let e=h;e{p.push(e)}))}return p},He.prototype._eval=function(e,t,n,r,i,s){this.currSandbox._$_parentProperty=s,this.currSandbox._$_parent=i,this.currSandbox._$_property=n,this.currSandbox._$_root=this.json,this.currSandbox._$_v=t;const a=e.includes("@path");a&&(this.currSandbox._$_path=He.toPathString(r.concat([n])));const o="script:"+e;if(!He.cache[o]){let t=e.replace(/@parentProperty/gu,"_$_parentProperty").replace(/@parent/gu,"_$_parent").replace(/@property/gu,"_$_property").replace(/@root/gu,"_$_root").replace(/@([.\s)[])/gu,"_$_v$1");a&&(t=t.replace(/@path/gu,"_$_path")),He.cache[o]=new this.vm.Script(t)}try{return He.cache[o].runInNewContext(this.currSandbox)}catch(t){throw new Error("jsonPath: "+t.message+": "+e)}},He.cache={},He.toPathString=function(e){const t=e,n=t.length;let r="$";for(let e=1;e":">"},i=/[&"'<>]/g,s=e.exports={};function a(e,t){return n.hasOwnProperty.call(e,t)}function o(e){return r[e]}function c(e,t,n){var r,i,s;if(e instanceof Error&&(e=(i=e).name+": "+i.message),Object.setPrototypeOf?(r=new Error(e),Object.setPrototypeOf(r,c.prototype)):(r=this,Object.defineProperty(r,"message",{enumerable:!1,writable:!0,value:e})),Object.defineProperty(r,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace(r,this.constructor),i){var a=Object.getOwnPropertyDescriptor(i,"stack");(s=a&&(a.get||function(){return a.value}))||(s=function(){return i.stack})}else{var o=new Error(e).stack;s=function(){return o}}return Object.defineProperty(r,"stack",{get:function(){return s.call(r)}}),Object.defineProperty(r,"cause",{value:i}),r.lineno=t,r.colno=n,r.firstUpdate=!0,r.Update=function(e){var t="("+(e||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?t+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(t+=" [Line "+this.lineno+"]")),t+="\n ",this.firstUpdate&&(t+=" "),this.message=t+(this.message||""),this.firstUpdate=!1,this},r}function l(e){return"[object Function]"===n.toString.call(e)}function h(e){return"[object Array]"===n.toString.call(e)}function u(e){return"[object String]"===n.toString.call(e)}function p(e){return"[object Object]"===n.toString.call(e)}function f(e){var t=function(e){return e?"string"==typeof e?e.split("."):[e]:[]}(e);return function(e){for(var n=e,r=0;r1)for(var n=1;n0&&a.length>i){a.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(o)}}else a=s[t]=n,++e._eventsCount;return e}function bt(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function Ot(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function yt(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}function Lt(){var e;Tt.call(this),this.__emitError=(e=this,function(t){e.emit("error",t)})}function kt(){return new Lt}mt.prototype=Object.create(null),Tt.EventEmitter=Tt,Tt.usingDomains=!1,Tt.prototype.domain=void 0,Tt.prototype._events=void 0,Tt.prototype._maxListeners=void 0,Tt.defaultMaxListeners=10,Tt.init=function(){this.domain=null,Tt.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new mt,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Tt.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},Tt.prototype.getMaxListeners=function(){return _t(this)},Tt.prototype.emit=function(e){var t,n,r,i,s,a,o,c="error"===e;if(a=this._events)c=c&&null==a.error;else if(!c)return!1;if(o=this.domain,c){if(t=arguments[1],!o){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=o,t.domainThrown=!1,o.emit("error",t),!1}if(!(n=a[e]))return!1;var h="function"==typeof n;switch(r=arguments.length){case 1:At(n,h,this);break;case 2:gt(n,h,this,arguments[1]);break;case 3:Nt(n,h,this,arguments[1],arguments[2]);break;case 4:Ct(n,h,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s0;)if(n[s]===t||n[s].listener&&n[s].listener===t){a=n[s].listener,i=s;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new mt,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r0?Reflect.ownKeys(this._events):[]},("function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e})(Lt,Tt),Lt.prototype.add=function(e){e.on("error",this.__emitError)},Lt.prototype.remove=function(e){e.removeListener("error",this.__emitError)},Lt.prototype.bind=function(e){var t=this.__emitError;return function(){var n=Array.prototype.slice.call(arguments);try{e.apply(null,n)}catch(e){t(e)}}},Lt.prototype.intercept=function(e){var t=this.__emitError;return function(n){if(n)t(n);else{var r=Array.prototype.slice.call(arguments,1);try{e.apply(null,r)}catch(n){t(n)}}}},Lt.prototype.run=function(e){var t=this.__emitError;try{e()}catch(e){t(e)}return this},Lt.prototype.dispose=function(){return this.removeAllListeners(),this},Lt.prototype.enter=Lt.prototype.exit=function(){return this};var vt,Dt={Domain:Lt,createDomain:kt,create:kt},Rt="function"==typeof setImmediate,Mt=Pt;function Pt(e){xt.length||(Ut(),wt=!0),xt[xt.length]=e}var xt=[],wt=!1,Bt=0;function Ft(){for(;Bt1024){for(var t=0,n=xt.length-Bt;t=!".indexOf(r)){this.forward();var o,c=["==","===","!=","!==","<=",">=","//","**"],l=r+this.current();switch(-1!==je.indexOf(c,l)&&(this.forward(),r=l,-1!==je.indexOf(c,l+this.current())&&(r=l+this.current(),this.forward())),r){case"(":o="left-paren";break;case")":o="right-paren";break;case"[":o="left-bracket";break;case"]":o="right-bracket";break;case"{":o="left-curly";break;case"}":o="right-curly";break;case",":o="comma";break;case":":o="colon";break;case"~":o="tilde";break;case"|":o="pipe";break;default:o="operator"}return Kt(o,r,t,n)}if((e=this._extractUntil(" \n\t\r ()[]{}%*-+~/#,:|.<>=!")).match(/^[-+]?[0-9]+$/))return"."===this.current()?(this.forward(),Kt("float",e+"."+this._extract("0123456789"),t,n)):Kt("int",e,t,n);if(e.match(/^(true|false)$/))return Kt("boolean",e,t,n);if("none"===e)return Kt("none",e,t,n);if("null"===e)return Kt("none",e,t,n);if(e)return Kt("symbol",e,t,n);throw new Error("Unexpected value while parsing: "+e)}var h,u=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished())return null;if((e=this._extractString(this.tags.BLOCK_START+"-"))||(e=this._extractString(this.tags.BLOCK_START)))return this.in_code=!0,Kt("block-start",e,t,n);if((e=this._extractString(this.tags.VARIABLE_START+"-"))||(e=this._extractString(this.tags.VARIABLE_START)))return this.in_code=!0,Kt("variable-start",e,t,n);e="";var p=!1;for(this._matches(this.tags.COMMENT_START)&&(p=!0,e=this._extractString(this.tags.COMMENT_START));null!==(h=this._extractUntil(u));){if(e+=h,(this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!p){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=e.length){var f=e.slice(-this.colno);if(/^\s+$/.test(f)&&!(e=e.slice(0,-this.colno)).length)return this.nextToken()}break}if(this._matches(this.tags.COMMENT_END)){if(!p)throw new Error("unexpected end of comment");e+=this._extractString(this.tags.COMMENT_END);break}e+=this.current(),this.forward()}if(null===h&&p)throw new Error("expected end of comment, got end of file");return Kt(p?"comment":"data",e,t,n)},t._parseString=function(e){this.forward();for(var t="";!this.isFinished()&&this.current()!==e;){var n=this.current();if("\\"===n){switch(this.forward(),this.current()){case"n":t+="\n";break;case"t":t+="\t";break;case"r":t+="\r";break;default:t+=this.current()}this.forward()}else t+=n,this.forward()}return this.forward(),t},t._matches=function(e){return this.index+e.length>this.len?null:this.str.slice(this.index,this.index+e.length)===e},t._extractString=function(e){return this._matches(e)?(this.forwardN(e.length),e):null},t._extractUntil=function(e){return this._extractMatching(!0,e||"")},t._extract=function(e){return this._extractMatching(!1,e)},t._extractMatching=function(e,t){if(this.isFinished())return null;var n=t.indexOf(this.current());if(e&&-1===n||!e&&-1!==n){var r=this.current();this.forward();for(var i=t.indexOf(this.current());(e&&-1===i||!e&&-1!==i)&&!this.isFinished();)r+=this.current(),this.forward(),i=t.indexOf(this.current());return r}return""},t._extractRegex=function(e){var t=this.currentStr().match(e);return t?(this.forwardN(t[0].length),t):null},t.isFinished=function(){return this.index>=this.len},t.forwardN=function(e){for(var t=0;t2?i-2:0),a=2;a0||!n)&&Et.stdout.write(" ".repeat(t));var s=i===r.length-1?"":"\n";Et.stdout.write(""+e+s)}))}var hr={Node:on,Root:hn,NodeList:ln,Value:cn,Literal:un,Symbol:pn,Group:fn,Array:dn,Pair:En,Dict:mn,Output:Un,Capture:Hn,TemplateData:Gn,If:_n,IfAsync:An,InlineIf:gn,For:Nn,AsyncEach:Cn,AsyncAll:In,Macro:Sn,Caller:bn,Import:On,FromImport:yn,FunCall:Ln,Filter:kn,FilterAsync:vn,KeywordArgs:Dn,Block:Rn,Super:Mn,Extends:Pn,Include:xn,Set:wn,Switch:Bn,Case:Fn,LookupVal:Tn,BinOp:qn,In:Kn,Is:jn,Or:Vn,And:Wn,Not:Qn,Add:Xn,Concat:$n,Sub:zn,Mul:Jn,Div:Zn,FloorDiv:er,Mod:tr,Pow:nr,Neg:rr,Pos:ir,Compare:sr,CompareOperand:ar,CallExtension:or,CallExtensionAsync:cr,printNodes:function e(t,n){if(n=n||0,lr(t.typename+": ",n),t instanceof ln)lr("\n"),t.children.forEach((function(t){e(t,n+2)}));else if(t instanceof or)lr(t.extName+"."+t.prop+"\n"),t.args&&e(t.args,n+2),t.contentArgs&&t.contentArgs.forEach((function(t){e(t,n+2)}));else{var r=[],i=null;t.iterFields((function(e,t){e instanceof on?r.push([t,e]):(i=i||{})[t]=e})),i?lr(JSON.stringify(i,null,2)+"\n",null,!0):lr("\n"),r.forEach((function(t){var r=t[0],i=t[1];lr("["+r+"] =>",n+2),e(i,n+4)}))}}};function ur(e,t){return ur=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},ur(e,t)}hr.Node,hr.Root,hr.NodeList,hr.Value,hr.Literal,hr.Group,hr.Pair,hr.Dict,hr.Output,hr.Capture,hr.TemplateData,hr.If,hr.IfAsync,hr.InlineIf,hr.For,hr.AsyncEach,hr.AsyncAll,hr.Macro,hr.Caller,hr.Import,hr.FromImport,hr.FunCall,hr.Filter,hr.FilterAsync,hr.KeywordArgs,hr.Block,hr.Super,hr.Extends,hr.Include,hr.Switch,hr.Case,hr.LookupVal,hr.BinOp,hr.In,hr.Is,hr.Or,hr.And,hr.Not,hr.Add,hr.Concat,hr.Sub,hr.Mul,hr.Div,hr.FloorDiv,hr.Mod,hr.Pow,hr.Neg,hr.Pos,hr.Compare,hr.CompareOperand,hr.CallExtension,hr.CallExtensionAsync,hr.printNodes;var pr=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,ur(t,n);var i=r.prototype;return i.init=function(e){this.tokens=e,this.peeked=null,this.breakOnBlocks=null,this.dropLeadingWhitespace=!1,this.extensions=[]},i.nextToken=function(e){var t;if(this.peeked){if(e||this.peeked.type!==Vt.TOKEN_WHITESPACE)return t=this.peeked,this.peeked=null,t;this.peeked=null}if(t=this.tokens.nextToken(),!e)for(;t&&t.type===Vt.TOKEN_WHITESPACE;)t=this.tokens.nextToken();return t},i.peekToken=function(){return this.peeked=this.peeked||this.nextToken(),this.peeked},i.pushToken=function(e){if(this.peeked)throw new Error("pushToken: can only push one token on between reads");this.peeked=e},i.error=function(e,t,n){if(void 0===t||void 0===n){var r=this.peekToken()||{};t=r.lineno,n=r.colno}return void 0!==t&&(t+=1),void 0!==n&&(n+=1),new je.TemplateError(e,t,n)},i.fail=function(e,t,n){throw this.error(e,t,n)},i.skip=function(e){var t=this.nextToken();return!(!t||t.type!==e)||(this.pushToken(t),!1)},i.expect=function(e){var t=this.nextToken();return t.type!==e&&this.fail("expected "+e+", got "+t.type,t.lineno,t.colno),t},i.skipValue=function(e,t){var n=this.nextToken();return!(!n||n.type!==e||n.value!==t)||(this.pushToken(n),!1)},i.skipSymbol=function(e){return this.skipValue(Vt.TOKEN_SYMBOL,e)},i.advanceAfterBlockEnd=function(e){var t;return e||((t=this.peekToken())||this.fail("unexpected end of file"),t.type!==Vt.TOKEN_SYMBOL&&this.fail("advanceAfterBlockEnd: expected symbol token or explicit name to be passed"),e=this.nextToken().value),(t=this.nextToken())&&t.type===Vt.TOKEN_BLOCK_END?"-"===t.value.charAt(0)&&(this.dropLeadingWhitespace=!0):this.fail("expected block end in "+e+" statement"),t},i.advanceAfterVariableEnd=function(){var e=this.nextToken();e&&e.type===Vt.TOKEN_VARIABLE_END?this.dropLeadingWhitespace="-"===e.value.charAt(e.value.length-this.tokens.tags.VARIABLE_END.length-1):(this.pushToken(e),this.fail("expected variable end"))},i.parseFor=function(){var e,t,n=this.peekToken();if(this.skipSymbol("for")?(e=new hr.For(n.lineno,n.colno),t="endfor"):this.skipSymbol("asyncEach")?(e=new hr.AsyncEach(n.lineno,n.colno),t="endeach"):this.skipSymbol("asyncAll")?(e=new hr.AsyncAll(n.lineno,n.colno),t="endall"):this.fail("parseFor: expected for{Async}",n.lineno,n.colno),e.name=this.parsePrimary(),e.name instanceof hr.Symbol||this.fail("parseFor: variable name expected for loop"),this.peekToken().type===Vt.TOKEN_COMMA){var r=e.name;for(e.name=new hr.Array(r.lineno,r.colno),e.name.addChild(r);this.skip(Vt.TOKEN_COMMA);){var i=this.parsePrimary();e.name.addChild(i)}}return this.skipSymbol("in")||this.fail('parseFor: expected "in" keyword for loop',n.lineno,n.colno),e.arr=this.parseExpression(),this.advanceAfterBlockEnd(n.value),e.body=this.parseUntilBlocks(t,"else"),this.skipSymbol("else")&&(this.advanceAfterBlockEnd("else"),e.else_=this.parseUntilBlocks(t)),this.advanceAfterBlockEnd(),e},i.parseMacro=function(){var e=this.peekToken();this.skipSymbol("macro")||this.fail("expected macro");var t=this.parsePrimary(!0),n=this.parseSignature(),r=new hr.Macro(e.lineno,e.colno,t,n);return this.advanceAfterBlockEnd(e.value),r.body=this.parseUntilBlocks("endmacro"),this.advanceAfterBlockEnd(),r},i.parseCall=function(){var e=this.peekToken();this.skipSymbol("call")||this.fail("expected call");var t=this.parseSignature(!0)||new hr.NodeList,n=this.parsePrimary();this.advanceAfterBlockEnd(e.value);var r=this.parseUntilBlocks("endcall");this.advanceAfterBlockEnd();var i=new hr.Symbol(e.lineno,e.colno,"caller"),s=new hr.Caller(e.lineno,e.colno,i,t,r),a=n.args.children;return a[a.length-1]instanceof hr.KeywordArgs||a.push(new hr.KeywordArgs),a[a.length-1].addChild(new hr.Pair(e.lineno,e.colno,i,s)),new hr.Output(e.lineno,e.colno,[n])},i.parseWithContext=function(){var e=this.peekToken(),t=null;return this.skipSymbol("with")?t=!0:this.skipSymbol("without")&&(t=!1),null!==t&&(this.skipSymbol("context")||this.fail("parseFrom: expected context after with/without",e.lineno,e.colno)),t},i.parseImport=function(){var e=this.peekToken();this.skipSymbol("import")||this.fail("parseImport: expected import",e.lineno,e.colno);var t=this.parseExpression();this.skipSymbol("as")||this.fail('parseImport: expected "as" keyword',e.lineno,e.colno);var n=this.parseExpression(),r=this.parseWithContext(),i=new hr.Import(e.lineno,e.colno,t,n,r);return this.advanceAfterBlockEnd(e.value),i},i.parseFrom=function(){var e=this.peekToken();this.skipSymbol("from")||this.fail("parseFrom: expected from");var t=this.parseExpression();this.skipSymbol("import")||this.fail("parseFrom: expected import",e.lineno,e.colno);for(var n,r=new hr.NodeList;;){var i=this.peekToken();if(i.type===Vt.TOKEN_BLOCK_END){r.children.length||this.fail("parseFrom: Expected at least one import name",e.lineno,e.colno),"-"===i.value.charAt(0)&&(this.dropLeadingWhitespace=!0),this.nextToken();break}r.children.length>0&&!this.skip(Vt.TOKEN_COMMA)&&this.fail("parseFrom: expected comma",e.lineno,e.colno);var s=this.parsePrimary();if("_"===s.value.charAt(0)&&this.fail("parseFrom: names starting with an underscore cannot be imported",s.lineno,s.colno),this.skipSymbol("as")){var a=this.parsePrimary();r.addChild(new hr.Pair(s.lineno,s.colno,s,a))}else r.addChild(s);n=this.parseWithContext()}return new hr.FromImport(e.lineno,e.colno,t,r,n)},i.parseBlock=function(){var e=this.peekToken();this.skipSymbol("block")||this.fail("parseBlock: expected block",e.lineno,e.colno);var t=new hr.Block(e.lineno,e.colno);t.name=this.parsePrimary(),t.name instanceof hr.Symbol||this.fail("parseBlock: variable name expected",e.lineno,e.colno),this.advanceAfterBlockEnd(e.value),t.body=this.parseUntilBlocks("endblock"),this.skipSymbol("endblock"),this.skipSymbol(t.name.value);var n=this.peekToken();return n||this.fail("parseBlock: expected endblock, got end of file"),this.advanceAfterBlockEnd(n.value),t},i.parseExtends=function(){var e="extends",t=this.peekToken();this.skipSymbol(e)||this.fail("parseTemplateRef: expected extends");var n=new hr.Extends(t.lineno,t.colno);return n.template=this.parseExpression(),this.advanceAfterBlockEnd(t.value),n},i.parseInclude=function(){var e="include",t=this.peekToken();this.skipSymbol(e)||this.fail("parseInclude: expected include");var n=new hr.Include(t.lineno,t.colno);return n.template=this.parseExpression(),this.skipSymbol("ignore")&&this.skipSymbol("missing")&&(n.ignoreMissing=!0),this.advanceAfterBlockEnd(t.value),n},i.parseIf=function(){var e,t=this.peekToken();this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")?e=new hr.If(t.lineno,t.colno):this.skipSymbol("ifAsync")?e=new hr.IfAsync(t.lineno,t.colno):this.fail("parseIf: expected if, elif, or elseif",t.lineno,t.colno),e.cond=this.parseExpression(),this.advanceAfterBlockEnd(t.value),e.body=this.parseUntilBlocks("elif","elseif","else","endif");var n=this.peekToken();switch(n&&n.value){case"elseif":case"elif":e.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd(),e.else_=this.parseUntilBlocks("endif"),this.advanceAfterBlockEnd();break;case"endif":e.else_=null,this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return e},i.parseSet=function(){var e=this.peekToken();this.skipSymbol("set")||this.fail("parseSet: expected set",e.lineno,e.colno);for(var t,n=new hr.Set(e.lineno,e.colno,[]);(t=this.parsePrimary())&&(n.targets.push(t),this.skip(Vt.TOKEN_COMMA)););return this.skipValue(Vt.TOKEN_OPERATOR,"=")?(n.value=this.parseExpression(),this.advanceAfterBlockEnd(e.value)):this.skip(Vt.TOKEN_BLOCK_END)?(n.body=new hr.Capture(e.lineno,e.colno,this.parseUntilBlocks("endset")),n.value=null,this.advanceAfterBlockEnd()):this.fail("parseSet: expected = or block end in set tag",e.lineno,e.colno),n},i.parseSwitch=function(){var e="switch",t="endswitch",n="case",r="default",i=this.peekToken();this.skipSymbol(e)||this.skipSymbol(n)||this.skipSymbol(r)||this.fail('parseSwitch: expected "switch," "case" or "default"',i.lineno,i.colno);var s=this.parseExpression();this.advanceAfterBlockEnd(e),this.parseUntilBlocks(n,r,t);var a,o=this.peekToken(),c=[];do{this.skipSymbol(n);var l=this.parseExpression();this.advanceAfterBlockEnd(e);var h=this.parseUntilBlocks(n,r,t);c.push(new hr.Case(o.line,o.col,l,h)),o=this.peekToken()}while(o&&o.value===n);switch(o.value){case r:this.advanceAfterBlockEnd(),a=this.parseUntilBlocks(t),this.advanceAfterBlockEnd();break;case t:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new hr.Switch(i.lineno,i.colno,s,c,a)},i.parseStatement=function(){var e=this.peekToken();if(e.type!==Vt.TOKEN_SYMBOL&&this.fail("tag name expected",e.lineno,e.colno),this.breakOnBlocks&&-1!==je.indexOf(this.breakOnBlocks,e.value))return null;switch(e.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length)for(var t=0;t0;){var o=s[0],c=s[1],l=s[2];l===e?r+=1:l===t&&(r-=1),0===r?(i+=c,this.tokens.backN(o.length-c.length)):i+=o}return new hr.Output(a.lineno,a.colno,[new hr.TemplateData(a.lineno,a.colno,i)])},i.parsePostfix=function(e){for(var t,n=this.peekToken();n;){if(n.type===Vt.TOKEN_LEFT_PAREN)e=new hr.FunCall(n.lineno,n.colno,e,this.parseSignature());else if(n.type===Vt.TOKEN_LEFT_BRACKET)(t=this.parseAggregate()).children.length>1&&this.fail("invalid index"),e=new hr.LookupVal(n.lineno,n.colno,e,t.children[0]);else{if(n.type!==Vt.TOKEN_OPERATOR||"."!==n.value)break;this.nextToken();var r=this.nextToken();r.type!==Vt.TOKEN_SYMBOL&&this.fail("expected name as lookup value, got "+r.value,r.lineno,r.colno),t=new hr.Literal(r.lineno,r.colno,r.value),e=new hr.LookupVal(n.lineno,n.colno,e,t)}n=this.peekToken()}return e},i.parseExpression=function(){return this.parseInlineIf()},i.parseInlineIf=function(){var e=this.parseOr();if(this.skipSymbol("if")){var t=this.parseOr(),n=e;(e=new hr.InlineIf(e.lineno,e.colno)).body=n,e.cond=t,this.skipSymbol("else")?e.else_=this.parseOr():e.else_=null}return e},i.parseOr=function(){for(var e=this.parseAnd();this.skipSymbol("or");){var t=this.parseAnd();e=new hr.Or(e.lineno,e.colno,e,t)}return e},i.parseAnd=function(){for(var e=this.parseNot();this.skipSymbol("and");){var t=this.parseNot();e=new hr.And(e.lineno,e.colno,e,t)}return e},i.parseNot=function(){var e=this.peekToken();return this.skipSymbol("not")?new hr.Not(e.lineno,e.colno,this.parseNot()):this.parseIn()},i.parseIn=function(){for(var e=this.parseIs();;){var t=this.nextToken();if(!t)break;var n=t.type===Vt.TOKEN_SYMBOL&&"not"===t.value;if(n||this.pushToken(t),!this.skipSymbol("in")){n&&this.pushToken(t);break}var r=this.parseIs();e=new hr.In(e.lineno,e.colno,e,r),n&&(e=new hr.Not(e.lineno,e.colno,e))}return e},i.parseIs=function(){var e=this.parseCompare();if(this.skipSymbol("is")){var t=this.skipSymbol("not"),n=this.parseCompare();e=new hr.Is(e.lineno,e.colno,e,n),t&&(e=new hr.Not(e.lineno,e.colno,e))}return e},i.parseCompare=function(){for(var e=["==","===","!=","!==","<",">","<=",">="],t=this.parseConcat(),n=[];;){var r=this.nextToken();if(!r)break;if(-1===e.indexOf(r.value)){this.pushToken(r);break}n.push(new hr.CompareOperand(r.lineno,r.colno,this.parseConcat(),r.value))}return n.length?new hr.Compare(n[0].lineno,n[0].colno,t,n):t},i.parseConcat=function(){for(var e=this.parseAdd();this.skipValue(Vt.TOKEN_TILDE,"~");){var t=this.parseAdd();e=new hr.Concat(e.lineno,e.colno,e,t)}return e},i.parseAdd=function(){for(var e=this.parseSub();this.skipValue(Vt.TOKEN_OPERATOR,"+");){var t=this.parseSub();e=new hr.Add(e.lineno,e.colno,e,t)}return e},i.parseSub=function(){for(var e=this.parseMul();this.skipValue(Vt.TOKEN_OPERATOR,"-");){var t=this.parseMul();e=new hr.Sub(e.lineno,e.colno,e,t)}return e},i.parseMul=function(){for(var e=this.parseDiv();this.skipValue(Vt.TOKEN_OPERATOR,"*");){var t=this.parseDiv();e=new hr.Mul(e.lineno,e.colno,e,t)}return e},i.parseDiv=function(){for(var e=this.parseFloorDiv();this.skipValue(Vt.TOKEN_OPERATOR,"/");){var t=this.parseFloorDiv();e=new hr.Div(e.lineno,e.colno,e,t)}return e},i.parseFloorDiv=function(){for(var e=this.parseMod();this.skipValue(Vt.TOKEN_OPERATOR,"//");){var t=this.parseMod();e=new hr.FloorDiv(e.lineno,e.colno,e,t)}return e},i.parseMod=function(){for(var e=this.parsePow();this.skipValue(Vt.TOKEN_OPERATOR,"%");){var t=this.parsePow();e=new hr.Mod(e.lineno,e.colno,e,t)}return e},i.parsePow=function(){for(var e=this.parseUnary();this.skipValue(Vt.TOKEN_OPERATOR,"**");){var t=this.parseUnary();e=new hr.Pow(e.lineno,e.colno,e,t)}return e},i.parseUnary=function(e){var t,n=this.peekToken();return t=this.skipValue(Vt.TOKEN_OPERATOR,"-")?new hr.Neg(n.lineno,n.colno,this.parseUnary(!0)):this.skipValue(Vt.TOKEN_OPERATOR,"+")?new hr.Pos(n.lineno,n.colno,this.parseUnary(!0)):this.parsePrimary(),e||(t=this.parseFilter(t)),t},i.parsePrimary=function(e){var t,n=this.nextToken(),r=null;if(n?n.type===Vt.TOKEN_STRING?t=n.value:n.type===Vt.TOKEN_INT?t=parseInt(n.value,10):n.type===Vt.TOKEN_FLOAT?t=parseFloat(n.value):n.type===Vt.TOKEN_BOOLEAN?"true"===n.value?t=!0:"false"===n.value?t=!1:this.fail("invalid boolean: "+n.value,n.lineno,n.colno):n.type===Vt.TOKEN_NONE?t=null:n.type===Vt.TOKEN_REGEX&&(t=new RegExp(n.value.body,n.value.flags)):this.fail("expected expression, got end of file"),void 0!==t?r=new hr.Literal(n.lineno,n.colno,t):n.type===Vt.TOKEN_SYMBOL?r=new hr.Symbol(n.lineno,n.colno,n.value):(this.pushToken(n),r=this.parseAggregate()),e||(r=this.parsePostfix(r)),r)return r;throw this.error("unexpected token: "+n.value,n.lineno,n.colno)},i.parseFilterName=function(){for(var e=this.expect(Vt.TOKEN_SYMBOL),t=e.value;this.skipValue(Vt.TOKEN_OPERATOR,".");)t+="."+this.expect(Vt.TOKEN_SYMBOL).value;return new hr.Symbol(e.lineno,e.colno,t)},i.parseFilterArgs=function(e){return this.peekToken().type===Vt.TOKEN_LEFT_PAREN?this.parsePostfix(e).args.children:[]},i.parseFilter=function(e){for(;this.skip(Vt.TOKEN_PIPE);){var t=this.parseFilterName();e=new hr.Filter(t.lineno,t.colno,t,new hr.NodeList(t.lineno,t.colno,[e].concat(this.parseFilterArgs(e))))}return e},i.parseFilterStatement=function(){var e=this.peekToken();this.skipSymbol("filter")||this.fail("parseFilterStatement: expected filter");var t=this.parseFilterName(),n=this.parseFilterArgs(t);this.advanceAfterBlockEnd(e.value);var r=new hr.Capture(t.lineno,t.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var i=new hr.Filter(t.lineno,t.colno,t,new hr.NodeList(t.lineno,t.colno,[r].concat(n)));return new hr.Output(t.lineno,t.colno,[i])},i.parseAggregate=function(){var e,t=this.nextToken();switch(t.type){case Vt.TOKEN_LEFT_PAREN:e=new hr.Group(t.lineno,t.colno);break;case Vt.TOKEN_LEFT_BRACKET:e=new hr.Array(t.lineno,t.colno);break;case Vt.TOKEN_LEFT_CURLY:e=new hr.Dict(t.lineno,t.colno);break;default:return null}for(;;){var n=this.peekToken().type;if(n===Vt.TOKEN_RIGHT_PAREN||n===Vt.TOKEN_RIGHT_BRACKET||n===Vt.TOKEN_RIGHT_CURLY){this.nextToken();break}if(e.children.length>0&&(this.skip(Vt.TOKEN_COMMA)||this.fail("parseAggregate: expected comma after expression",t.lineno,t.colno)),e instanceof hr.Dict){var r=this.parsePrimary();this.skip(Vt.TOKEN_COLON)||this.fail("parseAggregate: expected colon after dict key",t.lineno,t.colno);var i=this.parseExpression();e.addChild(new hr.Pair(r.lineno,r.colno,r,i))}else{var s=this.parseExpression();e.addChild(s)}}return e},i.parseSignature=function(e,t){var n=this.peekToken();if(!t&&n.type!==Vt.TOKEN_LEFT_PAREN){if(e)return null;this.fail("expected arguments",n.lineno,n.colno)}n.type===Vt.TOKEN_LEFT_PAREN&&(n=this.nextToken());for(var r=new hr.NodeList(n.lineno,n.colno),i=new hr.KeywordArgs(n.lineno,n.colno),s=!1;;){if(n=this.peekToken(),!t&&n.type===Vt.TOKEN_RIGHT_PAREN){this.nextToken();break}if(t&&n.type===Vt.TOKEN_BLOCK_END)break;if(s&&!this.skip(Vt.TOKEN_COMMA))this.fail("parseSignature: expected comma after expression",n.lineno,n.colno);else{var a=this.parseExpression();this.skipValue(Vt.TOKEN_OPERATOR,"=")?i.addChild(new hr.Pair(a.lineno,a.colno,a,this.parseExpression())):r.addChild(a)}s=!0}return i.children.length&&r.addChild(i),r},i.parseUntilBlocks=function(){for(var e=this.breakOnBlocks,t=arguments.length,n=new Array(t),r=0;re.length)a=i.slice(0,e.length),i.slice(a.length,o).forEach((function(e,n){n":">","<=":"<=",">=":">="},Pr=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,vr(t,n);var i=r.prototype;return i.init=function(e,t){this.templateName=e,this.codebuf=[],this.lastId=0,this.buffer=null,this.bufferStack=[],this._scopeClosers="",this.inBlock=!1,this.throwOnUndefined=t},i.fail=function(e,t,n){throw void 0!==t&&(t+=1),void 0!==n&&(n+=1),new Dr(e,t,n)},i._pushBuffer=function(){var e=this._tmpid();return this.bufferStack.push(this.buffer),this.buffer=e,this._emit("var "+this.buffer+' = "";'),e},i._popBuffer=function(){this.buffer=this.bufferStack.pop()},i._emit=function(e){this.codebuf.push(e)},i._emitLine=function(e){this._emit(e+"\n")},i._emitLines=function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r0&&i._emit(","),i.compile(e,t)})),r&&this._emit(r)},i._compileExpression=function(e,t){this.assertType(e,hr.Literal,hr.Symbol,hr.Group,hr.Array,hr.Dict,hr.FunCall,hr.Caller,hr.Filter,hr.LookupVal,hr.Compare,hr.InlineIf,hr.In,hr.Is,hr.And,hr.Or,hr.Not,hr.Add,hr.Concat,hr.Sub,hr.Mul,hr.Div,hr.FloorDiv,hr.Mod,hr.Pow,hr.Neg,hr.Pos,hr.Compare,hr.NodeList),this.compile(e,t)},i.assertType=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&r._emit(","),e){r._emitLine("function(cb) {"),r._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var i=r._pushBuffer();r._withScopedSyntax((function(){r.compile(e,t),r._emitLine("cb(null, "+i+");")})),r._popBuffer(),r._emitLine("return "+i+";"),r._emitLine("}")}else r._emit("null")})),n){var o=this._tmpid();this._emitLine(", "+this._makeCallback(o)),this._emitLine(this.buffer+" += runtime.suppressValue("+o+", "+a+" && env.opts.autoescape);"),this._addScopeLevel()}else this._emit(")"),this._emit(", "+a+" && env.opts.autoescape);\n")},i.compileCallExtensionAsync=function(e,t){this.compileCallExtension(e,t,!0)},i.compileNodeList=function(e,t){this._compileChildren(e,t)},i.compileLiteral=function(e){if("string"==typeof e.value){var t=e.value.replace(/\\/g,"\\\\");t=(t=(t=(t=(t=t.replace(/"/g,'\\"')).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t")).replace(/\u2028/g,"\\u2028"),this._emit('"'+t+'"')}else null===e.value?this._emit("null"):this._emit(e.value.toString())},i.compileSymbol=function(e,t){var n=e.value,r=t.lookup(n);r?this._emit(r):this._emit('runtime.contextOrFrameLookup(context, frame, "'+n+'")')},i.compileGroup=function(e,t){this._compileAggregate(e,t,"(",")")},i.compileArray=function(e,t){this._compileAggregate(e,t,"[","]")},i.compileDict=function(e,t){this._compileAggregate(e,t,"{","}")},i.compilePair=function(e,t){var n=e.key,r=e.value;n instanceof hr.Symbol?n=new hr.Literal(n.lineno,n.colno,n.value):n instanceof hr.Literal&&"string"==typeof n.value||this.fail("compilePair: Dict keys must be strings or names",n.lineno,n.colno),this.compile(n,t),this._emit(": "),this._compileExpression(r,t)},i.compileInlineIf=function(e,t){this._emit("("),this.compile(e.cond,t),this._emit("?"),this.compile(e.body,t),this._emit(":"),null!==e.else_?this.compile(e.else_,t):this._emit('""'),this._emit(")")},i.compileIn=function(e,t){this._emit("runtime.inOperator("),this.compile(e.left,t),this._emit(","),this.compile(e.right,t),this._emit(")")},i.compileIs=function(e,t){var n=e.right.name?e.right.name.value:e.right.value;this._emit('env.getTest("'+n+'").call(context, '),this.compile(e.left,t),e.right.args&&(this._emit(","),this.compile(e.right.args,t)),this._emit(") === true")},i._binOpEmitter=function(e,t,n){this.compile(e.left,t),this._emit(n),this.compile(e.right,t)},i.compileOr=function(e,t){return this._binOpEmitter(e,t," || ")},i.compileAnd=function(e,t){return this._binOpEmitter(e,t," && ")},i.compileAdd=function(e,t){return this._binOpEmitter(e,t," + ")},i.compileConcat=function(e,t){return this._binOpEmitter(e,t,' + "" + ')},i.compileSub=function(e,t){return this._binOpEmitter(e,t," - ")},i.compileMul=function(e,t){return this._binOpEmitter(e,t," * ")},i.compileDiv=function(e,t){return this._binOpEmitter(e,t," / ")},i.compileMod=function(e,t){return this._binOpEmitter(e,t," % ")},i.compileNot=function(e,t){this._emit("!"),this.compile(e.target,t)},i.compileFloorDiv=function(e,t){this._emit("Math.floor("),this.compile(e.left,t),this._emit(" / "),this.compile(e.right,t),this._emit(")")},i.compilePow=function(e,t){this._emit("Math.pow("),this.compile(e.left,t),this._emit(", "),this.compile(e.right,t),this._emit(")")},i.compileNeg=function(e,t){this._emit("-"),this.compile(e.target,t)},i.compilePos=function(e,t){this._emit("+"),this.compile(e.target,t)},i.compileCompare=function(e,t){var n=this;this.compile(e.expr,t),e.ops.forEach((function(e){n._emit(" "+Mr[e.type]+" "),n.compile(e.expr,t)}))},i.compileLookupVal=function(e,t){this._emit("runtime.memberLookup(("),this._compileExpression(e.target,t),this._emit("),"),this._compileExpression(e.val,t),this._emit(")")},i._getNodeName=function(e){switch(e.typename){case"Symbol":return e.value;case"FunCall":return"the return value of ("+this._getNodeName(e.name)+")";case"LookupVal":return this._getNodeName(e.target)+'["'+this._getNodeName(e.val)+'"]';case"Literal":return e.value.toString();default:return"--expression--"}},i.compileFunCall=function(e,t){this._emit("(lineno = "+e.lineno+", colno = "+e.colno+", "),this._emit("runtime.callWrap("),this._compileExpression(e.name,t),this._emit(', "'+this._getNodeName(e.name).replace(/"/g,'\\"')+'", context, '),this._compileAggregate(e.args,t,"[","])"),this._emit(")")},i.compileFilter=function(e,t){var n=e.name;this.assertType(n,hr.Symbol),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(e.args,t),this._emit(")")},i.compileFilterAsync=function(e,t){var n=e.name,r=e.symbol.value;this.assertType(n,hr.Symbol),t.set(r,r),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(e.args,t),this._emitLine(", "+this._makeCallback(r)),this._addScopeLevel()},i.compileKeywordArgs=function(e,t){this._emit("runtime.makeKeywordArgs("),this.compileDict(e,t),this._emit(")")},i.compileSet=function(e,t){var n=this,r=[];e.targets.forEach((function(e){var i=e.value,s=t.lookup(i);null==s&&(s=n._tmpid(),n._emitLine("var "+s+";")),r.push(s)})),e.value?(this._emit(r.join(" = ")+" = "),this._compileExpression(e.value,t),this._emitLine(";")):(this._emit(r.join(" = ")+" = "),this.compile(e.body,t),this._emitLine(";")),e.targets.forEach((function(e,t){var i=r[t],s=e.value;n._emitLine('frame.set("'+s+'", '+i+", true);"),n._emitLine("if(frame.topLevel) {"),n._emitLine('context.setVariable("'+s+'", '+i+");"),n._emitLine("}"),"_"!==s.charAt(0)&&(n._emitLine("if(frame.topLevel) {"),n._emitLine('context.addExport("'+s+'", '+i+");"),n._emitLine("}"))}))},i.compileSwitch=function(e,t){var n=this;this._emit("switch ("),this.compile(e.expr,t),this._emit(") {"),e.cases.forEach((function(e,r){n._emit("case "),n.compile(e.cond,t),n._emit(": "),n.compile(e.body,t),e.body.children.length&&n._emitLine("break;")})),e.default&&(this._emit("default:"),this.compile(e.default,t)),this._emit("}")},i.compileIf=function(e,t,n){var r=this;this._emit("if("),this._compileExpression(e.cond,t),this._emitLine(") {"),this._withScopedSyntax((function(){r.compile(e.body,t),n&&r._emit("cb()")})),e.else_?(this._emitLine("}\nelse {"),this._withScopedSyntax((function(){r.compile(e.else_,t),n&&r._emit("cb()")}))):n&&(this._emitLine("}\nelse {"),this._emit("cb()")),this._emitLine("}")},i.compileIfAsync=function(e,t){this._emit("(function(cb) {"),this.compileIf(e,t,!0),this._emit("})("+this._makeCallback()),this._addScopeLevel()},i._emitLoopBindings=function(e,t,n,r){var i=this;[{name:"index",val:n+" + 1"},{name:"index0",val:n},{name:"revindex",val:r+" - "+n},{name:"revindex0",val:r+" - "+n+" - 1"},{name:"first",val:n+" === 0"},{name:"last",val:n+" === "+r+" - 1"},{name:"length",val:r}].forEach((function(e){i._emitLine('frame.set("loop.'+e.name+'", '+e.val+");")}))},i.compileFor=function(e,t){var n=this,r=this._tmpid(),i=this._tmpid(),s=this._tmpid();if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+s+" = "),this._compileExpression(e.arr,t),this._emitLine(";"),this._emit("if("+s+") {"),this._emitLine(s+" = runtime.fromIterator("+s+");"),e.name instanceof hr.Array){this._emitLine("var "+r+";"),this._emitLine("if(runtime.isArray("+s+")) {"),this._emitLine("var "+i+" = "+s+".length;"),this._emitLine("for("+r+"=0; "+r+" < "+s+".length; "+r+"++) {"),e.name.children.forEach((function(i,a){var o=n._tmpid();n._emitLine("var "+o+" = "+s+"["+r+"]["+a+"];"),n._emitLine('frame.set("'+i+'", '+s+"["+r+"]["+a+"]);"),t.set(e.name.children[a].value,o)})),this._emitLoopBindings(e,s,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}"),this._emitLine("} else {");var a=e.name.children,o=a[0],c=a[1],l=this._tmpid(),h=this._tmpid();t.set(o.value,l),t.set(c.value,h),this._emitLine(r+" = -1;"),this._emitLine("var "+i+" = runtime.keys("+s+").length;"),this._emitLine("for(var "+l+" in "+s+") {"),this._emitLine(r+"++;"),this._emitLine("var "+h+" = "+s+"["+l+"];"),this._emitLine('frame.set("'+o.value+'", '+l+");"),this._emitLine('frame.set("'+c.value+'", '+h+");"),this._emitLoopBindings(e,s,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}"),this._emitLine("}")}else{var u=this._tmpid();t.set(e.name.value,u),this._emitLine("var "+i+" = "+s+".length;"),this._emitLine("for(var "+r+"=0; "+r+" < "+s+".length; "+r+"++) {"),this._emitLine("var "+u+" = "+s+"["+r+"];"),this._emitLine('frame.set("'+e.name.value+'", '+u+");"),this._emitLoopBindings(e,s,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}")}this._emitLine("}"),e.else_&&(this._emitLine("if (!"+i+") {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},i._compileAsyncLoop=function(e,t,n){var r=this,i=this._tmpid(),s=this._tmpid(),a=this._tmpid(),o=n?"asyncAll":"asyncEach";if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+a+" = runtime.fromIterator("),this._compileExpression(e.arr,t),this._emitLine(");"),e.name instanceof hr.Array){var c=e.name.children.length;this._emit("runtime."+o+"("+a+", "+c+", function("),e.name.children.forEach((function(e){r._emit(e.value+",")})),this._emit(i+","+s+",next) {"),e.name.children.forEach((function(e){var n=e.value;t.set(n,n),r._emitLine('frame.set("'+n+'", '+n+");")}))}else{var l=e.name.value;this._emitLine("runtime."+o+"("+a+", 1, function("+l+", "+i+", "+s+",next) {"),this._emitLine('frame.set("'+l+'", '+l+");"),t.set(l,l)}this._emitLoopBindings(e,a,i,s),this._withScopedSyntax((function(){var s;n&&(s=r._pushBuffer()),r.compile(e.body,t),r._emitLine("next("+i+(s?","+s:"")+");"),n&&r._popBuffer()}));var h=this._tmpid();this._emitLine("}, "+this._makeCallback(h)),this._addScopeLevel(),n&&this._emitLine(this.buffer+" += "+h+";"),e.else_&&(this._emitLine("if (!"+a+".length) {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},i.compileAsyncEach=function(e,t){this._compileAsyncLoop(e,t)},i.compileAsyncAll=function(e,t){this._compileAsyncLoop(e,t,!0)},i._compileMacro=function(e,t){var n=this,r=[],i=null,s="macro_"+this._tmpid(),a=void 0!==t;e.args.children.forEach((function(t,s){s===e.args.children.length-1&&t instanceof hr.Dict?i=t:(n.assertType(t,hr.Symbol),r.push(t))}));var o,c=[].concat(r.map((function(e){return"l_"+e.value})),["kwargs"]),l=r.map((function(e){return'"'+e.value+'"'})),h=(i&&i.children||[]).map((function(e){return'"'+e.key.value+'"'}));o=a?t.push(!0):new Rr,this._emitLines("var "+s+" = runtime.makeMacro(","["+l.join(", ")+"], ","["+h.join(", ")+"], ","function ("+c.join(", ")+") {","var callerFrame = frame;","frame = "+(a?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }'),r.forEach((function(e){n._emitLine('frame.set("'+e.value+'", l_'+e.value+");"),o.set(e.value,"l_"+e.value)})),i&&i.children.forEach((function(e){var t=e.key.value;n._emit('frame.set("'+t+'", '),n._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+t+'")'),n._emit(' ? kwargs["'+t+'"] : '),n._compileExpression(e.value,o),n._emit(");")}));var u=this._pushBuffer();return this._withScopedSyntax((function(){n.compile(e.body,o)})),this._emitLine("frame = "+(a?"frame.pop();":"callerFrame;")),this._emitLine("return new runtime.SafeString("+u+");"),this._emitLine("});"),this._popBuffer(),s},i.compileMacro=function(e,t){var n=this._compileMacro(e),r=e.name.value;t.set(r,n),t.parent?this._emitLine('frame.set("'+r+'", '+n+");"):("_"!==e.name.value.charAt(0)&&this._emitLine('context.addExport("'+r+'");'),this._emitLine('context.setVariable("'+r+'", '+n+");"))},i.compileCaller=function(e,t){this._emit("(function (){");var n=this._compileMacro(e,t);this._emit("return "+n+";})()")},i._compileGetTemplate=function(e,t,n,r){var i=this._tmpid(),s=this._templateName(),a=this._makeCallback(i),o=n?"true":"false",c=r?"true":"false";return this._emit("env.getTemplate("),this._compileExpression(e.template,t),this._emitLine(", "+o+", "+s+", "+c+", "+a),i},i.compileImport=function(e,t){var n=e.target.value,r=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),t.set(n,r),t.parent?this._emitLine('frame.set("'+n+'", '+r+");"):this._emitLine('context.setVariable("'+n+'", '+r+");")},i.compileFromImport=function(e,t){var n=this,r=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),e.names.children.forEach((function(e){var i,s,a=n._tmpid();e instanceof hr.Pair?(i=e.key.value,s=e.value.value):s=i=e.value,n._emitLine("if(Object.prototype.hasOwnProperty.call("+r+', "'+i+'")) {'),n._emitLine("var "+a+" = "+r+"."+i+";"),n._emitLine("} else {"),n._emitLine("cb(new Error(\"cannot import '"+i+"'\")); return;"),n._emitLine("}"),t.set(s,a),t.parent?n._emitLine('frame.set("'+s+'", '+a+");"):n._emitLine('context.setVariable("'+s+'", '+a+");")}))},i.compileBlock=function(e){var t=this._tmpid();this.inBlock||this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '),this._emit('context.getBlock("'+e.name.value+'")'),this.inBlock||this._emit(")"),this._emitLine("(env, context, frame, runtime, "+this._makeCallback(t)),this._emitLine(this.buffer+" += "+t+";"),this._addScopeLevel()},i.compileSuper=function(e,t){var n=e.blockName.value,r=e.symbol.value,i=this._makeCallback(r);this._emitLine('context.getSuper(env, "'+n+'", b_'+n+", frame, runtime, "+i),this._emitLine(r+" = runtime.markSafe("+r+");"),this._addScopeLevel(),t.set(r,r)},i.compileExtends=function(e,t){var n=this._tmpid(),r=this._compileGetTemplate(e,t,!0,!1);this._emitLine("parentTemplate = "+r),this._emitLine("for(var "+n+" in parentTemplate.blocks) {"),this._emitLine("context.addBlock("+n+", parentTemplate.blocks["+n+"]);"),this._emitLine("}"),this._addScopeLevel()},i.compileInclude=function(e,t){this._emitLine("var tasks = [];"),this._emitLine("tasks.push("),this._emitLine("function(callback) {");var n=this._compileGetTemplate(e,t,!1,e.ignoreMissing);this._emitLine("callback(null,"+n+");});"),this._emitLine("});");var r=this._tmpid();this._emitLine("tasks.push("),this._emitLine("function(template, callback){"),this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(r)),this._emitLine("callback(null,"+r+");});"),this._emitLine("});"),this._emitLine("tasks.push("),this._emitLine("function(result, callback){"),this._emitLine(this.buffer+" += result;"),this._emitLine("callback(null);"),this._emitLine("});"),this._emitLine("env.waterfall(tasks, function(){"),this._addScopeLevel()},i.compileTemplateData=function(e,t){this.compileLiteral(e,t)},i.compileCapture=function(e,t){var n=this,r=this.buffer;this.buffer="output",this._emitLine("(function() {"),this._emitLine('var output = "";'),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("return output;"),this._emitLine("})()"),this.buffer=r},i.compileOutput=function(e,t){var n=this;e.children.forEach((function(r){r instanceof hr.TemplateData?r.value&&(n._emit(n.buffer+" += "),n.compileLiteral(r,t),n._emitLine(";")):(n._emit(n.buffer+" += runtime.suppressValue("),n.throwOnUndefined&&n._emit("runtime.ensureDefined("),n.compile(r,t),n.throwOnUndefined&&n._emit(","+e.lineno+","+e.colno+")"),n._emit(", env.opts.autoescape);\n"))}))},i.compileRoot=function(e,t){var n=this;t&&this.fail("compileRoot: root node can't have frame"),t=new Rr,this._emitFuncBegin(e,"root"),this._emitLine("var parentTemplate = null;"),this._compileChildren(e,t),this._emitLine("if(parentTemplate) {"),this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"),this._emitLine("} else {"),this._emitLine("cb(null, "+this.buffer+");"),this._emitLine("}"),this._emitFuncEnd(!0),this.inBlock=!0;var r=[],i=e.findAll(hr.Block);i.forEach((function(e,t){var i=e.name.value;if(-1!==r.indexOf(i))throw new Error('Block "'+i+'" defined more than once.');r.push(i),n._emitFuncBegin(e,"b_"+i);var s=new Rr;n._emitLine("var frame = frame.push(true);"),n.compile(e.body,s),n._emitFuncEnd()})),this._emitLine("return {"),i.forEach((function(e,t){var r="b_"+e.name.value;n._emitLine(r+": "+r+",")})),this._emitLine("root: root\n};")},i.compile=function(e,t){var n=this["compile"+e.typename];n?n.call(this,e,t):this.fail("compile: Cannot compile node: "+e.typename,e.lineno,e.colno)},i.getCode=function(){return this.codebuf.join("")},r}(en.Obj),xr={compile:function(e,t,n,r,i){void 0===i&&(i={});var s=new Pr(r,i.throwOnUndefined),a=(n||[]).map((function(e){return e.preprocess})).filter((function(e){return!!e})).reduce((function(e,t){return t(e)}),e);return s.compile(Nr.transform(fr.parse(a,n,i),t,r)),s.getCode()},Compiler:Pr},wr=Ke((function(e){var t=e.exports={};function n(e,t){return null==e||!1===e?t:e}function r(e){return e!=e}function i(e){var t=(e=n(e,"")).toLowerCase();return kr.copySafeness(e,t.charAt(0).toUpperCase()+t.slice(1))}function s(e){if(je.isString(e))return e.split("");if(je.isObject(e))return je._entries(e||{}).map((function(e){return{key:e[0],value:e[1]}}));if(je.isArray(e))return e;throw new je.TemplateError("list filter: type not iterable")}function a(e){return function(t,n,r){void 0===n&&(n="truthy");var i=this,s=i.env.getTest(n);return je.toArray(t).filter((function(t){return s.call(i,t,r)===e}))}}function o(e){return kr.copySafeness(e,e.replace(/^\s*|\s*$/g,""))}t.abs=Math.abs,t.batch=function(e,t,n){var r,i=[],s=[];for(r=0;r=t)return e;var r=t-e.length,i=je.repeat(" ",r/2-r%2),s=je.repeat(" ",r/2);return kr.copySafeness(e,i+e+s)},t.default=function(e,t,n){return n?e||t:void 0!==e?e:t},t.dictsort=function(e,t,n){if(!je.isObject(e))throw new je.TemplateError("dictsort filter: val must be an object");var r,i=[];for(var s in e)i.push([s,e[s]]);if(void 0===n||"key"===n)r=0;else{if("value"!==n)throw new je.TemplateError("dictsort filter: You can only sort by either key or value");r=1}return i.sort((function(e,n){var i=e[r],s=n[r];return t||(je.isString(i)&&(i=i.toUpperCase()),je.isString(s)&&(s=s.toUpperCase())),i>s?1:i===s?0:-1})),i},t.dump=function(e,t){return JSON.stringify(e,null,t)},t.escape=function(e){return e instanceof kr.SafeString?e:(e=null==e?"":e,kr.markSafe(je.escape(e.toString())))},t.safe=function(e){return e instanceof kr.SafeString?e:(e=null==e?"":e,kr.markSafe(e.toString()))},t.first=function(e){return e[0]},t.forceescape=function(e){return e=null==e?"":e,kr.markSafe(je.escape(e.toString()))},t.groupby=function(e,t){return je.groupBy(e,t,this.env.opts.throwOnUndefined)},t.indent=function(e,t,r){if(""===(e=n(e,"")))return"";t=t||4;var i=e.split("\n"),s=je.repeat(" ",t),a=i.map((function(e,t){return 0!==t||r?""+s+e:e})).join("\n");return kr.copySafeness(e,a)},t.join=function(e,t,n){return t=t||"",n&&(e=je.map(e,(function(e){return e[n]}))),e.join(t)},t.last=function(e){return e[e.length-1]},t.length=function(e){var t=n(e,"");return void 0!==t?"function"==typeof Map&&t instanceof Map||"function"==typeof Set&&t instanceof Set?t.size:!je.isObject(t)||t instanceof kr.SafeString?t.length:je.keys(t).length:0},t.list=s,t.lower=function(e){return(e=n(e,"")).toLowerCase()},t.nl2br=function(e){return null==e?"":kr.copySafeness(e,e.replace(/\r\n|\n/g,"
    \n"))},t.random=function(e){return e[Math.floor(Math.random()*e.length)]},t.reject=a(!1),t.rejectattr=function(e,t){return e.filter((function(e){return!e[t]}))},t.select=a(!0),t.selectattr=function(e,t){return e.filter((function(e){return!!e[t]}))},t.replace=function(e,t,n,r){var i=e;if(t instanceof RegExp)return e.replace(t,n);void 0===r&&(r=-1);var s="";if("number"==typeof t)t=""+t;else if("string"!=typeof t)return e;if("number"==typeof e&&(e=""+e),"string"!=typeof e&&!(e instanceof kr.SafeString))return e;if(""===t)return s=n+e.split("").join(n)+n,kr.copySafeness(e,s);var a=e.indexOf(t);if(0===r||-1===a)return e;for(var o=0,c=0;a>-1&&(-1===r||c=i&&h.push(n),s.push(h)}return s},t.sum=function(e,t,n){return void 0===n&&(n=0),t&&(e=je.map(e,(function(e){return e[t]}))),n+e.reduce((function(e,t){return e+t}),0)},t.sort=kr.makeMacro(["value","reverse","case_sensitive","attribute"],[],(function(e,t,n,r){var i=this,s=je.map(e,(function(e){return e})),a=je.getAttrGetter(r);return s.sort((function(e,s){var o=r?a(e):e,c=r?a(s):s;if(i.env.opts.throwOnUndefined&&r&&(void 0===o||void 0===c))throw new TypeError('sort: attribute "'+r+'" resolved to undefined');return!n&&je.isString(o)&&je.isString(c)&&(o=o.toLowerCase(),c=c.toLowerCase()),oc?t?-1:1:0})),s})),t.string=function(e){return kr.copySafeness(e,e)},t.striptags=function(e,t){var r=o((e=n(e,"")).replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi,"")),i="";return i=t?r.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,"\n").replace(/\n\n\n+/g,"\n\n"):r.replace(/\s+/gi," "),kr.copySafeness(e,i)},t.title=function(e){var t=(e=n(e,"")).split(" ").map((function(e){return i(e)}));return kr.copySafeness(e,t.join(" "))},t.trim=o,t.truncate=function(e,t,r,i){var s=e;if(t=t||255,(e=n(e,"")).length<=t)return e;if(r)e=e.substring(0,t);else{var a=e.lastIndexOf(" ",t);-1===a&&(a=t),e=e.substring(0,a)}return e+=null!=i?i:"...",kr.copySafeness(s,e)},t.upper=function(e){return(e=n(e,"")).toUpperCase()},t.urlencode=function(e){var t=encodeURIComponent;return je.isString(e)?t(e):(je.isArray(e)?e:je._entries(e)).map((function(e){var n=e[0],r=e[1];return t(n)+"="+t(r)})).join("&")};var c=/^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/,l=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i,h=/^https?:\/\/.*$/,u=/^www\./,p=/\.(?:org|net|com)(?:\:|\/|$)/;t.urlize=function(e,t,n){r(t)&&(t=1/0);var i=!0===n?' rel="nofollow"':"";return e.split(/(\s+)/).filter((function(e){return e&&e.length})).map((function(e){var n=e.match(c),r=n?n[1]:e,s=r.substr(0,t);return h.test(r)?'"+s+"":u.test(r)?'"+s+"":l.test(r)?''+r+"":p.test(r)?'"+s+"":e})).join("")},t.wordcount=function(e){var t=(e=n(e,""))?e.match(/\w+/g):null;return t?t.length:null},t.float=function(e,t){var n=parseFloat(e);return r(n)?t:n};var f=kr.makeMacro(["value","default","base"],[],(function(e,t,n){void 0===n&&(n=10);var i=parseInt(e,n);return r(i)?t:i}));t.int=f,t.d=t.default,t.e=t.escape})),Br={};function Fr(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var Ur=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,Hr=function(e){return Ur.exec(e).slice(1)};function Gr(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return(t?"/":"")+(e=Fr(jr(e.split("/"),(function(e){return!!e})),!t).join("/"))||"."}function Yr(e){var t=qr(e),n="/"===Vr(e,-1);return(e=Fr(jr(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function qr(e){return"/"===e.charAt(0)}var Kr={extname:function(e){return Hr(e)[3]},basename:function(e,t){var n=Hr(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},dirname:function(e){var t=Hr(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},sep:"/",delimiter:":",relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Gr(e).substr(1),t=Gr(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),s=Math.min(r.length,i.length),a=s,o=0;o=t},t.greaterthan=function(e,t){return e>t},t.gt=t.greaterthan,t.le=function(e,t){return e<=t},t.lessthan=function(e,t){return e=e.length&&(t=0),this.current=e[t],this.current}}}ni.callable,ni.defined,ni.divisibleby,ni.escaped,ni.equalto,ni.eq,ni.sameas,ni.even,ni.falsy,ni.ge,ni.greaterthan,ni.gt,ni.le,ni.lessthan,ni.lt,ni.lower,ni.ne,ni.number,ni.odd,ni.string,ni.truthy,ni.undefined,ni.upper,ni.iterable,ni.mapping;var ii=function(){return{range:function(e,t,n){void 0===t?(t=e,e=0,n=1):n||(n=1);var r=[];if(n>0)for(var i=e;it;s+=n)r.push(s);return r},cycler:function(){return ri(Array.prototype.slice.call(arguments))},joiner:function(e){return function(e){e=e||",";var t=!0;return function(){var n=t?"":e;return t=!1,n}}(e)}}};function si(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ai(e,t)}function ai(e,t){return ai=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},ai(e,t)}var oi=ti.FileSystemLoader,ci=ti.WebLoader,li=ti.PrecompiledLoader,hi=en.Obj,ui=en.EmitterObj,pi=kr.handleError,fi=kr.Frame;function di(e,t,n){Gt((function(){e(t,n)}))}var Ei={type:"code",obj:{root:function(e,t,n,r,i){try{i(null,"")}catch(e){i(pi(e,null,null))}}}},mi=function(e){function t(){return e.apply(this,arguments)||this}si(t,e);var n=t.prototype;return n.init=function(e,t){var n=this;t=this.opts=t||{},this.opts.dev=!!t.dev,this.opts.autoescape=null==t.autoescape||t.autoescape,this.opts.throwOnUndefined=!!t.throwOnUndefined,this.opts.trimBlocks=!!t.trimBlocks,this.opts.lstripBlocks=!!t.lstripBlocks,this.loaders=[],e?this.loaders=je.isArray(e)?e:[e]:oi?this.loaders=[new oi("views")]:ci&&(this.loaders=[new ci("/views")]),"undefined"!=typeof window&&window.jinja2Precompiled&&this.loaders.unshift(new li(window.jinja2Precompiled)),this._initLoaders(),this.globals=ii(),this.filters={},this.tests={},this.asyncFilters=[],this.extensions={},this.extensionsList=[],je._entries(wr).forEach((function(e){var t=e[0],r=e[1];return n.addFilter(t,r)})),je._entries(ni).forEach((function(e){var t=e[0],r=e[1];return n.addTest(t,r)}))},n._initLoaders=function(){var e=this;this.loaders.forEach((function(t){t.cache={},"function"==typeof t.on&&(t.on("update",(function(n,r){t.cache[n]=null,e.emit("update",n,r,t)})),t.on("load",(function(n,r){e.emit("load",n,r,t)})))}))},n.invalidateCache=function(){this.loaders.forEach((function(e){e.cache={}}))},n.addExtension=function(e,t){return t.__name=e,this.extensions[e]=t,this.extensionsList.push(t),this},n.removeExtension=function(e){var t=this.getExtension(e);t&&(this.extensionsList=je.without(this.extensionsList,t),delete this.extensions[e])},n.getExtension=function(e){return this.extensions[e]},n.hasExtension=function(e){return!!this.extensions[e]},n.addGlobal=function(e,t){return this.globals[e]=t,this},n.getGlobal=function(e){if(void 0===this.globals[e])throw new Error("global not found: "+e);return this.globals[e]},n.addFilter=function(e,t,n){var r=t;return n&&this.asyncFilters.push(e),this.filters[e]=r,this},n.getFilter=function(e){if(!this.filters[e])throw new Error("filter not found: "+e);return this.filters[e]},n.addTest=function(e,t){return this.tests[e]=t,this},n.getTest=function(e){if(!this.tests[e])throw new Error("test not found: "+e);return this.tests[e]},n.resolveTemplate=function(e,t,n){return!(!e.isRelative||!t)&&e.isRelative(n)&&e.resolve?e.resolve(t,n):n},n.getTemplate=function(e,t,n,r,i){var s,a=this,o=this,c=null;if(e&&e.raw&&(e=e.raw),je.isFunction(n)&&(i=n,n=null,t=t||!1),je.isFunction(t)&&(i=t,t=!1),e instanceof _i)c=e;else{if("string"!=typeof e)throw new Error("template names must be a string: "+e);for(var l=0;le.length-3)return!1;var n=e.charCodeAt(t+1);return(n>=Pi.LowerA&&n<=Pi.LowerZ||n>=Pi.UpperA&&n<=Pi.UpperZ||n===Pi.Exclamation)&&e.includes(">",t+2)}!function(e){e[e.LowerA=97]="LowerA",e[e.LowerZ=122]="LowerZ",e[e.UpperA=65]="UpperA",e[e.UpperZ=90]="UpperZ",e[e.Exclamation=33]="Exclamation"}(Pi||(Pi={}));var Hi=Object.prototype.hasOwnProperty,Gi=/\s+/,Yi={null:null,true:!0,false:!1},qi=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,Ki=/^{[^]*}$|^\[[^]*]$/;function ji(e,t,n){var r;if(e&&I(e))return null!==(r=e.attribs)&&void 0!==r||(e.attribs={}),t?Hi.call(e.attribs,t)?!n&&qi.test(t)?t:e.attribs[t]:"option"===e.name&&"value"===t?Li(e.children):"input"!==e.name||"radio"!==e.attribs.type&&"checkbox"!==e.attribs.type||"value"!==t?void 0:"on":e.attribs}function Vi(e,t,n){null===n?zi(e,t):e.attribs[t]="".concat(n)}function Wi(e,t,n){return t in e?e[t]:!n&&qi.test(t)?void 0!==ji(e,t,!1):ji(e,t,n)}function Qi(e,t,n,r){t in e?e[t]=n:Vi(e,t,!r&&qi.test(t)?n?"":null:"".concat(n))}function Xi(e,t,n){var r,i=e;null!==(r=i.data)&&void 0!==r||(i.data={}),"object"==typeof t?Object.assign(i.data,t):"string"==typeof t&&void 0!==n&&(i.data[t]=n)}function $i(e,t){var n,r,i,s;null==t?r=(n=Object.keys(e.attribs).filter((function(e){return e.startsWith("data-")}))).map((function(e){return e.slice("data-".length).replace(/[_.-](\w|$)/g,(function(e,t){return t.toUpperCase()}))})):(n=["data-"+(s=t,s.replace(/[A-Z]/g,"-$&").toLowerCase())],r=[t]);for(var a=0;a1?this:ji(this[0],e,this.options.xmlMode)},prop:function(e,t){var n,r=this;if("string"==typeof e&&void 0===t){var i=this[0];if(!i||!I(i))return;switch(e){case"style":var s=this.css(),a=Object.keys(s);return a.forEach((function(e,t){s[t]=e})),s.length=a.length,s;case"tagName":case"nodeName":return i.name.toUpperCase();case"href":case"src":var o=null===(n=i.attribs)||void 0===n?void 0:n[e];return"undefined"==typeof URL||("href"!==e||"a"!==i.tagName&&"link"!==i.name)&&("src"!==e||"img"!==i.tagName&&"iframe"!==i.tagName&&"audio"!==i.tagName&&"video"!==i.tagName&&"source"!==i.tagName)||void 0===o||!this.options.baseURI?o:new URL(o,this.options.baseURI).href;case"innerText":return J(i);case"textContent":return z(i);case"outerHTML":return this.clone().wrap("").parent().html();case"innerHTML":return this.html();default:return Wi(i,e,this.options.xmlMode)}}if("object"==typeof e||void 0!==t){if("function"==typeof t){if("object"==typeof e)throw new Error("Bad combination of arguments.");return Bi(this,(function(n,i){I(n)&&Qi(n,e,t.call(n,i,Wi(n,e,r.options.xmlMode)),r.options.xmlMode)}))}return Bi(this,(function(n){I(n)&&("object"==typeof e?Object.keys(e).forEach((function(t){var i=e[t];Qi(n,t,i,r.options.xmlMode)})):Qi(n,e,t,r.options.xmlMode))}))}},data:function(e,t){var n,r=this[0];if(r&&I(r)){var i=r;return null!==(n=i.data)&&void 0!==n||(i.data={}),e?"object"==typeof e||void 0!==t?(Bi(this,(function(n){I(n)&&("object"==typeof e?Xi(n,e):Xi(n,e,t))})),this):Hi.call(i.data,e)?i.data[e]:$i(i,e):$i(i)}},val:function(e){var t=0===arguments.length,n=this[0];if(!n||!I(n))return t?void 0:this;switch(n.name){case"textarea":return this.text(e);case"select":var r=this.find("option:selected");if(!t){if(null==this.attr("multiple")&&"object"==typeof e)return this;this.find("option").removeAttr("selected");for(var i="object"!=typeof e?[e]:e,s=0;s-1;){var i=r+e.length;if((0===r||Gi.test(n[r-1]))&&(i===n.length||Gi.test(n[i])))return!0}return!1}))},addClass:function e(t){if("function"==typeof t)return Bi(this,(function(n,r){if(I(n)){var i=n.attribs.class||"";e.call([n],t.call(n,r,i))}}));if(!t||"string"!=typeof t)return this;for(var n=t.split(Gi),r=this.length,i=0;i=0&&(t.splice(o,1),s=!0,a--)}s&&(e.attribs.class=t.join(" "))}}))},toggleClass:function e(t,n){if("function"==typeof t)return Bi(this,(function(r,i){I(r)&&e.call([r],t.call(r,i,r.attribs.class||"",n),n)}));if(!t||"string"!=typeof t)return this;for(var r=t.split(Gi),i=r.length,s="boolean"==typeof n?n?1:-1:0,a=this.length,o=0;o=0&&u<0?l.push(r[h]):s<=0&&u>=0&&l.splice(u,1)}c.attribs.class=l.join(" ")}}return this}});!function(e){e.Attribute="attribute",e.Pseudo="pseudo",e.PseudoElement="pseudo-element",e.Tag="tag",e.Universal="universal",e.Adjacent="adjacent",e.Child="child",e.Descendant="descendant",e.Parent="parent",e.Sibling="sibling",e.ColumnCombinator="column-combinator"}(Zi||(Zi={})),function(e){e.Any="any",e.Element="element",e.End="end",e.Equals="equals",e.Exists="exists",e.Hyphen="hyphen",e.Not="not",e.Start="start"}(es||(es={}));const ns=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,rs=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,is=new Map([[126,es.Element],[94,es.Start],[36,es.End],[42,es.Any],[33,es.Not],[124,es.Hyphen]]),ss=new Set(["has","not","matches","is","where","host","host-context"]);function as(e){switch(e.type){case Zi.Adjacent:case Zi.Child:case Zi.Descendant:case Zi.Parent:case Zi.Sibling:case Zi.ColumnCombinator:return!0;default:return!1}}const os=new Set(["contains","icontains"]);function cs(e,t,n){const r=parseInt(t,16)-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)}function ls(e){return e.replace(rs,cs)}function hs(e){return 39===e||34===e}function us(e){return 32===e||9===e||10===e||12===e||13===e}function ps(e){const t=[],n=fs(t,`${e}`,0);if(n0&&n0&&as(r[r.length-1]))throw new Error("Did not expect successive traversals.")}function l(e){r.length>0&&r[r.length-1].type===Zi.Descendant?r[r.length-1].type=e:(c(),r.push({type:e}))}function h(e,t){r.push({type:Zi.Attribute,name:e,action:t,value:i(1),namespace:null,ignoreCase:"quirks"})}function u(){if(r.length&&r[r.length-1].type===Zi.Descendant&&r.pop(),0===r.length)throw new Error("Empty sub-selector");e.push(r)}if(s(0),t.length===n)return n;e:for(;n=0&&r>=1)):e.type===Zi.Pseudo&&(e.data?"has"===e.name||"contains"===e.name?r=0:Array.isArray(e.data)?(r=Math.min(...e.data.map((e=>Math.min(...e.map(gs))))),r<0&&(r=0)):r=2:r=3),r}const Ns=/[-[\]{}()*+?.,\\^$|#\s]/g;function Cs(e){return e.replace(Ns,"\\$&")}const Is=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function Ss(e,t){return"boolean"==typeof e.ignoreCase?e.ignoreCase:"quirks"===e.ignoreCase?!!t.quirksMode:!t.xmlMode&&Is.has(e.name)}const bs={equals(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;return Ss(t,n)?(s=s.toLowerCase(),t=>{const n=r.getAttributeValue(t,i);return null!=n&&n.length===s.length&&n.toLowerCase()===s&&e(t)}):t=>r.getAttributeValue(t,i)===s&&e(t)},hyphen(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;const a=s.length;return Ss(t,n)?(s=s.toLowerCase(),function(t){const n=r.getAttributeValue(t,i);return null!=n&&(n.length===a||"-"===n.charAt(a))&&n.substr(0,a).toLowerCase()===s&&e(t)}):function(t){const n=r.getAttributeValue(t,i);return null!=n&&(n.length===a||"-"===n.charAt(a))&&n.substr(0,a)===s&&e(t)}},element(e,t,n){const{adapter:r}=n,{name:i,value:s}=t;if(/\s/.test(s))return ds.falseFunc;const a=new RegExp(`(?:^|\\s)${Cs(s)}(?:$|\\s)`,Ss(t,n)?"i":"");return function(t){const n=r.getAttributeValue(t,i);return null!=n&&n.length>=s.length&&a.test(n)&&e(t)}},exists:(e,{name:t},{adapter:n})=>r=>n.hasAttrib(r,t)&&e(r),start(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;const a=s.length;return 0===a?ds.falseFunc:Ss(t,n)?(s=s.toLowerCase(),t=>{const n=r.getAttributeValue(t,i);return null!=n&&n.length>=a&&n.substr(0,a).toLowerCase()===s&&e(t)}):t=>{var n;return!!(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.startsWith(s))&&e(t)}},end(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;const a=-s.length;return 0===a?ds.falseFunc:Ss(t,n)?(s=s.toLowerCase(),t=>{var n;return(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.substr(a).toLowerCase())===s&&e(t)}):t=>{var n;return!!(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.endsWith(s))&&e(t)}},any(e,t,n){const{adapter:r}=n,{name:i,value:s}=t;if(""===s)return ds.falseFunc;if(Ss(t,n)){const t=new RegExp(Cs(s),"i");return function(n){const a=r.getAttributeValue(n,i);return null!=a&&a.length>=s.length&&t.test(a)&&e(n)}}return t=>{var n;return!!(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.includes(s))&&e(t)}},not(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;return""===s?t=>!!r.getAttributeValue(t,i)&&e(t):Ss(t,n)?(s=s.toLowerCase(),t=>{const n=r.getAttributeValue(t,i);return(null==n||n.length!==s.length||n.toLowerCase()!==s)&&e(t)}):t=>r.getAttributeValue(t,i)!==s&&e(t)}};var Os=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;var n=new Set([9,10,12,13,32]),r="0".charCodeAt(0),i="9".charCodeAt(0);t.parse=function(e){if("even"===(e=e.trim().toLowerCase()))return[2,0];if("odd"===e)return[2,1];var t=0,s=0,a=c(),o=l();if(t=r&&e.charCodeAt(t)<=i;)s=10*s+(e.charCodeAt(t)-r),t++;return t===n?null:s}function h(){for(;t=n};var r=Math.abs(t),i=(n%r+r)%r;return t>1?function(e){return e>=n&&e%r===i}:function(e){return e<=n&&e%r===i}}}));qe(ys),ys.compile;var Ls=Os,ks=ys,vs=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.compile=t.parse=void 0,Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return Ls.parse}}),Object.defineProperty(t,"compile",{enumerable:!0,get:function(){return ks.compile}}),t.default=function(e){return(0,ks.compile)((0,Ls.parse)(e))}})),Ds=qe(vs);function Rs(e,t){return n=>{const r=t.getParent(n);return null!=r&&t.isTag(r)&&e(n)}}vs.compile,vs.parse;const Ms={contains:(e,t,{adapter:n})=>function(r){return e(r)&&n.getText(r).includes(t)},icontains(e,t,{adapter:n}){const r=t.toLowerCase();return function(t){return e(t)&&n.getText(t).toLowerCase().includes(r)}},"nth-child"(e,t,{adapter:n,equals:r}){const i=Ds(t);return i===ds.falseFunc?ds.falseFunc:i===ds.trueFunc?Rs(e,n):function(t){const s=n.getSiblings(t);let a=0;for(let e=0;e=0&&!r(t,s[e]);e--)n.isTag(s[e])&&a++;return i(a)&&e(t)}},"nth-of-type"(e,t,{adapter:n,equals:r}){const i=Ds(t);return i===ds.falseFunc?ds.falseFunc:i===ds.trueFunc?Rs(e,n):function(t){const s=n.getSiblings(t);let a=0;for(let e=0;e=0;e--){const i=s[e];if(r(t,i))break;n.isTag(i)&&n.getName(i)===n.getName(t)&&a++}return i(a)&&e(t)}},root:(e,t,{adapter:n})=>t=>{const r=n.getParent(t);return(null==r||!n.isTag(r))&&e(t)},scope(e,t,n,r){const{equals:i}=n;return r&&0!==r.length?1===r.length?t=>i(r[0],t)&&e(t):t=>r.includes(t)&&e(t):Ms.root(e,t,n)},hover:Ps("isHovered"),visited:Ps("isVisited"),active:Ps("isActive")};function Ps(e){return function(t,n,{adapter:r}){const i=r[e];return"function"!=typeof i?ds.falseFunc:function(e){return i(e)&&t(e)}}}const xs={empty:(e,{adapter:t})=>!t.getChildren(e).some((e=>t.isTag(e)||""!==t.getText(e))),"first-child"(e,{adapter:t,equals:n}){if(t.prevElementSibling)return null==t.prevElementSibling(e);const r=t.getSiblings(e).find((e=>t.isTag(e)));return null!=r&&n(e,r)},"last-child"(e,{adapter:t,equals:n}){const r=t.getSiblings(e);for(let i=r.length-1;i>=0;i--){if(n(e,r[i]))return!0;if(t.isTag(r[i]))break}return!1},"first-of-type"(e,{adapter:t,equals:n}){const r=t.getSiblings(e),i=t.getName(e);for(let s=0;s=0;s--){const a=r[s];if(n(e,a))return!0;if(t.isTag(a)&&t.getName(a)===i)break}return!1},"only-of-type"(e,{adapter:t,equals:n}){const r=t.getName(e);return t.getSiblings(e).every((i=>n(e,i)||!t.isTag(i)||t.getName(i)!==r))},"only-child":(e,{adapter:t,equals:n})=>t.getSiblings(e).every((r=>n(e,r)||!t.isTag(r)))};function ws(e,t,n,r){if(null===n){if(e.length>r)throw new Error(`Pseudo-class :${t} requires an argument`)}else if(e.length===r)throw new Error(`Pseudo-class :${t} doesn't have any arguments`)}const Bs={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )",enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"},Fs={};function Us(e,t){const n=t.getSiblings(e);if(n.length<=1)return[];const r=n.indexOf(e);return r<0||r===n.length-1?[]:n.slice(r+1).filter(t.isTag)}function Hs(e){return{xmlMode:!!e.xmlMode,lowerCaseAttributeNames:!!e.lowerCaseAttributeNames,lowerCaseTags:!!e.lowerCaseTags,quirksMode:!!e.quirksMode,cacheResults:!!e.cacheResults,pseudos:e.pseudos,adapter:e.adapter,equals:e.equals}}const Gs=(e,t,n,r,i)=>{const s=i(t,Hs(n),r);return s===ds.trueFunc?e:s===ds.falseFunc?ds.falseFunc:t=>s(t)&&e(t)},Ys={is:Gs,matches:Gs,where:Gs,not(e,t,n,r,i){const s=i(t,Hs(n),r);return s===ds.falseFunc?e:s===ds.trueFunc?ds.falseFunc:t=>!s(t)&&e(t)},has(e,t,n,r,i){const{adapter:s}=n,a=Hs(n);a.relativeSelector=!0;const o=t.some((e=>e.some(Ts)))?[Fs]:void 0,c=i(t,a,o);if(c===ds.falseFunc)return ds.falseFunc;const l=function(e,t){return e===ds.falseFunc?ds.falseFunc:n=>t.isTag(n)&&e(n)}(c,s);if(o&&c!==ds.trueFunc){const{shouldTestNextSiblings:t=!1}=c;return n=>{if(!e(n))return!1;o[0]=n;const r=s.getChildren(n),i=t?[...r,...Us(n,s)]:r;return s.existsOne(l,i)}}return t=>e(t)&&s.existsOne(l,s.getChildren(t))}};function qs(e,t){const n=t.getParent(e);return n&&t.isTag(n)?n:null}function Ks(e,t,n,r,i){const{adapter:s,equals:a}=n;switch(t.type){case Zi.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case Zi.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case Zi.Attribute:if(null!=t.namespace)throw new Error("Namespaced attributes are not yet supported by css-select");return n.xmlMode&&!n.lowerCaseAttributeNames||(t.name=t.name.toLowerCase()),bs[t.action](e,t,n);case Zi.Pseudo:return function(e,t,n,r,i){var s;const{name:a,data:o}=t;if(Array.isArray(o)){if(!(a in Ys))throw new Error(`Unknown pseudo-class :${a}(${o})`);return Ys[a](e,o,n,r,i)}const c=null===(s=n.pseudos)||void 0===s?void 0:s[a],l="string"==typeof c?c:Bs[a];if("string"==typeof l){if(null!=o)throw new Error(`Pseudo ${a} doesn't have any arguments`);const t=ps(l);return Ys.is(e,t,n,r,i)}if("function"==typeof c)return ws(c,a,o,1),t=>c(t,o)&&e(t);if(a in Ms)return Ms[a](e,o,n,r);if(a in xs){const t=xs[a];return ws(t,a,o,2),r=>t(r,n,o)&&e(r)}throw new Error(`Unknown pseudo-class :${a}`)}(e,t,n,r,i);case Zi.Tag:{if(null!=t.namespace)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:r}=t;return n.xmlMode&&!n.lowerCaseTags||(r=r.toLowerCase()),function(t){return s.getName(t)===r&&e(t)}}case Zi.Descendant:{if(!1===n.cacheResults||"undefined"==typeof WeakSet)return function(t){let n=t;for(;n=qs(n,s);)if(e(n))return!0;return!1};const t=new WeakSet;return function(n){let r=n;for(;r=qs(r,s);)if(!t.has(r)){if(s.isTag(r)&&e(r))return!0;t.add(r)}return!1}}case"_flexibleDescendant":return function(t){let n=t;do{if(e(n))return!0}while(n=qs(n,s));return!1};case Zi.Parent:return function(t){return s.getChildren(t).some((t=>s.isTag(t)&&e(t)))};case Zi.Child:return function(t){const n=s.getParent(t);return null!=n&&s.isTag(n)&&e(n)};case Zi.Sibling:return function(t){const n=s.getSiblings(t);for(let r=0;re.some(js))))}const Vs={type:Zi.Descendant},Ws={type:"_flexibleDescendant"},Qs={type:Zi.Pseudo,name:"scope",data:null};function Xs(e,t,n){var r;e.forEach(As),n=null!==(r=t.context)&&void 0!==r?r:n;const i=Array.isArray(n),s=n&&(Array.isArray(n)?n:[n]);if(!1!==t.relativeSelector)!function(e,{adapter:t},n){const r=!!(null==n?void 0:n.every((e=>{const n=t.isTag(e)&&t.getParent(e);return e===Fs||n&&t.isTag(n)})));for(const t of e){if(t.length>0&&Ts(t[0])&&t[0].type!==Zi.Descendant);else{if(!r||t.some(js))continue;t.unshift(Vs)}t.unshift(Qs)}}(e,t,s);else if(e.some((e=>e.length>0&&Ts(e[0]))))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let a=!1;const o=e.map((e=>{if(e.length>=2){const[t,n]=e;t.type!==Zi.Pseudo||"scope"!==t.name||(i&&n.type===Zi.Descendant?e[1]=Ws:n.type!==Zi.Adjacent&&n.type!==Zi.Sibling||(a=!0))}return function(e,t,n){var r;return e.reduce(((e,r)=>e===ds.falseFunc?ds.falseFunc:Ks(e,r,t,n,Xs)),null!==(r=t.rootFunc)&&void 0!==r?r:ds.trueFunc)}(e,t,s)})).reduce($s,ds.falseFunc);return o.shouldTestNextSiblings=a,o}function $s(e,t){return t===ds.falseFunc||e===ds.trueFunc?e:e===ds.falseFunc||t===ds.trueFunc?t:function(n){return e(n)||t(n)}}const zs=(e,t)=>e===t,Js={adapter:Se,equals:zs};const Zs=(ea=Xs,function(e,t,n){const r=function(e){var t,n,r,i;const s=null!=e?e:Js;return null!==(t=s.adapter)&&void 0!==t||(s.adapter=Se),null!==(n=s.equals)&&void 0!==n||(s.equals=null!==(i=null===(r=s.adapter)||void 0===r?void 0:r.equals)&&void 0!==i?i:zs),s}(t);return ea(e,r,n)});var ea;function ta(e,t,n=!1){return n&&(e=function(e,t){const n=Array.isArray(e)?e.slice(0):[e],r=n.length;for(let e=0;ee.some(ra))))}function ia(e){const t=[],n=[];for(const r of e)r.some(ra)?t.push(r):n.push(r);return[n,t]}const sa={type:Zi.Universal,namespace:null},aa={type:Zi.Pseudo,name:"scope",data:null};function oa(e,t,n={}){return ca([e],t,n)}function ca(e,t,n={}){if("function"==typeof t)return e.some(t);const[r,i]=ia(ps(t));return r.length>0&&e.some(Zs(r,n))||i.some((t=>ua(t,e,n).length>0))}function la(e,t,n={}){return ha(ps(e),t,n)}function ha(e,t,n){if(0===t.length)return[];const[r,i]=ia(e);let s;if(r.length){const e=Ea(t,r,n);if(0===i.length)return e;e.length&&(s=new Set(e))}for(let e=0;eI(e)&&!s.has(e))):t;if(0===a.length)break;const o=ua(r,t,n);if(o.length)if(s)o.forEach((e=>s.add(e)));else{if(e===i.length-1)return o;s=new Set(o)}}return void 0!==s?s.size===t.length?t:t.filter((e=>s.has(e))):[]}function ua(e,t,n){var r;if(e.some(as)){const i=null!==(r=n.root)&&void 0!==r?r:function(e){for(;e.parent;)e=e.parent;return e}(t[0]),s={...n,context:t,relativeSelector:!1};return e.push(aa),pa(i,e,s,!0,t.length)}return pa(t,e,n,!1,t.length)}function pa(e,t,n,r,i){const s=t.findIndex(ra),a=t.slice(0,s),o=t[s],c=t.length-1===s?i:1/0,l=function(e,t,n){const r=null!=t?parseInt(t,10):NaN;switch(e){case"first":return 1;case"nth":case"eq":return isFinite(r)?r>=0?r+1:1/0:0;case"lt":return isFinite(r)?r>=0?Math.min(r,n):1/0:0;case"gt":return isFinite(r)?1/0:0;case"odd":return 2*n;case"even":return 2*n-1;case"last":case"not":return 1/0}}(o.name,o.data,c);if(0===l)return[];const h=(0!==a.length||Array.isArray(e)?0===a.length?(Array.isArray(e)?e:[e]).filter(I):r||a.some(as)?fa(e,[a],n,l):Ea(e,[a],n):Z(e).filter(I)).slice(0,l);let u=function(e,t,n,r){const i="string"==typeof n?parseInt(n,10):NaN;switch(e){case"first":case"lt":return t;case"last":return t.length>0?[t[t.length-1]]:t;case"nth":case"eq":return isFinite(i)&&Math.abs(i)t%2==0));case"odd":return t.filter(((e,t)=>t%2==1));case"not":{const e=new Set(ha(n,t,r));return t.filter((t=>!e.has(t)))}}}(o.name,h,o.data,n);if(0===u.length||t.length===s+1)return u;const p=t.slice(s+1),f=p.some(as);if(f){if(as(p[0])){const{type:e}=p[0];e!==Zi.Sibling&&e!==Zi.Adjacent||(u=ta(u,Se,!0)),p.unshift(sa)}n={...n,relativeSelector:!1,rootFunc:e=>u.includes(e)}}else n.rootFunc&&n.rootFunc!==Es&&(n={...n,rootFunc:Es});return p.some(ra)?pa(u,p,n,!1,i):f?fa(u,[p],n,i):Ea(u,[p],n)}function fa(e,t,n,r){return da(e,Zs(t,n,e),r)}function da(e,t,n=1/0){return ae((e=>I(e)&&t(e)),ta(e,Se,t.shouldTestNextSiblings),!0,n)}function Ea(e,t,n){const r=(Array.isArray(e)?e:[e]).filter(I);if(0===r.length)return r;const i=Zs(t,n);return i===Es?r:r.filter(i)}var ma=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,s=t.length;i1&&s.length>1?n.reduce((function(e,t){return t(e)}),s):s)}}}var Aa=_a((function(e,t){for(var n,r=[],i=0;ipa(t,e,n,!0,r)));return i.length&&a.push(fa(t,i,n,r)),0===a.length?[]:1===a.length?a[0]:Ee(a.reduce(((e,t)=>[...e,...t])))}(e,i,s))},parent:Ia,parents:Sa,parentsUntil:ba,closest:function(e){var t,n=[];if(!e)return this._make(n);var r={xmlMode:this.options.xmlMode,root:null===(t=this._root)||void 0===t?void 0:t[0]},i="string"==typeof e?function(t){return oa(t,e,r)}:Pa(e);return Bi(this,(function(e){for(;e&&I(e);){if(i(e,0)){n.includes(e)||n.push(e);break}e=e.parent}})),this._make(n)},next:Oa,nextAll:ya,nextUntil:La,prev:ka,prevAll:va,prevUntil:Da,siblings:Ra,children:Ma,contents:function(){var e=this.toArray().reduce((function(e,t){return k(t)?e.concat(t.children):e}),[]);return this._make(e)},each:function(e){for(var t=0,n=this.length;t0})},first:function(){return this.length>1?this._make(this[0]):this},last:function(){return this.length>0?this._make(this[this.length-1]):this},eq:function(e){var t;return 0===(e=+e)&&this.length<=1?this:(e<0&&(e=this.length+e),this._make(null!==(t=this[e])&&void 0!==t?t:[]))},get:function(e){return null==e?this.toArray():this[e<0?this.length+e:e]},toArray:function(){return Array.prototype.slice.call(this)},index:function(e){var t,n;return null==e?(t=this.parent().children(),n=this[0]):"string"==typeof e?(t=this._make(e),n=this[0]):(t=this,n=wi(e)?e[0]:e),Array.prototype.indexOf.call(t,n)},slice:function(e,t){return this._make(Array.prototype.slice.call(this,e,t))},end:function(){var e;return null!==(e=this.prevObject)&&void 0!==e?e:this._make([])},add:function(e,t){var n=this._make(e,t),r=Ee(ma(ma([],this.get(),!0),n.get(),!0));return this._make(r)},addBack:function(e){return this.prevObject?this.add(e?this.prevObject.filter(e):this.prevObject):this}});function Ba(e,t){var n=Array.isArray(e)?e:[e];t?t.children=n:t=null;for(var r=0;r=e.length?null:e[t+n],h=0;h-1&&(p.children.splice(f,1),i===p&&t>f&&o[0]--)}u.parent=i,u.prev&&(u.prev.next=null!==(s=u.next)&&void 0!==s?s:null),u.next&&(u.next.prev=null!==(a=u.prev)&&void 0!==a?a:null),u.prev=0===h?c:r[h-1],u.next=h===r.length-1?l:r[h+1]}return c&&(c.next=r[0]),l&&(l.prev=r[r.length-1]),e.splice.apply(e,o)}var Ga=Ua((function(e,t,n){Ha(t,t.length,0,e,n)})),Ya=Ua((function(e,t,n){Ha(t,0,0,e,n)}));function qa(e){return function(t){for(var n=this.length-1,r=this.parents().last(),i=0;i0&&void 0!==t&&(n[t]+=";".concat(o))}else n[t=s.slice(0,a).trim()]=s.slice(a+1).trim()}return n}(e.attribs.style);if("string"==typeof t)return n[t];if(Array.isArray(t)){var r={};return t.forEach((function(e){null!=n[e]&&(r[e]=n[e])})),r}return n}}var Xa=Object.freeze({__proto__:null,css:function(e,t){return null!=e&&null!=t||"object"==typeof e&&!Array.isArray(e)?Bi(this,(function(n,r){I(n)&&Wa(n,e,t,r)})):0!==this.length?Qa(this[0],e):void 0}}),$a=/%20/g,za=/\r?\n/g;var Ja=Object.freeze({__proto__:null,serialize:function(){var e=this.serializeArray().map((function(e){return"".concat(encodeURIComponent(e.name),"=").concat(encodeURIComponent(e.value))}));return e.join("&").replace($a,"+")},serializeArray:function(){var e=this;return this.map((function(t,n){var r=e._make(n);return I(n)&&"form"===n.name?r.find("input,select,textarea,keygen").toArray():r.filter("input,select,textarea,keygen").toArray()})).filter('[name!=""]:enabled:not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map((function(t,n){var r,i=e._make(n),s=i.attr("name"),a=null!==(r=i.val())&&void 0!==r?r:"";return Array.isArray(a)?a.map((function(e){return{name:s,value:e.replace(za,"\r\n")}})):{name:s,value:a.replace(za,"\r\n")}})).toArray()}}),Za=function(e,t,n){if(this.length=0,this.options=n,this._root=t,e){for(var r=0;r=55296&&e<=57343}function po(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159}function fo(e){return e>=64976&&e<=65007||ro.has(e)}var Eo;!function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(Eo=Eo||(Eo={}));class mo{constructor(e){this.handler=e,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(e){const{line:t,col:n,offset:r}=this;return{code:e,startLine:t,endLine:t,startCol:n,endCol:n,startOffset:r,endOffset:r}}_err(e){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(e)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.html.length-1){const t=this.html.charCodeAt(this.pos+1);if(function(e){return e>=56320&&e<=57343}(t))return this.pos++,this._addGap(),1024*(e-55296)+9216+t}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,io.EOF;return this._err(Eo.surrogateInInputStream),e}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(e,t){this.html.length>0?this.html+=e:this.html=e,this.endOfChunkHit=!1,this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(e,t){if(this.pos+e.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(t)return this.html.startsWith(e,this.pos);for(let t=0;t=this.html.length?(this.endOfChunkHit=!this.lastChunkWritten,io.EOF):this.html.charCodeAt(t)}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,io.EOF;let e=this.html.charCodeAt(this.pos);if(e===io.CARRIAGE_RETURN)return this.isEol=!0,this.skipNextNewLine=!0,io.LINE_FEED;if(e===io.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine))return this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance();this.skipNextNewLine=!1,uo(e)&&(e=this._processSurrogate(e));return null===this.handler.onParseError||e>31&&e<127||e===io.LINE_FEED||e===io.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e}_checkForProblematicCharacters(e){po(e)?this._err(Eo.controlCharacterInInputStream):fo(e)&&this._err(Eo.noncharacterInInputStream)}retreat(e){for(this.pos-=e;this.pos=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null}!function(e){e[e.CHARACTER=0]="CHARACTER",e[e.NULL_CHARACTER=1]="NULL_CHARACTER",e[e.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",e[e.START_TAG=3]="START_TAG",e[e.END_TAG=4]="END_TAG",e[e.COMMENT=5]="COMMENT",e[e.DOCTYPE=6]="DOCTYPE",e[e.EOF=7]="EOF",e[e.HIBERNATION=8]="HIBERNATION"}(To=To||(To={}));var Ao=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((function(e){return e.charCodeAt(0)})))}));qe(Ao);var go=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((function(e){return e.charCodeAt(0)})))}));qe(go);var No=Ke((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.replaceCodePoint=t.fromCodePoint=void 0;var r=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=r.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(n=String.fromCodePoint)&&void 0!==n?n:function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e)},t.replaceCodePoint=i,t.default=function(e){return(0,t.fromCodePoint)(i(e))}}));qe(No),No.replaceCodePoint,No.fromCodePoint;var Co=Ao,Io=go,So=No,bo=Ke((function(e,t){var n=Ge&&Ge.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXML=t.decodeHTMLStrict=t.decodeHTML=t.determineBranch=t.BinTrieFlags=t.fromCodePoint=t.replaceCodePoint=t.decodeCodePoint=t.xmlDecodeTree=t.htmlDecodeTree=void 0;var r=n(Co);t.htmlDecodeTree=r.default;var i=n(Io);t.xmlDecodeTree=i.default;var s=n(So);t.decodeCodePoint=s.default;var a,o,c=So;function l(e){return function(t,n){for(var r="",i=0,c=0;(c=t.indexOf("&",c))>=0;)if(r+=t.slice(i,c),i=c,c+=1,t.charCodeAt(c)!==a.NUM){for(var l=0,u=1,p=0,f=e[p];c>14)-1))break;p+=E}}if(0!==l)r+=1===(E=(e[l]&o.VALUE_LENGTH)>>14)?String.fromCharCode(e[l]&~o.VALUE_LENGTH):2===E?String.fromCharCode(e[l+1]):String.fromCharCode(e[l+1],e[l+2]),i=c-u+1}else{var m=c+1,T=10,_=t.charCodeAt(m);(_|a.To_LOWER_BIT)===a.LOWER_X&&(T=16,c+=1,m+=1);do{_=t.charCodeAt(++c)}while(_>=a.ZERO&&_<=a.NINE||16===T&&(_|a.To_LOWER_BIT)>=a.LOWER_A&&(_|a.To_LOWER_BIT)<=a.LOWER_F);if(m!==c){var A=t.substring(m,c),g=parseInt(A,T);if(t.charCodeAt(c)===a.SEMI)c+=1;else if(n)continue;r+=(0,s.default)(g),i=c}}return r+t.slice(i)}}function h(e,t,n,r){var i=(t&o.BRANCH_LENGTH)>>7,s=t&o.JUMP_TABLE;if(0===i)return 0!==s&&r===s?n:-1;if(s){var a=r-s;return a<0||a>=i?-1:e[n+a]-1}for(var c=n,l=c+i-1;c<=l;){var h=c+l>>>1,u=e[h];if(ur))return e[h+i];l=h-1}}return-1}Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return c.replaceCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return c.fromCodePoint}}),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.To_LOWER_BIT=32]="To_LOWER_BIT"}(a||(a={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(o=t.BinTrieFlags||(t.BinTrieFlags={})),t.determineBranch=h;var u=l(r.default),p=l(i.default);t.decodeHTML=function(e){return u(e,!1)},t.decodeHTMLStrict=function(e){return u(e,!0)},t.decodeXML=function(e){return p(e,!0)}}));qe(bo),bo.decodeXML,bo.decodeHTMLStrict,bo.decodeHTML;var Oo=bo.determineBranch,yo=bo.BinTrieFlags,Lo=bo.fromCodePoint,ko=bo.replaceCodePoint;bo.decodeCodePoint;var vo,Do,Ro,Mo,Po,xo=bo.xmlDecodeTree,wo=bo.htmlDecodeTree;!function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"}(vo=vo||(vo={})),function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"}(Do=Do||(Do={})),function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"}(Ro=Ro||(Ro={})),function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"}(Mo=Mo||(Mo={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SECTION=94]="SECTION",e[e.SELECT=95]="SELECT",e[e.SOURCE=96]="SOURCE",e[e.SMALL=97]="SMALL",e[e.SPAN=98]="SPAN",e[e.STRIKE=99]="STRIKE",e[e.STRONG=100]="STRONG",e[e.STYLE=101]="STYLE",e[e.SUB=102]="SUB",e[e.SUMMARY=103]="SUMMARY",e[e.SUP=104]="SUP",e[e.TABLE=105]="TABLE",e[e.TBODY=106]="TBODY",e[e.TEMPLATE=107]="TEMPLATE",e[e.TEXTAREA=108]="TEXTAREA",e[e.TFOOT=109]="TFOOT",e[e.TD=110]="TD",e[e.TH=111]="TH",e[e.THEAD=112]="THEAD",e[e.TITLE=113]="TITLE",e[e.TR=114]="TR",e[e.TRACK=115]="TRACK",e[e.TT=116]="TT",e[e.U=117]="U",e[e.UL=118]="UL",e[e.SVG=119]="SVG",e[e.VAR=120]="VAR",e[e.WBR=121]="WBR",e[e.XMP=122]="XMP"}(Po=Po||(Po={}));const Bo=new Map([[Mo.A,Po.A],[Mo.ADDRESS,Po.ADDRESS],[Mo.ANNOTATION_XML,Po.ANNOTATION_XML],[Mo.APPLET,Po.APPLET],[Mo.AREA,Po.AREA],[Mo.ARTICLE,Po.ARTICLE],[Mo.ASIDE,Po.ASIDE],[Mo.B,Po.B],[Mo.BASE,Po.BASE],[Mo.BASEFONT,Po.BASEFONT],[Mo.BGSOUND,Po.BGSOUND],[Mo.BIG,Po.BIG],[Mo.BLOCKQUOTE,Po.BLOCKQUOTE],[Mo.BODY,Po.BODY],[Mo.BR,Po.BR],[Mo.BUTTON,Po.BUTTON],[Mo.CAPTION,Po.CAPTION],[Mo.CENTER,Po.CENTER],[Mo.CODE,Po.CODE],[Mo.COL,Po.COL],[Mo.COLGROUP,Po.COLGROUP],[Mo.DD,Po.DD],[Mo.DESC,Po.DESC],[Mo.DETAILS,Po.DETAILS],[Mo.DIALOG,Po.DIALOG],[Mo.DIR,Po.DIR],[Mo.DIV,Po.DIV],[Mo.DL,Po.DL],[Mo.DT,Po.DT],[Mo.EM,Po.EM],[Mo.EMBED,Po.EMBED],[Mo.FIELDSET,Po.FIELDSET],[Mo.FIGCAPTION,Po.FIGCAPTION],[Mo.FIGURE,Po.FIGURE],[Mo.FONT,Po.FONT],[Mo.FOOTER,Po.FOOTER],[Mo.FOREIGN_OBJECT,Po.FOREIGN_OBJECT],[Mo.FORM,Po.FORM],[Mo.FRAME,Po.FRAME],[Mo.FRAMESET,Po.FRAMESET],[Mo.H1,Po.H1],[Mo.H2,Po.H2],[Mo.H3,Po.H3],[Mo.H4,Po.H4],[Mo.H5,Po.H5],[Mo.H6,Po.H6],[Mo.HEAD,Po.HEAD],[Mo.HEADER,Po.HEADER],[Mo.HGROUP,Po.HGROUP],[Mo.HR,Po.HR],[Mo.HTML,Po.HTML],[Mo.I,Po.I],[Mo.IMG,Po.IMG],[Mo.IMAGE,Po.IMAGE],[Mo.INPUT,Po.INPUT],[Mo.IFRAME,Po.IFRAME],[Mo.KEYGEN,Po.KEYGEN],[Mo.LABEL,Po.LABEL],[Mo.LI,Po.LI],[Mo.LINK,Po.LINK],[Mo.LISTING,Po.LISTING],[Mo.MAIN,Po.MAIN],[Mo.MALIGNMARK,Po.MALIGNMARK],[Mo.MARQUEE,Po.MARQUEE],[Mo.MATH,Po.MATH],[Mo.MENU,Po.MENU],[Mo.META,Po.META],[Mo.MGLYPH,Po.MGLYPH],[Mo.MI,Po.MI],[Mo.MO,Po.MO],[Mo.MN,Po.MN],[Mo.MS,Po.MS],[Mo.MTEXT,Po.MTEXT],[Mo.NAV,Po.NAV],[Mo.NOBR,Po.NOBR],[Mo.NOFRAMES,Po.NOFRAMES],[Mo.NOEMBED,Po.NOEMBED],[Mo.NOSCRIPT,Po.NOSCRIPT],[Mo.OBJECT,Po.OBJECT],[Mo.OL,Po.OL],[Mo.OPTGROUP,Po.OPTGROUP],[Mo.OPTION,Po.OPTION],[Mo.P,Po.P],[Mo.PARAM,Po.PARAM],[Mo.PLAINTEXT,Po.PLAINTEXT],[Mo.PRE,Po.PRE],[Mo.RB,Po.RB],[Mo.RP,Po.RP],[Mo.RT,Po.RT],[Mo.RTC,Po.RTC],[Mo.RUBY,Po.RUBY],[Mo.S,Po.S],[Mo.SCRIPT,Po.SCRIPT],[Mo.SECTION,Po.SECTION],[Mo.SELECT,Po.SELECT],[Mo.SOURCE,Po.SOURCE],[Mo.SMALL,Po.SMALL],[Mo.SPAN,Po.SPAN],[Mo.STRIKE,Po.STRIKE],[Mo.STRONG,Po.STRONG],[Mo.STYLE,Po.STYLE],[Mo.SUB,Po.SUB],[Mo.SUMMARY,Po.SUMMARY],[Mo.SUP,Po.SUP],[Mo.TABLE,Po.TABLE],[Mo.TBODY,Po.TBODY],[Mo.TEMPLATE,Po.TEMPLATE],[Mo.TEXTAREA,Po.TEXTAREA],[Mo.TFOOT,Po.TFOOT],[Mo.TD,Po.TD],[Mo.TH,Po.TH],[Mo.THEAD,Po.THEAD],[Mo.TITLE,Po.TITLE],[Mo.TR,Po.TR],[Mo.TRACK,Po.TRACK],[Mo.TT,Po.TT],[Mo.U,Po.U],[Mo.UL,Po.UL],[Mo.SVG,Po.SVG],[Mo.VAR,Po.VAR],[Mo.WBR,Po.WBR],[Mo.XMP,Po.XMP]]);function Fo(e){var t;return null!==(t=Bo.get(e))&&void 0!==t?t:Po.UNKNOWN}const Uo=Po,Ho={[vo.HTML]:new Set([Uo.ADDRESS,Uo.APPLET,Uo.AREA,Uo.ARTICLE,Uo.ASIDE,Uo.BASE,Uo.BASEFONT,Uo.BGSOUND,Uo.BLOCKQUOTE,Uo.BODY,Uo.BR,Uo.BUTTON,Uo.CAPTION,Uo.CENTER,Uo.COL,Uo.COLGROUP,Uo.DD,Uo.DETAILS,Uo.DIR,Uo.DIV,Uo.DL,Uo.DT,Uo.EMBED,Uo.FIELDSET,Uo.FIGCAPTION,Uo.FIGURE,Uo.FOOTER,Uo.FORM,Uo.FRAME,Uo.FRAMESET,Uo.H1,Uo.H2,Uo.H3,Uo.H4,Uo.H5,Uo.H6,Uo.HEAD,Uo.HEADER,Uo.HGROUP,Uo.HR,Uo.HTML,Uo.IFRAME,Uo.IMG,Uo.INPUT,Uo.LI,Uo.LINK,Uo.LISTING,Uo.MAIN,Uo.MARQUEE,Uo.MENU,Uo.META,Uo.NAV,Uo.NOEMBED,Uo.NOFRAMES,Uo.NOSCRIPT,Uo.OBJECT,Uo.OL,Uo.P,Uo.PARAM,Uo.PLAINTEXT,Uo.PRE,Uo.SCRIPT,Uo.SECTION,Uo.SELECT,Uo.SOURCE,Uo.STYLE,Uo.SUMMARY,Uo.TABLE,Uo.TBODY,Uo.TD,Uo.TEMPLATE,Uo.TEXTAREA,Uo.TFOOT,Uo.TH,Uo.THEAD,Uo.TITLE,Uo.TR,Uo.TRACK,Uo.UL,Uo.WBR,Uo.XMP]),[vo.MATHML]:new Set([Uo.MI,Uo.MO,Uo.MN,Uo.MS,Uo.MTEXT,Uo.ANNOTATION_XML]),[vo.SVG]:new Set([Uo.TITLE,Uo.FOREIGN_OBJECT,Uo.DESC]),[vo.XLINK]:new Set,[vo.XML]:new Set,[vo.XMLNS]:new Set};function Go(e){return e===Uo.H1||e===Uo.H2||e===Uo.H3||e===Uo.H4||e===Uo.H5||e===Uo.H6}const Yo=new Set([Mo.STYLE,Mo.SCRIPT,Mo.XMP,Mo.IFRAME,Mo.NOEMBED,Mo.NOFRAMES,Mo.PLAINTEXT]);const qo=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);var Ko;!function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.NAMED_CHARACTER_REFERENCE=72]="NAMED_CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=73]="AMBIGUOUS_AMPERSAND",e[e.NUMERIC_CHARACTER_REFERENCE=74]="NUMERIC_CHARACTER_REFERENCE",e[e.HEXADEMICAL_CHARACTER_REFERENCE_START=75]="HEXADEMICAL_CHARACTER_REFERENCE_START",e[e.HEXADEMICAL_CHARACTER_REFERENCE=76]="HEXADEMICAL_CHARACTER_REFERENCE",e[e.DECIMAL_CHARACTER_REFERENCE=77]="DECIMAL_CHARACTER_REFERENCE",e[e.NUMERIC_CHARACTER_REFERENCE_END=78]="NUMERIC_CHARACTER_REFERENCE_END"}(Ko||(Ko={}));const jo={DATA:Ko.DATA,RCDATA:Ko.RCDATA,RAWTEXT:Ko.RAWTEXT,SCRIPT_DATA:Ko.SCRIPT_DATA,PLAINTEXT:Ko.PLAINTEXT,CDATA_SECTION:Ko.CDATA_SECTION};function Vo(e){return e>=io.DIGIT_0&&e<=io.DIGIT_9}function Wo(e){return e>=io.LATIN_CAPITAL_A&&e<=io.LATIN_CAPITAL_Z}function Qo(e){return function(e){return e>=io.LATIN_SMALL_A&&e<=io.LATIN_SMALL_Z}(e)||Wo(e)}function Xo(e){return Qo(e)||Vo(e)}function $o(e){return e>=io.LATIN_CAPITAL_A&&e<=io.LATIN_CAPITAL_F}function zo(e){return e>=io.LATIN_SMALL_A&&e<=io.LATIN_SMALL_F}function Jo(e){return e+32}function Zo(e){return e===io.SPACE||e===io.LINE_FEED||e===io.TABULATION||e===io.FORM_FEED}function ec(e){return Zo(e)||e===io.SOLIDUS||e===io.GREATER_THAN_SIGN}class tc{constructor(e,t){this.options=e,this.handler=t,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=Ko.DATA,this.returnState=Ko.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new mo(t),this.currentLocation=this.getCurrentLocation(-1)}_err(e){var t,n;null===(n=(t=this.handler).onParseError)||void 0===n||n.call(t,this.preprocessor.getError(e))}getCurrentLocation(e){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-e,startOffset:this.preprocessor.offset-e,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const e=this._consume();this._ensureHibernation()||this._callState(e)}this.inLoop=!1}}pause(){this.paused=!0}resume(e){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==e||e())}write(e,t,n){this.active=!0,this.preprocessor.write(e,t),this._runParsingLoop(),this.paused||null==n||n()}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e),this._runParsingLoop()}_ensureHibernation(){return!!this.preprocessor.endOfChunkHit&&(this._unconsume(this.consumedAfterSnapshot),this.active=!1,!0)}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(e){this.consumedAfterSnapshot-=e,this.preprocessor.retreat(e)}_reconsumeInState(e,t){this.state=e,this._callState(t)}_advanceBy(e){this.consumedAfterSnapshot+=e;for(let t=0;t0&&this._err(Eo.endTagWithAttributes),e.selfClosing&&this._err(Eo.endTagWithTrailingSolidus),this.handler.onEndTag(e)),this.preprocessor.dropParsedChunk()}emitCurrentComment(e){this.prepareToken(e),this.handler.onComment(e),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(e){this.prepareToken(e),this.handler.onDoctype(e),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(e){if(this.currentCharacterToken){switch(e&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=e.startLine,this.currentCharacterToken.location.endCol=e.startCol,this.currentCharacterToken.location.endOffset=e.startOffset),this.currentCharacterToken.type){case To.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case To.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case To.WHITESPACE_CHARACTER:this.handler.onWhitespaceCharacter(this.currentCharacterToken)}this.currentCharacterToken=null}}_emitEOFToken(){const e=this.getCurrentLocation(0);e&&(e.endLine=e.startLine,e.endCol=e.startCol,e.endOffset=e.startOffset),this._emitCurrentCharacterToken(e),this.handler.onEof({type:To.EOF,location:e}),this.active=!1}_appendCharToCurrentCharacterToken(e,t){if(this.currentCharacterToken){if(this.currentCharacterToken.type===e)return void(this.currentCharacterToken.chars+=t);this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk()}this._createCharacterToken(e,t)}_emitCodePoint(e){const t=Zo(e)?To.WHITESPACE_CHARACTER:e===io.NULL?To.NULL_CHARACTER:To.CHARACTER;this._appendCharToCurrentCharacterToken(t,String.fromCodePoint(e))}_emitChars(e){this._appendCharToCurrentCharacterToken(To.CHARACTER,e)}_matchNamedCharacterReference(e){let t=null,n=0,r=!1;for(let s=0,a=wo[0];s>=0&&(s=Oo(wo,a,s+1,e),!(s<0));e=this._consume()){n+=1,a=wo[s];const o=a&yo.VALUE_LENGTH;if(o){const a=(o>>14)-1;if(e!==io.SEMICOLON&&this._isCharacterReferenceInAttribute()&&((i=this.preprocessor.peek(1))===io.EQUALS_SIGN||Xo(i))?(t=[io.AMPERSAND],s+=a):(t=0===a?[wo[s]&~yo.VALUE_LENGTH]:1===a?[wo[++s]]:[wo[++s],wo[++s]],n=0,r=e!==io.SEMICOLON),0===a){this._consume();break}}}var i;return this._unconsume(n),r&&!this.preprocessor.endOfChunkHit&&this._err(Eo.missingSemicolonAfterCharacterReference),this._unconsume(1),t}_isCharacterReferenceInAttribute(){return this.returnState===Ko.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Ko.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Ko.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(e){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(e):this._emitCodePoint(e)}_callState(e){switch(this.state){case Ko.DATA:this._stateData(e);break;case Ko.RCDATA:this._stateRcdata(e);break;case Ko.RAWTEXT:this._stateRawtext(e);break;case Ko.SCRIPT_DATA:this._stateScriptData(e);break;case Ko.PLAINTEXT:this._statePlaintext(e);break;case Ko.TAG_OPEN:this._stateTagOpen(e);break;case Ko.END_TAG_OPEN:this._stateEndTagOpen(e);break;case Ko.TAG_NAME:this._stateTagName(e);break;case Ko.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(e);break;case Ko.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(e);break;case Ko.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(e);break;case Ko.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(e);break;case Ko.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(e);break;case Ko.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(e);break;case Ko.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(e);break;case Ko.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(e);break;case Ko.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(e);break;case Ko.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(e);break;case Ko.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(e);break;case Ko.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(e);break;case Ko.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(e);break;case Ko.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(e);break;case Ko.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(e);break;case Ko.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(e);break;case Ko.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(e);break;case Ko.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(e);break;case Ko.ATTRIBUTE_NAME:this._stateAttributeName(e);break;case Ko.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(e);break;case Ko.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(e);break;case Ko.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(e);break;case Ko.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(e);break;case Ko.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(e);break;case Ko.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(e);break;case Ko.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(e);break;case Ko.BOGUS_COMMENT:this._stateBogusComment(e);break;case Ko.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(e);break;case Ko.COMMENT_START:this._stateCommentStart(e);break;case Ko.COMMENT_START_DASH:this._stateCommentStartDash(e);break;case Ko.COMMENT:this._stateComment(e);break;case Ko.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(e);break;case Ko.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(e);break;case Ko.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(e);break;case Ko.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(e);break;case Ko.COMMENT_END_DASH:this._stateCommentEndDash(e);break;case Ko.COMMENT_END:this._stateCommentEnd(e);break;case Ko.COMMENT_END_BANG:this._stateCommentEndBang(e);break;case Ko.DOCTYPE:this._stateDoctype(e);break;case Ko.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(e);break;case Ko.DOCTYPE_NAME:this._stateDoctypeName(e);break;case Ko.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(e);break;case Ko.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(e);break;case Ko.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(e);break;case Ko.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(e);break;case Ko.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(e);break;case Ko.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(e);break;case Ko.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(e);break;case Ko.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(e);break;case Ko.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(e);break;case Ko.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(e);break;case Ko.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(e);break;case Ko.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(e);break;case Ko.BOGUS_DOCTYPE:this._stateBogusDoctype(e);break;case Ko.CDATA_SECTION:this._stateCdataSection(e);break;case Ko.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(e);break;case Ko.CDATA_SECTION_END:this._stateCdataSectionEnd(e);break;case Ko.CHARACTER_REFERENCE:this._stateCharacterReference(e);break;case Ko.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(e);break;case Ko.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(e);break;case Ko.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(e);break;case Ko.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(e);break;case Ko.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(e);break;case Ko.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(e);break;case Ko.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd(e);break;default:throw new Error("Unknown state")}}_stateData(e){switch(e){case io.LESS_THAN_SIGN:this.state=Ko.TAG_OPEN;break;case io.AMPERSAND:this.returnState=Ko.DATA,this.state=Ko.CHARACTER_REFERENCE;break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitCodePoint(e);break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateRcdata(e){switch(e){case io.AMPERSAND:this.returnState=Ko.RCDATA,this.state=Ko.CHARACTER_REFERENCE;break;case io.LESS_THAN_SIGN:this.state=Ko.RCDATA_LESS_THAN_SIGN;break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitChars("�");break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateRawtext(e){switch(e){case io.LESS_THAN_SIGN:this.state=Ko.RAWTEXT_LESS_THAN_SIGN;break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitChars("�");break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateScriptData(e){switch(e){case io.LESS_THAN_SIGN:this.state=Ko.SCRIPT_DATA_LESS_THAN_SIGN;break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitChars("�");break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_statePlaintext(e){switch(e){case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitChars("�");break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateTagOpen(e){if(Qo(e))this._createStartTagToken(),this.state=Ko.TAG_NAME,this._stateTagName(e);else switch(e){case io.EXCLAMATION_MARK:this.state=Ko.MARKUP_DECLARATION_OPEN;break;case io.SOLIDUS:this.state=Ko.END_TAG_OPEN;break;case io.QUESTION_MARK:this._err(Eo.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Ko.BOGUS_COMMENT,this._stateBogusComment(e);break;case io.EOF:this._err(Eo.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(Eo.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Ko.DATA,this._stateData(e)}}_stateEndTagOpen(e){if(Qo(e))this._createEndTagToken(),this.state=Ko.TAG_NAME,this._stateTagName(e);else switch(e){case io.GREATER_THAN_SIGN:this._err(Eo.missingEndTagName),this.state=Ko.DATA;break;case io.EOF:this._err(Eo.eofBeforeTagName),this._emitChars("");break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this.state=Ko.SCRIPT_DATA_ESCAPED,this._emitChars("�");break;case io.EOF:this._err(Eo.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ko.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedLessThanSign(e){e===io.SOLIDUS?this.state=Ko.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:Qo(e)?(this._emitChars("<"),this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(e)):(this._emitChars("<"),this.state=Ko.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataEscapedEndTagOpen(e){Qo(e)?(this.state=Ko.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(e)):(this._emitChars("");break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars("�");break;case io.EOF:this._err(Eo.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedLessThanSign(e){e===io.SOLIDUS?(this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateScriptDataDoubleEscapeEnd(e){if(this.preprocessor.startsWith(co,!1)&&ec(this.preprocessor.peek(co.length))){this._emitCodePoint(e);for(let e=0;e1114111)this._err(Eo.characterReferenceOutsideUnicodeRange),this.charRefCode=io.REPLACEMENT_CHARACTER;else if(uo(this.charRefCode))this._err(Eo.surrogateCharacterReference),this.charRefCode=io.REPLACEMENT_CHARACTER;else if(fo(this.charRefCode))this._err(Eo.noncharacterCharacterReference);else if(po(this.charRefCode)||this.charRefCode===io.CARRIAGE_RETURN){this._err(Eo.controlCharacterReference);const e=qo.get(this.charRefCode);void 0!==e&&(this.charRefCode=e)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,e)}}const nc=new Set([Po.DD,Po.DT,Po.LI,Po.OPTGROUP,Po.OPTION,Po.P,Po.RB,Po.RP,Po.RT,Po.RTC]),rc=new Set([...nc,Po.CAPTION,Po.COLGROUP,Po.TBODY,Po.TD,Po.TFOOT,Po.TH,Po.THEAD,Po.TR]),ic=new Map([[Po.APPLET,vo.HTML],[Po.CAPTION,vo.HTML],[Po.HTML,vo.HTML],[Po.MARQUEE,vo.HTML],[Po.OBJECT,vo.HTML],[Po.TABLE,vo.HTML],[Po.TD,vo.HTML],[Po.TEMPLATE,vo.HTML],[Po.TH,vo.HTML],[Po.ANNOTATION_XML,vo.MATHML],[Po.MI,vo.MATHML],[Po.MN,vo.MATHML],[Po.MO,vo.MATHML],[Po.MS,vo.MATHML],[Po.MTEXT,vo.MATHML],[Po.DESC,vo.SVG],[Po.FOREIGN_OBJECT,vo.SVG],[Po.TITLE,vo.SVG]]),sc=[Po.H1,Po.H2,Po.H3,Po.H4,Po.H5,Po.H6],ac=[Po.TR,Po.TEMPLATE,Po.HTML],oc=[Po.TBODY,Po.TFOOT,Po.THEAD,Po.TEMPLATE,Po.HTML],cc=[Po.TABLE,Po.TEMPLATE,Po.HTML],lc=[Po.TD,Po.TH];class hc{constructor(e,t,n){this.treeAdapter=t,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=Po.UNKNOWN,this.current=e}get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}_indexOf(e){return this.items.lastIndexOf(e,this.stackTop)}_isInTemplate(){return this.currentTagId===Po.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===vo.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(e,t){this.stackTop++,this.items[this.stackTop]=e,this.current=e,this.tagIDs[this.stackTop]=t,this.currentTagId=t,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(e,t,!0)}pop(){const e=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!0)}replace(e,t){const n=this._indexOf(e);this.items[n]=t,n===this.stackTop&&(this.current=t)}insertAfter(e,t,n){const r=this._indexOf(e)+1;this.items.splice(r,0,t),this.tagIDs.splice(r,0,n),this.stackTop++,r===this.stackTop&&this._updateCurrentElement(),this.handler.onItemPush(this.current,this.currentTagId,r===this.stackTop)}popUntilTagNamePopped(e){let t=this.stackTop+1;do{t=this.tagIDs.lastIndexOf(e,t-1)}while(t>0&&this.treeAdapter.getNamespaceURI(this.items[t])!==vo.HTML);this.shortenToLength(t<0?0:t)}shortenToLength(e){for(;this.stackTop>=e;){const t=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,this.stackTop=0;n--)if(e.includes(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===t)return n;return-1}clearBackTo(e,t){const n=this._indexOfTagNames(e,t);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(cc,vo.HTML)}clearBackToTableBodyContext(){this.clearBackTo(oc,vo.HTML)}clearBackToTableRowContext(){this.clearBackTo(ac,vo.HTML)}remove(e){const t=this._indexOf(e);t>=0&&(t===this.stackTop?this.pop():(this.items.splice(t,1),this.tagIDs.splice(t,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===Po.BODY?this.items[1]:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){const t=this._indexOf(e)-1;return t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return 0===this.stackTop&&this.tagIDs[0]===Po.HTML}hasInScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===vo.HTML)return!0;if(ic.get(n)===r)return!1}return!0}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){const t=this.tagIDs[e],n=this.treeAdapter.getNamespaceURI(this.items[e]);if(Go(t)&&n===vo.HTML)return!0;if(ic.get(t)===n)return!1}return!0}hasInListItemScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===vo.HTML)return!0;if((n===Po.UL||n===Po.OL)&&r===vo.HTML||ic.get(n)===r)return!1}return!0}hasInButtonScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===vo.HTML)return!0;if(n===Po.BUTTON&&r===vo.HTML||ic.get(n)===r)return!1}return!0}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];if(this.treeAdapter.getNamespaceURI(this.items[t])===vo.HTML){if(n===e)return!0;if(n===Po.TABLE||n===Po.TEMPLATE||n===Po.HTML)return!1}}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){const t=this.tagIDs[e];if(this.treeAdapter.getNamespaceURI(this.items[e])===vo.HTML){if(t===Po.TBODY||t===Po.THEAD||t===Po.TFOOT)return!0;if(t===Po.TABLE||t===Po.HTML)return!1}}return!0}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];if(this.treeAdapter.getNamespaceURI(this.items[t])===vo.HTML){if(n===e)return!0;if(n!==Po.OPTION&&n!==Po.OPTGROUP)return!1}}return!0}generateImpliedEndTags(){for(;nc.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;rc.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;this.currentTagId!==e&&rc.has(this.currentTagId);)this.pop()}}var uc;!function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"}(uc=uc||(uc={}));const pc={type:uc.Marker};class fc{constructor(e){this.treeAdapter=e,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(e,t){const n=[],r=t.length,i=this.treeAdapter.getTagName(e),s=this.treeAdapter.getNamespaceURI(e);for(let e=0;e[e.name,e.value])));let i=0;for(let e=0;er.get(e.name)===e.value))&&(i+=1,i>=3&&this.entries.splice(t.idx,1))}}insertMarker(){this.entries.unshift(pc)}pushElement(e,t){this._ensureNoahArkCondition(e),this.entries.unshift({type:uc.Element,element:e,token:t})}insertElementAfterBookmark(e,t){const n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:uc.Element,element:e,token:t})}removeEntry(e){const t=this.entries.indexOf(e);t>=0&&this.entries.splice(t,1)}clearToLastMarker(){const e=this.entries.indexOf(pc);e>=0?this.entries.splice(0,e+1):this.entries.length=0}getElementEntryInScopeWithTagName(e){const t=this.entries.find((t=>t.type===uc.Marker||this.treeAdapter.getTagName(t.element)===e));return t&&t.type===uc.Element?t:null}getElementEntry(e){return this.entries.find((t=>t.type===uc.Element&&t.element===e))}}function dc(e){return{nodeName:"#text",value:e,parentNode:null}}const Ec={createDocument:()=>({nodeName:"#document",mode:Ro.NO_QUIRKS,childNodes:[]}),createDocumentFragment:()=>({nodeName:"#document-fragment",childNodes:[]}),createElement:(e,t,n)=>({nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}),createCommentNode:e=>({nodeName:"#comment",data:e,parentNode:null}),appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){const r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent:e=>e.content,setDocumentType(e,t,n,r){const i=e.childNodes.find((e=>"#documentType"===e.nodeName));if(i)i.name=t,i.publicId=n,i.systemId=r;else{const i={nodeName:"#documentType",name:t,publicId:n,systemId:r,parentNode:null};Ec.appendChild(e,i)}},setDocumentMode(e,t){e.mode=t},getDocumentMode:e=>e.mode,detachNode(e){if(e.parentNode){const t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){const n=e.childNodes[e.childNodes.length-1];if(Ec.isTextNode(n))return void(n.value+=t)}Ec.appendChild(e,dc(t))},insertTextBefore(e,t,n){const r=e.childNodes[e.childNodes.indexOf(n)-1];r&&Ec.isTextNode(r)?r.value+=t:Ec.insertBefore(e,dc(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map((e=>e.name)));for(let r=0;re.childNodes[0],getChildNodes:e=>e.childNodes,getParentNode:e=>e.parentNode,getAttrList:e=>e.attrs,getTagName:e=>e.tagName,getNamespaceURI:e=>e.namespaceURI,getTextNodeContent:e=>e.value,getCommentNodeContent:e=>e.data,getDocumentTypeNodeName:e=>e.name,getDocumentTypeNodePublicId:e=>e.publicId,getDocumentTypeNodeSystemId:e=>e.systemId,isTextNode:e=>"#text"===e.nodeName,isCommentNode:e=>"#comment"===e.nodeName,isDocumentTypeNode:e=>"#documentType"===e.nodeName,isElementNode:e=>Object.prototype.hasOwnProperty.call(e,"tagName"),setNodeSourceCodeLocation(e,t){e.sourceCodeLocation=t},getNodeSourceCodeLocation:e=>e.sourceCodeLocation,updateNodeSourceCodeLocation(e,t){e.sourceCodeLocation={...e.sourceCodeLocation,...t}}},mc=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],Tc=[...mc,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],_c=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),Ac=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],gc=[...Ac,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function Nc(e,t){return t.some((t=>e.startsWith(t)))}const Cc="text/html",Ic="application/xhtml+xml",Sc=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((e=>[e.toLowerCase(),e]))),bc=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:vo.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:vo.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:vo.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:vo.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:vo.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:vo.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:vo.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:vo.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:vo.XML}],["xml:space",{prefix:"xml",name:"space",namespace:vo.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:vo.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:vo.XMLNS}]]),Oc=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((e=>[e.toLowerCase(),e]))),yc=new Set([Po.B,Po.BIG,Po.BLOCKQUOTE,Po.BODY,Po.BR,Po.CENTER,Po.CODE,Po.DD,Po.DIV,Po.DL,Po.DT,Po.EM,Po.EMBED,Po.H1,Po.H2,Po.H3,Po.H4,Po.H5,Po.H6,Po.HEAD,Po.HR,Po.I,Po.IMG,Po.LI,Po.LISTING,Po.MENU,Po.META,Po.NOBR,Po.OL,Po.P,Po.PRE,Po.RUBY,Po.S,Po.SMALL,Po.SPAN,Po.STRONG,Po.STRIKE,Po.SUB,Po.SUP,Po.TABLE,Po.TT,Po.U,Po.UL,Po.VAR]);function Lc(e){for(let t=0;t0&&this._setContextModes(e,t)}onItemPop(e,t){var n,r;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(e,this.currentToken),null===(r=(n=this.treeAdapter).onItemPop)||void 0===r||r.call(n,e,this.openElements.current),t){let e,t;0===this.openElements.stackTop&&this.fragmentContext?(e=this.fragmentContext,t=this.fragmentContextID):({current:e,currentTagId:t}=this.openElements),this._setContextModes(e,t)}}_setContextModes(e,t){const n=e===this.document||this.treeAdapter.getNamespaceURI(e)===vo.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&!this._isIntegrationPoint(t,e)}_switchToTextParsing(e,t){this._insertElement(e,vo.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=Rc.TEXT}switchToPlaintextParsing(){this.insertionMode=Rc.TEXT,this.originalInsertionMode=Rc.IN_BODY,this.tokenizer.state=jo.PLAINTEXT}_getAdjustedCurrentElement(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;for(;e;){if(this.treeAdapter.getTagName(e)===Mo.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}}_initTokenizerForFragmentParsing(){if(this.fragmentContext&&this.treeAdapter.getNamespaceURI(this.fragmentContext)===vo.HTML)switch(this.fragmentContextID){case Po.TITLE:case Po.TEXTAREA:this.tokenizer.state=jo.RCDATA;break;case Po.STYLE:case Po.XMP:case Po.IFRAME:case Po.NOEMBED:case Po.NOFRAMES:case Po.NOSCRIPT:this.tokenizer.state=jo.RAWTEXT;break;case Po.SCRIPT:this.tokenizer.state=jo.SCRIPT_DATA;break;case Po.PLAINTEXT:this.tokenizer.state=jo.PLAINTEXT}}_setDocumentType(e){const t=e.name||"",n=e.publicId||"",r=e.systemId||"";if(this.treeAdapter.setDocumentType(this.document,t,n,r),e.location){const t=this.treeAdapter.getChildNodes(this.document).find((e=>this.treeAdapter.isDocumentTypeNode(e)));t&&this.treeAdapter.setNodeSourceCodeLocation(t,e.location)}}_attachElementToTree(e,t){if(this.options.sourceCodeLocationInfo){const n=t&&{...t,startTag:t};this.treeAdapter.setNodeSourceCodeLocation(e,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{const t=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(t,e)}}_appendElement(e,t){const n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n,e.location)}_insertElement(e,t){const n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n,e.location),this.openElements.push(n,e.tagID)}_insertFakeElement(e,t){const n=this.treeAdapter.createElement(e,vo.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,t)}_insertTemplate(e){const t=this.treeAdapter.createElement(e.tagName,vo.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,n),this._attachElementToTree(t,e.location),this.openElements.push(t,e.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){const e=this.treeAdapter.createElement(Mo.HTML,vo.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(e,null),this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e,Po.HTML)}_appendCommentNode(e,t){const n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,n),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,e.location)}_insertCharacters(e){let t,n;if(this._shouldFosterParentOnInsertion()?(({parent:t,beforeElement:n}=this._findFosterParentingLocation()),n?this.treeAdapter.insertTextBefore(t,e.chars,n):this.treeAdapter.insertText(t,e.chars)):(t=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(t,e.chars)),!e.location)return;const r=this.treeAdapter.getChildNodes(t),i=n?r.lastIndexOf(n):r.length,s=r[i-1];if(this.treeAdapter.getNodeSourceCodeLocation(s)){const{endLine:t,endCol:n,endOffset:r}=e.location;this.treeAdapter.updateNodeSourceCodeLocation(s,{endLine:t,endCol:n,endOffset:r})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(s,e.location)}_adoptNodes(e,t){for(let n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(t,n)}_setEndLocation(e,t){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&t.location){const n=t.location,r=this.treeAdapter.getTagName(e),i=t.type===To.END_TAG&&r===t.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(e,i)}}shouldProcessStartTagTokenInForeignContent(e){if(!this.currentNotInHTML)return!1;let t,n;return 0===this.openElements.stackTop&&this.fragmentContext?(t=this.fragmentContext,n=this.fragmentContextID):({current:t,currentTagId:n}=this.openElements),(e.tagID!==Po.SVG||this.treeAdapter.getTagName(t)!==Mo.ANNOTATION_XML||this.treeAdapter.getNamespaceURI(t)!==vo.MATHML)&&(this.tokenizer.inForeignNode||(e.tagID===Po.MGLYPH||e.tagID===Po.MALIGNMARK)&&!this._isIntegrationPoint(n,t,vo.HTML))}_processToken(e){switch(e.type){case To.CHARACTER:this.onCharacter(e);break;case To.NULL_CHARACTER:this.onNullCharacter(e);break;case To.COMMENT:this.onComment(e);break;case To.DOCTYPE:this.onDoctype(e);break;case To.START_TAG:this._processStartTag(e);break;case To.END_TAG:this.onEndTag(e);break;case To.EOF:this.onEof(e);break;case To.WHITESPACE_CHARACTER:this.onWhitespaceCharacter(e)}}_isIntegrationPoint(e,t,n){return Dc(e,this.treeAdapter.getNamespaceURI(t),this.treeAdapter.getAttrList(t),n)}_reconstructActiveFormattingElements(){const e=this.activeFormattingElements.entries.length;if(e){const t=this.activeFormattingElements.entries.findIndex((e=>e.type===uc.Marker||this.openElements.contains(e.element)));for(let n=t<0?e-1:t-1;n>=0;n--){const e=this.activeFormattingElements.entries[n];this._insertElement(e.token,this.treeAdapter.getNamespaceURI(e.element)),e.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=Rc.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(Po.P),this.openElements.popUntilTagNamePopped(Po.P)}_resetInsertionMode(){for(let e=this.openElements.stackTop;e>=0;e--)switch(0===e&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[e]){case Po.TR:return void(this.insertionMode=Rc.IN_ROW);case Po.TBODY:case Po.THEAD:case Po.TFOOT:return void(this.insertionMode=Rc.IN_TABLE_BODY);case Po.CAPTION:return void(this.insertionMode=Rc.IN_CAPTION);case Po.COLGROUP:return void(this.insertionMode=Rc.IN_COLUMN_GROUP);case Po.TABLE:return void(this.insertionMode=Rc.IN_TABLE);case Po.BODY:return void(this.insertionMode=Rc.IN_BODY);case Po.FRAMESET:return void(this.insertionMode=Rc.IN_FRAMESET);case Po.SELECT:return void this._resetInsertionModeForSelect(e);case Po.TEMPLATE:return void(this.insertionMode=this.tmplInsertionModeStack[0]);case Po.HTML:return void(this.insertionMode=this.headElement?Rc.AFTER_HEAD:Rc.BEFORE_HEAD);case Po.TD:case Po.TH:if(e>0)return void(this.insertionMode=Rc.IN_CELL);break;case Po.HEAD:if(e>0)return void(this.insertionMode=Rc.IN_HEAD)}this.insertionMode=Rc.IN_BODY}_resetInsertionModeForSelect(e){if(e>0)for(let t=e-1;t>0;t--){const e=this.openElements.tagIDs[t];if(e===Po.TEMPLATE)break;if(e===Po.TABLE)return void(this.insertionMode=Rc.IN_SELECT_IN_TABLE)}this.insertionMode=Rc.IN_SELECT}_isElementCausesFosterParenting(e){return Pc.has(e)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let e=this.openElements.stackTop;e>=0;e--){const t=this.openElements.items[e];switch(this.openElements.tagIDs[e]){case Po.TEMPLATE:if(this.treeAdapter.getNamespaceURI(t)===vo.HTML)return{parent:this.treeAdapter.getTemplateContent(t),beforeElement:null};break;case Po.TABLE:{const n=this.treeAdapter.getParentNode(t);return n?{parent:n,beforeElement:t}:{parent:this.openElements.items[e-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}_isSpecialElement(e,t){const n=this.treeAdapter.getNamespaceURI(e);return Ho[n].has(t)}onCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e);else switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:Wc(this,e);break;case Rc.BEFORE_HEAD:Qc(this,e);break;case Rc.IN_HEAD:zc(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:Jc(this,e);break;case Rc.AFTER_HEAD:Zc(this,e);break;case Rc.IN_BODY:case Rc.IN_CAPTION:case Rc.IN_CELL:case Rc.IN_TEMPLATE:nl(this,e);break;case Rc.TEXT:case Rc.IN_SELECT:case Rc.IN_SELECT_IN_TABLE:this._insertCharacters(e);break;case Rc.IN_TABLE:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:ul(this,e);break;case Rc.IN_TABLE_TEXT:ml(this,e);break;case Rc.IN_COLUMN_GROUP:gl(this,e);break;case Rc.AFTER_BODY:kl(this,e);break;case Rc.AFTER_AFTER_BODY:vl(this,e)}}onNullCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(e,t){t.chars="�",e._insertCharacters(t)}(this,e);else switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:Wc(this,e);break;case Rc.BEFORE_HEAD:Qc(this,e);break;case Rc.IN_HEAD:zc(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:Jc(this,e);break;case Rc.AFTER_HEAD:Zc(this,e);break;case Rc.TEXT:this._insertCharacters(e);break;case Rc.IN_TABLE:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:ul(this,e);break;case Rc.IN_COLUMN_GROUP:gl(this,e);break;case Rc.AFTER_BODY:kl(this,e);break;case Rc.AFTER_AFTER_BODY:vl(this,e)}}onComment(e){if(this.skipNextNewLine=!1,this.currentNotInHTML)Kc(this,e);else switch(this.insertionMode){case Rc.INITIAL:case Rc.BEFORE_HTML:case Rc.BEFORE_HEAD:case Rc.IN_HEAD:case Rc.IN_HEAD_NO_SCRIPT:case Rc.AFTER_HEAD:case Rc.IN_BODY:case Rc.IN_TABLE:case Rc.IN_CAPTION:case Rc.IN_COLUMN_GROUP:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:case Rc.IN_CELL:case Rc.IN_SELECT:case Rc.IN_SELECT_IN_TABLE:case Rc.IN_TEMPLATE:case Rc.IN_FRAMESET:case Rc.AFTER_FRAMESET:Kc(this,e);break;case Rc.IN_TABLE_TEXT:Tl(this,e);break;case Rc.AFTER_BODY:!function(e,t){e._appendCommentNode(t,e.openElements.items[0])}(this,e);break;case Rc.AFTER_AFTER_BODY:case Rc.AFTER_AFTER_FRAMESET:!function(e,t){e._appendCommentNode(t,e.document)}(this,e)}}onDoctype(e){switch(this.skipNextNewLine=!1,this.insertionMode){case Rc.INITIAL:!function(e,t){e._setDocumentType(t);const n=t.forceQuirks?Ro.QUIRKS:function(e){if("html"!==e.name)return Ro.QUIRKS;const{systemId:t}=e;if(t&&"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"===t.toLowerCase())return Ro.QUIRKS;let{publicId:n}=e;if(null!==n){if(n=n.toLowerCase(),_c.has(n))return Ro.QUIRKS;let e=null===t?Tc:mc;if(Nc(n,e))return Ro.QUIRKS;if(e=null===t?Ac:gc,Nc(n,e))return Ro.LIMITED_QUIRKS}return Ro.NO_QUIRKS}(t);(function(e){return"html"===e.name&&null===e.publicId&&(null===e.systemId||"about:legacy-compat"===e.systemId)})(t)||e._err(t,Eo.nonConformingDoctype);e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=Rc.BEFORE_HTML}(this,e);break;case Rc.BEFORE_HEAD:case Rc.IN_HEAD:case Rc.IN_HEAD_NO_SCRIPT:case Rc.AFTER_HEAD:this._err(e,Eo.misplacedDoctype);break;case Rc.IN_TABLE_TEXT:Tl(this,e)}}onStartTag(e){this.skipNextNewLine=!1,this.currentToken=e,this._processStartTag(e),e.selfClosing&&!e.ackSelfClosing&&this._err(e,Eo.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(e){this.shouldProcessStartTagTokenInForeignContent(e)?function(e,t){if(function(e){const t=e.tagID;return t===Po.FONT&&e.attrs.some((({name:e})=>e===Do.COLOR||e===Do.SIZE||e===Do.FACE))||yc.has(t)}(t))Dl(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===vo.MATHML?Lc(t):r===vo.SVG&&(!function(e){const t=Oc.get(e.tagName);null!=t&&(e.tagName=t,e.tagID=Fo(e.tagName))}(t),kc(t)),vc(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}(this,e):this._startTagOutsideForeignContent(e)}_startTagOutsideForeignContent(e){switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:!function(e,t){t.tagID===Po.HTML?(e._insertElement(t,vo.HTML),e.insertionMode=Rc.BEFORE_HEAD):Wc(e,t)}(this,e);break;case Rc.BEFORE_HEAD:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.HEAD:e._insertElement(t,vo.HTML),e.headElement=e.openElements.current,e.insertionMode=Rc.IN_HEAD;break;default:Qc(e,t)}}(this,e);break;case Rc.IN_HEAD:Xc(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.BASEFONT:case Po.BGSOUND:case Po.HEAD:case Po.LINK:case Po.META:case Po.NOFRAMES:case Po.STYLE:Xc(e,t);break;case Po.NOSCRIPT:e._err(t,Eo.nestedNoscriptInHead);break;default:Jc(e,t)}}(this,e);break;case Rc.AFTER_HEAD:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.BODY:e._insertElement(t,vo.HTML),e.framesetOk=!1,e.insertionMode=Rc.IN_BODY;break;case Po.FRAMESET:e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_FRAMESET;break;case Po.BASE:case Po.BASEFONT:case Po.BGSOUND:case Po.LINK:case Po.META:case Po.NOFRAMES:case Po.SCRIPT:case Po.STYLE:case Po.TEMPLATE:case Po.TITLE:e._err(t,Eo.abandonedHeadElementChild),e.openElements.push(e.headElement,Po.HEAD),Xc(e,t),e.openElements.remove(e.headElement);break;case Po.HEAD:e._err(t,Eo.misplacedStartTagForHeadElement);break;default:Zc(e,t)}}(this,e);break;case Rc.IN_BODY:ol(this,e);break;case Rc.IN_TABLE:pl(this,e);break;case Rc.IN_TABLE_TEXT:Tl(this,e);break;case Rc.IN_CAPTION:!function(e,t){const n=t.tagID;_l.has(n)?e.openElements.hasInTableScope(Po.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(Po.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Rc.IN_TABLE,pl(e,t)):ol(e,t)}(this,e);break;case Rc.IN_COLUMN_GROUP:Al(this,e);break;case Rc.IN_TABLE_BODY:Nl(this,e);break;case Rc.IN_ROW:Il(this,e);break;case Rc.IN_CELL:!function(e,t){const n=t.tagID;_l.has(n)?(e.openElements.hasInTableScope(Po.TD)||e.openElements.hasInTableScope(Po.TH))&&(e._closeTableCell(),Il(e,t)):ol(e,t)}(this,e);break;case Rc.IN_SELECT:bl(this,e);break;case Rc.IN_SELECT_IN_TABLE:!function(e,t){const n=t.tagID;n===Po.CAPTION||n===Po.TABLE||n===Po.TBODY||n===Po.TFOOT||n===Po.THEAD||n===Po.TR||n===Po.TD||n===Po.TH?(e.openElements.popUntilTagNamePopped(Po.SELECT),e._resetInsertionMode(),e._processStartTag(t)):bl(e,t)}(this,e);break;case Rc.IN_TEMPLATE:!function(e,t){switch(t.tagID){case Po.BASE:case Po.BASEFONT:case Po.BGSOUND:case Po.LINK:case Po.META:case Po.NOFRAMES:case Po.SCRIPT:case Po.STYLE:case Po.TEMPLATE:case Po.TITLE:Xc(e,t);break;case Po.CAPTION:case Po.COLGROUP:case Po.TBODY:case Po.TFOOT:case Po.THEAD:e.tmplInsertionModeStack[0]=Rc.IN_TABLE,e.insertionMode=Rc.IN_TABLE,pl(e,t);break;case Po.COL:e.tmplInsertionModeStack[0]=Rc.IN_COLUMN_GROUP,e.insertionMode=Rc.IN_COLUMN_GROUP,Al(e,t);break;case Po.TR:e.tmplInsertionModeStack[0]=Rc.IN_TABLE_BODY,e.insertionMode=Rc.IN_TABLE_BODY,Nl(e,t);break;case Po.TD:case Po.TH:e.tmplInsertionModeStack[0]=Rc.IN_ROW,e.insertionMode=Rc.IN_ROW,Il(e,t);break;default:e.tmplInsertionModeStack[0]=Rc.IN_BODY,e.insertionMode=Rc.IN_BODY,ol(e,t)}}(this,e);break;case Rc.AFTER_BODY:!function(e,t){t.tagID===Po.HTML?ol(e,t):kl(e,t)}(this,e);break;case Rc.IN_FRAMESET:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.FRAMESET:e._insertElement(t,vo.HTML);break;case Po.FRAME:e._appendElement(t,vo.HTML),t.ackSelfClosing=!0;break;case Po.NOFRAMES:Xc(e,t)}}(this,e);break;case Rc.AFTER_FRAMESET:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.NOFRAMES:Xc(e,t)}}(this,e);break;case Rc.AFTER_AFTER_BODY:!function(e,t){t.tagID===Po.HTML?ol(e,t):vl(e,t)}(this,e);break;case Rc.AFTER_AFTER_FRAMESET:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.NOFRAMES:Xc(e,t)}}(this,e)}}onEndTag(e){this.skipNextNewLine=!1,this.currentToken=e,this.currentNotInHTML?function(e,t){if(t.tagID===Po.P||t.tagID===Po.BR)return Dl(e),void e._endTagOutsideForeignContent(t);for(let n=e.openElements.stackTop;n>0;n--){const r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===vo.HTML){e._endTagOutsideForeignContent(t);break}const i=e.treeAdapter.getTagName(r);if(i.toLowerCase()===t.tagName){t.tagName=i,e.openElements.shortenToLength(n);break}}}(this,e):this._endTagOutsideForeignContent(e)}_endTagOutsideForeignContent(e){switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:!function(e,t){const n=t.tagID;n!==Po.HTML&&n!==Po.HEAD&&n!==Po.BODY&&n!==Po.BR||Wc(e,t)}(this,e);break;case Rc.BEFORE_HEAD:!function(e,t){const n=t.tagID;n===Po.HEAD||n===Po.BODY||n===Po.HTML||n===Po.BR?Qc(e,t):e._err(t,Eo.endTagWithoutMatchingOpenElement)}(this,e);break;case Rc.IN_HEAD:!function(e,t){switch(t.tagID){case Po.HEAD:e.openElements.pop(),e.insertionMode=Rc.AFTER_HEAD;break;case Po.BODY:case Po.BR:case Po.HTML:zc(e,t);break;case Po.TEMPLATE:$c(e,t);break;default:e._err(t,Eo.endTagWithoutMatchingOpenElement)}}(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:!function(e,t){switch(t.tagID){case Po.NOSCRIPT:e.openElements.pop(),e.insertionMode=Rc.IN_HEAD;break;case Po.BR:Jc(e,t);break;default:e._err(t,Eo.endTagWithoutMatchingOpenElement)}}(this,e);break;case Rc.AFTER_HEAD:!function(e,t){switch(t.tagID){case Po.BODY:case Po.HTML:case Po.BR:Zc(e,t);break;case Po.TEMPLATE:$c(e,t);break;default:e._err(t,Eo.endTagWithoutMatchingOpenElement)}}(this,e);break;case Rc.IN_BODY:ll(this,e);break;case Rc.TEXT:!function(e,t){var n;t.tagID===Po.SCRIPT&&(null===(n=e.scriptHandler)||void 0===n||n.call(e,e.openElements.current));e.openElements.pop(),e.insertionMode=e.originalInsertionMode}(this,e);break;case Rc.IN_TABLE:fl(this,e);break;case Rc.IN_TABLE_TEXT:Tl(this,e);break;case Rc.IN_CAPTION:!function(e,t){const n=t.tagID;switch(n){case Po.CAPTION:case Po.TABLE:e.openElements.hasInTableScope(Po.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(Po.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Rc.IN_TABLE,n===Po.TABLE&&fl(e,t));break;case Po.BODY:case Po.COL:case Po.COLGROUP:case Po.HTML:case Po.TBODY:case Po.TD:case Po.TFOOT:case Po.TH:case Po.THEAD:case Po.TR:break;default:ll(e,t)}}(this,e);break;case Rc.IN_COLUMN_GROUP:!function(e,t){switch(t.tagID){case Po.COLGROUP:e.openElements.currentTagId===Po.COLGROUP&&(e.openElements.pop(),e.insertionMode=Rc.IN_TABLE);break;case Po.TEMPLATE:$c(e,t);break;case Po.COL:break;default:gl(e,t)}}(this,e);break;case Rc.IN_TABLE_BODY:Cl(this,e);break;case Rc.IN_ROW:Sl(this,e);break;case Rc.IN_CELL:!function(e,t){const n=t.tagID;switch(n){case Po.TD:case Po.TH:e.openElements.hasInTableScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Rc.IN_ROW);break;case Po.TABLE:case Po.TBODY:case Po.TFOOT:case Po.THEAD:case Po.TR:e.openElements.hasInTableScope(n)&&(e._closeTableCell(),Sl(e,t));break;case Po.BODY:case Po.CAPTION:case Po.COL:case Po.COLGROUP:case Po.HTML:break;default:ll(e,t)}}(this,e);break;case Rc.IN_SELECT:Ol(this,e);break;case Rc.IN_SELECT_IN_TABLE:!function(e,t){const n=t.tagID;n===Po.CAPTION||n===Po.TABLE||n===Po.TBODY||n===Po.TFOOT||n===Po.THEAD||n===Po.TR||n===Po.TD||n===Po.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(Po.SELECT),e._resetInsertionMode(),e.onEndTag(t)):Ol(e,t)}(this,e);break;case Rc.IN_TEMPLATE:!function(e,t){t.tagID===Po.TEMPLATE&&$c(e,t)}(this,e);break;case Rc.AFTER_BODY:Ll(this,e);break;case Rc.IN_FRAMESET:!function(e,t){t.tagID!==Po.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagId===Po.FRAMESET||(e.insertionMode=Rc.AFTER_FRAMESET))}(this,e);break;case Rc.AFTER_FRAMESET:!function(e,t){t.tagID===Po.HTML&&(e.insertionMode=Rc.AFTER_AFTER_FRAMESET)}(this,e);break;case Rc.AFTER_AFTER_BODY:vl(this,e)}}onEof(e){switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:Wc(this,e);break;case Rc.BEFORE_HEAD:Qc(this,e);break;case Rc.IN_HEAD:zc(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:Jc(this,e);break;case Rc.AFTER_HEAD:Zc(this,e);break;case Rc.IN_BODY:case Rc.IN_TABLE:case Rc.IN_CAPTION:case Rc.IN_COLUMN_GROUP:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:case Rc.IN_CELL:case Rc.IN_SELECT:case Rc.IN_SELECT_IN_TABLE:hl(this,e);break;case Rc.TEXT:!function(e,t){e._err(t,Eo.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}(this,e);break;case Rc.IN_TABLE_TEXT:Tl(this,e);break;case Rc.IN_TEMPLATE:yl(this,e);break;case Rc.AFTER_BODY:case Rc.IN_FRAMESET:case Rc.AFTER_FRAMESET:case Rc.AFTER_AFTER_BODY:case Rc.AFTER_AFTER_FRAMESET:jc(this,e)}}onWhitespaceCharacter(e){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,e.chars.charCodeAt(0)===io.LINE_FEED)){if(1===e.chars.length)return;e.chars=e.chars.substr(1)}if(this.tokenizer.inForeignNode)this._insertCharacters(e);else switch(this.insertionMode){case Rc.IN_HEAD:case Rc.IN_HEAD_NO_SCRIPT:case Rc.AFTER_HEAD:case Rc.TEXT:case Rc.IN_COLUMN_GROUP:case Rc.IN_SELECT:case Rc.IN_SELECT_IN_TABLE:case Rc.IN_FRAMESET:case Rc.AFTER_FRAMESET:this._insertCharacters(e);break;case Rc.IN_BODY:case Rc.IN_CAPTION:case Rc.IN_CELL:case Rc.IN_TEMPLATE:case Rc.AFTER_BODY:case Rc.AFTER_AFTER_BODY:case Rc.AFTER_AFTER_FRAMESET:tl(this,e);break;case Rc.IN_TABLE:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:ul(this,e);break;case Rc.IN_TABLE_TEXT:El(this,e)}}}function Bc(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagID)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):cl(e,t),n}function Fc(e,t){let n=null,r=e.openElements.stackTop;for(;r>=0;r--){const i=e.openElements.items[r];if(i===t.element)break;e._isSpecialElement(i,e.openElements.tagIDs[r])&&(n=i)}return n||(e.openElements.shortenToLength(r<0?0:r),e.activeFormattingElements.removeEntry(t)),n}function Uc(e,t,n){let r=t,i=e.openElements.getCommonAncestor(t);for(let s=0,a=i;a!==n;s++,a=i){i=e.openElements.getCommonAncestor(a);const n=e.activeFormattingElements.getElementEntry(a),o=n&&s>=3;!n||o?(o&&e.activeFormattingElements.removeEntry(n),e.openElements.remove(a)):(a=Hc(e,n),r===t&&(e.activeFormattingElements.bookmark=n),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(a,r),r=a)}return r}function Hc(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function Gc(e,t,n){const r=Fo(e.treeAdapter.getTagName(t));if(e._isElementCausesFosterParenting(r))e._fosterParentElement(n);else{const i=e.treeAdapter.getNamespaceURI(t);r===Po.TEMPLATE&&i===vo.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function Yc(e,t,n){const r=e.treeAdapter.getNamespaceURI(n.element),{token:i}=n,s=e.treeAdapter.createElement(i.tagName,r,i.attrs);e._adoptNodes(t,s),e.treeAdapter.appendChild(t,s),e.activeFormattingElements.insertElementAfterBookmark(s,i),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,s,i.tagID)}function qc(e,t){for(let n=0;n<8;n++){const n=Bc(e,t);if(!n)break;const r=Fc(e,n);if(!r)break;e.activeFormattingElements.bookmark=n;const i=Uc(e,r,n.element),s=e.openElements.getCommonAncestor(n.element);e.treeAdapter.detachNode(i),s&&Gc(e,s,i),Yc(e,r,n)}}function Kc(e,t){e._appendCommentNode(t,e.openElements.currentTmplContentOrNode)}function jc(e,t){if(e.stopped=!0,t.location){const n=e.fragmentContext?0:2;for(let r=e.openElements.stackTop;r>=n;r--)e._setEndLocation(e.openElements.items[r],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const n=e.openElements.items[0],r=e.treeAdapter.getNodeSourceCodeLocation(n);if(r&&!r.endTag&&(e._setEndLocation(n,t),e.openElements.stackTop>=1)){const n=e.openElements.items[1],r=e.treeAdapter.getNodeSourceCodeLocation(n);r&&!r.endTag&&e._setEndLocation(n,t)}}}}function Vc(e,t){e._err(t,Eo.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,Ro.QUIRKS),e.insertionMode=Rc.BEFORE_HTML,e._processToken(t)}function Wc(e,t){e._insertFakeRootElement(),e.insertionMode=Rc.BEFORE_HEAD,e._processToken(t)}function Qc(e,t){e._insertFakeElement(Mo.HEAD,Po.HEAD),e.headElement=e.openElements.current,e.insertionMode=Rc.IN_HEAD,e._processToken(t)}function Xc(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.BASE:case Po.BASEFONT:case Po.BGSOUND:case Po.LINK:case Po.META:e._appendElement(t,vo.HTML),t.ackSelfClosing=!0;break;case Po.TITLE:e._switchToTextParsing(t,jo.RCDATA);break;case Po.NOSCRIPT:e.options.scriptingEnabled?e._switchToTextParsing(t,jo.RAWTEXT):(e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_HEAD_NO_SCRIPT);break;case Po.NOFRAMES:case Po.STYLE:e._switchToTextParsing(t,jo.RAWTEXT);break;case Po.SCRIPT:e._switchToTextParsing(t,jo.SCRIPT_DATA);break;case Po.TEMPLATE:e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=Rc.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(Rc.IN_TEMPLATE);break;case Po.HEAD:e._err(t,Eo.misplacedStartTagForHeadElement);break;default:zc(e,t)}}function $c(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==Po.TEMPLATE&&e._err(t,Eo.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(Po.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,Eo.endTagWithoutMatchingOpenElement)}function zc(e,t){e.openElements.pop(),e.insertionMode=Rc.AFTER_HEAD,e._processToken(t)}function Jc(e,t){const n=t.type===To.EOF?Eo.openElementsLeftAfterEof:Eo.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=Rc.IN_HEAD,e._processToken(t)}function Zc(e,t){e._insertFakeElement(Mo.BODY,Po.BODY),e.insertionMode=Rc.IN_BODY,el(e,t)}function el(e,t){switch(t.type){case To.CHARACTER:nl(e,t);break;case To.WHITESPACE_CHARACTER:tl(e,t);break;case To.COMMENT:Kc(e,t);break;case To.START_TAG:ol(e,t);break;case To.END_TAG:ll(e,t);break;case To.EOF:hl(e,t)}}function tl(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function nl(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function rl(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,vo.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function il(e){const t=_o(e,Do.TYPE);return null!=t&&"hidden"===t.toLowerCase()}function sl(e,t){e._switchToTextParsing(t,jo.RAWTEXT)}function al(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML)}function ol(e,t){switch(t.tagID){case Po.I:case Po.S:case Po.B:case Po.U:case Po.EM:case Po.TT:case Po.BIG:case Po.CODE:case Po.FONT:case Po.SMALL:case Po.STRIKE:case Po.STRONG:!function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t);break;case Po.A:!function(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(Mo.A);n&&(qc(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t);break;case Po.H1:case Po.H2:case Po.H3:case Po.H4:case Po.H5:case Po.H6:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),Go(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.P:case Po.DL:case Po.OL:case Po.UL:case Po.DIV:case Po.DIR:case Po.NAV:case Po.MAIN:case Po.MENU:case Po.ASIDE:case Po.CENTER:case Po.FIGURE:case Po.FOOTER:case Po.HEADER:case Po.HGROUP:case Po.DIALOG:case Po.DETAILS:case Po.ADDRESS:case Po.ARTICLE:case Po.SECTION:case Po.SUMMARY:case Po.FIELDSET:case Po.BLOCKQUOTE:case Po.FIGCAPTION:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.LI:case Po.DD:case Po.DT:!function(e,t){e.framesetOk=!1;const n=t.tagID;for(let t=e.openElements.stackTop;t>=0;t--){const r=e.openElements.tagIDs[t];if(n===Po.LI&&r===Po.LI||(n===Po.DD||n===Po.DT)&&(r===Po.DD||r===Po.DT)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r);break}if(r!==Po.ADDRESS&&r!==Po.DIV&&r!==Po.P&&e._isSpecialElement(e.openElements.items[t],r))break}e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.BR:case Po.IMG:case Po.WBR:case Po.AREA:case Po.EMBED:case Po.KEYGEN:rl(e,t);break;case Po.HR:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._appendElement(t,vo.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}(e,t);break;case Po.RB:case Po.RTC:!function(e,t){e.openElements.hasInScope(Po.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.RT:case Po.RP:!function(e,t){e.openElements.hasInScope(Po.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(Po.RTC),e._insertElement(t,vo.HTML)}(e,t);break;case Po.PRE:case Po.LISTING:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}(e,t);break;case Po.XMP:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,jo.RAWTEXT)}(e,t);break;case Po.SVG:!function(e,t){e._reconstructActiveFormattingElements(),kc(t),vc(t),t.selfClosing?e._appendElement(t,vo.SVG):e._insertElement(t,vo.SVG),t.ackSelfClosing=!0}(e,t);break;case Po.HTML:!function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t);break;case Po.BASE:case Po.LINK:case Po.META:case Po.STYLE:case Po.TITLE:case Po.SCRIPT:case Po.BGSOUND:case Po.BASEFONT:case Po.TEMPLATE:Xc(e,t);break;case Po.BODY:!function(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}(e,t);break;case Po.FORM:!function(e,t){const n=e.openElements.tmplCount>0;e.formElement&&!n||(e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML),n||(e.formElement=e.openElements.current))}(e,t);break;case Po.NOBR:!function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(Po.NOBR)&&(qc(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,vo.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t);break;case Po.MATH:!function(e,t){e._reconstructActiveFormattingElements(),Lc(t),vc(t),t.selfClosing?e._appendElement(t,vo.MATHML):e._insertElement(t,vo.MATHML),t.ackSelfClosing=!0}(e,t);break;case Po.TABLE:!function(e,t){e.treeAdapter.getDocumentMode(e.document)!==Ro.QUIRKS&&e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML),e.framesetOk=!1,e.insertionMode=Rc.IN_TABLE}(e,t);break;case Po.INPUT:!function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,vo.HTML),il(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t);break;case Po.PARAM:case Po.TRACK:case Po.SOURCE:!function(e,t){e._appendElement(t,vo.HTML),t.ackSelfClosing=!0}(e,t);break;case Po.IMAGE:!function(e,t){t.tagName=Mo.IMG,t.tagID=Po.IMG,rl(e,t)}(e,t);break;case Po.BUTTON:!function(e,t){e.openElements.hasInScope(Po.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(Po.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.framesetOk=!1}(e,t);break;case Po.APPLET:case Po.OBJECT:case Po.MARQUEE:!function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}(e,t);break;case Po.IFRAME:!function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,jo.RAWTEXT)}(e,t);break;case Po.SELECT:!function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===Rc.IN_TABLE||e.insertionMode===Rc.IN_CAPTION||e.insertionMode===Rc.IN_TABLE_BODY||e.insertionMode===Rc.IN_ROW||e.insertionMode===Rc.IN_CELL?Rc.IN_SELECT_IN_TABLE:Rc.IN_SELECT}(e,t);break;case Po.OPTION:case Po.OPTGROUP:!function(e,t){e.openElements.currentTagId===Po.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.NOEMBED:sl(e,t);break;case Po.FRAMESET:!function(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_FRAMESET)}(e,t);break;case Po.TEXTAREA:!function(e,t){e._insertElement(t,vo.HTML),e.skipNextNewLine=!0,e.tokenizer.state=jo.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=Rc.TEXT}(e,t);break;case Po.NOSCRIPT:e.options.scriptingEnabled?sl(e,t):al(e,t);break;case Po.PLAINTEXT:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML),e.tokenizer.state=jo.PLAINTEXT}(e,t);break;case Po.COL:case Po.TH:case Po.TD:case Po.TR:case Po.HEAD:case Po.FRAME:case Po.TBODY:case Po.TFOOT:case Po.THEAD:case Po.CAPTION:case Po.COLGROUP:break;default:al(e,t)}}function cl(e,t){const n=t.tagName,r=t.tagID;for(let t=e.openElements.stackTop;t>0;t--){const i=e.openElements.items[t],s=e.openElements.tagIDs[t];if(r===s&&(r!==Po.UNKNOWN||e.treeAdapter.getTagName(i)===n)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.stackTop>=t&&e.openElements.shortenToLength(t);break}if(e._isSpecialElement(i,s))break}}function ll(e,t){switch(t.tagID){case Po.A:case Po.B:case Po.I:case Po.S:case Po.U:case Po.EM:case Po.TT:case Po.BIG:case Po.CODE:case Po.FONT:case Po.NOBR:case Po.SMALL:case Po.STRIKE:case Po.STRONG:qc(e,t);break;case Po.P:!function(e){e.openElements.hasInButtonScope(Po.P)||e._insertFakeElement(Mo.P,Po.P),e._closePElement()}(e);break;case Po.DL:case Po.UL:case Po.OL:case Po.DIR:case Po.DIV:case Po.NAV:case Po.PRE:case Po.MAIN:case Po.MENU:case Po.ASIDE:case Po.BUTTON:case Po.CENTER:case Po.FIGURE:case Po.FOOTER:case Po.HEADER:case Po.HGROUP:case Po.DIALOG:case Po.ADDRESS:case Po.ARTICLE:case Po.DETAILS:case Po.SECTION:case Po.SUMMARY:case Po.LISTING:case Po.FIELDSET:case Po.BLOCKQUOTE:case Po.FIGCAPTION:!function(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}(e,t);break;case Po.LI:!function(e){e.openElements.hasInListItemScope(Po.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(Po.LI),e.openElements.popUntilTagNamePopped(Po.LI))}(e);break;case Po.DD:case Po.DT:!function(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}(e,t);break;case Po.H1:case Po.H2:case Po.H3:case Po.H4:case Po.H5:case Po.H6:!function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e);break;case Po.BR:!function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(Mo.BR,Po.BR),e.openElements.pop(),e.framesetOk=!1}(e);break;case Po.BODY:!function(e,t){if(e.openElements.hasInScope(Po.BODY)&&(e.insertionMode=Rc.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}(e,t);break;case Po.HTML:!function(e,t){e.openElements.hasInScope(Po.BODY)&&(e.insertionMode=Rc.AFTER_BODY,Ll(e,t))}(e,t);break;case Po.FORM:!function(e){const t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(Po.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(Po.FORM):n&&e.openElements.remove(n))}(e);break;case Po.APPLET:case Po.OBJECT:case Po.MARQUEE:!function(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}(e,t);break;case Po.TEMPLATE:$c(e,t);break;default:cl(e,t)}}function hl(e,t){e.tmplInsertionModeStack.length>0?yl(e,t):jc(e,t)}function ul(e,t){if(Pc.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=Rc.IN_TABLE_TEXT,t.type){case To.CHARACTER:ml(e,t);break;case To.WHITESPACE_CHARACTER:El(e,t)}else dl(e,t)}function pl(e,t){switch(t.tagID){case Po.TD:case Po.TH:case Po.TR:!function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Mo.TBODY,Po.TBODY),e.insertionMode=Rc.IN_TABLE_BODY,Nl(e,t)}(e,t);break;case Po.STYLE:case Po.SCRIPT:case Po.TEMPLATE:Xc(e,t);break;case Po.COL:!function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Mo.COLGROUP,Po.COLGROUP),e.insertionMode=Rc.IN_COLUMN_GROUP,Al(e,t)}(e,t);break;case Po.FORM:!function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,vo.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t);break;case Po.TABLE:!function(e,t){e.openElements.hasInTableScope(Po.TABLE)&&(e.openElements.popUntilTagNamePopped(Po.TABLE),e._resetInsertionMode(),e._processStartTag(t))}(e,t);break;case Po.TBODY:case Po.TFOOT:case Po.THEAD:!function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_TABLE_BODY}(e,t);break;case Po.INPUT:!function(e,t){il(t)?e._appendElement(t,vo.HTML):dl(e,t),t.ackSelfClosing=!0}(e,t);break;case Po.CAPTION:!function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_CAPTION}(e,t);break;case Po.COLGROUP:!function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_COLUMN_GROUP}(e,t);break;default:dl(e,t)}}function fl(e,t){switch(t.tagID){case Po.TABLE:e.openElements.hasInTableScope(Po.TABLE)&&(e.openElements.popUntilTagNamePopped(Po.TABLE),e._resetInsertionMode());break;case Po.TEMPLATE:$c(e,t);break;case Po.BODY:case Po.CAPTION:case Po.COL:case Po.COLGROUP:case Po.HTML:case Po.TBODY:case Po.TD:case Po.TFOOT:case Po.TH:case Po.THEAD:case Po.TR:break;default:dl(e,t)}}function dl(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,el(e,t),e.fosterParentingEnabled=n}function El(e,t){e.pendingCharacterTokens.push(t)}function ml(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function Tl(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===Po.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===Po.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===Po.OPTGROUP&&e.openElements.pop();break;case Po.OPTION:e.openElements.currentTagId===Po.OPTION&&e.openElements.pop();break;case Po.SELECT:e.openElements.hasInSelectScope(Po.SELECT)&&(e.openElements.popUntilTagNamePopped(Po.SELECT),e._resetInsertionMode());break;case Po.TEMPLATE:$c(e,t)}}function yl(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(Po.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):jc(e,t)}function Ll(e,t){var n;if(t.tagID===Po.HTML){if(e.fragmentContext||(e.insertionMode=Rc.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===Po.HTML){e._setEndLocation(e.openElements.items[0],t);const r=e.openElements.items[1];r&&!(null===(n=e.treeAdapter.getNodeSourceCodeLocation(r))||void 0===n?void 0:n.endTag)&&e._setEndLocation(r,t)}}else kl(e,t)}function kl(e,t){e.insertionMode=Rc.IN_BODY,el(e,t)}function vl(e,t){e.insertionMode=Rc.IN_BODY,el(e,t)}function Dl(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==vo.HTML&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}var Rl=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.escapeText=t.escapeAttribute=t.escapeUTF8=t.escape=t.encodeXML=t.getCodePoint=t.xmlReplacer=void 0,t.xmlReplacer=/["&'<>$\x80-\uFFFF]/g;var n=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function r(e){for(var r,i="",s=0;null!==(r=t.xmlReplacer.exec(e));){var a=r.index,o=e.charCodeAt(a),c=n.get(o);void 0!==c?(i+=e.substring(s,a)+c,s=a+1):(i+="".concat(e.substring(s,a),"&#x").concat((0,t.getCodePoint)(e,a).toString(16),";"),s=t.xmlReplacer.lastIndex+=Number(55296==(64512&o)))}return i+e.substr(s)}function i(e,t){return function(n){for(var r,i=0,s="";r=e.exec(n);)i!==r.index&&(s+=n.substring(i,r.index)),s+=t.get(r[0].charCodeAt(0)),i=r.index+1;return s+n.substring(i)}}t.getCodePoint=null!=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t)},t.encodeXML=r,t.escape=r,t.escapeUTF8=i(/[&<>'"]/g,n),t.escapeAttribute=i(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),t.escapeText=i(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))}));qe(Rl);var Ml=Rl.escapeText,Pl=Rl.escapeAttribute;Rl.escapeUTF8,Rl.escape,Rl.encodeXML,Rl.getCodePoint,Rl.xmlReplacer;const xl=new Set([Mo.AREA,Mo.BASE,Mo.BASEFONT,Mo.BGSOUND,Mo.BR,Mo.COL,Mo.EMBED,Mo.FRAME,Mo.HR,Mo.IMG,Mo.INPUT,Mo.KEYGEN,Mo.LINK,Mo.META,Mo.PARAM,Mo.SOURCE,Mo.TRACK,Mo.WBR]);const wl={treeAdapter:Ec,scriptingEnabled:!0};function Bl(e,t){return Fl(e,{...wl,...t})}function Fl(e,t){return t.treeAdapter.isElementNode(e)?function(e,t){const n=t.treeAdapter.getTagName(e);return`<${n}${function(e,{treeAdapter:t}){let n="";for(const r of t.getAttrList(e)){if(n+=" ",r.namespace)switch(r.namespace){case vo.XML:n+=`xml:${r.name}`;break;case vo.XMLNS:"xmlns"!==r.name&&(n+="xmlns:"),n+=r.name;break;case vo.XLINK:n+=`xlink:${r.name}`;break;default:n+=`${r.prefix}:${r.name}`}else n+=r.name;n+=`="${Pl(r.value)}"`}return n}(e,t)}>${function(e,t){return t.treeAdapter.isElementNode(e)&&t.treeAdapter.getNamespaceURI(e)===vo.HTML&&xl.has(t.treeAdapter.getTagName(e))}(e,t)?"":`${function(e,t){let n="";const r=t.treeAdapter.isElementNode(e)&&t.treeAdapter.getTagName(e)===Mo.TEMPLATE&&t.treeAdapter.getNamespaceURI(e)===vo.HTML?t.treeAdapter.getTemplateContent(e):e,i=t.treeAdapter.getChildNodes(r);if(i)for(const e of i)n+=Fl(e,t);return n}(e,t)}`}`}(e,t):t.treeAdapter.isTextNode(e)?function(e,t){const{treeAdapter:n}=t,r=n.getTextNodeContent(e),i=n.getParentNode(e),s=i&&n.isElementNode(i)&&n.getTagName(i);return s&&n.getNamespaceURI(i)===vo.HTML&&(a=s,o=t.scriptingEnabled,Yo.has(a)||o&&a===Mo.NOSCRIPT)?r:Ml(r);var a,o}(e,t):t.treeAdapter.isCommentNode(e)?function(e,{treeAdapter:t}){return`\x3c!--${t.getCommentNodeContent(e)}--\x3e`}(e,t):t.treeAdapter.isDocumentTypeNode(e)?function(e,{treeAdapter:t}){return``}(e,t):""}function Ul(e){return new m(e)}function Hl(e){const t=e.includes('"')?"'":'"';return t+e+t}const Gl={isCommentNode:O,isElementNode:I,isTextNode:b,createDocument(){const e=new N([]);return e["x-mode"]=Ro.NO_QUIRKS,e},createDocumentFragment:()=>new N([]),createElement(e,t,n){const r=Object.create(null),i=Object.create(null),s=Object.create(null);for(let e=0;enew T(e),appendChild(e,t){const n=e.children[e.children.length-1];n&&(n.next=t,t.prev=n),e.children.push(t),t.parent=e},insertBefore(e,t,n){const r=e.children.indexOf(n),{prev:i}=n;i&&(i.next=t,t.prev=i),n.prev=t,t.next=n,e.children.splice(r,0,t),t.parent=e},setTemplateContent(e,t){Gl.appendChild(e,t)},getTemplateContent:e=>e.children[0],setDocumentType(e,t,n,r){const i=function(e,t,n){let r="!DOCTYPE ";return e&&(r+=e),t?r+=` PUBLIC ${Hl(t)}`:n&&(r+=" SYSTEM"),n&&(r+=` ${Hl(n)}`),r}(t,n,r);let s=e.children.find((e=>y(e)&&"!doctype"===e.name));s?s.data=null!=i?i:null:(s=new _("!doctype",i),Gl.appendChild(e,s)),s["x-name"]=null!=t?t:void 0,s["x-publicId"]=null!=n?n:void 0,s["x-systemId"]=null!=r?r:void 0},setDocumentMode(e,t){e["x-mode"]=t},getDocumentMode:e=>e["x-mode"],detachNode(e){if(e.parent){const t=e.parent.children.indexOf(e),{prev:n,next:r}=e;e.prev=null,e.next=null,n&&(n.next=r),r&&(r.prev=n),e.parent.children.splice(t,1),e.parent=null}},insertText(e,t){const n=e.children[e.children.length-1];n&&b(n)?n.data+=t:Gl.appendChild(e,Ul(t))},insertTextBefore(e,t,n){const r=e.children[e.children.indexOf(n)-1];r&&b(r)?r.data+=t:Gl.insertBefore(e,Ul(t),n)},adoptAttributes(e,t){for(let n=0;ne.children[0],getChildNodes:e=>e.children,getParentNode:e=>e.parent,getAttrList:e=>e.attributes,getTagName:e=>e.name,getNamespaceURI:e=>e.namespace,getTextNodeContent:e=>e.data,getCommentNodeContent:e=>e.data,getDocumentTypeNodeName(e){var t;return null!==(t=e["x-name"])&&void 0!==t?t:""},getDocumentTypeNodePublicId(e){var t;return null!==(t=e["x-publicId"])&&void 0!==t?t:""},getDocumentTypeNodeSystemId(e){var t;return null!==(t=e["x-systemId"])&&void 0!==t?t:""},isDocumentTypeNode:e=>y(e)&&"!doctype"===e.name,setNodeSourceCodeLocation(e,t){t&&(e.startIndex=t.startOffset,e.endIndex=t.endOffset),e.sourceCodeLocation=t},getNodeSourceCodeLocation:e=>e.sourceCodeLocation,updateNodeSourceCodeLocation(e,t){null!=t.endOffset&&(e.endIndex=t.endOffset),e.sourceCodeLocation={...e.sourceCodeLocation,...t}}};var Yl=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,s=t.length;i=Kl.Zero&&e<=Kl.Nine}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Num=35]="Num",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(Kl||(Kl={})),function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.SpecialStartSequence=23]="SpecialStartSequence",e[e.InSpecialTag=24]="InSpecialTag",e[e.BeforeEntity=25]="BeforeEntity",e[e.BeforeNumericEntity=26]="BeforeNumericEntity",e[e.InNamedEntity=27]="InNamedEntity",e[e.InNumericEntity=28]="InNumericEntity",e[e.InHexEntity=29]="InHexEntity"}(jl||(jl={})),function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(Vl||(Vl={}));const zl={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])};class Jl{constructor({xmlMode:e=!1,decodeEntities:t=!0},n){this.cbs=n,this.state=jl.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=jl.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=e,this.decodeEntities=t,this.entityTrie=e?xo:wo}reset(){this.state=jl.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=jl.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=jl.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===Kl.Amp&&(this.state=jl.BeforeEntity)}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?Xl(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=jl.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===Kl.Gt||Ql(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=Kl.LowerA&&e<=Kl.LowerZ||e>=Kl.UpperA&&e<=Kl.UpperZ}(e)}startSpecial(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=jl.SpecialStartSequence}stateBeforeTagName(e){if(e===Kl.ExclamationMark)this.state=jl.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===Kl.Questionmark)this.state=jl.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){const t=32|e;this.sectionStart=this.index,this.xmlMode||t!==zl.TitleEnd[2]?this.state=this.xmlMode||t!==zl.ScriptEnd[2]?jl.InTagName:jl.BeforeSpecialS:this.startSpecial(zl.TitleEnd,3)}else e===Kl.Slash?this.state=jl.BeforeClosingTagName:(this.state=jl.Text,this.stateText(e))}stateInTagName(e){Xl(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){Ql(e)||(e===Kl.Gt?this.state=jl.Text:(this.state=this.isTagStartChar(e)?jl.InClosingTagName:jl.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===Kl.Gt||Ql(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=jl.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.state=jl.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===Kl.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=jl.InSpecialTag,this.sequenceIndex=0):this.state=jl.Text,this.baseState=this.state,this.sectionStart=this.index+1):e===Kl.Slash?this.state=jl.InSelfClosingTag:Ql(e)||(this.state=jl.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===Kl.Gt?(this.cbs.onselfclosingtag(this.index),this.state=jl.Text,this.baseState=jl.Text,this.sectionStart=this.index+1,this.isSpecial=!1):Ql(e)||(this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===Kl.Eq||Xl(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=jl.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===Kl.Eq?this.state=jl.BeforeAttributeValue:e===Kl.Slash||e===Kl.Gt?(this.cbs.onattribend(Vl.NoValue,this.index),this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e)):Ql(e)||(this.cbs.onattribend(Vl.NoValue,this.index),this.state=jl.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===Kl.DoubleQuote?(this.state=jl.InAttributeValueDq,this.sectionStart=this.index+1):e===Kl.SingleQuote?(this.state=jl.InAttributeValueSq,this.sectionStart=this.index+1):Ql(e)||(this.sectionStart=this.index,this.state=jl.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===Kl.DoubleQuote?Vl.Double:Vl.Single,this.index),this.state=jl.BeforeAttributeName):this.decodeEntities&&e===Kl.Amp&&(this.baseState=this.state,this.state=jl.BeforeEntity)}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,Kl.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,Kl.SingleQuote)}stateInAttributeValueNoQuotes(e){Ql(e)||e===Kl.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(Vl.Unquoted,this.index),this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===Kl.Amp&&(this.baseState=this.state,this.state=jl.BeforeEntity)}stateBeforeDeclaration(e){e===Kl.OpeningSquareBracket?(this.state=jl.CDATASequence,this.sequenceIndex=0):this.state=e===Kl.Dash?jl.BeforeComment:jl.InDeclaration}stateInDeclaration(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=jl.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=jl.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===Kl.Dash?(this.state=jl.InCommentLike,this.currentSequence=zl.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=jl.InDeclaration}stateInSpecialComment(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=jl.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){const t=32|e;t===zl.ScriptEnd[3]?this.startSpecial(zl.ScriptEnd,4):t===zl.StyleEnd[3]?this.startSpecial(zl.StyleEnd,4):(this.state=jl.InTagName,this.stateInTagName(e))}stateBeforeEntity(e){this.entityExcess=1,this.entityResult=0,e===Kl.Num?this.state=jl.BeforeNumericEntity:e===Kl.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=jl.InNamedEntity,this.stateInNamedEntity(e))}stateInNamedEntity(e){if(this.entityExcess+=1,this.trieIndex=Oo(this.entityTrie,this.trieCurrent,this.trieIndex+1,e),this.trieIndex<0)return this.emitNamedEntity(),void this.index--;this.trieCurrent=this.entityTrie[this.trieIndex];const t=this.trieCurrent&yo.VALUE_LENGTH;if(t){const n=(t>>14)-1;if(this.allowLegacyEntity()||e===Kl.Semi){const e=this.index-this.entityExcess+1;e>this.sectionStart&&this.emitPartial(this.sectionStart,e),this.entityResult=this.trieIndex,this.trieIndex+=n,this.entityExcess=0,this.sectionStart=this.index+1,0===n&&this.emitNamedEntity()}else this.trieIndex+=n}}emitNamedEntity(){if(this.state=this.baseState,0===this.entityResult)return;switch((this.entityTrie[this.entityResult]&yo.VALUE_LENGTH)>>14){case 1:this.emitCodePoint(this.entityTrie[this.entityResult]&~yo.VALUE_LENGTH);break;case 2:this.emitCodePoint(this.entityTrie[this.entityResult+1]);break;case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(e){(32|e)===Kl.LowerX?(this.entityExcess++,this.state=jl.InHexEntity):(this.state=jl.InNumericEntity,this.stateInNumericEntity(e))}emitNumericEntity(e){const t=this.index-this.entityExcess-1;t+2+Number(this.state===jl.InHexEntity)!==this.index&&(t>this.sectionStart&&this.emitPartial(this.sectionStart,t),this.sectionStart=this.index+Number(e),this.emitCodePoint(ko(this.entityResult))),this.state=this.baseState}stateInNumericEntity(e){e===Kl.Semi?this.emitNumericEntity(!0):$l(e)?(this.entityResult=10*this.entityResult+(e-Kl.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(e){e===Kl.Semi?this.emitNumericEntity(!0):$l(e)?(this.entityResult=16*this.entityResult+(e-Kl.Zero),this.entityExcess++):!function(e){return e>=Kl.UpperA&&e<=Kl.UpperF||e>=Kl.LowerA&&e<=Kl.LowerF}(e)?(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--):(this.entityResult=16*this.entityResult+((32|e)-Kl.LowerA+10),this.entityExcess++)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===jl.Text||this.baseState===jl.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===jl.Text||this.state===jl.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==jl.InAttributeValueDq&&this.state!==jl.InAttributeValueSq&&this.state!==jl.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index0&&s.has(this.stack[this.stack.length-1]);){const e=this.stack.pop();null===(n=(t=this.cbs).onclosetag)||void 0===n||n.call(t,e,!0)}this.isVoidElement(e)||(this.stack.push(e),ah.has(e)?this.foreignContext.push(!0):oh.has(e)&&this.foreignContext.push(!1)),null===(i=(r=this.cbs).onopentagname)||void 0===i||i.call(r,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,n;this.startIndex=this.openTagStart,this.attribs&&(null===(n=(t=this.cbs).onopentag)||void 0===n||n.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var n,r,i,s,a,o;this.endIndex=t;let c=this.getSlice(e,t);if(this.lowerCaseTagNames&&(c=c.toLowerCase()),(ah.has(c)||oh.has(c))&&this.foreignContext.pop(),this.isVoidElement(c))this.options.xmlMode||"br"!==c||(null===(r=(n=this.cbs).onopentagname)||void 0===r||r.call(n,"br"),null===(s=(i=this.cbs).onopentag)||void 0===s||s.call(i,"br",{},!0),null===(o=(a=this.cbs).onclosetag)||void 0===o||o.call(a,"br",!1));else{const e=this.stack.lastIndexOf(c);if(-1!==e)if(this.cbs.onclosetag){let t=this.stack.length-e;for(;t--;)this.cbs.onclosetag(this.stack.pop(),0!==t)}else this.stack.length=e;else this.options.xmlMode||"p"!==c||(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,n;const r=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===r&&(null===(n=(t=this.cbs).onclosetag)||void 0===n||n.call(t,r,!e),this.stack.pop())}onattribname(e,t){this.startIndex=e;const n=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=Lo(e)}onattribend(e,t){var n,r;this.endIndex=t,null===(r=(n=this.cbs).onattribute)||void 0===r||r.call(n,this.attribname,this.attribvalue,e===Vl.Double?'"':e===Vl.Single?"'":e===Vl.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){const t=e.search(ch);let n=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(e,t){this.endIndex=t;const n=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${e}`,`!${n}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;const n=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${e}`,`?${n}`)}this.startIndex=t+1}oncomment(e,t,n){var r,i,s,a;this.endIndex=t,null===(i=(r=this.cbs).oncomment)||void 0===i||i.call(r,this.getSlice(e,t-n)),null===(a=(s=this.cbs).oncommentend)||void 0===a||a.call(s),this.startIndex=t+1}oncdata(e,t,n){var r,i,s,a,o,c,l,h,u,p;this.endIndex=t;const f=this.getSlice(e,t-n);this.options.xmlMode||this.options.recognizeCDATA?(null===(i=(r=this.cbs).oncdatastart)||void 0===i||i.call(r),null===(a=(s=this.cbs).ontext)||void 0===a||a.call(s,f),null===(c=(o=this.cbs).oncdataend)||void 0===c||c.call(o)):(null===(h=(l=this.cbs).oncomment)||void 0===h||h.call(l,`[CDATA[${f}]]`),null===(p=(u=this.cbs).oncommentend)||void 0===p||p.call(u)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=this.stack.length;e>0;this.cbs.onclosetag(this.stack[--e],!0));}null===(t=(e=this.cbs).onend)||void 0===t||t.call(e)}reset(){var e,t,n,r;null===(t=(e=this.cbs).onreset)||void 0===t||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,null===(r=(n=this.cbs).onparserinit)||void 0===r||r.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(e){this.reset(),this.end(e)}getSlice(e,t){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,t-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,n;this.ended?null===(n=(t=this.cbs).onerror)||void 0===n||n.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))}end(e){var t,n;this.ended?null===(n=(t=this.cbs).onerror)||void 0===n||n.call(t,Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); + } + } else { + // Copy one word at a time + for (var j = 0; j < thatSigBytes; j += 4) { + thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2]; + } + } + this.sigBytes += thatSigBytes; + + // Chainable + return this; + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function () { + // Shortcuts + var words = this.words; + var sigBytes = this.sigBytes; + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); + words.length = Math.ceil(sigBytes / 4); + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone.words = this.words.slice(0); + + return clone; + }, + + /** + * Creates a word array filled with random bytes. + * + * @param {number} nBytes The number of random bytes to generate. + * + * @return {WordArray} The random word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.random(16); + */ + random: function (nBytes) { + var words = []; + + for (var i = 0; i < nBytes; i += 4) { + words.push(cryptoSecureRandomInt()); + } + + return new WordArray.init(words, nBytes); + } + }); + + /** + * Encoder namespace. + */ + var C_enc = C.enc = {}; + + /** + * Hex encoding strategy. + */ + var Hex = C_enc.Hex = { + /** + * Converts a word array to a hex string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The hex string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.enc.Hex.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var hexChars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars.push((bite >>> 4).toString(16)); + hexChars.push((bite & 0x0f).toString(16)); + } + + return hexChars.join(''); + }, + + /** + * Converts a hex string to a word array. + * + * @param {string} hexStr The hex string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Hex.parse(hexString); + */ + parse: function (hexStr) { + // Shortcut + var hexStrLength = hexStr.length; + + // Convert + var words = []; + for (var i = 0; i < hexStrLength; i += 2) { + words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4); + } + + return new WordArray.init(words, hexStrLength / 2); + } + }; + + /** + * Latin1 encoding strategy. + */ + var Latin1 = C_enc.Latin1 = { + /** + * Converts a word array to a Latin1 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Latin1 string. + * + * @static + * + * @example + * + * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var latin1Chars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + latin1Chars.push(String.fromCharCode(bite)); + } + + return latin1Chars.join(''); + }, + + /** + * Converts a Latin1 string to a word array. + * + * @param {string} latin1Str The Latin1 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); + */ + parse: function (latin1Str) { + // Shortcut + var latin1StrLength = latin1Str.length; + + // Convert + var words = []; + for (var i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); + } + + return new WordArray.init(words, latin1StrLength); + } + }; + + /** + * UTF-8 encoding strategy. + */ + var Utf8 = C_enc.Utf8 = { + /** + * Converts a word array to a UTF-8 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-8 string. + * + * @static + * + * @example + * + * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); + */ + stringify: function (wordArray) { + try { + return decodeURIComponent(escape(Latin1.stringify(wordArray))); + } catch (e) { + throw new Error('Malformed UTF-8 data'); + } + }, + + /** + * Converts a UTF-8 string to a word array. + * + * @param {string} utf8Str The UTF-8 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); + */ + parse: function (utf8Str) { + return Latin1.parse(unescape(encodeURIComponent(utf8Str))); + } + }; + + /** + * Abstract buffered block algorithm template. + * + * The property blockSize must be implemented in a concrete subtype. + * + * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0 + */ + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({ + /** + * Resets this block algorithm's data buffer to its initial state. + * + * @example + * + * bufferedBlockAlgorithm.reset(); + */ + reset: function () { + // Initial values + this._data = new WordArray.init(); + this._nDataBytes = 0; + }, + + /** + * Adds new data to this block algorithm's buffer. + * + * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8. + * + * @example + * + * bufferedBlockAlgorithm._append('data'); + * bufferedBlockAlgorithm._append(wordArray); + */ + _append: function (data) { + // Convert string to WordArray, else assume WordArray already + if (typeof data == 'string') { + data = Utf8.parse(data); + } + + // Append + this._data.concat(data); + this._nDataBytes += data.sigBytes; + }, + + /** + * Processes available data blocks. + * + * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype. + * + * @param {boolean} doFlush Whether all blocks and partial blocks should be processed. + * + * @return {WordArray} The processed data. + * + * @example + * + * var processedData = bufferedBlockAlgorithm._process(); + * var processedData = bufferedBlockAlgorithm._process(!!'flush'); + */ + _process: function (doFlush) { + var processedWords; + + // Shortcuts + var data = this._data; + var dataWords = data.words; + var dataSigBytes = data.sigBytes; + var blockSize = this.blockSize; + var blockSizeBytes = blockSize * 4; + + // Count blocks ready + var nBlocksReady = dataSigBytes / blockSizeBytes; + if (doFlush) { + // Round up to include partial blocks + nBlocksReady = Math.ceil(nBlocksReady); + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize; + + // Count bytes ready + var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); + + // Process blocks + if (nWordsReady) { + for (var offset = 0; offset < nWordsReady; offset += blockSize) { + // Perform concrete-algorithm logic + this._doProcessBlock(dataWords, offset); + } + + // Remove processed words + processedWords = dataWords.splice(0, nWordsReady); + data.sigBytes -= nBytesReady; + } + + // Return processed words + return new WordArray.init(processedWords, nBytesReady); + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = bufferedBlockAlgorithm.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone._data = this._data.clone(); + + return clone; + }, + + _minBufferSize: 0 + }); + + /** + * Abstract hasher template. + * + * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits) + */ + var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + */ + cfg: Base.extend(), + + /** + * Initializes a newly created hasher. + * + * @param {Object} cfg (Optional) The configuration options to use for this hash computation. + * + * @example + * + * var hasher = CryptoJS.algo.SHA256.create(); + */ + init: function (cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Set initial values + this.reset(); + }, + + /** + * Resets this hasher to its initial state. + * + * @example + * + * hasher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-hasher logic + this._doReset(); + }, + + /** + * Updates this hasher with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {Hasher} This hasher. + * + * @example + * + * hasher.update('message'); + * hasher.update(wordArray); + */ + update: function (messageUpdate) { + // Append + this._append(messageUpdate); + + // Update the hash + this._process(); + + // Chainable + return this; + }, + + /** + * Finalizes the hash computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The hash. + * + * @example + * + * var hash = hasher.finalize(); + * var hash = hasher.finalize('message'); + * var hash = hasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Final message update + if (messageUpdate) { + this._append(messageUpdate); + } + + // Perform concrete-hasher logic + var hash = this._doFinalize(); + + return hash; + }, + + blockSize: 512/32, + + /** + * Creates a shortcut function to a hasher's object interface. + * + * @param {Hasher} hasher The hasher to create a helper for. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); + */ + _createHelper: function (hasher) { + return function (message, cfg) { + return new hasher.init(cfg).finalize(message); + }; + }, + + /** + * Creates a shortcut function to the HMAC's object interface. + * + * @param {Hasher} hasher The hasher to use in this HMAC helper. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); + */ + _createHmacHelper: function (hasher) { + return function (message, key) { + return new C_algo.HMAC.init(hasher, key).finalize(message); + }; + } + }); + + /** + * Algorithm namespace. + */ + var C_algo = C.algo = {}; + + return C; + }(Math)); + + + (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var X32WordArray = C_lib.WordArray; + + /** + * x64 namespace. + */ + var C_x64 = C.x64 = {}; + + /** + * A 64-bit word. + */ + var X64Word = C_x64.Word = Base.extend({ + /** + * Initializes a newly created 64-bit word. + * + * @param {number} high The high 32 bits. + * @param {number} low The low 32 bits. + * + * @example + * + * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607); + */ + init: function (high, low) { + this.high = high; + this.low = low; + } + + /** + * Bitwise NOTs this word. + * + * @return {X64Word} A new x64-Word object after negating. + * + * @example + * + * var negated = x64Word.not(); + */ + // not: function () { + // var high = ~this.high; + // var low = ~this.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ANDs this word with the passed word. + * + * @param {X64Word} word The x64-Word to AND with this word. + * + * @return {X64Word} A new x64-Word object after ANDing. + * + * @example + * + * var anded = x64Word.and(anotherX64Word); + */ + // and: function (word) { + // var high = this.high & word.high; + // var low = this.low & word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to OR with this word. + * + * @return {X64Word} A new x64-Word object after ORing. + * + * @example + * + * var ored = x64Word.or(anotherX64Word); + */ + // or: function (word) { + // var high = this.high | word.high; + // var low = this.low | word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise XORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to XOR with this word. + * + * @return {X64Word} A new x64-Word object after XORing. + * + * @example + * + * var xored = x64Word.xor(anotherX64Word); + */ + // xor: function (word) { + // var high = this.high ^ word.high; + // var low = this.low ^ word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the left. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftL(25); + */ + // shiftL: function (n) { + // if (n < 32) { + // var high = (this.high << n) | (this.low >>> (32 - n)); + // var low = this.low << n; + // } else { + // var high = this.low << (n - 32); + // var low = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the right. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftR(7); + */ + // shiftR: function (n) { + // if (n < 32) { + // var low = (this.low >>> n) | (this.high << (32 - n)); + // var high = this.high >>> n; + // } else { + // var low = this.high >>> (n - 32); + // var high = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Rotates this word n bits to the left. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotL(25); + */ + // rotL: function (n) { + // return this.shiftL(n).or(this.shiftR(64 - n)); + // }, + + /** + * Rotates this word n bits to the right. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotR(7); + */ + // rotR: function (n) { + // return this.shiftR(n).or(this.shiftL(64 - n)); + // }, + + /** + * Adds this word with the passed word. + * + * @param {X64Word} word The x64-Word to add with this word. + * + * @return {X64Word} A new x64-Word object after adding. + * + * @example + * + * var added = x64Word.add(anotherX64Word); + */ + // add: function (word) { + // var low = (this.low + word.low) | 0; + // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0; + // var high = (this.high + word.high + carry) | 0; + + // return X64Word.create(high, low); + // } + }); + + /** + * An array of 64-bit words. + * + * @property {Array} words The array of CryptoJS.x64.Word objects. + * @property {number} sigBytes The number of significant bytes in this word array. + */ + var X64WordArray = C_x64.WordArray = Base.extend({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.x64.WordArray.create(); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ]); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ], 10); + */ + init: function (words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 8; + } + }, + + /** + * Converts this 64-bit word array to a 32-bit word array. + * + * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array. + * + * @example + * + * var x32WordArray = x64WordArray.toX32(); + */ + toX32: function () { + // Shortcuts + var x64Words = this.words; + var x64WordsLength = x64Words.length; + + // Convert + var x32Words = []; + for (var i = 0; i < x64WordsLength; i++) { + var x64Word = x64Words[i]; + x32Words.push(x64Word.high); + x32Words.push(x64Word.low); + } + + return X32WordArray.create(x32Words, this.sigBytes); + }, + + /** + * Creates a copy of this word array. + * + * @return {X64WordArray} The clone. + * + * @example + * + * var clone = x64WordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + + // Clone "words" array + var words = clone.words = this.words.slice(0); + + // Clone each X64Word object + var wordsLength = words.length; + for (var i = 0; i < wordsLength; i++) { + words[i] = words[i].clone(); + } + + return clone; + } + }); + }()); + + + (function () { + // Check if typed arrays are supported + if (typeof ArrayBuffer != 'function') { + return; + } + + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + + // Reference original init + var superInit = WordArray.init; + + // Augment WordArray.init to handle typed arrays + var subInit = WordArray.init = function (typedArray) { + // Convert buffers to uint8 + if (typedArray instanceof ArrayBuffer) { + typedArray = new Uint8Array(typedArray); + } + + // Convert other array views to uint8 + if ( + typedArray instanceof Int8Array || + (typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray) || + typedArray instanceof Int16Array || + typedArray instanceof Uint16Array || + typedArray instanceof Int32Array || + typedArray instanceof Uint32Array || + typedArray instanceof Float32Array || + typedArray instanceof Float64Array + ) { + typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); + } + + // Handle Uint8Array + if (typedArray instanceof Uint8Array) { + // Shortcut + var typedArrayByteLength = typedArray.byteLength; + + // Extract bytes + var words = []; + for (var i = 0; i < typedArrayByteLength; i++) { + words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8); + } + + // Initialize this word array + superInit.call(this, words, typedArrayByteLength); + } else { + // Else call normal init + superInit.apply(this, arguments); + } + }; + + subInit.prototype = WordArray; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * UTF-16 BE encoding strategy. + */ + var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = { + /** + * Converts a word array to a UTF-16 BE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 BE string. + * + * @static + * + * @example + * + * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff; + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 BE string to a word array. + * + * @param {string} utf16Str The UTF-16 BE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16.parse(utf16String); + */ + parse: function (utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + var words = []; + for (var i = 0; i < utf16StrLength; i++) { + words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16); + } + + return WordArray.create(words, utf16StrLength * 2); + } + }; + + /** + * UTF-16 LE encoding strategy. + */ + C_enc.Utf16LE = { + /** + * Converts a word array to a UTF-16 LE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 LE string. + * + * @static + * + * @example + * + * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff); + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 LE string to a word array. + * + * @param {string} utf16Str The UTF-16 LE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str); + */ + parse: function (utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + var words = []; + for (var i = 0; i < utf16StrLength; i++) { + words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16)); + } + + return WordArray.create(words, utf16StrLength * 2); + } + }; + + function swapEndian(word) { + return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff); + } + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * Base64 encoding strategy. + */ + var Base64 = C_enc.Base64 = { + /** + * Converts a word array to a Base64 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Base64 string. + * + * @static + * + * @example + * + * var base64String = CryptoJS.enc.Base64.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + var map = this._map; + + // Clamp excess bits + wordArray.clamp(); + + // Convert + var base64Chars = []; + for (var i = 0; i < sigBytes; i += 3) { + var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; + var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; + + var triplet = (byte1 << 16) | (byte2 << 8) | byte3; + + for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) { + base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); + } + } + + // Add padding + var paddingChar = map.charAt(64); + if (paddingChar) { + while (base64Chars.length % 4) { + base64Chars.push(paddingChar); + } + } + + return base64Chars.join(''); + }, + + /** + * Converts a Base64 string to a word array. + * + * @param {string} base64Str The Base64 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Base64.parse(base64String); + */ + parse: function (base64Str) { + // Shortcuts + var base64StrLength = base64Str.length; + var map = this._map; + var reverseMap = this._reverseMap; + + if (!reverseMap) { + reverseMap = this._reverseMap = []; + for (var j = 0; j < map.length; j++) { + reverseMap[map.charCodeAt(j)] = j; + } + } + + // Ignore padding + var paddingChar = map.charAt(64); + if (paddingChar) { + var paddingIndex = base64Str.indexOf(paddingChar); + if (paddingIndex !== -1) { + base64StrLength = paddingIndex; + } + } + + // Convert + return parseLoop(base64Str, base64StrLength, reverseMap); + + }, + + _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' + }; + + function parseLoop(base64Str, base64StrLength, reverseMap) { + var words = []; + var nBytes = 0; + for (var i = 0; i < base64StrLength; i++) { + if (i % 4) { + var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2); + var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2); + var bitsCombined = bits1 | bits2; + words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8); + nBytes++; + } + } + return WordArray.create(words, nBytes); + } + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * Base64url encoding strategy. + */ + var Base64url = C_enc.Base64url = { + /** + * Converts a word array to a Base64url string. + * + * @param {WordArray} wordArray The word array. + * + * @param {boolean} urlSafe Whether to use url safe + * + * @return {string} The Base64url string. + * + * @static + * + * @example + * + * var base64String = CryptoJS.enc.Base64url.stringify(wordArray); + */ + stringify: function (wordArray, urlSafe=true) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + var map = urlSafe ? this._safe_map : this._map; + + // Clamp excess bits + wordArray.clamp(); + + // Convert + var base64Chars = []; + for (var i = 0; i < sigBytes; i += 3) { + var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; + var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; + + var triplet = (byte1 << 16) | (byte2 << 8) | byte3; + + for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) { + base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); + } + } + + // Add padding + var paddingChar = map.charAt(64); + if (paddingChar) { + while (base64Chars.length % 4) { + base64Chars.push(paddingChar); + } + } + + return base64Chars.join(''); + }, + + /** + * Converts a Base64url string to a word array. + * + * @param {string} base64Str The Base64url string. + * + * @param {boolean} urlSafe Whether to use url safe + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Base64url.parse(base64String); + */ + parse: function (base64Str, urlSafe=true) { + // Shortcuts + var base64StrLength = base64Str.length; + var map = urlSafe ? this._safe_map : this._map; + var reverseMap = this._reverseMap; + + if (!reverseMap) { + reverseMap = this._reverseMap = []; + for (var j = 0; j < map.length; j++) { + reverseMap[map.charCodeAt(j)] = j; + } + } + + // Ignore padding + var paddingChar = map.charAt(64); + if (paddingChar) { + var paddingIndex = base64Str.indexOf(paddingChar); + if (paddingIndex !== -1) { + base64StrLength = paddingIndex; + } + } + + // Convert + return parseLoop(base64Str, base64StrLength, reverseMap); + + }, + + _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', + _safe_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_', + }; + + function parseLoop(base64Str, base64StrLength, reverseMap) { + var words = []; + var nBytes = 0; + for (var i = 0; i < base64StrLength; i++) { + if (i % 4) { + var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2); + var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2); + var bitsCombined = bits1 | bits2; + words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8); + nBytes++; + } + } + return WordArray.create(words, nBytes); + } + }()); + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var T = []; + + // Compute constants + (function () { + for (var i = 0; i < 64; i++) { + T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0; + } + }()); + + /** + * MD5 hash algorithm. + */ + var MD5 = C_algo.MD5 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476 + ]); + }, + + _doProcessBlock: function (M, offset) { + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + + // Shortcuts + var H = this._hash.words; + + var M_offset_0 = M[offset + 0]; + var M_offset_1 = M[offset + 1]; + var M_offset_2 = M[offset + 2]; + var M_offset_3 = M[offset + 3]; + var M_offset_4 = M[offset + 4]; + var M_offset_5 = M[offset + 5]; + var M_offset_6 = M[offset + 6]; + var M_offset_7 = M[offset + 7]; + var M_offset_8 = M[offset + 8]; + var M_offset_9 = M[offset + 9]; + var M_offset_10 = M[offset + 10]; + var M_offset_11 = M[offset + 11]; + var M_offset_12 = M[offset + 12]; + var M_offset_13 = M[offset + 13]; + var M_offset_14 = M[offset + 14]; + var M_offset_15 = M[offset + 15]; + + // Working varialbes + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + + // Computation + a = FF(a, b, c, d, M_offset_0, 7, T[0]); + d = FF(d, a, b, c, M_offset_1, 12, T[1]); + c = FF(c, d, a, b, M_offset_2, 17, T[2]); + b = FF(b, c, d, a, M_offset_3, 22, T[3]); + a = FF(a, b, c, d, M_offset_4, 7, T[4]); + d = FF(d, a, b, c, M_offset_5, 12, T[5]); + c = FF(c, d, a, b, M_offset_6, 17, T[6]); + b = FF(b, c, d, a, M_offset_7, 22, T[7]); + a = FF(a, b, c, d, M_offset_8, 7, T[8]); + d = FF(d, a, b, c, M_offset_9, 12, T[9]); + c = FF(c, d, a, b, M_offset_10, 17, T[10]); + b = FF(b, c, d, a, M_offset_11, 22, T[11]); + a = FF(a, b, c, d, M_offset_12, 7, T[12]); + d = FF(d, a, b, c, M_offset_13, 12, T[13]); + c = FF(c, d, a, b, M_offset_14, 17, T[14]); + b = FF(b, c, d, a, M_offset_15, 22, T[15]); + + a = GG(a, b, c, d, M_offset_1, 5, T[16]); + d = GG(d, a, b, c, M_offset_6, 9, T[17]); + c = GG(c, d, a, b, M_offset_11, 14, T[18]); + b = GG(b, c, d, a, M_offset_0, 20, T[19]); + a = GG(a, b, c, d, M_offset_5, 5, T[20]); + d = GG(d, a, b, c, M_offset_10, 9, T[21]); + c = GG(c, d, a, b, M_offset_15, 14, T[22]); + b = GG(b, c, d, a, M_offset_4, 20, T[23]); + a = GG(a, b, c, d, M_offset_9, 5, T[24]); + d = GG(d, a, b, c, M_offset_14, 9, T[25]); + c = GG(c, d, a, b, M_offset_3, 14, T[26]); + b = GG(b, c, d, a, M_offset_8, 20, T[27]); + a = GG(a, b, c, d, M_offset_13, 5, T[28]); + d = GG(d, a, b, c, M_offset_2, 9, T[29]); + c = GG(c, d, a, b, M_offset_7, 14, T[30]); + b = GG(b, c, d, a, M_offset_12, 20, T[31]); + + a = HH(a, b, c, d, M_offset_5, 4, T[32]); + d = HH(d, a, b, c, M_offset_8, 11, T[33]); + c = HH(c, d, a, b, M_offset_11, 16, T[34]); + b = HH(b, c, d, a, M_offset_14, 23, T[35]); + a = HH(a, b, c, d, M_offset_1, 4, T[36]); + d = HH(d, a, b, c, M_offset_4, 11, T[37]); + c = HH(c, d, a, b, M_offset_7, 16, T[38]); + b = HH(b, c, d, a, M_offset_10, 23, T[39]); + a = HH(a, b, c, d, M_offset_13, 4, T[40]); + d = HH(d, a, b, c, M_offset_0, 11, T[41]); + c = HH(c, d, a, b, M_offset_3, 16, T[42]); + b = HH(b, c, d, a, M_offset_6, 23, T[43]); + a = HH(a, b, c, d, M_offset_9, 4, T[44]); + d = HH(d, a, b, c, M_offset_12, 11, T[45]); + c = HH(c, d, a, b, M_offset_15, 16, T[46]); + b = HH(b, c, d, a, M_offset_2, 23, T[47]); + + a = II(a, b, c, d, M_offset_0, 6, T[48]); + d = II(d, a, b, c, M_offset_7, 10, T[49]); + c = II(c, d, a, b, M_offset_14, 15, T[50]); + b = II(b, c, d, a, M_offset_5, 21, T[51]); + a = II(a, b, c, d, M_offset_12, 6, T[52]); + d = II(d, a, b, c, M_offset_3, 10, T[53]); + c = II(c, d, a, b, M_offset_10, 15, T[54]); + b = II(b, c, d, a, M_offset_1, 21, T[55]); + a = II(a, b, c, d, M_offset_8, 6, T[56]); + d = II(d, a, b, c, M_offset_15, 10, T[57]); + c = II(c, d, a, b, M_offset_6, 15, T[58]); + b = II(b, c, d, a, M_offset_13, 21, T[59]); + a = II(a, b, c, d, M_offset_4, 6, T[60]); + d = II(d, a, b, c, M_offset_11, 10, T[61]); + c = II(c, d, a, b, M_offset_2, 15, T[62]); + b = II(b, c, d, a, M_offset_9, 21, T[63]); + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + + var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000); + var nBitsTotalL = nBitsTotal; + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = ( + (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) | + (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00) + ); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) | + (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00) + ); + + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 4; i++) { + // Shortcut + var H_i = H[i]; + + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + function FF(a, b, c, d, x, s, t) { + var n = a + ((b & c) | (~b & d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function GG(a, b, c, d, x, s, t) { + var n = a + ((b & d) | (c & ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function HH(a, b, c, d, x, s, t) { + var n = a + (b ^ c ^ d) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function II(a, b, c, d, x, s, t) { + var n = a + (c ^ (b | ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.MD5('message'); + * var hash = CryptoJS.MD5(wordArray); + */ + C.MD5 = Hasher._createHelper(MD5); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacMD5(message, key); + */ + C.HmacMD5 = Hasher._createHmacHelper(MD5); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Reusable object + var W = []; + + /** + * SHA-1 hash algorithm. + */ + var SHA1 = C_algo.SHA1 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476, + 0xc3d2e1f0 + ]); + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + + // Computation + for (var i = 0; i < 80; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; + W[i] = (n << 1) | (n >>> 31); + } + + var t = ((a << 5) | (a >>> 27)) + e + W[i]; + if (i < 20) { + t += ((b & c) | (~b & d)) + 0x5a827999; + } else if (i < 40) { + t += (b ^ c ^ d) + 0x6ed9eba1; + } else if (i < 60) { + t += ((b & c) | (b & d) | (c & d)) - 0x70e44324; + } else /* if (i < 80) */ { + t += (b ^ c ^ d) - 0x359d3e2a; + } + + e = d; + d = c; + c = (b << 30) | (b >>> 2); + b = a; + a = t; + } + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + H[4] = (H[4] + e) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + return this._hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA1('message'); + * var hash = CryptoJS.SHA1(wordArray); + */ + C.SHA1 = Hasher._createHelper(SHA1); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA1(message, key); + */ + C.HmacSHA1 = Hasher._createHmacHelper(SHA1); + }()); + + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Initialization and round constants tables + var H = []; + var K = []; + + // Compute constants + (function () { + function isPrime(n) { + var sqrtN = Math.sqrt(n); + for (var factor = 2; factor <= sqrtN; factor++) { + if (!(n % factor)) { + return false; + } + } + + return true; + } + + function getFractionalBits(n) { + return ((n - (n | 0)) * 0x100000000) | 0; + } + + var n = 2; + var nPrime = 0; + while (nPrime < 64) { + if (isPrime(n)) { + if (nPrime < 8) { + H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2)); + } + K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3)); + + nPrime++; + } + + n++; + } + }()); + + // Reusable object + var W = []; + + /** + * SHA-256 hash algorithm. + */ + var SHA256 = C_algo.SHA256 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init(H.slice(0)); + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + var f = H[5]; + var g = H[6]; + var h = H[7]; + + // Computation + for (var i = 0; i < 64; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + var gamma0x = W[i - 15]; + var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^ + ((gamma0x << 14) | (gamma0x >>> 18)) ^ + (gamma0x >>> 3); + + var gamma1x = W[i - 2]; + var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^ + ((gamma1x << 13) | (gamma1x >>> 19)) ^ + (gamma1x >>> 10); + + W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; + } + + var ch = (e & f) ^ (~e & g); + var maj = (a & b) ^ (a & c) ^ (b & c); + + var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22)); + var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25)); + + var t1 = h + sigma1 + ch + K[i] + W[i]; + var t2 = sigma0 + maj; + + h = g; + g = f; + f = e; + e = (d + t1) | 0; + d = c; + c = b; + b = a; + a = (t1 + t2) | 0; + } + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + H[4] = (H[4] + e) | 0; + H[5] = (H[5] + f) | 0; + H[6] = (H[6] + g) | 0; + H[7] = (H[7] + h) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + return this._hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA256('message'); + * var hash = CryptoJS.SHA256(wordArray); + */ + C.SHA256 = Hasher._createHelper(SHA256); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA256(message, key); + */ + C.HmacSHA256 = Hasher._createHmacHelper(SHA256); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var SHA256 = C_algo.SHA256; + + /** + * SHA-224 hash algorithm. + */ + var SHA224 = C_algo.SHA224 = SHA256.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 + ]); + }, + + _doFinalize: function () { + var hash = SHA256._doFinalize.call(this); + + hash.sigBytes -= 4; + + return hash; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA224('message'); + * var hash = CryptoJS.SHA224(wordArray); + */ + C.SHA224 = SHA256._createHelper(SHA224); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA224(message, key); + */ + C.HmacSHA224 = SHA256._createHmacHelper(SHA224); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Hasher = C_lib.Hasher; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var X64WordArray = C_x64.WordArray; + var C_algo = C.algo; + + function X64Word_create() { + return X64Word.create.apply(X64Word, arguments); + } + + // Constants + var K = [ + X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), + X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), + X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), + X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), + X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), + X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), + X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), + X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), + X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), + X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), + X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), + X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), + X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), + X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), + X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), + X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), + X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), + X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), + X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), + X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), + X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), + X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), + X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), + X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), + X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), + X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), + X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), + X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), + X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), + X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), + X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), + X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), + X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), + X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), + X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), + X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), + X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), + X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), + X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), + X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817) + ]; + + // Reusable objects + var W = []; + (function () { + for (var i = 0; i < 80; i++) { + W[i] = X64Word_create(); + } + }()); + + /** + * SHA-512 hash algorithm. + */ + var SHA512 = C_algo.SHA512 = Hasher.extend({ + _doReset: function () { + this._hash = new X64WordArray.init([ + new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), + new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), + new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), + new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179) + ]); + }, + + _doProcessBlock: function (M, offset) { + // Shortcuts + var H = this._hash.words; + + var H0 = H[0]; + var H1 = H[1]; + var H2 = H[2]; + var H3 = H[3]; + var H4 = H[4]; + var H5 = H[5]; + var H6 = H[6]; + var H7 = H[7]; + + var H0h = H0.high; + var H0l = H0.low; + var H1h = H1.high; + var H1l = H1.low; + var H2h = H2.high; + var H2l = H2.low; + var H3h = H3.high; + var H3l = H3.low; + var H4h = H4.high; + var H4l = H4.low; + var H5h = H5.high; + var H5l = H5.low; + var H6h = H6.high; + var H6l = H6.low; + var H7h = H7.high; + var H7l = H7.low; + + // Working variables + var ah = H0h; + var al = H0l; + var bh = H1h; + var bl = H1l; + var ch = H2h; + var cl = H2l; + var dh = H3h; + var dl = H3l; + var eh = H4h; + var el = H4l; + var fh = H5h; + var fl = H5l; + var gh = H6h; + var gl = H6l; + var hh = H7h; + var hl = H7l; + + // Rounds + for (var i = 0; i < 80; i++) { + var Wil; + var Wih; + + // Shortcut + var Wi = W[i]; + + // Extend message + if (i < 16) { + Wih = Wi.high = M[offset + i * 2] | 0; + Wil = Wi.low = M[offset + i * 2 + 1] | 0; + } else { + // Gamma0 + var gamma0x = W[i - 15]; + var gamma0xh = gamma0x.high; + var gamma0xl = gamma0x.low; + var gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7); + var gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25)); + + // Gamma1 + var gamma1x = W[i - 2]; + var gamma1xh = gamma1x.high; + var gamma1xl = gamma1x.low; + var gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6); + var gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26)); + + // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] + var Wi7 = W[i - 7]; + var Wi7h = Wi7.high; + var Wi7l = Wi7.low; + + var Wi16 = W[i - 16]; + var Wi16h = Wi16.high; + var Wi16l = Wi16.low; + + Wil = gamma0l + Wi7l; + Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0); + Wil = Wil + gamma1l; + Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0); + Wil = Wil + Wi16l; + Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0); + + Wi.high = Wih; + Wi.low = Wil; + } + + var chh = (eh & fh) ^ (~eh & gh); + var chl = (el & fl) ^ (~el & gl); + var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch); + var majl = (al & bl) ^ (al & cl) ^ (bl & cl); + + var sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7)); + var sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7)); + var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9)); + var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)); + + // t1 = h + sigma1 + ch + K[i] + W[i] + var Ki = K[i]; + var Kih = Ki.high; + var Kil = Ki.low; + + var t1l = hl + sigma1l; + var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0); + var t1l = t1l + chl; + var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0); + var t1l = t1l + Kil; + var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0); + var t1l = t1l + Wil; + var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0); + + // t2 = sigma0 + maj + var t2l = sigma0l + majl; + var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0); + + // Update working variables + hh = gh; + hl = gl; + gh = fh; + gl = fl; + fh = eh; + fl = el; + el = (dl + t1l) | 0; + eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0; + dh = ch; + dl = cl; + ch = bh; + cl = bl; + bh = ah; + bl = al; + al = (t1l + t2l) | 0; + ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0; + } + + // Intermediate hash value + H0l = H0.low = (H0l + al); + H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0)); + H1l = H1.low = (H1l + bl); + H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0)); + H2l = H2.low = (H2l + cl); + H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0)); + H3l = H3.low = (H3l + dl); + H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0)); + H4l = H4.low = (H4l + el); + H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0)); + H5l = H5.low = (H5l + fl); + H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0)); + H6l = H6.low = (H6l + gl); + H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0)); + H7l = H7.low = (H7l + hl); + H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0)); + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Convert hash to 32-bit word array before returning + var hash = this._hash.toX32(); + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + }, + + blockSize: 1024/32 + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA512('message'); + * var hash = CryptoJS.SHA512(wordArray); + */ + C.SHA512 = Hasher._createHelper(SHA512); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA512(message, key); + */ + C.HmacSHA512 = Hasher._createHmacHelper(SHA512); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var X64WordArray = C_x64.WordArray; + var C_algo = C.algo; + var SHA512 = C_algo.SHA512; + + /** + * SHA-384 hash algorithm. + */ + var SHA384 = C_algo.SHA384 = SHA512.extend({ + _doReset: function () { + this._hash = new X64WordArray.init([ + new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), + new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), + new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), + new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4) + ]); + }, + + _doFinalize: function () { + var hash = SHA512._doFinalize.call(this); + + hash.sigBytes -= 16; + + return hash; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA384('message'); + * var hash = CryptoJS.SHA384(wordArray); + */ + C.SHA384 = SHA512._createHelper(SHA384); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA384(message, key); + */ + C.HmacSHA384 = SHA512._createHmacHelper(SHA384); + }()); + + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var C_algo = C.algo; + + // Constants tables + var RHO_OFFSETS = []; + var PI_INDEXES = []; + var ROUND_CONSTANTS = []; + + // Compute Constants + (function () { + // Compute rho offset constants + var x = 1, y = 0; + for (var t = 0; t < 24; t++) { + RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64; + + var newX = y % 5; + var newY = (2 * x + 3 * y) % 5; + x = newX; + y = newY; + } + + // Compute pi index constants + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5; + } + } + + // Compute round constants + var LFSR = 0x01; + for (var i = 0; i < 24; i++) { + var roundConstantMsw = 0; + var roundConstantLsw = 0; + + for (var j = 0; j < 7; j++) { + if (LFSR & 0x01) { + var bitPosition = (1 << j) - 1; + if (bitPosition < 32) { + roundConstantLsw ^= 1 << bitPosition; + } else /* if (bitPosition >= 32) */ { + roundConstantMsw ^= 1 << (bitPosition - 32); + } + } + + // Compute next LFSR + if (LFSR & 0x80) { + // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1 + LFSR = (LFSR << 1) ^ 0x71; + } else { + LFSR <<= 1; + } + } + + ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw); + } + }()); + + // Reusable objects for temporary values + var T = []; + (function () { + for (var i = 0; i < 25; i++) { + T[i] = X64Word.create(); + } + }()); + + /** + * SHA-3 hash algorithm. + */ + var SHA3 = C_algo.SHA3 = Hasher.extend({ + /** + * Configuration options. + * + * @property {number} outputLength + * The desired number of bits in the output hash. + * Only values permitted are: 224, 256, 384, 512. + * Default: 512 + */ + cfg: Hasher.cfg.extend({ + outputLength: 512 + }), + + _doReset: function () { + var state = this._state = [] + for (var i = 0; i < 25; i++) { + state[i] = new X64Word.init(); + } + + this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32; + }, + + _doProcessBlock: function (M, offset) { + // Shortcuts + var state = this._state; + var nBlockSizeLanes = this.blockSize / 2; + + // Absorb + for (var i = 0; i < nBlockSizeLanes; i++) { + // Shortcuts + var M2i = M[offset + 2 * i]; + var M2i1 = M[offset + 2 * i + 1]; + + // Swap endian + M2i = ( + (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) | + (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00) + ); + M2i1 = ( + (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) | + (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00) + ); + + // Absorb message into state + var lane = state[i]; + lane.high ^= M2i1; + lane.low ^= M2i; + } + + // Rounds + for (var round = 0; round < 24; round++) { + // Theta + for (var x = 0; x < 5; x++) { + // Mix column lanes + var tMsw = 0, tLsw = 0; + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + tMsw ^= lane.high; + tLsw ^= lane.low; + } + + // Temporary values + var Tx = T[x]; + Tx.high = tMsw; + Tx.low = tLsw; + } + for (var x = 0; x < 5; x++) { + // Shortcuts + var Tx4 = T[(x + 4) % 5]; + var Tx1 = T[(x + 1) % 5]; + var Tx1Msw = Tx1.high; + var Tx1Lsw = Tx1.low; + + // Mix surrounding columns + var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31)); + var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31)); + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + lane.high ^= tMsw; + lane.low ^= tLsw; + } + } + + // Rho Pi + for (var laneIndex = 1; laneIndex < 25; laneIndex++) { + var tMsw; + var tLsw; + + // Shortcuts + var lane = state[laneIndex]; + var laneMsw = lane.high; + var laneLsw = lane.low; + var rhoOffset = RHO_OFFSETS[laneIndex]; + + // Rotate lanes + if (rhoOffset < 32) { + tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset)); + tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset)); + } else /* if (rhoOffset >= 32) */ { + tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset)); + tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset)); + } + + // Transpose lanes + var TPiLane = T[PI_INDEXES[laneIndex]]; + TPiLane.high = tMsw; + TPiLane.low = tLsw; + } + + // Rho pi at x = y = 0 + var T0 = T[0]; + var state0 = state[0]; + T0.high = state0.high; + T0.low = state0.low; + + // Chi + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + // Shortcuts + var laneIndex = x + 5 * y; + var lane = state[laneIndex]; + var TLane = T[laneIndex]; + var Tx1Lane = T[((x + 1) % 5) + 5 * y]; + var Tx2Lane = T[((x + 2) % 5) + 5 * y]; + + // Mix rows + lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high); + lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low); + } + } + + // Iota + var lane = state[0]; + var roundConstant = ROUND_CONSTANTS[round]; + lane.high ^= roundConstant.high; + lane.low ^= roundConstant.low; + } + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + var blockSizeBits = this.blockSize * 32; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32); + dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var state = this._state; + var outputLengthBytes = this.cfg.outputLength / 8; + var outputLengthLanes = outputLengthBytes / 8; + + // Squeeze + var hashWords = []; + for (var i = 0; i < outputLengthLanes; i++) { + // Shortcuts + var lane = state[i]; + var laneMsw = lane.high; + var laneLsw = lane.low; + + // Swap endian + laneMsw = ( + (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) | + (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00) + ); + laneLsw = ( + (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) | + (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00) + ); + + // Squeeze state to retrieve hash + hashWords.push(laneLsw); + hashWords.push(laneMsw); + } + + // Return final computed hash + return new WordArray.init(hashWords, outputLengthBytes); + }, + + clone: function () { + var clone = Hasher.clone.call(this); + + var state = clone._state = this._state.slice(0); + for (var i = 0; i < 25; i++) { + state[i] = state[i].clone(); + } + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA3('message'); + * var hash = CryptoJS.SHA3(wordArray); + */ + C.SHA3 = Hasher._createHelper(SHA3); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA3(message, key); + */ + C.HmacSHA3 = Hasher._createHmacHelper(SHA3); + }(Math)); + + + /** @preserve + (c) 2012 by Cédric Mesnil. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var _zl = WordArray.create([ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]); + var _zr = WordArray.create([ + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]); + var _sl = WordArray.create([ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]); + var _sr = WordArray.create([ + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]); + + var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]); + var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]); + + /** + * RIPEMD160 hash algorithm. + */ + var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({ + _doReset: function () { + this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]); + }, + + _doProcessBlock: function (M, offset) { + + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + // Swap + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + // Shortcut + var H = this._hash.words; + var hl = _hl.words; + var hr = _hr.words; + var zl = _zl.words; + var zr = _zr.words; + var sl = _sl.words; + var sr = _sr.words; + + // Working variables + var al, bl, cl, dl, el; + var ar, br, cr, dr, er; + + ar = al = H[0]; + br = bl = H[1]; + cr = cl = H[2]; + dr = dl = H[3]; + er = el = H[4]; + // Computation + var t; + for (var i = 0; i < 80; i += 1) { + t = (al + M[offset+zl[i]])|0; + if (i<16){ + t += f1(bl,cl,dl) + hl[0]; + } else if (i<32) { + t += f2(bl,cl,dl) + hl[1]; + } else if (i<48) { + t += f3(bl,cl,dl) + hl[2]; + } else if (i<64) { + t += f4(bl,cl,dl) + hl[3]; + } else {// if (i<80) { + t += f5(bl,cl,dl) + hl[4]; + } + t = t|0; + t = rotl(t,sl[i]); + t = (t+el)|0; + al = el; + el = dl; + dl = rotl(cl, 10); + cl = bl; + bl = t; + + t = (ar + M[offset+zr[i]])|0; + if (i<16){ + t += f5(br,cr,dr) + hr[0]; + } else if (i<32) { + t += f4(br,cr,dr) + hr[1]; + } else if (i<48) { + t += f3(br,cr,dr) + hr[2]; + } else if (i<64) { + t += f2(br,cr,dr) + hr[3]; + } else {// if (i<80) { + t += f1(br,cr,dr) + hr[4]; + } + t = t|0; + t = rotl(t,sr[i]) ; + t = (t+er)|0; + ar = er; + er = dr; + dr = rotl(cr, 10); + cr = br; + br = t; + } + // Intermediate hash value + t = (H[1] + cl + dr)|0; + H[1] = (H[2] + dl + er)|0; + H[2] = (H[3] + el + ar)|0; + H[3] = (H[4] + al + br)|0; + H[4] = (H[0] + bl + cr)|0; + H[0] = t; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) | + (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00) + ); + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 5; i++) { + // Shortcut + var H_i = H[i]; + + // Swap + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + + function f1(x, y, z) { + return ((x) ^ (y) ^ (z)); + + } + + function f2(x, y, z) { + return (((x)&(y)) | ((~x)&(z))); + } + + function f3(x, y, z) { + return (((x) | (~(y))) ^ (z)); + } + + function f4(x, y, z) { + return (((x) & (z)) | ((y)&(~(z)))); + } + + function f5(x, y, z) { + return ((x) ^ ((y) |(~(z)))); + + } + + function rotl(x,n) { + return (x<>>(32-n)); + } + + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.RIPEMD160('message'); + * var hash = CryptoJS.RIPEMD160(wordArray); + */ + C.RIPEMD160 = Hasher._createHelper(RIPEMD160); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacRIPEMD160(message, key); + */ + C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var C_enc = C.enc; + var Utf8 = C_enc.Utf8; + var C_algo = C.algo; + + /** + * HMAC algorithm. + */ + var HMAC = C_algo.HMAC = Base.extend({ + /** + * Initializes a newly created HMAC. + * + * @param {Hasher} hasher The hash algorithm to use. + * @param {WordArray|string} key The secret key. + * + * @example + * + * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key); + */ + init: function (hasher, key) { + // Init hasher + hasher = this._hasher = new hasher.init(); + + // Convert string to WordArray, else assume WordArray already + if (typeof key == 'string') { + key = Utf8.parse(key); + } + + // Shortcuts + var hasherBlockSize = hasher.blockSize; + var hasherBlockSizeBytes = hasherBlockSize * 4; + + // Allow arbitrary length keys + if (key.sigBytes > hasherBlockSizeBytes) { + key = hasher.finalize(key); + } + + // Clamp excess bits + key.clamp(); + + // Clone key for inner and outer pads + var oKey = this._oKey = key.clone(); + var iKey = this._iKey = key.clone(); + + // Shortcuts + var oKeyWords = oKey.words; + var iKeyWords = iKey.words; + + // XOR keys with pad constants + for (var i = 0; i < hasherBlockSize; i++) { + oKeyWords[i] ^= 0x5c5c5c5c; + iKeyWords[i] ^= 0x36363636; + } + oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes; + + // Set initial values + this.reset(); + }, + + /** + * Resets this HMAC to its initial state. + * + * @example + * + * hmacHasher.reset(); + */ + reset: function () { + // Shortcut + var hasher = this._hasher; + + // Reset + hasher.reset(); + hasher.update(this._iKey); + }, + + /** + * Updates this HMAC with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {HMAC} This HMAC instance. + * + * @example + * + * hmacHasher.update('message'); + * hmacHasher.update(wordArray); + */ + update: function (messageUpdate) { + this._hasher.update(messageUpdate); + + // Chainable + return this; + }, + + /** + * Finalizes the HMAC computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The HMAC. + * + * @example + * + * var hmac = hmacHasher.finalize(); + * var hmac = hmacHasher.finalize('message'); + * var hmac = hmacHasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Shortcut + var hasher = this._hasher; + + // Compute HMAC + var innerHash = hasher.finalize(messageUpdate); + hasher.reset(); + var hmac = hasher.finalize(this._oKey.clone().concat(innerHash)); + + return hmac; + } + }); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var SHA1 = C_algo.SHA1; + var HMAC = C_algo.HMAC; + + /** + * Password-Based Key Derivation Function 2 algorithm. + */ + var PBKDF2 = C_algo.PBKDF2 = Base.extend({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hasher to use. Default: SHA1 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128/32, + hasher: SHA1, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.PBKDF2.create(); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 }); + */ + init: function (cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * Computes the Password-Based Key Derivation Function 2. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * + * @return {WordArray} The derived key. + * + * @example + * + * var key = kdf.compute(password, salt); + */ + compute: function (password, salt) { + // Shortcut + var cfg = this.cfg; + + // Init HMAC + var hmac = HMAC.create(cfg.hasher, password); + + // Initial values + var derivedKey = WordArray.create(); + var blockIndex = WordArray.create([0x00000001]); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var blockIndexWords = blockIndex.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + var block = hmac.update(salt).finalize(blockIndex); + hmac.reset(); + + // Shortcuts + var blockWords = block.words; + var blockWordsLength = blockWords.length; + + // Iterations + var intermediate = block; + for (var i = 1; i < iterations; i++) { + intermediate = hmac.finalize(intermediate); + hmac.reset(); + + // Shortcut + var intermediateWords = intermediate.words; + + // XOR intermediate with block + for (var j = 0; j < blockWordsLength; j++) { + blockWords[j] ^= intermediateWords[j]; + } + } + + derivedKey.concat(block); + blockIndexWords[0]++; + } + derivedKey.sigBytes = keySize * 4; + + return derivedKey; + } + }); + + /** + * Computes the Password-Based Key Derivation Function 2. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * @param {Object} cfg (Optional) The configuration options to use for this computation. + * + * @return {WordArray} The derived key. + * + * @static + * + * @example + * + * var key = CryptoJS.PBKDF2(password, salt); + * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 }); + * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 }); + */ + C.PBKDF2 = function (password, salt, cfg) { + return PBKDF2.create(cfg).compute(password, salt); + }; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var MD5 = C_algo.MD5; + + /** + * This key derivation function is meant to conform with EVP_BytesToKey. + * www.openssl.org/docs/crypto/EVP_BytesToKey.html + */ + var EvpKDF = C_algo.EvpKDF = Base.extend({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hash algorithm to use. Default: MD5 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128/32, + hasher: MD5, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.EvpKDF.create(); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 }); + */ + init: function (cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * Derives a key from a password. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * + * @return {WordArray} The derived key. + * + * @example + * + * var key = kdf.compute(password, salt); + */ + compute: function (password, salt) { + var block; + + // Shortcut + var cfg = this.cfg; + + // Init hasher + var hasher = cfg.hasher.create(); + + // Initial values + var derivedKey = WordArray.create(); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + if (block) { + hasher.update(block); + } + block = hasher.update(password).finalize(salt); + hasher.reset(); + + // Iterations + for (var i = 1; i < iterations; i++) { + block = hasher.finalize(block); + hasher.reset(); + } + + derivedKey.concat(block); + } + derivedKey.sigBytes = keySize * 4; + + return derivedKey; + } + }); + + /** + * Derives a key from a password. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * @param {Object} cfg (Optional) The configuration options to use for this computation. + * + * @return {WordArray} The derived key. + * + * @static + * + * @example + * + * var key = CryptoJS.EvpKDF(password, salt); + * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 }); + * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 }); + */ + C.EvpKDF = function (password, salt, cfg) { + return EvpKDF.create(cfg).compute(password, salt); + }; + }()); + + + /** + * Cipher core components. + */ + CryptoJS.lib.Cipher || (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm; + var C_enc = C.enc; + var Utf8 = C_enc.Utf8; + var Base64 = C_enc.Base64; + var C_algo = C.algo; + var EvpKDF = C_algo.EvpKDF; + + /** + * Abstract base cipher template. + * + * @property {number} keySize This cipher's key size. Default: 4 (128 bits) + * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits) + * @property {number} _ENC_XFORM_MODE A constant representing encryption mode. + * @property {number} _DEC_XFORM_MODE A constant representing decryption mode. + */ + var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + * + * @property {WordArray} iv The IV to use for this operation. + */ + cfg: Base.extend(), + + /** + * Creates this cipher in encryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray }); + */ + createEncryptor: function (key, cfg) { + return this.create(this._ENC_XFORM_MODE, key, cfg); + }, + + /** + * Creates this cipher in decryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray }); + */ + createDecryptor: function (key, cfg) { + return this.create(this._DEC_XFORM_MODE, key, cfg); + }, + + /** + * Initializes a newly created cipher. + * + * @param {number} xformMode Either the encryption or decryption transormation mode constant. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @example + * + * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray }); + */ + init: function (xformMode, key, cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Store transform mode and key + this._xformMode = xformMode; + this._key = key; + + // Set initial values + this.reset(); + }, + + /** + * Resets this cipher to its initial state. + * + * @example + * + * cipher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-cipher logic + this._doReset(); + }, + + /** + * Adds data to be encrypted or decrypted. + * + * @param {WordArray|string} dataUpdate The data to encrypt or decrypt. + * + * @return {WordArray} The data after processing. + * + * @example + * + * var encrypted = cipher.process('data'); + * var encrypted = cipher.process(wordArray); + */ + process: function (dataUpdate) { + // Append + this._append(dataUpdate); + + // Process available blocks + return this._process(); + }, + + /** + * Finalizes the encryption or decryption process. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt. + * + * @return {WordArray} The data after final processing. + * + * @example + * + * var encrypted = cipher.finalize(); + * var encrypted = cipher.finalize('data'); + * var encrypted = cipher.finalize(wordArray); + */ + finalize: function (dataUpdate) { + // Final data update + if (dataUpdate) { + this._append(dataUpdate); + } + + // Perform concrete-cipher logic + var finalProcessedData = this._doFinalize(); + + return finalProcessedData; + }, + + keySize: 128/32, + + ivSize: 128/32, + + _ENC_XFORM_MODE: 1, + + _DEC_XFORM_MODE: 2, + + /** + * Creates shortcut functions to a cipher's object interface. + * + * @param {Cipher} cipher The cipher to create a helper for. + * + * @return {Object} An object with encrypt and decrypt shortcut functions. + * + * @static + * + * @example + * + * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES); + */ + _createHelper: (function () { + function selectCipherStrategy(key) { + if (typeof key == 'string') { + return PasswordBasedCipher; + } else { + return SerializableCipher; + } + } + + return function (cipher) { + return { + encrypt: function (message, key, cfg) { + return selectCipherStrategy(key).encrypt(cipher, message, key, cfg); + }, + + decrypt: function (ciphertext, key, cfg) { + return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg); + } + }; + }; + }()) + }); + + /** + * Abstract base stream cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits) + */ + var StreamCipher = C_lib.StreamCipher = Cipher.extend({ + _doFinalize: function () { + // Process partial blocks + var finalProcessedBlocks = this._process(!!'flush'); + + return finalProcessedBlocks; + }, + + blockSize: 1 + }); + + /** + * Mode namespace. + */ + var C_mode = C.mode = {}; + + /** + * Abstract base block cipher mode template. + */ + var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({ + /** + * Creates this mode for encryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words); + */ + createEncryptor: function (cipher, iv) { + return this.Encryptor.create(cipher, iv); + }, + + /** + * Creates this mode for decryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words); + */ + createDecryptor: function (cipher, iv) { + return this.Decryptor.create(cipher, iv); + }, + + /** + * Initializes a newly created mode. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @example + * + * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words); + */ + init: function (cipher, iv) { + this._cipher = cipher; + this._iv = iv; + } + }); + + /** + * Cipher Block Chaining mode. + */ + var CBC = C_mode.CBC = (function () { + /** + * Abstract base CBC mode. + */ + var CBC = BlockCipherMode.extend(); + + /** + * CBC encryptor. + */ + CBC.Encryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // XOR and encrypt + xorBlock.call(this, words, offset, blockSize); + cipher.encryptBlock(words, offset); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + /** + * CBC decryptor. + */ + CBC.Decryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + // Decrypt and XOR + cipher.decryptBlock(words, offset); + xorBlock.call(this, words, offset, blockSize); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function xorBlock(words, offset, blockSize) { + var block; + + // Shortcut + var iv = this._iv; + + // Choose mixing block + if (iv) { + block = iv; + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + block = this._prevBlock; + } + + // XOR blocks + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= block[i]; + } + } + + return CBC; + }()); + + /** + * Padding namespace. + */ + var C_pad = C.pad = {}; + + /** + * PKCS #5/7 padding strategy. + */ + var Pkcs7 = C_pad.Pkcs7 = { + /** + * Pads data using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to pad. + * @param {number} blockSize The multiple that the data should be padded to. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.pad(wordArray, 4); + */ + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Create padding word + var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes; + + // Create padding + var paddingWords = []; + for (var i = 0; i < nPaddingBytes; i += 4) { + paddingWords.push(paddingWord); + } + var padding = WordArray.create(paddingWords, nPaddingBytes); + + // Add padding + data.concat(padding); + }, + + /** + * Unpads data that had been padded using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to unpad. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.unpad(wordArray); + */ + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + /** + * Abstract base block cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits) + */ + var BlockCipher = C_lib.BlockCipher = Cipher.extend({ + /** + * Configuration options. + * + * @property {Mode} mode The block mode to use. Default: CBC + * @property {Padding} padding The padding strategy to use. Default: Pkcs7 + */ + cfg: Cipher.cfg.extend({ + mode: CBC, + padding: Pkcs7 + }), + + reset: function () { + var modeCreator; + + // Reset cipher + Cipher.reset.call(this); + + // Shortcuts + var cfg = this.cfg; + var iv = cfg.iv; + var mode = cfg.mode; + + // Reset block mode + if (this._xformMode == this._ENC_XFORM_MODE) { + modeCreator = mode.createEncryptor; + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + modeCreator = mode.createDecryptor; + // Keep at least one block in the buffer for unpadding + this._minBufferSize = 1; + } + + if (this._mode && this._mode.__creator == modeCreator) { + this._mode.init(this, iv && iv.words); + } else { + this._mode = modeCreator.call(mode, this, iv && iv.words); + this._mode.__creator = modeCreator; + } + }, + + _doProcessBlock: function (words, offset) { + this._mode.processBlock(words, offset); + }, + + _doFinalize: function () { + var finalProcessedBlocks; + + // Shortcut + var padding = this.cfg.padding; + + // Finalize + if (this._xformMode == this._ENC_XFORM_MODE) { + // Pad data + padding.pad(this._data, this.blockSize); + + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + + // Unpad data + padding.unpad(finalProcessedBlocks); + } + + return finalProcessedBlocks; + }, + + blockSize: 128/32 + }); + + /** + * A collection of cipher parameters. + * + * @property {WordArray} ciphertext The raw ciphertext. + * @property {WordArray} key The key to this ciphertext. + * @property {WordArray} iv The IV used in the ciphering operation. + * @property {WordArray} salt The salt used with a key derivation function. + * @property {Cipher} algorithm The cipher algorithm. + * @property {Mode} mode The block mode used in the ciphering operation. + * @property {Padding} padding The padding scheme used in the ciphering operation. + * @property {number} blockSize The block size of the cipher. + * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string. + */ + var CipherParams = C_lib.CipherParams = Base.extend({ + /** + * Initializes a newly created cipher params object. + * + * @param {Object} cipherParams An object with any of the possible cipher parameters. + * + * @example + * + * var cipherParams = CryptoJS.lib.CipherParams.create({ + * ciphertext: ciphertextWordArray, + * key: keyWordArray, + * iv: ivWordArray, + * salt: saltWordArray, + * algorithm: CryptoJS.algo.AES, + * mode: CryptoJS.mode.CBC, + * padding: CryptoJS.pad.PKCS7, + * blockSize: 4, + * formatter: CryptoJS.format.OpenSSL + * }); + */ + init: function (cipherParams) { + this.mixIn(cipherParams); + }, + + /** + * Converts this cipher params object to a string. + * + * @param {Format} formatter (Optional) The formatting strategy to use. + * + * @return {string} The stringified cipher params. + * + * @throws Error If neither the formatter nor the default formatter is set. + * + * @example + * + * var string = cipherParams + ''; + * var string = cipherParams.toString(); + * var string = cipherParams.toString(CryptoJS.format.OpenSSL); + */ + toString: function (formatter) { + return (formatter || this.formatter).stringify(this); + } + }); + + /** + * Format namespace. + */ + var C_format = C.format = {}; + + /** + * OpenSSL formatting strategy. + */ + var OpenSSLFormatter = C_format.OpenSSL = { + /** + * Converts a cipher params object to an OpenSSL-compatible string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The OpenSSL-compatible string. + * + * @static + * + * @example + * + * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams); + */ + stringify: function (cipherParams) { + var wordArray; + + // Shortcuts + var ciphertext = cipherParams.ciphertext; + var salt = cipherParams.salt; + + // Format + if (salt) { + wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext); + } else { + wordArray = ciphertext; + } + + return wordArray.toString(Base64); + }, + + /** + * Converts an OpenSSL-compatible string to a cipher params object. + * + * @param {string} openSSLStr The OpenSSL-compatible string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString); + */ + parse: function (openSSLStr) { + var salt; + + // Parse base64 + var ciphertext = Base64.parse(openSSLStr); + + // Shortcut + var ciphertextWords = ciphertext.words; + + // Test for salt + if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { + // Extract salt + salt = WordArray.create(ciphertextWords.slice(2, 4)); + + // Remove salt from ciphertext + ciphertextWords.splice(0, 4); + ciphertext.sigBytes -= 16; + } + + return CipherParams.create({ ciphertext: ciphertext, salt: salt }); + } + }; + + /** + * A cipher wrapper that returns ciphertext as a serializable cipher params object. + */ + var SerializableCipher = C_lib.SerializableCipher = Base.extend({ + /** + * Configuration options. + * + * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL + */ + cfg: Base.extend({ + format: OpenSSLFormatter + }), + + /** + * Encrypts a message. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv }); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Encrypt + var encryptor = cipher.createEncryptor(key, cfg); + var ciphertext = encryptor.finalize(message); + + // Shortcut + var cipherCfg = encryptor.cfg; + + // Create and return serializable cipher params + return CipherParams.create({ + ciphertext: ciphertext, + key: key, + iv: cipherCfg.iv, + algorithm: cipher, + mode: cipherCfg.mode, + padding: cipherCfg.padding, + blockSize: cipher.blockSize, + formatter: cfg.format + }); + }, + + /** + * Decrypts serialized ciphertext. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Decrypt + var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext); + + return plaintext; + }, + + /** + * Converts serialized ciphertext to CipherParams, + * else assumed CipherParams already and returns ciphertext unchanged. + * + * @param {CipherParams|string} ciphertext The ciphertext. + * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext. + * + * @return {CipherParams} The unserialized ciphertext. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format); + */ + _parse: function (ciphertext, format) { + if (typeof ciphertext == 'string') { + return format.parse(ciphertext, this); + } else { + return ciphertext; + } + } + }); + + /** + * Key derivation function namespace. + */ + var C_kdf = C.kdf = {}; + + /** + * OpenSSL key derivation function. + */ + var OpenSSLKdf = C_kdf.OpenSSL = { + /** + * Derives a key and IV from a password. + * + * @param {string} password The password to derive from. + * @param {number} keySize The size in words of the key to generate. + * @param {number} ivSize The size in words of the IV to generate. + * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly. + * + * @return {CipherParams} A cipher params object with the key, IV, and salt. + * + * @static + * + * @example + * + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32); + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt'); + */ + execute: function (password, keySize, ivSize, salt) { + // Generate random salt + if (!salt) { + salt = WordArray.random(64/8); + } + + // Derive key and IV + var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt); + + // Separate key and IV + var iv = WordArray.create(key.words.slice(keySize), ivSize * 4); + key.sigBytes = keySize * 4; + + // Return params + return CipherParams.create({ key: key, iv: iv, salt: salt }); + } + }; + + /** + * A serializable cipher wrapper that derives the key from a password, + * and returns ciphertext as a serializable cipher params object. + */ + var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({ + /** + * Configuration options. + * + * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL + */ + cfg: SerializableCipher.cfg.extend({ + kdf: OpenSSLKdf + }), + + /** + * Encrypts a message using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password'); + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Encrypt + var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); + + // Mix in derived params + ciphertext.mixIn(derivedParams); + + return ciphertext; + }, + + /** + * Decrypts serialized ciphertext using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Decrypt + var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg); + + return plaintext; + } + }); + }()); + + + /** + * Cipher Feedback block mode. + */ + CryptoJS.mode.CFB = (function () { + var CFB = CryptoJS.lib.BlockCipherMode.extend(); + + CFB.Encryptor = CFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + CFB.Decryptor = CFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { + var keystream; + + // Shortcut + var iv = this._iv; + + // Generate keystream + if (iv) { + keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + keystream = this._prevBlock; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + + return CFB; + }()); + + + /** + * Counter block mode. + */ + CryptoJS.mode.CTR = (function () { + var CTR = CryptoJS.lib.BlockCipherMode.extend(); + + var Encryptor = CTR.Encryptor = CTR.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Increment counter + counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0 + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + CTR.Decryptor = Encryptor; + + return CTR; + }()); + + + /** @preserve + * Counter block mode compatible with Dr Brian Gladman fileenc.c + * derived from CryptoJS.mode.CTR + * Jan Hruby jhruby.web@gmail.com + */ + CryptoJS.mode.CTRGladman = (function () { + var CTRGladman = CryptoJS.lib.BlockCipherMode.extend(); + + function incWord(word) + { + if (((word >> 24) & 0xff) === 0xff) { //overflow + var b1 = (word >> 16)&0xff; + var b2 = (word >> 8)&0xff; + var b3 = word & 0xff; + + if (b1 === 0xff) // overflow b1 + { + b1 = 0; + if (b2 === 0xff) + { + b2 = 0; + if (b3 === 0xff) + { + b3 = 0; + } + else + { + ++b3; + } + } + else + { + ++b2; + } + } + else + { + ++b1; + } + + word = 0; + word += (b1 << 16); + word += (b2 << 8); + word += b3; + } + else + { + word += (0x01 << 24); + } + return word; + } + + function incCounter(counter) + { + if ((counter[0] = incWord(counter[0])) === 0) + { + // encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8 + counter[1] = incWord(counter[1]); + } + return counter; + } + + var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + + incCounter(counter); + + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + CTRGladman.Decryptor = Encryptor; + + return CTRGladman; + }()); + + + + + /** + * Output Feedback block mode. + */ + CryptoJS.mode.OFB = (function () { + var OFB = CryptoJS.lib.BlockCipherMode.extend(); + + var Encryptor = OFB.Encryptor = OFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var keystream = this._keystream; + + // Generate keystream + if (iv) { + keystream = this._keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + OFB.Decryptor = Encryptor; + + return OFB; + }()); + + + /** + * Electronic Codebook block mode. + */ + CryptoJS.mode.ECB = (function () { + var ECB = CryptoJS.lib.BlockCipherMode.extend(); + + ECB.Encryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.encryptBlock(words, offset); + } + }); + + ECB.Decryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.decryptBlock(words, offset); + } + }); + + return ECB; + }()); + + + /** + * ANSI X.923 padding strategy. + */ + CryptoJS.pad.AnsiX923 = { + pad: function (data, blockSize) { + // Shortcuts + var dataSigBytes = data.sigBytes; + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; + + // Compute last byte position + var lastBytePos = dataSigBytes + nPaddingBytes - 1; + + // Pad + data.clamp(); + data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); + data.sigBytes += nPaddingBytes; + }, + + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + + /** + * ISO 10126 padding strategy. + */ + CryptoJS.pad.Iso10126 = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Pad + data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). + concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); + }, + + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + + /** + * ISO/IEC 9797-1 Padding Method 2. + */ + CryptoJS.pad.Iso97971 = { + pad: function (data, blockSize) { + // Add 0x80 byte + data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); + + // Zero pad the rest + CryptoJS.pad.ZeroPadding.pad(data, blockSize); + }, + + unpad: function (data) { + // Remove zero padding + CryptoJS.pad.ZeroPadding.unpad(data); + + // Remove one more byte -- the 0x80 byte + data.sigBytes--; + } + }; + + + /** + * Zero padding strategy. + */ + CryptoJS.pad.ZeroPadding = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Pad + data.clamp(); + data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); + }, + + unpad: function (data) { + // Shortcut + var dataWords = data.words; + + // Unpad + var i = data.sigBytes - 1; + for (var i = data.sigBytes - 1; i >= 0; i--) { + if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { + data.sigBytes = i + 1; + break; + } + } + } + }; + + + /** + * A noop padding strategy. + */ + CryptoJS.pad.NoPadding = { + pad: function () { + }, + + unpad: function () { + } + }; + + + (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var CipherParams = C_lib.CipherParams; + var C_enc = C.enc; + var Hex = C_enc.Hex; + var C_format = C.format; + + var HexFormatter = C_format.Hex = { + /** + * Converts the ciphertext of a cipher params object to a hexadecimally encoded string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The hexadecimally encoded string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.format.Hex.stringify(cipherParams); + */ + stringify: function (cipherParams) { + return cipherParams.ciphertext.toString(Hex); + }, + + /** + * Converts a hexadecimally encoded ciphertext string to a cipher params object. + * + * @param {string} input The hexadecimally encoded string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.Hex.parse(hexString); + */ + parse: function (input) { + var ciphertext = Hex.parse(input); + return CipherParams.create({ ciphertext: ciphertext }); + } + }; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Lookup tables + var SBOX = []; + var INV_SBOX = []; + var SUB_MIX_0 = []; + var SUB_MIX_1 = []; + var SUB_MIX_2 = []; + var SUB_MIX_3 = []; + var INV_SUB_MIX_0 = []; + var INV_SUB_MIX_1 = []; + var INV_SUB_MIX_2 = []; + var INV_SUB_MIX_3 = []; + + // Compute lookup tables + (function () { + // Compute double table + var d = []; + for (var i = 0; i < 256; i++) { + if (i < 128) { + d[i] = i << 1; + } else { + d[i] = (i << 1) ^ 0x11b; + } + } + + // Walk GF(2^8) + var x = 0; + var xi = 0; + for (var i = 0; i < 256; i++) { + // Compute sbox + var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4); + sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63; + SBOX[x] = sx; + INV_SBOX[sx] = x; + + // Compute multiplication + var x2 = d[x]; + var x4 = d[x2]; + var x8 = d[x4]; + + // Compute sub bytes, mix columns tables + var t = (d[sx] * 0x101) ^ (sx * 0x1010100); + SUB_MIX_0[x] = (t << 24) | (t >>> 8); + SUB_MIX_1[x] = (t << 16) | (t >>> 16); + SUB_MIX_2[x] = (t << 8) | (t >>> 24); + SUB_MIX_3[x] = t; + + // Compute inv sub bytes, inv mix columns tables + var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); + INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8); + INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16); + INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24); + INV_SUB_MIX_3[sx] = t; + + // Compute next counter + if (!x) { + x = xi = 1; + } else { + x = x2 ^ d[d[d[x8 ^ x2]]]; + xi ^= d[d[xi]]; + } + } + }()); + + // Precomputed Rcon lookup + var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; + + /** + * AES block cipher algorithm. + */ + var AES = C_algo.AES = BlockCipher.extend({ + _doReset: function () { + var t; + + // Skip reset of nRounds has been set before and key did not change + if (this._nRounds && this._keyPriorReset === this._key) { + return; + } + + // Shortcuts + var key = this._keyPriorReset = this._key; + var keyWords = key.words; + var keySize = key.sigBytes / 4; + + // Compute number of rounds + var nRounds = this._nRounds = keySize + 6; + + // Compute number of key schedule rows + var ksRows = (nRounds + 1) * 4; + + // Compute key schedule + var keySchedule = this._keySchedule = []; + for (var ksRow = 0; ksRow < ksRows; ksRow++) { + if (ksRow < keySize) { + keySchedule[ksRow] = keyWords[ksRow]; + } else { + t = keySchedule[ksRow - 1]; + + if (!(ksRow % keySize)) { + // Rot word + t = (t << 8) | (t >>> 24); + + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + + // Mix Rcon + t ^= RCON[(ksRow / keySize) | 0] << 24; + } else if (keySize > 6 && ksRow % keySize == 4) { + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + } + + keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t; + } + } + + // Compute inv key schedule + var invKeySchedule = this._invKeySchedule = []; + for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) { + var ksRow = ksRows - invKsRow; + + if (invKsRow % 4) { + var t = keySchedule[ksRow]; + } else { + var t = keySchedule[ksRow - 4]; + } + + if (invKsRow < 4 || ksRow <= 4) { + invKeySchedule[invKsRow] = t; + } else { + invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^ + INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]]; + } + } + }, + + encryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX); + }, + + decryptBlock: function (M, offset) { + // Swap 2nd and 4th rows + var t = M[offset + 1]; + M[offset + 1] = M[offset + 3]; + M[offset + 3] = t; + + this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX); + + // Inv swap 2nd and 4th rows + var t = M[offset + 1]; + M[offset + 1] = M[offset + 3]; + M[offset + 3] = t; + }, + + _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) { + // Shortcut + var nRounds = this._nRounds; + + // Get input, add round key + var s0 = M[offset] ^ keySchedule[0]; + var s1 = M[offset + 1] ^ keySchedule[1]; + var s2 = M[offset + 2] ^ keySchedule[2]; + var s3 = M[offset + 3] ^ keySchedule[3]; + + // Key schedule row counter + var ksRow = 4; + + // Rounds + for (var round = 1; round < nRounds; round++) { + // Shift rows, sub bytes, mix columns, add round key + var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++]; + var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++]; + var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++]; + var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++]; + + // Update state + s0 = t0; + s1 = t1; + s2 = t2; + s3 = t3; + } + + // Shift rows, sub bytes, add round key + var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]; + var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]; + var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]; + var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]; + + // Set output + M[offset] = t0; + M[offset + 1] = t1; + M[offset + 2] = t2; + M[offset + 3] = t3; + }, + + keySize: 256/32 + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg); + */ + C.AES = BlockCipher._createHelper(AES); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Permuted Choice 1 constants + var PC1 = [ + 57, 49, 41, 33, 25, 17, 9, 1, + 58, 50, 42, 34, 26, 18, 10, 2, + 59, 51, 43, 35, 27, 19, 11, 3, + 60, 52, 44, 36, 63, 55, 47, 39, + 31, 23, 15, 7, 62, 54, 46, 38, + 30, 22, 14, 6, 61, 53, 45, 37, + 29, 21, 13, 5, 28, 20, 12, 4 + ]; + + // Permuted Choice 2 constants + var PC2 = [ + 14, 17, 11, 24, 1, 5, + 3, 28, 15, 6, 21, 10, + 23, 19, 12, 4, 26, 8, + 16, 7, 27, 20, 13, 2, + 41, 52, 31, 37, 47, 55, + 30, 40, 51, 45, 33, 48, + 44, 49, 39, 56, 34, 53, + 46, 42, 50, 36, 29, 32 + ]; + + // Cumulative bit shift constants + var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; + + // SBOXes and round permutation constants + var SBOX_P = [ + { + 0x0: 0x808200, + 0x10000000: 0x8000, + 0x20000000: 0x808002, + 0x30000000: 0x2, + 0x40000000: 0x200, + 0x50000000: 0x808202, + 0x60000000: 0x800202, + 0x70000000: 0x800000, + 0x80000000: 0x202, + 0x90000000: 0x800200, + 0xa0000000: 0x8200, + 0xb0000000: 0x808000, + 0xc0000000: 0x8002, + 0xd0000000: 0x800002, + 0xe0000000: 0x0, + 0xf0000000: 0x8202, + 0x8000000: 0x0, + 0x18000000: 0x808202, + 0x28000000: 0x8202, + 0x38000000: 0x8000, + 0x48000000: 0x808200, + 0x58000000: 0x200, + 0x68000000: 0x808002, + 0x78000000: 0x2, + 0x88000000: 0x800200, + 0x98000000: 0x8200, + 0xa8000000: 0x808000, + 0xb8000000: 0x800202, + 0xc8000000: 0x800002, + 0xd8000000: 0x8002, + 0xe8000000: 0x202, + 0xf8000000: 0x800000, + 0x1: 0x8000, + 0x10000001: 0x2, + 0x20000001: 0x808200, + 0x30000001: 0x800000, + 0x40000001: 0x808002, + 0x50000001: 0x8200, + 0x60000001: 0x200, + 0x70000001: 0x800202, + 0x80000001: 0x808202, + 0x90000001: 0x808000, + 0xa0000001: 0x800002, + 0xb0000001: 0x8202, + 0xc0000001: 0x202, + 0xd0000001: 0x800200, + 0xe0000001: 0x8002, + 0xf0000001: 0x0, + 0x8000001: 0x808202, + 0x18000001: 0x808000, + 0x28000001: 0x800000, + 0x38000001: 0x200, + 0x48000001: 0x8000, + 0x58000001: 0x800002, + 0x68000001: 0x2, + 0x78000001: 0x8202, + 0x88000001: 0x8002, + 0x98000001: 0x800202, + 0xa8000001: 0x202, + 0xb8000001: 0x808200, + 0xc8000001: 0x800200, + 0xd8000001: 0x0, + 0xe8000001: 0x8200, + 0xf8000001: 0x808002 + }, + { + 0x0: 0x40084010, + 0x1000000: 0x4000, + 0x2000000: 0x80000, + 0x3000000: 0x40080010, + 0x4000000: 0x40000010, + 0x5000000: 0x40084000, + 0x6000000: 0x40004000, + 0x7000000: 0x10, + 0x8000000: 0x84000, + 0x9000000: 0x40004010, + 0xa000000: 0x40000000, + 0xb000000: 0x84010, + 0xc000000: 0x80010, + 0xd000000: 0x0, + 0xe000000: 0x4010, + 0xf000000: 0x40080000, + 0x800000: 0x40004000, + 0x1800000: 0x84010, + 0x2800000: 0x10, + 0x3800000: 0x40004010, + 0x4800000: 0x40084010, + 0x5800000: 0x40000000, + 0x6800000: 0x80000, + 0x7800000: 0x40080010, + 0x8800000: 0x80010, + 0x9800000: 0x0, + 0xa800000: 0x4000, + 0xb800000: 0x40080000, + 0xc800000: 0x40000010, + 0xd800000: 0x84000, + 0xe800000: 0x40084000, + 0xf800000: 0x4010, + 0x10000000: 0x0, + 0x11000000: 0x40080010, + 0x12000000: 0x40004010, + 0x13000000: 0x40084000, + 0x14000000: 0x40080000, + 0x15000000: 0x10, + 0x16000000: 0x84010, + 0x17000000: 0x4000, + 0x18000000: 0x4010, + 0x19000000: 0x80000, + 0x1a000000: 0x80010, + 0x1b000000: 0x40000010, + 0x1c000000: 0x84000, + 0x1d000000: 0x40004000, + 0x1e000000: 0x40000000, + 0x1f000000: 0x40084010, + 0x10800000: 0x84010, + 0x11800000: 0x80000, + 0x12800000: 0x40080000, + 0x13800000: 0x4000, + 0x14800000: 0x40004000, + 0x15800000: 0x40084010, + 0x16800000: 0x10, + 0x17800000: 0x40000000, + 0x18800000: 0x40084000, + 0x19800000: 0x40000010, + 0x1a800000: 0x40004010, + 0x1b800000: 0x80010, + 0x1c800000: 0x0, + 0x1d800000: 0x4010, + 0x1e800000: 0x40080010, + 0x1f800000: 0x84000 + }, + { + 0x0: 0x104, + 0x100000: 0x0, + 0x200000: 0x4000100, + 0x300000: 0x10104, + 0x400000: 0x10004, + 0x500000: 0x4000004, + 0x600000: 0x4010104, + 0x700000: 0x4010000, + 0x800000: 0x4000000, + 0x900000: 0x4010100, + 0xa00000: 0x10100, + 0xb00000: 0x4010004, + 0xc00000: 0x4000104, + 0xd00000: 0x10000, + 0xe00000: 0x4, + 0xf00000: 0x100, + 0x80000: 0x4010100, + 0x180000: 0x4010004, + 0x280000: 0x0, + 0x380000: 0x4000100, + 0x480000: 0x4000004, + 0x580000: 0x10000, + 0x680000: 0x10004, + 0x780000: 0x104, + 0x880000: 0x4, + 0x980000: 0x100, + 0xa80000: 0x4010000, + 0xb80000: 0x10104, + 0xc80000: 0x10100, + 0xd80000: 0x4000104, + 0xe80000: 0x4010104, + 0xf80000: 0x4000000, + 0x1000000: 0x4010100, + 0x1100000: 0x10004, + 0x1200000: 0x10000, + 0x1300000: 0x4000100, + 0x1400000: 0x100, + 0x1500000: 0x4010104, + 0x1600000: 0x4000004, + 0x1700000: 0x0, + 0x1800000: 0x4000104, + 0x1900000: 0x4000000, + 0x1a00000: 0x4, + 0x1b00000: 0x10100, + 0x1c00000: 0x4010000, + 0x1d00000: 0x104, + 0x1e00000: 0x10104, + 0x1f00000: 0x4010004, + 0x1080000: 0x4000000, + 0x1180000: 0x104, + 0x1280000: 0x4010100, + 0x1380000: 0x0, + 0x1480000: 0x10004, + 0x1580000: 0x4000100, + 0x1680000: 0x100, + 0x1780000: 0x4010004, + 0x1880000: 0x10000, + 0x1980000: 0x4010104, + 0x1a80000: 0x10104, + 0x1b80000: 0x4000004, + 0x1c80000: 0x4000104, + 0x1d80000: 0x4010000, + 0x1e80000: 0x4, + 0x1f80000: 0x10100 + }, + { + 0x0: 0x80401000, + 0x10000: 0x80001040, + 0x20000: 0x401040, + 0x30000: 0x80400000, + 0x40000: 0x0, + 0x50000: 0x401000, + 0x60000: 0x80000040, + 0x70000: 0x400040, + 0x80000: 0x80000000, + 0x90000: 0x400000, + 0xa0000: 0x40, + 0xb0000: 0x80001000, + 0xc0000: 0x80400040, + 0xd0000: 0x1040, + 0xe0000: 0x1000, + 0xf0000: 0x80401040, + 0x8000: 0x80001040, + 0x18000: 0x40, + 0x28000: 0x80400040, + 0x38000: 0x80001000, + 0x48000: 0x401000, + 0x58000: 0x80401040, + 0x68000: 0x0, + 0x78000: 0x80400000, + 0x88000: 0x1000, + 0x98000: 0x80401000, + 0xa8000: 0x400000, + 0xb8000: 0x1040, + 0xc8000: 0x80000000, + 0xd8000: 0x400040, + 0xe8000: 0x401040, + 0xf8000: 0x80000040, + 0x100000: 0x400040, + 0x110000: 0x401000, + 0x120000: 0x80000040, + 0x130000: 0x0, + 0x140000: 0x1040, + 0x150000: 0x80400040, + 0x160000: 0x80401000, + 0x170000: 0x80001040, + 0x180000: 0x80401040, + 0x190000: 0x80000000, + 0x1a0000: 0x80400000, + 0x1b0000: 0x401040, + 0x1c0000: 0x80001000, + 0x1d0000: 0x400000, + 0x1e0000: 0x40, + 0x1f0000: 0x1000, + 0x108000: 0x80400000, + 0x118000: 0x80401040, + 0x128000: 0x0, + 0x138000: 0x401000, + 0x148000: 0x400040, + 0x158000: 0x80000000, + 0x168000: 0x80001040, + 0x178000: 0x40, + 0x188000: 0x80000040, + 0x198000: 0x1000, + 0x1a8000: 0x80001000, + 0x1b8000: 0x80400040, + 0x1c8000: 0x1040, + 0x1d8000: 0x80401000, + 0x1e8000: 0x400000, + 0x1f8000: 0x401040 + }, + { + 0x0: 0x80, + 0x1000: 0x1040000, + 0x2000: 0x40000, + 0x3000: 0x20000000, + 0x4000: 0x20040080, + 0x5000: 0x1000080, + 0x6000: 0x21000080, + 0x7000: 0x40080, + 0x8000: 0x1000000, + 0x9000: 0x20040000, + 0xa000: 0x20000080, + 0xb000: 0x21040080, + 0xc000: 0x21040000, + 0xd000: 0x0, + 0xe000: 0x1040080, + 0xf000: 0x21000000, + 0x800: 0x1040080, + 0x1800: 0x21000080, + 0x2800: 0x80, + 0x3800: 0x1040000, + 0x4800: 0x40000, + 0x5800: 0x20040080, + 0x6800: 0x21040000, + 0x7800: 0x20000000, + 0x8800: 0x20040000, + 0x9800: 0x0, + 0xa800: 0x21040080, + 0xb800: 0x1000080, + 0xc800: 0x20000080, + 0xd800: 0x21000000, + 0xe800: 0x1000000, + 0xf800: 0x40080, + 0x10000: 0x40000, + 0x11000: 0x80, + 0x12000: 0x20000000, + 0x13000: 0x21000080, + 0x14000: 0x1000080, + 0x15000: 0x21040000, + 0x16000: 0x20040080, + 0x17000: 0x1000000, + 0x18000: 0x21040080, + 0x19000: 0x21000000, + 0x1a000: 0x1040000, + 0x1b000: 0x20040000, + 0x1c000: 0x40080, + 0x1d000: 0x20000080, + 0x1e000: 0x0, + 0x1f000: 0x1040080, + 0x10800: 0x21000080, + 0x11800: 0x1000000, + 0x12800: 0x1040000, + 0x13800: 0x20040080, + 0x14800: 0x20000000, + 0x15800: 0x1040080, + 0x16800: 0x80, + 0x17800: 0x21040000, + 0x18800: 0x40080, + 0x19800: 0x21040080, + 0x1a800: 0x0, + 0x1b800: 0x21000000, + 0x1c800: 0x1000080, + 0x1d800: 0x40000, + 0x1e800: 0x20040000, + 0x1f800: 0x20000080 + }, + { + 0x0: 0x10000008, + 0x100: 0x2000, + 0x200: 0x10200000, + 0x300: 0x10202008, + 0x400: 0x10002000, + 0x500: 0x200000, + 0x600: 0x200008, + 0x700: 0x10000000, + 0x800: 0x0, + 0x900: 0x10002008, + 0xa00: 0x202000, + 0xb00: 0x8, + 0xc00: 0x10200008, + 0xd00: 0x202008, + 0xe00: 0x2008, + 0xf00: 0x10202000, + 0x80: 0x10200000, + 0x180: 0x10202008, + 0x280: 0x8, + 0x380: 0x200000, + 0x480: 0x202008, + 0x580: 0x10000008, + 0x680: 0x10002000, + 0x780: 0x2008, + 0x880: 0x200008, + 0x980: 0x2000, + 0xa80: 0x10002008, + 0xb80: 0x10200008, + 0xc80: 0x0, + 0xd80: 0x10202000, + 0xe80: 0x202000, + 0xf80: 0x10000000, + 0x1000: 0x10002000, + 0x1100: 0x10200008, + 0x1200: 0x10202008, + 0x1300: 0x2008, + 0x1400: 0x200000, + 0x1500: 0x10000000, + 0x1600: 0x10000008, + 0x1700: 0x202000, + 0x1800: 0x202008, + 0x1900: 0x0, + 0x1a00: 0x8, + 0x1b00: 0x10200000, + 0x1c00: 0x2000, + 0x1d00: 0x10002008, + 0x1e00: 0x10202000, + 0x1f00: 0x200008, + 0x1080: 0x8, + 0x1180: 0x202000, + 0x1280: 0x200000, + 0x1380: 0x10000008, + 0x1480: 0x10002000, + 0x1580: 0x2008, + 0x1680: 0x10202008, + 0x1780: 0x10200000, + 0x1880: 0x10202000, + 0x1980: 0x10200008, + 0x1a80: 0x2000, + 0x1b80: 0x202008, + 0x1c80: 0x200008, + 0x1d80: 0x0, + 0x1e80: 0x10000000, + 0x1f80: 0x10002008 + }, + { + 0x0: 0x100000, + 0x10: 0x2000401, + 0x20: 0x400, + 0x30: 0x100401, + 0x40: 0x2100401, + 0x50: 0x0, + 0x60: 0x1, + 0x70: 0x2100001, + 0x80: 0x2000400, + 0x90: 0x100001, + 0xa0: 0x2000001, + 0xb0: 0x2100400, + 0xc0: 0x2100000, + 0xd0: 0x401, + 0xe0: 0x100400, + 0xf0: 0x2000000, + 0x8: 0x2100001, + 0x18: 0x0, + 0x28: 0x2000401, + 0x38: 0x2100400, + 0x48: 0x100000, + 0x58: 0x2000001, + 0x68: 0x2000000, + 0x78: 0x401, + 0x88: 0x100401, + 0x98: 0x2000400, + 0xa8: 0x2100000, + 0xb8: 0x100001, + 0xc8: 0x400, + 0xd8: 0x2100401, + 0xe8: 0x1, + 0xf8: 0x100400, + 0x100: 0x2000000, + 0x110: 0x100000, + 0x120: 0x2000401, + 0x130: 0x2100001, + 0x140: 0x100001, + 0x150: 0x2000400, + 0x160: 0x2100400, + 0x170: 0x100401, + 0x180: 0x401, + 0x190: 0x2100401, + 0x1a0: 0x100400, + 0x1b0: 0x1, + 0x1c0: 0x0, + 0x1d0: 0x2100000, + 0x1e0: 0x2000001, + 0x1f0: 0x400, + 0x108: 0x100400, + 0x118: 0x2000401, + 0x128: 0x2100001, + 0x138: 0x1, + 0x148: 0x2000000, + 0x158: 0x100000, + 0x168: 0x401, + 0x178: 0x2100400, + 0x188: 0x2000001, + 0x198: 0x2100000, + 0x1a8: 0x0, + 0x1b8: 0x2100401, + 0x1c8: 0x100401, + 0x1d8: 0x400, + 0x1e8: 0x2000400, + 0x1f8: 0x100001 + }, + { + 0x0: 0x8000820, + 0x1: 0x20000, + 0x2: 0x8000000, + 0x3: 0x20, + 0x4: 0x20020, + 0x5: 0x8020820, + 0x6: 0x8020800, + 0x7: 0x800, + 0x8: 0x8020000, + 0x9: 0x8000800, + 0xa: 0x20800, + 0xb: 0x8020020, + 0xc: 0x820, + 0xd: 0x0, + 0xe: 0x8000020, + 0xf: 0x20820, + 0x80000000: 0x800, + 0x80000001: 0x8020820, + 0x80000002: 0x8000820, + 0x80000003: 0x8000000, + 0x80000004: 0x8020000, + 0x80000005: 0x20800, + 0x80000006: 0x20820, + 0x80000007: 0x20, + 0x80000008: 0x8000020, + 0x80000009: 0x820, + 0x8000000a: 0x20020, + 0x8000000b: 0x8020800, + 0x8000000c: 0x0, + 0x8000000d: 0x8020020, + 0x8000000e: 0x8000800, + 0x8000000f: 0x20000, + 0x10: 0x20820, + 0x11: 0x8020800, + 0x12: 0x20, + 0x13: 0x800, + 0x14: 0x8000800, + 0x15: 0x8000020, + 0x16: 0x8020020, + 0x17: 0x20000, + 0x18: 0x0, + 0x19: 0x20020, + 0x1a: 0x8020000, + 0x1b: 0x8000820, + 0x1c: 0x8020820, + 0x1d: 0x20800, + 0x1e: 0x820, + 0x1f: 0x8000000, + 0x80000010: 0x20000, + 0x80000011: 0x800, + 0x80000012: 0x8020020, + 0x80000013: 0x20820, + 0x80000014: 0x20, + 0x80000015: 0x8020000, + 0x80000016: 0x8000000, + 0x80000017: 0x8000820, + 0x80000018: 0x8020820, + 0x80000019: 0x8000020, + 0x8000001a: 0x8000800, + 0x8000001b: 0x0, + 0x8000001c: 0x20800, + 0x8000001d: 0x820, + 0x8000001e: 0x20020, + 0x8000001f: 0x8020800 + } + ]; + + // Masks that select the SBOX input + var SBOX_MASK = [ + 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, + 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f + ]; + + /** + * DES block cipher algorithm. + */ + var DES = C_algo.DES = BlockCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + + // Select 56 bits according to PC1 + var keyBits = []; + for (var i = 0; i < 56; i++) { + var keyBitPos = PC1[i] - 1; + keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1; + } + + // Assemble 16 subkeys + var subKeys = this._subKeys = []; + for (var nSubKey = 0; nSubKey < 16; nSubKey++) { + // Create subkey + var subKey = subKeys[nSubKey] = []; + + // Shortcut + var bitShift = BIT_SHIFTS[nSubKey]; + + // Select 48 bits according to PC2 + for (var i = 0; i < 24; i++) { + // Select from the left 28 key bits + subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6); + + // Select from the right 28 key bits + subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6); + } + + // Since each subkey is applied to an expanded 32-bit input, + // the subkey can be broken into 8 values scaled to 32-bits, + // which allows the key to be used without expansion + subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31); + for (var i = 1; i < 7; i++) { + subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3); + } + subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27); + } + + // Compute inverse subkeys + var invSubKeys = this._invSubKeys = []; + for (var i = 0; i < 16; i++) { + invSubKeys[i] = subKeys[15 - i]; + } + }, + + encryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._subKeys); + }, + + decryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._invSubKeys); + }, + + _doCryptBlock: function (M, offset, subKeys) { + // Get input + this._lBlock = M[offset]; + this._rBlock = M[offset + 1]; + + // Initial permutation + exchangeLR.call(this, 4, 0x0f0f0f0f); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeRL.call(this, 2, 0x33333333); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeLR.call(this, 1, 0x55555555); + + // Rounds + for (var round = 0; round < 16; round++) { + // Shortcuts + var subKey = subKeys[round]; + var lBlock = this._lBlock; + var rBlock = this._rBlock; + + // Feistel function + var f = 0; + for (var i = 0; i < 8; i++) { + f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0]; + } + this._lBlock = rBlock; + this._rBlock = lBlock ^ f; + } + + // Undo swap from last round + var t = this._lBlock; + this._lBlock = this._rBlock; + this._rBlock = t; + + // Final permutation + exchangeLR.call(this, 1, 0x55555555); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeRL.call(this, 2, 0x33333333); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeLR.call(this, 4, 0x0f0f0f0f); + + // Set output + M[offset] = this._lBlock; + M[offset + 1] = this._rBlock; + }, + + keySize: 64/32, + + ivSize: 64/32, + + blockSize: 64/32 + }); + + // Swap bits across the left and right words + function exchangeLR(offset, mask) { + var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask; + this._rBlock ^= t; + this._lBlock ^= t << offset; + } + + function exchangeRL(offset, mask) { + var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask; + this._lBlock ^= t; + this._rBlock ^= t << offset; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.DES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg); + */ + C.DES = BlockCipher._createHelper(DES); + + /** + * Triple-DES block cipher algorithm. + */ + var TripleDES = C_algo.TripleDES = BlockCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + // Make sure the key length is valid (64, 128 or >= 192 bit) + if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) { + throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.'); + } + + // Extend the key according to the keying options defined in 3DES standard + var key1 = keyWords.slice(0, 2); + var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4); + var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6); + + // Create DES instances + this._des1 = DES.createEncryptor(WordArray.create(key1)); + this._des2 = DES.createEncryptor(WordArray.create(key2)); + this._des3 = DES.createEncryptor(WordArray.create(key3)); + }, + + encryptBlock: function (M, offset) { + this._des1.encryptBlock(M, offset); + this._des2.decryptBlock(M, offset); + this._des3.encryptBlock(M, offset); + }, + + decryptBlock: function (M, offset) { + this._des3.decryptBlock(M, offset); + this._des2.encryptBlock(M, offset); + this._des1.decryptBlock(M, offset); + }, + + keySize: 192/32, + + ivSize: 64/32, + + blockSize: 64/32 + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg); + */ + C.TripleDES = BlockCipher._createHelper(TripleDES); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + /** + * RC4 stream cipher algorithm. + */ + var RC4 = C_algo.RC4 = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + var keySigBytes = key.sigBytes; + + // Init sbox + var S = this._S = []; + for (var i = 0; i < 256; i++) { + S[i] = i; + } + + // Key setup + for (var i = 0, j = 0; i < 256; i++) { + var keyByteIndex = i % keySigBytes; + var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff; + + j = (j + S[i] + keyByte) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + } + + // Counters + this._i = this._j = 0; + }, + + _doProcessBlock: function (M, offset) { + M[offset] ^= generateKeystreamWord.call(this); + }, + + keySize: 256/32, + + ivSize: 0 + }); + + function generateKeystreamWord() { + // Shortcuts + var S = this._S; + var i = this._i; + var j = this._j; + + // Generate keystream word + var keystreamWord = 0; + for (var n = 0; n < 4; n++) { + i = (i + 1) % 256; + j = (j + S[i]) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + + keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8); + } + + // Update counters + this._i = i; + this._j = j; + + return keystreamWord; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg); + */ + C.RC4 = StreamCipher._createHelper(RC4); + + /** + * Modified RC4 stream cipher algorithm. + */ + var RC4Drop = C_algo.RC4Drop = RC4.extend({ + /** + * Configuration options. + * + * @property {number} drop The number of keystream words to drop. Default 192 + */ + cfg: RC4.cfg.extend({ + drop: 192 + }), + + _doReset: function () { + RC4._doReset.call(this); + + // Drop + for (var i = this.cfg.drop; i > 0; i--) { + generateKeystreamWord.call(this); + } + } + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg); + */ + C.RC4Drop = StreamCipher._createHelper(RC4Drop); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm + */ + var Rabbit = C_algo.Rabbit = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Swap endian + for (var i = 0; i < 4; i++) { + K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) | + (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00); + } + + // Generate initial state values + var X = this._X = [ + K[0], (K[3] << 16) | (K[2] >>> 16), + K[1], (K[0] << 16) | (K[3] >>> 16), + K[2], (K[1] << 16) | (K[0] >>> 16), + K[3], (K[2] << 16) | (K[1] >>> 16) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); + S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); + S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); + S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); + + for (var i = 0; i < 4; i++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128/32, + + ivSize: 64/32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; + X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; + X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; + X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; + X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; + X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; + X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; + X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg); + * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg); + */ + C.Rabbit = StreamCipher._createHelper(Rabbit); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm. + * + * This is a legacy version that neglected to convert the key to little-endian. + * This error doesn't affect the cipher's security, + * but it does affect its compatibility with other implementations. + */ + var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Generate initial state values + var X = this._X = [ + K[0], (K[3] << 16) | (K[2] >>> 16), + K[1], (K[0] << 16) | (K[3] >>> 16), + K[2], (K[1] << 16) | (K[0] >>> 16), + K[3], (K[2] << 16) | (K[1] >>> 16) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); + S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); + S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); + S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); + + for (var i = 0; i < 4; i++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128/32, + + ivSize: 64/32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; + X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; + X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; + X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; + X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; + X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; + X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; + X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg); + */ + C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy); + }()); + + + return CryptoJS; + +})); \ No newline at end of file diff --git a/TVBox_JS/lib/drpy.js b/TVBox_JS/lib/drpy.js new file mode 100644 index 0000000..cad2791 --- /dev/null +++ b/TVBox_JS/lib/drpy.js @@ -0,0 +1,2115 @@ +// import 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/libs/es6py.js'; +// import {是否正版,urlDeal,setResult,setResult2,setHomeResult,maoss,urlencode} from 'http://192.168.10.103:5705/libs/es6py.js'; +// import 'http://192.168.1.124:5705/libs/es6py.js'; +import cheerio from 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/libs/cheerio.min.js'; +// import cheerio from 'http://192.168.10.103:5705/libs/cheerio.min.js'; +import 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/libs/crypto-js.js'; +import 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/libs/drT.js'; +// import 'http://192.168.10.103:5705/libs/drT.js'; +// import muban from 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js'; +// import muban from 'http://192.168.10.103:5705/admin/view/模板.js'; + +// const key = 'drpy_zbk'; +// eval(req('http://192.168.1.124:5705/libs/es6py.js').content); +function init_test(){ + // console.log(typeof(CryptoJS)); + console.log("init_test_start"); + console.log("当前版本号:"+VERSION); + console.log(RKEY); + console.log(JSON.stringify(rule)); + // console.log('123456的md5值是:'+md5('123456')); + // let aa = base64Encode('编码测试一下') + // log(aa); + // let bb = base64Decode(aa); + // log('bb:'+bb); + // clearItem(RULE_CK); + // console.log(JSON.stringify(rule)); + // console.log(request('https://www.baidu.com',{withHeaders:true})); + // console.log(request('https://www.baidu.com/favicon.ico',{toBase64:true})); + // require('http://192.168.10.99:5705/txt/pluto/drT.js'); + // console.log(typeof(drT)); + // console.log(drT.renderText('{{fl.cate}},hi, {{fl}}哈哈.{{fl}}',{sort: 1,cate:'movie'},'fl')); + console.log("init_test_end"); +} + +let rule = {}; +const VERSION = '3.9.16'; +/** 已知问题记录 + * 1.影魔的jinjia2引擎不支持 {{fl}}对象直接渲染 (有能力解决的话尽量解决下,支持对象直接渲染字符串转义,如果加了|safe就不转义)[影魔牛逼,最新的文件发现这问题已经解决了] + * Array.prototype.append = Array.prototype.push; 这种js执行后有毛病,for in 循环列表会把属性给打印出来 (这个大毛病需要重点排除一下) + * 2.import es6py.js但是里面的函数没有被装载进来.比如drpy规则报错setResult2 is undefiend(合并文件了可以不管了) + * 3.无法重复导入cheerio(怎么解决drpy和parseTag里都需要导入cheerio的问题) 无法在副文件导入cheerio (现在是全部放在drpy一个文件里了,凑合解决?) + * 4.有个错误不知道哪儿来的 executeScript: com.quickjs.JSObject$Undefined cannot be cast to java.lang.String 在 点击选集播放打印init_test_end后面打印(貌似不影响使用) + * 5.需要实现 stringify 函数,比起JSON.stringify函数,它会原封不动保留中文不会编码unicode + * 6.base64Encode,base64Decode,md5函数还没有实现 (抄影魔代码实现了) + * 7.eval(getCryptoJS());还没有实现 (可以空实现了,以后遇到能忽略) + * done: jsp:{pdfa,pdfh,pd},json:{pdfa,pdfh,pd},jq:{pdfa,pdfh,pd} + * * 电脑看日志调试 + adb tcpip 5555 + adb connect 192.168.10.192 + adb devices -l + adb logcat -c + adb logcat | grep -i QuickJS + * **/ + + +/*** 以下是内置变量和解析方法 **/ +const MOBILE_UA = 'Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36'; +const PC_UA = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36'; +const UA = 'Mozilla/5.0'; +const UC_UA = 'Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36'; +const IOS_UA = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'; +const RULE_CK = 'cookie'; // 源cookie的key值 +// const KEY = typeof(key)!=='undefined'&&key?key:'drpy_' + (rule.title || rule.host); // 源的唯一标识 +const CATE_EXCLUDE = '首页|留言|APP|下载|资讯|新闻|动态'; +const TAB_EXCLUDE = '猜你|喜欢|APP|下载|剧情|热播'; +const OCR_RETRY = 3;//ocr验证重试次数 +// const OCR_API = 'http://dm.mudery.com:10000';//ocr在线识别接口 +// const OCR_API = 'http://192.168.3.239:5705/parse/ocr';//ocr在线识别接口 +// const OCR_API = 'http://cms.nokia.press/parse/ocr';//ocr在线识别接口 +const OCR_API = 'http://cms.nokia.press:5706/parse/ocr';//ocr在线识别接口 +if(typeof(MY_URL)==='undefined'){ + var MY_URL; // 全局注入变量,pd函数需要 +} +var RKEY; // 源的唯一标识 +var fetch; +var print; +var log; +var rule_fetch_params; +var fetch_params; // 每个位置单独的 +var oheaders; +// var play_url; // 二级详情页注入变量,为了适配js模式0 (不在这里定义了,直接二级里定义了个空字符串) +var _pdfh; +var _pdfa; +var _pd; +// const DOM_CHECK_ATTR = ['url', 'src', 'href', 'data-original', 'data-src']; +const DOM_CHECK_ATTR = /(url|src|href|-original|-src|-play|-url)$/; +const SELECT_REGEX = /:eq|:lt|:gt|#/g; +const SELECT_REGEX_A = /:eq|:lt|:gt/g; + +/** +es6py扩展 + */ +if (typeof Object.assign != 'function') { + Object.assign = function () { + var target = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; +} +if (!String.prototype.includes) { + String.prototype.includes = function (search, start) { + if (typeof start !== 'number') { + start = 0; + } + + if (start + search.length > this.length) { + return false; + } else { + return this.indexOf(search, start) !== -1; + } + }; +} + +if (!Array.prototype.includes) { + Object.defineProperty(Array.prototype, 'includes', { + value: function (searchElement, fromIndex) { + + if (this == null) {//this是空或者未定义,抛出错误 + throw new TypeError('"this" is null or not defined'); + } + + var o = Object(this);//将this转变成对象 + var len = o.length >>> 0;//无符号右移0位,获取对象length属性,如果未定义就会变成0 + + if (len === 0) {//length为0直接返回false未找到目标值 + return false; + } + + var n = fromIndex | 0;//查找起始索引 + var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);//计算正确起始索引,因为有可能是负值 + + while (k < len) {//从起始索引处开始循环 + if (o[k] === searchElement) {//如果某一位置与寻找目标相等,返回true,找到了 + return true; + } + k++; + } + return false;//未找到,返回false + } + }); +} +if (typeof String.prototype.startsWith != 'function') { + String.prototype.startsWith = function (prefix){ + return this.slice(0, prefix.length) === prefix; + }; +} +if (typeof String.prototype.endsWith != 'function') { + String.prototype.endsWith = function(suffix) { + return this.indexOf(suffix, this.length - suffix.length) !== -1; + }; +} +Object.prototype.myValues=function(obj){ + if(obj ==null) { + throw new TypeError("Cannot convert undefined or null to object"); + } + var res=[] + for(var k in obj){ + if(obj.hasOwnProperty(k)){//需判断是否是本身的属性 + res.push(obj[k]); + } + } + return res; +} +if (typeof Object.prototype.values != 'function') { + Object.prototype.values=function(obj){ + if(obj ==null) { + throw new TypeError("Cannot convert undefined or null to object"); + } + var res=[] + for(var k in obj){ + if(obj.hasOwnProperty(k)){//需判断是否是本身的属性 + res.push(obj[k]); + } + } + return res; + } +} +if (typeof Array.prototype.join != 'function') { + Array.prototype.join = function (emoji) { + // emoji = emoji||','; + emoji = emoji||''; + let self = this; + let str = ""; + let i = 0; + if (!Array.isArray(self)) {throw String(self)+'is not Array'} + if(self.length===0){return ''} + if (self.length === 1){return String(self[0])} + i = 1; + str = this[0]; + for (; i < self.length; i++) { + str += String(emoji)+String(self[i]); + } + return str; + }; +} + +String.prototype.rstrip = function (chars) { + let regex = new RegExp(chars + "$"); + return this.replace(regex, ""); +}; + +Array.prototype.append = Array.prototype.push; +String.prototype.strip = String.prototype.trim; +function 是否正版(vipUrl){ + let flag = new RegExp('qq\.com|iqiyi\.com|youku\.com|mgtv\.com|bilibili\.com|sohu\.com|ixigua\.com|pptv\.com|miguvideo\.com|le\.com|1905\.com|fun\.tv'); + return flag.test(vipUrl); +} +function urlDeal(vipUrl){ + if(!vipUrl){ + return '' + } + if(!是否正版(vipUrl)){ + return vipUrl + } + if(!/miguvideo/.test(vipUrl)){ + vipUrl=vipUrl.split('#')[0].split('?')[0]; + } + return vipUrl +} +function setResult(d){ + if(!Array.isArray(d)){ + return [] + } + VODS = []; + // print(d); + d.forEach(function (it){ + let obj = { + vod_id:it.url||'', + vod_name: it.title||'', + vod_remarks: it.desc||'', + vod_content: it.content||'', + vod_pic: it.pic_url||it.img||'', + }; + let keys = Object.keys(it); + if(keys.includes('tname')){ + obj.type_name = it.tname||''; + } + if(keys.includes('tid')){ + obj.type_id = it.tid||''; + } + if(keys.includes('year')){ + obj.vod_year = it.year||''; + } + if(keys.includes('actor')){ + obj.vod_actor = it.actor||''; + } + if(keys.includes('director')){ + obj.vod_director = it.director||''; + } + if(keys.includes('area')){ + obj.vod_area = it.area||''; + } + VODS.push(obj); + }); + return VODS +} +function setResult2(res){ + VODS = res.list||[]; + return VODS +} +function setHomeResult(res){ + if(!res||typeof(res)!=='object'){ + return [] + } + return setResult(res.list); +} +// 猫了个咪 +function rc(js) { + if (js === 'maomi_aes.js') { + var a = CryptoJS.enc.Utf8.parse("625222f9149e961d"); + var t = CryptoJS.enc.Utf8.parse("5efdtf6060e2o330"); + return { + De: function (word) { + word = CryptoJS.enc.Hex.parse(word) + return CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(word), a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + }, + En: function (word) { + // print(a); + // print(word); + var Encrypted = CryptoJS.AES.encrypt(word, a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + return Encrypted.ciphertext.toString(); + } + }; + } + return {}; +} + +// 千万不要用for in 推荐 forEach (for in 会打乱顺序) +//猫函数 +function maoss(jxurl, ref, key) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + eval(getCryptoJS()); + try { + var getVideoInfo = function (text) { + return CryptoJS.AES.decrypt(text, key, {iv: iv, padding: CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8); + }; + var token_key = key == undefined ? 'dvyYRQlnPRCMdQSe' : key; + if (ref) { + var html = request(jxurl, { + headers: { + 'Referer': ref + } + }); + } else { + var html = request(jxurl); + } + // print(html); + if (html.indexOf('&btwaf=') != -1) { + html = request(jxurl + '&btwaf' + html.match(/&btwaf(.*?)"/)[1], { + headers: { + 'Referer': ref + } + }) + } + var token_iv = html.split('_token = "')[1].split('"')[0]; + var key = CryptoJS.enc.Utf8.parse(token_key); + var iv = CryptoJS.enc.Utf8.parse(token_iv); + // log("iv:"+iv); + // log(html); + // print(key); + // print(iv); + eval(html.match(/var config = {[\s\S]*?}/)[0] + ''); + // config.url = config.url.replace(/,/g,''); + // print(config.url); + if (!config.url.startsWith('http')) { + //config.url = decodeURIComponent(AES(config.url, key, iv)); + config.url = CryptoJS.AES.decrypt(config.url, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + } + return config.url; + } catch (e) { + return ''; + } +} + +function urlencode (str) { + str = (str + '').toString(); + return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28'). + replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+'); +} + +function base64Encode(text){ + return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text)); + // return text +} + +function base64Decode(text){ + return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text)); + // return text +} + +function md5(text) { + return CryptoJS.MD5(text).toString(); +} + +function getCryptoJS(){ + // return request('https://gitcode.net/qq_32394351/dr_py/-/raw/master/libs/crypto-hiker.js'); + return 'console.log("CryptoJS已装载");' +} + +let VODS = [];// 一级或者搜索需要的数据列表 +let VOD = {};// 二级的单个数据 +let TABS = [];// 二级的自定义线路列表 如: TABS=['道长在线','道长在线2'] +let LISTS = [];// 二级的自定义选集播放列表 如: LISTS=[['第1集$http://1.mp4','第2集$http://2.mp4'],['第3集$http://1.mp4','第4集$http://2.mp4']] +globalThis.encodeUrl = urlencode; +globalThis.urlencode = urlencode; + + + +/** + * url拼接 + * @param fromPath 初始当前页面url + * @param nowPath 相对当前页面url + * @returns {*} + */ +function urljoin(fromPath, nowPath) { + fromPath = fromPath||''; + nowPath = nowPath||''; + return joinUrl(fromPath, nowPath); + // try { + // // import Uri from './uri.min.js'; + // // var Uri = require('./uri.min.js'); + // // eval(request('https://cdn.bootcdn.net/ajax/libs/URI.js/1.19.11/URI.min.js')); + // // let new_uri = URI(nowPath, fromPath); + + // let new_uri = Uri(nowPath, fromPath); + // new_uri = new_uri.toString(); + // // console.log(new_uri); + // // return fromPath + nowPath + // return new_uri + // } + // catch (e) { + // console.log('urljoin发生错误:'+e.message); + // if(nowPath.startsWith('http')){ + // return nowPath + // }if(nowPath.startsWith('/')){ + // return getHome(fromPath)+nowPath + // } + // return fromPath+nowPath + // } +} +var urljoin2 = urljoin; + +// 内置 pdfh,pdfa,pd +const defaultParser = { + pdfh:pdfh, + pdfa:pdfa, + pd(html,parse,uri){ + let ret = this.pdfh(html,parse); + if(typeof(uri)==='undefined'||!uri){ + uri = ''; + } + if(DOM_CHECK_ATTR.test(parse)){ + if(/http/.test(ret)){ + ret = ret.substr(ret.indexOf('http')); + }else{ + ret = urljoin(MY_URL,ret) + } + } + return ret + }, +}; + + +/** + * pdfh原版优化,能取style属性里的图片链接 + * @param html 源码 + * @param parse 解析表达式 + * @returns {string|*} + */ +function pdfh2(html,parse){ + let html2 = html; + try { + if(typeof(html)!=='string'){ + html2 = html.rr(html.ele).toString(); + } + }catch (e) { + print('html对象转文本发生了错误:'+e.message); + } + let result = defaultParser.pdfh(html2,parse); + let option = parse.includes('&&')?parse.split('&&').slice(-1)[0]:parse.split(' ').slice(-1)[0]; + if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){ + try { + result = result.match(/url\((.*?)\)/)[1]; + }catch (e) {} + } + return result +} + +/** + * pdfa原版优化,可以转换jq的html对象 + * @param html + * @param parse + * @returns {*} + */ +function pdfa2(html,parse){ + let html2 = html; + try { + if(typeof(html)!=='string'){ + html2 = html.rr(html.ele).toString(); + } + }catch (e) { + print('html对象转文本发生了错误:'+e.message); + } + return defaultParser.pdfa(html2,parse); +} + +/** + * pd原版方法重写-增加自动urljoin + * @param html + * @param parse + * @param uri + * @returns {*} + */ +function pd2(html,parse,uri){ + let ret = pdfh2(html,parse); + if(typeof(uri)==='undefined'||!uri){ + uri = ''; + } + if(DOM_CHECK_ATTR.test(parse)){ + if(/http/.test(ret)){ + ret = ret.substr(ret.indexOf('http')); + }else{ + ret = urljoin(MY_URL,ret) + } + } + // MY_URL = getItem('MY_URL',MY_URL); + // console.log(`规则${RKEY}打印MY_URL:${MY_URL},uri:${uri}`); + return ret +} + +const parseTags = { + jsp:{ + pdfh:pdfh2, + pdfa:pdfa2, + pd:pd2, + }, + json:{ + pdfh(html, parse) { + if (!parse || !parse.trim()){ + return ''; + } + if (typeof(html) === 'string'){ + // print('jsonpath:pdfh字符串转dict'); + html = JSON.parse(html); + } + parse = parse.trim(); + if (!parse.startsWith('$.')){ + parse = '$.' + parse; + } + parse = parse.split('||'); + for (let ps of parse) { + let ret = cheerio.jp(ps, html); + if (Array.isArray(ret)){ + ret = ret[0] || ''; + } else{ + ret = ret || '' + } + if (ret && typeof (ret) !== 'string'){ + ret = ret.toString(); + } + if(ret){ + return ret + } + } + return ''; + }, + pdfa(html, parse) { + if (!parse || !parse.trim()){ + return ''; + } + if (typeof(html) === 'string'){ + // print('jsonpath:pdfa字符串转dict'); + html = JSON.parse(html); + } + parse = parse.trim() + if (!parse.startsWith('$.')){ + parse = '$.' + parse; + } + let ret = cheerio.jp(parse, html); + if (Array.isArray(ret) && Array.isArray(ret[0]) && ret.length === 1){ + return ret[0] || [] + } + return ret || [] + }, + pd(html,parse){ + let ret = parseTags.json.pdfh(html,parse); + if(ret){ + return urljoin(MY_URL,ret); + } + return ret + }, + }, + jq:{ + pdfh(html, parse, base_url) { + if (!parse || !parse.trim()) { + return '' + } + let eleFind = typeof html === 'object'; + let option = undefined; + if (eleFind && parse.startsWith('body&&')) { + parse = parse.substr(6); + if (parse.indexOf('&&') < 0) { + option = parse.trim(); + parse = '*=*'; + } + } + if (parse.indexOf('&&') > -1) { + let sp = parse.split('&&'); + option = sp[sp.length - 1]; + sp.splice(sp.length - 1); + if (sp.length > 1) { + for (let i in sp) { + //Javascript自定义Array.prototype干扰for-in循环 + if(sp.hasOwnProperty(i)){ + if (!SELECT_REGEX.test(sp[i])) { + sp[i] = sp[i] + ':eq(0)'; + } + } + } + } else { + if (!SELECT_REGEX.test(sp[0])) { + sp[0] = sp[0] + ':eq(0)'; + } + } + parse = sp.join(' '); + } + let result = ''; + const $ = eleFind ? html.rr : cheerio.load(html); + let ret = eleFind ? ((parse === '*=*' || $(html.ele).is(parse)) ? html.ele : $(html.ele).find(parse)) : $(parse); + if (option) { + if (option === 'Text') { + result = $(ret).text(); + } + else if (option === 'Html') { + result = $(ret).html(); + } + else { + result = $(ret).attr(option); + if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){ + try { + result = result.match(/url\((.*?)\)/)[1]; + }catch (e) {} + } + } + if (result && base_url && DOM_CHECK_ATTR.test(option)) { + if (/http/.test(result)) { + result = result.substr(result.indexOf('http')); + } else { + result = urljoin(base_url, result) + } + } + } else { + result = $(ret).toString(); + } + return result; + }, + pdfa(html, parse) { + if (!parse || !parse.trim()) { + print('!parse'); + return []; + } + let eleFind = typeof html === 'object'; + // print('parse前:'+parse); + if (parse.indexOf('&&') > -1) { + let sp = parse.split('&&'); + for (let i in sp) { + if(sp.hasOwnProperty(i)){ + if (!SELECT_REGEX_A.test(sp[i]) && i < sp.length - 1) { + if(sp[i]!=='body'){ + // sp[i] = sp[i] + ':eq(0)'; + sp[i] = sp[i] + ':first'; + } + } + } + } + parse = sp.join(' '); + } + // print('parse后:'+parse); + const $ = eleFind ? html.rr : cheerio.load(html); + let ret = eleFind ? ($(html.ele).is(parse) ? html.ele : $(html.ele).find(parse)) : $(parse); + let result = []; + // print('outerHTML:'); + // print($(ret[0]).prop("outerHTML")); + if (ret) { + ret.each(function (idx, ele) { + result.push({ rr: $, ele: ele }); + // result.push({ rr: $, ele: $(ele).prop("outerHTML")}); // 性能贼差 + }); + } + return result; + }, + pd(html,parse,uri){ + return parseTags.jq.pdfh(html, parse, MY_URL); + }, + }, + getParse(p0){//非js开头的情况自动获取解析标签 + if(p0.startsWith('jsp:')){ + return this.jsp + }else if(p0.startsWith('json:')){ + return this.json + }else if(p0.startsWith('jq:')){ + return this.jq + }else { + return this.jq + } + } +}; + +const stringify = JSON.stringify; +const jsp = parseTags.jsp; +const jq = parseTags.jq; + +/*** 后台需要实现的java方法并注入到js中 ***/ + +/** + * 读取本地文件->应用程序目录 + * @param filePath + * @returns {string} + */ +function readFile(filePath){ + filePath = filePath||'./uri.min.js'; + var fd = os.open(filePath); + var buffer = new ArrayBuffer(1024); + var len = os.read(fd, buffer, 0, 1024); + console.log(len); + let text = String.fromCharCode.apply(null, new Uint8Array(buffer)); + console.log(text); + return text +} + +/** + * 处理返回的json数据 + * @param html + * @returns {*} + */ +function dealJson(html) { + try { + // html = html.match(/[\w|\W|\s|\S]*?(\{[\w|\W|\s|\S]*\})/).group[1]; + html = html.trim(); + if(!((html.startsWith('{') && html.endsWith('}'))||(html.startsWith('[') && html.endsWith(']')))){ + html = '{'+html.match(/.*?\{(.*)\}/m)[1]+'}'; + } + } catch (e) { + } + try { + html = JSON.parse(html); + }catch (e) {} + // console.log(typeof(html)); + return html; +} + +/** + * 验证码识别逻辑,需要java实现(js没有bytes类型,无法调用后端的传递图片二进制获取验证码文本的接口) + * @type {{api: string, classification: (function(*=): string)}} + */ +var OcrApi={ + api:OCR_API, + classification:function (img){ // img是byte类型,这里不方便搞啊 + let code = ''; + try { + let html = request(this.api,{data:{img:img},headers:{'User-Agent':PC_UA},'method':'POST'},true); + html = JSON.parse(html); + code = html.url||''; + }catch (e) {} + return code + } +}; +/** + * 验证码识别,暂未实现 + * @param url 验证码图片链接 + * @returns {string} 验证成功后的cookie + */ +function verifyCode(url){ + let cnt = 0; + let host = getHome(url); + let cookie = ''; + while (cnt < OCR_RETRY){ + try{ + // let obj = {headers:headers,timeout:timeout}; + let yzm_url = `${host}/index.php/verify/index.html`; + console.log(`验证码链接:${yzm_url}`); + let hhtml = request(yzm_url,{withHeaders:true,toBase64:true},true); + let json = JSON.parse(hhtml); + if(!cookie){ + // print(json); + let setCk = Object.keys(json).find(it=>it.toLowerCase()==='set-cookie'); + // cookie = json['set-cookie']?json['set-cookie'].split(';')[0]:''; + cookie = setCk?json[setCk].split(';')[0]:''; + } + // console.log(hhtml); + console.log('cookie:'+cookie); + let img = json.body; + // console.log(img); + let code = OcrApi.classification(img); + console.log(`第${cnt+1}次验证码识别结果:${code}`); + let submit_url = `${host}/index.php/ajax/verify_check?type=search&verify=${code}`; + console.log(submit_url); + let html = request(submit_url,{headers:{Cookie:cookie,'User-Agent':MOBILE_UA},'method':'POST'}); + // console.log(html); + html = JSON.parse(html); + if(html.msg === 'ok'){ + console.log(`第${cnt+1}次验证码提交成功`); + return cookie // 需要返回cookie + }else if(html.msg!=='ok'&&cnt+1>=OCR_RETRY){ + cookie = ''; // 需要清空返回cookie + } + }catch (e) { + console.log(`第${cnt+1}次验证码提交失败:${e.message}`); + if(cnt+1>=OCR_RETRY){ + cookie = ''; + } + } + cnt+=1 + } + return cookie +} + +/** + * 存在数据库配置表里, key字段对应值value,没有就新增,有就更新,调用此方法会清除key对应的内存缓存 + * @param k 键 + * @param v 值 + */ +function setItem(k,v){ + local.set(RKEY,k,v); + console.log(`规则${RKEY}设置${k} => ${v}`) +} + +/** + * 获取数据库配置表对应的key字段的value,没有这个key就返回value默认传参.需要有缓存,第一次获取后会存在内存里 + * @param k 键 + * @param v 值 + * @returns {*} + */ +function getItem(k,v){ + return local.get(RKEY,k) || v; +} + +/** + * 删除数据库key对应的一条数据,并清除此key对应的内存缓存 + * @param k + */ +function clearItem(k){ + local.delete(RKEY,k); +} + +/*** js自封装的方法 ***/ + +/** + * 获取链接的host(带http协议的完整链接) + * @param url 任意一个正常完整的Url,自动提取根 + * @returns {string} + */ +function getHome(url){ + if(!url){ + return '' + } + let tmp = url.split('//'); + url = tmp[0] + '//' + tmp[1].split('/')[0]; + try { + url = decodeURIComponent(url); + }catch (e) {} + return url +} + +/** + * get参数编译链接,类似python params字典自动拼接 + * @param url 访问链接 + * @param obj 参数字典 + * @returns {*} + */ +function buildUrl(url,obj){ + obj = obj||{}; + if(url.indexOf('?')<0){ + url += '?' + } + let param_list = []; + let keys = Object.keys(obj); + keys.forEach(it=>{ + param_list.push(it+'='+obj[it]) + }); + let prs = param_list.join('&'); + if(keys.length > 0 && !url.endsWith('?')){ + url += '&' + } + url+=prs; + return url +} + +/** + * 远程依赖执行函数 + * @param url 远程js地址 + */ +function require(url){ + eval(request(url)); +} +/** + * 海阔网页请求函数完整封装 + * @param url 请求链接 + * @param obj 请求对象 {headers:{},method:'',timeout:5000,body:'',withHeaders:false} + * @param ocr_flag 标识此flag是用于请求ocr识别的,自动过滤content-type指定编码 + * @returns {string|string|DocumentFragment|*} + */ +function request(url,obj,ocr_flag){ + ocr_flag = ocr_flag||false; + if(typeof(obj)==='undefined'||!obj||obj==={}){ + if(!fetch_params||!fetch_params.headers){ + let headers = { + 'User-Agent':MOBILE_UA, + }; + if(rule.headers){ + Object.assign(headers,rule.headers); + } + fetch_params.headers = headers; + } + if(!fetch_params.headers.Referer){ + fetch_params.headers.Referer = getHome(url) + } + obj = fetch_params; + }else{ + let headers = obj.headers||{}; + let keys = Object.keys(headers).map(it=>it.toLowerCase()); + if(!keys.includes('user-agent')){ + headers['User-Agent'] = MOBILE_UA; + }if(!keys.includes('referer')){ + headers['Referer'] = getHome(url); + } + obj.headers = headers; + } + if(rule.encoding&&rule.encoding!=='utf-8'&&!ocr_flag){ + if(!obj.headers.hasOwnProperty('Content-Type')){ // 手动指定了就不管 + obj.headers["Content-Type"] = 'text/html; charset='+rule.encoding; + } + } + if(typeof(obj.body)!='undefined'&&obj.body&&typeof (obj.body)==='string'){ + let data = {}; + obj.body.split('&').forEach(it=>{ + data[it.split('=')[0]] = it.split('=')[1] + }); + obj.data = data; + delete obj.body + }else if(typeof(obj.body)!='undefined'&&obj.body&&typeof (obj.body)==='object'){ + obj.data = obj.body; + delete obj.body + } + if(!url){ + return obj.withHeaders?'{}':'' + } + if(obj.toBase64){ // 返回base64,用于请求图片 + obj.buffer = 2; + delete obj.toBase64 + } + console.log(JSON.stringify(obj.headers)); + // console.log('request:'+url+' obj:'+JSON.stringify(obj)); + console.log('request:'+url); + let res = req(url, obj); + let html = res.content||''; + // console.log(html); + if(obj.withHeaders){ + let htmlWithHeaders = res.headers; + htmlWithHeaders.body = html; + return JSON.stringify(htmlWithHeaders); + }else{ + return html + } +} + +/** + * 快捷post请求 + * @param url 地址 + * @param obj 对象 + * @returns {string|DocumentFragment|*} + */ +function post(url,obj){ + obj.method = 'POST'; + return request(url,obj); +} + +fetch = request; +print = function (data){ + data = data||''; + if(typeof(data)!=='string'){ + try { + data = JSON.stringify(data); + }catch (e) { + console.log('print:'+e.message) + } + } + if(typeof(data)!=='string'){ + console.log(typeof(data)+':'+data.length); + }else{ + console.log(data); + } +} +log = print; +/** + * 检查宝塔验证并自动跳过获取正确源码 + * @param html 之前获取的html + * @param url 之前的来源url + * @param obj 来源obj + * @returns {string|DocumentFragment|*} + */ +function checkHtml(html,url,obj){ + if(/\?btwaf=/.test(html)){ + let btwaf = html.match(/btwaf(.*?)"/)[1]; + url = url.split('#')[0]+'?btwaf'+btwaf; + print('宝塔验证访问链接:'+url); + html = request(url,obj); + } + return html +} + +/** + * 带一次宝塔验证的源码获取 + * @param url 请求链接 + * @param obj 请求参数 + * @returns {string|DocumentFragment} + */ +function getCode(url,obj){ + let html = request(url,obj); + html = checkHtml(html,url,obj); + return html +} + +/** + * 源rule专用的请求方法,自动注入cookie + * @param url 请求链接 + * @returns {string|DocumentFragment} + */ +function getHtml(url){ + let obj = {}; + if(rule.headers){ + obj.headers = rule.headers; + } + let cookie = getItem(RULE_CK,''); + if(cookie){ + if(obj.headers && ! Object.keys(obj.headers).map(it=>it.toLowerCase()).includes('cookie')){ + obj.headers['Cookie'] = cookie; + }else if(!obj.headers){ + obj.headers = {Cookie:cookie}; + } + } + let html = getCode(url,obj); + return html +} + +/** + * 首页分类解析,筛选暂未实现 + * @param homeObj 首页传参对象 + * @returns {string} + */ +function homeParse(homeObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let classes = []; + if (homeObj.class_name && homeObj.class_url) { + let names = homeObj.class_name.split('&'); + let urls = homeObj.class_url.split('&'); + let cnt = Math.min(names.length, urls.length); + for (let i = 0; i < cnt; i++) { + classes.push({ + 'type_id': urls[i], + 'type_name': names[i] + }); + } + } + + if (homeObj.class_parse) { + let p = homeObj.class_parse.split(';'); + let _ps = parseTags.getParse(p[0]); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + MY_URL = rule.url; + if (p.length >= 3) { // 可以不写正则 + try { + let html = getHtml(homeObj.MY_URL); + if (html) { + homeHtmlCache = html; + let list = _pdfa(html, p[0]); + if (list && list.length > 0) { + list.forEach((it,idex) => { + try { + let name = _pdfh(it, p[1]); + if (homeObj.cate_exclude && (new RegExp(homeObj.cate_exclude).test(name))) { + return; + } + // let url = pdfh(it, p[2]); + let url = _pd(it, p[2]); + if (p.length > 3 && p[3]) { + let exp = new RegExp(p[3]); + url = url.match(exp)[1]; + } + + classes.push({ + 'type_id': url.trim(), + 'type_name': name.trim() + }); + } catch (e) { + console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`); + } + }); + } + } + } catch (e) { + console.log(e.message); + } + + } + } + // 排除分类 + classes = classes.filter(it=>!homeObj.cate_exclude || !(new RegExp(homeObj.cate_exclude).test(it.type_name))); + let resp = { + 'class': classes + }; + if(homeObj.filter){ + resp.filters = homeObj.filter; + } + console.log(JSON.stringify(resp)); + return JSON.stringify(resp); + +} + +/** + * 推荐和搜索单字段继承一级 + * @param p 推荐或搜索的解析分割;列表 + * @param pn 自身列表序号 + * @param pp 一级解析分割;列表 + * @param ppn 继承一级序号 + * @returns {*} + */ +function getPP(p, pn, pp, ppn){ + let ps = p[pn] === '*' && pp.length > ppn ?pp[ppn]:p[pn] + return ps +} + +/** + * 首页推荐列表解析 + * @param homeVodObj + * @returns {string} + */ +function homeVodParse(homeVodObj){ + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + MY_URL = homeVodObj.homeUrl; + // setItem('MY_URL',MY_URL); + console.log(MY_URL); + let t1 = (new Date()).getTime(); + let p = homeVodObj.推荐; + print('p:'+p); + if(p==='*' && rule.一级){ + p = rule.一级; + homeVodObj.double = false; + } + if(!p||typeof(p)!=='string'){ + return '{}' + } + p = p.trim(); + let pp = rule.一级.split(';'); + if(p.startsWith('js:')){ + const TYPE = 'home'; + var input = MY_URL; + const HOST = rule.host; + eval(p.replace('js:','')); + d = VODS; + }else { + p = p.split(';'); + if (!homeVodObj.double && p.length < 5) { + return '{}' + } else if (homeVodObj.double && p.length < 6) { + return '{}' + } + let p0 = getPP(p,0,pp,0) + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith('json:'); + p0 = p0.replace(/^(jsp:|json:|jq:)/,''); + // print(p[0]); + let html = homeHtmlCache || getHtml(MY_URL); + homeHtmlCache = undefined; + if(is_json){ + // print('是json,开始处理'); + html = dealJson(html); + } + try { + console.log('double:' + homeVodObj.double); + if (homeVodObj.double) { + let items = _pdfa(html, p0); + // console.log(items.length); + for (let item of items) { + // console.log(p[1]); + let items2 = _pdfa(item, p[1]); + // console.log(items2.length); + for (let item2 of items2) { + try { + let p2 = getPP(p,2,pp,1); + let title = _pdfh(item2, p2); + let img = ''; + try { + let p3 = getPP(p,3,pp,2); + img = _pd(item2, p3); + } catch (e) {} + let desc = ''; + try { + let p4 = getPP(p,4,pp,3); + desc = _pdfh(item2, p4); + }catch (e) {} + let p5 = getPP(p,5,pp,4); + let links = []; + for (let _p5 of p5.split('+')) { + let link = !homeVodObj.detailUrl ? _pd(item2, _p5, MY_URL) : _pdfh(item2, _p5); + links.push(link); + } + let content; + if(p.length > 6 && p[6]){ + let p6 = getPP(p,6,pp,5); + content = _pdfh(item2, p6); + } else{ + content = ''; + } + let vid = links.join('$'); + if(rule.二级==='*'){ + vid = vid+'@@'+title+'@@'+img; + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + // print(vod); + d.push(vod); + } catch (e) { + console.log('首页列表处理发生错误:'+e.message); + } + + } + + + } + + + } else { + let items = _pdfa(html, p0); + for (let item of items) { + try { + let p1 = getPP(p,1,pp,1); + let title = _pdfh(item, p1); + let img = ''; + try { + let p2 = getPP(p,2,pp,2); + img = _pd(item, p2, MY_URL); + } catch (e) {} + let desc = ''; + try { + let p3 = getPP(p,3,pp,3); + desc = _pdfh(item, p3); + }catch (e) {} + let p4 = getPP(p,4,pp,4); + let links = []; + for (let _p5 of p4.split('+')) { + let link = !homeVodObj.detailUrl ? _pd(item, _p5, MY_URL) : _pdfh(item, _p5); + links.push(link); + } + let content; + if(p.length > 5 && p[5]){ + let p5 = getPP(p,5,pp,5); + content = _pdfh(item, p5); + }else{ + content = '' + } + let vid = links.join('$'); + if(rule.二级==='*'){ + vid = vid+'@@'+title+'@@'+img; + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + d.push(vod); + + } catch (e) { + + } + + } + + } + + } catch (e) { + + } + } + let t2 = (new Date()).getTime(); + console.log('加载首页推荐耗时:'+(t2-t1)+'毫秒'); + // console.log(JSON.stringify(d)); + if(rule.图片来源){ + d.forEach(it=>{ + if(it.vod_pic&&it.vod_pic.startsWith('http')){ + it.vod_pic = it.vod_pic + rule.图片来源; + } + }); + } + return JSON.stringify({ + list:d + }) +} + +/** + * 一级分类页数据解析 + * @param cateObj + * @returns {string} + */ +function categoryParse(cateObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let p = cateObj.一级; + if(!p||typeof(p)!=='string'){ + return '{}' + } + let d = []; + // let url = cateObj.url.replaceAll('fyclass', cateObj.tid).replaceAll('fypage', cateObj.pg); + let url = cateObj.url.replaceAll('fyclass', cateObj.tid); + if(rule.filter_url){ + if(!/fyfilter/.test(url)){ + if(!url.endsWith('&')&&!rule.filter_url.startsWith('&')){ + url+='&' + } + url+=rule.filter_url; + }else{ + url = url.replace('fyfilter', rule.filter_url); + } + // console.log('filter:'+cateObj.filter); + let fl = cateObj.filter?cateObj.extend:{}; + // 自动合并 不同分类对应的默认筛选 + if(rule.filter_def && typeof(rule.filter_def)==='object'){ + try { + if(Object.keys(rule.filter_def).length>0 && rule.filter_def.hasOwnProperty(cateObj.tid)){ + let self_fl_def = rule.filter_def[cateObj.tid]; + if(self_fl_def && typeof(self_fl_def)==='object'){ + // 引用传递转值传递,避免污染self变量 + let fl_def = JSON.parse(JSON.stringify(self_fl_def)); + fl = Object.assign(fl_def,fl); + } + } + }catch (e) { + print('合并不同分类对应的默认筛选出错:'+e.message); + } + } + let new_url; + new_url = cheerio.jinja2(url,{fl:fl}); + // console.log('jinjia2执行后的new_url类型为:'+typeof(new_url)); + if(/object Object/.test(new_url)){ + new_url = drT.renderText(url,fl); + } + url = new_url; + } + if(/fypage/.test(url)){ + if(url.includes('(')&&url.includes(')')){ + let url_rep = url.match(/.*?\((.*)\)/)[1]; + // console.log(url_rep); + let cnt_page = url_rep.replaceAll('fypage', cateObj.pg); + // console.log(cnt_page); + let cnt_pg = eval(cnt_page); + // console.log(cnt_pg); + url = url.replaceAll(url_rep,cnt_pg).replaceAll('(','').replaceAll(')',''); + }else{ + url = url.replaceAll('fypage',cateObj.pg); + } + } + if(cateObj.pg === 1 && url.includes('[')&&url.includes(']')){ + url = url.split('[')[1].split(']')[0]; + }else if(cateObj.pg > 1 && url.includes('[')&&url.includes(']')){ + url = url.split('[')[0]; + } + MY_URL = url; + // setItem('MY_URL',MY_URL); + console.log(MY_URL); + p = p.trim(); + const MY_CATE = cateObj.tid; + if(p.startsWith('js:')){ + var MY_FL = cateObj.extend; + const TYPE = 'cate'; + var input = MY_URL; + const MY_PAGE = cateObj.pg; + var desc = ''; + eval(p.trim().replace('js:','')); + d = VODS; + }else { + p = p.split(';'); + if (p.length < 5) { + return '{}' + } + let _ps = parseTags.getParse(p[0]); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p[0].startsWith('json:'); + p[0] = p[0].replace(/^(jsp:|json:|jq:)/,''); + try { + let html = getHtml(MY_URL); + if (html) { + if(is_json){ + html = dealJson(html); + } + let list = _pdfa(html, p[0]); + list.forEach(it => { + let links = p[4].split('+').map(p4=>{ + return !rule.detailUrl?_pd(it, p4,MY_URL):_pdfh(it, p4); + }); + let link = links.join('$'); + let vod_id = rule.detailUrl?MY_CATE+'$'+link:link; + + let vod_name = _pdfh(it, p[1]).replace(/\n|\t/g,'').trim(); + let vod_pic = _pd(it, p[2],MY_URL); + + if(rule.二级==='*'){ + vod_id = vod_id+'@@'+vod_name+'@@'+vod_pic; + } + d.push({ + 'vod_id': vod_id, + 'vod_name': vod_name, + 'vod_pic': vod_pic, + 'vod_remarks': _pdfh(it, p[3]).replace(/\n|\t/g,'').trim(), + }); + }); + } + } catch (e) { + console.log(e.message); + } + } + if(rule.图片来源){ + d.forEach(it=>{ + if(it.vod_pic&&it.vod_pic.startsWith('http')){ + it.vod_pic = it.vod_pic + rule.图片来源; + } + }); + } + // print(d); + return d.length<1?'{}':JSON.stringify({ + 'page': parseInt(cateObj.pg), + 'pagecount': 999, + 'limit': 20, + 'total': 999, + 'list': d, + }); +} + +/** + * 搜索列表数据解析 + * @param searchObj + * @returns {string} + */ +function searchParse(searchObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + if(!searchObj.searchUrl){ + return '{}' + } + let p = searchObj.搜索==='*'&&rule.一级 ? rule.一级 : searchObj.搜索; + if(!p||typeof(p)!=='string'){ + return '{}' + } + p = p.trim(); + let pp = rule.一级.split(';'); + let url = searchObj.searchUrl.replaceAll('**', searchObj.wd).replaceAll('fypage', searchObj.pg); + MY_URL = url; + console.log(MY_URL); + // log(searchObj.搜索); + // setItem('MY_URL',MY_URL); + if(p.startsWith('js:')){ + const TYPE = 'search'; + const MY_PAGE = searchObj.pg; + const KEY = searchObj.wd; + var input = MY_URL; + var detailUrl = rule.detailUrl||''; + eval(p.trim().replace('js:','')); + d = VODS; + }else{ + p = p.split(';'); + if (p.length < 5) { + return '{}' + } + let p0 = getPP(p,0,pp,0); + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith('json:'); + p0 = p0.replace(/^(jsp:|json:|jq:)/,''); + // print('1381 p0:'+p0); + try { + let html = getHtml(MY_URL); + if (html) { + if(/系统安全验证|输入验证码/.test(html)){ + let cookie = verifyCode(MY_URL); + if(cookie){ + console.log(`本次成功过验证,cookie:${cookie}`); + setItem(RULE_CK,cookie); + }else{ + console.log(`本次自动过搜索验证失败,cookie:${cookie}`); + } + // obj.headers['Cookie'] = cookie; + html = getHtml(MY_URL); + } + if(!html.includes(searchObj.wd)){ + console.log('搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码'); + console.log(html); + } + if(is_json){ + // console.log(html); + html = dealJson(html); + } + console.log(JSON.stringify(html)); + console.log(html); + let list = _pdfa(html, p0); + // print(list.length); + // print(list); + list.forEach(it => { + let p1 = getPP(p, 1, pp, 1); + let p2 = getPP(p, 2, pp, 2); + let p3 = getPP(p, 3, pp, 3); + let p4 = getPP(p, 4, pp, 4); + let links = p4.split('+').map(_p4=>{ + return !rule.detailUrl?_pd(it, _p4,MY_URL):_pdfh(it, _p4) + }); + let link = links.join('$'); + let content; + if(p.length > 5 && p[5]){ + let p5 = getPP(p,5,pp,5); + content = _pdfh(it, p5); + }else{ + content = ''; + } + let vod_id = link; + let vod_name = _pdfh(it, p1).replace(/\n|\t/g,'').trim(); + let vod_pic = _pd(it, p2,MY_URL); + if(rule.二级==='*'){ + vod_id = vod_id+'@@'+vod_name+'@@'+vod_pic; + } + let ob = { + 'vod_id': vod_id, + 'vod_name': vod_name, + 'vod_pic': vod_pic, + 'vod_remarks': _pdfh(it, p3).replace(/\n|\t/g,'').trim(), + 'vod_content': content.replace(/\n|\t/g,'').trim(), + }; + d.push(ob); + }); + + } + } catch (e) { + print('搜索发生错误:'+e.message); + return '{}' + } + } + if(rule.图片来源){ + d.forEach(it=>{ + if(it.vod_pic&&it.vod_pic.startsWith('http')){ + it.vod_pic = it.vod_pic + rule.图片来源; + } + }); + } + // print(d); + return JSON.stringify({ + 'page': parseInt(searchObj.pg), + 'pagecount': 10, + 'limit': 20, + 'total': 100, + 'list': d, + }); +} + +/** + * 二级详情页数据解析 + * @param detailObj + * @returns {string} + */ +function detailParse(detailObj){ + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let orId = detailObj.orId; + let vod_name = '片名'; + let vod_pic = ''; + let vod_id = orId; + if(rule.二级==='*'){ + // vod_id = orId.split('@@')[0]; // 千万不能分割 + let extra = orId.split('@@'); + vod_name = extra.length>1?extra[1]:vod_name; + vod_pic = extra.length>2?extra[2]:vod_pic; + } + // print(vod_pic); + let vod = { + vod_id: vod_id, //"id", + vod_name: vod_name, + vod_pic: vod_pic, + type_name: "类型", + vod_year: "年份", + vod_area: "地区", + vod_remarks: "更新信息", + vod_actor: "主演", + vod_director: "导演", + vod_content: "简介" + }; + let p = detailObj.二级; + let url = detailObj.url; + let detailUrl = detailObj.detailUrl; + let fyclass = detailObj.fyclass; + let tab_exclude = detailObj.tab_exclude; + let html = detailObj.html||''; + MY_URL = url; + console.log(MY_URL); + // setItem('MY_URL',MY_URL); + if(p==='*'){ + vod.vod_play_from = '道长在线'; + vod.vod_remarks = detailUrl; + vod.vod_actor = '没有二级,只有一级链接直接嗅探播放'; + vod.vod_content = MY_URL; + vod.vod_play_url = '嗅探播放$' + MY_URL.split('@@')[0]; + }else if(typeof(p)==='string'&&p.trim().startsWith('js:')){ + const TYPE = 'detail'; + var input = MY_URL; + var play_url = ''; + eval(p.trim().replace('js:','')); + vod = VOD; + console.log(JSON.stringify(vod)); + }else if(p&&typeof(p)==='object'){ + if(!html){ + html = getHtml(MY_URL); + } + let _impJQP = true; + let _ps; + if(p.is_json){ + _ps = parseTags.json; + html = dealJson(html); + _impJQP = false; + }else if(p.is_jsp){ + _ps = parseTags.jsp; + }else if(p.is_jq){ + _ps = parseTags.jq; + }else{ + _ps = parseTags.jq; + } + if (_impJQP) { + let c$ = cheerio.load(html); + html = { rr: c$, ele: c$('html')[0] } + } + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + if(p.title){ + let p1 = p.title.split(';'); + vod.vod_name = _pdfh(html, p1[0]).replace(/\n|\t/g,'').trim(); + let type_name = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g,'').replace(/ /g,'').trim():''; + vod.type_name = type_name||vod.type_name; + } + if(p.desc){ + try{ + let p1 = p.desc.split(';'); + vod.vod_remarks = _pdfh(html, p1[0]).replace(/\n|\t/g,'').trim(); + vod.vod_year = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g,'').trim():''; + vod.vod_area = p1.length > 2 ? _pdfh(html, p1[2]).replace(/\n|\t/g,'').trim():''; + // vod.vod_actor = p1.length > 3 ? _pdfh(html, p1[3]).replaceAll('\n', ' ').trim():''; + vod.vod_actor = p1.length > 3 ? _pdfh(html, p1[3]).replace(/\n|\t/g,'').trim():''; + vod.vod_director = p1.length > 4 ? _pdfh(html, p1[4]).replace(/\n|\t/g,'').trim():''; + } + catch (e) { + + } + } + if(p.content){ + try{ + let p1 = p.content.split(';'); + vod.vod_content = _pdfh(html, p1[0]).replace(/\n|\t/g,'').trim(); + } + catch (e) {} + } + if(p.img){ + try{ + let p1 = p.img.split(';'); + vod.vod_pic = _pd(html, p1[0],MY_URL); + } + catch (e) {} + } + + let vod_play_from = '$$$'; + let playFrom = []; + if(p.重定向&&p.重定向.startsWith('js:')){ + print('开始执行重定向代码:'+p.重定向); + html = eval(p.重定向.replace('js:','')); + if (_impJQP) { + let c$ = cheerio.load(html); + html = { rr: c$, ele: c$('html')[0] } + } + } + +// console.log(2); + if(p.tabs){ + if(p.tabs.startsWith('js:')){ + print('开始执行tabs代码:'+p.tabs); + if(html&&typeof (html)!=='string'){ + try { // 假装是jq的对象拿来转换一下字符串,try为了防止json的情况报错 + html = html.rr(html.ele).toString(); + }catch (e) {} + } + var input = MY_URL; + eval(p.tabs.replace('js:','')); + playFrom = TABS; + }else{ + let p_tab = p.tabs.split(';')[0]; + // console.log(p_tab); + let vHeader = _pdfa(html, p_tab); + console.log(vHeader.length); + let tab_text = p.tab_text||'body&&Text'; + // print('tab_text:'+tab_text); + for(let v of vHeader){ + let v_title = _pdfh(v,tab_text).trim(); + console.log(v_title); + if(tab_exclude&& (new RegExp(tab_exclude)).test(v_title)){ + continue; + } + playFrom.push(v_title); + } + } + console.log(JSON.stringify(playFrom)); + }else{ + playFrom = ['道长在线'] + } + vod.vod_play_from = playFrom.join(vod_play_from); + +// console.log(3); + let vod_play_url = '$$$'; + let vod_tab_list = []; + if(p.lists){ + if(p.lists.startsWith('js:')){ + print('开始执行lists代码:'+p.lists); + try { + if(html&&typeof (html)!=='string'){ + // 假装是jq的对象拿来转换一下字符串,try为了防止json的情况报错 + try { + html = html.rr(html.ele).toString(); + }catch (e) {} + } + var input = MY_URL; + var play_url = ''; + eval(p.lists.replace('js:','')); + for(let i in LISTS){ + if(LISTS.hasOwnProperty(i)){ + // print(i); + try { + LISTS[i] = LISTS[i].map(it=>it.split('$').slice(0,2).join('$')); + }catch (e) { + print('格式化LISTS发生错误:'+e.message); + } + } + } + vod_play_url = LISTS.map(it=>it.join('#')).join(vod_play_url); + }catch (e) { + print('js执行lists: 发生错误:'+e.message); + } + + }else{ + let list_text = p.list_text||'body&&Text'; + let list_url = p.list_url||'a&&href'; + // print('list_text:'+list_text); + // print('list_url:'+list_url); + // print('list_parse:'+p.lists); + let is_tab_js = p.tabs.trim().startsWith('js:'); + for(let i=0;i 1 && !is_tab_js ? p.tabs.split(';')[1] : ''; + let p1 = p.lists.replaceAll('#idv', tab_name).replaceAll('#id', i); + tab_ext = tab_ext.replaceAll('#idv', tab_name).replaceAll('#id', i); + console.log(p1); + // console.log(html); + let vodList = []; + try { + vodList = _pdfa(html, p1); + console.log('len(vodList):'+vodList.length); + }catch (e) { + // console.log(e.message); + } + let new_vod_list = []; + // print('tab_ext:'+tab_ext); + let tabName = tab_ext?_pdfh(html, tab_ext):tab_name; + console.log(tabName); + // console.log('cheerio解析Text'); + vodList.forEach(it=>{ + // 请注意,这里要固定pdfh解析body&&Text,不需要下划线,没写错 + // new_vod_list.push(pdfh(it,'body&&Text')+'$'+_pd(it,'a&&href',MY_URL)); + // new_vod_list.push(cheerio.load(it).text()+'$'+_pd(it,'a&&href',MY_URL)); + // new_vod_list.push(_pdfh(it, list_text).trim() + '$' + _pd(it, list_url, MY_URL)); + new_vod_list.push(_pdfh(it, list_text).trim() + '$' + _pd(it, list_url, MY_URL)); + }); + let vlist = new_vod_list.join('#'); + vod_tab_list.push(vlist); + } + vod_play_url = vod_tab_list.join(vod_play_url); + } + } + vod.vod_play_url = vod_play_url; + } + if(rule.图片来源 && vod.vod_pic && vod.vod_pic.startsWith('http')){ + vod.vod_pic = vod.vod_pic + rule.图片来源; + } + if(!vod.vod_id){ + vod.vod_id = vod_id; + } + // print(vod); + return JSON.stringify({ + list: [vod] + }) +} + +/** + * 判断是否需要解析 + * @param url + * @returns {number|number} + */ +function tellIsJx(url){ + try { + let is_vip = !/\.(m3u8|mp4|m4a)$/.test(url.split('?')[0]) && 是否正版(url); + return is_vip?1:0 + }catch (e) { + return 1 + } +} +/** + * 选集播放点击事件解析 + * @param playObj + * @returns {string} + */ +function playParse(playObj){ + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + MY_URL = playObj.url; + if(!/http/.test(MY_URL)){ + try { + MY_URL = base64Decode(MY_URL); + }catch (e) {} + } + MY_URL = decodeURIComponent(MY_URL); + var input = MY_URL;//注入给免嗅js + let common_play = { + parse:1, + url:input, + // url:urlencode(input), + jx:tellIsJx(input) + }; + let lazy_play; + if(!rule.play_parse||!rule.lazy){ + lazy_play = common_play; + }else if(rule.play_parse&&rule.lazy&&typeof(rule.lazy)==='string'){ + try { + let lazy_code = rule.lazy.replace('js:','').trim(); + print('开始执行js免嗅=>'+lazy_code); + eval(lazy_code); + lazy_play = typeof(input) === 'object'?input:{ + parse:1, + jx:tellIsJx(input), + url:input + }; + }catch (e) { + print('js免嗅错误:'+e.message); + lazy_play = common_play; + } + }else{ + lazy_play = common_play; + } + // print('play_json:'+typeof(rule.play_json)); + // console.log(Array.isArray(rule.play_json)); + if(Array.isArray(rule.play_json) && rule.play_json.length >0){ // 数组情况判断长度大于0 + let web_url = lazy_play.url; + for(let pjson of rule.play_json){ + if(pjson.re && (pjson.re==='*'||web_url.match(new RegExp(pjson.re)))){ + if(pjson.json && typeof(pjson.json)==='object'){ + let base_json = pjson.json; + // print('开始合并:'); + // print(base_json); + lazy_play = Object.assign(lazy_play,base_json); + break; + } + } + } + }else if(rule.play_json && !Array.isArray(rule.play_json)){ // 其他情况 非[] 判断true/false + let base_json = { + jx:1, + parse:1, + }; + lazy_play = Object.assign(lazy_play,base_json); + }else if(!rule.play_json){ // 不解析传0 + let base_json = { + jx:0, + parse:1, + }; + lazy_play = Object.assign(lazy_play,base_json); + } + console.log(JSON.stringify(lazy_play)); + return JSON.stringify(lazy_play); +} + +/** + * js源预处理特定返回对象中的函数 + * @param ext + */ + function init(ext) { + console.log('init'); + try { + // make shared jsContext happy muban不能import,不然会造成换源继承后变量被篡改 + if (typeof (globalThis.mubanJs) === 'undefined') { + let mubanJs = request('https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js', { 'User-Agent': MOBILE_UA }); + mubanJs = mubanJs.replace('export default', '(function() {return muban;}()) // export default'); + // console.log(mubanJs); + globalThis.mubanJs = mubanJs; + } + let muban = eval(globalThis.mubanJs); + if (typeof ext == 'object'){ + rule = ext; + } else if (typeof ext == 'string') { + if (ext.startsWith('http')) { + let js = request(ext,{'method':'GET'}); + if (js){ + eval(js.replace('var rule', 'rule')); + } + } + } else { + eval(ext.replace('var rule', 'rule')); + } + if (rule.模板 && muban.hasOwnProperty(rule.模板)) { + print('继承模板:'+rule.模板); + rule = Object.assign(muban[rule.模板], rule); + } + /** 处理一下 rule规则关键字段没传递的情况 **/ + let rule_cate_excludes = (rule.cate_exclude||'').split('|').filter(it=>it.trim()); + let rule_tab_excludes = (rule.tab_exclude||'').split('|').filter(it=>it.trim()); + rule_cate_excludes = rule_cate_excludes.concat(CATE_EXCLUDE.split('|').filter(it=>it.trim())); + rule_tab_excludes = rule_tab_excludes.concat(TAB_EXCLUDE.split('|').filter(it=>it.trim())); + + rule.cate_exclude = rule_cate_excludes.join('|'); + rule.tab_exclude = rule_tab_excludes.join('|'); + rule.host = (rule.host||'').rstrip('/'); + rule.url = rule.url||''; + rule.double = rule.double||false; + rule.homeUrl = rule.homeUrl||''; + rule.detailUrl = rule.detailUrl||''; + rule.searchUrl = rule.searchUrl||''; + rule.homeUrl = rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):(rule.homeUrl||rule.host); + rule.detailUrl = rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl; + if(rule.url.includes('[')&&rule.url.includes(']')){ + let u1 = rule.url.split('[')[0] + let u2 = rule.url.split('[')[1].split(']')[0] + rule.url = rule.host && rule.url?urljoin(rule.host,u1)+'['+urljoin(rule.host,u2)+']':rule.url; + }else{ + rule.url = rule.host && rule.url ? urljoin(rule.host,rule.url) : rule.url; + } + rule.searchUrl = rule.host && rule.searchUrl ? urljoin(rule.host,rule.searchUrl) : rule.searchUrl; + + rule.timeout = rule.timeout||5000; + rule.encoding = rule.编码||rule.encoding||'utf-8'; + rule.图片来源 = rule.图片来源||''; + rule.play_json = rule.hasOwnProperty('play_json')?rule.play_json:[]; + if(rule.headers && typeof(rule.headers) === 'object'){ + try { + let header_keys = Object.keys(rule.headers); + for(let k of header_keys){ + if(k.toLowerCase() === 'user-agent'){ + let v = rule.headers[k]; + console.log(v); + if(['MOBILE_UA','PC_UA','UC_UA','IOS_UA','UA'].includes(v)){ + rule.headers[k] = eval(v); + } + } + } + }catch (e) { + console.log('处理headers发生错误:'+e.message); + } + } + // print(rule.headers); + rule_fetch_params = {'headers': rule.headers||false, 'timeout': rule.timeout, 'encoding': rule.encoding}; + oheaders = rule.headers||{}; + RKEY = typeof(key)!=='undefined'&&key?key:'drpy_' + (rule.title || rule.host); + init_test(); + }catch (e) { + console.log('init_test发生错误:'+e.message); + } +} + +let homeHtmlCache = undefined; + +/** + * js源获取首页分类和筛选特定返回对象中的函数 + * @param filter 筛选条件字典对象 + * @returns {string} + */ +function home(filter) { + console.log("home"); + let homeObj = { + filter:rule.filter||false, + MY_URL: rule.homeUrl, + class_name: rule.class_name || '', + class_url: rule.class_url || '', + class_parse: rule.class_parse || '', + cate_exclude: rule.cate_exclude, + }; + return homeParse(homeObj); +} + +/** + * js源获取首页推荐数据列表特定返回对象中的函数 + * @param params + * @returns {string} + */ +function homeVod(params) { + console.log("homeVod"); + let homeVodObj = { + 推荐:rule.推荐, + double:rule.double, + homeUrl:rule.homeUrl, + detailUrl:rule.detailUrl + }; + return homeVodParse(homeVodObj) + // return "{}"; +} + +/** + * js源获取分类页一级数据列表特定返回对象中的函数 + * @param tid 分类id + * @param pg 页数 + * @param filter 当前选中的筛选条件 + * @param extend 扩展 + * @returns {string} + */ +function category(tid, pg, filter, extend) { + let cateObj = { + url: rule.url, + 一级: rule.一级, + tid: tid, + pg: parseInt(pg), + filter: filter, + extend: extend + }; + // console.log(JSON.stringify(extend)); + return categoryParse(cateObj) +} + +/** + * js源获取二级详情页数据特定返回对象中的函数 + * @param vod_url 一级列表中的vod_id或者是带分类的自拼接 vod_id 如 fyclass$vod_id + * @returns {string} + */ +function detail(vod_url) { + let orId = vod_url; + let fyclass = ''; + if(vod_url.indexOf('$')>-1){ + let tmp = vod_url.split('$'); + fyclass = tmp[0]; + vod_url = tmp[1]; + } + let detailUrl = vod_url.split('@@')[0]; + let url; + if(!detailUrl.startsWith('http')&&!detailUrl.includes('/')){ + url = rule.detailUrl.replaceAll('fyid', detailUrl).replaceAll('fyclass',fyclass); + }else if(detailUrl.includes('/')){ + url = urljoin(rule.homeUrl,detailUrl); + }else{ + url = detailUrl + } + let detailObj = { + orId: orId, + url:url, + 二级:rule.二级, + detailUrl:detailUrl, + fyclass:fyclass, + tab_exclude:rule.tab_exclude, + } + return detailParse(detailObj) +} + +/** + * js源选集按钮播放点击事件特定返回对象中的函数 + * @param flag 线路名 + * @param id 播放按钮的链接 + * @param flags 全局配置的flags是否需要解析的标识列表 + * @returns {string} + */ +function play(flag, id, flags) { + let playObj = { + url:id, + flag:flag, + flags:flags + } + return playParse(playObj); +} + +/** + * js源搜索返回的数据列表特定返回对象中的函数 + * @param wd 搜索关键字 + * @param quick 是否来自快速搜索 + * @returns {string} + */ +function search(wd, quick) { + let searchObj = { + searchUrl: rule.searchUrl, + 搜索: rule.搜索, + wd: wd, + //pg: pg, + pg: 1, + quick: quick, + }; + // console.log(JSON.stringify(searchObj)); + return searchParse(searchObj) +} + +function DRPY(){//导出函数 + return { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + } +} + +// 导出函数对象 +export default { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + DRPY:DRPY +} diff --git a/TVBox_JS/lib/drpy.min.js b/TVBox_JS/lib/drpy.min.js new file mode 100644 index 0000000..9c20237 --- /dev/null +++ b/TVBox_JS/lib/drpy.min.js @@ -0,0 +1 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={};const VERSION="drpy1 3.9.25beta1 20221126";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|APP|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://cms.nokia.press:5706/parse/ocr";if(typeof MY_URL==="undefined"){var MY_URL}var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd(html,parse,uri){let ret=this.pdfh(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse,base_url){if(!parse||!parse.trim()){return""}let eleFind=typeof html==="object";let option=undefined;if(eleFind&&parse.startsWith("body&&")){parse=parse.substr(6);if(parse.indexOf("&&")<0){option=parse.trim();parse="*=*"}}if(parse.indexOf("&&")>-1){let sp=parse.split("&&");option=sp[sp.length-1];sp.splice(sp.length-1);if(sp.length>1){for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX.test(sp[i])){sp[i]=sp[i]+":eq(0)"}}}}else{if(!SELECT_REGEX.test(sp[0])){sp[0]=sp[0]+":eq(0)"}}parse=sp.join(" ")}let result="";const $=eleFind?html.rr:cheerio.load(html);let ret=eleFind?parse==="*=*"||$(html.ele).is(parse)?html.ele:$(html.ele).find(parse):$(parse);if(option){if(option==="Text"){result=$(ret).text()}else if(option==="Html"){result=$(ret).html()}else{result=$(ret).attr(option);if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}}if(result&&base_url&&DOM_CHECK_ATTR.test(option)){if(/http/.test(result)){result=result.substr(result.indexOf("http"))}else{result=urljoin(base_url,result)}}}else{result=$(ret).toString()}return result},pdfa(html,parse){if(!parse||!parse.trim()){print("!parse");return[]}let eleFind=typeof html==="object";if(parse.indexOf("&&")>-1){let sp=parse.split("&&");for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX_A.test(sp[i])&&iit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){obj.headers["Cookie"]=cookie}else if(!obj.headers){obj.headers={Cookie:cookie}}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;const HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});if(/object Object/.test(new_url)){new_url=drT.renderText(url,fl)}url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return d.length<1?"{}":JSON.stringify({page:parseInt(cateObj.pg),pagecount:999,limit:20,total:999,list:d})}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);html=post(rurl,{body:params})}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}html=post(rurl,{body:params})}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _impJQP=false;let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}if(_ps===parseTags.jq){_impJQP=true}if(_impJQP){let ttt1=(new Date).getTime();let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]};print(`二级${MY_URL}仅cheerio.load源码耗时:${(new Date).getTime()-ttt1}毫秒`)}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""));if(_impJQP){let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]}}}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}let new_vod_list=[];let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let tt1=(new Date).getTime();vodList.forEach((it,idex)=>{new_vod_list.push(_pdfh(it,list_text).trim()+"$"+_pd(it,list_url,MY_URL))});if(vodList.length>0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${vodList.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{if(typeof globalThis.mubanJs==="undefined"){let mubanJs=request("https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js",{"User-Agent":MOBILE_UA});mubanJs=mubanJs.replace("export default","(function() {return muban;}()) // export default");globalThis.mubanJs=mubanJs}let muban=eval(globalThis.mubanJs);if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file diff --git a/TVBox_JS/lib/drpy.ym.js b/TVBox_JS/lib/drpy.ym.js new file mode 100644 index 0000000..1b36709 --- /dev/null +++ b/TVBox_JS/lib/drpy.ym.js @@ -0,0 +1,4 @@ +import './util.ym.js' +import dr from './drpy.min.js' + +__JS_SPIDER__ = dr.DRPY() \ No newline at end of file diff --git a/TVBox_JS/lib/drpy2.min.js b/TVBox_JS/lib/drpy2.min.js new file mode 100644 index 0000000..1b83eed --- /dev/null +++ b/TVBox_JS/lib/drpy2.min.js @@ -0,0 +1 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import 模板 from"./模板.js";function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={};const VERSION="drpy2 3.9.27 20221129";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|APP|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://cms.nokia.press:5706/parse/ocr";if(typeof MY_URL==="undefined"){var MY_URL}var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{let html=request(this.api,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true);html=JSON.parse(html);code=html.url||""}catch(e){}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){obj.headers["Cookie"]=cookie}else if(!obj.headers){obj.headers={Cookie:cookie}}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;const HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表双层定位处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表单层定位处理发生错误:"+e.message)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return d.length<1?"{}":JSON.stringify({page:parseInt(cateObj.pg),pagecount:999,limit:20,total:999,list:d})}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);html=post(rurl,{body:params})}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}html=post(rurl,{body:params})}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}let new_vod_list=[];let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let tt1=(new Date).getTime();vodList.forEach((it,idex)=>{new_vod_list.push(_pdfh(it,list_text).trim()+"$"+_pd(it,list_url,MY_URL))});if(vodList.length>0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${vodList.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file diff --git a/TVBox_JS/lib/util.js b/TVBox_JS/lib/util.js new file mode 100644 index 0000000..fdfc808 --- /dev/null +++ b/TVBox_JS/lib/util.js @@ -0,0 +1,300 @@ +import 'assets://js/lib/uri.min.js' +import cheerio from 'assets://js/lib/cheerio.min.js'; +import 'assets://js/lib/crypto-js.js' +import 'assets://js/lib/dayjs.min.js' +import _ from 'assets://js/lib/underscore-esm-min.js' + +var charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789'; +export function randIndex(min, max, i) { + let index = Math.floor(Math.random() * (max - min + 1) + min), + numStart = charStr.length - 10; + if (i == 0 && index >= numStart) { + index = randIndex(min, max, i); + } + return index; +} + +export function randomStr(len) { + let min = 0, max = charStr.length - 1, _str = ''; + len = len || 15; + for (var i = 0, index; i < len; i++) { + index = randIndex(min, max, i); + _str += charStr[index]; + } + return _str; +} +if (typeof Object.assign != 'function') { + Object.assign = function () { + var target = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; +} +if (!String.prototype.includes) { + String.prototype.includes = function (search, start) { + if (typeof start !== 'number') { + start = 0; + } + + if (start + search.length > this.length) { + return false; + } else { + return this.indexOf(search, start) !== -1; + } + }; +} +if (!Array.prototype.includes) { + Object.defineProperty(Array.prototype, 'includes', { + value: function (searchElement, fromIndex) { + + if (this == null) {//this是空或者未定义,抛出错误 + throw new TypeError('"this" is null or not defined'); + } + + var o = Object(this);//将this转变成对象 + var len = o.length >>> 0;//无符号右移0位,获取对象length属性,如果未定义就会变成0 + + if (len === 0) {//length为0直接返回false未找到目标值 + return false; + } + + var n = fromIndex | 0;//查找起始索引 + var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);//计算正确起始索引,因为有可能是负值 + + while (k < len) {//从起始索引处开始循环 + if (o[k] === searchElement) {//如果某一位置与寻找目标相等,返回true,找到了 + return true; + } + k++; + } + return false;//未找到,返回false + } + }); +} +if (typeof String.prototype.startsWith != 'function') { + String.prototype.startsWith = function (prefix) { + return this.slice(0, prefix.length) === prefix; + }; +} +if (typeof String.prototype.endsWith != 'function') { + String.prototype.endsWith = function (suffix) { + return this.indexOf(suffix, this.length - suffix.length) !== -1; + }; +} +Object.prototype.myValues = function (obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object"); + } + var res = [] + for (var k in obj) { + if (obj.hasOwnProperty(k)) {//需判断是否是本身的属性 + res.push(obj[k]); + } + } + return res; +} +if (typeof Object.prototype.values != 'function') { + Object.prototype.values = function (obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object"); + } + var res = [] + for (var k in obj) { + if (obj.hasOwnProperty(k)) {//需判断是否是本身的属性 + res.push(obj[k]); + } + } + return res; + } +} +if (typeof Array.prototype.join != 'function') { + Array.prototype.join = function (emoji) { + // emoji = emoji||','; + emoji = emoji || ''; + let self = this; + let str = ""; + let i = 0; + if (!Array.isArray(self)) { throw String(self) + 'is not Array' } + if (self.length === 0) { return '' } + if (self.length === 1) { return String(self[0]) } + i = 1; + str = this[0]; + for (; i < self.length; i++) { + str += String(emoji) + String(self[i]); + } + return str; + }; +} + +String.prototype.rstrip = function (chars) { + let regex = new RegExp(chars + "$"); + return this.replace(regex, ""); +}; + +Array.prototype.append = Array.prototype.push; +String.prototype.strip = String.prototype.trim; + +export function 是否正版(vipUrl) { + let flag = new RegExp('qq\.com|iqiyi\.com|youku\.com|mgtv\.com|bilibili\.com|sohu\.com|ixigua\.com|pptv\.com|miguvideo\.com|le\.com|1905\.com|fun\.tv'); + return flag.test(vipUrl); +} + +export function urlDeal(vipUrl) { + if (!vipUrl) { + return '' + } + if (!是否正版(vipUrl)) { + return vipUrl + } + if (!/miguvideo/.test(vipUrl)) { + vipUrl = vipUrl.split('#')[0].split('?')[0]; + } + return vipUrl +} + +export function urlencode(str) { + str = (str + '').toString(); + return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28'). + replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+'); +} + +export function base64Encode(text) { + return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text)); +} + +export function base64Decode(text) { + return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text)); +} + +export function urljoin(base, url) { + base = base || ''; + url = url || ''; + let baseU = new Uri(base.trim().rstrip('/')); + url = url.trim().rstrip('/'); + let u = undefined; + if (url.startsWith('http://') || url.startsWith('https://')) { + u = new Uri(url); + } else if (url.startsWith('://')) { + u = new Uri(baseU.protocol() + url); + } else if (url.startsWith('//')) { + u = new Uri(baseU.protocol() + ':' + url); + } else { + u = new Uri(baseU.protocol() + '://' + baseU.host() + (baseU.port() ? ':' + baseU.port() : '') + '/' + url); + } + if ((!u.path() || u.path().trim().length === 0) && baseU.path()) + u.path(baseU.path()); + if (!u.query() && baseU.query()) + u.query(baseU.query()); + return u.toString(); +} + +export function md5(src) { + return CryptoJS.MD5(src).toString(); +} + +const DOM_CHECK_ATTR = /(url|src|href|data-original|data-src)$/; +const SELECT_REGEX = /:eq|:lt|:gt|#/g; +const SELECT_REGEX_A = /:eq|:lt|:gt/g; + +export function pdfh(html, parse, base_url) { + if (!parse || !parse.trim()) { + return '' + } + let eleFind = typeof html === 'object'; + let option = undefined; + if (eleFind && parse.startsWith('body&&')) { + parse = parse.substr(6); + if (parse.indexOf('&&') < 0) { + option = parse.trim(); + parse = '*=*'; + } + } + if (parse.indexOf('&&') > -1) { + let sp = parse.split('&&'); + option = sp[sp.length - 1]; + sp.splice(sp.length - 1); + if (sp.length > 1) { + for (let i in sp) { + if (!SELECT_REGEX.test(sp[i])) { + sp[i] = sp[i] + ':eq(0)'; + } + } + } else { + if (!SELECT_REGEX.test(sp[0])) { + sp[0] = sp[0] + ':eq(0)'; + } + } + parse = sp.join(' '); + } + let result = ''; + const $ = eleFind ? html.rr : cheerio.load(html); + let ret = eleFind ? (parse === '*=*' ? html.ele : $(html.ele).find(parse)) : $(parse); + if (option) { + if (option === 'Text') { + result = $(ret).text(); + } + else if (option === 'Html') { + result = $(ret).html(); + } + else { + result = $(ret).attr(option); + } + if (result && base_url && DOM_CHECK_ATTR.test(option)) { + if (/http/.test(result)) { + result = result.substr(result.indexOf('http')); + } else { + result = urljoin(base_url, result) + } + } + } else { + result = $(ret).toString(); + } + return result; +} + +export function pdfa(html, parse) { + if (!parse || !parse.trim()) { + return []; + } + let eleFind = typeof html === 'object'; + if (parse.indexOf('&&') > -1) { + let sp = parse.split('&&'); + for (let i in sp) { + if (!SELECT_REGEX_A.test(sp[i]) && i < sp.length - 1) { + sp[i] = sp[i] + ':eq(0)'; + } + } + parse = sp.join(' '); + } + const $ = eleFind ? html.rr : cheerio.load(html); + let ret = eleFind ? $(html.ele).find(parse) : $(parse); + let result = []; + if (ret) { + ret.each(function (idx, ele) { + result.push({ rr: $, ele: ele }); + }); + } + return result; +} + +globalThis.randIndex = randIndex; +globalThis.randomStr = randomStr; +globalThis.urljoin = urljoin; +globalThis.joinUrl = urljoin; +globalThis.urljoin2 = urljoin; +globalThis.是否正版 = 是否正版; +globalThis.urlDeal = urlDeal; +globalThis.urlencode = urlencode; +globalThis.encodeUrl = urlencode; +globalThis.base64Encode = base64Encode; +globalThis.base64Decode = base64Decode; +globalThis.pdfa = pdfa; +globalThis.pdfh = pdfh; +globalThis.md5 = md5; \ No newline at end of file diff --git a/TVBox_JS/lib/yingmo.js b/TVBox_JS/lib/yingmo.js new file mode 100644 index 0000000..11790d7 --- /dev/null +++ b/TVBox_JS/lib/yingmo.js @@ -0,0 +1,1447 @@ +import './util.js'; +import cheerio from 'assets://js/lib/cheerio.min.js'; +import 'assets://js/lib/crypto-js.js' +// import muban from 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js'; + +// const key = 'drpy_zbk'; +// eval(req('http://192.168.1.124:5705/libs/es6py.js').content); +function init_test() { + console.log("init_test_start"); + console.log(RKEY); + console.log(JSON.stringify(rule)); + // clearItem(RULE_CK); + // console.log(JSON.stringify(rule)); + // let aa = base64Encode('编码测试一下') + // log(aa); + // let bb = base64Decode(aa); + // log('bb:' + bb); + // console.log(request('https://www.baidu.com',{withHeaders:true})); + // console.log(request('https://www.baidu.com/favicon.ico', { toBase64: true })); + // require('http://192.168.10.99:5705/txt/pluto/drT.js'); + // console.log(typeof(drT)); + // console.log(drT.renderText('{{fl.cate}},hi, {{fl}}哈哈.{{fl}}',{sort: 1,cate:'movie'},'fl')); + console.log("init_test_end"); +} + +let rule = {}; +/** 已知问题记录 + * 1.影魔的jinjia2引擎不支持 {{fl}}对象直接渲染 + * Array.prototype.append = Array.prototype.push; 这种js执行后有毛病,for in 循环列表会把属性给打印出来 + * 2.import es6py.js但是里面的函数没有被装载进来.比如drpy规则报错setResult2 is undefiend + * 3.无法重复导入cheerio(怎么解决drpy和parseTag里都需要导入cheerio的问题) 无法在副文件导入cheerio (现在是全部放在drpy一个文件里了,凑合解决?) + * 4.有个错误不知道哪儿来的 executeScript: com.quickjs.JSObject$Undefined cannot be cast to java.lang.String 在 点击选集播放打印init_test_end后面打印 + * 5.需要实现 stringify 函数,比起JSON.stringify函数,它会原封不动保留中文不会编码unicode + * todo: jsp:{pdfa,pdfh,pd},json:{pdfa,pdfh,pd},jq:{pdfa,pdfh,pd} + * * 电脑看日志调试 + adb tcpip 5555 + adb connect 192.168.10.192 + adb devices -l + adb logcat -c + adb logcat | grep -i QuickJS + * **/ + + +/*** 以下是内置变量和解析方法 **/ +const MOBILE_UA = 'Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36'; +const PC_UA = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36'; +const UA = 'Mozilla/5.0'; +const UC_UA = 'Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36'; +const IOS_UA = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'; +const RULE_CK = 'cookie'; // 源cookie的key值 +// const KEY = typeof(key)!=='undefined'&&key?key:'drpy_' + (rule.title || rule.host); // 源的唯一标识 +const CATE_EXCLUDE = '首页|留言|APP|下载|资讯|新闻|动态'; +const TAB_EXCLUDE = '猜你|喜欢|APP|下载|剧情|热播'; +const OCR_RETRY = 3;//ocr验证重试次数 +// const OCR_API = 'http://dm.mudery.com:10000';//ocr在线识别接口 +// const OCR_API = 'http://192.168.3.239:5705/parse/ocr';//ocr在线识别接口 +const OCR_API = 'http://cms.nokia.press/parse/ocr';//ocr在线识别接口 +if (typeof (MY_URL) === 'undefined') { + var MY_URL; // 全局注入变量,pd函数需要 +} +var RKEY; // 源的唯一标识 +var fetch; +var print; +var log; +var rule_fetch_params; +var fetch_params; // 每个位置单独的 +var oheaders; +var _pdfh; +var _pdfa; +var _pd; +// const DOM_CHECK_ATTR = ['url', 'src', 'href', 'data-original', 'data-src']; +const DOM_CHECK_ATTR = /(url|src|href|data-original|data-src)$/; +const SELECT_REGEX = /:eq|:lt|:gt|#/g; +const SELECT_REGEX_A = /:eq|:lt|:gt/g; + +function setResult(d) { + if (!Array.isArray(d)) { + return [] + } + VODS = []; + // print(d); + d.forEach(function (it) { + let obj = { + vod_id: it.url || '', + vod_name: it.title || '', + vod_remarks: it.desc || '', + vod_content: it.content || '', + vod_pic: it.pic_url || it.img || '', + }; + let keys = Object.keys(it); + if (keys.includes('tname')) { + obj.type_name = it.tname || ''; + } + if (keys.includes('tid')) { + obj.type_id = it.tid || ''; + } + if (keys.includes('year')) { + obj.vod_year = it.year || ''; + } + if (keys.includes('actor')) { + obj.vod_actor = it.actor || ''; + } + if (keys.includes('director')) { + obj.vod_director = it.director || ''; + } + if (keys.includes('area')) { + obj.vod_area = it.area || ''; + } + VODS.push(obj); + }); + return VODS +} +function setResult2(res) { + VODS = res.list || []; + return VODS +} +function setHomeResult(res) { + if (!res || typeof (res) !== 'object') { + return [] + } + return setResult(res.list); +} +// 猫了个咪 +function rc(js) { + if (js === 'maomi_aes.js') { + var a = CryptoJS.enc.Utf8.parse("625222f9149e961d"); + var t = CryptoJS.enc.Utf8.parse("5efdtf6060e2o330"); + return { + De: function (word) { + word = CryptoJS.enc.Hex.parse(word) + return CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(word), a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + }, + En: function (word) { + // print(a); + // print(word); + var Encrypted = CryptoJS.AES.encrypt(word, a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + return Encrypted.ciphertext.toString(); + } + }; + } + return {}; +} + +// 千万不要用for in 推荐 forEach (for in 会打乱顺序) +//猫函数 +function maoss(jxurl, ref, key) { + eval(getCryptoJS()); + try { + var getVideoInfo = function (text) { + return CryptoJS.AES.decrypt(text, key, { iv: iv, padding: CryptoJS.pad.Pkcs7 }).toString(CryptoJS.enc.Utf8); + }; + var token_key = key == undefined ? 'dvyYRQlnPRCMdQSe' : key; + if (ref) { + var html = request(jxurl, { + headers: { + 'Referer': ref + } + }); + } else { + var html = request(jxurl); + } + // print(html); + if (html.indexOf('&btwaf=') != -1) { + html = request(jxurl + '&btwaf' + html.match(/&btwaf(.*?)"/)[1], { + headers: { + 'Referer': ref + } + }) + } + var token_iv = html.split('_token = "')[1].split('"')[0]; + var key = CryptoJS.enc.Utf8.parse(token_key); + var iv = CryptoJS.enc.Utf8.parse(token_iv); + // log("iv:"+iv); + // log(html); + // print(key); + // print(iv); + eval(html.match(/var config = {[\s\S]*?}/)[0] + ''); + // config.url = config.url.replace(/,/g,''); + // print(config.url); + if (!config.url.startsWith('http')) { + //config.url = decodeURIComponent(AES(config.url, key, iv)); + config.url = CryptoJS.AES.decrypt(config.url, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + } + return config.url; + } catch (e) { + return ''; + } +} + +let VODS = [];// 一级或者搜索需要的数据列表 +let VOD = {};// 二级的单个数据 + +/** + * 重写pd方法-增加自动urljoin(没法重写,改个名继续骗) + * @param html + * @param parse + * @param uri + * @returns {*} + */ +function pD(html, parse, uri) { + let ret = pdfh(html, parse); + if (typeof (uri) === 'undefined' || !uri) { + uri = ''; + } + if (DOM_CHECK_ATTR.test(parse)) { + if (/http/.test(ret)) { + ret = ret.substr(ret.indexOf('http')); + } else { + ret = urljoin(MY_URL, ret) + } + } + // MY_URL = getItem('MY_URL',MY_URL); + // console.log(`规则${RKEY}打印MY_URL:${MY_URL},uri:${uri}`); + return ret +} + +const parseTags = { + jsp: { + pdfh: pdfh, + pdfa: pdfa, + pd: pD, + }, + json: { + pdfh(html, parse) { + if (!parse || !parse.trim()) { + return ''; + } + if (typeof (html) === 'string') { + html = JSON.parse(html); + } + parse = parse.trim(); + if (!parse.startsWith('$.')) { + parse = '$.' + parse; + } + parse = parse.split('||'); + for (let ps of parse) { + let ret = cheerio.jp(ps, html); + if (Array.isArray(ret)) { + ret = ret[0] || ''; + } else { + ret = ret || '' + } + if (ret && typeof (ret) !== 'string') { + ret = ret.toString(); + } + if (ret) { + return ret + } + } + return ''; + }, + pdfa(html, parse) { + if (!parse || !parse.trim()) { + return ''; + } + if (typeof (html) === 'string') { + html = JSON.parse(html); + } + parse = parse.trim() + if (!parse.startsWith('$.')) { + parse = '$.' + parse; + } + let ret = cheerio.jp(parse, html); + if (Array.isArray(ret) && Array.isArray(ret[0]) && ret.length === 1) { + return ret[0] || [] + } + return ret || [] + }, + pd(html, parse) { + let ret = parseTags.json.pdfh(html, parse); + if (ret) { + return urljoin(MY_URL, ret); + } + return ret + }, + }, + jq: { + pdfh: pdfh, + pdfa: pdfa, + pd(html, parse, uri) { + return parseTags.jq.pdfh(html, parse, MY_URL); + }, + }, + getParse(p0) {//非js开头的情况自动获取解析标签 + if (p0.startsWith('jsp:')) { + return this.jsp + } else if (p0.startsWith('json:')) { + return this.json + } else if (p0.startsWith('jq:')) { + return this.jq + } else { + return this.jq + } + } +}; + +const stringify = JSON.stringify; +const jsp = parseTags.jsp; + +/*** 后台需要实现的java方法并注入到js中 ***/ + +/** + * 读取本地文件->应用程序目录 + * @param filePath + * @returns {string} + */ +function readFile(filePath) { + filePath = filePath || './uri.min.js'; + var fd = os.open(filePath); + var buffer = new ArrayBuffer(1024); + var len = os.read(fd, buffer, 0, 1024); + console.log(len); + let text = String.fromCharCode.apply(null, new Uint8Array(buffer)); + console.log(text); + return text +} + +/** + * 处理返回的json数据 + * @param html + * @returns {*} + */ +function dealJson(html) { + try { + return html.match(/[\w|\W|\s|\S]*?(\{[\w|\W|\s|\S]*\})/).group[1]; + } catch (e) { + } + try { + html = JSON.parse(html); + } catch (e) { } + // console.log(typeof(html)); + return html; +} + +/** + * 验证码识别逻辑,需要java实现(js没有bytes类型,无法调用后端的传递图片二进制获取验证码文本的接口) + * @type {{api: string, classification: (function(*=): string)}} + */ +var OcrApi = { + api: OCR_API, + classification: function (img) { // img是byte类型,这里不方便搞啊 + let code = ''; + try { + let html = request(this.api, { data: { img: img }, headers: { 'User-Agent': PC_UA }, 'method': 'POST' }); + html = JSON.parse(html); + code = html.url || ''; + } catch (e) { } + return code + } +}; +/** + * 验证码识别,暂未实现 + * @param url 验证码图片链接 + * @returns {string} 验证成功后的cookie + */ +function verifyCode(url) { + let cnt = 0; + let host = getHome(url); + let cookie = ''; + while (cnt < OCR_RETRY) { + try { + // let obj = {headers:headers,timeout:timeout}; + let yzm_url = `${host}/index.php/verify/index.html`; + console.log(`验证码链接:${yzm_url}`); + let hhtml = request(yzm_url, { withHeaders: true, toBase64: true }); + let json = JSON.parse(hhtml); + if (!cookie) { + cookie = json['set-cookie'] ? json['set-cookie'].split(';')[0] : ''; + } + // console.log(hhtml); + console.log('cookie:' + cookie); + let img = json.body; + // console.log(img); + let code = OcrApi.classification(img); + console.log(`第${cnt + 1}次验证码识别结果:${code}`); + let submit_url = `${host}/index.php/ajax/verify_check?type=search&verify=${code}`; + console.log(submit_url); + let html = request(submit_url, { headers: { Cookie: cookie, 'User-Agent': MOBILE_UA }, 'method': 'POST' }); + // console.log(html); + html = JSON.parse(html); + if (html.msg === 'ok') { + console.log(`第${cnt + 1}次验证码提交成功`); + return cookie // 需要返回cookie + } else if (html.msg !== 'ok' && cnt + 1 >= OCR_RETRY) { + cookie = ''; // 需要清空返回cookie + } + } catch (e) { + console.log(`第${cnt + 1}次验证码提交失败:${e.message}`); + if (cnt + 1 >= OCR_RETRY) { + cookie = ''; + } + } + cnt += 1 + } + return cookie +} + +/** + * 存在数据库配置表里, key字段对应值value,没有就新增,有就更新,调用此方法会清除key对应的内存缓存 + * @param k 键 + * @param v 值 + */ +function setItem(k, v) { + local.set(RKEY, k, v); + console.log(`规则${RKEY}设置${k} => ${v}`) +} + +/** + * 获取数据库配置表对应的key字段的value,没有这个key就返回value默认传参.需要有缓存,第一次获取后会存在内存里 + * @param k 键 + * @param v 值 + * @returns {*} + */ +function getItem(k, v) { + return local.get(RKEY, k) || v; +} + +/** + * 删除数据库key对应的一条数据,并清除此key对应的内存缓存 + * @param k + */ +function clearItem(k) { + local.delete(RKEY, k); +} + +/*** js自封装的方法 ***/ + +/** + * 获取链接的host(带http协议的完整链接) + * @param url 任意一个正常完整的Url,自动提取根 + * @returns {string} + */ +function getHome(url) { + if (!url) { + return '' + } + let tmp = url.split('//'); + url = tmp[0] + '//' + tmp[1].split('/')[0]; + try { + url = decodeURIComponent(url); + } catch (e) { } + return url +} + +/** + * get参数编译链接,类似python params字典自动拼接 + * @param url 访问链接 + * @param obj 参数字典 + * @returns {*} + */ +function buildUrl(url, obj) { + obj = obj || {}; + if (url.indexOf('?') < 0) { + url += '?' + } + let param_list = []; + let keys = Object.keys(obj); + keys.forEach(it => { + param_list.push(it + '=' + obj[it]) + }); + let prs = param_list.join('&'); + if (keys.length > 0 && !url.endsWith('?')) { + url += '&' + } + url += prs; + return url +} + +/** + * 远程依赖执行函数 + * @param url 远程js地址 + */ +function require(url) { + eval(request(url)); +} +/** + * 海阔网页请求函数完整封装 + * @param url 请求链接 + * @param obj 请求对象 {headers:{},method:'',timeout:5000,body:'',withHeaders:false} + * @returns {string|string|DocumentFragment|*} + */ +function request(url, obj) { + if (typeof (obj) === 'undefined' || !obj || obj === {}) { + if (!fetch_params || !fetch_params.headers) { + let headers = { + 'User-Agent': MOBILE_UA, + }; + if (rule.headers) { + Object.assign(headers, rule.headers); + } + fetch_params.headers = headers; + } + if (!fetch_params.headers.Referer) { + fetch_params.headers.Referer = getHome(url) + } + obj = fetch_params; + } else { + let headers = obj.headers || {}; + let keys = Object.keys(headers).map(it => it.toLowerCase()); + if (!keys.includes('user-agent')) { + headers['User-Agent'] = MOBILE_UA; + } if (!keys.includes('referer')) { + headers['Referer'] = getHome(url); + } + obj.headers = headers; + } + console.log(JSON.stringify(obj.headers)); + if (typeof (obj.headers.body) != 'undefined' && obj.headers.body && typeof (obj.headers.body) === 'string') { + let data = {}; + obj.headers.body.split('&').forEach(it => { + data[it.split('=')[0]] = it.split('=')[1] + }); + obj.data = data; + delete obj.headers.body + } + if (!url) { + return obj.withHeaders ? '{}' : '' + } + if (obj.toBase64) { // 返回base64,用于请求图片 + obj.buffer = 2; + delete obj.toBase64 + } + console.log('request:' + url); + let res = req(url, obj); + let html = res.content || ''; + // console.log(html); + if (obj.withHeaders) { + let htmlWithHeaders = res.headers; + htmlWithHeaders.body = html; + return JSON.stringify(htmlWithHeaders); + } else { + return html + } +} + +fetch = request; +print = function (data) { + data = data || ''; + if (typeof (data) !== 'string') { + try { + data = JSON.stringify(data); + } catch (e) { + console.log('print:' + e.message) + } + } + console.log(data); +} +log = console.log; +/** + * 检查宝塔验证并自动跳过获取正确源码 + * @param html 之前获取的html + * @param url 之前的来源url + * @param obj 来源obj + * @returns {string|DocumentFragment|*} + */ +function checkHtml(html, url, obj) { + if (/\?btwaf=/.test(html)) { + let btwaf = html.match(/btwaf(.*?)"/)[1]; + url = url.split('#')[0] + '?btwaf' + btwaf; + html = request(url, obj); + } + return html +} + +/** + * 带一次宝塔验证的源码获取 + * @param url 请求链接 + * @param obj 请求参数 + * @returns {string|DocumentFragment} + */ +function getCode(url, obj) { + let html = request(url, obj); + html = checkHtml(html, url, obj); + return html +} + +/** + * 源rule专用的请求方法,自动注入cookie + * @param url 请求链接 + * @returns {string|DocumentFragment} + */ +function getHtml(url) { + let obj = {}; + if (rule.headers) { + obj.headers = rule.headers; + } + let cookie = getItem(RULE_CK, ''); + if (cookie) { + if (obj.headers && !Object.keys(obj.headers).map(it => it.toLowerCase()).includes('cookie')) { + obj.headers['Cookie'] = cookie; + } else if (!obj.headers) { + obj.headers = { Cookie: cookie }; + } + } + let html = getCode(url, obj); + return html +} + +/** + * 首页分类解析,筛选暂未实现 + * @param homeObj 首页传参对象 + * @returns {string} + */ +function homeParse(homeObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let classes = []; + if (homeObj.class_name && homeObj.class_url) { + let names = homeObj.class_name.split('&'); + let urls = homeObj.class_url.split('&'); + let cnt = Math.min(names.length, urls.length); + for (let i = 0; i < cnt; i++) { + classes.push({ + 'type_id': urls[i], + 'type_name': names[i] + }); + } + } + + if (homeObj.class_parse) { + let p = homeObj.class_parse.split(';'); + if (p.length >= 4) { + try { + let html = getHtml(homeObj.MY_URL); + if (html) { + homeHtmlCache = html; + let list = pdfa(html, p[0]); + if (list && list.length > 0) { + list.forEach((it, idex) => { + try { + let name = pdfh(it, p[1]); + if (homeObj.cate_exclude && (new RegExp(homeObj.cate_exclude).test(name))) { + return; + } + let url = pdfh(it, p[2]); + if (p[3]) { + let exp = new RegExp(p[3]); + url = url.match(exp)[1]; + } + + classes.push({ + 'type_id': url.trim(), + 'type_name': name.trim() + }); + } catch (e) { + console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`); + } + }); + } + } + } catch (e) { + console.log(e.message); + } + + } + } + // 排除分类 + classes = classes.filter(it => !homeObj.cate_exclude || !(new RegExp(homeObj.cate_exclude).test(it.type_name))); + let resp = { + 'class': classes + }; + if (homeObj.filter) { + resp.filters = homeObj.filter; + } + console.log(JSON.stringify(resp)); + return JSON.stringify(resp); + +} + +/** + * 首页推荐列表解析 + * @param homeVodObj + * @returns {string} + */ +function homeVodParse(homeVodObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + MY_URL = homeVodObj.homeUrl; + // setItem('MY_URL',MY_URL); + console.log(MY_URL); + let p = homeVodObj.推荐; + if (!p || typeof (p) !== 'string') { + return '{}' + } + p = p.trim(); + if (p.startsWith('js:')) { + const TYPE = 'home'; + var input = MY_URL; + const HOST = rule.host; + eval(p.replace('js:', '')); + d = VODS; + } else { + p = p.split(';'); + if (!homeVodObj.double && p.length < 5) { + return '{}' + } else if (homeVodObj.double && p.length < 6) { + return '{}' + } + let _ps = parseTags.getParse(p[0]); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p[0].startsWith('json:'); + p[0] = p[0].replace(/^(jsp:|json:|jq:)/, ''); + // print(p[0]); + let html = homeHtmlCache || getHtml(MY_URL); + homeHtmlCache = undefined; + if (is_json) { + html = dealJson(html); + } + try { + console.log('double:' + homeVodObj.double); + if (homeVodObj.double) { + let items = _pdfa(html, p[0]); + // console.log(items.length); + for (let item of items) { + // console.log(p[1]); + let items2 = _pdfa(item, p[1]); + // console.log(items2.length); + for (let item2 of items2) { + try { + let title = _pdfh(item2, p[2]); + let img = ''; + try { + img = _pd(item2, p[3]) + } catch (e) { + } + let desc = _pdfh(item2, p[4]); + let links = []; + for (let p5 of p[5].split('+')) { + let link = !homeVodObj.detailUrl ? _pd(item2, p5, MY_URL) : _pdfh(item2, p5); + links.push(link); + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_id: links.join('$') + }; + // print(vod); + d.push(vod); + } catch (e) { + console.log('首页列表处理发生错误:' + e.message); + } + + } + } + } else { + let items = _pdfa(html, p[0]); + for (let item of items) { + try { + let title = _pdfh(item, p[1]); + let img = ''; + try { + img = _pd(item, p[2], MY_URL); + } catch (e) { + + } + let desc = _pdfh(item, p[3]); + let links = []; + for (let p5 of p[4].split('+')) { + let link = !homeVodObj.detailUrl ? _pd(item, p5, MY_URL) : _pdfh(item, p5); + links.push(link); + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_id: links.join('$') + }; + d.push(vod); + + } catch (e) { + + } + + } + + } + + } catch (e) { + + } + } + // console.log(JSON.stringify(d)); + return JSON.stringify({ + list: d + }) +} + +/** + * 一级分类页数据解析 + * @param cateObj + * @returns {string} + */ +function categoryParse(cateObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let p = cateObj.一级; + if (!p || typeof (p) !== 'string') { + return '{}' + } + let d = []; + // let url = cateObj.url.replaceAll('fyclass', cateObj.tid).replaceAll('fypage', cateObj.pg); + let url = cateObj.url.replaceAll('fyclass', cateObj.tid); + if (rule.filter_url) { + if (!/fyfilter/.test(url)) { + if (!url.endsWith('&') && !rule.filter_url.startsWith('&')) { + url += '&' + } + url += rule.filter_url; + } else { + url = url.replace('fyfilter', rule.filter_url); + } + // console.log('filter:'+cateObj.filter); + let fl = cateObj.filter ? cateObj.extend : {}; + let new_url; + new_url = cheerio.jinja2(url, { fl: fl }); + // if (/object Object/.test(new_url)) { + // new_url = drT.renderText(url, fl); + // } + url = new_url; + } + if (/fypage/.test(url)) { + if (url.includes('(') && url.includes(')')) { + let url_rep = url.match(/.*?\((.*)\)/)[1]; + // console.log(url_rep); + let cnt_page = url_rep.replaceAll('fypage', cateObj.pg); + // console.log(cnt_page); + let cnt_pg = eval(cnt_page); + // console.log(cnt_pg); + url = url.replaceAll(url_rep, cnt_pg).replaceAll('(', '').replaceAll(')', ''); + } else { + url = url.replaceAll('fypage', cateObj.pg); + } + } + if (cateObj.pg === 1 && url.includes('[') && url.includes(']')) { + url = url.split('[')[1].split(']')[0]; + } + MY_URL = url; + // setItem('MY_URL',MY_URL); + console.log(MY_URL); + p = p.trim(); + const MY_CATE = cateObj.tid; + if (p.startsWith('js:')) { + var MY_FL = cateObj.extend; + const TYPE = 'cate'; + var input = MY_URL; + const MY_PAGE = cateObj.pg; + var desc = ''; + eval(p.trim().replace('js:', '')); + d = VODS; + } else { + p = p.split(';'); + if (p.length < 5) { + return '{}' + } + let _ps = parseTags.getParse(p[0]); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p[0].startsWith('json:'); + p[0] = p[0].replace(/^(jsp:|json:|jq:)/, ''); + try { + let html = getHtml(MY_URL); + if (html) { + if (is_json) { + html = dealJson(html); + } + let list = _pdfa(html, p[0]); + list.forEach(it => { + let links = p[4].split('+').map(p4 => { + return !rule.detailUrl ? _pd(it, p4, MY_URL) : _pdfh(it, p4); + }); + let link = links.join('$'); + let vod_id = rule.detailUrl ? MY_CATE + '$' + link : link; + d.push({ + 'vod_id': vod_id, + 'vod_name': _pdfh(it, p[1]).replace(/\n|\t/g, '').trim(), + 'vod_pic': _pd(it, p[2], MY_URL), + 'vod_remarks': _pdfh(it, p[3]).replace(/\n|\t/g, '').trim(), + }); + }); + } + } catch (e) { + console.log(e.message); + } + } + // print(d); + return d.length < 1 ? '{}' : JSON.stringify({ + 'page': parseInt(cateObj.pg), + 'pagecount': 999, + 'limit': 20, + 'total': 999, + 'list': d, + }); +} + +/** + * 搜索列表数据解析 + * @param searchObj + * @returns {string} + */ +function searchParse(searchObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + if (!searchObj.searchUrl) { + return '{}' + } + let p = searchObj.搜索 === '*' && rule.一级 ? rule.一级 : searchObj.搜索; + if (!p || typeof (p) !== 'string') { + return '{}' + } + p = p.trim(); + let url = searchObj.searchUrl.replaceAll('**', searchObj.wd).replaceAll('fypage', searchObj.pg); + MY_URL = url; + console.log(MY_URL); + // setItem('MY_URL',MY_URL); + if (p.startsWith('js:')) { + const TYPE = 'search'; + const MY_PAGE = searchObj.pg; + const KEY = searchObj.wd; + var input = MY_URL; + var detailUrl = rule.detailUrl || ''; + eval(p.trim().replace('js:', '')); + d = VODS; + } else { + p = p.split(';'); + if (p.length < 5) { + return '{}' + } + let _ps = parseTags.getParse(p[0]); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p[0].startsWith('json:'); + p[0] = p[0].replace(/^(jsp:|json:|jq:)/, ''); + try { + let html = getHtml(MY_URL); + if (html) { + if (/系统安全验证|输入验证码/.test(html)) { + let cookie = verifyCode(MY_URL); + if (cookie) { + console.log(`本次成功过验证,cookie:${cookie}`); + setItem(RULE_CK, cookie); + } else { + console.log(`本次自动过搜索验证失败,cookie:${cookie}`); + } + // obj.headers['Cookie'] = cookie; + html = getHtml(MY_URL); + } + if (!html.includes(searchObj.wd)) { + console.log('搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码'); + console.log(html); + } + if (is_json) { + html = dealJson(html); + } + let list = _pdfa(html, p[0]); + list.forEach(it => { + let links = p[4].split('+').map(p4 => { + return !rule.detailUrl ? _pd(it, p4, MY_URL) : _pdfh(it, p4) + }); + + let link = links.join('$'); + let ob = { + 'vod_id': link, + 'vod_name': _pdfh(it, p[1]).replace(/\n|\t/g, '').trim(), + 'vod_pic': _pd(it, p[2], MY_URL), + 'vod_remarks': _pdfh(it, p[3]).replace(/\n|\t/g, '').trim(), + }; + if (p.length > 5 && p[5]) { + ob.vod_content = _pdfh(it, p[5]); + } + d.push(ob); + }); + + } + } catch (e) { + return '{}' + } + + } + return JSON.stringify({ + 'page': parseInt(searchObj.pg), + 'pagecount': 10, + 'limit': 20, + 'total': 100, + 'list': d, + }); +} + +/** + * 二级详情页数据解析 + * @param detailObj + * @returns {string} + */ +function detailParse(detailObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let vod = { + vod_id: detailObj.orId, //"id", + vod_name: "片名", + vod_pic: "", + type_name: "剧情", + vod_year: "年份", + vod_area: "地区", + vod_remarks: "更新信息", + vod_actor: "主演", + vod_director: "导演", + vod_content: "简介" + }; + let p = detailObj.二级; + let url = detailObj.url; + let detailUrl = detailObj.detailUrl; + let fyclass = detailObj.fyclass; + let tab_exclude = detailObj.tab_exclude; + let html = detailObj.html || ''; + MY_URL = url; + console.log(MY_URL); + // setItem('MY_URL',MY_URL); + if (p === '*') { + vod.vod_play_from = '道长在线'; + vod.vod_remarks = detailUrl; + vod.vod_actor = '没有二级,只有一级链接直接嗅探播放'; + vod.vod_content = MY_URL; + vod.vod_play_url = '嗅探播放$' + MY_URL; + } else if (typeof (p) === 'string' && p.trim().startsWith('js:')) { + const TYPE = 'detail'; + var input = MY_URL; + eval(p.trim().replace('js:', '')); + vod = VOD; + console.log(JSON.stringify(vod)); + } else if (p && typeof (p) === 'object') { + if (!html) { + html = getHtml(MY_URL); + } + let _impJQP = true; + let _ps; + if (p.is_json) { + _ps = parseTags.json; + html = dealJson(html); + _impJQP = false; + } else if (p.is_jsp) { + _ps = parseTags.jsp; + } else if (p.is_jq) { + _ps = parseTags.jq; + } else { + _ps = parseTags.jq; + } + if (_impJQP) { + let c$ = cheerio.load(html); + html = { rr: c$, ele: c$('html')[0] } + } + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + if (p.title) { + let p1 = p.title.split(';'); + vod.vod_name = _pdfh(html, p1[0]).replace(/\n|\t/g, '').trim(); + let type_name = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, '').replace(/ /g, '').trim() : ''; + vod.type_name = type_name || vod.type_name; + } + if (p.desc) { + try { + let p1 = p.desc.split(';'); + vod.vod_remarks = _pdfh(html, p1[0]).replace(/\n|\t/g, '').trim(); + vod.vod_year = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, '').trim() : ''; + vod.vod_area = p1.length > 2 ? _pdfh(html, p1[2]).replace(/\n|\t/g, '').trim() : ''; + // vod.vod_actor = p1.length > 3 ? _pdfh(html, p1[3]).replaceAll('\n', ' ').trim():''; + vod.vod_actor = p1.length > 3 ? _pdfh(html, p1[3]).replace(/\n|\t/g, '').trim() : ''; + vod.vod_director = p1.length > 4 ? _pdfh(html, p1[4]).replace(/\n|\t/g, '').trim() : ''; + } + catch (e) { + + } + } + if (p.content) { + try { + let p1 = p.content.split(';'); + vod.vod_content = _pdfh(html, p1[0]).replace(/\n|\t/g, '').trim(); + } + catch (e) { } + } + if (p.img) { + try { + let p1 = p.img.split(';'); + vod.vod_pic = _pd(html, p1[0], MY_URL); + } + catch (e) { } + } + + let vod_play_from = '$$$'; + let playFrom = []; + if (p.重定向 && p.重定向.startsWith('js:')) { + html = eval(p.重定向.replace('js:', '')); + if (_impJQP) { + let c$ = cheerio.load(html); + html = { rr: c$, ele: c$('html')[0] } + } + } + + // console.log(2); + if (p.tabs) { + let p_tab = p.tabs.split(';')[0]; + console.log(p_tab); + let vHeader = _pdfa(html, p_tab); + + console.log(vHeader.length); + for (let v of vHeader) { + let v_title = _pdfh(v, 'body&&Text'); + console.log(v_title); + if (tab_exclude && (new RegExp(tab_exclude)).test(v_title)) { + continue; + } + playFrom.push(v_title); + } + console.log(JSON.stringify(playFrom)); + } else { + playFrom = ['道长在线'] + } + vod.vod_play_from = playFrom.join(vod_play_from); + + // console.log(3); + let vod_play_url = '$$$'; + let vod_tab_list = []; + if (p.lists) { + for (let i = 0; i < playFrom.length; i++) { + let tab_name = playFrom[i]; + let tab_ext = p.tabs.split(';').length > 1 ? p.tabs.split(';')[1] : ''; + let p1 = p.lists.replaceAll('#idv', tab_name).replaceAll('#id', i); + tab_ext = tab_ext.replaceAll('#idv', tab_name).replaceAll('#id', i); + console.log(p1); + // console.log(html); + let vodList = []; + try { + vodList = _pdfa(html, p1); + console.log('len(vodList):' + vodList.length); + } catch (e) { + // console.log(e.message); + } + let new_vod_list = []; + let tabName = tab_ext ? _pdfh(html, tab_ext) : tab_name; + console.log(tabName); + // console.log('cheerio解析Text'); + vodList.forEach(it => { + // 请注意,这里要固定pdfh解析body&&Text,不需要下划线,没写错 + // new_vod_list.push(pdfh(it,'body&&Text')+'$'+_pd(it,'a&&href',MY_URL)); + // new_vod_list.push(cheerio.load(it).text() + '$' + _pd(it, 'a&&href', MY_URL)); + new_vod_list.push(_pdfh(it, 'body&&Text') + '$' + _pd(it, 'a&&href', MY_URL)); + }); + let vlist = new_vod_list.join('#'); + vod_tab_list.push(vlist); + } + } + vod.vod_play_url = vod_tab_list.join(vod_play_url); + } + // print(vod); + return JSON.stringify({ + list: [vod] + }) +} + +/** + * 选集播放点击事件解析 + * @param playObj + * @returns {string} + */ +function playParse(playObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + MY_URL = playObj.url; + if (!/http/.test(MY_URL)) { + try { + MY_URL = base64Decode(MY_URL); + } catch (e) { } + } + MY_URL = decodeURIComponent(MY_URL); + var input = MY_URL;//注入给免嗅js + let common_play = { + parse: 1, + url: input + }; + let lazy_play; + if (!rule.play_parse || !rule.lazy) { + lazy_play = common_play; + } else if (rule.play_parse && rule.lazy && typeof (rule.lazy) === 'string') { + try { + let lazy_code = rule.lazy.replace('js:', '').trim(); + print('开始执行js免嗅=>' + lazy_code); + eval(lazy_code); + lazy_play = typeof (input) === 'object' ? input : { + parse: 1, + jx: 1, + url: input + }; + } catch (e) { + print('js免嗅错误:' + e.message); + lazy_play = common_play; + } + } else { + lazy_play = common_play; + } + console.log(JSON.stringify(lazy_play)); + return JSON.stringify(lazy_play); +} + +/** + * js源预处理特定返回对象中的函数 + * @param ext + */ +function init(ext) { + console.log('init'); + try { + // make shared jsContext happy + if (typeof (globalThis.mubanJs) === 'undefined') { + let mubanJs = request('https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js', { 'User-Agent': MOBILE_UA }); + mubanJs = mubanJs.replace('export default', '(function() {return muban;}()) // export default'); + globalThis.mubanJs = mubanJs; + } + let muban = eval(globalThis.mubanJs); + if (typeof ext == 'object') { + rule = ext; + if (rule.template) { + rule = Object.assign(muban[rule.template], rule); + } + } else if (typeof ext == 'string') { + if (ext.startsWith('http')) { + let js = request(ext, { 'method': 'GET' }); + if (js) { + eval(js.replace('var rule', 'rule')); + } + } + } else { + eval(ext.replace('var rule', 'rule')); + } + /** 处理一下 rule规则关键字段没传递的情况 **/ + let rule_cate_excludes = (rule.cate_exclude || '').split('|').filter(it => it.trim()); + let rule_tab_excludes = (rule.tab_exclude || '').split('|').filter(it => it.trim()); + rule_cate_excludes = rule_cate_excludes.concat(CATE_EXCLUDE.split('|').filter(it => it.trim())); + rule_tab_excludes = rule_tab_excludes.concat(TAB_EXCLUDE.split('|').filter(it => it.trim())); + + rule.cate_exclude = rule_cate_excludes.join('|'); + rule.tab_exclude = rule_tab_excludes.join('|'); + rule.host = (rule.host || '').rstrip('/'); + rule.url = rule.url || ''; + rule.double = rule.double || false; + rule.homeUrl = rule.homeUrl || ''; + rule.detailUrl = rule.detailUrl || ''; + rule.searchUrl = rule.searchUrl || ''; + rule.homeUrl = rule.host && rule.homeUrl ? urljoin(rule.host, rule.homeUrl) : (rule.homeUrl || rule.host); + rule.detailUrl = rule.host && rule.detailUrl ? urljoin(rule.host, rule.detailUrl) : rule.detailUrl; + if (rule.url.includes('[') && rule.url.includes(']')) { + let u1 = rule.url.split('[')[0] + let u2 = rule.url.split('[')[1].split(']')[0] + rule.url = rule.host && rule.url ? urljoin(rule.host, u1) + '[' + urljoin(rule.host, u2) + ']' : rule.url; + } else { + rule.url = rule.host && rule.url ? urljoin(rule.host, rule.url) : rule.url; + } + rule.searchUrl = rule.host && rule.searchUrl ? urljoin(rule.host, rule.searchUrl) : rule.searchUrl; + + rule.timeout = rule.timeout || 5000; + rule.encoding = rule.编码 || rule.encoding || 'utf-8'; + if (rule.headers && typeof (rule.headers) === 'object') { + try { + let header_keys = Object.keys(rule.headers); + for (let k of header_keys) { + if (k.toLowerCase() === 'user-agent') { + let v = rule.headers[k]; + console.log(v); + if (['MOBILE_UA', 'PC_UA', 'UC_UA', 'IOS_UA', 'UA'].includes(v)) { + rule.headers[k] = eval(v); + } + } + } + } catch (e) { + console.log('处理headers发生错误:' + e.message); + } + } + // print(rule.headers); + rule_fetch_params = { 'headers': rule.headers || false, 'timeout': rule.timeout, 'encoding': rule.encoding }; + oheaders = rule.headers || {}; + RKEY = typeof (key) !== 'undefined' && key ? key : 'drpy_' + (rule.title || rule.host); + init_test(); + } catch (e) { + console.log('init_test发生错误:' + e.message); + } +} + +let homeHtmlCache = undefined; + +/** + * js源获取首页分类和筛选特定返回对象中的函数 + * @param filter 筛选条件字典对象 + * @returns {string} + */ +function home(filter) { + console.log("home"); + let homeObj = { + filter: rule.filter || false, + MY_URL: rule.homeUrl, + class_name: rule.class_name || '', + class_url: rule.class_url || '', + class_parse: rule.class_parse || '', + cate_exclude: rule.cate_exclude, + }; + return homeParse(homeObj); +} + +/** + * js源获取首页推荐数据列表特定返回对象中的函数 + * @param params + * @returns {string} + */ +function homeVod(params) { + let homeVodObj = { + 推荐: rule.推荐, + double: rule.double, + homeUrl: rule.homeUrl, + detailUrl: rule.detailUrl + }; + return homeVodParse(homeVodObj) + // return "{}"; +} + +/** + * js源获取分类页一级数据列表特定返回对象中的函数 + * @param tid 分类id + * @param pg 页数 + * @param filter 当前选中的筛选条件 + * @param extend 扩展 + * @returns {string} + */ +function category(tid, pg, filter, extend) { + let cateObj = { + url: rule.url, + 一级: rule.一级, + tid: tid, + pg: parseInt(pg), + filter: filter, + extend: extend + }; + // console.log(JSON.stringify(extend)); + return categoryParse(cateObj) +} + +/** + * js源获取二级详情页数据特定返回对象中的函数 + * @param vod_url 一级列表中的vod_id或者是带分类的自拼接 vod_id 如 fyclass$vod_id + * @returns {string} + */ +function detail(vod_url) { + let orId = vod_url; + let fyclass = ''; + if (vod_url.indexOf('$') > -1) { + let tmp = vod_url.split('$'); + fyclass = tmp[0]; + vod_url = tmp[1]; + } + let detailUrl = vod_url; + let url; + if (!detailUrl.startsWith('http') && !detailUrl.includes('/')) { + url = rule.detailUrl.replaceAll('fyid', detailUrl).replaceAll('fyclass', fyclass); + } else if (detailUrl.includes('/')) { + url = urljoin(rule.homeUrl, detailUrl); + } else { + url = detailUrl + } + let detailObj = { + orId: orId, + url: url, + 二级: rule.二级, + detailUrl: detailUrl, + fyclass: fyclass, + tab_exclude: rule.tab_exclude, + } + return detailParse(detailObj) +} + +/** + * js源选集按钮播放点击事件特定返回对象中的函数 + * @param flag 线路名 + * @param id 播放按钮的链接 + * @param flags 全局配置的flags是否需要解析的标识列表 + * @returns {string} + */ +function play(flag, id, flags) { + let playObj = { + url: id, + flag: flag, + flags: flags + } + return playParse(playObj); +} + +/** + * js源搜索返回的数据列表特定返回对象中的函数 + * @param wd 搜索关键字 + * @param quick 是否来自快速搜索 + * @returns {string} + */ +function search(wd, quick) { + let searchObj = { + searchUrl: rule.searchUrl, + 搜索: rule.搜索, + wd: wd, + //pg: pg, + pg: 1, + quick: quick, + }; + // console.log(JSON.stringify(searchObj)); + return searchParse(searchObj) +} + +function DRPY() {//导出函数 + return { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + } +} + + +let pd = pD; + +// 导出函数对象 +__JS_SPIDER__ = { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + DRPY: DRPY +} diff --git a/TVBox_JS/lib/格式范例.txt b/TVBox_JS/lib/格式范例.txt new file mode 100644 index 0000000..5d32f1b --- /dev/null +++ b/TVBox_JS/lib/格式范例.txt @@ -0,0 +1 @@ +{"key":"drpy_js_douban","name":"影视┃豆瓣推荐","type":3,"searchable":1,"quickSearch":1,"filterable":1,"api":"./yingmo.js","ext":"./douban.js"}, \ No newline at end of file diff --git a/TVBox_JS/lib/模板.js b/TVBox_JS/lib/模板.js new file mode 100644 index 0000000..2635a63 --- /dev/null +++ b/TVBox_JS/lib/模板.js @@ -0,0 +1,274 @@ +if (typeof Object.assign != 'function') { + Object.assign = function () { + var target = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; +}; +} +function getMubans() { + var mubanDict = { // 模板字典 + mxpro: { + title: '', + host: '', + // homeUrl:'/', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', + 二级: { + "title": "h1&&Text;.module-info-tag&&Text", + "img": ".lazyload&&data-original", + "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text", + "content": ".module-info-introduction&&Text", + "tabs": ".module-tab-item", + "lists": ".module-play-list:eq(#id) a" + }, + 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', + }, + mxone5: { + title: '', + host: '', + url: '/show/fyclass--------fypage---.html', + searchUrl: '/search/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + 二级: { + "title": "h1&&Text;.tag-link&&Text", + "img": ".module-item-pic&&img&&data-src", + "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text", + "content": ".vod_content&&Text", + "tabs": ".module-tab-item", + "lists": ".module-player-list:eq(#id)&&.scroll-content&&a" + }, + 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href', + }, + 首图: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---/', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text", + "img": ".myui-content__thumb .lazyload&&data-original", + "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text", + "content": ".content&&Text", + "tabs": ".nav-tabs:eq(0) li", + "lists": ".myui-content__list:eq(#id) li" + }, + 搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 首图2: { + title: '', + host: '', + url: '/list/fyclass-fypage.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + // "Cookie": "" + }, + // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text", + "img": ".stui-content__thumb .lazyload&&data-original", + "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text", + "content": ".detail&&Text", + "tabs": ".stui-vodlist__head h3", + "lists": ".stui-content__playlist:eq(#id) li" + }, + 搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 默认: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/-------------.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + play_parse: true, + lazy: '', + limit: 6, + double: true, // 推荐内容是否双层定位 + }, + vfed: { + title: '', + host: '', + url: '/index.php/vod/show/id/fyclass/page/fypage.html', + searchUrl: '/index.php/vod/search/page/fypage/wd/**.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + }, + // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', + class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + 二级: { + "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text", + "img": ".fed-list-info&&a&&data-original", + "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text", + "content": ".fed-part-esan&&Text", + "tabs": ".fed-drop-boxs&&.fed-part-rows&&li", + "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li" + }, + 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text', + }, + 海螺3: { + title: '', + host: '', + searchUrl: '/v_search/**----------fypage---.html', + url: '/vod_____show/fyclass--------fypage---.html', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '明星|专题|最新|排行', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', + double: true, + 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + 二级: { + "title": ".hl-infos-title&&Text;.hl-text-conch&&Text", + "img": ".hl-lazy&&data-original", + "desc": ".hl-infos-content&&.hl-text-conch&&Text", + "content": ".hl-content-text&&Text", + "tabs": ".hl-tabs&&a", + "lists": ".hl-plays-list:eq(#id)&&li" + }, + 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 海螺2: { + title: '', + host: '', + searchUrl: '/index.php/vod/search/page/fypage/wd/**/', + url: '/index.php/vod/show/id/fyclass/page/fypage/', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', + double: true, + 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', + 二级: { + "title": "h2&&Text;.deployment&&Text", + "img": ".lazy&&data-original", + "desc": ".deployment&&Text", + "content": ".ec-show&&Text", + "tabs": "#tag&&a", + "lists": ".play_list_box:eq(#id)&&li" + }, + 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 短视: { + title: '', + host: '', + // homeUrl:'/', + url: '/channel/fyclass-fypage.html', + searchUrl: '/search.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '解析|动态', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + 二级: { + "title": "h1&&Text;.content-rt&&p:eq(0)&&Text", + "img": ".img&&img&&data-src", + "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text", + "content": ".zkjj_a&&Text", + "tabs": ".py-tabs&&option", + "lists": ".player:eq(#id) li" + }, + 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href', + } + + }; + return JSON.parse(JSON.stringify(mubanDict)); +} +var mubanDict = getMubans(); +var muban = getMubans(); +export default {muban,getMubans}; \ No newline at end of file diff --git a/TVBox_JS/qiumi1314.js b/TVBox_JS/qiumi1314.js new file mode 100644 index 0000000..0484616 --- /dev/null +++ b/TVBox_JS/qiumi1314.js @@ -0,0 +1,91 @@ +{ + "author": "dj", + "ua": "", + //"homeUrl": "http://qiumi1314.com/", + "homeUrl": "http://jrkankan.com/", + //"homeUrl": "http://jrkan365.com/", + + "cateManual": { + "DJ看": "1" + }, + + // 首页推荐视频的节点 + "homeVodNode": "//ul[@data-stype='zqlq']", + // 首页推荐视频的名称 + //"homeVodName": "/li[@class='lab_events']/span/text()", + "homeVodName": "concat(/li[@class='lab_time']/text(),'-',/li[@class='lab_events']/span/text())", + // 首页推荐视频的id + "homeVodId": "/li[@class='lab_channel']/a[1]/@href", + // 二次处理正则 + "homeVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + // 首页推荐视频的图片 + "homeVodImg": "/li[@class='lab_team_home']/span/img/@src", + // 首页推荐视频的简介 + "homeVodMark": "concat(//li[@class='lab_team_home']/strong/text(),'-',//li[@class='lab_team_away']/strong/text(),'-dj')", + "home": "dj", + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "http://www.jrskan.com/", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//ul[@data-stype='zqlq']", + //"cateVodName": "/li[@class='lab_events']/span/text()", + "cateVodName": "concat(/li[@class='lab_time']/text(),'-',/li[@class='lab_events']/span/text(),'dj')", + "cateVodId": "/li[@class='lab_channel']/a[1]/@href", + "cateVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + "cateVodImg": "/li[@class='lab_team_home']/span/img/@src", + "cateVodMark": "concat(//li[@class='lab_team_home']/strong/text(),'-',//li[@class='lab_team_away']/strong/text())", + //"cateVodMark": "{vid}", + "cate": "dj", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + //"dtUrl": "{vid}", + "dtUrl": "http://play.sportsteam333.com/play/steam{vid}.html", + // 详情节点 + "dtNode": "//ul[@data-stype='zqlq']", + // 视频名 + "dtName": "/li[1]/span/text()", + // 视频图片 + "dtImg": "/li[3]/span/img/@src", + // 视频分类 + "dtCate": "/li[1]/span/text()", + //演员 + "dtActor": "/li[1]/span/text()", + // 导演 + "dtDirector": "concat('xxx -','Never underestimate the heart of a champion! ')", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "concat(/li[3]/strong/text(),'-',/li[5]/strong/text(),'-dj')", + + // 播放源节点 + "dtFromNode": "//div[@class='sub_channel']/a/strong", + // 播放源名称 + "dtFromName": "concat('dj-',/text())", + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[@class='sub_channel']", + // 播放地址节点 + "dtUrlSubNode": "/a", + "dtUrlSub": "/ff", + // 播放地址 + "dtUrlId": "@data-play", + "dtUrlIdR": "/play/(\\S+)", + //"dtUrlIdR": "\\S+/(\\d+)&id2=", + // 剧集名称 + "dtUrlName": "/strong/text()", + "dtUrlNameR": "", + + //播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl":"http://play.sportsteam333.com/play/{playUrl}#ff", + //"playUrl":"http://play.sportsteam666.com/play/{playUrl}", + //"playUrl": "http://play.sportsteam365.com/play/{playUrl}", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", + + "searchUrl": "http://www.jrskan.com?key={wd}", + "scVodNode": "//div[@class='play_xg']/li", + "scVodName": "//div[@class='name']/a/@title", + "scVodId": "//div[@class='name']/a/@href", + "scVodIdR": "/play/(\\d+).html", + "scVodImg": "//div[@class='pic']/a/img/@src", + "scVodMark": "" +} diff --git a/TVBox_JS/qiumizhibo.js b/TVBox_JS/qiumizhibo.js new file mode 100644 index 0000000..0f73404 --- /dev/null +++ b/TVBox_JS/qiumizhibo.js @@ -0,0 +1,22 @@ +var rule = { + title:'310直播', + host:'http://www.310.tv', + url:'/?s=0&t=1&a=fyclass&g=fypage', + searchUrl:'', + searchable:0, + quickSearch:0, + class_name:'热门&足球&篮球', + class_url:'0&1&2', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + play_parse:false, + lazy:'', + limit:6, + double:false, + 推荐:'*', + 一级:'.list_content a;.jiabifeng&&p:lt(5)&&Text;.feleimg img&&src;a&&t-nzf-o;a&&href', + 二级:'*', + 搜索:'', +} \ No newline at end of file diff --git a/TVBox_JS/sougou.js b/TVBox_JS/sougou.js new file mode 100644 index 0000000..468e3a1 --- /dev/null +++ b/TVBox_JS/sougou.js @@ -0,0 +1,33 @@ +var rule = { + title:'菜狗', + host:'https://waptv.sogou.com', + homeUrl:'', + searchUrl:'https://v.sogou.com/v?query=**&typemask=6&p=&dp=&dr=&_asf=v.sogou.com&enter=1&ie=utf8', + searchable:2, + quickSearch:0, + filterable:1, + multi:1, + // 分类链接fypage参数支持1个()表达式 + url:'/napi/video/classlist?abtest=0&iploc=CN1304&spver=&listTab=fyclass&filter=&start=((fypage-1)*15)&len=15&fr=filter', + filter_url:'style={{fl.style}}&zone={{fl.zone}}&year={{fl.year}}&fee={{fl.fee}}&order={{fl.order}}', + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + class_name:'电视剧&电影&动漫&综艺&纪录片', + class_url:'teleplay&film&cartoon&tvshow&documentary', + filter:{'teleplay': [{'key': 'style', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '爱情', 'v': '爱情'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '都市', 'v': '都市'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '古装', 'v': '古装'}, {'n': '偶像', 'v': '偶像'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '历史', 'v': '历史'}, {'n': '战争', 'v': '战争'}, {'n': '武侠', 'v': '武侠'}, {'n': '警匪', 'v': '警匪'}, {'n': '科幻', 'v': '科幻'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '谍战', 'v': '谍战'}, {'n': '农村', 'v': '农村'}, {'n': '其他', 'v': '其他'}]}, {'key': 'zone', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': '内地'}, {'n': '香港', 'v': '香港'}, {'n': '台湾', 'v': '台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '泰国', 'v': '泰国'}, {'n': '日本', 'v': '日本'}, {'n': '美国', 'v': '美国'}, {'n': '英国', 'v': '英国'}, {'n': '新加坡', 'v': '新加坡'}, {'n': '其他', 'v': '其他'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2014', 'v': '2014'}, {'n': '更早', 'v': '更早'}]}, {'key': 'fee', 'name': '资源', 'value': [{'n': '全部', 'v': ''}, {'n': '正片', 'v': '正片'}, {'n': '免费正片', 'v': '免费正片'}, {'n': '付费正片', 'v': '付费正片'}]}, {'key': 'order', 'name': '排序', 'value': [{'n': '全部', 'v': ''}, {'n': '最新', 'v': '最新'}, {'n': '好评', 'v': '好评'}]}], 'film': [{'key': 'style', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '动作', 'v': '动作'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '科幻', 'v': '科幻'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '战争', 'v': '战争'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '动画', 'v': '动画'}, {'n': '文艺', 'v': '文艺'}, {'n': '传记', 'v': '传记'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '古装', 'v': '古装'}, {'n': '警匪', 'v': '警匪'}, {'n': '其他', 'v': '其他'}]}, {'key': 'zone', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': '内地'}, {'n': '香港', 'v': '香港'}, {'n': '台湾', 'v': '台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '泰国', 'v': '泰国'}, {'n': '日本', 'v': '日本'}, {'n': '美国', 'v': '美国'}, {'n': '英国', 'v': '英国'}, {'n': '新加坡', 'v': '新加坡'}, {'n': '其他', 'v': '其他'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2014', 'v': '2014'}, {'n': '更早', 'v': '更早'}]}, {'key': 'fee', 'name': '资源', 'value': [{'n': '全部', 'v': ''}, {'n': '正片', 'v': '正片'}, {'n': '免费正片', 'v': '免费正片'}, {'n': '付费正片', 'v': '付费正片'}]}, {'key': 'order', 'name': '排序', 'value': [{'n': '全部', 'v': ''}, {'n': '最新', 'v': '最新'}, {'n': '好评', 'v': '好评'}]}], 'cartoon': [{'key': 'style', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '搞笑', 'v': '搞笑'}, {'n': '热血', 'v': '热血'}, {'n': '冒险', 'v': '冒险'}, {'n': '美少女', 'v': '美少女'}, {'n': '科幻', 'v': '科幻'}, {'n': '校园', 'v': '校园'}, {'n': '恋爱', 'v': '恋爱'}, {'n': '神魔', 'v': '神魔'}, {'n': '机战', 'v': '机战'}, {'n': '益智', 'v': '益智'}, {'n': '亲子', 'v': '亲子'}, {'n': '励志', 'v': '励志'}, {'n': '童话', 'v': '童话'}, {'n': '青春', 'v': '青春'}, {'n': '原创', 'v': '原创'}, {'n': '动作', 'v': '动作'}, {'n': '耽美', 'v': '耽美'}, {'n': '魔幻', 'v': '魔幻'}, {'n': '其他', 'v': '其他'}]}, {'key': 'zone', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '日本', 'v': '日本'}, {'n': '欧美', 'v': '欧美'}, {'n': '国产', 'v': '国产'}, {'n': '其他', 'v': '其他'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2014', 'v': '2014'}, {'n': '更早', 'v': '更早'}]}, {'key': 'fee', 'name': '资源', 'value': [{'n': '全部', 'v': ''}, {'n': '正片', 'v': '正片'}, {'n': '免费正片', 'v': '免费正片'}, {'n': '付费正片', 'v': '付费正片'}]}, {'key': 'order', 'name': '排序', 'value': [{'n': '全部', 'v': ''}, {'n': '最新', 'v': '最新'}, {'n': '好评', 'v': '好评'}]}], 'tvshow': [{'key': 'style', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '真人秀', 'v': '真人秀'}, {'n': '生活', 'v': '生活'}, {'n': '搞笑', 'v': '搞笑'}, {'n': '访谈', 'v': '访谈'}, {'n': '时尚', 'v': '时尚'}, {'n': '音乐', 'v': '音乐'}, {'n': '选秀', 'v': '选秀'}, {'n': '美食', 'v': '美食'}, {'n': '游戏', 'v': '游戏'}, {'n': '纪实', 'v': '纪实'}, {'n': '旅游', 'v': '旅游'}, {'n': '情感', 'v': '情感'}, {'n': '恶搞', 'v': '恶搞'}, {'n': '吐槽', 'v': '吐槽'}, {'n': '原创', 'v': '原创'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '播报', 'v': '播报'}, {'n': '曲艺', 'v': '曲艺'}, {'n': '科教', 'v': '科教'}, {'n': '其他', 'v': '其他'}]}, {'key': 'zone', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': '内地'}, {'n': '台湾', 'v': '台湾'}, {'n': '日韩', 'v': '日韩'}, {'n': '欧美', 'v': '欧美'}, {'n': '其他', 'v': '其他'}]}, {'key': 'emcee', 'name': '明星', 'value': [{'n': '全部', 'v': ''}, {'n': '何炅', 'v': '何炅'}, {'n': '撒贝宁', 'v': '撒贝宁'}, {'n': '王筱磊', 'v': '王筱磊'}, {'n': '张绍刚', 'v': '张绍刚'}, {'n': '鲁健', 'v': '鲁健'}, {'n': '王世林', 'v': '王世林'}, {'n': '倪萍', 'v': '倪萍'}, {'n': '汪涵', 'v': '汪涵'}, {'n': '舒冬', 'v': '舒冬'}, {'n': '齐思钧', 'v': '齐思钧'}, {'n': '白岩松', 'v': '白岩松'}, {'n': '曲洪禹', 'v': '曲洪禹'}, {'n': '康辉', 'v': '康辉'}, {'n': '章亭', 'v': '章亭'}, {'n': '刘洪悦', 'v': '刘洪悦'}, {'n': '尼格买提', 'v': '尼格买提'}, {'n': '钱枫', 'v': '钱枫'}, {'n': '刘婧', 'v': '刘婧'}, {'n': '赵川', 'v': '赵川'}, {'n': '谢娜', 'v': '谢娜'}]}, {'key': 'order', 'name': '排序', 'value': [{'n': '全部', 'v': ''}, {'n': '最新', 'v': '最新'}, {'n': '好评', 'v': '好评'}]}], 'documentary': [{'key': 'style', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '历史', 'v': '历史'}, {'n': '自然', 'v': '自然'}, {'n': '动物', 'v': '动物'}, {'n': '社会', 'v': '社会'}, {'n': '传记', 'v': '传记'}, {'n': '人文', 'v': '人文'}, {'n': '文化', 'v': '文化'}, {'n': '军事', 'v': '军事'}, {'n': '科技', 'v': '科技'}, {'n': '人物', 'v': '人物'}, {'n': '探索', 'v': '探索'}, {'n': '美食', 'v': '美食'}, {'n': '旅行', 'v': '旅行'}, {'n': '探险', 'v': '探险'}, {'n': '其他', 'v': '其他'}]}, {'key': 'zone', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': '内地'}, {'n': '香港', 'v': '香港'}, {'n': '台湾', 'v': '台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '泰国', 'v': '泰国'}, {'n': '日本', 'v': '日本'}, {'n': '美国', 'v': '美国'}, {'n': '英国', 'v': '英国'}, {'n': '新加坡', 'v': '新加坡'}, {'n': '其他', 'v': '其他'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2014', 'v': '2014'}, {'n': '更早', 'v': '更早'}]}, {'key': 'fee', 'name': '资源', 'value': [{'n': '全部', 'v': ''}, {'n': '正片', 'v': '正片'}, {'n': '免费正片', 'v': '免费正片'}, {'n': '付费正片', 'v': '付费正片'}]}, {'key': 'order', 'name': '排序', 'value': [{'n': '全部', 'v': ''}, {'n': '最新', 'v': '最新'}, {'n': '好评', 'v': '好评'}]}]}, + limit:20, + play_parse:true, + play_json:1, + // 手动调用解析请求json的url,此lazy不方便 + lazy:'', + lazy:'js:print(input);fetch_params.headers["User-Agent"]=MOBILE_UA;print(fetch_params);let html=request(input);let rurl=html.match(/window\\.open\\(\'(.*?)\',/)[1];rurl=urlDeal(rurl);input={parse:1,jx:1,url:rurl};', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级:'js:let d=[];let html=request(input);html=JSON.parse(html);let list=html.listData.results;list.forEach(function(it){let desc1=it.ipad_play_for_list.finish_episode?it.ipad_play_for_list.episode===it.ipad_play_for_list.finish_episode?"全集"+it.ipad_play_for_list.finish_episode:"连载"+it.ipad_play_for_list.episode+"/"+it.ipad_play_for_list.finish_episode:"";let desc2=it.score?"评分:"+it.score:"";let desc3=it.date?"更至:"+it.date:"";d.push({title:it.name,img:it.v_picurl,url:"https://v.sogou.com"+it.url.replace("teleplay","series").replace("cartoon","series"),desc:desc1||desc2||desc3})});setResult(d);', + 二级:'', + 二级:'js:VOD={};let html=request(input);function adhead(url){let hd="https://v.sogou.com";if(!url.startsWith(hd)){url=hd+url}return urlencode(url)}try{let json=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).detail.itemData;let key=json.dockey;let name=json.name;let zone=json.zone;let score=json.score?json.score:"暂无";let style=json.style;let emcee=json.emcee?"主持:"+json.emcee:json.name;let director=json.director?"导演:"+json.director:name;director=director.replace(/;/g,"\\t");let starring=json.starring?"演员:"+json.starring:"声优:"+json.shengyou;starring=starring.replace(/.*undefined/,"").replace(/;/g,"\\t");let update=json.update_wordstr?json.update_wordstr:"";let tv_station=json.tv_station?json.tv_station:zone;let introduction=json.introduction;let shengyou=json.shengyou;let shows=json.play_from_open_index;let plays=json.play.item_list;if(shows){VOD.vod_name=name;VOD.vod_area=emcee+","+tv_station;VOD.vod_director=director;VOD.vod_actor=starring;VOD.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");VOD.vod_remarks=style+" 评分:"+score+","+update;VOD.vod_content=introduction}else{VOD.vod_name=name;VOD.vod_director=director;VOD.vod_actor=starring;VOD.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");VOD.vod_content=introduction}let tp="&type=json";try{let tabs=[];let lists=[];plays.forEach(function(it){lists.push(it.info);let tbn=it.sitename[0]||it.site.replace(".com","");tbn=tbn.split("").join(" ");tabs.push(tbn)});VOD.vod_play_from=tabs.join("$$$");let vod_lists=[];print("play_url1:"+play_url);play_url=play_url.replace("&play_url=","&type=json&play_url=");print("play_url2:"+play_url);lists.forEach(function(item,idex){if(item||shows){if(item&&Array.isArray(item)&&item.length>1){let tmp=item.slice(1).map(function(its){return its.index+"$"+play_url+base64Encode(adhead(its.url))});vod_lists.push(tmp.join("#"))}if(shows){let arr=[];let tmp=[];let zy=shows.item_list[idex];zy.date.forEach(function(date){let day=date.day;for(let j=0;j=10?day[j][0]:"0"+day[j][0];let Tdate=date.year+date.month+dayy;arr.push(Tdate)}});for(let k=0;k0?img[0]:""}}catch(e){print("发生了错误:"+e.message)}', + // 二级:'js:var vod={vod_id:input};let html=request(input);function adhead(url){let hd="https://v.sogou.com";if(!url.startsWith(hd)){url=hd+url}return url}try{let json=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).detail.itemData;let key=json.dockey;let name=json.name;let zone=json.zone;let score=json.score?json.score:"暂无";let style=json.style;let emcee=json.emcee?"主持:"+json.emcee:json.name;let director=json.director?"导演:"+json.director:name;director=director.replace(/;/g,"\\t");let starring=json.starring?"演员:"+json.starring:"声优:"+json.shengyou;starring=starring.replace(/.*undefined/,"").replace(/;/g,"\\t");let update=json.update_wordstr?json.update_wordstr:"";let tv_station=json.tv_station?json.tv_station:zone;let introduction=json.introduction;let shengyou=json.shengyou;let shows=json.play_from_open_index;let plays=json.play.item_list;if(shows){vod.vod_name=name;vod.vod_area=emcee+","+tv_station;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_remarks=style+" 评分:"+score+","+update;vod.vod_content=introduction}else{vod.vod_name=name;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_content=introduction}let tp="&type=json";try{let tabs=[];let lists=[];plays.forEach(function(it){lists.push(it.info);let tbn=it.sitename[0]||it.site.replace(".com","");tbn=tbn.split("").join(" ");tabs.push(tbn)});vod.vod_play_from=tabs.join("$$$");vod_lists=[];play_url=play_url.replace("&play_url=","&type=json&play_url=");lists.forEach(function(item,idex){if(item||shows){if(item&&Array.isArray(item)&&item.length>1){let tmp=item.slice(1).map(function(its){return its.index+"$"+play_url+base64Encode(adhead(its.url))});vod_lists.push(tmp.join("#"))}if(shows){let arr=[];let tmp=[];let zy=shows.item_list[idex];zy.date.forEach(function(date){let day=date.day;for(let j=0;j=10?day[j][0]:"0"+day[j][0];let Tdate=date.year+date.month+dayy;arr.push(Tdate)}});for(let k=0;k0?img[0]:""}}catch(e){}', + 搜索:'', + 搜索:'js:let d=[];let html=request(input);let jsonA=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]);print(jsonA);jsonA=jsonA.result.longVideo.results;jsonA.forEach(function(it){let name=it.name;let introduction=it.introduction;let pic=it.v_picurl;let url=it.tiny_url;let zone=it.zone;let score=it.score||"暂无";let style=it.style;if(it.play.item_list){let r={};r.title=name.replace(//,"").replace(//,"");r.url="https://v.sogou.com"+url;r.desc=it.list_category.join(",");r.content=introduction;r.pic_url=pic;d.push(r)}});setResult(d);', +} \ No newline at end of file diff --git a/TVBox_JS/tengxun.js b/TVBox_JS/tengxun.js new file mode 100644 index 0000000..f53b58c --- /dev/null +++ b/TVBox_JS/tengxun.js @@ -0,0 +1,34 @@ +var rule = { + title:'腾云驾雾', + host:'https://v.%71%71.com', + // homeUrl:'/channel/choice?listpage=1&channel=choice&sort=18&_all=1', + homeUrl:'/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18', + detailUrl:'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid', + searchUrl:'https://node.video.%71%71.com/x/api/msearch?keyWord=**', + searchable:2, + filterable:1, + multi:1, + // url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1', + url:'/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1', + filter_url:'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}', + filter:{'choice': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'tv': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'movie': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'variety': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'cartoon': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'child': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'doco': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}]}, + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + // class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)', + cate_exclude:'会员|游戏|全部', + class_name:'精选&电视剧&电影&综艺&动漫&少儿&纪录片', + class_url:'choice&tv&movie&variety&cartoon&child&doco', + limit:20, + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites","lists":"data.playlinksdetail.#idv.default_url"}, + 二级:'', + 二级:'js:VOD={};let d=[];let video_list=[];let video_lists=[];let list=[];let QZOutputJson;let html=fetch(input,fetch_params);let sourceId=/get_playsource/.test(input)?input.match(/id=(\\d*?)&/)[1]:input.split("cid=")[1];let cid=sourceId;let detailUrl="https://v.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;try{let json=JSON.parse(html);VOD={vod_url:input,vod_name:json.c.title,type_name:json.typ.join(","),vod_actor:json.nam.join(","),vod_year:json.c.year,vod_content:json.c.description,vod_remarks:json.rec,vod_pic:urljoin2(input,json.c.pic)}}catch(e){log("解析片名海报等基础信息发生错误:"+e.message)}if(/get_playsource/.test(input)){eval(html);let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+sourceId+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else{let json=JSON.parse(html);video_lists=json.c.video_ids;let url="https://v.qq.com/x/cover/"+sourceId+".html";if(json.c.type===10){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json";let o_html=fetch(dataUrl,fetch_params);eval(o_html);video_lists=[];let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else if(video_lists.length===1){d.push({title:"在线播放",url:url})}else if(video_lists.length>1){for(let i=0;i扮演"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}]}, + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + class_name:'电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + class_url:'电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + limit:20, + play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:print(input);fetch_params.headers["user-agent"]=MOBILE_UA;let html=request(input);let rurl=html.match(/window\\.open\\(\'(.*?)\',/)[1];rurl=urlDeal(rurl);input={parse:1,url:rurl};', + lazy:'js:input={parse:1,jx:1,url:input};', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:data.filterData.listData;title;img;subTitle;videoLink;summary', + 一级:'', + 一级:'js:let d=[];MY_FL.type=MY_CATE;let fl=stringify(MY_FL);fl=encodeUrl(fl);input=input.split("{")[0]+fl;if(MY_PAGE>1){let old_session=getItem("yk_session_"+MY_CATE,"{}");if(MY_PAGE===2){input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}else{input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}}let html=fetch(input,fetch_params);try{html=JSON.parse(html);let lists=html.data.filterData.listData;let session=html.data.filterData.session;session=stringify(session);if(session!==getItem("yk_session_"+MY_CATE,"{}")){setItem("yk_session_"+MY_CATE,session)}lists.forEach(function(it){let vid;if(it.videoLink.includes("id_")){vid=it.videoLink.split("id_")[1].split(".html")[0]}else{vid="msearch:"}d.push({title:it.title,img:it.img,desc:it.summary,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+vid,content:it.subTitle})})}catch(e){log("一级列表解析发生错误:"+e.message)}setResult(d);', + 二级:'', + 二级:'js:var d=[];VOD={};let html=request(input);let json=JSON.parse(html);if(/keyword/.test(input)){input="https://search.youku.com/api/search?appScene=show_episode&showIds="+json.pageComponentList[0].commonData.showId;json=JSON.parse(fetch(MY_URL,fetch_params))}let video_lists=json.serisesList;var name=json.sourceName;if(/优酷/.test(name)&&video_lists.length>0){let ourl="https://v.youku.com/v_show/id_"+video_lists[0].videoId+".html";let _img=video_lists[0].thumbUrl;let html=fetch(ourl,{headers:{Referer:"https://v.youku.com/","User-Agent":PC_UA}});let json=/__INITIAL_DATA__/.test(html)?html.split("window.__INITIAL_DATA__ =")[1].split(";")[0]:"{}";if(json==="{}"){log("触发了优酷人机验证");VOD.vod_remarks=ourl;VOD.vod_pic=_img;VOD.vod_name=video_lists[0].title.replace(/(\\d+)/g,"");VOD.vod_content="触发了优酷人机验证,本次未获取详情,但不影响播放("+ourl+")"}else{try{json=JSON.parse(json);let data=json.data.data;let data_extra=data.data.extra;let img=data_extra.showImgV;let model=json.data.model;let m=model.detail.data.nodes[0].nodes[0].nodes[0].data;let _type=m.showGenre;let _desc=m.updateInfo||m.subtitle;let JJ=m.desc;let _title=m.introTitle;VOD.vod_pic=img;VOD.vod_name=_title;VOD.vod_type=_type;VOD.vod_remarks=_desc;VOD.vod_content=JJ}catch(e){log("海报渲染发生错误:"+e.message);print(json);VOD.vod_remarks=name}}}if(!/优酷/.test(name)){VOD.vod_content="非自家播放源,暂无视频简介及海报";VOD.vod_remarks=name}function adhead(url){return urlencode(url)}play_url=play_url.replace("&play_url=","&type=json&play_url=");video_lists.forEach(function(it){let url="https://v.youku.com/v_show/id_"+it.videoId+".html";if(it.thumbUrl){d.push({desc:it.showVideoStage?it.showVideoStage.replace("期","集"):it.displayName,pic_url:it.thumbUrl,title:it.title,url:play_url+adhead(url)})}else if(name!=="优酷"){d.push({title:it.displayName?it.displayName:it.title,url:play_url+adhead(it.url)})}});VOD.vod_play_from=name;VOD.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");', + 搜索:'', + 搜索:'js:var d=[];let html=request(input);let json=JSON.parse(html);json.pageComponentList.forEach(function(it){if(it.hasOwnProperty("commonData")){it=it.commonData;d.push({title:it.titleDTO.displayName,img:it.posterDTO.vThumbUrl,desc:it.stripeBottom,content:it.updateNotice+" "+it.feature,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+it.showId+"&appCaller=h5"})}});setResult(d);', +} \ No newline at end of file diff --git a/TVBox_JS/ysgc.js b/TVBox_JS/ysgc.js new file mode 100644 index 0000000..70cc7cd --- /dev/null +++ b/TVBox_JS/ysgc.js @@ -0,0 +1,4 @@ +var rule = Object.assign(muban.首图,{ +title:'影视工厂', +host:'https://www.ysgc.cc', +}); \ No newline at end of file diff --git a/TVBox_JS/zhuijm.js b/TVBox_JS/zhuijm.js new file mode 100644 index 0000000..9a6f989 --- /dev/null +++ b/TVBox_JS/zhuijm.js @@ -0,0 +1,6 @@ +// muban.海螺2.二级.content = '.hl-infos-content&&Text'; +var rule = Object.assign(muban.海螺2,{ + title:'追剧喵', + host:'https://zjmiao.com', + 搜索:'.search-list;a&&Text;.lazy&&data-original;.deployment&&Text;a&&href', +}); \ No newline at end of file diff --git a/TVBox_JS/万能影视.js b/TVBox_JS/万能影视.js new file mode 100644 index 0000000..4edf0f5 --- /dev/null +++ b/TVBox_JS/万能影视.js @@ -0,0 +1,4 @@ +var rule = Object.assign(muban.首图,{ +title:'万能影视', +host:'https://wnvod.net', +}); \ No newline at end of file diff --git a/TVBox_JS/两个BT.js b/TVBox_JS/两个BT.js new file mode 100644 index 0000000..0c1d98b --- /dev/null +++ b/TVBox_JS/两个BT.js @@ -0,0 +1,26 @@ +var rule = { + title:'两个BT', + host:'https://www.bttwoo.com', + // homeUrl:'/', + url:'/fyclass/page/fypage', + searchUrl:'/xssearch?q=**', + searchable:0, + quickSearch:0, + headers:{ + 'User-Agent':'UC_UA' + }, + timeout:5000, + class_name:'最新电影&国产剧&美剧&日韩剧',//静态分类名称拼接 + class_url:'new-movie&zgjun&meiju&jpsrtv',//静态分类标识拼接 + class_parse:'', + play_parse:true, + lazy:'', + limit:5, + 推荐:'.leibox;li;.lazy&&alt;.thumb.lazy&&data-original;.jidi span&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.bt_img li;.lazy&&alt;.thumb.lazy&&data-original;.jidi span&&Text;a&&href', + + 二级:{"title":".moviedteail_tt h1&&Text","img":".dyimg.fl img&&src","desc":".cr3.starLink&&Text","content":".yp_context&&Text","tabs":".ypxingq_t:eq(1) span","lists":".paly_list_btn:eq(#id) a"}, + 搜索:'*', + +} diff --git a/TVBox_JS/乐猪TV.js b/TVBox_JS/乐猪TV.js new file mode 100644 index 0000000..3b1b978 --- /dev/null +++ b/TVBox_JS/乐猪TV.js @@ -0,0 +1,23 @@ +var rule = { + title:'乐猪TV', + host:'http://www.lezhutv.com', + // homeUrl:'/', + url:'/type/fyclass-fypage.html', + searchUrl:'/s/**/fypage.html', + searchable:0, + quickSearch:0, + headers:{ + 'User-Agent':'UC_UA' + }, + timeout:5000, + class_parse:'div.nav a;a&&Text;a&&href;/(\\d.+).html', + play_parse:true, + lazy:'', + limit:5, + 推荐:'.movie-list-body;.movie-list-item;.movie-title&&Text;.movie-post-lazyload&&data-original;.movie-rating&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'ul.tbox_m2 li;a&&title;a&&data-original;span&&Text;a&&href', + 二级:{"title":".data h4&&Text","img":".item-lazy&&data-original","desc":".cr3.starLink&&Text","content":".tbox_js&&Text","tabs":".tbox_t&&h3","lists":".list_block.show:eq(#id) li"}, + 搜索:'.vod-search-list;.movie-title&&Text;.Lazy&&data-original;.getop&&Text;a&&href;.getop:eq(-1)&&Text', + +} diff --git a/TVBox_JS/人人影视.js b/TVBox_JS/人人影视.js new file mode 100644 index 0000000..44be409 --- /dev/null +++ b/TVBox_JS/人人影视.js @@ -0,0 +1,11 @@ +muban.首图2.二级.tabs = '.stui-pannel__head h3'; +var rule = Object.assign(muban.首图2,{ + title:'人人影视', + host:'https://www.rttks.com', + url:'/rrtop/fyclass/page/fypage.html', + searchUrl:'/rrso**/page/fypage.html', + class_parse:'.stui-header__menu li;a&&Text;a&&href;.*/(.*?).html', + // cate_exclude:'解说', + play_parse:true, + lazy:'', +}); \ No newline at end of file diff --git a/TVBox_JS/优酷.js b/TVBox_JS/优酷.js new file mode 100644 index 0000000..d06fb68 --- /dev/null +++ b/TVBox_JS/优酷.js @@ -0,0 +1,38 @@ +var rule = { + title:'优酷', + host:'https://www.%79%6f%75%6b%75.com', + homeUrl:'', + searchUrl:'https://search.%79%6f%75%6b%75.com/api/search?pg=fypage&keyword=**', + searchable:2, + quickSearch:0, + filterable:1, + multi:1, + // 分类链接fypage参数支持1个()表达式 + url:'/category/data?optionRefresh=1&pageNo=fypage¶ms=fyfilter', + // url:'/category/data?pageNo=fypage¶ms=fyfilter', + // filter_url:'&u=fyarea&s=fyyear={{fl.order}}', + // filter_url:'{{fl|safe}}', + filter_url:'{{fl}}', + // filter_url:'{{fl}}', + // filter_url:'{{fl}}', + filter:{"电视剧": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地剧", "v": "中国内地"}, {"n": "港剧", "v": "中国香港"}, {"n": "台剧", "v": "中国台湾"}, {"n": "韩剧", "v": "韩国"}, {"n": "美剧", "v": "美国"}, {"n": "英剧", "v": "英国"}, {"n": "日剧", "v": "日本"}, {"n": "泰剧", "v": "泰国"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "青春", "v": "青春"}, {"n": "古装", "v": "古装"}, {"n": "爱情", "v": "爱情"}, {"n": "都市", "v": "都市"}, {"n": "喜剧", "v": "喜剧,搞笑"}, {"n": "战争", "v": "战争"}, {"n": "军旅", "v": "军旅"}, {"n": "谍战", "v": "谍战"}, {"n": "偶像", "v": "偶像"}, {"n": "警匪", "v": "警匪"}, {"n": "冒险", "v": "冒险"}, {"n": "穿越", "v": "穿越"}, {"n": "仙侠", "v": "仙侠"}, {"n": "武侠", "v": "武侠"}, {"n": "悬疑", "v": "悬疑"}, {"n": "罪案", "v": "罪案"}, {"n": "家庭", "v": "家庭"}, {"n": "历史", "v": "历史"}, {"n": "年代", "v": "年代"}, {"n": "农村", "v": "农村"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "status", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "全网独播", "v": "1"}, {"n": "优酷自制", "v": "2"}, {"n": "已完结", "v": "3"}, {"n": "即将上线", "v": "4"}, {"n": "短剧", "v": "5"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "VIP", "v": "2"}, {"n": "付费", "v": "1"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "热度最高", "v": "7"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多播放", "v": "2"}]}], "电影": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "中国香港", "v": "中国香港"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "美国", "v": "美国"}, {"n": "印度", "v": "印度"}, {"n": "日韩", "v": "韩国,日本"}, {"n": "泰国", "v": "泰国"}, {"n": "欧洲", "v": "欧洲"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "喜剧", "v": "喜剧,搞笑"}, {"n": "动作", "v": "动作"}, {"n": "怪兽", "v": "怪兽"}, {"n": "战争", "v": "战争"}, {"n": "爱情", "v": "爱情"}, {"n": "悬疑", "v": "悬疑"}, {"n": "武侠", "v": "武侠"}, {"n": "奇幻", "v": "奇幻"}, {"n": "科幻", "v": "科幻"}, {"n": "冒险", "v": "冒险"}, {"n": "警匪", "v": "警匪"}, {"n": "动画", "v": "动画"}, {"n": "惊悚", "v": "惊悚"}, {"n": "犯罪", "v": "犯罪"}, {"n": "恐怖", "v": "恐怖"}, {"n": "剧情", "v": "剧情"}, {"n": "历史", "v": "历史"}, {"n": "纪录片", "v": "纪录片"}, {"n": "传记", "v": "传记"}, {"n": "歌舞", "v": "歌舞"}, {"n": "短片", "v": "短片"}, {"n": "其他", "v": "其他"}]}, {"key": "source", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "院线", "v": "1"}, {"n": "网络电影", "v": "0"}, {"n": "独播", "v": "2"}, {"n": "高清修复", "v": "3"}, {"n": "1080P", "v": "4"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2010", "v": "2010-2014"}, {"n": "2009-2000", "v": "2000-2009"}, {"n": "90年代", "v": "1990-1999"}, {"n": "80年代", "v": "1980-1989"}, {"n": "70年代", "v": "1970-1979"}, {"n": "更早", "v": "-1969"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}, {"n": "点播", "v": "1"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "热度最高", "v": "7"}, {"n": "最多播放", "v": "2"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "高分必看", "v": "高分必看"}, {"n": "卖座电影", "v": "卖座电影"}, {"n": "小说改编", "v": "小说改编"}, {"n": "铁血硬汉", "v": "铁血硬汉"}, {"n": "视效大片", "v": "视效大片"}, {"n": "漫画改编", "v": "漫画改编"}, {"n": "绝地求生", "v": "绝地求生"}, {"n": "真人真事改编", "v": "真人真事改编"}, {"n": "范伟", "v": "范伟"}, {"n": "火爆枪战", "v": "火爆枪战"}, {"n": "影史经典", "v": "影史经典"}, {"n": "拯救世界", "v": "拯救世界"}, {"n": "万茜", "v": "万茜"}, {"n": "马思纯", "v": "马思纯"}, {"n": "王俊凯", "v": "王俊凯"}, {"n": "豪华阵容", "v": "豪华阵容"}, {"n": "李玉", "v": "李玉"}, {"n": "无厘头喜剧", "v": "无厘头喜剧"}, {"n": "超能力", "v": "超能力"}, {"n": "欢喜搭档", "v": "欢喜搭档"}]}], "综艺": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "美国", "v": "美国"}, {"n": "英国", "v": "英国"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "偶像", "v": "偶像"}, {"n": "舞蹈", "v": "舞蹈"}, {"n": "音乐", "v": "音乐"}, {"n": "情感", "v": "情感"}, {"n": "喜剧", "v": "喜剧,搞笑"}, {"n": "体育", "v": "体育"}, {"n": "游戏", "v": "游戏"}, {"n": "相声", "v": "相声"}, {"n": "婚恋", "v": "婚恋"}, {"n": "时尚", "v": "时尚"}, {"n": "晚会", "v": "晚会"}, {"n": "明星访谈", "v": "明星访谈"}, {"n": "亲子", "v": "亲子"}, {"n": "生活", "v": "生活"}, {"n": "文化", "v": "文化"}, {"n": "美食", "v": "美食"}, {"n": "旅游", "v": "旅游"}, {"n": "益智", "v": "益智"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "status", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "优酷自制", "v": "2"}, {"n": "优酷独播", "v": "1"}, {"n": "电视综艺", "v": "6"}, {"n": "已完结", "v": "3"}, {"n": "即将上线", "v": "4"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "VIP", "v": "2"}, {"n": "付费", "v": "1"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "最新更新", "v": "8"}, {"n": "最近开播", "v": "9"}, {"n": "最多评论", "v": "4"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "舞台竞演", "v": "舞台竞演"}, {"n": "刘雨昕", "v": "刘雨昕"}, {"n": "王一博", "v": "王一博"}, {"n": "韩庚", "v": "韩庚"}, {"n": "李承铉", "v": "李承铉"}, {"n": "户外竞技", "v": "户外竞技"}, {"n": "浙江卫视", "v": "浙江卫视"}, {"n": "东方卫视", "v": "东方卫视"}, {"n": "岳云鹏", "v": "岳云鹏"}, {"n": "王迅", "v": "王迅"}, {"n": "杨迪", "v": "杨迪"}, {"n": "杨超越", "v": "杨超越"}, {"n": "黄明昊", "v": "黄明昊"}, {"n": "郭京飞", "v": "郭京飞"}, {"n": "欧阳娜娜", "v": "欧阳娜娜"}, {"n": "德云社", "v": "德云社"}, {"n": "郑恺", "v": "郑恺"}, {"n": "华少", "v": "华少"}, {"n": "郭德纲", "v": "郭德纲"}, {"n": "贾玲", "v": "贾玲"}]}], "动漫": [{"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}, {"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "日本", "v": "日本"}, {"n": "美国", "v": "美国"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "其他", "v": "其他"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "热血", "v": "热血,战斗"}, {"n": "励志", "v": "励志"}, {"n": "玄幻", "v": "玄幻"}, {"n": "古风", "v": "历史,古风"}, {"n": "恋爱", "v": "恋爱"}, {"n": "青春", "v": "青春"}, {"n": "校园", "v": "校园"}, {"n": "运动", "v": "社团,运动"}, {"n": "科幻", "v": "科幻"}, {"n": "冒险", "v": "冒险"}, {"n": "魔法", "v": "魔法"}, {"n": "日常", "v": "日常"}, {"n": "治愈", "v": "治愈"}, {"n": "机战", "v": "机战"}, {"n": "推理", "v": "推理"}, {"n": "都市", "v": "都市"}, {"n": "小说改", "v": "小说改编"}, {"n": "游戏改", "v": "游戏改编"}, {"n": "漫画改", "v": "漫画改编"}, {"n": "动态漫", "v": "动态漫画"}, {"n": "特摄", "v": "特摄"}, {"n": "布袋戏", "v": "布袋戏"}]}, {"key": "completed", "name": "连载情况", "value": [{"n": "连载情况", "v": ""}, {"n": "更新中", "v": "0"}, {"n": "已完结", "v": "1"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "00年代", "v": "2000-2010"}, {"n": "更早", "v": "-1999"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "3D动画", "v": "3D动画"}, {"n": "搞笑日常", "v": "搞笑日常"}, {"n": "大男主", "v": "大男主"}, {"n": "高燃", "v": "高燃"}, {"n": "萌系", "v": "萌系"}, {"n": "修真", "v": "修真"}, {"n": "怀旧", "v": "怀旧"}, {"n": "超级英雄", "v": "超级英雄"}, {"n": "水树奈奈", "v": "水树奈奈"}, {"n": "张杰", "v": "张杰"}, {"n": "石田彰", "v": "石田彰"}, {"n": "守护地球", "v": "守护地球"}, {"n": "圆谷", "v": "圆谷"}, {"n": "山新", "v": "山新"}, {"n": "复仇", "v": "复仇"}, {"n": "废柴逆袭", "v": "废柴逆袭"}, {"n": "侦探", "v": "侦探"}, {"n": "无厘头", "v": "无厘头"}, {"n": "青山刚昌", "v": "青山刚昌"}, {"n": "悬疑", "v": "悬疑"}]}], "少儿": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "中国", "v": "中国,香港,台湾"}, {"n": "美国", "v": "美国"}, {"n": "英国", "v": "英国"}, {"n": "其他国家", "v": "其他"}]}, {"key": "show_label_type", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "动画", "v": "动画"}, {"n": "儿歌", "v": "儿歌"}, {"n": "玩具", "v": "玩具"}, {"n": "动画电影", "v": "电影"}, {"n": "绘本故事", "v": "绘本故事"}, {"n": "真人", "v": "真人"}, {"n": "少儿综艺", "v": "少儿综艺"}, {"n": "亲子", "v": "亲子"}, {"n": "探索纪实", "v": "探索纪实"}, {"n": "音频", "v": "音频"}]}, {"key": "child_tags", "name": "全部分类", "value": [{"n": "全部分类", "v": ""}, {"n": "益智", "v": "益智"}, {"n": "冒险", "v": "冒险"}, {"n": "幽默", "v": "幽默"}, {"n": "机甲", "v": "机甲"}, {"n": "公主魔法", "v": "公主,魔法"}, {"n": "交通工具", "v": "交通工具"}, {"n": "恐龙", "v": "恐龙"}, {"n": "动物", "v": "动物"}, {"n": "励志", "v": "励志"}, {"n": "友情", "v": "友情"}, {"n": "战斗", "v": "战斗"}, {"n": "校园", "v": "校园"}, {"n": "正义", "v": "正义"}, {"n": "热血", "v": "热血"}, {"n": "科幻", "v": "科幻"}, {"n": "童话", "v": "童话"}, {"n": "运动", "v": "运动"}, {"n": "专注力", "v": "专注力"}, {"n": "创造力", "v": "创造力"}, {"n": "想象力", "v": "想象力"}, {"n": "科普", "v": "科普"}, {"n": "情商", "v": "情商"}, {"n": "思维逻辑", "v": "思维逻辑"}, {"n": "兴趣培养", "v": "兴趣培养"}, {"n": "语文", "v": "语文"}, {"n": "英语", "v": "英语"}, {"n": "数学", "v": "数学"}, {"n": "课程辅导", "v": "课程辅导"}]}, {"key": "age", "name": "全部年龄", "value": [{"n": "全部年龄", "v": ""}, {"n": "0-2岁", "v": "0-2"}, {"n": "3-4岁", "v": "3-4"}, {"n": "5-6岁", "v": "5-6"}, {"n": "7岁以上", "v": "7-"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "付费", "v": "1"}, {"n": "VIP", "v": "2"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最新上线", "v": "1"}, {"n": "最多播放", "v": "2"}, {"n": "最多评论", "v": "4"}, {"n": "最多收藏", "v": "5"}]}], "纪录片": [{"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "美食", "v": "美食"}, {"n": "自然", "v": "自然"}, {"n": "历史", "v": "历史"}, {"n": "探险", "v": "探险"}, {"n": "军事", "v": "军事"}, {"n": "人物", "v": "人物"}, {"n": "宇宙", "v": "宇宙"}, {"n": "刑侦", "v": "刑侦"}, {"n": "社会", "v": "社会"}, {"n": "科技", "v": "科技"}, {"n": "旅游", "v": "旅游"}]}, {"key": "company", "name": "全部出品", "value": [{"n": "全部出品", "v": ""}, {"n": "BBC", "v": "bbc,british"}, {"n": "央视", "v": "央视,中央电视台,cctv,中国广播电影电视节目交易中心"}, {"n": "国家地理", "v": "国家地理"}, {"n": "Love Nature", "v": "love nature"}, {"n": "LGI", "v": "looking"}, {"n": "A&E", "v": "ae"}, {"n": "OTF", "v": "fence"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "综合排序", "v": "0"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多收藏", "v": "5"}]}], "文化": [{"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "谈话", "v": "谈话"}, {"n": "脱口秀", "v": "脱口秀"}, {"n": "访谈", "v": "访谈"}, {"n": "讲座论坛", "v": "讲座论坛"}, {"n": "戏曲曲艺", "v": "戏曲,曲艺"}, {"n": "舞台剧", "v": "舞台剧"}, {"n": "文学", "v": "文学"}, {"n": "国学", "v": "国学"}, {"n": "艺术", "v": "艺术"}, {"n": "培训课程", "v": "培训课程"}, {"n": "有声书", "v": "有声书"}]}, {"key": "people", "name": "文化大咖", "value": [{"n": "文化大咖", "v": ""}, {"n": "窦文涛", "v": "窦文涛"}, {"n": "马未都", "v": "马未都"}, {"n": "白岩松", "v": "白岩松"}, {"n": "梅毅", "v": "梅毅"}, {"n": "陈鲁豫", "v": "陈鲁豫"}, {"n": "樊登", "v": "樊登"}, {"n": "罗振宇", "v": "罗振宇"}, {"n": "蒋方舟", "v": "蒋方舟"}, {"n": "其他", "v": "其他"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "综合排序", "v": "0"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多收藏", "v": "5"}]}], "亲子": [{"key": "qinzi_genre", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "孕产", "v": "孕产"}, {"n": "育儿知识", "v": "育儿知识,育儿达人,育儿专家,爸爸育儿,隔代育儿,育儿明星"}, {"n": "好物种草", "v": "母婴用品,测评,母婴用品种草"}, {"n": "美食", "v": "儿童美食,辅食,孕期饮食"}, {"n": "手工DIY", "v": "手工diy"}, {"n": "教育观念", "v": "教育观念"}, {"n": "亲子综艺", "v": "亲子综艺"}, {"n": "亲子互动", "v": "亲子旅游,亲子游戏,亲子阅读,玩具,早教,启蒙"}, {"n": "萌娃", "v": "萌娃"}, {"n": "搞笑", "v": "搞笑"}, {"n": "美妆", "v": "美妆"}]}, {"key": "pregnancy_stage", "name": "全部阶段", "value": [{"n": "全部阶段", "v": ""}, {"n": "备孕", "v": "备孕"}, {"n": "孕早期", "v": "孕早"}, {"n": "孕中期", "v": "孕中"}, {"n": "孕晚期", "v": "孕晚"}]}, {"key": "show_label_baby_age", "name": "全部分龄", "value": [{"n": "全部分龄", "v": ""}, {"n": "0-1岁", "v": "0-1"}, {"n": "1-3岁", "v": "1-3"}, {"n": "3-6岁", "v": "3-6"}, {"n": "6岁+", "v": "6-"}]}, {"key": "pay_type", "name": "全部", "value": [{"n": "全部", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员免费", "v": "2"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "综合排序", "v": "0"}, {"n": "最新上线", "v": "1"}, {"n": "最多播放", "v": "2"}, {"n": "最多评论", "v": "3"}, {"n": "最多收藏", "v": "5"}]}], "教育": [{"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "公开课", "v": "公开课"}, {"n": "名人名嘴", "v": "名人名嘴"}, {"n": "文化", "v": "文化"}, {"n": "艺术", "v": "艺术"}, {"n": "伦理社会", "v": "伦理社会"}, {"n": "理工", "v": "理工"}, {"n": "历史", "v": "历史"}, {"n": "心理学", "v": "心理学"}, {"n": "经济", "v": "经济"}, {"n": "管理学", "v": "管理学"}, {"n": "外语", "v": "外语"}, {"n": "法律", "v": "法律"}, {"n": "计算机", "v": "计算机"}, {"n": "哲学", "v": "哲学"}, {"n": "职业培训", "v": "职业培训"}, {"n": "家庭教育", "v": "家庭教育"}]}, {"key": "company", "name": "全部出品", "value": [{"n": "全部出品", "v": ""}, {"n": "TED", "v": "ted"}, {"n": "耶鲁大学", "v": "耶鲁大学"}, {"n": "哈佛大学", "v": "哈佛大学"}, {"n": "斯坦福大学", "v": "斯坦福大学"}, {"n": "麻省理工学院", "v": "麻省理工学院"}]}, {"key": "pay_type", "name": "全部节目", "value": [{"n": "全部节目", "v": ""}, {"n": "免费", "v": "0"}, {"n": "付费", "v": "1"}, {"n": "VIP", "v": "2"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最多收藏", "v": "5"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "搞笑": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "免费", "v": "5"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "生活": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "VIP", "v": "4"}, {"n": "免费", "v": "5"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "体育": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "VIP", "v": "4"}, {"n": "免费", "v": "5"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "篮球", "v": "篮球"}, {"n": "足球", "v": "足球"}, {"n": "台球", "v": "台球"}, {"n": "CBA", "v": "CBA"}, {"n": "钓鱼", "v": "钓鱼"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "音乐": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "免费", "v": "5"}]}, {"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "中国", "v": "中国"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "中国香港", "v": "中国香港"}, {"n": "美国", "v": "美国"}, {"n": "其他", "v": "其他"}]}, {"key": "music_show_type", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "演唱会", "v": "演唱会"}, {"n": "live现场", "v": "live现场"}, {"n": "颁奖典礼", "v": "颁奖典礼"}, {"n": "舞蹈", "v": "舞蹈"}, {"n": "影视原声", "v": "影视原声"}, {"n": "音乐达人", "v": "音乐达人"}, {"n": "音乐教学", "v": "音乐教学"}, {"n": "音乐纪录片", "v": "音乐纪录片"}, {"n": "音乐mv", "v": "音乐mv"}, {"n": "音乐自制", "v": "音乐自制"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "游戏": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "VIP", "v": "4"}, {"n": "免费", "v": "5"}]}, {"key": "game_brand", "name": "全部节目", "value": [{"n": "全部节目", "v": ""}, {"n": "王者荣耀", "v": "王者荣耀"}, {"n": "和平精英", "v": "和平精英"}, {"n": "绝地求生", "v": "绝地求生"}, {"n": "迷你世界", "v": "迷你世界"}, {"n": "我的世界", "v": "我的世界"}, {"n": "植物大战僵尸", "v": "植物大战僵尸"}, {"n": "方舟生存进化", "v": "方舟生存进化"}, {"n": "第五人格", "v": "第五人格"}, {"n": "猫和老鼠", "v": "猫和老鼠"}, {"n": "香肠派对", "v": "香肠派对"}, {"n": "穿越火线", "v": "穿越火线"}, {"n": "英雄联盟", "v": "英雄联盟"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "资讯", "v": "资讯"}, {"n": "解说", "v": "解说"}, {"n": "主播", "v": "主播"}, {"n": "沙盒", "v": "沙盒"}, {"n": "益智", "v": "益智"}, {"n": "生存", "v": "生存"}, {"n": "电子竞技", "v": "电子竞技"}, {"n": "单机主机", "v": "单机主机"}, {"n": "真人秀", "v": "真人秀"}, {"n": "动画", "v": "动画"}, {"n": "盘点", "v": "盘点"}, {"n": "游戏文化", "v": "游戏文化"}, {"n": "游戏节目", "v": "游戏节目"}, {"n": "评测", "v": "评测"}, {"n": "射击", "v": "射击"}, {"n": "策略", "v": "策略"}, {"n": "冒险", "v": "冒险"}, {"n": "即时战略", "v": "即时战略"}, {"n": "卡牌", "v": "卡牌"}, {"n": "角色扮演", "v": "角色>扮演"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}]}, + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + class_name:'电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + class_url:'电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + limit:20, + play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:print(input);fetch_params.headers["user-agent"]=MOBILE_UA;let html=request(input);let rurl=html.match(/window\\.open\\(\'(.*?)\',/)[1];rurl=urlDeal(rurl);input={parse:1,url:rurl};', + lazy:'js:input={parse:1,jx:1,url:input};', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:data.filterData.listData;title;img;subTitle;videoLink;summary', + 一级:'', + 一级:'js:let d=[];MY_FL.type=MY_CATE;let fl=stringify(MY_FL);fl=encodeUrl(fl);input=input.split("{")[0]+fl;if(MY_PAGE>1){let old_session=getItem("yk_session_"+MY_CATE,"{}");if(MY_PAGE===2){input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}else{input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}}let html=fetch(input,fetch_params);try{html=JSON.parse(html);let lists=html.data.filterData.listData;let session=html.data.filterData.session;session=stringify(session);if(session!==getItem("yk_session_"+MY_CATE,"{}")){setItem("yk_session_"+MY_CATE,session)}lists.forEach(function(it){let vid;if(it.videoLink.includes("id_")){vid=it.videoLink.split("id_")[1].split(".html")[0]}else{vid="msearch:"}d.push({title:it.title,img:it.img,desc:it.summary,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+vid,content:it.subTitle})})}catch(e){log("一级列表解析发生错误:"+e.message)}setResult(d);', + 二级:'', + 二级:'js:var d=[];VOD={vod_id:input};let html=request(input);let json=JSON.parse(html);if(/keyword/.test(input)){input="https://search.youku.com/api/search?appScene=show_episode&showIds="+json.pageComponentList[0].commonData.showId;json=JSON.parse(fetch(MY_URL,fetch_params))}let video_lists=json.serisesList;var name=json.sourceName;if(/优酷/.test(name)&&video_lists.length>0){let ourl="https://v.youku.com/v_show/id_"+video_lists[0].videoId+".html";let _img=video_lists[0].thumbUrl;let html=fetch(ourl,{headers:{Referer:"https://v.youku.com/","User-Agent":PC_UA}});let json=/__INITIAL_DATA__/.test(html)?html.split("window.__INITIAL_DATA__ =")[1].split(";")[0]:"{}";if(json==="{}"){log("触发了优酷人机验证");VOD.vod_remarks=ourl;VOD.vod_pic=_img;VOD.vod_name=video_lists[0].title.replace(/(\\d+)/g,"");VOD.vod_content="触发了优酷人机验证,本次未获取详情,但不影响播放("+ourl+")"}else{try{json=JSON.parse(json);let data=json.data.data;let data_extra=data.data.extra;let img=data_extra.showImgV;let model=json.data.model;let m=model.detail.data.nodes[0].nodes[0].nodes[0].data;let _type=m.showGenre;let _desc=m.updateInfo||m.subtitle;let JJ=m.desc;let _title=m.introTitle;VOD.vod_pic=img;VOD.vod_name=_title;VOD.vod_type=_type;VOD.vod_remarks=_desc;VOD.vod_content=JJ}catch(e){log("海报渲染发生错误:"+e.message);print(json);VOD.vod_remarks=name}}}if(!/优酷/.test(name)){VOD.vod_content="非自家播放源,暂无视频简介及海报";VOD.vod_remarks=name}function adhead(url){return urlencode(url)}if(typeof play_url==="undefined"){var play_url=""}play_url=play_url.replace("&play_url=","&type=json&play_url=");video_lists.forEach(function(it){let url="https://v.youku.com/v_show/id_"+it.videoId+".html";if(it.thumbUrl){d.push({desc:it.showVideoStage?it.showVideoStage.replace("期","集"):it.displayName,pic_url:it.thumbUrl,title:it.title,url:play_url+adhead(url)})}else if(name!=="优酷"){d.push({title:it.displayName?it.displayName:it.title,url:play_url+adhead(it.url)})}});VOD.vod_play_from=name;VOD.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");', + 搜索:'', + 搜索:'js:var d=[];let html=request(input);let json=JSON.parse(html);json.pageComponentList.forEach(function(it){if(it.hasOwnProperty("commonData")){it=it.commonData;d.push({title:it.titleDTO.displayName,img:it.posterDTO.vThumbUrl,desc:it.stripeBottom,content:it.updateNotice+" "+it.feature,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+it.showId+"&appCaller=h5"})}});setResult(d);', +} \ No newline at end of file diff --git a/TVBox_JS/兔小贝.js b/TVBox_JS/兔小贝.js new file mode 100644 index 0000000..905d963 --- /dev/null +++ b/TVBox_JS/兔小贝.js @@ -0,0 +1,26 @@ +var rule = { + title:'兔小贝', + host:'https://www.tuxiaobei.com', + homeUrl:'', + url:'/list/mip-data?typeId=fyclass&page=fypage&callback=', + detailUrl:'/play/fyid', + searchUrl:'/search/index?key=**', + searchable:2, + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_url:'2&3&4&25', + class_name:'儿歌&故事&国学&启蒙', + //class_name:'#page-viewport&&ul&&li;.text&&Text;a&&href;/(.*)', + cate_exclude:'应用', + 推荐:'.pic-list.list-box;.items;.text&&Text;mip-img&&src;.all&&Text;a&&href', + double:true, + limit:5, + play_parse:true, + lazy:'js:fetch_params.headers["user-agent"] = IOS_UA;let html=fetch(input,fetch_params);let src = jsp.pdfh(html,"body&&#videoWrap&&video-src");input=src;', + // 一级:'json:data.items;name;image;collect_num;category_id+video_id', + 一级:'json:data.items;name;image;duration_string;video_id', + 二级:'*', + 搜索:'.list-con&&.items;.text&&Text;mip-img&&src;.time&&Text;a&&href', +} \ No newline at end of file diff --git a/TVBox_JS/兔小贝_儿童.js b/TVBox_JS/兔小贝_儿童.js new file mode 100644 index 0000000..bbd337d --- /dev/null +++ b/TVBox_JS/兔小贝_儿童.js @@ -0,0 +1,62 @@ +import './dayjs.min.js' +import './uri.min.js'; +import './crypto-js.js' + +let rule = { + title:'兔小贝', + host:'https://www.tuxiaobei.com', + homeUrl:'', + url:'/list/mip-data?typeId=fyclass&page=fypage&callback=', + detailUrl:'/play/fyid', + searchUrl:'/search/index?key=**', + searchable:2, + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_url:'2&3&4&25', + class_name:'儿歌&故事&国学&启蒙', + //class_name:'#page-viewport&&ul&&li;.text&&Text;a&&href;/(.*)', + cate_exclude:'应用', + 推荐:'.pic-list.list-box;.items;.text&&Text;mip-img&&src;.all&&Text;a&&href', + double:true, + limit:5, + play_parse:true, + lazy:'js:fetch_params.headers["user-agent"] = IOS_UA;let html=fetch(input,fetch_params);let src = jsp.pdfh(html,"body&&#videoWrap&&video-src");input=src;', + // 一级:'json:data.items;name;image;collect_num;category_id+video_id', + 一级:'json:data.items;name;image;duration_string;video_id', + 二级:'*', + 搜索:'.list-con&&.items;.text&&Text;mip-img&&src;.time&&Text;a&&href', +} + +function init(ext) { +} + +function home(filter) { + ... 算了 +} + +function homeVod(params) { +} + +function category(tid, pg, filter, extend) { +} + +function detail(id) { +} + +function play(flag, id, flags) { +} + +function search(wd, quick) { +} + +export default { + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search +} \ No newline at end of file diff --git a/TVBox_JS/养端.js b/TVBox_JS/养端.js new file mode 100644 index 0000000..0ac167f --- /dev/null +++ b/TVBox_JS/养端.js @@ -0,0 +1,18 @@ +var rule = { + title:'养端', + host:'https://aaq48.com:33666', + homeUrl:'/home/index.html', + url:'/home/vodlist/38/fyclass-fypage.html', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + searchable:0, + quickSearch:0, + timeout:5000, + class_parse:'.menu&&dl&ⅆa&&Text;a&&href;.*/(.*?)-', + limit:5, + play_parse:true, + lazy:'', + 一级:'.channel-list&&dl;h3&&Text;img&&data-original;font&&Text;a&&href', + 二级:'*', +} \ No newline at end of file diff --git a/TVBox_JS/凌云影视.js b/TVBox_JS/凌云影视.js new file mode 100644 index 0000000..21a6139 --- /dev/null +++ b/TVBox_JS/凌云影视.js @@ -0,0 +1,6 @@ +var rule = Object.assign(muban.短视,{ + title:'凌云影视', + host:'https://www.lingyun.in', +url:'/channel/fyclass-fypage.html', +searchUrl:'/search.html?wd=**', +}); \ No newline at end of file diff --git a/TVBox_JS/剧白白.js b/TVBox_JS/剧白白.js new file mode 100644 index 0000000..3ffef4f --- /dev/null +++ b/TVBox_JS/剧白白.js @@ -0,0 +1,7 @@ +var rule = Object.assign(muban.首图2,{ +title:'剧白白', +host:'https://jubaibai.cc', +url:'/vodshow/id/fyclass/page/fypage.html', +searchUrl:'/vodsearch**/page/fypage.html', +class_parse:'.stui-header__menu li:gt(0):lt(6);a&&Text;a&&href;/(.*?).html', +}); \ No newline at end of file diff --git a/TVBox_JS/剧荒.js b/TVBox_JS/剧荒.js new file mode 100644 index 0000000..7272b82 --- /dev/null +++ b/TVBox_JS/剧荒.js @@ -0,0 +1,27 @@ +var rule = { + title:'剧荒', + host:'https://www.juhuang.tv', + // homeUrl:'/', + url:'/type/fyclass_type_fypage.html', + searchUrl:'/s/**/fypage.html', + searchable:1, + quickSearch:1, + headers:{ + 'User-Agent':'UC_UA' + }, + timeout:5000, + class_name:'电视剧&电影&综艺&动漫',//静态分类名称拼接 + class_url:'2&1&3&4',//静态分类标识拼接 + //class_parse:'.drop-content-items li:gt(0):lt(7);.grid-item-name&&Text;a&&href', + play_parse:true, + lazy:'', + limit:5, + 推荐:'#movie-list-body;.movie-list-item;a&&title;.lazyloaded&&data-src;.module-item-text&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + + 一级:'.module-item-pic&&a;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + + + 二级:{"title":"h1.movie-title&&Text;.data:eq(1)&&Text","img":".poster img&&src","desc":".cr3.starLink&&Text","content":".detailsTxt&&Text","tabs":".play_source_tab a","lists":".content_playlist:eq(#id) a"}, + 搜索:'.vod-search-list;.movie-title&&Text;.Lazy&&data-original;.getop&&Text;a&&href;.getop:eq(-1)&&Text', +} \ No newline at end of file diff --git a/TVBox_JS/剧迷.js b/TVBox_JS/剧迷.js new file mode 100644 index 0000000..e9e219b --- /dev/null +++ b/TVBox_JS/剧迷.js @@ -0,0 +1,11 @@ +muban.首图.二级.tabs = '.myui-panel__head.bottom-line h3'; +var rule = Object.assign(muban.首图,{ +title:'剧迷', +host:'https://gmtv1.xyz', +url:'/genre/fyclass---fypage.html', +searchUrl:'/search/-------------.html?wd=*&submit=', +class_name:'电视剧&电影&综艺&动漫',//静态分类名称拼接 +class_url:'2&1&3&4',//静态分类标识拼接 +class_parse:'', +一级:'.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', +}); diff --git a/TVBox_JS/厂长资源.js b/TVBox_JS/厂长资源.js new file mode 100644 index 0000000..5e1de58 --- /dev/null +++ b/TVBox_JS/厂长资源.js @@ -0,0 +1,24 @@ +var rule={ + title:'厂长资源', + host:'https://www.czspp.com', + url:'/fyclass/page/fypage', + searchUrl:'/xssearch?q=**&f=_all&p=fypage', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{ + 'User-Agent':'UC_UA', + }, + // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', + //class_parse:'.top_nav&&ul li:gt(0):lt(25);a&&Text;a&&href;.*/(.*?).html', + class_name:'dbtop250&最新电影&电视剧&国产剧&美剧&韩剧&番剧&动漫', + class_url:'dbtop250&zuixindianying&dsj&gcj&meijutt&hanjutv&fanju&dm', + play_parse:true, + lazy:'', + limit:6, + 推荐:'.bt_img&&ul&&li;h3&&Text;img&&data-original;.jidi&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.bt_img&&ul&&li;h3&&Text;img&&data-original;.jidi&&Text;a&&href', + 二级:{"title":"h1&&Text;.moviedteail_list li:eq(0)&&Text","img":".dyimg.fl .vodlist_thumb&&data-original","desc":".content_detail.content_min.fl li:eq(0)&&Text;.content_detail.content_min.fl li:eq(2)&&Text;.content_detail.content_min.fl li:eq(3)&&Text","content":".yp_context","tabs":".ypxingq_t;span","lists":".paly_list_btn:eq(#id) a"}, + 搜索:'.bt_img&&ul&&li;h3&&Text;img&&data-original;.jidi&&Text;a&&href', +} diff --git a/TVBox_JS/厂长资源1.js b/TVBox_JS/厂长资源1.js new file mode 100644 index 0000000..0cf196d --- /dev/null +++ b/TVBox_JS/厂长资源1.js @@ -0,0 +1,21 @@ +var rule={ + title:'厂长资源', + host:'https://www.c-zzy.com', + //host:'WWW.CZZY.TV', + url:'/fyclass/page/fypage', + searchUrl:'/xssearch?q=**&f=_all&p=fypage', + searchable:2,//是否启用全局搜索, + quickSearch:1,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{'User-Agent':'UC_UA', }, + play_parse:true, + lazy:'', + limit:6, + class_name:'豆瓣电影Top250&最新电影&电视剧&国产剧&美剧&韩剧&番剧&动漫', + class_url:'dbtop250&zuixindianying&dsj&gcj&meijutt&hanjutv&fanju&dm', + 推荐:'.bt_img;ul&&li;*;*;*;*', + double:true, + 一级:'.bt_img&&ul&&li;h3.dytit&&Text;img.lazy&&data-original;.jidi&&Text;a&&href', + 二级:{"title":"h1&&Text;.moviedteail_list li&&a&&Text","img":"div.dyimg img&&src","desc":".moviedteail_list li:eq(3) a&&Text;.moviedteail_list li:eq(2) a&&Text;.moviedteail_list li:eq(1) a&&Text;.moviedteail_list li:eq(7) a&&Text;.moviedteail_list li:eq(5) a&&Text","content":".yp_context&&Text","tabs":".mi_paly_box&&span","lists":".paly_list_btn:eq(#id) a"}, + 搜索:'.search_list&&ul&&li;*;*;*;*', +} diff --git a/TVBox_JS/听书网.js b/TVBox_JS/听书网.js new file mode 100644 index 0000000..05d1a00 --- /dev/null +++ b/TVBox_JS/听书网.js @@ -0,0 +1,27 @@ +var rule = { + title:'听书网', + host:'https://www.tingbook.cc', + // url:'/book/fyclass_fypage.html', + url:'/book/fyclass-fypage.html', + searchUrl:'/search.php?page=fypage&searchword=**&searchtype=-1', + searchable:2, + quickSearch:0, + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + // class_name:'玄幻&武侠&都市&言情&科幻&推理&恐怖&惊悚&历史&军事&网游&官商&评书&相声&文学&儿童&穿越&娱乐&笑话&戏曲&其它&百家讲坛', + // class_url:'1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&28&29&30&31&32&33', + class_parse:'.nav li;a&&Text;a&&href;/book/(\\d+).html', + play_parse:true, + lazy:'', + limit:6, + double:true, + // 推荐:'.row2;ul&&li;.f-bold&&Text;.img-box&&img;.f-gray&&Text;a&&href', + 推荐:'.row2;ul&&li;.f-bold&&Text;.img-box img&&src;.f-gray&&Text;a&&href', + // 一级:'.row3&&li;.f-bold&&Text;img-box&&img;.f-gray&&Text;a&&href', + 一级:'.row3&&li;.f-bold&&Text;.img-box img&&src;.f-gray&&Text;a&&href', + // 二级:{title:'h2&&Text',img:'.img-box&&img',desc:'section&&p:eq(1)&&Text',content:'section&&p:eq(2)&&Text',tabs:'#yuedu&&h2',lists:'#yuedu:eq(#id)&&ul&&li'}, + 二级:{title:'h2&&Text',img:'.img-box img&&src',desc:'section&&p:eq(1)&&Text',content:'section&&p:eq(2)&&Text',tabs:'#yuedu&&h2',lists:'#yuedu:eq(#id)&&ul&&li'}, + 搜索:'*', +} \ No newline at end of file diff --git a/TVBox_JS/吸瓜.js b/TVBox_JS/吸瓜.js new file mode 100644 index 0000000..fe30606 --- /dev/null +++ b/TVBox_JS/吸瓜.js @@ -0,0 +1,21 @@ +var rule = { + title:'吸瓜', + host:'https://xgsp.tv', + // homeUrl:'', + url:'/list/?fyclass-fypage.html', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + searchable:0, + quickSearch:0, + timeout:5000, + class_parse:'.wap-roll&&li;a&&Text;a&&href;(\\d+).html', + cate_exclude:'独家', + limit:5, + play_parse:true, + lazy:'js:let html=request(input);let a=html.match(/var now="(.*?)"/)[1];input=a', + 推荐:'ul.row.row-space7.row-m-space7.tx-column-5.tx-column-m-2;li;a&&title;img&&src;.ico-right&&Text;a&&href', + double:true, + 一级:'.tx-column-m-2.mb20&&li;h2&&Text;img&&src;.ico-right&&Text;a&&href', + 二级:'*', +} \ No newline at end of file diff --git a/TVBox_JS/喵喵.js b/TVBox_JS/喵喵.js new file mode 100644 index 0000000..c049ba8 --- /dev/null +++ b/TVBox_JS/喵喵.js @@ -0,0 +1,22 @@ +var rule = { + title:'喵喵', + host:'https://www.2345ka.com', + // homeUrl:'/', + url:'/t/fyclass/fypage.html', + searchUrl:'/s/**/fypage.html', + searchable:2, + quickSearch:0, + headers:{ + 'User-Agent':'UC_UA' + }, + timeout:5000, + class_parse:'.bm-item-list a:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + play_parse:true, + lazy:'', + limit:5, + 推荐:'.movie-list-body;.movie-list-item;.movie-title&&Text;.movie-post-lazyload&&data-original;.movie-rating&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.movie-list-body .movie-list-item;.movie-title&&Text;.Lazy&&data-original;.movie-rating&&Text;a&&href', + 二级:{"title":"h1.movie-title&&Text;.data:eq(1)&&Text","img":".poster img&&src","desc":".cr3.starLink&&Text","content":".detailsTxt&&Text","tabs":".play_source_tab a","lists":".content_playlist:eq(#id) a"}, + 搜索:'.vod-search-list;.movie-title&&Text;.Lazy&&data-original;.getop&&Text;a&&href;.getop:eq(-1)&&Text', +} \ No newline at end of file diff --git a/TVBox_JS/在线之家.js b/TVBox_JS/在线之家.js new file mode 100644 index 0000000..231e21d --- /dev/null +++ b/TVBox_JS/在线之家.js @@ -0,0 +1,4 @@ +var rule = Object.assign(muban.首图2,{ +title:'在线之家', +host:'https://zxzj.vip', +}); \ No newline at end of file diff --git a/TVBox_JS/夜空.js b/TVBox_JS/夜空.js new file mode 100644 index 0000000..155b26c --- /dev/null +++ b/TVBox_JS/夜空.js @@ -0,0 +1,7 @@ +var rule = Object.assign(muban.mxpro,{ +title:'夜空', +host:'https://www.yekong.cc', +url:'/pianku-fyclass--------fypage---/', +searchUrl:'/search-**----------fypage---/', +class_parse:'.navbar-items li:gt(1):lt(7);a&&Text;a&&href;.*v/(.*?)/', +}); \ No newline at end of file diff --git a/TVBox_JS/大师兄影视.js b/TVBox_JS/大师兄影视.js new file mode 100644 index 0000000..b35a7c4 --- /dev/null +++ b/TVBox_JS/大师兄影视.js @@ -0,0 +1,7 @@ +var rule = Object.assign(muban.mxpro,{ +title:'大师兄影视.', +host:'https://dsxys.com', +url:'/vodshow/fyclass--------fypage---.html', +searchUrl:'/search-**----------fypage---/', +class_parse:'.navbar-items.swiper-wrapper li;a&&title;a&&href;/(\\d+).html', +}); diff --git a/TVBox_JS/大米星球.js b/TVBox_JS/大米星球.js new file mode 100644 index 0000000..773ceef --- /dev/null +++ b/TVBox_JS/大米星球.js @@ -0,0 +1,10 @@ +muban.mxpro.二级.img = '.lazyload&&src'; +var rule = Object.assign(muban.mxpro,{ +title:'大米星球', +host:'https://www.dmxq.fun', +url:'/vodshow/fyclass--------fypage---/pjax/YES.html', +searchUrl:'/vodsearch/**----------fypage---/pjax/NO.html', +class_parse:'li.swiper-slide.navbar-item;span&&Text;a&&href;/(\\d+).html', + 一级:'a.module-poster-item.module-item;a&&title;.lazyload&&src;.module-item-note&&Text;a&&href', + 推荐:'.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&src;.module-item-note&&Text;a&&href', +}); \ No newline at end of file diff --git a/TVBox_JS/天空影视.js b/TVBox_JS/天空影视.js new file mode 100644 index 0000000..e000e8e --- /dev/null +++ b/TVBox_JS/天空影视.js @@ -0,0 +1,9 @@ +var rule = Object.assign(muban.首图,{ +title:'天空影视', +host:'https://www.tkys6.com', +url:'/vodshow/id/fyclass/page/fypage.html', +searchUrl:'/search/-------------.html?wd=*&submit=', +//class_name:'电视剧&电影&综艺&动漫&blbl',//静态分类名称拼接 +//class_url:'2&1&3&4&29',//静态分类标识拼接 +class_parse:'.myui-header__menu li.hidden-sm:gt(0):lt(8);a&&Text;a&&href;/(\\d+).html', +}); diff --git a/TVBox_JS/奇优影院.js b/TVBox_JS/奇优影院.js new file mode 100644 index 0000000..208b6b0 --- /dev/null +++ b/TVBox_JS/奇优影院.js @@ -0,0 +1,13 @@ +muban.首图2.二级.title = '.stui-content__detail&&h1&&Text;.stui-content__detail&&p:eq(0)&&Text'; +muban.首图2.二级.tabs = '.stui-pannel__head a'; +muban.首图2.二级.lists = '.stui-content__playlist:eq(#id) li'; +muban.首图2.二级.desc = '.stui-content__detail&&p:eq(1)&&Text;.stui-content__detail&&p:eq(2)&&Text;.stui-content__detail&&p:eq(3)&&Text'; +muban.首图2.二级.content = '.stui-pannel_bd:eq(1)&&Text'; +var rule = Object.assign(muban.首图2,{ + title:'奇优影院', + host:'http://1e6e.com', + url:'/list/fyclass_fypage.html', + searchUrl:'/search.php;**', + 搜索:'js:let url=input.split(";")[0];let d=[];let body={searchword:input.split(";")[1]};fetch_params.body=body;let html=post(url,fetch_params);let pdfa=jsp.pdfa;let pdfh=jsp.pdfh;let pd=jsp.pd;let lists=pdfa(html,"ul.stui-vodlist__media&&li");lists.forEach(function(it){d.push({title:pdfh(it,".title&&Text"),url:pd(it,"a&&href"),desc:pdfh(html,".pic-text&&Text"),pic_url:pd(html,".lazyload&&data-original")})});setResult(d);', +//搜索:'li.stui-vodlist__item;a&&title;a&&data-original;.pic-text&&Text;a&&href' +}); \ No newline at end of file diff --git a/TVBox_JS/奇珍异兽.js b/TVBox_JS/奇珍异兽.js new file mode 100644 index 0000000..f59aa5a --- /dev/null +++ b/TVBox_JS/奇珍异兽.js @@ -0,0 +1,39 @@ +var rule = { + title:'奇珍异兽', + host:'https://www.iqiyi.com', + homeUrl:'', + // detailUrl:'https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid=fyid&size=2000&page=1', + detailUrl:'https://pcw-api.iqiyi.com/video/video/videoinfowithuser/fyid?agent_type=1&authcookie=&subkey=fyid&subscribe=1', + searchUrl:'https://search.video.iqiyi.com/o?if=html5&key=**&pageNum=fypage&pos=1&pageSize=24&site=iqiyi', + searchable:2, + multi:1, + filterable:1, + filter:{'1': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '华语', 'v': 1}, {'n': '香港地区', 'v': 28997}, {'n': '美国', 'v': 2}, {'n': '欧洲', 'v': 3}, {'n': '韩国', 'v': 4}, {'n': '日本', 'v': 308}, {'n': '泰国', 'v': 1115}, {'n': '印度', 'v': 28999}, {'n': '其它', 'v': 5}]}, {'key': '18001', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': 8}, {'n': '爱情', 'v': 6}, {'n': '动作', 'v': 11}, {'n': '枪战', 'v': 131}, {'n': '犯罪', 'v': 291}, {'n': '惊悚', 'v': 128}, {'n': '恐怖', 'v': 10}, {'n': '悬疑', 'v': 289}, {'n': '动画', 'v': 12}, {'n': '家庭', 'v': 27356}, {'n': '奇幻', 'v': 1284}, {'n': '魔幻', 'v': 129}, {'n': '科幻', 'v': 9}, {'n': '战争', 'v': 7}, {'n': '青春', 'v': 130}]}, {'key': '27396', 'name': '规格', 'value': [{'n': '全部', 'v': ''}, {'n': '巨制', 'v': 27397}, {'n': '院线', 'v': 27815}, {'n': '独播', 'v': 30149}, {'n': '网络电影', 'v': 27401}]}], '2': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 15}, {'n': '港剧', 'v': 16}, {'n': '韩剧', 'v': 17}, {'n': '美剧', 'v': 18}, {'n': '日剧', 'v': 309}, {'n': '泰剧', 'v': 1114}, {'n': '台湾地区', 'v': 1117}, {'n': '英剧', 'v': 28916}, {'n': '其它', 'v': 19}]}, {'key': '18003', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '自制', 'v': 11992}, {'n': '古装', 'v': 24}, {'n': '言情', 'v': 20}, {'n': '武侠', 'v': 23}, {'n': '偶像', 'v': 30}, {'n': '家庭', 'v': 1654}, {'n': '青春', 'v': 1653}, {'n': '都市', 'v': 24064}, {'n': '喜剧', 'v': 135}, {'n': '战争', 'v': 27916}, {'n': '军旅', 'v': 1655}, {'n': '谍战', 'v': 290}, {'n': '悬疑', 'v': 32}, {'n': '罪案', 'v': 149}, {'n': '穿越', 'v': 148}, {'n': '宫廷', 'v': 139}, {'n': '历史', 'v': 21}, {'n': '神话', 'v': 145}, {'n': '科幻', 'v': 34}, {'n': '年代', 'v': 27}, {'n': '农村', 'v': 29}, {'n': '商战', 'v': 140}, {'n': '剧情', 'v': 24063}, {'n': '奇幻', 'v': 27881}, {'n': '网剧', 'v': 24065}, {'n': '竖短片', 'v': 32839}]}], '3': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '国内', 'v': 20323}, {'n': '国外', 'v': 20324}]}, {'key': '18004', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '人文', 'v': 70}, {'n': '美食', 'v': 33908}, {'n': '医疗', 'v': 33924}, {'n': '自然', 'v': 33933}, {'n': '萌宠', 'v': 33945}, {'n': '财经', 'v': 33953}, {'n': '罪案', 'v': 33960}, {'n': '竞技', 'v': 33967}, {'n': '灾难', 'v': 33974}, {'n': '军事', 'v': 72}, {'n': '历史', 'v': 74}, {'n': '探险', 'v': 73}, {'n': '社会', 'v': 71}, {'n': '科技', 'v': 28119}, {'n': '旅游', 'v': 310}]}, {'key': '28467', 'name': '出品方', 'value': [{'n': '全部', 'v': ''}, {'n': 'BBC', 'v': 28468}, {'n': '美国历史频道', 'v': 28470}, {'n': '探索频道', 'v': 28471}, {'n': '央视记录', 'v': 28472}, {'n': '北京纪实频道', 'v': 28473}, {'n': '上海纪实频道', 'v': 28474}, {'n': '朗思文化', 'v': 28476}, {'n': 'CNEX', 'v': 28477}, {'n': '五星传奇', 'v': 28478}, {'n': 'IMG', 'v': 28479}, {'n': 'NHK', 'v': 28480}, {'n': '爱奇艺出品', 'v': 31283}, {'n': 'Netflix', 'v': 31286}]}, {'key': '29076', 'name': '片种', 'value': [{'n': '全部', 'v': ''}, {'n': '纪录电影', 'v': 29077}, {'n': '系列纪录片', 'v': 29078}, {'n': '网络纪录片', 'v': 29082}, {'n': '纪实栏目', 'v': 29083}]}, {'key': '31294', 'name': '时长', 'value': [{'n': '全部', 'v': ''}, {'n': '微纪录', 'v': 29079}, {'n': '长纪录', 'v': 29080}, {'n': '短纪录', 'v': 29081}]}], '4': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': 37}, {'n': '日本', 'v': 38}, {'n': '韩国', 'v': 1106}, {'n': '欧美', 'v': 30218}, {'n': '其它', 'v': 40}]}, {'key': '30219', 'name': '版本', 'value': [{'n': '全部', 'v': ''}, {'n': '动画', 'v': 30220}, {'n': '特摄', 'v': 30223}, {'n': '布袋戏', 'v': 30224}, {'n': '特别篇', 'v': 32782}, {'n': '动态漫画', 'v': 32783}, {'n': '动画电影', 'v': 32784}, {'n': '竖版视频', 'v': 32785}, {'n': '轻动画', 'v': 33482}, {'n': '短剧', 'v': 33483}]}, {'key': '30225', 'name': '风格', 'value': [{'n': '全部', 'v': ''}, {'n': '搞笑', 'v': 30230}, {'n': '热血', 'v': 30232}, {'n': '催泪', 'v': 30233}, {'n': '治愈', 'v': 30234}, {'n': '励志', 'v': 30237}, {'n': '机战', 'v': 30241}, {'n': '恋爱', 'v': 30243}, {'n': '科幻', 'v': 30245}, {'n': '奇幻', 'v': 30247}, {'n': '推理', 'v': 30248}, {'n': '校园', 'v': 30249}, {'n': '日常', 'v': 30252}, {'n': '历史', 'v': 30254}, {'n': '美食', 'v': 30255}, {'n': '职场', 'v': 30256}, {'n': '偶像', 'v': 30258}, {'n': '泡面', 'v': 30265}, {'n': '冒险', 'v': 30267}, {'n': '竞技', 'v': 30268}, {'n': '合家欢', 'v': 30270}, {'n': '武侠', 'v': 32792}, {'n': '玄幻', 'v': 32793}]}, {'key': '32795', 'name': '新类型', 'value': [{'n': '全部', 'v': ''}, {'n': '轻小说改编', 'v': 32796}, {'n': '漫画改编', 'v': 32797}, {'n': '游戏改编', 'v': 32798}, {'n': '原创', 'v': 32799}]}], '6': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 151}, {'n': '港台', 'v': 152}, {'n': '韩国', 'v': 33306}, {'n': '欧美', 'v': 154}, {'n': '其它', 'v': 1113}]}, {'key': '18014', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '播报', 'v': 155}, {'n': '访谈', 'v': 156}, {'n': '游戏', 'v': 158}, {'n': '晚会', 'v': 292}, {'n': '曲艺', 'v': 293}, {'n': '脱口秀', 'v': 2118}, {'n': '真人秀', 'v': 2224}, {'n': '竞技', 'v': 30278}, {'n': '爱奇艺出品', 'v': 30279}, {'n': '竞演', 'v': 33860}]}, {'key': '33162', 'name': '题材', 'value': [{'n': '全部', 'v': ''}, {'n': '音乐', 'v': 33163}, {'n': '舞蹈', 'v': 33172}, {'n': '文化', 'v': 33173}, {'n': '美食', 'v': 33182}, {'n': '伦理', 'v': 33184}, {'n': '相亲', 'v': 33193}, {'n': '纪实', 'v': 33195}, {'n': '生活', 'v': 33196}, {'n': '亲子', 'v': 33197}, {'n': '少儿', 'v': 33198}, {'n': '财经', 'v': 33199}, {'n': '健康', 'v': 33200}, {'n': '时尚', 'v': 33203}, {'n': '旅游', 'v': 33205}, {'n': '教育', 'v': 33206}, {'n': '其它', 'v': 33220}, {'n': '爱情', 'v': 33316}, {'n': '搞笑', 'v': 33317}, {'n': '益智', 'v': 33318}, {'n': '职场', 'v': 33319}, {'n': '语言', 'v': 33530}, {'n': '辩论', 'v': 33531}, {'n': '演讲', 'v': 33843}]}], '5': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 221}, {'n': '港台', 'v': 220}, {'n': '欧美', 'v': 219}, {'n': '日韩', 'v': 218}, {'n': '拉美', 'v': 217}, {'n': '亚洲地区', 'v': 216}, {'n': '非洲', 'v': 215}]}, {'key': '18009', 'name': '语种', 'value': [{'n': '全部', 'v': ''}, {'n': '普通话', 'v': 91}, {'n': '粤语', 'v': 92}, {'n': '闽南语', 'v': 93}, {'n': '英语', 'v': 94}, {'n': '日语', 'v': 95}, {'n': '韩语', 'v': 96}, {'n': '其它', 'v': 97}]}, {'key': '23554', 'name': '音乐类型', 'value': [{'n': '全部', 'v': ''}, {'n': '单曲MV', 'v': 23556}, {'n': '单曲现场', 'v': 23557}, {'n': '演唱会', 'v': 23558}, {'n': '新闻', 'v': 23559}, {'n': '访谈', 'v': 23560}, {'n': '音乐记录', 'v': 23561}, {'n': '音乐周边', 'v': 23562}, {'n': '音乐节目', 'v': 23563}, {'n': '影视原声', 'v': 23564}, {'n': '音乐短片', 'v': 23565}, {'n': '其他', 'v': 23566}]}], '16': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': '18061', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': 1296}, {'n': '爱情', 'v': 1297}, {'n': '动作', 'v': 1298}, {'n': '奇幻', 'v': 1299}, {'n': '惊悚', 'v': 1300}, {'n': '悬疑', 'v': 1301}, {'n': '青春', 'v': 1302}]}]}, + // url:'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&is_purchase=&mode=24&page_id=fypage&ret_num=48&three_category_id=', + url:'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&page_id=fypage&ret_num=48', + filter_url:'is_purchase={{fl.is_purchase}}&mode={{fl.mode}}&three_category_id={{fl.three_category_id}}&market_release_date_level={{fl.year}}', + // url:'https://pcw-api.iqiyi.com/search/video/videolists?channel_id=fyclass&pageNum=fypage&pageSize=24&data_type=1&site=iqiyi', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'电影&电视剧&纪录片&动漫&综艺&音乐&网络电影', + class_url:'1&2&3&4&6&5&16', + limit:20, + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:.data.list;.name;.imageUrl;.latestOrder;.albumId', + 推荐:'', + // 推荐:'js:let d=[];fetch_params.headers["user-agent"]=PC_UA;pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;let html=fetch(HOST,fetch_params);let lists=pdfa(html,".qy-mod-li");lists.forEach(function(it){try{let title=pdfh(it,"p.sub&&title");let desc=pdfh(it,".qy-mod-label&&Text");let pic_url=pd(it,"img&&src");d.push({title:title,desc:desc,img:pic_url})}catch(e){}});res=setResult(d);', + 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=request(input);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=fetch(input,fetch_params);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'json:.data.list;.name;.imageUrl;.playUrl;.latestOrder', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.name+data.subtitle;data.latestOrder","img":"data.imageUrl","desc":"data.categories;data.areas","content":"data.description","tabs":"data.name","lists":"data.playlinksdetail.#idv.default_url"}, + 二级:'', + 二级:'js:let d=[];let html=request(input);let json=JSON.parse(html).data;VOD={vod_id:"",vod_url:input,vod_name:"",type_name:"",vod_actor:"",vod_year:"",vod_director:"",vod_area:"",vod_content:"",vod_remarks:"",vod_pic:""};VOD.vod_name=json.name;try{if(json.latestOrder){VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+"\\n更新至:第"+json.latestOrder+"集(期)/共"+json.videoCount+"集(期)"}else{VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+json.period}}catch(e){VOD.vod_remarks=json.subtitle}VOD.vod_area=(json.focus||"")+"\\n资费:"+(json.payMark===1?"VIP":"免费")+"\\n地区:"+(json.areas||"");let vsize="579_772";try{vsize=json.imageSize[12]}catch(e){}VOD.vod_pic=json.imageUrl.replace(".jpg","_"+vsize+".jpg?caplist=jpg,webp");VOD.type_name=json.categories.map(function(it){return it.name}).join(",");if(json.people.main_charactor){let vod_actors=[];json.people.main_charactor.forEach(function(it){vod_actors.push(it.name)});VOD.vod_actor=vod_actors.join(",")}VOD.vod_content=json.description;let playlists=[];if(json.channelId===1||json.channelId===5){playlists=[{playUrl:json.playUrl,imageUrl:json.imageUrl,shortTitle:json.shortTitle,focus:json.focus,period:json.period}]}else{if(json.channelId===6){let qs=json.period.split("-")[0];let listUrl="https://pcw-api.iqiyi.com/album/source/svlistinfo?cid=6&sourceid="+json.albumId+"&timelist="+qs;let playData=JSON.parse(request(listUrl)).data[qs];playData.forEach(function(it){playlists.push({playUrl:it.playUrl,imageUrl:it.imageUrl,shortTitle:it.shortTitle,focus:it.focus,period:it.period})})}else{let listUrl="https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid="+json.albumId+"&size=200&page=1";let data=JSON.parse(request(listUrl)).data;let total=data.total;playlists=data.epsodelist;if(total>200){for(let i=2;i200){for(let i=2;i10){real_url="https://player.buyaotou.xyz/?url="+url;d.saveParse(input,real_url);input=real_url}}catch(e){print("网络请求发生错误:"+e.message)}}', + lazy:'js:cacheUrl=getParse(input);if(cacheUrl){input=cacheUrl}else{try{let html=fetch(input,fetch_params);let ret=html.match(/var player_(.*?)=(.*?)10){real_url="https://player.buyaotou.xyz/?url="+url;saveParse(input,real_url);input=real_url}}catch(e){print("网络请求发生错误:"+e.message)}}', + limit:5, + 推荐:'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'body .stui-vodlist__box;a&&title;.lazyload&&data-original;;a&&href', + 二级:{"title":"h1.title&&Text;.stui-content__detail p:eq(1)&&Text","img":".lazyload&&data-original","desc":".stui-content__detail p:eq(-3)&&Text;.stui-content__detail p:eq(-2)&&Text","content":".stui-content__detail p.detail&&Text","tabs":".stui-pannel__head ul li","lists":".stui-content__playlist:eq(#id) li"}, + // 搜索:'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', +} \ No newline at end of file diff --git a/TVBox_JS/库马伊.js b/TVBox_JS/库马伊.js new file mode 100644 index 0000000..147ddd3 --- /dev/null +++ b/TVBox_JS/库马伊.js @@ -0,0 +1,9 @@ +var rule = Object.assign(muban.首图2,{ +title:'库马伊', +host:'http://www.kmy5.com', +url:'/tv/fyclass-fypage.html', +searchUrl:'/search/**----------fypage---.html', +class_parse:'.stui-header__menu li:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', +搜索:'li.stui-vodlist__item;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', +二级:{"title":".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text","img":".stui-content__thumb .lazyload&&data-original","desc":".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text","content":".stui-content__desc&&Text","tabs":".stui-pannel__head h3","lists":".stui-content__playlist:eq(#id) li"}, +}); diff --git a/TVBox_JS/影视工厂.js b/TVBox_JS/影视工厂.js new file mode 100644 index 0000000..70cc7cd --- /dev/null +++ b/TVBox_JS/影视工厂.js @@ -0,0 +1,4 @@ +var rule = Object.assign(muban.首图,{ +title:'影视工厂', +host:'https://www.ysgc.cc', +}); \ No newline at end of file diff --git a/TVBox_JS/快云影院.js b/TVBox_JS/快云影院.js new file mode 100644 index 0000000..8f479c8 --- /dev/null +++ b/TVBox_JS/快云影院.js @@ -0,0 +1,24 @@ +var rule = { + title:'快云', + host:'https://kuaiyunyy.com', + // homeUrl:'/', + url:'/index.php/vod/show/id/fyclass/page/fypage.html', + //searchUrl:'/vodsearch/**----------fypage---.html', + searchable:0,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse:'.nav-menu-items&&li;a&&title;a&&href;/(\\d+).html', + cate_exclude:'直播|足球', + play_parse:true, + lazy:'', + limit:8, + 推荐:'.module-items;.module-item-cover&&.module-item-pic;a&&title;.lazyloaded&&data-src;.item-text&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.module-list&&.module-item-pic;a&&title;.lazyloaded&&data-src;.module-item-text&&Text;a&&href', + 二级:{"title":"h1.page-title&&Text;.video-info-aux&&Text","img":".lazyload&&data-src","content":".content.vod_content&&Text","tabs":".module-tab-item.tab-item","lists":".module-blocklist.scroll-box:eq(#id) a"}, + +} diff --git a/TVBox_JS/快看.js b/TVBox_JS/快看.js new file mode 100644 index 0000000..fcd778e --- /dev/null +++ b/TVBox_JS/快看.js @@ -0,0 +1,24 @@ +var rule={ + title:'快看', + host:'https://www.kuaikanys.net', + // homeUrl:'/', + url:'/s/fyclass/page/fypage.html', + searchUrl:'/vodsearch/-------------.html?wd=**&submit=', + searchable:2,//是否启用全局搜索, + quickSearch:1,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_name:'电影&连续剧&综艺&动漫&动作片&喜剧片&爱情片&科幻片&言情片&恐怖片&剧情片&战争片&国产剧&港台剧&日韩剧&欧美剧&其他剧', + class_url:'dianying&lianxuju&zongyi&dongman&dongzuopian&xijupian&aiqingpian&kehuanpian&yanqingpian&kongbupian&juqingpian&zhanzhengpian&guochanju&gangtaiju&rihanju&oumeiju&qitaju', + play_parse:true, + lazy:'', + limit:6, + 推荐:'.show;ul&&li;a&&title;img&&src;.person&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.show&&li;a&&title;img&&src;.person&&Text;a&&href', + 二级:{"title":"h1&&Text;.info&&ul&&p&&Text","img":"img&&src","desc":".info&&ul&&p:eq(-2)&&Text;.info&&ul&&p:eq(-1)&&Text;.info&&ul&&p:eq(0)&&Text;.info&&ul&&p:eq(1)&&Text;.info&&ul&&p:eq(2)&&Text;.info&&ul&&p:eq(3)&&Text","content":".text&&Text","tabs":".play&&span","lists":".playlist&&ul:eq(#id) li"}, + 搜索:'.show&&li;a&&title;img&&src;drpy&&Text;a&&href', +} \ No newline at end of file diff --git a/TVBox_JS/抓饭体育.js b/TVBox_JS/抓饭体育.js new file mode 100644 index 0000000..ea8785b --- /dev/null +++ b/TVBox_JS/抓饭体育.js @@ -0,0 +1,29 @@ +// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py +// drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md +// Pluto Player官方TG https://t.me/PlutoPlayer +// Pluto Player官方TG https://t.me/PlutoPlayerChannel + +var rule = { + title:'抓饭体育', + host:'https://www.zhuafan.tech', + url:'/sports-home/category/fyclass', + class_name:'全部&足球&篮球&羽乒&台球&棒球&户外&搏击&综合&棋盘&电竞&网球&排球&聊天&原声', + class_url:'all&Football&Basketball&Badminton&Billiards&Baseball&Outdoors&Wrestling&Others&Boardgame&Popular&Tennis&Volleyball&Chat&Acoustic', + homeUrl:'/sports-home/category/all',//网站的首页链接,用于分类获取和推荐获取 + detailUrl:'https://m.zhuafan.tech/fyid',//二级详情拼接链接(json格式用) + searchUrl:'/live-search/search/query/data?keyword=**&page=fypage&num=&searchType=all&uid=null&from=pc', + searchable:2, + quickSearch:0, + headers:{ + 'User-Agent':'PC_UA' + }, + limit:6, + timeout:5000, + play_parse:true, + lazy:'', + double:false, + 推荐:'*', + 一级:'json:data;cname;imageUrl;uname;id', + 二级:'*', + 搜索:'json:cObj.cList;*;*;*;_id', +} \ No newline at end of file diff --git a/TVBox_JS/斗鱼直播.js b/TVBox_JS/斗鱼直播.js new file mode 100644 index 0000000..745a312 --- /dev/null +++ b/TVBox_JS/斗鱼直播.js @@ -0,0 +1,29 @@ +// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py +// drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md +// Pluto Player官方TG https://t.me/PlutoPlayer +// Pluto Player官方TG https://t.me/PlutoPlayerChannel + +var rule = { + title:'斗鱼直播', + host:'https://www.douyu.com', + homeUrl:'/japi/weblist/apinc/recLabelList?',//网站的首页链接,用于分类获取和推荐获取 + url:'/gapi/rkc/directory/mixList/fyclass/fypage', + class_name:'一起看&网游竞技&单机热游&手游休闲&娱乐天地&科技文化&语音互动&语音直播&正能量&颜值&音乐&舞蹈&二次元&户外&美食&互动交友&趣生活&数码科技&文化&科普&社会人文&汽车&纪录片&斗鱼购物&交友&电台&一起玩&音乐之声&正能量&英雄联盟&热门游戏&DOTA2&穿越火线&CFHD&DNF&炉石传说&CS:GO&逆战&lol云顶之弈&魔兽争霸&魔兽怀旧服&网易游戏&守望先锋&DOTA&魔兽世界&天涯明月刀&三国杀&主机游戏&永劫无间&生死狙击2&迷失ARK&艾尔登法环&逃离塔科夫&V Rising&海上狼人杀&怀旧游戏&王者荣耀&和平精英&火影忍者&LOL手游&金铲铲之战&重返帝国&COD手游&哈利波特:魔法觉醒&CF手游&欢乐斗地主&原神&天刀手游&棋牌娱乐&欢乐麻将&新游中心&QQ飞车&阴阳师&热门手游', + class_url:'2_208&1_1&1_15&1_9&1_2&1_11&1_20&1_18&1_13&2_201&2_175&2_1008&2_174&2_124&2_194&2_1555&2_1097&2_134&2_195&2_204&2_1162&2_136&2_514&2_1203&2_1221&2_1556&2_1575&2_910&2_250&2_1&2_270&2_3&2_33&2_1997&2_40&2_2&2_6&2_46&2_917&2_55&2_1055&2_3567&2_148&2_217&2_5&2_59&2_14&2_19&2_1227&2_1781&2_3528&2_3406&2_1024&2_3684&2_3556&2_26&2_181&2_350&2_196&2_1920&2_2556&2_2915&2_767&2_1192&2_178&2_416&2_1223&2_911&2_113&2_451&2_229&2_331&2_240&2_30', + detailUrl:'/fyid',//二级详情拼接链接(json格式用) + searchUrl:'/japi/search/api/searchShow?kw=**&page=fypage&pageSize=20', + searchable:2, + quickSearch:0, + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + limit:8, + play_parse:true, + lazy:'', + double:true, + 推荐:'json:data.list;room;*;cover;*;*', + 一级:'json:data.rl;rn;rs16;nn;rid', + 二级:'*', + 搜索:'json:data.relateShow;roomName;roomSrc;nickName;*', +} \ No newline at end of file diff --git a/TVBox_JS/有声小说吧.js b/TVBox_JS/有声小说吧.js new file mode 100644 index 0000000..c8bdabe --- /dev/null +++ b/TVBox_JS/有声小说吧.js @@ -0,0 +1,29 @@ +var rule = { + title:'有声小说吧', + 编码:'gb18030', + host:'http://m.ysxs8.vip', + url:'/downlist/fyclass_fypage.html', + searchUrl:'/search.asp?page=fypage&searchword=**&searchtype=-1', + searchable:2, + quickSearch:0, + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'网络玄幻&恐怖悬疑&传统武侠&都市言情&官场刑侦&历史军事&探险盗墓&职场商战&明朝那些事儿&评书下载&相声戏曲&人物传记&广播剧&百家讲坛&外语读物&有声文学&儿童读物&管理营销', + class_url:'r52&r17&r12&r13&r14&r15&r45&r81&r36&r3&r7&r16&r18&r32&r35&r41&r4&r6', + play_parse:true, + lazy:'', + limit:6, + double:true, + 推荐:'.list-ul;a;.list-name&&Text;img&&data-original;.module-slide-author&&Text;a&&href', + 一级:'.book-ol&&li;h4&&Text;img&&data-original;.book-submeta&&Text;a&&href', + 二级:{title:'h2&&Text',img:'.bookimg&&img&&data-original',desc:'.book-rand-a:eq(0)&&Text;.book-rand-a:eq(1)&&Text;.book-rand-a:eq(2)&&Text;.book-rand-a:eq(3)&&Text',content:'.book_intro&&Text', + tabs:'.list-contitle&&h3', + lists:'', + lists:'js:pd=jsp.pd;let url=pd(html,".bookbutton&&a&&href");log(url);html=request(url);let v=pd(html,".booksite&&script&&Html");var document={};var VideoListJson;VideoListJson=eval(v.split("VideoListJson=")[1].split(",urlinfo")[0]);log(typeof VideoListJson);let list1=VideoListJson[0][1];LISTS=[list1];log(LISTS);', + // 有声小说有防盗链,我服了(上面的列表数据正常拿到了,没法播放) + lists:'#playlist:eq(#id)&&ul&&li', + }, + 搜索:'*', +} diff --git a/TVBox_JS/朱古力.js b/TVBox_JS/朱古力.js new file mode 100644 index 0000000..a9a1ffb --- /dev/null +++ b/TVBox_JS/朱古力.js @@ -0,0 +1,17 @@ +var rule = { + title:'朱古力', + host:'https://pigav.com', + url:'/fyclass/page/fypage', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'最新&熱門&每日&精選',//静态分类名称拼接 + class_url:'最新av線上看&熱門av線上看&每日av線上看線上看&精選av線上看',//静态分类标识拼接 + limit:5, + play_parse:true, + lazy:'', + 一级:'.l-post div&&a;a&&title;span&&data-bgsrc;.absolute.bottom-1&&Text;a&&href', + 二级:'*', +} + diff --git a/TVBox_JS/来看点播.js b/TVBox_JS/来看点播.js new file mode 100644 index 0000000..8e85fc8 --- /dev/null +++ b/TVBox_JS/来看点播.js @@ -0,0 +1,20 @@ +var rule={ +title:'来看点播', +host:'https://www.lkvod.cc', +url:'/show/fyclass--hits------fypage---.html', +searchUrl:'/search/**----------fypage---.html', +searchable:2, +quickSearch:0, +filterable:0, +headers:{'User-Agent':'MOBILE_UA', }, +class_name:'电影&电视剧&综艺&动漫', +class_url:'1&2&3&4', +play_parse:true, +lazy:'', +limit:6, +推荐:'.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-caption.right&&Text;a&&href', +double:true, // 推荐内容是否双层定位 +一级:'.module-items .module-item;a&&title;img&&data-src;.module-item-caption.right&&Text;a&&href', +二级:{"title":"h1&&Text;.video-info-aux&&div&&a:eq(0)&&Text","img":".module-item-pic&&img&&data-src","desc":";.video-info-aux&&a:eq(1)&&Text;.video-info-aux&&a:eq(2)&&Text;.video-info-items:eq(1) a&&Text;.video-info-items:eq(0) a&&Text","content":".sqjj_a&&Text","tabs":".module-tab-content&& span","lists":".module-player-list:eq(#id)&&.scroll-content&&a"}, +搜索:'.module-items .module-item;a&&title;img&&data-src;.module-item-caption.right&&Text;a&&href', +} diff --git a/TVBox_JS/模板.js b/TVBox_JS/模板.js new file mode 100644 index 0000000..747bee0 --- /dev/null +++ b/TVBox_JS/模板.js @@ -0,0 +1,158 @@ +if (typeof Object.assign != 'function') { + Object.assign = function () { + var target = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; +}; +} + +var mubanDict = { // 模板字典 + mxpro:{ + title:'', + host:'', + // homeUrl:'/', + url:'/vodshow/fyclass--------fypage---.html', + searchUrl:'/vodsearch/**----------fypage---.html', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse:'.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html', + play_parse:true, + lazy:'', + limit:6, + 推荐:'.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', + 二级:{"title":"h1&&Text;.module-info-tag&&Text","img":".lazyload&&data-original","desc":".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text","content":".module-info-introduction&&Text","tabs":".module-tab-item","lists":".module-play-list:eq(#id) a"}, + 搜索:'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', +}, +首图:{ + title:'', + host:'', + url:'/vodshow/fyclass--------fypage---/', + searchUrl:'/vodsearch/**----------fypage---.html', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse:'.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', + play_parse:true, + lazy:'', + limit:6, + 推荐:'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级:{"title":".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text","img":".myui-content__thumb .lazyload&&data-original","desc":".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text","content":".content&&Text","tabs":".nav-tabs:eq(0) li","lists":".myui-content__list:eq(#id) li"}, + 搜索:'#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', +}, +首图2:{ + title:'', + host:'', + url:'/list/fyclass-fypage.html', + searchUrl:'/vodsearch/**----------fypage---.html', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{ + 'User-Agent':'UC_UA', + // "Cookie": "" + }, + // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html', + play_parse:true, + lazy:'', + limit:6, + 推荐:'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级:{"title":".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text","img":".stui-content__thumb .lazyload&&data-original","desc":".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text","content":".detail&&Text","tabs":".stui-vodlist__head h3","lists":".stui-content__playlist:eq(#id) li"}, + 搜索:'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索1:'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索2:'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', +}, +vfed:{ + title:'', + host:'', + url:'/index.php/vod/show/id/fyclass/page/fypage.html', + searchUrl:'/index.php/vod/search/page/fypage/wd/**.html', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{ + 'User-Agent':'UC_UA', + }, + // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', + class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html', + play_parse:true, + lazy:'', + limit:6, + 推荐:'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + 二级:{"title":"h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text","img":".fed-list-info&&a&&data-original","desc":".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text","content":".fed-part-esan&&Text","tabs":".fed-drop-boxs&&.fed-part-rows&&li","lists":".fed-play-item:eq(#id)&&ul:eq(1)&&li"}, + 搜索:'.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text', +}, +海螺3:{ + title:'', + host:'', + searchUrl:'/v_search/**----------fypage---.html', + url:'/vod_____show/fyclass--------fypage---.html', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_parse:'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', + cate_exclude:'明星|专题|最新|排行', + limit:40, + play_parse:true, + lazy:'', + 推荐:'.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', + double:true, + 一级:'.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + 二级:{"title":".hl-infos-title&&Text;.hl-text-conch&&Text","img":".hl-lazy&&data-original","desc":".hl-infos-content&&.hl-text-conch&&Text","content":".hl-content-text&&Text","tabs":".hl-tabs&&a","lists":".hl-plays-list:eq(#id)&&li"}, + 搜索:'.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, +}, +海螺2:{ + title:'', + host:'', + searchUrl:'/index.php/vod/search/page/fypage/wd/**/', + url:'/index.php/vod/show/id/fyclass/page/fypage/', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_parse:'#nav-bar li;a&&Text;a&&href;id/(.*?)/', + limit:40, + play_parse:true, + lazy:'', + 推荐:'.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', + double:true, + 一级:'.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', + 二级:{"title":"h2&&Text;.deployment&&Text","img":".lazy&&data-original","desc":".deployment&&Text","content":".ec-show&&Text","tabs":"#tag&&a","lists":".play_list_box:eq(#id)&&li"}, + 搜索:'.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, +}, + + +}; +var muban = JSON.parse(JSON.stringify(mubanDict)); +export default muban; \ No newline at end of file diff --git a/TVBox_JS/海盗听书.js b/TVBox_JS/海盗听书.js new file mode 100644 index 0000000..9fc7e36 --- /dev/null +++ b/TVBox_JS/海盗听书.js @@ -0,0 +1,45 @@ +// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py +// 道长 drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md +// 道长 drpy写源 模板规则说明 https://gitcode.net/supertlo/dr_py#%E6%A8%A1%E6%9D%BF%E8%A7%84%E5%88%99%E8%AF%B4%E6%98%8E +// 道长 drpy写源 套模模版 https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/%E6%A8%A1%E6%9D%BF.js +// 道长 drpy写源 影片教程 http://101.34.67.237:5244/%E6%95%99%E8%82%B2/drpy +// 道长 drpy写源 影片教程(m3u8切片) https://freedrpy.run.goorm.io/txt/jc/playlist.m3u8 +// 海阔下载 https://haikuo.lanzoui.com/u/GoldRiver +// Pluto Player官方TG https://t.me/PlutoPlayer +// Pluto Player官方TG https://t.me/PlutoPlayerChannel + +// Pluto: 嗅探播放 完全正常 +// 俊老的殼 或 PythonBox: 請在rules新增底下設定,确保能嗅探较多的源 +// "rules":[ +// 海盗听书(drpy) +// {"host":"www.tingxiaoshuo.cc","rule":["baidupcs.com","/file/"]}, +// {"host":"www.tingxiaoshuo.cc","rule":["365ting.com"]}, +// {"host":"www.tingxiaoshuo.cc","rule":["tingshijie.com"]}, +// {"host":"www.tingxiaoshuo.cc","rule":["xmcdn.com"]}, +// {"host":"www.tingxiaoshuo.cc","rule":["vb.wting.info","token="]} +// ], + +var rule = { + title:'海盗听书', + host:'https://www.tingxiaoshuo.cc', + homeUrl:'/category/6/3.html', + url:'/category/6/fyclass.html?page=fypage', + searchUrl:'/pc/index/search.html?keyword=**&page=fypage', + searchable:2, + quickSearch:0, + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + class_name:'新书&更新&人气', + class_url:'1&2&3', + play_parse:true, + play_json:0, + lazy:"let bookId=input.match(/play\\/(.*?)\\//)[1];let chapterId=input.match(/.*\\/(.*?)\\.html/)[1];let url='https://app.tingxiaoshuo.cc/listen/apptingchina/AppGetChapterUrl2022?uid=09e0bbefd378830f9615a98f239aceab&chapterId='+chapterId+'&bookId='+bookId;let res=request(url,{headers:{'User-Agent':PC_UA}});res=JSON.parse(res);input=res.src;log(input);", + limit:6, + double:true, + 推荐:'*', + 一级:'.list-works li;a&&title;img&&src;.list-book-cs span:eq(0)&&Text;a&&href', + 二级:{title:'h1&&Text;.book-info dd:eq(1)&&Text',img:'.book-img img&&src',desc:';;.book-info dd:gt(3):lt(6)&&Text;.book-info dd:eq(3)&&Text;.book-info dd:eq(2)&&Text',content:'.div-b&&Text',tabs:'.playlist-top&&h2',lists:'#playlist:eq(#id) li'}, + 搜索:'*', +} diff --git a/TVBox_JS/牛马TV.js b/TVBox_JS/牛马TV.js new file mode 100644 index 0000000..2af463e --- /dev/null +++ b/TVBox_JS/牛马TV.js @@ -0,0 +1,9 @@ +muban.首图2.二级.tabs = '.stui-pannel__head h3'; +muban.首图2.二级.content = '.stui-content__desc&&Text'; +var rule = Object.assign(muban.首图2,{ + title:'牛马TV', + host:'https://www.niumatv.cc', + url:'/type/fyclass-fypage.html', + searchUrl:'/vodsearch**/page/fypage.html', + class_parse:'.stui-header__menu&&li;a&&Text;a&&href;.*/(.*?).html', +}); \ No newline at end of file diff --git a/TVBox_JS/特狗影视.js b/TVBox_JS/特狗影视.js new file mode 100644 index 0000000..b9b6828 --- /dev/null +++ b/TVBox_JS/特狗影视.js @@ -0,0 +1,10 @@ +var rule = Object.assign(muban.首图,{ +title:'特狗', +host:'https://www.tegouys.com', +url:'/vodshow/id/fyclass/page/fypage.html', +searchUrl:'/search/-------------.html?wd=*&submit=', +//class_name:'电视剧&电影&综艺&动漫',//静态分类名称拼接 +//class_url:'2&1&3&4',//静态分类标识拼接 +class_parse:'.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', + +}); diff --git a/TVBox_JS/独播库.js b/TVBox_JS/独播库.js new file mode 100644 index 0000000..ee3d548 --- /dev/null +++ b/TVBox_JS/独播库.js @@ -0,0 +1,14 @@ +//已知问题:除了pluto player无法正常嗅探,其他壳都可以正常嗅探播放(js mode 0 or 1 都OK) +//其他壳播放遇到嗅探的问题时,试着把"解析"改回"🌐Ⓤ",然后就可以快乐的看片了! +//{"name":"🌐Ⓤ","type":0,"url":"","header":{"User-Agent":"Mozilla/5.0"}}, + +var rule = Object.assign(muban.首图,{ + title:'独播库', + host:'https://u.duboku.io', + class_parse:'.nav-list li;a&&Text;a&&href;.*/(.*?).html', + lazy:'js:let html=fetch(input, fetch_params);var player=JSON.parse(html.match(/var player_(.*?)=(.*?)0?json.data.list[0].url:json.data.series[0].url;if(!/^http/.test(ourl)){ourl=host+ourl}fetch_params.headers["User-Agent"]=MOBILE_UA;html=request(ourl);if(html.includes("window.location =")){print("开始获取ourl");ourl=pdfh(html,"meta[http-equiv=refresh]&&content").split("url=")[1];print("获取到ourl:"+ourl);html=request(ourl)}try{let details=pdfh(html,".m-details&&Html").replace(/h1>/,"h6>").replace(/div/g,"br");let actor="",director="",time="";if(/播出时间/.test(details)){actor=pdfh(html,"p:eq(5)&&Text").substr(0,25);director=pdfh(html,"p:eq(4)&&Text");time=pdfh(html,"p:eq(3)&&Text")}else{actor=pdfh(html,"p:eq(4)&&Text").substr(0,25);director=pdfh(html,"p:eq(3)&&Text");time="已完结"}let _img=pd(html,".video-img&&img&&src");let JJ=pdfh(html,".desc&&Text").split("简介:")[1];let _desc=time;VOD.vod_name=pdfh(html,".vt-txt&&Text");VOD.type_name=pdfh(html,"p:eq(0)&&Text").substr(0,6);VOD.vod_area=pdfh(html,"p:eq(1)&&Text");VOD.vod_actor=actor;VOD.vod_director=director;VOD.vod_remarks=_desc;VOD.vod_pic=_img;VOD.vod_content=JJ}catch(e){log("获取影片信息发生错误:"+e.message)}function getRjpg(imgUrl,xs){xs=xs||3;let picSize=/jpg_/.test(imgUrl)?imgUrl.split("jpg_")[1].split(".")[0]:false;let rjpg=false;if(picSize){let a=parseInt(picSize.split("x")[0])*xs;let b=parseInt(picSize.split("x")[1])*xs;rjpg=a+"x"+b+".jpg"}let img=/jpg_/.test(imgUrl)&&rjpg?imgUrl.replace(imgUrl.split("jpg_")[1],rjpg):imgUrl;return img}if(json.data.total===1&&json.data.list.length===1){let data=json.data.list[0];let url="https://www.mgtv.com"+data.url;d.push({title:data.t4,desc:data.t2,pic_url:getRjpg(data.img),url:url})}else if(json.data.list.length>1){for(let i=1;i<=json.data.total_page;i++){if(i>1){json=JSON.parse(fetch(input.replace("page=1","page="+i),{}))}json.data.list.forEach(function(data){let url="https://www.mgtv.com"+data.url;if(data.isIntact=="1"){d.push({title:data.t4,desc:data.t2,pic_url:getRjpg(data.img),url:url})}})}}else{print(input+"暂无片源")}VOD.vod_play_from="mgtv";VOD.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");setResult(d);', + 搜索:'', + 搜索:'js:fetch_params.headers.Referer="https://www.mgtv.com";fetch_params.headers["User-Agent"]=UA;let d=[];let html=request(input);let json=JSON.parse(html);json.data.contents.forEach(function(data){if(data.data.sourceList||data.data.yearList){let list=data.data.sourceList?data.data.sourceList:data.data.yearList[0].sourceList;let desc="";list.forEach(function(it){desc+=it.name+"\\t"});if(list[0].source==="imgo"){let img=data.data.pic?data.data.pic:data.data.yearList[0].pic;d.push({title:data.data.title?data.data.title:data.data.yearList[0].title,img:img,content:data.data.story?data.data.story:data.data.yearList[0].story,desc:data.data.playTime,url:list[0].vid})}}});setResult(d);', +} \ No newline at end of file diff --git a/TVBox_JS/皮皮泡.js b/TVBox_JS/皮皮泡.js new file mode 100644 index 0000000..f393ea5 --- /dev/null +++ b/TVBox_JS/皮皮泡.js @@ -0,0 +1,11 @@ +muban.首图2.二级.tabs = '.stui-pannel__head.bottom-line.active.clearfix h3'; +var rule = Object.assign(muban.首图2,{ +title:'皮皮泡', +host:'https://www.pipipao.com', +url:'/vodshow/id/fyclass/page/fypage.html', +searchUrl:'/vodsearch**/page/fypage.html', +class_name:'电视剧&电影&综艺&动漫&纪录片',//静态分类名称拼接 +class_url:'dianshiju&dianying&zongyi&dongman&jilupian',//静态分类标识拼接 +class_parse:' ', +搜索:'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', +}); \ No newline at end of file diff --git a/TVBox_JS/看了么.js b/TVBox_JS/看了么.js new file mode 100644 index 0000000..eefa2a6 --- /dev/null +++ b/TVBox_JS/看了么.js @@ -0,0 +1,26 @@ +var rule = { + title:'看了么', + host:'https://www.ksksl.com', + // homeUrl:'/', + url:'/show/fyclass/page/fypage.html', + searchUrl:'/ch.html?wd=**', + searchable:1, + quickSearch:1, + headers:{ + 'User-Agent':'UC_UA' + }, + timeout:5000, + class_name:'电影&电视剧&动漫&综艺&纪录片',//静态分类名称拼接 + class_url:'dy&tv&dm&zy&jl',//静态分类标识拼接 + play_parse:true, + lazy:'', + limit:5, + 推荐:'.dx-top;li;a&&title;a&&data-original;.vod_remarks&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + + 一级:'ul.dx-list li;a&&title;a&&data-original;.vod_remarks&&Text;a&&href', + + 二级:{"title":".obj-info h1&&Text;","img":"img:eq(2)&&src","desc":".video-info.d-none.d-sm-block&&Text","content":".vod_content&&Text","tabs":".play-title h2","lists":".play_li.fn-clear:eq(#id) a"}, + + 搜索:'.movie-list-body;.movie-list-item;.movie-title&&Text;.movie-post-lazyload&&data-original;.vod_remarks&&Text;a&&href', +} \ No newline at end of file diff --git a/TVBox_JS/看视界.js b/TVBox_JS/看视界.js new file mode 100644 index 0000000..e77b120 --- /dev/null +++ b/TVBox_JS/看视界.js @@ -0,0 +1,8 @@ +var rule = Object.assign(muban.mxpro,{ +title:'看视界', +host:'https://www.1080kan.cc', +url:'/show/fyclass--------fypage---.html', +searchUrl:'/search/**----------fypage---.html', +searchable:2, +class_parse:'.navbar-items li:gt(1):lt(6);a&&Text;a&&href;.*/(.*?).html', +}); \ No newline at end of file diff --git a/TVBox_JS/真不卡.js b/TVBox_JS/真不卡.js new file mode 100644 index 0000000..b013d09 --- /dev/null +++ b/TVBox_JS/真不卡.js @@ -0,0 +1,8 @@ +muban.首图2.二级.tabs = '.stui-pannel__head.bottom-line.active.clearfix h3'; +var rule = Object.assign(muban.首图2,{ +title:'真不卡', +host:'https://www.zbkk.net', +url:'/vodshow/fyclass--------fypage---.html', +class_parse:'.stui-header__menu .dropdown li:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', +// searchUrl:'/vodsearch/**----------fypage---.html', +}); \ No newline at end of file diff --git a/TVBox_JS/秋霞.js b/TVBox_JS/秋霞.js new file mode 100644 index 0000000..2acd96c --- /dev/null +++ b/TVBox_JS/秋霞.js @@ -0,0 +1,24 @@ +var rule = { +title:'秋霞', +host:'https://www.7xiady.cc', +url:'/index.php/type/fyclass-fypage/', +//class_parse:'.stui-header__menu&&ul&&li;a&&Text;a&&href;/type/(.*?)/', +searchUrl:'/search/**----------fypage---.html', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{ + 'User-Agent':'UC_UA', + // "Cookie": "" + }, + class_name:'电影&连续剧&综艺&动漫', + class_url:'dianying&lianxuju&zongyi&dongman', + // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html', + play_parse:true, + lazy:'', + limit:6, + 推荐:'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级:{"title":".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text","img":".stui-content__thumb .lazyload&&data-original","desc":".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text","content":".stui-content__desc&&Text","tabs":".stui-pannel__head.bottom-line.active.clearfix h3","lists":".stui-content__playlist:eq(#id) li"}, + 搜索:'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href'} \ No newline at end of file diff --git a/TVBox_JS/胖虎影视.js b/TVBox_JS/胖虎影视.js new file mode 100644 index 0000000..7f65b10 --- /dev/null +++ b/TVBox_JS/胖虎影视.js @@ -0,0 +1,7 @@ +var rule = Object.assign(muban.mxpro,{ +title:'胖虎影视.', +host:'http://panghuys.com', +url:'/vodshow/fyclass/page/fypage.html', +searchUrl:'/search-**----------fypage---/', +class_parse:'.navbar-items li:gt(1):lt(7);a&&Text;a&&href;/(\\d+).html', +}); diff --git a/TVBox_JS/腾云驾雾.js b/TVBox_JS/腾云驾雾.js new file mode 100644 index 0000000..088d74d --- /dev/null +++ b/TVBox_JS/腾云驾雾.js @@ -0,0 +1,34 @@ +var rule = { + title:'腾云驾雾', + host:'https://v.%71%71.com', + // homeUrl:'/channel/choice?listpage=1&channel=choice&sort=18&_all=1', + homeUrl:'/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18', + detailUrl:'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid', + searchUrl:'https://node.video.%71%71.com/x/api/msearch?keyWord=**', + searchable:2, + filterable:1, + multi:1, + // url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1', + url:'/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1', + filter_url:'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}', + filter:{'choice': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'tv': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'movie': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'variety': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'cartoon': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'child': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'doco': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}]}, + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + // class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)', + cate_exclude:'会员|游戏|全部', + class_name:'精选&电视剧&电影&综艺&动漫&少儿&纪录片', + class_url:'choice&tv&movie&variety&cartoon&child&doco', + limit:20, + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites","lists":"data.playlinksdetail.#idv.default_url"}, + 二级:'', + 二级:'js:VOD={};let d=[];let video_list=[];let video_lists=[];let list=[];let QZOutputJson;let html=fetch(input,fetch_params);let sourceId=/get_playsource/.test(input)?input.match(/id=(\\d*?)&/)[1]:input.split("cid=")[1];let cid=sourceId;let detailUrl="https://v.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;try{let json=JSON.parse(html);VOD={vod_id:json.c.vid,vod_url:input,vod_name:json.c.title,type_name:json.typ.join(","),vod_actor:json.nam.join(","),vod_year:json.c.year,vod_content:json.c.description,vod_remarks:json.rec,vod_pic:urljoin2(input,json.c.pic)}}catch(e){log("解析片名海报等基础信息发生错误:"+e.message)}if(/get_playsource/.test(input)){eval(html);let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+sourceId+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else{let json=JSON.parse(html);video_lists=json.c.video_ids;let url="https://v.qq.com/x/cover/"+sourceId+".html";if(json.c.type===10){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json";let o_html=fetch(dataUrl,fetch_params);eval(o_html);video_lists=[];let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else if(video_lists.length===1){d.push({title:"在线播放",url:url})}else if(video_lists.length>1){for(let i=0;i1){let tmp=item.slice(1).map(function(its){return its.index+"$"+play_url+base64Encode(adhead(its.url))});vod_lists.push(tmp.join("#"))}if(shows){let arr=[];let tmp=[];let zy=shows.item_list[idex];zy.date.forEach(function(date){let day=date.day;for(let j=0;j=10?day[j][0]:"0"+day[j][0];let Tdate=date.year+date.month+dayy;arr.push(Tdate)}});for(let k=0;k0?img[0]:""}}catch(e){print("发生了错误:"+e.message)}', + // 二级:'js:var vod={vod_id:input};let html=request(input);function adhead(url){let hd="https://v.sogou.com";if(!url.startsWith(hd)){url=hd+url}return url}try{let json=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).detail.itemData;let key=json.dockey;let name=json.name;let zone=json.zone;let score=json.score?json.score:"暂无";let style=json.style;let emcee=json.emcee?"主持:"+json.emcee:json.name;let director=json.director?"导演:"+json.director:name;director=director.replace(/;/g,"\\t");let starring=json.starring?"演员:"+json.starring:"声优:"+json.shengyou;starring=starring.replace(/.*undefined/,"").replace(/;/g,"\\t");let update=json.update_wordstr?json.update_wordstr:"";let tv_station=json.tv_station?json.tv_station:zone;let introduction=json.introduction;let shengyou=json.shengyou;let shows=json.play_from_open_index;let plays=json.play.item_list;if(shows){vod.vod_name=name;vod.vod_area=emcee+","+tv_station;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_remarks=style+" 评分:"+score+","+update;vod.vod_content=introduction}else{vod.vod_name=name;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_content=introduction}let tp="&type=json";try{let tabs=[];let lists=[];plays.forEach(function(it){lists.push(it.info);let tbn=it.sitename[0]||it.site.replace(".com","");tbn=tbn.split("").join(" ");tabs.push(tbn)});vod.vod_play_from=tabs.join("$$$");vod_lists=[];play_url=play_url.replace("&play_url=","&type=json&play_url=");lists.forEach(function(item,idex){if(item||shows){if(item&&Array.isArray(item)&&item.length>1){let tmp=item.slice(1).map(function(its){return its.index+"$"+play_url+base64Encode(adhead(its.url))});vod_lists.push(tmp.join("#"))}if(shows){let arr=[];let tmp=[];let zy=shows.item_list[idex];zy.date.forEach(function(date){let day=date.day;for(let j=0;j=10?day[j][0]:"0"+day[j][0];let Tdate=date.year+date.month+dayy;arr.push(Tdate)}});for(let k=0;k0?img[0]:""}}catch(e){}', + 搜索:'', + 搜索:'js:let d=[];let html=request(input);let jsonA=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]);print(jsonA);jsonA=jsonA.result.longVideo.results;jsonA.forEach(function(it){let name=it.name;let introduction=it.introduction;let pic=it.v_picurl;let url=it.tiny_url;let zone=it.zone;let score=it.score||"暂无";let style=it.style;if(it.play.item_list){let r={};r.title=name.replace(//,"").replace(//,"");r.url="https://v.sogou.com"+url;r.desc=it.list_category.join(",");r.content=introduction;r.pic_url=pic;d.push(r)}});setResult(d);', +} \ No newline at end of file diff --git a/TVBox_JS/蓝光影院.js b/TVBox_JS/蓝光影院.js new file mode 100644 index 0000000..43dff7d --- /dev/null +++ b/TVBox_JS/蓝光影院.js @@ -0,0 +1,7 @@ +var rule = Object.assign(muban.mxpro,{ +title:'蓝光影院', +host:'https://lgyy.cc', +url:'/vodshow/fyclass--------fypage---.html', +searchUrl:'/vodsearch/**-------------.html', +class_parse:'.navbar-items li:gt(1):lt(6);a&&Text;a&&href;.*/(.*?).html', +}); \ No newline at end of file diff --git a/TVBox_JS/蓝莓影视.js b/TVBox_JS/蓝莓影视.js new file mode 100644 index 0000000..ec9c6c2 --- /dev/null +++ b/TVBox_JS/蓝莓影视.js @@ -0,0 +1,12 @@ +var rule = Object.assign(muban.mxpro,{ +title:'蓝莓影视', +host:'https://lanmeiguojiang.com', +// url:'/show/fyclass--------fypage---.html', +// url:'/show/fyclass-{{fl.地区}}-{{fl.排序}}-{{fl.剧情}}-{{fl.语言}}-{{fl.字母}}---fypage--{{fl.年份}}.html', +url:'/show/fyclass-fyfilter', +filter_url:'{{fl.地区}}-{{fl.排序}}-{{fl.剧情}}-{{fl.语言}}-{{fl.字母}}---fypage---{{fl.年份}}.html', +filter:{'20': [{'key': '剧情', 'name': '剧情', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': '%E5%96%9C%E5%89%A7'}, {'n': '爱情', 'v': '%E7%88%B1%E6%83%85'}, {'n': '恐怖', 'v': '%E6%81%90%E6%80%96'}, {'n': '动作', 'v': '%E5%8A%A8%E4%BD%9C'}, {'n': '科幻', 'v': '%E7%A7%91%E5%B9%BB'}, {'n': '剧情', 'v': '%E5%89%A7%E6%83%85'}, {'n': '战争', 'v': '%E6%88%98%E4%BA%89'}, {'n': '警匪', 'v': '%E8%AD%A6%E5%8C%AA'}, {'n': '犯罪', 'v': '%E7%8A%AF%E7%BD%AA'}, {'n': '动画', 'v': '%E5%8A%A8%E7%94%BB'}, {'n': '奇幻', 'v': '%E5%A5%87%E5%B9%BB'}, {'n': '武侠', 'v': '%E6%AD%A6%E4%BE%A0'}, {'n': '冒险', 'v': '%E5%86%92%E9%99%A9'}, {'n': '枪战', 'v': '%E6%9E%AA%E6%88%98'}, {'n': '恐怖', 'v': '%E6%81%90%E6%80%96'}, {'n': '悬疑', 'v': '%E6%82%AC%E7%96%91'}, {'n': '惊悚', 'v': '%E6%83%8A%E6%82%9A'}, {'n': '经典', 'v': '%E7%BB%8F%E5%85%B8'}, {'n': '青春', 'v': '%E9%9D%92%E6%98%A5'}, {'n': '文艺', 'v': '%E6%96%87%E8%89%BA'}, {'n': '微电影', 'v': '%E5%BE%AE%E7%94%B5%E5%BD%B1'}, {'n': '古装', 'v': '%E5%8F%A4%E8%A3%85'}, {'n': '历史', 'v': '%E5%8E%86%E5%8F%B2'}, {'n': '运动', 'v': '%E8%BF%90%E5%8A%A8'}, {'n': '农村', 'v': '%E5%86%9C%E6%9D%91'}, {'n': '儿童', 'v': '%E5%84%BF%E7%AB%A5'}, {'n': '网络电影', 'v': '%E7%BD%91%E7%BB%9C%E7%94%B5%E5%BD%B1'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '大陆', 'v': '%E5%A4%A7%E9%99%86'}, {'n': '香港', 'v': '%E9%A6%99%E6%B8%AF'}, {'n': '台湾', 'v': '%E5%8F%B0%E6%B9%BE'}, {'n': '美国', 'v': '%E7%BE%8E%E5%9B%BD'}, {'n': '法国', 'v': '%E6%B3%95%E5%9B%BD'}, {'n': '英国', 'v': '%E8%8B%B1%E5%9B%BD'}, {'n': '日本', 'v': '%E6%97%A5%E6%9C%AC'}, {'n': '韩国', 'v': '%E9%9F%A9%E5%9B%BD'}, {'n': '德国', 'v': '%E5%BE%B7%E5%9B%BD'}, {'n': '泰国', 'v': '%E6%B3%B0%E5%9B%BD'}, {'n': '印度', 'v': '%E5%8D%B0%E5%BA%A6'}, {'n': '意大利', 'v': '%E6%84%8F%E5%A4%A7%E5%88%A9'}, {'n': '西班牙', 'v': '%E8%A5%BF%E7%8F%AD%E7%89%99'}, {'n': '加拿大', 'v': '%E5%8A%A0%E6%8B%BF%E5%A4%A7'}, {'n': '其他', 'v': '%E5%85%B6%E4%BB%96'}]}, {'key': '语言', 'name': '语言', 'value': [{'n': '全部', 'v': ''}, {'n': '国语', 'v': '%E5%9B%BD%E8%AF%AD'}, {'n': '英语', 'v': '%E8%8B%B1%E8%AF%AD'}, {'n': '粤语', 'v': '%E7%B2%A4%E8%AF%AD'}, {'n': '闽南语', 'v': '%E9%97%BD%E5%8D%97%E8%AF%AD'}, {'n': '韩语', 'v': '%E9%9F%A9%E8%AF%AD'}, {'n': '日语', 'v': '%E6%97%A5%E8%AF%AD'}, {'n': '法语', 'v': '%E6%B3%95%E8%AF%AD'}, {'n': '德语', 'v': '%E5%BE%B7%E8%AF%AD'}, {'n': '其它', 'v': '%E5%85%B6%E5%AE%83'}]}, {'key': '年份', 'name': '年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2014', 'v': '2014'}, {'n': '2013', 'v': '2013'}, {'n': '2012', 'v': '2012'}, {'n': '2011', 'v': '2011'}, {'n': '2010', 'v': '2010'}]}, {'key': '字母', 'name': '字母', 'value': [{'n': '字母', 'v': ''}, {'n': 'A', 'v': 'A'}, {'n': 'B', 'v': 'B'}, {'n': 'C', 'v': 'C'}, {'n': 'D', 'v': 'D'}, {'n': 'E', 'v': 'E'}, {'n': 'F', 'v': 'F'}, {'n': 'G', 'v': 'G'}, {'n': 'H', 'v': 'H'}, {'n': 'I', 'v': 'I'}, {'n': 'J', 'v': 'J'}, {'n': 'K', 'v': 'K'}, {'n': 'L', 'v': 'L'}, {'n': 'M', 'v': 'M'}, {'n': 'N', 'v': 'N'}, {'n': 'O', 'v': 'O'}, {'n': 'P', 'v': 'P'}, {'n': 'Q', 'v': 'Q'}, {'n': 'R', 'v': 'R'}, {'n': 'S', 'v': 'S'}, {'n': 'T', 'v': 'T'}, {'n': 'U', 'v': 'U'}, {'n': 'V', 'v': 'V'}, {'n': 'W', 'v': 'W'}, {'n': 'X', 'v': 'X'}, {'n': 'Y', 'v': 'Y'}, {'n': 'Z', 'v': 'Z'}, {'n': '0-9', 'v': '09'}]}, {'key': '排序', 'name': '排序', 'value': [{'n': '时间排序', 'v': 'time'}, {'n': '人气排序', 'v': 'hits'}, {'n': '评分排序', 'v': 'score'}]}], '1': [{'key': '类型', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '动作片', 'v': ''}, {'n': '喜剧片', 'v': ''}, {'n': '爱情片', 'v': ''}, {'n': '科幻片', 'v': ''}, {'n': '恐怖片', 'v': ''}, {'n': '剧情片', 'v': ''}, {'n': '战争片', 'v': ''}]}, {'key': '剧情', 'name': '剧情', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': '%E5%96%9C%E5%89%A7'}, {'n': '爱情', 'v': '%E7%88%B1%E6%83%85'}, {'n': '恐怖', 'v': '%E6%81%90%E6%80%96'}, {'n': '动作', 'v': '%E5%8A%A8%E4%BD%9C'}, {'n': '科幻', 'v': '%E7%A7%91%E5%B9%BB'}, {'n': '剧情', 'v': '%E5%89%A7%E6%83%85'}, {'n': '战争', 'v': '%E6%88%98%E4%BA%89'}, {'n': '警匪', 'v': '%E8%AD%A6%E5%8C%AA'}, {'n': '犯罪', 'v': '%E7%8A%AF%E7%BD%AA'}, {'n': '动画', 'v': '%E5%8A%A8%E7%94%BB'}, {'n': '奇幻', 'v': '%E5%A5%87%E5%B9%BB'}, {'n': '武侠', 'v': '%E6%AD%A6%E4%BE%A0'}, {'n': '冒险', 'v': '%E5%86%92%E9%99%A9'}, {'n': '枪战', 'v': '%E6%9E%AA%E6%88%98'}, {'n': '恐怖', 'v': '%E6%81%90%E6%80%96'}, {'n': '悬疑', 'v': '%E6%82%AC%E7%96%91'}, {'n': '惊悚', 'v': '%E6%83%8A%E6%82%9A'}, {'n': '经典', 'v': '%E7%BB%8F%E5%85%B8'}, {'n': '青春', 'v': '%E9%9D%92%E6%98%A5'}, {'n': '文艺', 'v': '%E6%96%87%E8%89%BA'}, {'n': '微电影', 'v': '%E5%BE%AE%E7%94%B5%E5%BD%B1'}, {'n': '古装', 'v': '%E5%8F%A4%E8%A3%85'}, {'n': '历史', 'v': '%E5%8E%86%E5%8F%B2'}, {'n': '运动', 'v': '%E8%BF%90%E5%8A%A8'}, {'n': '农村', 'v': '%E5%86%9C%E6%9D%91'}, {'n': '儿童', 'v': '%E5%84%BF%E7%AB%A5'}, {'n': '网络电影', 'v': '%E7%BD%91%E7%BB%9C%E7%94%B5%E5%BD%B1'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '大陆', 'v': '%E5%A4%A7%E9%99%86'}, {'n': '香港', 'v': '%E9%A6%99%E6%B8%AF'}, {'n': '台湾', 'v': '%E5%8F%B0%E6%B9%BE'}, {'n': '美国', 'v': '%E7%BE%8E%E5%9B%BD'}, {'n': '法国', 'v': '%E6%B3%95%E5%9B%BD'}, {'n': '英国', 'v': '%E8%8B%B1%E5%9B%BD'}, {'n': '日本', 'v': '%E6%97%A5%E6%9C%AC'}, {'n': '韩国', 'v': '%E9%9F%A9%E5%9B%BD'}, {'n': '德国', 'v': '%E5%BE%B7%E5%9B%BD'}, {'n': '泰国', 'v': '%E6%B3%B0%E5%9B%BD'}, {'n': '印度', 'v': '%E5%8D%B0%E5%BA%A6'}, {'n': '意大利', 'v': '%E6%84%8F%E5%A4%A7%E5%88%A9'}, {'n': '西班牙', 'v': '%E8%A5%BF%E7%8F%AD%E7%89%99'}, {'n': '加拿大', 'v': '%E5%8A%A0%E6%8B%BF%E5%A4%A7'}, {'n': '其他', 'v': '%E5%85%B6%E4%BB%96'}]}, {'key': '语言', 'name': '语言', 'value': [{'n': '全部', 'v': ''}, {'n': '国语', 'v': '%E5%9B%BD%E8%AF%AD'}, {'n': '英语', 'v': '%E8%8B%B1%E8%AF%AD'}, {'n': '粤语', 'v': '%E7%B2%A4%E8%AF%AD'}, {'n': '闽南语', 'v': '%E9%97%BD%E5%8D%97%E8%AF%AD'}, {'n': '韩语', 'v': '%E9%9F%A9%E8%AF%AD'}, {'n': '日语', 'v': '%E6%97%A5%E8%AF%AD'}, {'n': '法语', 'v': '%E6%B3%95%E8%AF%AD'}, {'n': '德语', 'v': '%E5%BE%B7%E8%AF%AD'}, {'n': '其它', 'v': '%E5%85%B6%E5%AE%83'}]}, {'key': '年份', 'name': '年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2014', 'v': '2014'}, {'n': '2013', 'v': '2013'}, {'n': '2012', 'v': '2012'}, {'n': '2011', 'v': '2011'}, {'n': '2010', 'v': '2010'}]}, {'key': '字母', 'name': '字母', 'value': [{'n': '字母', 'v': ''}, {'n': 'A', 'v': 'A'}, {'n': 'B', 'v': 'B'}, {'n': 'C', 'v': 'C'}, {'n': 'D', 'v': 'D'}, {'n': 'E', 'v': 'E'}, {'n': 'F', 'v': 'F'}, {'n': 'G', 'v': 'G'}, {'n': 'H', 'v': 'H'}, {'n': 'I', 'v': 'I'}, {'n': 'J', 'v': 'J'}, {'n': 'K', 'v': 'K'}, {'n': 'L', 'v': 'L'}, {'n': 'M', 'v': 'M'}, {'n': 'N', 'v': 'N'}, {'n': 'O', 'v': 'O'}, {'n': 'P', 'v': 'P'}, {'n': 'Q', 'v': 'Q'}, {'n': 'R', 'v': 'R'}, {'n': 'S', 'v': 'S'}, {'n': 'T', 'v': 'T'}, {'n': 'U', 'v': 'U'}, {'n': 'V', 'v': 'V'}, {'n': 'W', 'v': 'W'}, {'n': 'X', 'v': 'X'}, {'n': 'Y', 'v': 'Y'}, {'n': 'Z', 'v': 'Z'}, {'n': '0-9', 'v': '09'}]}, {'key': '排序', 'name': '排序', 'value': [{'n': '时间排序', 'v': 'time'}, {'n': '人气排序', 'v': 'hits'}, {'n': '评分排序', 'v': 'score'}]}], '2': [{'key': '类型', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '国产剧', 'v': ''}, {'n': '港台剧', 'v': ''}]}, {'key': '剧情', 'name': '剧情', 'value': [{'n': '全部', 'v': ''}, {'n': '警匪', 'v': '%E8%AD%A6%E5%8C%AA'}, {'n': '都市', 'v': '%E9%83%BD%E5%B8%82'}, {'n': '古装', 'v': '%E5%8F%A4%E8%A3%85'}, {'n': '战争', 'v': '%E6%88%98%E4%BA%89'}, {'n': '青春偶像', 'v': '%E9%9D%92%E6%98%A5%E5%81%B6%E5%83%8F'}, {'n': '喜剧', 'v': '%E5%96%9C%E5%89%A7'}, {'n': '家庭', 'v': '%E5%AE%B6%E5%BA%AD'}, {'n': '犯罪', 'v': '%E7%8A%AF%E7%BD%AA'}, {'n': '动作', 'v': '%E5%8A%A8%E4%BD%9C'}, {'n': '奇幻', 'v': '%E5%A5%87%E5%B9%BB'}, {'n': '剧情', 'v': '%E5%89%A7%E6%83%85'}, {'n': '历史', 'v': '%E5%8E%86%E5%8F%B2'}, {'n': '经典', 'v': '%E7%BB%8F%E5%85%B8'}, {'n': '乡村', 'v': '%E4%B9%A1%E6%9D%91'}, {'n': '情景', 'v': '%E6%83%85%E6%99%AF'}, {'n': '商战', 'v': '%E5%95%86%E6%88%98'}, {'n': '网剧', 'v': '%E7%BD%91%E5%89%A7'}, {'n': '其他', 'v': '%E5%85%B6%E4%BB%96'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': '%E5%86%85%E5%9C%B0'}, {'n': '韩国', 'v': '%E9%9F%A9%E5%9B%BD'}, {'n': '香港', 'v': '%E9%A6%99%E6%B8%AF'}, {'n': '台湾', 'v': '%E5%8F%B0%E6%B9%BE'}, {'n': '日本', 'v': '%E6%97%A5%E6%9C%AC'}, {'n': '美国', 'v': '%E7%BE%8E%E5%9B%BD'}, {'n': '泰国', 'v': '%E6%B3%B0%E5%9B%BD'}, {'n': '英国', 'v': '%E8%8B%B1%E5%9B%BD'}, {'n': '新加坡', 'v': '%E6%96%B0%E5%8A%A0%E5%9D%A1'}, {'n': '其他', 'v': '%E5%85%B6%E4%BB%96'}]}, {'key': '语言', 'name': '语言', 'value': [{'n': '全部', 'v': ''}, {'n': '国语', 'v': '%E5%9B%BD%E8%AF%AD'}, {'n': '英语', 'v': '%E8%8B%B1%E8%AF%AD'}, {'n': '粤语', 'v': '%E7%B2%A4%E8%AF%AD'}, {'n': '闽南语', 'v': '%E9%97%BD%E5%8D%97%E8%AF%AD'}, {'n': '韩语', 'v': '%E9%9F%A9%E8%AF%AD'}, {'n': '日语', 'v': '%E6%97%A5%E8%AF%AD'}, {'n': '其它', 'v': '%E5%85%B6%E5%AE%83'}]}, {'key': '年份', 'name': '年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2014', 'v': '2014'}, {'n': '2013', 'v': '2013'}, {'n': '2012', 'v': '2012'}, {'n': '2011', 'v': '2011'}, {'n': '2010', 'v': '2010'}]}, {'key': '字母', 'name': '字母', 'value': [{'n': '字母', 'v': ''}, {'n': 'A', 'v': 'A'}, {'n': 'B', 'v': 'B'}, {'n': 'C', 'v': 'C'}, {'n': 'D', 'v': 'D'}, {'n': 'E', 'v': 'E'}, {'n': 'F', 'v': 'F'}, {'n': 'G', 'v': 'G'}, {'n': 'H', 'v': 'H'}, {'n': 'I', 'v': 'I'}, {'n': 'J', 'v': 'J'}, {'n': 'K', 'v': 'K'}, {'n': 'L', 'v': 'L'}, {'n': 'M', 'v': 'M'}, {'n': 'N', 'v': 'N'}, {'n': 'O', 'v': 'O'}, {'n': 'P', 'v': 'P'}, {'n': 'Q', 'v': 'Q'}, {'n': 'R', 'v': 'R'}, {'n': 'S', 'v': 'S'}, {'n': 'T', 'v': 'T'}, {'n': 'U', 'v': 'U'}, {'n': 'V', 'v': 'V'}, {'n': 'W', 'v': 'W'}, {'n': 'X', 'v': 'X'}, {'n': 'Y', 'v': 'Y'}, {'n': 'Z', 'v': 'Z'}, {'n': '0-9', 'v': '09'}]}, {'key': '排序', 'name': '排序', 'value': [{'n': '时间排序', 'v': 'time'}, {'n': '人气排序', 'v': 'hits'}, {'n': '评分排序', 'v': 'score'}]}], '3': [{'key': '剧情', 'name': '剧情', 'value': [{'n': '全部', 'v': ''}, {'n': '选秀', 'v': '%E9%80%89%E7%A7%80'}, {'n': '情感', 'v': '%E6%83%85%E6%84%9F'}, {'n': '访谈', 'v': '%E8%AE%BF%E8%B0%88'}, {'n': '播报', 'v': '%E6%92%AD%E6%8A%A5'}, {'n': '旅游', 'v': '%E6%97%85%E6%B8%B8'}, {'n': '音乐', 'v': '%E9%9F%B3%E4%B9%90'}, {'n': '美食', 'v': '%E7%BE%8E%E9%A3%9F'}, {'n': '纪实', 'v': '%E7%BA%AA%E5%AE%9E'}, {'n': '曲艺', 'v': '%E6%9B%B2%E8%89%BA'}, {'n': '生活', 'v': '%E7%94%9F%E6%B4%BB'}, {'n': '游戏互动', 'v': '%E6%B8%B8%E6%88%8F%E4%BA%92%E5%8A%A8'}, {'n': '财经', 'v': '%E8%B4%A2%E7%BB%8F'}, {'n': '求职', 'v': '%E6%B1%82%E8%81%8C'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': '%E5%86%85%E5%9C%B0'}, {'n': '港台', 'v': '%E6%B8%AF%E5%8F%B0'}, {'n': '日韩', 'v': '%E6%97%A5%E9%9F%A9'}, {'n': '欧美', 'v': '%E6%AC%A7%E7%BE%8E'}]}, {'key': '语言', 'name': '语言', 'value': [{'n': '全部', 'v': ''}, {'n': '国语', 'v': '%E5%9B%BD%E8%AF%AD'}, {'n': '英语', 'v': '%E8%8B%B1%E8%AF%AD'}, {'n': '粤语', 'v': '%E7%B2%A4%E8%AF%AD'}, {'n': '闽南语', 'v': '%E9%97%BD%E5%8D%97%E8%AF%AD'}, {'n': '韩语', 'v': '%E9%9F%A9%E8%AF%AD'}, {'n': '日语', 'v': '%E6%97%A5%E8%AF%AD'}, {'n': '其它', 'v': '%E5%85%B6%E5%AE%83'}]}, {'key': '年份', 'name': '年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2014', 'v': '2014'}, {'n': '2013', 'v': '2013'}, {'n': '2012', 'v': '2012'}, {'n': '2011', 'v': '2011'}, {'n': '2010', 'v': '2010'}]}, {'key': '字母', 'name': '字母', 'value': [{'n': '字母', 'v': ''}, {'n': 'A', 'v': 'A'}, {'n': 'B', 'v': 'B'}, {'n': 'C', 'v': 'C'}, {'n': 'D', 'v': 'D'}, {'n': 'E', 'v': 'E'}, {'n': 'F', 'v': 'F'}, {'n': 'G', 'v': 'G'}, {'n': 'H', 'v': 'H'}, {'n': 'I', 'v': 'I'}, {'n': 'J', 'v': 'J'}, {'n': 'K', 'v': 'K'}, {'n': 'L', 'v': 'L'}, {'n': 'M', 'v': 'M'}, {'n': 'N', 'v': 'N'}, {'n': 'O', 'v': 'O'}, {'n': 'P', 'v': 'P'}, {'n': 'Q', 'v': 'Q'}, {'n': 'R', 'v': 'R'}, {'n': 'S', 'v': 'S'}, {'n': 'T', 'v': 'T'}, {'n': 'U', 'v': 'U'}, {'n': 'V', 'v': 'V'}, {'n': 'W', 'v': 'W'}, {'n': 'X', 'v': 'X'}, {'n': 'Y', 'v': 'Y'}, {'n': 'Z', 'v': 'Z'}, {'n': '0-9', 'v': '09'}]}, {'key': '排序', 'name': '排序', 'value': [{'n': '时间排序', 'v': 'time'}, {'n': '人气排序', 'v': 'hits'}, {'n': '评分排序', 'v': 'score'}]}], '4': [{'key': '剧情', 'name': '剧情', 'value': [{'n': '全部', 'v': ''}, {'n': '情感', 'v': '%E6%83%85%E6%84%9F'}, {'n': '科幻', 'v': '%E7%A7%91%E5%B9%BB'}, {'n': '热血', 'v': '%E7%83%AD%E8%A1%80'}, {'n': '推理', 'v': '%E6%8E%A8%E7%90%86'}, {'n': '搞笑', 'v': '%E6%90%9E%E7%AC%91'}, {'n': '冒险', 'v': '%E5%86%92%E9%99%A9'}, {'n': '萝莉', 'v': '%E8%90%9D%E8%8E%89'}, {'n': '校园', 'v': '%E6%A0%A1%E5%9B%AD'}, {'n': '动作', 'v': '%E5%8A%A8%E4%BD%9C'}, {'n': '机战', 'v': '%E6%9C%BA%E6%88%98'}, {'n': '运动', 'v': '%E8%BF%90%E5%8A%A8'}, {'n': '战争', 'v': '%E6%88%98%E4%BA%89'}, {'n': '少年', 'v': '%E5%B0%91%E5%B9%B4'}, {'n': '少女', 'v': '%E5%B0%91%E5%A5%B3'}, {'n': '社会', 'v': '%E7%A4%BE%E4%BC%9A'}, {'n': '原创', 'v': '%E5%8E%9F%E5%88%9B'}, {'n': '亲子', 'v': '%E4%BA%B2%E5%AD%90'}, {'n': '益智', 'v': '%E7%9B%8A%E6%99%BA'}, {'n': '励志', 'v': '%E5%8A%B1%E5%BF%97'}, {'n': '其他', 'v': '%E5%85%B6%E4%BB%96'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '国产', 'v': '%E5%9B%BD%E4%BA%A7'}, {'n': '日本', 'v': '%E6%97%A5%E6%9C%AC'}, {'n': '欧美', 'v': '%E6%AC%A7%E7%BE%8E'}, {'n': '其他', 'v': '%E5%85%B6%E4%BB%96'}]}, {'key': '语言', 'name': '语言', 'value': [{'n': '全部', 'v': ''}, {'n': '国语', 'v': '%E5%9B%BD%E8%AF%AD'}, {'n': '英语', 'v': '%E8%8B%B1%E8%AF%AD'}, {'n': '粤语', 'v': '%E7%B2%A4%E8%AF%AD'}, {'n': '闽南语', 'v': '%E9%97%BD%E5%8D%97%E8%AF%AD'}, {'n': '韩语', 'v': '%E9%9F%A9%E8%AF%AD'}, {'n': '日语', 'v': '%E6%97%A5%E8%AF%AD'}, {'n': '其它', 'v': '%E5%85%B6%E5%AE%83'}]}, {'key': '年份', 'name': '年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2014', 'v': '2014'}, {'n': '2013', 'v': '2013'}, {'n': '2012', 'v': '2012'}, {'n': '2011', 'v': '2011'}, {'n': '2010', 'v': '2010'}]}, {'key': '字母', 'name': '字母', 'value': [{'n': '字母', 'v': ''}, {'n': 'A', 'v': 'A'}, {'n': 'B', 'v': 'B'}, {'n': 'C', 'v': 'C'}, {'n': 'D', 'v': 'D'}, {'n': 'E', 'v': 'E'}, {'n': 'F', 'v': 'F'}, {'n': 'G', 'v': 'G'}, {'n': 'H', 'v': 'H'}, {'n': 'I', 'v': 'I'}, {'n': 'J', 'v': 'J'}, {'n': 'K', 'v': 'K'}, {'n': 'L', 'v': 'L'}, {'n': 'M', 'v': 'M'}, {'n': 'N', 'v': 'N'}, {'n': 'O', 'v': 'O'}, {'n': 'P', 'v': 'P'}, {'n': 'Q', 'v': 'Q'}, {'n': 'R', 'v': 'R'}, {'n': 'S', 'v': 'S'}, {'n': 'T', 'v': 'T'}, {'n': 'U', 'v': 'U'}, {'n': 'V', 'v': 'V'}, {'n': 'W', 'v': 'W'}, {'n': 'X', 'v': 'X'}, {'n': 'Y', 'v': 'Y'}, {'n': 'Z', 'v': 'Z'}, {'n': '0-9', 'v': '09'}]}, {'key': '排序', 'name': '排序', 'value': [{'n': '时间排序', 'v': 'time'}, {'n': '人气排序', 'v': 'hits'}, {'n': '评分排序', 'v': 'score'}]}], '23': [{'key': '字母', 'name': '字母', 'value': [{'n': '字母', 'v': ''}, {'n': 'A', 'v': 'A'}, {'n': 'B', 'v': 'B'}, {'n': 'C', 'v': 'C'}, {'n': 'D', 'v': 'D'}, {'n': 'E', 'v': 'E'}, {'n': 'F', 'v': 'F'}, {'n': 'G', 'v': 'G'}, {'n': 'H', 'v': 'H'}, {'n': 'I', 'v': 'I'}, {'n': 'J', 'v': 'J'}, {'n': 'K', 'v': 'K'}, {'n': 'L', 'v': 'L'}, {'n': 'M', 'v': 'M'}, {'n': 'N', 'v': 'N'}, {'n': 'O', 'v': 'O'}, {'n': 'P', 'v': 'P'}, {'n': 'Q', 'v': 'Q'}, {'n': 'R', 'v': 'R'}, {'n': 'S', 'v': 'S'}, {'n': 'T', 'v': 'T'}, {'n': 'U', 'v': 'U'}, {'n': 'V', 'v': 'V'}, {'n': 'W', 'v': 'W'}, {'n': 'X', 'v': 'X'}, {'n': 'Y', 'v': 'Y'}, {'n': 'Z', 'v': 'Z'}, {'n': '0-9', 'v': '09'}]}, {'key': '排序', 'name': '排序', 'value': [{'n': '时间排序', 'v': 'time'}, {'n': '人气排序', 'v': 'hits'}, {'n': '评分排序', 'v': 'score'}]}]}, +searchUrl:'/search/**-fypage.html', +class_parse:'.navbar-items li:gt(1):lt(8);a&&Text;a&&href;/(\\d+).html', +lazy:'js:var MY_HOME="http://lanmeiguojiang.com:5244/d/%E8%93%9D%E8%8E%93%E4%BA%91%E7%9B%98";let html=fetch(input,fetch_params);var player=JSON.parse(html.match(/r player_.*?=(.*?)0){sort=MY_FL.sort||"T";tags=Object.values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{sort="T";tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d);setResult2(res);', + 二级:'', + 搜索:'', +} \ No newline at end of file diff --git a/TVBox_JS/追剧喵.js b/TVBox_JS/追剧喵.js new file mode 100644 index 0000000..9a6f989 --- /dev/null +++ b/TVBox_JS/追剧喵.js @@ -0,0 +1,6 @@ +// muban.海螺2.二级.content = '.hl-infos-content&&Text'; +var rule = Object.assign(muban.海螺2,{ + title:'追剧喵', + host:'https://zjmiao.com', + 搜索:'.search-list;a&&Text;.lazy&&data-original;.deployment&&Text;a&&href', +}); \ No newline at end of file diff --git a/TVBox_JS/追剧达人.js b/TVBox_JS/追剧达人.js new file mode 100644 index 0000000..3f97c71 --- /dev/null +++ b/TVBox_JS/追剧达人.js @@ -0,0 +1,16 @@ +var rule={ +title:'追剧达人', +host:'http://zjdr.tv', +url:'/vodshow/id/fyclass/page/fypage.html', +searchUrl:'/vod/search/page/fypage/wd/**.html', +searchable:2, +quickSearch:1, +filterable:0, +headers:{'User-Agent':'MOBILE_UA', }, +class_name:'电影&电视剧&综艺&动漫', +class_url:'1&2&3&4', +推荐:'.module-main;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', +一级:'.module-poster-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', +二级:{"title":"h1&&Text;.module-info-items div:eq(5) p&&Text","img":".lazyload&&data-original","desc":";;;.module-info-items div:eq(4) a&&Text;.module-info-items div:eq(3) a&&Text","content":".show-desc&&Text","tabs":".module-tab-items-box div","lists":".module-play-list:eq(#id) a"}, +搜索:'.module-poster-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', +} \ No newline at end of file diff --git a/TVBox_JS/酷云77.js b/TVBox_JS/酷云77.js new file mode 100644 index 0000000..2ffb5b5 --- /dev/null +++ b/TVBox_JS/酷云77.js @@ -0,0 +1,36 @@ +var rule = { + title:'酷云77', + host:'http://api.kunyu77.com', + homeUrl:'/api.php/provide/homeBlock?type_id=0', + searchUrl:'/api.php/provide/searchVideo?searchName=**', + searchable:2, + quickSearch:0, + filterable:1, + multi:1, + // 分类链接fypage参数支持1个()表达式 + url:'/api.php/provide/searchFilter?type_id=fyclass&pagesize=24&pagenum=fypage', + detailUrl:'/api.php/provide/videoDetail?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids=fyid', + filter_url:'year={{fl.y}}&category={{fl.scat}}&area={{fl.a}}', + filter:{0: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 1: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 2: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 3: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}], 4: [{'key': 'y', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}, {'n': '2015之前', 'v': 'lt|2015'}]}, {'key': 'a', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '日本', 'v': '日本'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '韩国', 'v': '韩国'}, {'n': '欧洲', 'v': '欧洲'}, {'n': '其他', 'v': '泰国'}]}, {'key': 'scat', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '剧情', 'v': '剧情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '喜剧', 'v': '喜剧'}, {'n': '战争', 'v': '战争'}, {'n': '爱情', 'v': '爱情'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '伦理', 'v': '伦理'}]}]}, + headers:{ + "User-Agent": "Dalvik/2.1.0" + }, + timeout:5000, + class_name:'全部&电影&电视剧&综艺&动漫', + class_url:'0&1&2&3&4', + limit:20, + play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input={parse:1,url:input};', + lazy:'', + lazy:'js:function GetPlayUrl(playUrl){let realPlay={parse:0,url:playUrl};if(/mgtv|sohu/.test(playUrl)){realPlay.headers={"User-Agent":"Mozilla/5.0"}}else if(/bili/.test(playUrl)){realPlay.headers={"User-Agent":"Mozilla/5.0",Referer:"https://www.bilibili.com"}}else if(/ixigua/.test(playUrl)){realPlay.headers={"User-Agent":"Mozilla/5.0",Referer:"https://www.ixigua.com"}}return realPlay}if(/\\.m3u8|\\.mp4/.test(input)){input={parse:0,url:input}}else{try{let url="http://api.kunyu77.com/api.php/provide/parserUrl?url="+input;let html=request(url);let urll=JSON.parse(html).data.url;let playhtml=request(urll);let playurl=JSON.parse(playhtml).url;input=GetPlayUrl(playurl)}catch(e){input={parse:1,jx:1,url:input}}}', + 推荐:'json:data.blocks;contents;title;videoCover;msg;id', + double:true, + // 一级:'json:data.filterData.listData;title;img;subTitle;videoLink;summary', + 一级:'', + 一级:'json:data.result;title;videoCover;msg;id', + 二级:'', + 二级:'js:var d=[];VOD={vod_id:input};try{let html=request(input);print(html);html=JSON.parse(html);let node=html.data;VOD={vod_id:node["id"],vod_name:node["videoName"],vod_pic:node["videoCover"],type_name:node["subCategory"],vod_year:node["year"],vod_area:node["area"],vod_remarks:node["msg"],vod_actor:node["actor"],vod_director:node["director"],vod_content:node["brief"].strip()};let tid=input.split("ids=")[1];let listUrl="http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids="+tid;html=request(listUrl);html=JSON.parse(html);let episodes=html.data.episodes;let playMap={};if(typeof play_url==="undefined"){var play_url=""}play_url=play_url.replace("&play_url=","&type=json&play_url=");episodes.forEach(function(ep){let playurls=ep["playurls"];playurls.forEach(function(playurl){let source=playurl["playfrom"];if(!playMap.hasOwnProperty(source)){playMap[source]=[]}playMap[source].append(playurl["title"].strip()+"$"+play_url+urlencode(playurl["playurl"]))})});let playFrom=[];let playList=[];Object.keys(playMap).forEach(function(key){playFrom.append(key);playList.append(playMap[key].join("#"))});let vod_play_from=playFrom.join("$$$");let vod_play_url=playList.join("$$$");VOD["vod_play_from"]=vod_play_from;VOD["vod_play_url"]=vod_play_url}catch(e){log("获取二级详情页发生错误:"+e.message)}', + 搜索:'', + 搜索:'json:data;videoName;videoCover;msg;id', +} \ No newline at end of file diff --git a/TVBox_JS/鸭奈飞.js b/TVBox_JS/鸭奈飞.js new file mode 100644 index 0000000..0c5390e --- /dev/null +++ b/TVBox_JS/鸭奈飞.js @@ -0,0 +1,6 @@ +var rule = Object.assign(muban.mxpro,{ +title:'鸭奈飞', +host:'https://yanetflix.com', +url:'/vodshow/fyclass--------fypage---.html', +class_parse:'.navbar-items li:gt(1):lt(6);a&&Text;a&&href;.*/(.*?).html', +}); \ No newline at end of file diff --git a/TVBox_Java/crawler/Spider.java b/TVBox_Java/crawler/Spider.java new file mode 100644 index 0000000..9f3bf4a --- /dev/null +++ b/TVBox_Java/crawler/Spider.java @@ -0,0 +1,103 @@ +package com.github.catvod.crawler; + +import android.content.Context; + +import org.json.JSONObject; + +import java.util.HashMap; +import java.util.List; + +public abstract class Spider { + + public static JSONObject empty = new JSONObject(); + + public void init(Context context) { + } + + public void init(Context context, String extend) { + init(context); + } + + /** + * 首页数据内容 + * + * @param filter 是否开启筛选 + * @return + */ + public String homeContent(boolean filter) { + return ""; + } + + /** + * 首页最近更新数据 如果上面的homeContent中不包含首页最近更新视频的数据 可以使用这个接口返回 + * + * @return + */ + public String homeVideoContent() { + return ""; + } + + /** + * 分类数据 + * + * @param tid + * @param pg + * @param filter + * @param extend + * @return + */ + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + return ""; + } + + /** + * 详情数据 + * + * @param ids + * @return + */ + public String detailContent(List ids) { + return ""; + } + + /** + * 搜索数据内容 + * + * @param key + * @param quick + * @return + */ + public String searchContent(String key, boolean quick) { + return ""; + } + + /** + * 播放信息 + * + * @param flag + * @param id + * @return + */ + public String playerContent(String flag, String id, List vipFlags) { + return ""; + } + + /** + * webview解析时使用 可自定义判断当前加载的 url 是否是视频 + * + * @param url + * @return + */ + public boolean isVideoFormat(String url) { + return false; + } + + /** + * 是否手动检测webview中加载的url + * + * @return + */ + public boolean manualVideoCheck() { + return false; + } +} diff --git a/TVBox_Java/crawler/SpiderDebug.java b/TVBox_Java/crawler/SpiderDebug.java new file mode 100644 index 0000000..fc155a1 --- /dev/null +++ b/TVBox_Java/crawler/SpiderDebug.java @@ -0,0 +1,19 @@ +package com.github.catvod.crawler; + +public class SpiderDebug { + public static void log(Throwable th) { + try { + android.util.Log.d("SpiderLog", th.getMessage(), th); + } catch (Throwable th1) { + + } + } + + public static void log(String msg) { + try { + android.util.Log.d("SpiderLog", msg); + } catch (Throwable th1) { + + } + } +} diff --git a/TVBox_Java/crawler/SpiderReq.java b/TVBox_Java/crawler/SpiderReq.java new file mode 100644 index 0000000..6b5265f --- /dev/null +++ b/TVBox_Java/crawler/SpiderReq.java @@ -0,0 +1,299 @@ +package com.github.catvod.crawler; + +import org.jetbrains.annotations.NotNull; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import okhttp3.OkHttpClient; +import okhttp3.RequestBody; +import okhttp3.Response; +import rxhttp.RxHttpPlugins; +import rxhttp.wrapper.param.RxHttp; +import rxhttp.wrapper.parse.Parser; + +public class SpiderReq { + + private static final String defaultTag = "sp_req_default"; + + private static OkHttpClient defaultClient = initDefaultClient(); + + private static OkHttpClient initDefaultClient() { + OkHttpClient.Builder builder = new OkHttpClient.Builder(); + builder.readTimeout(15, TimeUnit.SECONDS); + builder.writeTimeout(15, TimeUnit.SECONDS); + builder.connectTimeout(15, TimeUnit.SECONDS); + builder.retryOnConnectionFailure(true); + return builder.build(); + } + + /** + * 取消请求 + * + * @param tag + */ + public static void cancel(String tag) { + try { + RxHttpPlugins.cancelAll(tag); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + + /** + * Get + * + * @param su + * @return + */ + public static SpiderReqResult get(SpiderUrl su) { + return get(defaultClient, su.url, defaultTag, su.headers); + } + + /** + * Get whit custom tag + * + * @param su + * @param tag + * @return + */ + public static SpiderReqResult get(SpiderUrl su, String tag) { + return get(defaultClient, su.url, tag, su.headers); + } + + /** + * Get with custom http client + * + * @param client + * @param su + * @return + */ + public static SpiderReqResult get(OkHttpClient client, SpiderUrl su) { + return get(client, su.url, defaultTag, su.headers); + } + + /** + * Get with custom http client & tag + * + * @param client + * @param su + * @param tag + * @return + */ + + public static SpiderReqResult get(OkHttpClient client, SpiderUrl su, String tag) { + return get(client, su.url, tag, su.headers); + } + + /** + * Get base + * + * @param client + * @param url + * @param tag + * @param headers + * @return + */ + public static SpiderReqResult get(OkHttpClient client, String url, String tag, HashMap headers) { + try { + return RxHttp.get(url) + .setOkClient(client) + .tag(tag) + .addAllHeader(headers) + .execute(new Parser() { + @Override + public SpiderReqResult onParse(@NotNull Response response) throws IOException { + String content = ""; + if (response.body() != null) { + content = response.body().string(); + } + Map> headers = response.headers().toMultimap(); + return new SpiderReqResult(headers, content); + } + }); + } catch (Throwable e) { + SpiderDebug.log(e); + } + return SpiderReqResult.empty; + } + + /** + * Header + * + * @param url + * @param headers + * @return + */ + public static SpiderReqResult header(String url, HashMap headers) { + return header(defaultClient, url, defaultTag, headers); + } + + /** + * Header + * + * @param client + * @param url + * @param tag + * @param headers + * @return + */ + public static SpiderReqResult header(OkHttpClient client, String url, String tag, HashMap headers) { + try { + return RxHttp.head(url) + .setOkClient(client) + .tag(tag) + .addAllHeader(headers) + .execute(new Parser() { + @Override + public SpiderReqResult onParse(@NotNull Response response) throws IOException { + Map> headers = response.headers().toMultimap(); + return new SpiderReqResult(headers, ""); + } + }); + } catch (Throwable e) { + SpiderDebug.log(e); + } + return SpiderReqResult.empty; + } + + /** + * Post Body + * + * @param url + * @param body + * @param headers + * @return + */ + public static SpiderReqResult postBody(String url, RequestBody body, HashMap headers) { + return postBody(defaultClient, url, body, defaultTag, headers); + } + + /** + * Post Body + * + * @param client + * @param url + * @param body + * @param tag + * @param headers + * @return + */ + public static SpiderReqResult postBody(OkHttpClient client, String url, RequestBody body, String tag, HashMap headers) { + try { + return RxHttp.postBody(url) + .setOkClient(client) + .setBody(body) + .tag(tag) + .addAllHeader(headers) + .execute(new Parser() { + @Override + public SpiderReqResult onParse(@NotNull Response response) throws IOException { + String content = ""; + if (response.body() != null) { + content = response.body().string(); + } + Map> headers = response.headers().toMultimap(); + return new SpiderReqResult(headers, content); + } + }); + } catch (Throwable e) { + SpiderDebug.log(e); + } + return SpiderReqResult.empty; + } + + /** + * Post Form + * + * @param url + * @param form + * @param headers + * @return + */ + public static SpiderReqResult postForm(String url, HashMap form, HashMap headers) { + return postForm(defaultClient, url, form, defaultTag, headers); + } + + /** + * Post Form + * + * @param client + * @param url + * @param form + * @param tag + * @param headers + * @return + */ + public static SpiderReqResult postForm(OkHttpClient client, String url, HashMap form, String tag, HashMap headers) { + try { + return RxHttp.postForm(url) + .setOkClient(client) + .addAll(form) + .tag(tag) + .addAllHeader(headers) + .execute(new Parser() { + @Override + public SpiderReqResult onParse(@NotNull Response response) throws IOException { + String content = ""; + if (response.body() != null) { + content = response.body().string(); + } + Map> headers = response.headers().toMultimap(); + return new SpiderReqResult(headers, content); + } + }); + } catch (Throwable e) { + SpiderDebug.log(e); + } + return SpiderReqResult.empty; + } + + /** + * Post Json + * + * @param url + * @param json + * @param headers + * @return + */ + public static SpiderReqResult postJson(String url, HashMap json, HashMap headers) { + return postJson(defaultClient, url, json, defaultTag, headers); + } + + /** + * Post Json + * + * @param client + * @param url + * @param json + * @param tag + * @param headers + * @return + */ + public static SpiderReqResult postJson(OkHttpClient client, String url, HashMap json, String tag, HashMap headers) { + try { + return RxHttp.postJson(url) + .setOkClient(client) + .addAll(json) + .tag(tag) + .addAllHeader(headers) + .execute(new Parser() { + @Override + public SpiderReqResult onParse(@NotNull Response response) throws IOException { + String content = ""; + if (response.body() != null) { + content = response.body().string(); + } + Map> headers = response.headers().toMultimap(); + return new SpiderReqResult(headers, content); + } + }); + } catch (Throwable e) { + SpiderDebug.log(e); + } + return SpiderReqResult.empty; + } +} diff --git a/TVBox_Java/crawler/SpiderReqResult.java b/TVBox_Java/crawler/SpiderReqResult.java new file mode 100644 index 0000000..808f665 --- /dev/null +++ b/TVBox_Java/crawler/SpiderReqResult.java @@ -0,0 +1,17 @@ +package com.github.catvod.crawler; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class SpiderReqResult { + SpiderReqResult(Map> headers, String content) { + this.headers = headers; + this.content = content; + } + + public static SpiderReqResult empty = new SpiderReqResult(new HashMap>(), ""); + + public Map> headers; + public String content; +} diff --git a/TVBox_Java/crawler/SpiderUrl.java b/TVBox_Java/crawler/SpiderUrl.java new file mode 100644 index 0000000..7260f92 --- /dev/null +++ b/TVBox_Java/crawler/SpiderUrl.java @@ -0,0 +1,20 @@ +package com.github.catvod.crawler; + +import java.util.HashMap; + +public class SpiderUrl { + + public static SpiderUrl Empty = new SpiderUrl(); + + public String url = ""; + public HashMap headers = new HashMap<>(); + + public SpiderUrl() { + } + + public SpiderUrl(String url, HashMap headers) { + this.url = url; + if (headers != null) + this.headers = headers; + } +} diff --git a/TVBox_Java/demo/MainActivity.java b/TVBox_Java/demo/MainActivity.java new file mode 100644 index 0000000..51f11a9 --- /dev/null +++ b/TVBox_Java/demo/MainActivity.java @@ -0,0 +1,28 @@ +package com.github.catvod.demo; + +import android.app.Activity; +import android.os.Bundle; + +import org.json.JSONObject; + +public class MainActivity extends Activity { + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + new Thread(new Runnable() { + + @Override + public void run() { + + + + } + }). + start(); + } +} + + diff --git a/TVBox_Java/live/TxtSubscribe.java b/TVBox_Java/live/TxtSubscribe.java new file mode 100644 index 0000000..38ab7b8 --- /dev/null +++ b/TVBox_Java/live/TxtSubscribe.java @@ -0,0 +1,144 @@ +package com.github.catvod.live; + +import android.util.Base64; + +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.StringReader; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; + +public class TxtSubscribe { + + public static void subscribe(LinkedHashMap>> allLives, String url, HashMap headers) { + if (url.contains(".bmp")) { + String content = OkHttpUtil.string(url, headers); + String[] split = content.split("\\*\\*"); + String a = new String(Base64.decode(split[1], Base64.DEFAULT)); + parse(allLives, a); + } else { + String content = OkHttpUtil.string(url, headers); + parse(allLives, content); + } + } + + public static void parse(LinkedHashMap>> allLives, String txt) { + try { + BufferedReader br = new BufferedReader(new StringReader(txt)); + String line = br.readLine(); + LinkedHashMap> noGroup = new LinkedHashMap<>(); + LinkedHashMap> groupLives = noGroup; + while (line != null) { + if (line.trim().isEmpty()) { + line = br.readLine(); + continue; + } + String[] lineInfo = line.split(","); + if (lineInfo.length < 2) { + line = br.readLine(); + continue; + } + if (line.contains("#genre#")) { + String group = lineInfo[0].trim(); + if (!allLives.containsKey(group)) { + groupLives = new LinkedHashMap<>(); + allLives.put(group, groupLives); + } else { + groupLives = allLives.get(group); + } + } else { + String title = lineInfo[0].trim(); + String[] urlMix = lineInfo[1].trim().split("#"); + for (int j = 0; j < urlMix.length; j++) { + String url = urlMix[j].trim(); + if (url.isEmpty()) + continue; + if (url.startsWith("http") || url.startsWith("rtsp") || url.startsWith("rtmp")) { + ArrayList urls = null; + if (!groupLives.containsKey(title)) { + urls = new ArrayList<>(); + groupLives.put(title, urls); + } else { + urls = groupLives.get(title); + } + if (!urls.contains(url)) + urls.add(url); + } else { + // SpiderDebug.log("Skip " + url); + } + } + } + line = br.readLine(); + } + br.close(); + if (!noGroup.isEmpty()) { + allLives.put("未分组", noGroup); + } + } catch (Throwable th) { + + } + } + + public static String live2Json(LinkedHashMap>> lives) { + JSONArray groups = new JSONArray(); + Iterator groupKeys = lives.keySet().iterator(); + while (groupKeys.hasNext()) { + String group = groupKeys.next(); + JSONArray channels = new JSONArray(); + LinkedHashMap> allChannel = lives.get(group); + if (allChannel.isEmpty()) + continue; + Iterator channelKeys = allChannel.keySet().iterator(); + while (channelKeys.hasNext()) { + String channel = channelKeys.next(); + ArrayList allUrls = allChannel.get(channel); + if (allUrls.isEmpty()) + continue; + JSONArray urls = new JSONArray(); + for (int i = 0; i < allUrls.size(); i++) { + urls.put(allUrls.get(i)); + } + JSONObject newChannel = new JSONObject(); + try { + newChannel.put("name", channel); + newChannel.put("urls", urls); + } catch (JSONException e) { + } + channels.put(newChannel); + } + JSONObject newGroup = new JSONObject(); + try { + newGroup.put("group", group); + newGroup.put("channels", channels); + } catch (JSONException e) { + } + groups.put(newGroup); + } + return groups.toString(); + } + + public static Object[] load(String ext) { + try { + LinkedHashMap>> allLives = new LinkedHashMap<>(); + TxtSubscribe.subscribe(allLives, ext, null); + String json = TxtSubscribe.live2Json(allLives); + Object[] result = new Object[3]; + result[0] = 200; + result[1] = "text/plain; charset=utf-8"; + ByteArrayInputStream baos = new ByteArrayInputStream(json.getBytes("UTF-8")); + result[2] = baos; + return result; + } catch (Throwable th) { + th.printStackTrace(); + } + return null; + } +} diff --git a/TVBox_Java/parser/JsonBasic.java b/TVBox_Java/parser/JsonBasic.java new file mode 100644 index 0000000..940001b --- /dev/null +++ b/TVBox_Java/parser/JsonBasic.java @@ -0,0 +1,73 @@ +package com.github.catvod.parser; + +import android.util.Base64; + +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONObject; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Set; + +public class JsonBasic { + public static JSONObject parse(LinkedHashMap jx, String url) { + try { + SpiderDebug.log("Load Json Parse Basic..."); + if (jx.size() > 0) { + Set jxNames = jx.keySet(); + for (String jxName : jxNames) { + String parseUrl = jx.get(jxName); + HashMap reqHeaders = getReqHeader(parseUrl); + try { + String realUrl = reqHeaders.get("url"); + reqHeaders.remove("url"); + SpiderDebug.log(realUrl + url); + String json = OkHttpUtil.string(realUrl + url, reqHeaders); + JSONObject taskResult = Misc.jsonParse(url, json); + if (taskResult == null) + continue; + taskResult.put("jxFrom", jxName); + SpiderDebug.log(taskResult.toString()); + return taskResult; + } catch (Throwable th) { + SpiderDebug.log(th); + } + } + } + } catch (Throwable th) { + SpiderDebug.log(th); + } + return new JSONObject(); + } + + public static HashMap getReqHeader(String url) { + HashMap reqHeaders = new HashMap<>(); + reqHeaders.put("url", url); + if (url.contains("cat_ext")) { + try { + int start = url.indexOf("cat_ext="); + int end = url.indexOf("&", start); + String ext = url.substring(start + 8, end); + ext = new String(Base64.decode(ext, Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP)); + String newUrl = url.substring(0, start) + url.substring(end + 1); + JSONObject jsonObject = new JSONObject(ext); + if (jsonObject.has("header")) { + JSONObject headerJson = jsonObject.optJSONObject("header"); + Iterator keys = headerJson.keys(); + while (keys.hasNext()) { + String key = keys.next(); + reqHeaders.put(key, headerJson.optString(key, "")); + } + } + reqHeaders.put("url", newUrl); + } catch (Throwable th) { + + } + } + return reqHeaders; + } +} diff --git a/TVBox_Java/parser/JsonParallel.java b/TVBox_Java/parser/JsonParallel.java new file mode 100644 index 0000000..c8efa1c --- /dev/null +++ b/TVBox_Java/parser/JsonParallel.java @@ -0,0 +1,94 @@ +package com.github.catvod.parser; + +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Set; +import java.util.concurrent.Callable; +import java.util.concurrent.CompletionService; +import java.util.concurrent.ExecutorCompletionService; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +/** + * 并发解析,直到获得第一个结果 + *

    + * 默认解析超时时间为15秒,如果需要请自定义SpiderReq的HttpClient + *

    + * Author: CatVod + */ +public class JsonParallel { + private static final String ParseOKTag = "p_json_parse"; + + public static JSONObject parse(LinkedHashMap jx, String url) { + try { + if (jx.size() > 0) { + ExecutorService executorService = Executors.newFixedThreadPool(3); + CompletionService completionService = new ExecutorCompletionService(executorService); + List> futures = new ArrayList<>(); + Set jxNames = jx.keySet(); + for (String jxName : jxNames) { + String parseUrl = jx.get(jxName); + futures.add(completionService.submit(new Callable() { + @Override + public JSONObject call() throws Exception { + try { + HashMap reqHeaders = JsonBasic.getReqHeader(parseUrl); + String realUrl = reqHeaders.get("url"); + reqHeaders.remove("url"); + SpiderDebug.log(realUrl + url); + String json = OkHttpUtil.string(realUrl + url, ParseOKTag, reqHeaders); + JSONObject taskResult = Misc.jsonParse(url, json); + taskResult.put("jxFrom", jxName); + SpiderDebug.log(taskResult.toString()); + return taskResult; + } catch (Throwable th) { + SpiderDebug.log(th); + return null; + } + } + })); + } + JSONObject pTaskResult = null; + for (int i = 0; i < futures.size(); ++i) { + Future completed = completionService.take(); + try { + pTaskResult = completed.get(); + if (pTaskResult != null) { + OkHttpUtil.cancel(ParseOKTag); + for (int j = 0; j < futures.size(); j++) { + try { + futures.get(j).cancel(true); + } catch (Throwable th) { + SpiderDebug.log(th); + } + } + futures.clear(); + break; + } + } catch (Throwable th) { + SpiderDebug.log(th); + } + } + try { + executorService.shutdownNow(); + } catch (Throwable th) { + SpiderDebug.log(th); + } + if (pTaskResult != null) + return pTaskResult; + } + } catch (Throwable th) { + SpiderDebug.log(th); + } + return new JSONObject(); + } +} diff --git a/TVBox_Java/parser/JsonSequence.java b/TVBox_Java/parser/JsonSequence.java new file mode 100644 index 0000000..e850558 --- /dev/null +++ b/TVBox_Java/parser/JsonSequence.java @@ -0,0 +1,48 @@ +package com.github.catvod.parser; + +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONObject; + +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Set; + +/** + * 依次解析,失败尝试下一个 + *

    + * 默认解析超时时间为15秒,如果需要请自定义SpiderReq的HttpClient + *

    + * Author: CatVod + */ +public class JsonSequence { + public static JSONObject parse(LinkedHashMap jx, String url) { + try { + if (jx.size() > 0) { + Set jxNames = jx.keySet(); + for (String jxName : jxNames) { + String parseUrl = jx.get(jxName); + try { + HashMap reqHeaders = JsonBasic.getReqHeader(parseUrl); + String realUrl = reqHeaders.get("url"); + reqHeaders.remove("url"); + SpiderDebug.log(realUrl + url); + String json = OkHttpUtil.string(realUrl + url, reqHeaders); + JSONObject taskResult = Misc.jsonParse(url, json); + if (taskResult == null) + continue; + taskResult.put("jxFrom", jxName); + return taskResult; + } catch (Throwable th) { + SpiderDebug.log(th); + } + } + } + } catch (Throwable th) { + SpiderDebug.log(th); + } + return new JSONObject(); + } +} diff --git a/TVBox_Java/parser/MixDemo.java b/TVBox_Java/parser/MixDemo.java new file mode 100644 index 0000000..4db3f25 --- /dev/null +++ b/TVBox_Java/parser/MixDemo.java @@ -0,0 +1,189 @@ +package com.github.catvod.parser; + +import android.util.Base64; + +import com.github.catvod.crawler.SpiderDebug; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.io.ByteArrayInputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; + +public class MixDemo { + + /* + "parses": [ + { + "name": "聚合", + "type": 3, + "url": "Demo" + }, + { + "name": "解析", + "type": 1, + "url": "https://192.168.10.88/jx.php?url=", + "ext": { + "flag": [ + "qq", + "iqiyi", + "qiyi", + "爱奇艺", + "腾讯", + "letv", + "sohu", + "tudou", + "pptv", + "mgtv", + "wasu", + "bilibili" + ] + } + }] + */ + + public static HashMap> flagWebJx = new HashMap<>(); + + static HashMap> configs = null; + + public static JSONObject parse(LinkedHashMap> jx, String nameMe, String flag, String url) { + try { + if (configs == null) { + configs = new HashMap<>(); + Iterator keys = jx.keySet().iterator(); + while (keys.hasNext()) { + String key = keys.next(); + HashMap parseBean = jx.get(key); + String type = parseBean.get("type"); + if (type.equals("1") || type.equals("0")) { + try { + JSONArray flags = new JSONObject(parseBean.get("ext")).getJSONArray("flag"); + for (int j = 0; j < flags.length(); j++) { + String flagKey = flags.getString(j); + ArrayList flagJx = configs.get(flagKey); + if (flagJx == null) { + flagJx = new ArrayList<>(); + configs.put(flagKey, flagJx); + } + flagJx.add(key); + } + } catch (Throwable th) { + + } + } + } + } + // 通过上面的配置获得解析列表 + LinkedHashMap jsonJx = new LinkedHashMap<>(); + ArrayList webJx = new ArrayList<>(); + ArrayList flagJx = configs.get(flag); + if (flagJx != null && !flagJx.isEmpty()) { + for (int i = 0; i < flagJx.size(); i++) { + String key = flagJx.get(i); + HashMap parseBean = jx.get(key); + String type = parseBean.get("type"); + if (type.equals("1")) { + jsonJx.put(key, mixUrl(parseBean.get("url"), parseBean.get("ext"))); + } else if (type.equals("0")) { + webJx.add(parseBean.get("url")); + } + } + } else { + Iterator keys = jx.keySet().iterator(); + while (keys.hasNext()) { + String key = keys.next(); + HashMap parseBean = jx.get(key); + String type = parseBean.get("type"); + if (type.equals("1")) { + jsonJx.put(key, mixUrl(parseBean.get("url"), parseBean.get("ext"))); + } else if (type.equals("0")) { + webJx.add(parseBean.get("url")); + } + } + } + if (!webJx.isEmpty()) { + flagWebJx.put(flag, webJx); + } + // 优先使用json并发解析 + JSONObject jsonResult = JsonParallel.parse(jsonJx, url); + if (jsonResult != null && jsonResult.has("url")) { + return jsonResult; + } + // json解析没有得到结果 用webview解析 + if (!webJx.isEmpty()) { + JSONObject webResult = new JSONObject(); + webResult.put("url", "proxy://do=MixDemo&flag=" + flag + "&url=" + Base64.encodeToString(url.getBytes(), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP)); + webResult.put("parse", 1); + return webResult; + } + } catch (Throwable th) { + SpiderDebug.log(th); + } + return new JSONObject(); + } + + private static String mixUrl(String url, String ext) { + if (ext.trim().length() > 0) { + int idx = url.indexOf("?"); + if (idx > 0) { + return url.substring(0, idx + 1) + "cat_ext=" + Base64.encodeToString(ext.getBytes(), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP) + "&" + url.substring(idx + 1); + } + } + return url; + } + + public static Object[] loadHtml(String flag, String url) { + try { + url = new String(Base64.decode(url, Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP), "UTF-8"); + String html = "\n" + + "\n" + + "\n" + + "\n" + + "解析\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + ""; + + StringBuilder jxs = new StringBuilder(); + if (flagWebJx.containsKey(flag)) { + ArrayList jxUrls = flagWebJx.get(flag); + for (int i = 0; i < jxUrls.size(); i++) { + jxs.append("\""); + jxs.append(jxUrls.get(i)); + jxs.append("\""); + if (i < jxUrls.size() - 1) { + jxs.append(","); + } + } + } + html = html.replace("#url#", url).replace("#jxs#", jxs.toString()); + Object[] result = new Object[3]; + result[0] = 200; + result[1] = "text/html; charset=\"UTF-8\""; + ByteArrayInputStream baos = new ByteArrayInputStream(html.toString().getBytes("UTF-8")); + result[2] = baos; + return result; + } catch (Throwable th) { + th.printStackTrace(); + } + return null; + } +} diff --git a/TVBox_Java/spider/Acg.java b/TVBox_Java/spider/Acg.java new file mode 100644 index 0000000..69dcaff --- /dev/null +++ b/TVBox_Java/spider/Acg.java @@ -0,0 +1,498 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.LinkedHashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Headers; + +public class Acg extends Spider { + private static final String siteUrl = "http://www.acgnya.com"; + private static final String siteHost = "www.acgnya.com"; + private String cookie=""; + private String referer=""; + + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/vodtype/(\\d+)/"); + private Pattern regexVid = Pattern.compile("/voddetail/(\\d+)/"); + private Pattern regexPlay = Pattern.compile("/vodplay/(\\d+)-(\\d+)-(\\d+)/"); + private Pattern regexPage = Pattern.compile("/vodshow/(\\d+)/"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"buka\":{\"sh\":\"不卡推荐\",\"pu\":\"https://pro.ascepan.top/player/?url=\",\"sn\":1,\"or\":999}}"); + filterConfig = new JSONObject("{\"20\":[{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"异世界\",\"v\":\"异世界\"},{\"n\":\"穿越\",\"v\":\"穿越\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"动作\",\"v\":\"动作\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"普通话\",\"v\":\"普通话\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders2(siteUrl,referer))); + // 分类节点 + Elements elements = doc.select("ul.navbar-items>li.navbar-item>a"); + System.out.println("shouye" + elements); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("连载动画") || + name.equals("国漫") || + name.equals("完结动画"); + + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("div[class='module-items module-poster-items-base'] >a"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + Matcher matcher = regexVid.matcher(vod.selectFirst(".module-poster-item").attr("href")); + if (!matcher.find()) + continue; + String title = vod.selectFirst(".module-poster-item").attr("title"); + String cover = vod.selectFirst("div.module-item-cover div.module-item-pic img").attr("data-original"); + String remark = vod.selectFirst("div.module-item-cover div.module-item-note").text(); + if (!TextUtils.isEmpty(cover) && !cover.startsWith("http")) { + cover = siteUrl + cover; + } + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/vodshow/" + TextUtils.join("-", urlParams) + "/"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div[id='page']"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String span = pageInfo.select("span.page-current").text(); + String wy = doc.select("div[id='page'] a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).trim()); + } else { + pageCount = 0; + } + break; + + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.module-items.module-poster-items-base a "); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("img.lazy.lazyload").attr("data-original"); + String remark = vod.select("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/voddetail/" + ids.get(0) + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url,getHeaders2(url,referer))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.module-item-cover div.module-item-pic > img").attr("data-original"); + String title = doc.selectFirst("div.module-info-main div.module-info-heading > h1").text(); + String desc = doc.selectFirst("div.module-info-item div.module-info-introduction-content > p").text().trim(); + + + String category = "", area = "", year = "", director = "", actor = ""; + category = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(2).text(); + area = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(1).text(); + year = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(0).text(); + + Elements span_text_muted = doc.select("div.module-info-content div.module-info-items div.module-info-item"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.select("span").text(); + if (info.contains("导演")) { + try { + director = text.select("div > a").text(); + } catch (Exception e) { + director = ""; + } + } else if (info.contains("主演")) { + try { + actor = text.select("div > a").text(); + } catch (Exception e) { + actor = ""; + } + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new LinkedHashMap<>(); + /* Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + });*/ + + // 取播放列表数据 + Elements sources = doc.select("div.module-tab-items-box>div>span"); + System.out.print("sor++" + sources); + Elements sourceList = doc.select("div.module-list>div.module-play-list"); + System.out.print("sor1++" + sourceList); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + // boolean found = false; + boolean found = true; + // for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + // String flag = it.next(); + // if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + // sourceName = playerConfig.getJSONObject(flag).getString("sh"); + // found = true; + // break; + // } + // } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("div.module-play-list-content>a"); + System.out.print("pl++" + playList); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + headers.put("origin", " http://www.acgnya.com"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + + + // 播放页 url + String url = siteUrl + "/vodplay/" + id + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", headers.toString()); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected HashMap getHeaders2(String url,String ref) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + if(!ref.equals("google")){ + headers.put("Authority", "www.acgnya.com"); + if(ref.length()>0){ + if(ref.equals("origin")){ + headers.put("Origin", "http://www.acgnya.com"); + } else { + headers.put("Referer", ref); + } + } + if(cookie.length()>0){ + headers.put("Cookie", cookie); + } + } + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + protected void getCookie(){ + cookie=""; + String cookieurl="http://www.acgnya.com/zzzzz"; + Map> cookies = new HashMap<>(); + OkHttpUtil.string(cookieurl,getHeaders2(cookieurl,""),cookies); + for( Map.Entry> entry : cookies.entrySet() ){ + if(entry.getKey().equals("set-cookie")){ + cookie = TextUtils.join(";",entry.getValue()); + break; + } + } + } + + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=35×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Aidi.java b/TVBox_Java/spider/Aidi.java new file mode 100644 index 0000000..d72c5f8 --- /dev/null +++ b/TVBox_Java/spider/Aidi.java @@ -0,0 +1,466 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Demo for spider + *

    + * Author: CatVod + */ +public class Aidi extends Spider { + private static final String siteUrl = "https://aidi.tv"; + private static final String siteHost = "aidi.tv"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + + private Pattern regexCategory = Pattern.compile("/v/(\\w+).html"); + private Pattern regexVid = Pattern.compile("/movie/(\\w+).html"); + private Pattern regexPlay = Pattern.compile("\\S+/play/(\\w+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/show/(\\S+).html"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"xg_app_player\":{\"sh\":\"app全局解析\",\"pu\":\"\",\"sn\":0,\"or\":999},\"dplayer\":{\"sh\":\"dplayer\",\"pu\":\"\",\"sn\":0,\"or\":999},\"videojs\":{\"sh\":\"videojs-H5播放器\",\"pu\":\"\",\"sn\":0,\"or\":999},\"iva\":{\"sh\":\"iva-H5播放器\",\"pu\":\"\",\"sn\":0,\"or\":999},\"iframe\":{\"sh\":\"iframe外链数据\",\"pu\":\"\",\"sn\":0,\"or\":999},\"link\":{\"sh\":\"外链数据\",\"pu\":\"top.\",\"sn\":0,\"or\":999},\"swf\":{\"sh\":\"Flash文件\",\"pu\":\"\",\"sn\":0,\"or\":999},\"flv\":{\"sh\":\"Flv文件\",\"pu\":\"\",\"sn\":0,\"or\":999},\"qiepian\":{\"sh\":\"爱迪云播\",\"pu\":\"\",\"sn\":0,\"or\":999},\"ckm3u8\":{\"sh\":\"爱迪影视\",\"pu\":\"\",\"sn\":0,\"or\":999},\"xin\":{\"sh\":\"爱迪高速\",\"pu\":\"\",\"sn\":0,\"or\":999},\"ppyun\":{\"sh\":\"爱迪云链\",\"pu\":\"\",\"sn\":0,\"or\":999},\"jisu\":{\"sh\":\"极速路线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"ppayun\":{\"sh\":\"pp云\",\"pu\":\"https://wy.ppayun.cn/api/ShowVideoWy/973ed6d6891c43269706718cb0aedb72/\",\"sn\":0,\"or\":999},\"yun3edu\":{\"sh\":\"爱迪云三\",\"pu\":\"\",\"sn\":0,\"or\":999},\"guoji\":{\"sh\":\"國際路線\",\"pu\":\"\",\"sn\":0,\"or\":999},\"ddyunp\":{\"sh\":\"蓝光线路\",\"pu\":\"\",\"sn\":0,\"or\":999},\"eduyun\":{\"sh\":\"爱迪云二\",\"pu\":\"\",\"sn\":0,\"or\":999},\"dbm3u8\":{\"sh\":\"720P线路\",\"pu\":\"\",\"sn\":0,\"or\":999},\"yjm3u8\":{\"sh\":\"备用线路\",\"pu\":\"\",\"sn\":0,\"or\":999}}"); + filterConfig = new JSONObject("{\"dianying\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"dianying\"},{\"n\":\"动作片\",\"v\":\"dongzuopian\"},{\"n\":\"喜剧片\",\"v\":\"xijupian\"},{\"n\":\"爱情片\",\"v\":\"aiqingpian\"},{\"n\":\"科幻片\",\"v\":\"kehuanpian\"},{\"n\":\"恐怖片\",\"v\":\"kongbupian\"},{\"n\":\"剧情片\",\"v\":\"juqingpian\"},{\"n\":\"战争片\",\"v\":\"zhanzhengpian\"},{\"n\":\"传记\",\"v\":\"zhuanji\"}]},{\"key\":3,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"枪战\",\"v\":\"枪战\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"文艺\",\"v\":\"文艺\"},{\"n\":\"微电影\",\"v\":\"微电影\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"农村\",\"v\":\"农村\"},{\"n\":\"儿童\",\"v\":\"儿童\"},{\"n\":\"网络电影\",\"v\":\"网络电影\"},{\"n\":\"情色\",\"v\":\"情色\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"lianxuju\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"lianxuju\"},{\"n\":\"国产剧\",\"v\":\"guochanju\"},{\"n\":\"港台剧\",\"v\":\"gangtaiju\"},{\"n\":\"韩剧\",\"v\":\"hanju\"},{\"n\":\"美剧\",\"v\":\"meiju\"},{\"n\":\"日剧\",\"v\":\"riju\"},{\"n\":\"英剧\",\"v\":\"yingju\"},{\"n\":\"泰剧\",\"v\":\"taiju\"}]},{\"key\":3,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"青春偶像\",\"v\":\"青春偶像\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"乡村\",\"v\":\"乡村\"},{\"n\":\"情景\",\"v\":\"情景\"},{\"n\":\"商战\",\"v\":\"商战\"},{\"n\":\"网剧\",\"v\":\"网剧\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"zongyi\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"zongyi\"},{\"n\":\"内地综艺\",\"v\":\"ndzy\"},{\"n\":\"港台综艺\",\"v\":\"gtzy\"},{\"n\":\"韩国综艺节目\",\"v\":\"variety\"},{\"n\":\"欧美综艺\",\"v\":\"oumeizongyi\"}]},{\"key\":3,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"选秀\",\"v\":\"选秀\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"访谈\",\"v\":\"访谈\"},{\"n\":\"播报\",\"v\":\"播报\"},{\"n\":\"旅游\",\"v\":\"旅游\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"美食\",\"v\":\"美食\"},{\"n\":\"纪实\",\"v\":\"纪实\"},{\"n\":\"曲艺\",\"v\":\"曲艺\"},{\"n\":\"生活\",\"v\":\"生活\"},{\"n\":\"游戏互动\",\"v\":\"游戏互动\"},{\"n\":\"财经\",\"v\":\"财经\"},{\"n\":\"求职\",\"v\":\"求职\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"dongman\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"dongman\"},{\"n\":\"日韩动漫\",\"v\":\"rihan\"},{\"n\":\"国产动漫\",\"v\":\"guoman\"},{\"n\":\"欧美动漫\",\"v\":\"oumei\"},{\"n\":\"动漫电影\",\"v\":\"cartoon\"}]},{\"key\":3,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产\",\"v\":\"国产\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"jilu\":[{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.nav_list > li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.select("span").text(); + if (name.equals("樱花动漫")) { + name = "动漫"; + } + boolean show = name.equals("电影") || + name.equals("连续剧") || + name.equals("动漫") || + name.equals("纪录片") || + name.equals("综艺"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.vod_row").get(1); + Elements list = homeList.select("div.cbox1 > ul.vodlist li a.vodlist_thumb"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.attr("data-original"); + String remark = vod.selectFirst("span.pic_text").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/show/" + TextUtils.join("-", urlParams) + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.page li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && li.hasClass("active")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("ul.vodlist li a.vodlist_thumb"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.attr("data-original"); + String remark = vod.selectFirst("span.pic_text").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 60); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 60); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/movie/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.detail_list_box a.vodlist_thumb img").attr("data-original"); + String title = doc.selectFirst("div.detail_list_box h2.title").text(); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.detail_list_box div.content_detail span"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("类型:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("状态:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.play_source_tab > a"); + Elements sourceList = doc.select("div.play_list_box > div.playlist_full"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.attr("alt"); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("li > a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = siteUrl + "/play/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", ""); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + String url = siteUrl + "/vsearch/-------------.html?wd=" + URLEncoder.encode(key) + "&submit="; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + + JSONArray videos = new JSONArray(); + Elements list = doc.select("div.search_box li.searchlist_item a.vodlist_thumb"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.attr("data-original"); + String remark = vod.selectFirst("span.pic_text").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/AliPS.java b/TVBox_Java/spider/AliPS.java new file mode 100644 index 0000000..d7d2cf6 --- /dev/null +++ b/TVBox_Java/spider/AliPS.java @@ -0,0 +1,108 @@ +package com.github.catvod.spider; + +import android.content.Context; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +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; + + +public class AliPS extends Spider { + private PushAgent pushAgent; + private static String b = "https://www.alipansou.com"; + private static Pattern a = Pattern.compile("(https:\\/\\/www.aliyundrive.com\\/s\\/[^\\\"]+)"); + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + pushAgent = new PushAgent(); + pushAgent.init(context, extend); + } + + @Override + public String detailContent(List list) { + try { + Pattern pattern = a; + if (pattern.matcher(list.get(0)).find()) { + return pushAgent.detailContent(list); + } + Matcher matcher = pattern.matcher(OkHttpUtil.string("https://www.alipansou.com" + list.get(0), null)); + if (!matcher.find()) { + return ""; + } + list.set(0, matcher.group(1).replaceAll("\\\\","")); + return pushAgent.detailContent(list); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + @Override + 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"); + return headers; + } + + @Override + public String searchContent(String key, boolean z) { + try { + HashMap hashMap = new HashMap(); + hashMap.put("7", "文件夹"); + hashMap.put("1", "视频"); + JSONArray jSONArray = new JSONArray(); + Iterator entries = hashMap.entrySet().iterator(); + while (entries.hasNext()) { + Map.Entry entry = (Map.Entry) entries.next(); + String str2 = (String) entry.getValue(); + String sb2 = b + "/search?k=" + URLEncoder.encode(key) + "&t=" + (String) entry.getKey(); + Document doc = Jsoup.parse(OkHttpUtil.string(sb2, sHeaders())); + Elements Data = doc.select("van-row a"); + for (int i = 0; i < Data.size(); i++) { + Element next = Data.get(i); + String filename = next.select("template div").text(); + Pattern pattern = Pattern.compile("(时间: \\S+)"); + Matcher matcher = pattern.matcher(filename); + if (!matcher.find()) + continue; + String remark = matcher.group(1); + if (filename.contains(key)) { + JSONObject v = new JSONObject(); + String id = next.attr("href"); + String title = "[" + str2 + "]" + filename; + v.put("vod_id", id); + v.put("vod_name", title); + v.put("remark", remark); + v.put("vod_pic", "https://inews.gtimg.com/newsapp_bt/0/13263837859/1000"); + jSONArray.put(v); + } + } + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("list", jSONArray); + return jSONObject2.toString(); + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/Alist.java b/TVBox_Java/spider/Alist.java new file mode 100644 index 0000000..aa7ecac --- /dev/null +++ b/TVBox_Java/spider/Alist.java @@ -0,0 +1,187 @@ +package com.github.catvod.spider; + +import android.content.Context; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONObject; + +import okhttp3.Call; + +public class Alist extends Spider { + private String ext; + + public String categoryContent(String tid, String pg, boolean filter, HashMap hashMap) { + try { + String url = this.ext + "/api/public/path"; + JSONObject params = new JSONObject(); + params.put("path", tid); + + JSONArray jSONArray2 = new JSONArray(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, params.toString(), new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(String response) { + try { + JSONObject retval = new JSONObject(response); + JSONArray list = retval.getJSONObject("data").getJSONArray("files"); + for (int i =0; i < list.length(); ++i){ + JSONObject o = list.getJSONObject(i); + String pic = o.getString("thumbnail"); + if(pic.isEmpty()){ + pic = "http://img1.3png.com/281e284a670865a71d91515866552b5f172b.png"; + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", tid + (tid.charAt(tid.length()-1) == '/' ? "" : "/") + o.getString("name")); + jSONObject2.put("vod_name", o.getString("name")); + jSONObject2.put("vod_pic", pic); + jSONObject2.put("vod_tag",o.getInt("type")==1 ? "folder" : "file" ); + jSONObject2.put("vod_remarks", o.getInt("type")==1 ? "文件夹" : "文件"); + jSONArray2.put(jSONObject2); + + } + }catch (Exception e){ + e.printStackTrace(); + } + } + }); + + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("page", 1); + jSONObject3.put("pagecount", 1); + jSONObject3.put("limit", jSONArray2.length()); + jSONObject3.put("total", jSONArray2.length()); + jSONObject3.put("list", jSONArray2); + return jSONObject3.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + public String detailContent(List ids) { + try + { + String filename = ids.get(0); + String url = this.ext + "/api/public/path"; + JSONObject params = new JSONObject(); + params.put("path", filename); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, params.toString(), new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(String response) { + try { + JSONObject retval = new JSONObject(response); + JSONArray files = retval.getJSONObject("data").getJSONArray("files"); + for (int i =0; i < files.length(); ++i){ + JSONObject o = files.getJSONObject(i); + String url = o.getString("url"); + if(url.indexOf("//") ==0){ + url = "http:"+url; + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", filename + "/" + o.getString("name")); + jSONObject2.put("vod_name", o.getString("name")); + jSONObject2.put("vod_pic", o.getString("thumbnail")); + jSONObject2.put("vod_tag",o.getInt("type")==1 ? "folder" : "file" ); + jSONObject2.put("vod_play_from", "播放"); + jSONObject2.put("vod_play_url", o.getString("name")+"$"+url); + list.put(jSONObject2); + + } + }catch (Exception e){ + e.printStackTrace(); + } + } + }); + + result.put("list", list); + return result.toString(); + } + catch (Exception e){ + e.printStackTrace(); + } + return ""; + + } + + + String fileTime(long time, String fmt) { + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(time); + Date date = calendar.getTime(); + SimpleDateFormat sdf = new SimpleDateFormat(fmt); + return sdf.format(date); + } + + public String homeContent(boolean z) { + try { + JSONArray classes = new JSONArray(); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", "/"); + newCls.put("type_name", "Alist"); + newCls.put("type_flag", "1"); // 1 列表形式的文件夹 2 缩略图 0 或者不存在 表示正常 + classes.put(newCls); + + JSONArray jSONArray3 = new JSONArray(); + + JSONObject jSONObject4 = new JSONObject(); + jSONObject4.put("class", classes); + if(z) { + jSONObject4.put("filters", new JSONObject("{}")); + } + return jSONObject4.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + public void init(Context context, String ext){ + Alist.super.init(context); + this.ext = ext; + } + + public String playerContent(String str, String str2, List list) { + try{ + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", str2); + return result.toString(); + }catch (Exception e){ + e.printStackTrace(); + } + return ""; + } + + public String searchContent(String str, boolean z) { + try { + return ""; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + +} \ No newline at end of file diff --git a/TVBox_Java/spider/Anfuns.java b/TVBox_Java/spider/Anfuns.java new file mode 100644 index 0000000..d0368c5 --- /dev/null +++ b/TVBox_Java/spider/Anfuns.java @@ -0,0 +1,376 @@ +package com.github.catvod.spider; + + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +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.JSONException; +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.URLDecoder; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Anfuns extends Spider { + private static final String siteUrl = "https://www.anfuns.cc"; + private static final String siteHost = "www.anfuns.cc"; + private JSONObject filterConfig; + private String cookie=""; + private String referer=""; + + + + @Override + public void init(Context context) { + super.init(context); + try { + filterConfig = new JSONObject("{\"1\":[{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"最新\",\"v\":\"time\"},{\"n\":\"最热\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"最新\",\"v\":\"time\"},{\"n\":\"最热\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"最新\",\"v\":\"time\"},{\"n\":\"最热\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"最新\",\"v\":\"time\"},{\"n\":\"最热\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + + + + protected HashMap getHeaders(String url, String ref) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + if(ref.length()>0){ + headers.put("Referer", ref); + } + if(cookie.length()>0){ + headers.put("Cookie", cookie); + } + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + + protected HashMap getHeaders2(String url,String ref) { + HashMap headers = new HashMap<>(); + String ss = url.replace("https://","").split("/")[0]; + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Authority", ss); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + if (ref.contains("ref")){ + headers.put("Referer", ref.replace("ref:","")); + } else if (ref.contains("origin")){ + headers.put("Origin", ref.replace("origin:","")); + } + return headers; + } + + + protected void getCookie(){ + cookie=""; + String cookieurl="https://www.anfuns.cc/verify/index.html"; + Map> cookies = new HashMap<>(); + OkHttpUtil.string(cookieurl,getHeaders(cookieurl,""),cookies); + for( Map.Entry> entry : cookies.entrySet() ){ + if(entry.getKey().equals("set-cookie")){ + cookie = TextUtils.join(";",entry.getValue()); + break; + } + } + } + + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl,referer))); + referer=siteUrl+"/"; + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + String catestr ="{\"新旧番剧\": \"1\",\"蓝光无修\": \"2\",\"动漫剧场\": \"3\",\"欧美动漫\": \"4\"}"; + JSONObject catedef = new JSONObject(catestr); + Iterator it = catedef.keys(); + while(it.hasNext()){ + JSONObject jsonObject = new JSONObject(); + String key =(String) it.next(); + jsonObject.put("type_name", key); + jsonObject.put("type_id", catedef.getString(key)); + classes.put(jsonObject); + } + result.put("class", classes); + if (filter) { + result.put("filters", filterConfig); + } + try { + Element homeList = doc.select("ul.hl-vod-list.swiper-wrapper").get(0); + Elements list = homeList.select("li"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("a").attr("title"); + String cover = vod.selectFirst("a" ).attr("data-original"); + String remark = vod.selectFirst(" a > div.hl-pic-text > span").text(); + String id =vod.selectFirst("a").attr("href"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/show/"+tid+"---{year}/by/{order}/page/"+pg+".html" ; + if (extend != null && extend.size() > 0 ) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url=url.replace("{"+key+"}", value); + } + } + } + for (int i=0 ;i<2;i++) { + if (url.contains("{year}")) { + url = url.replace("{year}", ""); + } else if (url.contains("{order}")) { + url = url.replace("/by/{order}", ""); + } + } + String html = OkHttpUtil.string(url, getHeaders(url,referer)); + referer = url; + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("li.hl-list-item"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("a").attr("title"); + String cover = vod.selectFirst("a" ).attr("data-original"); + String remark = vod.selectFirst(" a > div.hl-pic-text > span").text(); + String id = vod.selectFirst("a").attr("href"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + int page =Integer.parseInt(pg); + result.put("page", page); + result.put("pagecount", videos.length()== 36 ? page + 1 : page); + result.put("limit", 36); + result.put("total",Integer.MAX_VALUE ); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String url = siteUrl + ids.get(0); + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url,referer))); + referer=url; + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + String cover = doc.selectFirst("span.hl-item-thumb").attr("data-original"); + String title = doc.selectFirst("div.hl-dc-sub").text(); + String desc = doc.selectFirst("a.hl-data-menu").text(); + String vid = ids.get(0); + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("vod_content", desc); + Map vod_play = new LinkedHashMap<>(); + Elements sources = doc.select("div.hl-plays-wrap > div > a"); + Elements sourceList = doc.select("div.hl-tabs-box.hl-fadeIn"); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.attr("alt"); + String playList = ""; + Element playListB = sourceList.get(i); + Elements playListA = playListB.select("li.hl-col-xs-4"); + List vodItems = new ArrayList<>(); + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + String playURL = vod.selectFirst("a").attr("href"); + String playUrlName = vod.selectFirst("a").text(); + vodItems.add(playUrlName + "$" + playURL); + } + if (vodItems.size() > 0) { + playList = TextUtils.join("#", vodItems); + vod_play.put(sourceName, playList); + } + } + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + getCookie(); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + String url = siteUrl + id ; + String htmlplay = OkHttpUtil.string(url, getHeaders(url,referer)); + Document doc = Jsoup.parse(htmlplay); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + String urlreq=""; + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).toString(); + if (scContent.contains("var player_aaaa=")) { + int start = scContent.indexOf("{"); + int end = scContent.lastIndexOf("}") + 1; + String urltmp = scContent.substring(start, end); + JSONObject urltmpobj = new JSONObject(urltmp); + String urlraw = urltmpobj.getString("url"); + String urlnext= urltmpobj.optString("link_next"); + urlreq = new String(Base64.decode(urlraw.getBytes(), Base64.DEFAULT)); + urlreq = urlreq.replaceAll("%(?![0-9a-fA-F]{2})", "%25"); + urlreq = URLDecoder.decode(urlreq); + if(urlreq.contains("yanm")){ + urlreq = "https://api.peizq.online/play/anfuns.php?url="+urlreq+"&next=//www.anfuns.cc"+urlnext; + }else { + if(urlreq.contains("%u")){ + start = urlreq.indexOf("%u"); + end = urlreq.lastIndexOf("%u")+6; + String urlreqtmp =urlreq.substring(start,end); + String urlreqtmps = urlreq.substring(0,start); + String urlreqtmpe = urlreq.substring(end,urlreq.length()); + urlreqtmp = urlreqtmp.replace("%","\\"); + Pattern pattern = Pattern.compile("(\\\\u(\\w{4}))"); + Matcher matcher = pattern.matcher(urlreqtmp); + while (matcher.find()) { + String unicodeFull = matcher.group(1); + String unicodeNum = matcher.group(2); + char singleChar = (char) Integer.parseInt(unicodeNum, 16); + urlreqtmp = urlreqtmp.replace(unicodeFull, singleChar + ""); + } + urlreq = urlreqtmps+urlreqtmp+urlreqtmpe; + } + urlreq = urlreq+"&next=//www.anfuns.cc"+urlnext; + } + break; + } + } + + if(urlreq.contains("yanm")){ + String htmlyanm = OkHttpUtil.string(urlreq, getHeaders2(urlreq,"ref:https://www.anfuns.cc/")); + Document docyanm = Jsoup.parse(htmlyanm); + Elements allScriptyanm = docyanm.select("script"); + String urlreqyanm=""; + for (int i = 0; i < allScriptyanm.size(); i++) { + String scContent = allScriptyanm.get(i).toString(); + if (scContent.contains("var config =")) { + int start = scContent.indexOf("getrandom('")+11; + int end = scContent.indexOf("'),") ; + String getrandom = scContent.substring(start,end); + String getrandomb64 = new String(Base64.decode(getrandom.substring(8,getrandom.length()).getBytes(), Base64.DEFAULT)); + String urlreqyanmtmp = URLDecoder.decode(getrandomb64.substring(8,getrandomb64.length()-8)); + Map> respHeaders = new HashMap<>(); + OkHttpUtil.stringNoRedirect(urlreqyanmtmp, getHeaders2(urlreqyanmtmp,"origin:https://api.peizq.online"), respHeaders); + String redirect = OkHttpUtil.getRedirectLocation(respHeaders); + String m3u8raw = OkHttpUtil.string(redirect, getHeaders2(redirect,"origin:https://api.peizq.online")); + start = m3u8raw.indexOf("/hls/"); + String m3ubrawf1tmp =m3u8raw.substring(start,start+200); + end = m3ubrawf1tmp.indexOf("#EXTINF"); + String m3ubrawf1req="https://fata.peizq.online"+m3ubrawf1tmp.substring(0,end); + OkHttpUtil.stringNoRedirect(m3ubrawf1req, getHeaders2(m3ubrawf1req,"origin:https://api.peizq.online"), respHeaders); + String m3ubrawf1 = OkHttpUtil.getRedirectLocation(respHeaders); + m3u8raw = m3u8raw.replace(m3u8raw.substring(start,start+end),m3ubrawf1); + String realm3u8b64=Base64.encodeToString(m3u8raw.getBytes(), 2); + result.put("url", "data:application/vnd.apple.mpegurl;base64,"+realm3u8b64); + result.put("header", new JSONObject(getHeaders2(m3ubrawf1,"origin:https://api.peizq.online")).toString()); + break; + } + } + }else { + Map> respHeaders = new HashMap<>(); + OkHttpUtil.stringNoRedirect(urlreq, getHeaders2(urlreq,""), respHeaders); + String redirect = OkHttpUtil.getRedirectLocation(respHeaders); + result.put("url", redirect); + result.put("header", getHeaders2(redirect,"").toString()); + } + result.put("parse", 0); + result.put("playUrl", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + String url = "https://www.anfuns.cc/search.html?wd="+URLEncoder.encode(key)+"&submit="; + Document doc = Jsoup.parse(OkHttpUtil.string(url,getHeaders(url,referer))); + referer=url; + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + Elements sourceList = doc.select("ul.hl-one-list"); + if(sourceList.size()>0){ + for (int i = 0; i < sourceList.size(); i++) { + Element sources = sourceList.get(i); + JSONObject v = new JSONObject(); + String cover = sources.selectFirst("a").attr("data-original"); + String title = sources.selectFirst("a").attr("title"); + String id =sources.selectFirst("a").attr("href"); + String remarks =sources.selectFirst("span.hl-lc-1.remarks ").text(); + v.put("vod_name", title); + v.put("vod_remarks", remarks); + 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/TVBox_Java/spider/Anime1.java b/TVBox_Java/spider/Anime1.java new file mode 100644 index 0000000..034c3d5 --- /dev/null +++ b/TVBox_Java/spider/Anime1.java @@ -0,0 +1,460 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import okhttp3.Call; +import okhttp3.Response; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.Calendar; +import java.net.URLDecoder; + + + + +public class Anime1 extends Spider { + + private String cookies = ""; + private String authority = ""; + private JSONArray srcArray = new JSONArray(); + + @Override + public void init(Context context) { + super.init(context); + } + + @Override + public String homeContent(boolean filter) { + try { + long a = System.currentTimeMillis(); + String srcurl = "https://d1zquzjgwo9yb.cloudfront.net/?_=" + a; + String srcOrignstr = OkHttpUtil.string(srcurl, getHeaders3(srcurl)); + JSONArray srcOrign = new JSONArray(srcOrignstr); + int srclen = srcOrign.length(); + for (int i = 0; i < srclen; i++){ + JSONObject subobj= new JSONObject(); + subobj.put("link", srcOrign.getJSONArray(i).get(0).toString()); + subobj.put("name", srcOrign.getJSONArray(i).get(1).toString()); + subobj.put("hit" , srcOrign.getJSONArray(i).get(2).toString()); + subobj.put("year", srcOrign.getJSONArray(i).get(3).toString()); + subobj.put("season", srcOrign.getJSONArray(i).get(4).toString()); + subobj.put("team", srcOrign.getJSONArray(i).get(5).toString()); + srcArray.put(subobj); + } + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + Calendar cal = Calendar.getInstance(); + int doy = cal.get(Calendar.YEAR) + 1; + for (int i = 0; i < 8; i++) { + JSONObject cateobj = new JSONObject(); + String istr = Integer.toString(i); + if (i == 0) { + cateobj.put("type_name", "最近更新"); + cateobj.put("type_id", istr); + } else if (i < 7) { + doy = doy - 1; + String year = Integer.toString(doy); + cateobj.put("type_name", year); + cateobj.put("type_id", istr); + } else { + cateobj.put("type_name", "更早"); + cateobj.put("type_id", istr); + } + classes.put(cateobj); + } + result.put("class", classes); + JSONArray videos = new JSONArray(); + for (int i = 0; i < 10; i++) { + JSONObject v = new JSONObject(); + String id = srcArray.getJSONObject(i).getString("link"); + String name = srcArray.getJSONObject(i).getString("name"); + String mark = srcArray.getJSONObject(i).getString("hit"); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic","https://sta.anicdn.com/playerImg/8.jpg"); + v.put("vod_remarks", mark); + videos.put(v); + } + result.put("list", videos); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + JSONArray srccate = new JSONArray(); + int cateId = Integer.parseInt( tid ); + int srclen = srcArray.length(); + Calendar cal = Calendar.getInstance(); + int doy = cal.get(Calendar.YEAR) + 1; + if( cateId==0 ){ + for (int i = 0; i < 100; i++) { + JSONObject subobj = srcArray.getJSONObject(i); + srccate.put(subobj); + } + } else if( cateId > 0 && cateId < 7 ){ + int yearchk = doy - cateId; + for (int i = 0; i < srclen; i++) { + JSONObject subobj = srcArray.getJSONObject(i); + String yystr = subobj.getString("year"); + if(yystr.contains("/")){ + yystr=yystr.substring(5); + } + int yy = Integer.parseInt( yystr ); + if( yy==yearchk ){ + srccate.put(subobj); + } + } + } else { + int yy = doy - 6 ; + for (int i = 0; i < srclen; i++) { + JSONObject subobj = srcArray.getJSONObject(i); + String yearchk = subobj.getString("year"); + if(yearchk.contains("/")){ + yearchk=yearchk.substring(5); + } + int yearint = Integer.parseInt( yearchk ); + if(yearint < yy){ + srccate.put(subobj); + } + } + } + JSONArray videos = new JSONArray(); + for (int i = 0; i < srccate.length() ; i++) { + JSONObject v = new JSONObject(); + String id = srccate.getJSONObject(i).getString("link"); + String name = srccate.getJSONObject(i).getString("name"); + String mark = srccate.getJSONObject(i).getString("hit"); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", "https://sta.anicdn.com/playerImg/8.jpg"); + v.put("vod_remarks", mark); + videos.put(v); + } + pg ="1"; + JSONObject result = new JSONObject(); + int limit = 20; + int page = Integer.parseInt(pg); + result.put("page", page); + int pageCount = videos.length() == limit ? page + 1 : page; + result.put("pagecount", pageCount); + result.put("limit", limit); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String id = ids.get(0); + JSONObject dtinfo = new JSONObject(); + for (int i = 0 ; i < srcArray.length() ; i++) { + JSONObject dtobj = srcArray.getJSONObject(i); + String objid = dtobj.getString("link"); + if( objid.equals(id) ){ + dtinfo = dtobj ; + } + } + String title = dtinfo.getString("name"); + String mark = dtinfo.getString("hit"); + String year = dtinfo.getString("year"); + String season = dtinfo.getString("season"); + String team = dtinfo.getString("team"); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", "https://sta.anicdn.com/playerImg/8.jpg"); + vodList.put("vod_year", year); + vodList.put("type_name", season); + vodList.put("vod_area","日本" ); + vodList.put("vod_actor", team); + vodList.put("vod_content", mark); + + /** + * 播放源配置 + */ + String url = "https://anime1.me/?cat=" + id; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders2(url))); + String nextPage = ""; + Map vod_play_Order = new TreeMap<>(); + do { + Element nextPageEle = doc.selectFirst("div.nav-previous a"); + if( nextPageEle!=null ) { + nextPage = nextPageEle.attr("href"); + }else{ + nextPage =""; + } + Elements sources = doc.select("article"); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + Element sno =source.selectFirst("h2 > a"); + String sourceNameori =""; + if( sno!=null ) { + sourceNameori = sno.text().trim(); + }else { + Element sno2 =source.selectFirst("h2"); + if (sno2 != null) { + sourceNameori = sno2.text().trim(); + } else { + sourceNameori = "[No Title]"; + } + } + int st = sourceNameori.indexOf("[") + 1; + int ed = sourceNameori.indexOf("]"); + String sourceName = sourceNameori.substring(st, ed); + Elements playListA = source.select("div.vjscontainer video"); + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + String playURL = vod.attr("data-apireq"); + if (playURL.isEmpty()) { + continue; + } + if (playListA.size() > 1) { + if (j < 9) { + int jj = j + 1; + String nn = sourceName + "0" + Integer.toString(jj); + vod_play_Order.put(nn, playURL); + } else { + int jj = j + 1; + String nn = sourceName + Integer.toString(jj); + vod_play_Order.put(nn, playURL); + } + continue; + } + String regex=".*[a-zA-Z\\u4e00-\\u9fa5]+.*"; + Matcher m=Pattern.compile(regex).matcher(sourceName); + if ( m.matches() == true ){ + vod_play_Order.put(sourceName, playURL); + } else { + float count = Float.parseFloat(sourceName); + if(count < 100.0 ){ + String nnn = "0" + sourceName; + vod_play_Order.put(nnn, playURL); + }else { + vod_play_Order.put(sourceName, playURL); + } + } + } + } + if(nextPage != ""){ + doc = Jsoup.parse(OkHttpUtil.string(nextPage, getHeaders2(nextPage))); + } + }while(nextPage != ""); + String playList = ""; + List vodItems = new ArrayList<>(); + Set> entrySet = vod_play_Order.entrySet(); + for(Map.Entry entry : entrySet){ + String key = entry.getKey(); + String value = entry.getValue(); + String pl = key + "$" + value; + vodItems.add(pl); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + playList = "nothing here"; + Map vod_play = new TreeMap<>(); + vod_play.put("Anime1", playList); + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + cookies = ""; + authority = ""; + String vlink = id ; + String url = "https://v.anime1.me/api"; + JSONObject result = new JSONObject(); + String apireq = vlink; + String jsonreq = URLDecoder.decode(apireq,"UTF-8"); + HashMap reqpayload = new HashMap<>(); + reqpayload.put("d", jsonreq); + OkHttpUtil.post(OkHttpUtil.defaultClient(), url, reqpayload, getHeaders2(url), new OKCallBack.OKCallBackString() { + @Override + public String onParseResponse(Call call, Response response) { + try { + Map> respHeader = new HashMap<>(); + respHeader.clear(); + respHeader.putAll(response.headers().toMultimap()); + for (int i = 0; i < 3; i++) { + cookies = cookies + respHeader.get("set-cookie").get(i).split(";")[0]; + if ( i < 2 ) {cookies = cookies + ";";} + } + return response.body().string(); + } catch (IOException e) { + return ""; + } + } + + @Override + public void onFailure(Call call, Exception e) { + } + + @Override + public void onResponse(String respbody) { + try { + JSONObject obj = new JSONObject(respbody); + JSONArray objarray = obj.getJSONArray("s"); + JSONObject obj2 = objarray.getJSONObject(0); + String videolink = obj2.getString("src"); + authority = videolink.split("/")[2]; + videolink = "https:" + videolink; + result.put("url", videolink); + } catch (JSONException unused) { + } + } + }); + result.put("header", new JSONObject(getHeaders1(url)).toString()); + result.put("parse", 0); + result.put("playUrl", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private HashMap getHeaders3(String url) { + HashMap headers = new HashMap<>(); + headers.put("Authority", "d1zquzjgwo9yb.cloudfront.net"); + headers.put("Accept","application/json, text/javascript, */*; q=0.01"); + headers.put("Accept-Encoding","gzip, deflate, br"); + headers.put("Accept-Language","zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7,ja;q=0.6"); + headers.put("Origin","https://anime1.me"); + headers.put("Referer","https://anime1.me/"); + headers.put("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.134 YaBrowser/22.7.1.755 (beta) Yowser/2.5 Safari/537.36"); + headers.put("Sec-Fetch-Dest","empty"); + headers.put("Sec-Fetch-Mode","cors"); + headers.put("Sec-Fetch-Site","cross-site"); + headers.put("sec-ch-ua-mobile","?0"); + headers.put("sec-ch-ua-platform","\"Windows\""); + headers.put("sec-ch-ua"," \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\" "); + return headers; + } + + private HashMap getHeaders2(String url) { + HashMap headers = new HashMap<>(); + headers.put("Authority", "v.anime1.me"); + headers.put("Accept","*/*"); + headers.put("Accept-Language","en,zh-TW;q=0.9,zh;q=0.8"); + headers.put("Origin","https://anime1.me"); + headers.put("Referer","https://anime1.me/"); + headers.put("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.134 YaBrowser/22.7.1.755 (beta) Yowser/2.5 Safari/537.36"); + headers.put("Sec-Fetch-Dest","empty"); + headers.put("Sec-Fetch-Mode","cors"); + headers.put("Sec-Fetch-Site","same-site"); + headers.put("sec-ch-ua-mobile","?0"); + headers.put("sec-ch-ua-platform","\"Windows\""); + headers.put("sec-ch-ua"," \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\" "); + return headers; + } + + private HashMap getHeaders1(String url) { + HashMap headers = new HashMap<>(); + headers.put("Accept","*/*"); + headers.put("Accept-encoding", "identity;q=1, *;q=0"); + headers.put("Accept-language", "en,zh-TW;q=0.9,zh;q=0.8"); + headers.put("Referer", "https://anime1.me"); + headers.put("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.134 YaBrowser/22.7.1.755 (beta) Yowser/2.5 Safari/537.36"); + headers.put("Sec-Fetch-Dest","video"); + headers.put("Sec-Fetch-Mode","no-cors"); + headers.put("Sec-Fetch-Site","same-site"); + headers.put("sec-ch-ua-mobile","?0"); + headers.put("sec-ch-ua-platform","\"Windows\""); + headers.put("sec-ch-ua"," \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\" "); + headers.put("Authority", authority); + headers.put("cookie", cookies); + return headers; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + try { + JSONArray searchResult = new JSONArray(); + for (int i = 0; i < srcArray.length() ; i++) { + JSONObject srobj = srcArray.getJSONObject(i); + String kw = srobj.getString("name"); + if(kw.contains(key)) { + searchResult.put(srobj); + } + } + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.length() > 0) { + int ch = searchResult.length() < 10 ? searchResult.length() : 10 ; + for (int i = 0; i < ch ; i++) { + String id = searchResult.getJSONObject(i).getString("link"); + String name = searchResult.getJSONObject(i).getString("name"); + String mark = searchResult.getJSONObject(i).getString("hit"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", "https://sta.anicdn.com/playerImg/8.jpg"); + v.put("vod_remarks", mark); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + +} diff --git a/TVBox_Java/spider/AppTT.java b/TVBox_Java/spider/AppTT.java new file mode 100644 index 0000000..7f612d9 --- /dev/null +++ b/TVBox_Java/spider/AppTT.java @@ -0,0 +1,332 @@ +package com.github.catvod.spider; + +import static com.github.catvod.utils.Misc.CharsetUTF8; + +import android.content.Context; +import android.os.Build; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Set; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + + +/** + * Author: @SDL + */ +public class AppTT extends Spider { + private static final String KEY = "SRK#e%4UYtU#KiEo*vsPqpr0cC4bxAQW"; + private static final String IV = "o6sYmm*x5hn#rcCt"; + private static final String siteUrl = "http://110.42.1.95:7788"; + + private String uAgent = "Dalvik/2.1.0 (Linux; U; Android " + Build.VERSION.RELEASE + "; " + Build.MODEL + " Build/" + Build.ID + ")"; + + private HashMap getHeaders(String url) { + HashMap hashMap = new HashMap(); + hashMap.put("User-Agent", getUA(url)); + return hashMap; + } + + private String getUA(String str) { + if (!(str.contains("api.php/app") || str.contains("xgapp"))) { + if (!str.contains("freekan")) { + if (!(str.contains("zsb") || str.contains("fkxs") || str.contains("xays") || str.contains("xcys") || str.contains("szys") || str.contains("dxys") || str.contains("ytys"))) { + if (!str.contains("qnys")) { + return str.contains(".vod") ? "okhttp/4.1.0" : "Dalvik/2.1.0"; + } + } + return "Dart/2.15 (dart:io)"; + } + } + return "Dart/2.14 (dart:io)"; + } + + @Override + public void init(Context context) { + super.init(context); + } + + @Override + public String homeContent(boolean filter) { + try { + + JSONArray classes = new JSONArray(); + JSONObject jSONObject1 = new JSONObject(); + jSONObject1.put("type_id", 1); + jSONObject1.put("type_name", "电影"); + classes.put(jSONObject1); + + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("type_id", 2); + jSONObject2.put("type_name", "连续剧"); + classes.put(jSONObject2); + + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("type_id", 3); + jSONObject3.put("type_name", "动漫"); + classes.put(jSONObject3); + + JSONObject jSONObject4 = new JSONObject(); + jSONObject4.put("type_id", 4); + jSONObject4.put("type_name", "综艺"); + classes.put(jSONObject4); + + JSONObject result = new JSONObject(); + result.put("class", classes); + + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String homeVideoContent() { + try { + JSONArray videos = new JSONArray(); + try { + String url = siteUrl + "/api.php/v1.vod/curnavitemlist?type_id=0"; + + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject jsonObject = new JSONObject(decryptResponse(content)); + JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("swiperList"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject blockObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", blockObj.getString("vod_id")); + v.put("vod_name", blockObj.getString("vod_name")); + v.put("vod_pic", blockObj.getString("vod_pic")); + v.put("vod_remarks", blockObj.getString("vod_remarks")); + videos.put(v); + } + } catch (Exception e) { + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/api.php/v1.vod?type=" + tid + "&page=" + pg + "&pagesize=20"; +// Set keys = extend.keySet(); +// for (String key : keys) { +// String val = extend.get(key).trim(); +// if (val.length() == 0) +// continue; +// url += "&" + key + "=" + URLEncoder.encode(val); +// } + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject dataObject = new JSONObject(decryptResponse(content)).getJSONObject("data"); + JSONArray jsonArray = dataObject.getJSONArray("list"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("vod_id")); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } + JSONObject result = new JSONObject(); + int limit = 20; + int page = dataObject.getInt("page"); + int total = dataObject.getInt("total"); + int pageCount = videos.length(); + result.put("page", page); + result.put("pagecount", total / 20); + result.put("limit", limit); + result.put("total", total); + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String url = siteUrl + "/api.php/v1.vod/detilldata?vod_id=" + ids.get(0); + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject dataObject = new JSONObject(decryptResponse(content)); + JSONObject vObj = dataObject.getJSONObject("data"); + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + + JSONObject videoInfo = vObj.getJSONObject("videoInfo"); + + JSONObject vodAtom = new JSONObject(); + String title = videoInfo.getString("vod_name"); + vodAtom.put("vod_id", videoInfo.getString("vod_id")); + vodAtom.put("vod_name", videoInfo.getString("vod_name")); + vodAtom.put("vod_pic", videoInfo.getString("vod_pic")); + // vodAtom.put("type_name", videoInfo.getString("subCategory")); + vodAtom.put("vod_year", videoInfo.getString("vod_year")); + vodAtom.put("vod_area", videoInfo.getString("vod_area")); + vodAtom.put("vod_remarks", videoInfo.getString("vod_remarks")); + vodAtom.put("vod_actor", videoInfo.getString("vod_actor")); + vodAtom.put("vod_director", videoInfo.getString("vod_director")); + vodAtom.put("vod_content", videoInfo.getString("vod_content").trim()); + + + JSONArray episodes = vObj.getJSONArray("source"); + LinkedHashMap> playlist = new LinkedHashMap<>(); + String show = null; + String parse = null; + for (int i = 0; i < episodes.length(); i++) { + JSONArray playurls = episodes.getJSONObject(i).getJSONArray("list"); + + show = episodes.getJSONObject(i).getJSONObject("player_info").getString("show"); + parse = episodes.getJSONObject(i).getJSONObject("player_info").getString("parse"); + ArrayList urls = playlist.get(show); + if (urls == null) { + urls = new ArrayList<>(); + playlist.put(show, urls); + } + + for (int j = 0; j < playurls.length(); j++) { + if (playurls.get(j).toString().contains(".m3u8") || playurls.get(j).toString().contains(".mp4")) { + urls.add(playurls.get(j).toString()); + } else { + String name = playurls.get(j).toString().split("\\$")[0]; + String pid = playurls.get(j).toString().split("\\$")[1]; + + urls.add(name + "$" + parse + pid); + } + + + } + } + + + String vod_play_from = TextUtils.join("$$$", playlist.keySet()); + StringBuilder sb = new StringBuilder(); + Iterator> iter = playlist.values().iterator(); + short fromSize = (short) playlist.size(); + while (iter.hasNext()) { + fromSize--; + ArrayList urls = iter.next(); + sb.append(TextUtils.join("#", urls)); + if (fromSize > 0) + sb.append("$$$"); + } + vodAtom.put("vod_play_from", vod_play_from); + vodAtom.put("vod_play_url", sb.toString()); + list.put(vodAtom); + result.put("list", list); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + String jxurl = null; + if (id.contains(".m3u8") || id.toString().contains(".mp4")) { + jxurl = id; + } else { + String url = id + "&sc=1&token=" + getToken(); + String content = OkHttpUtil.string(url, getHeaders(url)); + String decryptcontent = decrypt(content, "UTF-8", KEY, IV); + jxurl = new JSONObject(decryptcontent).getString("url"); + } + + + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", jxurl); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + String url = siteUrl + "/api.php/v1.vod?wd=" + URLEncoder.encode(key); + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject dataObject = new JSONObject(decryptResponse(content)); + JSONArray jsonArray = dataObject.getJSONObject("data").getJSONArray("list"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + + v.put("vod_id", vObj.getString("vod_id")); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + protected String decryptResponse(String src) { + return src; + } + + public String decrypt(String str, String str2, String str3, String str4) { + try { + SecretKeySpec secretKeySpec = new SecretKeySpec(str3.getBytes("UTF-8"), "AES"); + Cipher instance = Cipher.getInstance("AES/CTR/PKCS5Padding"); + instance.init(2, secretKeySpec, new IvParameterSpec(str4.getBytes())); + return new String(instance.doFinal(Base64.decode(str, 0)), str2); + } catch (Exception unused) { + return null; + } + } + + public String encrypt(String str, String str2, String str3, String str4) { + try { + Cipher instance = Cipher.getInstance("AES/CTR/PKCS5Padding"); + instance.init(1, new SecretKeySpec(str3.getBytes(), "AES"), new IvParameterSpec(str4.getBytes())); + return Base64.encodeToString(instance.doFinal(str.getBytes(str2)), 0); + } catch (Exception unused) { + return null; + } + } + + public String getToken() { + return encrypt(Long.valueOf(new Date().getTime()).toString(), "UTF-8", KEY, IV); + } +} diff --git a/TVBox_Java/spider/AppYs.java b/TVBox_Java/spider/AppYs.java new file mode 100644 index 0000000..051eaef --- /dev/null +++ b/TVBox_Java/spider/AppYs.java @@ -0,0 +1,1124 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * M浏览器中的App影视 + *

    + * Author: 群友 不负此生 + */ +public class AppYs extends Spider { + + private String extString = ""; + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + this.extString = extend; + } + + @Override + public String homeContent(boolean filter) { + try { + String url = getCateUrl(extString); + JSONArray jsonArray = null; + if (!url.isEmpty()) { + SpiderDebug.log(url); + String json = OkHttpUtil.string(url, getHeaders(url)); + JSONObject obj = new JSONObject(json); + if (obj.has("list") && obj.get("list") instanceof JSONArray) { + jsonArray = obj.getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONObject && obj.getJSONObject("data").has("list") && obj.getJSONObject("data").get("list") instanceof JSONArray) { + jsonArray = obj.getJSONObject("data").getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONArray) { + jsonArray = obj.getJSONArray("data"); + } + } else { // 通过filter列表读分类 + String filterStr = getFilterTypes(url, null); + String[] classes = filterStr.split("\n")[0].split("\\+"); + jsonArray = new JSONArray(); + for (int i = 1; i < classes.length; i++) { + String[] kv = classes[i].trim().split("="); + if (kv.length < 2) + continue; + JSONObject newCls = new JSONObject(); + newCls.put("type_name", kv[0].trim()); + newCls.put("type_id", kv[1].trim()); + jsonArray.put(newCls); + } + } + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + if (jsonArray != null) { + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jObj = jsonArray.getJSONObject(i); + String typeName = jObj.getString("type_name"); + if (isBan(typeName)) + continue; + String typeId = jObj.getString("type_id"); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", typeId); + newCls.put("type_name", typeName); + JSONObject typeExtend = jObj.optJSONObject("type_extend"); + if (filter) { + String filterStr = getFilterTypes(url, typeExtend); + String[] filters = filterStr.split("\n"); + JSONArray filterArr = new JSONArray(); + for (int k = url.isEmpty() ? 1 : 0; k < filters.length; k++) { + String l = filters[k].trim(); + if (l.isEmpty()) + continue; + String[] oneLine = l.split("\\+"); + String type = oneLine[0].trim(); + String typeN = type; + if (type.contains("筛选")) { + type = type.replace("筛选", ""); + if (type.equals("class")) + typeN = "类型"; + else if (type.equals("area")) + typeN = "地区"; + else if (type.equals("lang")) + typeN = "语言"; + else if (type.equals("year")) + typeN = "年份"; + } + JSONObject jOne = new JSONObject(); + jOne.put("key", type); + jOne.put("name", typeN); + JSONArray valueArr = new JSONArray(); + for (int j = 1; j < oneLine.length; j++) { + JSONObject kvo = new JSONObject(); + String kv = oneLine[j].trim(); + int sp = kv.indexOf("="); + if (sp == -1) { + if (isBan(kv)) + continue; + kvo.put("n", kv); + kvo.put("v", kv); + } else { + String n = kv.substring(0, sp); + if (isBan(n)) + continue; + kvo.put("n", n.trim()); + kvo.put("v", kv.substring(sp + 1).trim()); + } + valueArr.put(kvo); + } + jOne.put("value", valueArr); + filterArr.put(jOne); + } + if (!result.has("filters")) { + result.put("filters", new JSONObject()); + } + result.getJSONObject("filters").put(typeId, filterArr); + } + classes.put(newCls); + } + } + result.put("class", classes); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String homeVideoContent() { + try { + String apiUrl = extString; + String url = getRecommendUrl(apiUrl); + boolean isTV = false; + if (url.isEmpty()) { + url = getCateFilterUrlPrefix(apiUrl) + "movie&page=1&area=&type=&start="; + isTV = true; + } + SpiderDebug.log(url); + String json = OkHttpUtil.string(url, getHeaders(url)); + JSONObject obj = new JSONObject(json); + JSONArray videos = new JSONArray(); + if (isTV) { + JSONArray jsonArray = obj.getJSONArray("data"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("nextlink")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.getString("pic")); + v.put("vod_remarks", vObj.getString("state")); + videos.put(v); + } + } else { + ArrayList arrays = new ArrayList<>(); + findJsonArray(obj, "vlist", arrays); + if (arrays.isEmpty()) { + findJsonArray(obj, "vod_list", arrays); + } + List ids = new ArrayList<>(); + for (JSONArray jsonArray : arrays) { + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + String vid = vObj.getString("vod_id"); + if (ids.contains(vid)) + continue; + ids.add(vid); + JSONObject v = new JSONObject(); + v.put("vod_id", vid); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } + } + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String apiUrl = extString; + String url = getCateFilterUrlPrefix(apiUrl) + tid + getCateFilterUrlSuffix(apiUrl); + url = url.replace("#PN#", pg); + url = url.replace("筛选class", (extend != null && extend.containsKey("class")) ? extend.get("class") : ""); + url = url.replace("筛选area", (extend != null && extend.containsKey("area")) ? extend.get("area") : ""); + url = url.replace("筛选lang", (extend != null && extend.containsKey("lang")) ? extend.get("lang") : ""); + url = url.replace("筛选year", (extend != null && extend.containsKey("year")) ? extend.get("year") : ""); + url = url.replace("排序", (extend != null && extend.containsKey("排序")) ? extend.get("排序") : ""); + SpiderDebug.log(url); + String json = OkHttpUtil.string(url, getHeaders(url)); + JSONObject obj = new JSONObject(json); + int totalPg = Integer.MAX_VALUE; + try { + if (obj.has("totalpage") && obj.get("totalpage") instanceof Integer) { + totalPg = obj.getInt("totalpage"); + } else if (obj.has("pagecount") && obj.get("pagecount") instanceof Integer) { + totalPg = obj.getInt("pagecount"); + } else if (obj.has("data") && obj.get("data") instanceof JSONObject && + (obj.getJSONObject("data").has("total") && obj.getJSONObject("data").get("total") instanceof Integer && + obj.getJSONObject("data").has("limit") && obj.getJSONObject("data").get("limit") instanceof Integer)) { + int limit = obj.getJSONObject("data").getInt("limit"); + int total = obj.getJSONObject("data").getInt("total"); + totalPg = total % limit == 0 ? (total / limit) : (total / limit + 1); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + + JSONArray jsonArray = null; + JSONArray videos = new JSONArray(); + if (obj.has("list") && obj.get("list") instanceof JSONArray) { + jsonArray = obj.getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONObject && obj.getJSONObject("data").has("list") && obj.getJSONObject("data").get("list") instanceof JSONArray) { + jsonArray = obj.getJSONObject("data").getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONArray) { + jsonArray = obj.getJSONArray("data"); + } + if (jsonArray != null) { + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + if (vObj.has("vod_id")) { + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("vod_id")); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } else { + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("nextlink")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.getString("pic")); + v.put("vod_remarks", vObj.getString("state")); + videos.put(v); + } + } + } + JSONObject result = new JSONObject(); + result.put("page", pg); + result.put("pagecount", totalPg); + result.put("limit", 90); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String apiUrl = extString; + String url = getPlayUrlPrefix(apiUrl) + ids.get(0); + SpiderDebug.log(url); + String json = OkHttpUtil.string(url, getHeaders(url)); + JSONObject obj = new JSONObject(json); + JSONObject result = new JSONObject(); + JSONObject vod = new JSONObject(); + genPlayList(apiUrl, obj, json, vod, ids.get(0)); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + String apiUrl = extString; + String url = getSearchUrl(apiUrl, URLEncoder.encode(key)); + String json = OkHttpUtil.string(url, getHeaders(url)); + JSONObject obj = new JSONObject(json); + JSONArray jsonArray = null; + JSONArray videos = new JSONArray(); + if (obj.has("list") && obj.get("list") instanceof JSONArray) { + jsonArray = obj.getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONObject && obj.getJSONObject("data").has("list") && obj.getJSONObject("data").get("list") instanceof JSONArray) { + jsonArray = obj.getJSONObject("data").getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONArray) { + jsonArray = obj.getJSONArray("data"); + } + if (jsonArray != null) { + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + if (vObj.has("vod_id")) { + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("vod_id")); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } else { + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("nextlink")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.getString("pic")); + v.put("vod_remarks", vObj.getString("state")); + videos.put(v); + } + } + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + String apiUrl = extString; + String parseUrl = getParseUrl(apiUrl, flag); + String playerUrl = getPlayerUrl(apiUrl, parseUrl, id); + JSONObject result = new JSONObject(); + getFinalVideo(playerUrl, result); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private void findJsonArray(JSONObject obj, String match, ArrayList result) { + Iterator keys = obj.keys(); + while (keys.hasNext()) { + String k = keys.next(); + try { + Object o = obj.get(k); + if (k.equals(match) && o instanceof JSONArray) + result.add((JSONArray) o); + if (o instanceof JSONObject) { + findJsonArray((JSONObject) o, match, result); + } else if (o instanceof JSONArray) { + JSONArray array = (JSONArray) o; + for (int i = 0; i < array.length(); i++) { + findJsonArray(array.getJSONObject(i), match, result); + } + } + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + } + + private String jsonArr2Str(JSONArray array) { + try { + ArrayList strings = new ArrayList<>(); + for (int i = 0; i < array.length(); i++) { + strings.add(array.getString(i)); + } + return TextUtils.join(",", strings); + } catch (JSONException e) { + } + return ""; + } + + private static HashMap fakeVips = null; + private static final Object lock = new Object(); + + private static String stopVipFlag(String flag) { + synchronized (lock) { + if (fakeVips == null) { + fakeVips = new HashMap<>(); + fakeVips.put("youku", "优酷M"); + fakeVips.put("qq", "腾讯M"); + fakeVips.put("iqiyi", "爱奇艺M"); + fakeVips.put("qiyi", "奇艺M"); + fakeVips.put("letv", "乐视M"); + fakeVips.put("sohu", "搜狐M"); + fakeVips.put("tudou", "土豆M"); + fakeVips.put("pptv", "PPTVM"); + fakeVips.put("mgtv", "芒果TVM"); + fakeVips.put("wasu", "华数M"); + fakeVips.put("bilibili", "哔哩M"); + } + if (fakeVips.containsKey(flag)) { + return fakeVips.get(flag); + } + return flag; + } + } + + private HashMap getHeaders(String URL) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", UA(URL)); + return headers; + } + + private boolean isBan(String key) { + return key.equals("伦理") || key.equals("情色") || key.equals("福利"); + } + + // M 扩展方法 + + // ######重组搜索 + private String getSearchUrl(String URL, String KEY) { + if (URL.contains(".vod")) { + if (URL.contains("iopenyun.com")) { + return URL + "/list?wd=" + KEY + "&page="; + } else { + return URL + "?wd=" + KEY + "&page="; + } + } else if (URL.contains("api.php/app") || URL.contains("xgapp")) { + return URL + "search?text=" + KEY + "&pg="; + } else if (urlPattern1.matcher(URL).find()) { + if (URL.contains("esellauto") + || URL.contains("1.14.63.101") + || URL.contains("zjys") + || URL.contains("dcd") + || URL.contains("lxue") + || URL.contains("weetai.cn") + || URL.contains("haokanju1") + || URL.contains("fit:8") + || URL.contains("zjj.life") + || URL.contains("love9989") + || URL.contains("8d8q") + || URL.contains("lk.pxun") + || URL.contains("hgyx") + || URL.contains("521x5") + || URL.contains("lxyyy") + || URL.contains("0818tv") + || URL.contains("diyoui") + || URL.contains("diliktv") + || URL.contains("ppzhu") + || URL.contains("aitesucai") + || URL.contains("zz.ci") + || URL.contains("chxjon") + || URL.contains("watchmi") + || URL.contains("vipbp") + || URL.contains("bhtv") + || URL.contains("xfykl")) { + return URL + "?ac=list&" + "wd=" + KEY + "&page="; + } else { + return URL + "?ac=list&" + "zm=" + KEY + "&page="; + } + } + return ""; + } + + // ######UA + private static final Pattern urlPattern1 = Pattern.compile("api\\.php/.*?/vod"); + private static final Pattern urlPattern2 = Pattern.compile("api\\.php/.+?\\.vod"); + private static final Pattern parsePattern = Pattern.compile("/.+\\?.+="); + private static final Pattern parsePattern1 = Pattern.compile(".*(url|v|vid|php\\?id)="); + private static final Pattern parsePattern2 = Pattern.compile("https?://[^/]*"); + private static final Pattern[] parseMatchForDotVod = new Pattern[]{ + Pattern.compile("jx\\.+huimaojia\\.+com/player"), + Pattern.compile("py\\.+789pan\\.+cn/player/tm\\.php\\?url="), + Pattern.compile("ztys\\.+waruanzy\\.+com/player/\\?url="), + Pattern.compile("yingshi\\.+waruanzy\\.+com/789pan/\\?url="), + Pattern.compile("vip\\.+parwix\\.+com:4433/player/\\?url="), + Pattern.compile("api\\.+cxitco\\.+cn"), + Pattern.compile("/vip\\.+renrenmi.cc"), + Pattern.compile("yanbing\\.+parwix\\.+com:4433/player"), + Pattern.compile("json\\.+cantin\\.+cc/apijson\\.php"), + Pattern.compile("ffdm\\.+miaoletv\\.+com/\\?url="), + Pattern.compile("vip\\.+sylwl\\.+cn/api/\\?key="), + Pattern.compile("jx\\.+dikotv\\.+com/\\?url="), + Pattern.compile("zly\\.+xjqxz\\.+top/player/\\?url="), + Pattern.compile("5znn\\.+xyz/m3u8\\.+php"), + Pattern.compile("uid=1735&my="), + Pattern.compile("api\\.+xkvideo\\.+design/m3u8\\.+php\\?url="), + Pattern.compile("play\\.+szbodankyy\\.+com/xxoocnmb"), + Pattern.compile("vip\\.+fj6080\\.+xyz/player/\\?url="), + Pattern.compile("a\\.+dxzj88\\.+com/jiexi"), + Pattern.compile("host\\.+q-q\\.+wang/api"), + Pattern.compile("保佑") + }; + + private static final Pattern[] htmlVideoKeyMatch = new Pattern[]{ + Pattern.compile("player=new"), + Pattern.compile("

    typeExtendKeys = typeExtend.keys(); + while (typeExtendKeys.hasNext()) { + String key = typeExtendKeys.next(); + if (key.equals("class") || key.equals("area") || key.equals("lang") || key.equals("year")) { + try { + str = str + "筛选" + key + "+全部=+" + typeExtend.getString(key).replace(",", "+") + "\n"; + } catch (JSONException e) { + } + } + } + } + if (URL.contains(".vod")) { + str += "\n" + "排序+全部=+最新=time+最热=hits+评分=score"; + } else if (URL.contains("api.php/app") || URL.contains("xgapp")) { + } else { + str = "分类+全部=+电影=movie+连续剧=tvplay+综艺=tvshow+动漫=comic+4K=movie_4k+体育=tiyu\n筛选class+全部=+喜剧+爱情+恐怖+动作+科幻+剧情+战争+警匪+犯罪+动画+奇幻+武侠+冒险+枪战+恐怖+悬疑+惊悚+经典+青春+文艺+微电影+古装+历史+运动+农村+惊悚+惊悚+伦理+情色+福利+三级+儿童+网络电影\n筛选area+全部=+大陆+香港+台湾+美国+英国+法国+日本+韩国+德国+泰国+印度+西班牙+加拿大+其他\n筛选year+全部=+2022+2021+2020+2019+2018+2017+2016+2015+2014+2013+2012+2011+2010+2009+2008+2007+2006+2005+2004+2003+2002+2001+2000"; + } + return str; + } + + // ######推荐地址 + String getRecommendUrl(String URL) { + if (URL.contains("api.php/app") || URL.contains("xgapp")) { + return URL + "index_video?token="; + } else if (URL.contains(".vod")) { + return URL + "/vodPhbAll"; + } else { + return ""; + } + } + + // ######播放器前缀地址 + String getPlayUrlPrefix(String URL) { + if (URL.contains("api.php/app") || URL.contains("xgapp")) { + if (URL.contains("dijiaxia")) { + URL = "https://www.dijiaxia.com/api.php/app/"; + return URL + "video_detail?id="; + } else if (URL.contains("1010dy")) { + URL = "http://www.1010dy.cc/api.php/app/"; + return URL + "video_detail?id="; + } else { + return URL + "video_detail?id="; + } + } else if (URL.contains(".vod")) { + if (URL.contains("iopenyun")) { + return URL + "/detailID?vod_id="; + } else { + return URL + "/detail?vod_id="; + } + } else { + return ""; + } + } + + // ######选集 + private final HashMap parseUrlMap = new HashMap<>(); + + private void genPlayList(String URL, JSONObject object, String json, JSONObject vod, String vid) throws JSONException { + ArrayList playUrls = new ArrayList<>(); + ArrayList playFlags = new ArrayList<>(); + if (URL.contains("api.php/app/")) { + JSONObject data = object.getJSONObject("data"); + vod.put("vod_id", data.optString("vod_id", vid)); + vod.put("vod_name", data.getString("vod_name")); + vod.put("vod_pic", data.getString("vod_pic")); + vod.put("type_name", data.optString("vod_class")); + vod.put("vod_year", data.optString("vod_year")); + vod.put("vod_area", data.optString("vod_area")); + vod.put("vod_remarks", data.optString("vod_remarks")); + vod.put("vod_actor", data.optString("vod_actor")); + vod.put("vod_director", data.optString("vod_director")); + vod.put("vod_content", data.optString("vod_content")); + JSONArray vodUrlWithPlayer = data.getJSONArray("vod_url_with_player"); + for (int i = 0; i < vodUrlWithPlayer.length(); i++) { + JSONObject from = vodUrlWithPlayer.getJSONObject(i); + String flag = stopVipFlag(from.getString("name")); + playFlags.add(flag); + playUrls.add(from.getString("url")); + String purl = from.optString("parse_api"); + if (purl.contains("jpg.hou.lu/jm/za/index.php")) { + purl = "http://vip.mengx.vip/home/api?type=ys&uid=3249696&key=aefqrtuwxyEFHKNOQY&url="; + } + parseUrlMap.put(flag, purl); + } + } else if (URL.contains("xgapp")) { + JSONObject data = object.getJSONObject("data").getJSONObject("vod_info"); + vod.put("vod_id", data.optString("vod_id", vid)); + vod.put("vod_name", data.getString("vod_name")); + vod.put("vod_pic", data.getString("vod_pic")); + vod.put("type_name", data.optString("vod_class")); + vod.put("vod_year", data.optString("vod_year")); + vod.put("vod_area", data.optString("vod_area")); + vod.put("vod_remarks", data.optString("vod_remarks")); + vod.put("vod_actor", data.optString("vod_actor")); + vod.put("vod_director", data.optString("vod_director")); + vod.put("vod_content", data.optString("vod_content")); + JSONArray vodUrlWithPlayer = data.getJSONArray("vod_url_with_player"); + for (int i = 0; i < vodUrlWithPlayer.length(); i++) { + JSONObject from = vodUrlWithPlayer.getJSONObject(i); + String flag = stopVipFlag(from.getString("name")); + playFlags.add(flag); + playUrls.add(from.getString("url")); + String purl = from.optString("parse_api"); + if (purl.contains("jpg.hou.lu/jm/za/index.php")) { + purl = "http://vip.mengx.vip/home/api?type=ys&uid=3249696&key=aefqrtuwxyEFHKNOQY&url="; + } + parseUrlMap.put(flag, purl); + } + } else if (/*urlPattern2.matcher(URL).find()*/URL.contains(".vod")) { + JSONObject data = object.getJSONObject("data"); + vod.put("vod_id", data.optString("vod_id", vid)); + vod.put("vod_name", data.getString("vod_name")); + vod.put("vod_pic", data.getString("vod_pic")); + vod.put("type_name", data.optString("vod_class")); + vod.put("vod_year", data.optString("vod_year")); + vod.put("vod_area", data.optString("vod_area")); + vod.put("vod_remarks", data.optString("vod_remarks")); + vod.put("vod_actor", data.optString("vod_actor")); + vod.put("vod_director", data.optString("vod_director")); + vod.put("vod_content", data.optString("vod_content")); + JSONArray vodUrlWithPlayer = data.getJSONArray("vod_play_list"); + for (int i = 0; i < vodUrlWithPlayer.length(); i++) { + JSONObject from = vodUrlWithPlayer.getJSONObject(i); + String flag = stopVipFlag(from.getJSONObject("player_info").getString("show")); + playFlags.add(flag); + playUrls.add(from.getString("url")); + try { + ArrayList parses = new ArrayList<>(); + String[] parse1 = from.getJSONObject("player_info").optString("parse").split(","); + String[] parse2 = from.getJSONObject("player_info").optString("parse2").split(","); + for (String p : parse1) { + if (parsePattern.matcher(p).find()) { + boolean add = true; + for (Pattern pt : parseMatchForDotVod) { + if (pt.matcher(p).find()) { + add = false; + break; + } + } + if (add) { + parses.add(p); + } + } + } + for (String p : parse2) { + if (parsePattern.matcher(p).find()) { + boolean add = true; + for (Pattern pt : parseMatchForDotVod) { + if (pt.matcher(p).find()) { + add = false; + break; + } + } + if (add) { + parses.add(p); + } + } + } + if (parses.size() > 0 && parses.get(0).contains("=")) { + String purl = parses.get(0); + if (purl.contains("http")) { + Matcher matcher = parsePattern1.matcher(purl); + if (matcher.find()) { + purl = matcher.group(0).replace("..", ".").replace("vip.aotian.love", "vip.gaotian.love"); + } + } else if (purl.contains("//")) { + Matcher matcher = parsePattern1.matcher(purl); + if (matcher.find()) { + purl = "http:" + matcher.group(0).replace("..", "."); + } + } else { + Matcher matcher = parsePattern2.matcher(URL); + if (matcher.find()) { + Matcher matcher1 = parsePattern1.matcher(URL); + if (matcher1.find()) { + purl = matcher.group(0) + matcher1.group(0).replace("..", "."); + } + } + } + parseUrlMap.put(flag, purl); + } else { + parseUrlMap.put(flag, "http://1.117.152.239:39000/?url="); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } else if (urlPattern1.matcher(URL).find()) { + JSONObject data = object; + vod.put("vod_id", data.optString("vod_id", vid)); + vod.put("vod_name", data.getString("title")); + vod.put("vod_pic", data.getString("img_url")); + vod.put("type_name", jsonArr2Str(data.optJSONArray("type"))); + vod.put("vod_year", data.optString("pubtime")); + vod.put("vod_area", jsonArr2Str(data.optJSONArray("area"))); + vod.put("vod_remarks", data.optString("trunk")); + vod.put("vod_actor", jsonArr2Str(data.optJSONArray("actor"))); + vod.put("vod_director", jsonArr2Str(data.optJSONArray("director"))); + vod.put("vod_content", data.optString("intro")); + JSONObject playList = data.getJSONObject("videolist"); + Iterator playListKeys = playList.keys(); + while (playListKeys.hasNext()) { + String from = playListKeys.next(); + JSONArray playListUrls = playList.getJSONArray(from); + ArrayList urls = new ArrayList<>(); + for (int j = 0; j < playListUrls.length(); j++) { + JSONObject urlObj = playListUrls.getJSONObject(j); + urls.add(urlObj.getString("title") + "$" + urlObj.getString("url")); + } + playFlags.add(stopVipFlag(from)); + playUrls.add(TextUtils.join("#", urls)); + } + } +// for (int i = 0; i < playFlags.size(); i++) { +// String pu = playUrls.get(i).split("#")[0].split("\\$")[1]; +// System.out.println(pu + " is video?" + isVideoFormat(pu)); +// playerContent(playFlags.get(i), pu, new ArrayList<>()); +// } + vod.put("vod_play_from", TextUtils.join("$$$", playFlags)); + vod.put("vod_play_url", TextUtils.join("$$$", playUrls)); + } + + private String getParseUrl(String URL, String flag) { + String parseUrl = ""; + if (urlPattern2.matcher(URL).find()) { + if (parseUrlMap.containsKey(flag)) + parseUrl = parseUrlMap.get(flag); + } else if (URL.contains("api.php/app/") || URL.contains("xgapp")) { + if (parseUrlMap.containsKey(flag)) + parseUrl = parseUrlMap.get(flag); + } else { + parseUrl = URL; + } + if (parseUrl.contains("svip.jhyun.jx.cn") || parseUrl.contains("svip.jhdyw.vip")) { + if (flag.contains("人人迷")) { + parseUrl = "http://www.1080kan.cc/jiexi/rrmi.php?url="; + } else if (flag.contains("人人")) { + parseUrl = "http://www.1080kan.cc/jiexi/rr.php?url="; + } else if (flag.contains("番茄")) { + parseUrl = "http://www.1080kan.cc/jiexi/fq.php?url="; + } else { + parseUrl = "https://jx.parwix.com:4433/player/?url="; + } + } else if (parseUrl.contains("jhsj.manduhu.com") || parseUrl.contains("v.jhdyw.vip/nhdz666")) { + parseUrl = "https://jx.parwix.com:4433/player/?url="; + } else if (parseUrl.contains("x-n.cc")) { + parseUrl = "https://jx.parwix.com:4433/player/?url="; + } + return parseUrl; + } + + private String getPlayerUrl(String URL, String parseUrl, String playUrl) { + if (URL.contains("xgapp") || URL.contains("api.php/app/") || /*urlPattern2.matcher(URL).find()*/URL.contains(".vod")) { + if (playUrl.indexOf(".m3u8") > 15 || playUrl.indexOf(".mp4") > 15 || playUrl.contains("/obj/tos")) { + if (playUrl.contains("url=")) { + return "https://www.baidu.com/s?wd=" + playUrl.split("url=")[1]; + } else { + return "https://www.baidu.com/s?wd=" + playUrl; + } + } else if (!parseUrl.contains("url=") && playUrl.contains("RongXingVR")) { + return "https://www.baidu.com/s?wd=https://fast.rongxingvr.cn:8866/api/?key=nShWumGdMIbTwngTbI&url=" + playUrl; + } else if (!parseUrl.contains("url=") && playUrl.contains("LT")) { + return "https://www.baidu.com/s?wd=https://f7.pyxddc.com/bcjx/4k.php?url=" + playUrl; + } else if (!parseUrl.contains("url=") && playUrl.contains("renrenmi")) { + return "https://www.baidu.com/s?wd=https://kuba.renrenmi.cc:2266/api/?key=Y6UYLYtjImTCKe98JD&url=" + playUrl; + } else if (!parseUrl.contains("url=") && playUrl.contains(".html")) { + return "https://www.baidu.com/s?wd=http://1.117.152.239:39000/?url=" + playUrl; + } else if (playUrl.contains("xfy")) { + return "https://www.baidu.com/s?wd=http://jiexi.yunl.cc/api/?key=xYNESYSvHp1DV2ckKs&url=" + playUrl; + } else { + return "https://www.baidu.com/s?wd=" + parseUrl + playUrl; + } + } else if (urlPattern1.matcher(URL).find()) { + if (playUrl.indexOf(".m3u8") > 15 || playUrl.indexOf(".mp4") > 15 || playUrl.contains("/obj/tos")) { + if (playUrl.contains("url=")) { + return "https://www.baidu.com/s?wd=" + playUrl.split("url=")[1]; + } else { + return "https://www.baidu.com/s?wd=" + playUrl; + } + } else if (playUrl.contains("xfy")) { + if (playUrl.contains("url=")) { + return "https://www.baidu.com/s?wd=http://cache.dmtt.xyz/xfyjx/xfyjx.php?url=" + playUrl.split("url=")[1]; + } else { + return "https://www.baidu.com/s?wd=https://json.hfyrw.com/mao.go?url=" + playUrl; + } + } else if (playUrl.contains("www.bilibili.com")) { + String spUrl = playUrl.split("url=")[1]; + return "https://www.baidu.com/s?wd=https://jx.parwix.com:4433/player/?url=" + spUrl; + } else if (URL.contains("zhenfy") || URL.contains("cztv") || URL.contains("1.14.63.101") || URL.contains("fit:8") || URL.contains("diliktv.xyz") || URL.contains("ppzhu.vip") || URL.contains("api.8d8q.com") || URL.contains("haokanju1.cc") || URL.contains("cztv")) { + return "https://www.baidu.com/s?wd=" + playUrl + "&app=10000&account=272775028&password=qq272775028"; + } else if (URL.contains("lxyyy") || URL.contains("j.zjj.life") || URL.contains("lktv") || URL.contains("0818tv") || URL.contains("ruoxinew")) { + return "https://www.baidu.com/s?wd=https://play.tkys.tv/?url=" + playUrl.split("url=")[1]; + } else { + return "https://www.baidu.com/s?wd=" + playUrl; + } + } else { + return "https://www.baidu.com/s?wd=" + playUrl; + } + } + + // ######视频地址 + private void getFinalVideo(String uu, JSONObject result) throws JSONException { + if (uu.contains("baidu.com")) { + String playurl = uu.split("wd=")[1]; + if (playurl.contains("duoduozy.com") || playurl.contains("suoyo.cc")) { + String uuu = "https://www.6080kan.cc/app.php?url=" + playurl; + String content = OkHttpUtil.string(uuu, null); + JSONObject obj = new JSONObject(content); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", obj.getString("url")); + result.put("header", "{\"User-Agent\":\" Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0\",\"referer\":\" https://player.duoduozy.com\",\"origin\":\" https://dp.duoduozy.com\",\"Host\":\" cache.m3u8.suoyo.cc\"}"); + } else if (playurl.contains("xfy")) { + String content = OkHttpUtil.string(playurl, null); + JSONObject obj = new JSONObject(content); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", obj.getString("url")); + result.put("header", "{\"referer\":\" appguapi.lihaoyun.top:11543\",\"User-Agent\":\" Dart/2.14 (dart:io)\"}}"); + } else if (playurl.contains("api.iopenyun.com:88")) { + if (playurl.contains("html")) { + String content = OkHttpUtil.string("https://api.m3u8.tv:5678/home/api?type=ys&uid=233711&key=dgilouvFKNRSWX2467&url=" + playurl.split("=")[1], null); + JSONObject obj = new JSONObject(content); + String ppurl = obj.getString("url"); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", ppurl); + } else { + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", playurl); + result.put("ua", "Mozilla/5.0 Windows10"); + result.put("header", "{\"Referer\":\"https://user.iopenyun.com:520/user/video/\"}"); + } + } else if (playurl.contains("cat.wkfile.com")) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", playurl); + result.put("header", "{\"User-Agent\":\" Lavf/58.12.100\",\"Referer\":\" wkfile.com\"}"); + } else if (!playurl.contains("=") && playurl.indexOf(".m3u8") > 15 || playurl.indexOf(".mp4") > 15 || playurl.contains("/obj/tos")) { + if (playurl.contains("hsl.ysgc.xyz")) { + String content = OkHttpUtil.string("https://jx.ysgc.xyz/?url=" + playurl, null); + JSONObject obj = new JSONObject(content); + String ppurl = obj.getString("url"); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", ppurl); + result.put("header", "{\"Referer\":\" https://ysgc.cc\"}"); + } else if (playurl.contains("1.ruifenglb.com")) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", playurl); + result.put("header", "{\"Referer\":\" https://1.ruifenglb.com\"}"); + } else { + Matcher matcher = Pattern.compile(".*(http.*)").matcher(playurl); + if (matcher.find()) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", matcher.group(1)); + } else { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", playurl); + } + } + } else if (playurl.contains("=")) { + HashMap headers = new HashMap(); + headers.put("User-Agent", "Mozilla/5.0 Android"); + Map> respHeaders = new TreeMap<>(); + String content = OkHttpUtil.stringNoRedirect(playurl, headers, respHeaders); + String redLoc = OkHttpUtil.getRedirectLocation(respHeaders); + if (redLoc != null) { + String finalurl = ""; + while (redLoc != null) { + finalurl = redLoc; + if (redLoc.indexOf(".mp4") > 30) { + break; + } else { + headers.put("User-Agent", "Mozilla/5.0 Android"); + content = OkHttpUtil.stringNoRedirect(finalurl, headers, respHeaders); + redLoc = OkHttpUtil.getRedirectLocation(respHeaders); + } + } + String realurl = finalurl; + if (realurl.contains("=http") || realurl.contains("url=")) { + if (content.contains(" 1) { + String realurl = jsonUrl; + if (playurl.contains("mgtv.com")) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", realurl); + result.put("header", "{\"User-Agent\":\" Mozilla/5.0\", \"Referer\":\" \"}"); + } else if (playurl.contains("bilibili.com")) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", realurl); + } else { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", realurl); + } + } else if (playurl.split("url=")[1].contains("http")) { + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", "http://1.117.152.239:39000/?url=" + playurl.split("url=")[1]); + } else if (playurl.split("url=")[1].contains("renrenmi")) { + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", "http://www.1080kan.cc/jiexi/rrmi.php?url=" + playurl.split("url=")[1]); + result.put("header", "{\"Referer\":\"http://www.1080kan.cc/\"}"); + } else { + String id = playurl.split("url=")[1]; + /* + String uuu = "https://vip.gaotian.love/api/?key=sRy0QAq8hqXRlrEtrq&url=" + id; + content = OkHttpUtil.string(uuu, null); + JSONObject obj = new JSONObject(content); + String realurl = obj.optString("url", ""); + if (realurl.isEmpty()) + realurl = obj.optString("msg", ""); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", realurl); + */ + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", "https://jx.banyung.xyz:7799/player/?url=" + playurl.split("url=")[1]); + } + } + } + } else { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", playurl); + } + } else { + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", uu); + } + } + + @Override + public boolean manualVideoCheck() { + return true; + } + + @Override + public boolean isVideoFormat(String url) { + return Misc.isVideoFormat(url); + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/AppYsV2.java b/TVBox_Java/spider/AppYsV2.java new file mode 100644 index 0000000..08fb0a5 --- /dev/null +++ b/TVBox_Java/spider/AppYsV2.java @@ -0,0 +1,845 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * M浏览器中的App影视 + *

    + * Author: 群友 不负此生 + */ +public class AppYsV2 extends Spider { + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + try { + extInfos = extend.split("###"); + } catch (Throwable th) { + } + } + + @Override + public String homeContent(boolean filter) { + try { + String url = getCateUrl(getApiUrl()); + JSONArray jsonArray = null; + if (!url.isEmpty()) { + SpiderDebug.log(url); + String json = desc(OkHttpUtil.string(url, getHeaders(url)), (byte) 0); + JSONObject obj = new JSONObject(json); + if (obj.has("list") && obj.get("list") instanceof JSONArray) { + jsonArray = obj.getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONObject && obj.getJSONObject("data").has("list") && obj.getJSONObject("data").get("list") instanceof JSONArray) { + jsonArray = obj.getJSONObject("data").getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONArray) { + jsonArray = obj.getJSONArray("data"); + } + } else { // 通过filter列表读分类 + String filterStr = getFilterTypes(url, null); + String[] classes = filterStr.split("\n")[0].split("\\+"); + jsonArray = new JSONArray(); + for (int i = 1; i < classes.length; i++) { + String[] kv = classes[i].trim().split("="); + if (kv.length < 2) + continue; + JSONObject newCls = new JSONObject(); + newCls.put("type_name", kv[0].trim()); + newCls.put("type_id", kv[1].trim()); + jsonArray.put(newCls); + } + } + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + if (jsonArray != null) { + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jObj = jsonArray.getJSONObject(i); + String typeName = jObj.getString("type_name"); + if (isBan(typeName)) + continue; + String typeId = jObj.getString("type_id"); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", typeId); + newCls.put("type_name", typeName); + JSONObject typeExtend = jObj.optJSONObject("type_extend"); + if (filter) { + String filterStr = getFilterTypes(url, typeExtend); + String[] filters = filterStr.split("\n"); + JSONArray filterArr = new JSONArray(); + for (int k = url.isEmpty() ? 1 : 0; k < filters.length; k++) { + String l = filters[k].trim(); + if (l.isEmpty()) + continue; + String[] oneLine = l.split("\\+"); + String type = oneLine[0].trim(); + String typeN = type; + if (type.contains("筛选")) { + type = type.replace("筛选", ""); + if (type.equals("class")) + typeN = "类型"; + else if (type.equals("area")) + typeN = "地区"; + else if (type.equals("lang")) + typeN = "语言"; + else if (type.equals("year")) + typeN = "年份"; + } + JSONObject jOne = new JSONObject(); + jOne.put("key", type); + jOne.put("name", typeN); + JSONArray valueArr = new JSONArray(); + for (int j = 1; j < oneLine.length; j++) { + JSONObject kvo = new JSONObject(); + String kv = oneLine[j].trim(); + int sp = kv.indexOf("="); + if (sp == -1) { + if (isBan(kv)) + continue; + kvo.put("n", kv); + kvo.put("v", kv); + } else { + String n = kv.substring(0, sp); + if (isBan(n)) + continue; + kvo.put("n", n.trim()); + kvo.put("v", kv.substring(sp + 1).trim()); + } + valueArr.put(kvo); + } + jOne.put("value", valueArr); + filterArr.put(jOne); + } + if (!result.has("filters")) { + result.put("filters", new JSONObject()); + } + result.getJSONObject("filters").put(typeId, filterArr); + } + classes.put(newCls); + } + } + result.put("class", classes); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String homeVideoContent() { + try { + String apiUrl = getApiUrl(); + String url = getRecommendUrl(apiUrl); + boolean isTV = false; + if (url.isEmpty()) { + url = getCateFilterUrlPrefix(apiUrl) + "movie&page=1&area=&type=&start="; + isTV = true; + } + SpiderDebug.log(url); + String json = desc(OkHttpUtil.string(url, getHeaders(url)), (byte) 1); + JSONObject obj = new JSONObject(json); + JSONArray videos = new JSONArray(); + if (isTV) { + JSONArray jsonArray = obj.getJSONArray("data"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("nextlink")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.getString("pic")); + v.put("vod_remarks", vObj.getString("state")); + videos.put(v); + } + } else { + ArrayList arrays = new ArrayList<>(); + findJsonArray(obj, "vlist", arrays); + if (arrays.isEmpty()) { + findJsonArray(obj, "vod_list", arrays); + } + List ids = new ArrayList<>(); + for (JSONArray jsonArray : arrays) { + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + String vid = vObj.getString("vod_id"); + if (ids.contains(vid)) + continue; + ids.add(vid); + JSONObject v = new JSONObject(); + v.put("vod_id", vid); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } + } + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String apiUrl = getApiUrl(); + String url = getCateFilterUrlPrefix(apiUrl) + tid + getCateFilterUrlSuffix(apiUrl); + url = url.replace("#PN#", pg); + url = url.replace("筛选class", (extend != null && extend.containsKey("class")) ? extend.get("class") : ""); + url = url.replace("筛选area", (extend != null && extend.containsKey("area")) ? extend.get("area") : ""); + url = url.replace("筛选lang", (extend != null && extend.containsKey("lang")) ? extend.get("lang") : ""); + url = url.replace("筛选year", (extend != null && extend.containsKey("year")) ? extend.get("year") : ""); + url = url.replace("排序", (extend != null && extend.containsKey("排序")) ? extend.get("排序") : ""); + SpiderDebug.log(url); + String json = desc(OkHttpUtil.string(url, getHeaders(url)), (byte) 2); + JSONObject obj = new JSONObject(json); + int totalPg = Integer.MAX_VALUE; + try { + if (obj.has("totalpage") && obj.get("totalpage") instanceof Integer) { + totalPg = obj.getInt("totalpage"); + } else if (obj.has("pagecount") && obj.get("pagecount") instanceof Integer) { + totalPg = obj.getInt("pagecount"); + } else if (obj.has("data") && obj.get("data") instanceof JSONObject && + (obj.getJSONObject("data").has("total") && obj.getJSONObject("data").get("total") instanceof Integer && + obj.getJSONObject("data").has("limit") && obj.getJSONObject("data").get("limit") instanceof Integer)) { + int limit = obj.getJSONObject("data").getInt("limit"); + int total = obj.getJSONObject("data").getInt("total"); + totalPg = total % limit == 0 ? (total / limit) : (total / limit + 1); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + + JSONArray jsonArray = null; + JSONArray videos = new JSONArray(); + if (obj.has("list") && obj.get("list") instanceof JSONArray) { + jsonArray = obj.getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONObject && obj.getJSONObject("data").has("list") && obj.getJSONObject("data").get("list") instanceof JSONArray) { + jsonArray = obj.getJSONObject("data").getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONArray) { + jsonArray = obj.getJSONArray("data"); + } + if (jsonArray != null) { + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + if (vObj.has("vod_id")) { + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("vod_id")); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } else { + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("nextlink")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.getString("pic")); + v.put("vod_remarks", vObj.getString("state")); + videos.put(v); + } + } + } + JSONObject result = new JSONObject(); + result.put("page", pg); + result.put("pagecount", totalPg); + result.put("limit", 90); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String apiUrl = getApiUrl(); + String url = getPlayUrlPrefix(apiUrl) + ids.get(0); + SpiderDebug.log(url); + String json = desc(OkHttpUtil.string(url, getHeaders(url)), (byte) 3); + JSONObject obj = new JSONObject(json); + JSONObject result = new JSONObject(); + JSONObject vod = new JSONObject(); + genPlayList(apiUrl, obj, json, vod, ids.get(0)); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + String apiUrl = getApiUrl(); + String url = getSearchUrl(apiUrl, URLEncoder.encode(key)); + //System.out.println(url); + String json = desc(OkHttpUtil.string(url, getHeaders(url)), (byte) 5); + JSONObject obj = new JSONObject(json); + JSONArray jsonArray = null; + JSONArray videos = new JSONArray(); + if (obj.has("list") && obj.get("list") instanceof JSONArray) { + jsonArray = obj.getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONObject && obj.getJSONObject("data").has("list") && obj.getJSONObject("data").get("list") instanceof JSONArray) { + jsonArray = obj.getJSONObject("data").getJSONArray("list"); + } else if (obj.has("data") && obj.get("data") instanceof JSONArray) { + jsonArray = obj.getJSONArray("data"); + } + if (jsonArray != null) { + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + if (vObj.has("vod_id")) { + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("vod_id")); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } else { + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("nextlink")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.getString("pic")); + v.put("vod_remarks", vObj.getString("state")); + videos.put(v); + } + } + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + ArrayList parseUrls = parseUrlMap.get(flag); + if (parseUrls == null) + parseUrls = new ArrayList<>(); + if (!parseUrls.isEmpty()) { + JSONObject result = getFinalVideo(flag, parseUrls, id); + if (result != null) + return result.toString(); + } + if (Misc.isVideoFormat(id)) { + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", id); + return result.toString(); + } else { + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("jx", "1"); + result.put("url", id); + return result.toString(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private void findJsonArray(JSONObject obj, String match, ArrayList result) { + Iterator keys = obj.keys(); + while (keys.hasNext()) { + String k = keys.next(); + try { + Object o = obj.get(k); + if (k.equals(match) && o instanceof JSONArray) + result.add((JSONArray) o); + if (o instanceof JSONObject) { + findJsonArray((JSONObject) o, match, result); + } else if (o instanceof JSONArray) { + JSONArray array = (JSONArray) o; + for (int i = 0; i < array.length(); i++) { + findJsonArray(array.getJSONObject(i), match, result); + } + } + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + } + + private String jsonArr2Str(JSONArray array) { + try { + ArrayList strings = new ArrayList<>(); + for (int i = 0; i < array.length(); i++) { + strings.add(array.getString(i)); + } + return TextUtils.join(",", strings); + } catch (JSONException e) { + } + return ""; + } + + private HashMap getHeaders(String URL) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", UA(URL)); + return headers; + } + + private boolean isBan(String key) { + return key.equals("伦理") || key.equals("情色") || key.equals("福利"); + } + + // M 扩展方法 + + // ######重组搜索 + private String getSearchUrl(String URL, String KEY) { + if (URL.contains(".vod")) { + if (URL.contains("iopenyun.com")) { + return URL + "/list?wd=" + KEY + "&page="; + } else { + return URL + "?wd=" + KEY + "&page="; + } + } else if (URL.contains("api.php/app") || URL.contains("xgapp")) { + return URL + "search?text=" + KEY + "&pg="; + } else if (urlPattern1.matcher(URL).find()) { + if (URL.contains("esellauto") + || URL.contains("1.14.63.101") + || URL.contains("zjys") + || URL.contains("dcd") + || URL.contains("lxue") + || URL.contains("weetai.cn") + || URL.contains("haokanju1") + || URL.contains("fit:8") + || URL.contains("zjj.life") + || URL.contains("love9989") + || URL.contains("8d8q") + || URL.contains("lk.pxun") + || URL.contains("hgyx") + || URL.contains("521x5") + || URL.contains("lxyyy") + || URL.contains("0818tv") + || URL.contains("diyoui") + || URL.contains("diliktv") + || URL.contains("ppzhu") + || URL.contains("aitesucai") + || URL.contains("zz.ci") + || URL.contains("chxjon") + || URL.contains("watchmi") + || URL.contains("vipbp") + || URL.contains("bhtv") + || URL.contains("xfykl")) { + return URL + "?ac=list&" + "wd=" + KEY + "&page="; + } else { + return URL + "?ac=list&" + "zm=" + KEY + "&page="; + } + } + return ""; + } + + // ######UA + private static final Pattern urlPattern1 = Pattern.compile("api\\.php/.*?/vod"); + private static final Pattern urlPattern2 = Pattern.compile("api\\.php/.+?\\.vod"); + private static final Pattern parsePattern = Pattern.compile("/.+\\?.+="); + private static final Pattern parsePattern1 = Pattern.compile(".*(url|v|vid|php\\?id)="); + private static final Pattern parsePattern2 = Pattern.compile("https?://[^/]*"); + + protected static final Pattern[] htmlVideoKeyMatch = new Pattern[]{ + Pattern.compile("player=new"), + Pattern.compile("

    typeExtendKeys = typeExtend.keys(); + while (typeExtendKeys.hasNext()) { + String key = typeExtendKeys.next(); + if (key.equals("class") || key.equals("area") || key.equals("lang") || key.equals("year")) { + try { + str = str + "筛选" + key + "+全部=+" + typeExtend.getString(key).replace(",", "+") + "\n"; + } catch (JSONException e) { + } + } + } + } + if (URL.contains(".vod")) { + str += "\n" + "排序+全部=+最新=time+最热=hits+评分=score"; + } else if (URL.contains("api.php/app") || URL.contains("xgapp")) { + } else { + str = "分类+全部=+电影=movie+连续剧=tvplay+综艺=tvshow+动漫=comic+4K=movie_4k+体育=tiyu\n筛选class+全部=+喜剧+爱情+恐怖+动作+科幻+剧情+战争+警匪+犯罪+动画+奇幻+武侠+冒险+枪战+恐怖+悬疑+惊悚+经典+青春+文艺+微电影+古装+历史+运动+农村+惊悚+惊悚+伦理+情色+福利+三级+儿童+网络电影\n筛选area+全部=+大陆+香港+台湾+美国+英国+法国+日本+韩国+德国+泰国+印度+西班牙+加拿大+其他\n筛选year+全部=+2022+2021+2020+2019+2018+2017+2016+2015+2014+2013+2012+2011+2010+2009+2008+2007+2006+2005+2004+2003+2002+2001+2000"; + } + return str; + } + + // ######推荐地址 + String getRecommendUrl(String URL) { + if (URL.contains("api.php/app") || URL.contains("xgapp")) { + return URL + "index_video?token="; + } else if (URL.contains(".vod")) { + return URL + "/vodPhbAll"; + } else { + return ""; + } + } + + // ######播放器前缀地址 + String getPlayUrlPrefix(String URL) { + if (URL.contains("api.php/app") || URL.contains("xgapp")) { + if (URL.contains("dijiaxia")) { + URL = "https://www.dijiaxia.com/api.php/app/"; + return URL + "video_detail?id="; + } else if (URL.contains("1010dy")) { + URL = "http://www.1010dy.cc/api.php/app/"; + return URL + "video_detail?id="; + } else { + return URL + "video_detail?id="; + } + } else if (URL.contains(".vod")) { + if (URL.contains("iopenyun")) { + return URL + "/detailID?vod_id="; + } else { + return URL + "/detail?vod_id="; + } + } else { + return ""; + } + } + + // ######选集 + protected final HashMap> parseUrlMap = new HashMap<>(); + + private void genPlayList(String URL, JSONObject object, String json, JSONObject vod, String vid) throws JSONException { + ArrayList playUrls = new ArrayList<>(); + ArrayList playFlags = new ArrayList<>(); + if (URL.contains("api.php/app/")) { + JSONObject data = object.getJSONObject("data"); + vod.put("vod_id", data.optString("vod_id", vid)); + vod.put("vod_name", data.getString("vod_name")); + vod.put("vod_pic", data.getString("vod_pic")); + vod.put("type_name", data.optString("vod_class")); + vod.put("vod_year", data.optString("vod_year")); + vod.put("vod_area", data.optString("vod_area")); + vod.put("vod_remarks", data.optString("vod_remarks")); + vod.put("vod_actor", data.optString("vod_actor")); + vod.put("vod_director", data.optString("vod_director")); + vod.put("vod_content", data.optString("vod_content")); + JSONArray vodUrlWithPlayer = data.getJSONArray("vod_url_with_player"); + for (int i = 0; i < vodUrlWithPlayer.length(); i++) { + JSONObject from = vodUrlWithPlayer.getJSONObject(i); + String flag = from.optString("code").trim(); + if (flag.isEmpty()) + flag = from.getString("name").trim(); + playFlags.add(flag); + playUrls.add(from.getString("url")); + String purl = from.optString("parse_api").trim(); + ArrayList parseUrls = parseUrlMap.get(flag); + if (parseUrls == null) { + parseUrls = new ArrayList<>(); + parseUrlMap.put(flag, parseUrls); + } + if (!purl.isEmpty() && !parseUrls.contains(purl)) + parseUrls.add(purl); + } + } else if (URL.contains("xgapp")) { + JSONObject data = object.getJSONObject("data").getJSONObject("vod_info"); + vod.put("vod_id", data.optString("vod_id", vid)); + vod.put("vod_name", data.getString("vod_name")); + vod.put("vod_pic", data.getString("vod_pic")); + vod.put("type_name", data.optString("vod_class")); + vod.put("vod_year", data.optString("vod_year")); + vod.put("vod_area", data.optString("vod_area")); + vod.put("vod_remarks", data.optString("vod_remarks")); + vod.put("vod_actor", data.optString("vod_actor")); + vod.put("vod_director", data.optString("vod_director")); + vod.put("vod_content", data.optString("vod_content")); + JSONArray vodUrlWithPlayer = data.getJSONArray("vod_url_with_player"); + for (int i = 0; i < vodUrlWithPlayer.length(); i++) { + JSONObject from = vodUrlWithPlayer.getJSONObject(i); + String flag = from.optString("code").trim(); + if (flag.isEmpty()) + flag = from.getString("name").trim(); + playFlags.add(flag); + playUrls.add(from.getString("url")); + String purl = from.optString("parse_api").trim(); + ArrayList parseUrls = parseUrlMap.get(flag); + if (parseUrls == null) { + parseUrls = new ArrayList<>(); + parseUrlMap.put(flag, parseUrls); + } + if (!purl.isEmpty() && !parseUrls.contains(purl)) + parseUrls.add(purl); + } + } else if (/*urlPattern2.matcher(URL).find()*/URL.contains(".vod")) { + JSONObject data = object.getJSONObject("data"); + vod.put("vod_id", data.optString("vod_id", vid)); + vod.put("vod_name", data.getString("vod_name")); + vod.put("vod_pic", data.getString("vod_pic")); + vod.put("type_name", data.optString("vod_class")); + vod.put("vod_year", data.optString("vod_year")); + vod.put("vod_area", data.optString("vod_area")); + vod.put("vod_remarks", data.optString("vod_remarks")); + vod.put("vod_actor", data.optString("vod_actor")); + vod.put("vod_director", data.optString("vod_director")); + vod.put("vod_content", data.optString("vod_content")); + JSONArray vodUrlWithPlayer = data.getJSONArray("vod_play_list"); + for (int i = 0; i < vodUrlWithPlayer.length(); i++) { + JSONObject from = vodUrlWithPlayer.getJSONObject(i); + String flag = from.getJSONObject("player_info").optString("from").trim(); + if (flag.isEmpty()) + flag = from.getJSONObject("player_info").optString("show").trim(); + playFlags.add(flag); + playUrls.add(from.getString("url")); + try { + ArrayList parses = new ArrayList<>(); + String[] parse1 = from.getJSONObject("player_info").optString("parse").split(","); + String[] parse2 = from.getJSONObject("player_info").optString("parse2").split(","); + parses.addAll(Arrays.asList(parse1)); + parses.addAll(Arrays.asList(parse2)); + ArrayList parseUrls = parseUrlMap.get(flag); + if (parseUrls == null) { + parseUrls = new ArrayList<>(); + parseUrlMap.put(flag, parseUrls); + } + for (String purl : parses) { + if (purl.contains("http")) { + Matcher matcher = parsePattern1.matcher(purl); + if (matcher.find()) { + purl = matcher.group(0); + } + } else if (purl.contains("//")) { + Matcher matcher = parsePattern1.matcher(purl); + if (matcher.find()) { + purl = "http:" + matcher.group(0); + } + } else { + Matcher matcher = parsePattern2.matcher(URL); + if (matcher.find()) { + Matcher matcher1 = parsePattern1.matcher(URL); + if (matcher1.find()) { + purl = matcher.group(0) + matcher1.group(0); + } + } + } + purl = purl.replace("..", ".").trim(); + if (!purl.isEmpty() && !parseUrls.contains(purl)) + parseUrls.add(purl); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } else if (urlPattern1.matcher(URL).find()) { + JSONObject data = object; + vod.put("vod_id", data.optString("vod_id", vid)); + vod.put("vod_name", data.getString("title")); + vod.put("vod_pic", data.getString("img_url")); + vod.put("type_name", jsonArr2Str(data.optJSONArray("type"))); + vod.put("vod_year", data.optString("pubtime")); + vod.put("vod_area", jsonArr2Str(data.optJSONArray("area"))); + vod.put("vod_remarks", data.optString("trunk")); + vod.put("vod_actor", jsonArr2Str(data.optJSONArray("actor"))); + vod.put("vod_director", jsonArr2Str(data.optJSONArray("director"))); + vod.put("vod_content", data.optString("intro")); + JSONObject playList = data.getJSONObject("videolist"); + Iterator playListKeys = playList.keys(); + while (playListKeys.hasNext()) { + String flag = playListKeys.next(); + ArrayList parseUrls = parseUrlMap.get(flag); + if (parseUrls == null) { + parseUrls = new ArrayList<>(); + parseUrlMap.put(flag, parseUrls); + } + JSONArray playListUrls = playList.getJSONArray(flag); + ArrayList urls = new ArrayList<>(); + for (int j = 0; j < playListUrls.length(); j++) { + JSONObject urlObj = playListUrls.getJSONObject(j); + String url = urlObj.getString("url"); + if (url.contains("url=")) { + int spIdx = url.indexOf("url=") + 4; + String pUrl = url.substring(0, spIdx).trim(); + if (!pUrl.isEmpty() && !parseUrls.contains(pUrl)) + parseUrls.add(pUrl); + urls.add(urlObj.getString("title") + "$" + url.substring(spIdx).trim()); + } else { + urls.add(urlObj.getString("title") + "$" + url); + } + } + playFlags.add(flag); + playUrls.add(TextUtils.join("#", urls)); + } + } + vod.put("vod_play_from", TextUtils.join("$$$", playFlags)); + vod.put("vod_play_url", TextUtils.join("$$$", playUrls)); + } + + // ######视频地址 + protected JSONObject getFinalVideo(String flag, ArrayList parseUrls, String url) throws JSONException { + String htmlPlayUrl = ""; + for (String parseUrl : parseUrls) { + if (parseUrl.isEmpty() || parseUrl.equals("null")) + continue; + String playUrl = parseUrl + url; + String content = desc(OkHttpUtil.string(playUrl, null), (byte) 4); + if (parseUrl.contains("49.233.47.42:9898")) { + + HashMap hashMap = new HashMap(); + OkHttpUtil.stringNoRedirect(playUrl,null, hashMap); + String d = OkHttpUtil.getRedirectLocation(hashMap); + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", d); + return result; + } + JSONObject tryJson = null; + try { + tryJson = Misc.jsonParse(url, content); + } catch (Throwable th) { + + } + if (tryJson != null && tryJson.has("url") && tryJson.has("header")) { + tryJson.put("header", tryJson.getJSONObject("header").toString()); + return tryJson; + } + if (content.contains(" 1) { + String descFlag = extInfos[1]; + if (descFlag.equals("nftv")) { + + } + } + return src; + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/Auete.java b/TVBox_Java/spider/Auete.java new file mode 100644 index 0000000..ac03534 --- /dev/null +++ b/TVBox_Java/spider/Auete.java @@ -0,0 +1,540 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Auete extends Spider { + private static final String siteUrl = "https://auete.org"; + private static final String siteHost = "auete.org"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + //分类页URL规则 + private Pattern regexCategory = Pattern.compile("/(\\w+)/index.html"); + //详情页URL规则 + private Pattern regexVid = Pattern.compile("/(\\w+/\\w+/\\w+)/"); + //播放页URL规则 + private Pattern regexPlay = Pattern.compile("(/\\w+/\\w+/\\w+/play-\\d+-\\d+.html)"); + //筛选页URL规则 + //private Pattern regexPage = Pattern.compile("/\\w+/\\w+/index(\\d+).html"); + private Pattern regexPage = Pattern.compile("/index(\\d+).html"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"byun\":{\"sh\":\"云播B线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"dphd\":{\"sh\":\"云播A线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"cyun\":{\"sh\":\"云播C线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"dbm3u8\":{\"sh\":\"云播D线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"i8i\":{\"sh\":\"云播E线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"m3u8hd\":{\"sh\":\"云播F线\",\"pu\":\"https://auete.com/api/?url=\",\"sn\":1,\"or\":999},\"languang\":{\"sh\":\"云播G线\",\"pu\":\"https://auete.com/api/?url=\",\"sn\":1,\"or\":999},\"hyun\":{\"sh\":\"云播H线\",\"pu\":\"https://auete.com/api/?url=\",\"sn\":1,\"or\":999},\"kyun\":{\"sh\":\"云播K线\",\"pu\":\"https://auete.com/api/?url=\",\"sn\":1,\"or\":999},\"bpyueyu\":{\"sh\":\"云播粤语\",\"pu\":\"\",\"sn\":0,\"or\":999},\"bpguoyu\":{\"sh\":\"云播国语\",\"pu\":\"\",\"sn\":0,\"or\":999},\"lyun\":{\"sh\":\"云播L线\",\"pu\":\"https://auete.com/api/?url=\",\"sn\":1,\"or\":999},\"myun\":{\"sh\":\"云播M线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"dp\":{\"sh\":\"Dplayer\",\"pu\":\"\",\"sn\":0,\"or\":999}}"); + filterConfig = new JSONObject("{\"Movie\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧片\",\"v\":\"xjp\"},{\"n\":\"动作片\",\"v\":\"dzp\"},{\"n\":\"爱情片\",\"v\":\"aqp\"},{\"n\":\"科幻片\",\"v\":\"khp\"},{\"n\":\"恐怖片\",\"v\":\"kbp\"},{\"n\":\"惊悚片\",\"v\":\"jsp\"},{\"n\":\"战争片\",\"v\":\"zzp\"},{\"n\":\"剧情片\",\"v\":\"jqp\"}]}],\"Tv\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"美剧\",\"v\":\"oumei\"},{\"n\":\"韩剧\",\"v\":\"hanju\"},{\"n\":\"日剧\",\"v\":\"riju\"},{\"n\":\"泰剧\",\"v\":\"yataiju\"},{\"n\":\"网剧\",\"v\":\"wangju\"},{\"n\":\"台剧\",\"v\":\"taiju\"},{\"n\":\"国产\",\"v\":\"neidi\"},{\"n\":\"港剧\",\"v\":\"tvbgj\"}]}],\"Zy\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国综\",\"v\":\"guozong\"},{\"n\":\"韩综\",\"v\":\"hanzong\"},{\"n\":\"美综\",\"v\":\"meizong\"}]}],\"Dm\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"动画\",\"v\":\"donghua\"},{\"n\":\"日漫\",\"v\":\"riman\"},{\"n\":\"国漫\",\"v\":\"guoman\"},{\"n\":\"美漫\",\"v\":\"meiman\"}]}],\"qita\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"纪录片\",\"v\":\"Jlp\"},{\"n\":\"经典片\",\"v\":\"Jdp\"},{\"n\":\"经典剧\",\"v\":\"Jdj\"},{\"n\":\"网大电影\",\"v\":\"wlp\"},{\"n\":\"国产老电影\",\"v\":\"laodianying\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul[class='navbar-nav mr-auto']> li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + //分类名 + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("电视剧") || + name.equals("综艺") || + name.equals("动漫") || + name.equals("其他"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("ul.threadlist").get(0); + Elements list = homeList.select("li"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("h2 a").attr("title"); + String cover = vod.selectFirst("a img").attr("src"); + String remark = vod.selectFirst("a button").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + // 获取分类数据的url + String url = ""; + try { + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value != null && value.length() != 0 && value != " ") { + url = siteUrl + "/" + tid + "/" + value; + } else { + url = siteUrl + "/" + tid; + } + ; + } + } else { + url = siteUrl + "/" + tid; + } + ; + if (pg.equals("1")) { + url = url + "/index.html"; + } else { + url = url + "/index" + pg + ".html"; + } + //System.out.println(url); + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.pagination li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + //System.out.println("名称"+name); + if (page == -1 && li.hasClass("active")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + //System.out.println("哈哈"+matcher.group(1)); + page = Integer.parseInt(matcher.group(1)); + } else { + Elements list = doc.select("ul.threadlist li"); + if (list.size() > 0) { + page = 1; + } else { + page = 0; + } + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + //System.out.println("尾页" + matcher.group(1)); + pageCount = Integer.parseInt(matcher.group(1)); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("ul.threadlist li"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("h2 a").attr("title"); + String cover = vod.selectFirst("a img").attr("src"); + String remark = vod.selectFirst("a button").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 20); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 20); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/" + ids.get(0) + "/"; + //System.out.println(url); + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.cover a").attr("href"); + String title = doc.selectFirst("div.cover a").attr("title"); + Elements list1 = doc.select("div.message>p"); + String desc = doc.select("div.message>p").get(list1.size() - 1).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.message>p"); + for (int i = 0; i < span_text_muted.size() - 2; i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.contains("分类")) { + try { + category = text.text().split(": ")[1]; + } catch (Exception e) { + category = ""; + } + } else if (info.contains("年份")) { + try { + year = text.text().split(": ")[1]; + } catch (Exception e) { + year = ""; + } + } else if (info.contains("地区")) { + try { + area = text.text().split(": ")[1]; + } catch (Exception e) { + area = ""; + } + } else if (info.contains("影片备注")) { + try { + remark = text.text().split(": ")[1]; + } catch (Exception e) { + remark = ""; + } + } else if (info.contains("导演")) { + try { + director = text.text().split(": ")[1]; + } catch (Exception e) { + director = ""; + } + } else if (info.contains("主演")) { + try { + actor = text.text().split(": ")[1]; + } catch (Exception e) { + actor = ""; + } + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + //System.out.println(vodList.toString()); + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div#player_list>h2"); + //System.out.println(sources.size()); + Elements sourceList = doc.select("div#player_list>ul"); + //System.out.println(sourceList.size()); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + //System.out.println(sources.text().split(":")[0].split("』")[1]); + String sourceName = source.text().split("』")[1].split(":")[0]; + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("li > a"); + //System.out.println(playListA.size()); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = siteUrl + id; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + /*取得script下面的JS变量*/ + Elements e = doc.select("div>script"); + /*循环遍历script下面的JS变量*/ + String player = ""; + String pn = ""; + JSONObject result = new JSONObject(); + for (Element element : e) { + /*取得JS变量数组*/ + String[] data = element.data().toString().split("var"); + /*取得单个JS变量*/ + for (String variable : data) { + /*过滤variable为空的数据*/ + if (variable.contains("=")) { + /*取到满足条件的JS变量*/ + if (variable.contains("now")) { + String[] kvp = variable.split("="); + player = kvp[1].replaceAll("\"", "").replaceAll(";", ""); + if (player.startsWith("base64")) { + String[] plist1 = player.split("\\("); + String[] plist2 = plist1[1].split("\\)"); + // 解码 + player = new String(Base64.decode(plist2[0].getBytes(), Base64.DEFAULT)); + //byte[] base64Data = Base64.getDecoder().decode(plist2[0]); + //player = new String(base64Data, "utf-8"); + } + if (player.startsWith("http")) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", player); + result.put("header", ""); + } else if (player.contains("m3u8")) { + String finalvideo = "https://datas-s8pwfqdu9yystn90fb----------------cache.haozhansou.com/" + player; + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", finalvideo); + result.put("header", ""); + + } + } + if (variable.contains("pn")) { + String[] kvp = variable.split("="); + pn = kvp[1].replaceAll("\"", "").replaceAll(";", ""); + } + } + } + if (playerConfig.has(pn)) { + JSONObject pCfg = playerConfig.getJSONObject(pn); + String videoUrl = player; + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", ""); + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + try { + String url = siteUrl + "/search.php?searchword=" + key; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + + JSONArray videos = new JSONArray(); + Elements list = doc.select("div.card-body>ul>li.media"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("div.media-body>div.subject>a>span").text(); + String cover = ""; + String remark = vod.selectFirst("div.media-body>div.d-flex>div.text-muted>span").text(); + Matcher matcher = regexVid.matcher(vod.select("div.media-body>div.subject>a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + + // 视频封面 + String vodurl = siteUrl + "/" + id + "/"; + Document voddoc = Jsoup.parse(OkHttpUtil.string(vodurl, getHeaders(vodurl))); + cover = voddoc.selectFirst("div.cover a").attr("href"); + + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Bdys01.java b/TVBox_Java/spider/Bdys01.java new file mode 100644 index 0000000..9da1ae1 --- /dev/null +++ b/TVBox_Java/spider/Bdys01.java @@ -0,0 +1,559 @@ +package com.github.catvod.spider; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; +import android.text.TextUtils; +import android.util.Base64; + +import java.io.InputStream; +import java.io.ByteArrayOutputStream; + + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.gZip; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.TreeMap; + +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; + +import okhttp3.Call; +import okhttp3.Response; + + + + +public class Bdys01 extends Spider { + private static final String siteUrl = "https://www.bdys01.com"; + private static final String siteHost = "www.bdys01.com"; + private String cookie=""; + private String referer=""; + + /** + * 筛选配置 + */ + private JSONObject filterConfig; + + + @Override + public void init(Context context) { + super.init(context); + try { + filterConfig = new JSONObject("{\"0\":[{\"key\":\"s\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"all\"},{\"n\":\"动作\",\"v\":\"dongzuo\"},{\"n\":\"爱情\",\"v\":\"aiqing\"},{\"n\":\"喜剧\",\"v\":\"xiju\"},{\"n\":\"科幻\",\"v\":\"kehuan\"},{\"n\":\"恐怖\",\"v\":\"kongbu\"},{\"n\":\"战争\",\"v\":\"zhanzheng\"},{\"n\":\"武侠\",\"v\":\"wuxia\"},{\"n\":\"魔幻\",\"v\":\"mohuan\"},{\"n\":\"剧情\",\"v\":\"juqing\"},{\"n\":\"动画\",\"v\":\"donghua\"},{\"n\":\"惊悚\",\"v\":\"jingsong\"},{\"n\":\"3D\",\"v\":\"3D\"},{\"n\":\"灾难\",\"v\":\"zainan\"},{\"n\":\"悬疑\",\"v\":\"xuanyi\"},{\"n\":\"警匪\",\"v\":\"jingfei\"},{\"n\":\"文艺\",\"v\":\"wenyi\"},{\"n\":\"青春\",\"v\":\"qingchun\"},{\"n\":\"冒险\",\"v\":\"maoxian\"},{\"n\":\"犯罪\",\"v\":\"fanzui\"},{\"n\":\"纪录\",\"v\":\"jilu\"},{\"n\":\"古装\",\"v\":\"guzhuang\"},{\"n\":\"奇幻\",\"v\":\"qihuan\"},{\"n\":\"国语\",\"v\":\"guoyu\"},{\"n\":\"综艺\",\"v\":\"zongyi\"},{\"n\":\"历史\",\"v\":\"lishi\"},{\"n\":\"运动\",\"v\":\"yundong\"},{\"n\":\"原创压制\",\"v\":\"yuanchuang\"},{\"n\":\"美剧\",\"v\":\"meiju\"},{\"n\":\"韩剧\",\"v\":\"hanju\"},{\"n\":\"国产电视剧\",\"v\":\"guoju\"},{\"n\":\"日剧\",\"v\":\"riju\"},{\"n\":\"英剧\",\"v\":\"yingju\"},{\"n\":\"德剧\",\"v\":\"deju\"},{\"n\":\"俄剧\",\"v\":\"eju\"},{\"n\":\"巴剧\",\"v\":\"baju\"},{\"n\":\"加剧\",\"v\":\"jiaju\"},{\"n\":\"西剧\",\"v\":\"anish\"},{\"n\":\"意大利剧\",\"v\":\"yidaliju\"},{\"n\":\"泰剧\",\"v\":\"taiju\"},{\"n\":\"港台剧\",\"v\":\"gangtaiju\"},{\"n\":\"法剧\",\"v\":\"faju\"},{\"n\":\"澳剧\",\"v\":\"aoju\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"不限\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"澳大利亚\",\"v\":\"澳大利亚\"},{\"n\":\"比利时\",\"v\":\"比利时\"},{\"n\":\"瑞典\",\"v\":\"瑞典\"},{\"n\":\"荷兰\",\"v\":\"荷兰\"},{\"n\":\"丹麦\",\"v\":\"丹麦\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"更新时间\",\"v\":\"0\"},{\"n\":\"豆瓣评分\",\"v\":\"1\"}]}],\"1\":[{\"key\":\"s\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"all\"},{\"n\":\"动作\",\"v\":\"dongzuo\"},{\"n\":\"爱情\",\"v\":\"aiqing\"},{\"n\":\"喜剧\",\"v\":\"xiju\"},{\"n\":\"科幻\",\"v\":\"kehuan\"},{\"n\":\"恐怖\",\"v\":\"kongbu\"},{\"n\":\"战争\",\"v\":\"zhanzheng\"},{\"n\":\"武侠\",\"v\":\"wuxia\"},{\"n\":\"魔幻\",\"v\":\"mohuan\"},{\"n\":\"剧情\",\"v\":\"juqing\"},{\"n\":\"动画\",\"v\":\"donghua\"},{\"n\":\"惊悚\",\"v\":\"jingsong\"},{\"n\":\"3D\",\"v\":\"3D\"},{\"n\":\"灾难\",\"v\":\"zainan\"},{\"n\":\"悬疑\",\"v\":\"xuanyi\"},{\"n\":\"警匪\",\"v\":\"jingfei\"},{\"n\":\"文艺\",\"v\":\"wenyi\"},{\"n\":\"青春\",\"v\":\"qingchun\"},{\"n\":\"冒险\",\"v\":\"maoxian\"},{\"n\":\"犯罪\",\"v\":\"fanzui\"},{\"n\":\"纪录\",\"v\":\"jilu\"},{\"n\":\"古装\",\"v\":\"guzhuang\"},{\"n\":\"奇幻\",\"v\":\"qihuan\"},{\"n\":\"国语\",\"v\":\"guoyu\"},{\"n\":\"综艺\",\"v\":\"zongyi\"},{\"n\":\"历史\",\"v\":\"lishi\"},{\"n\":\"运动\",\"v\":\"yundong\"},{\"n\":\"原创压制\",\"v\":\"yuanchuang\"},{\"n\":\"美剧\",\"v\":\"meiju\"},{\"n\":\"韩剧\",\"v\":\"hanju\"},{\"n\":\"国产电视剧\",\"v\":\"guoju\"},{\"n\":\"日剧\",\"v\":\"riju\"},{\"n\":\"英剧\",\"v\":\"yingju\"},{\"n\":\"德剧\",\"v\":\"deju\"},{\"n\":\"俄剧\",\"v\":\"eju\"},{\"n\":\"巴剧\",\"v\":\"baju\"},{\"n\":\"加剧\",\"v\":\"jiaju\"},{\"n\":\"西剧\",\"v\":\"anish\"},{\"n\":\"意大利剧\",\"v\":\"yidaliju\"},{\"n\":\"泰剧\",\"v\":\"taiju\"},{\"n\":\"港台剧\",\"v\":\"gangtaiju\"},{\"n\":\"法剧\",\"v\":\"faju\"},{\"n\":\"澳剧\",\"v\":\"aoju\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"不限\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"澳大利亚\",\"v\":\"澳大利亚\"},{\"n\":\"比利时\",\"v\":\"比利时\"},{\"n\":\"瑞典\",\"v\":\"瑞典\"},{\"n\":\"荷兰\",\"v\":\"荷兰\"},{\"n\":\"丹麦\",\"v\":\"丹麦\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"更新时间\",\"v\":\"0\"},{\"n\":\"豆瓣评分\",\"v\":\"1\"}]}],\"a\":[{\"key\":\"s\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"all\"},{\"n\":\"动作\",\"v\":\"dongzuo\"},{\"n\":\"爱情\",\"v\":\"aiqing\"},{\"n\":\"喜剧\",\"v\":\"xiju\"},{\"n\":\"科幻\",\"v\":\"kehuan\"},{\"n\":\"恐怖\",\"v\":\"kongbu\"},{\"n\":\"战争\",\"v\":\"zhanzheng\"},{\"n\":\"武侠\",\"v\":\"wuxia\"},{\"n\":\"魔幻\",\"v\":\"mohuan\"},{\"n\":\"剧情\",\"v\":\"juqing\"},{\"n\":\"动画\",\"v\":\"donghua\"},{\"n\":\"惊悚\",\"v\":\"jingsong\"},{\"n\":\"3D\",\"v\":\"3D\"},{\"n\":\"灾难\",\"v\":\"zainan\"},{\"n\":\"悬疑\",\"v\":\"xuanyi\"},{\"n\":\"警匪\",\"v\":\"jingfei\"},{\"n\":\"文艺\",\"v\":\"wenyi\"},{\"n\":\"青春\",\"v\":\"qingchun\"},{\"n\":\"冒险\",\"v\":\"maoxian\"},{\"n\":\"犯罪\",\"v\":\"fanzui\"},{\"n\":\"纪录\",\"v\":\"jilu\"},{\"n\":\"古装\",\"v\":\"guzhuang\"},{\"n\":\"奇幻\",\"v\":\"qihuan\"},{\"n\":\"国语\",\"v\":\"guoyu\"},{\"n\":\"综艺\",\"v\":\"zongyi\"},{\"n\":\"历史\",\"v\":\"lishi\"},{\"n\":\"运动\",\"v\":\"yundong\"},{\"n\":\"原创压制\",\"v\":\"yuanchuang\"},{\"n\":\"美剧\",\"v\":\"meiju\"},{\"n\":\"韩剧\",\"v\":\"hanju\"},{\"n\":\"国产电视剧\",\"v\":\"guoju\"},{\"n\":\"日剧\",\"v\":\"riju\"},{\"n\":\"英剧\",\"v\":\"yingju\"},{\"n\":\"德剧\",\"v\":\"deju\"},{\"n\":\"俄剧\",\"v\":\"eju\"},{\"n\":\"巴剧\",\"v\":\"baju\"},{\"n\":\"加剧\",\"v\":\"jiaju\"},{\"n\":\"西剧\",\"v\":\"anish\"},{\"n\":\"意大利剧\",\"v\":\"yidaliju\"},{\"n\":\"泰剧\",\"v\":\"taiju\"},{\"n\":\"港台剧\",\"v\":\"gangtaiju\"},{\"n\":\"法剧\",\"v\":\"faju\"},{\"n\":\"澳剧\",\"v\":\"aoju\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"不限\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"澳大利亚\",\"v\":\"澳大利亚\"},{\"n\":\"比利时\",\"v\":\"比利时\"},{\"n\":\"瑞典\",\"v\":\"瑞典\"},{\"n\":\"荷兰\",\"v\":\"荷兰\"},{\"n\":\"丹麦\",\"v\":\"丹麦\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"更新时间\",\"v\":\"0\"},{\"n\":\"豆瓣评分\",\"v\":\"1\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url,String ref) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + if(!ref.equals("google")){ + headers.put("Authority", "www.bdys01.com"); + if(ref.length()>0){ + headers.put("Referer", ref); + } + if(cookie.length()>0){ + headers.put("Cookie", cookie); + } + } + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + protected HashMap getHeaders2(String url) { + HashMap headers = new HashMap<>(); + String ss = url.replace("https://","").split("/")[0]; + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Authority", ss); + headers.put("Origin", "www.bdys01.com"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + + protected String getCookie(){ + cookie=""; + String cookieurl="https://www.bdys01.com/zzzzz"; + Map> respHeaders = new HashMap<>(); + OkHttpUtil.stringNoRedirect(cookieurl, getHeaders(cookieurl,referer), respHeaders); + if(respHeaders.containsKey("set-cookie")){ + cookie = respHeaders.get("set-cookie").get(0).split(";")[0]; + } + return cookie; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl,referer))); + referer=siteUrl+"/"; + // 分类节点 + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + String catestr ="{\"全部\": \"a\",\"电影\": \"0\",\"电视剧\": \"1\"}"; + JSONObject catedef = new JSONObject(catestr); + Iterator it = catedef.keys(); + while(it.hasNext()){ + JSONObject jsonObject = new JSONObject(); + String key =(String) it.next(); + jsonObject.put("type_name", key); + jsonObject.put("type_id", catedef.getString(key)); + classes.put(jsonObject); + } + result.put("class", classes); + if (filter) { + result.put("filters", filterConfig); + } + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.row.row-cards").get(0); + Elements list = homeList.select("div.col-4.rows-md-7"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("h3.card-title").text(); + String cover = vod.selectFirst("img.w-100" ).attr("data-src"); + String remark = vod.selectFirst("p.text-muted").text(); + String id =vod.selectFirst("a.d-block.cover").attr("href"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + getCookie(); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/s/" ; + if (extend != null && extend.size() > 0 ) { + String urlformat= ""; + if(tid.equals("a")){ + urlformat= url +"{s}/"+ pg +"?&area={area}&year={year}&order={order}"; + }else { + urlformat= url +"{s}/"+ pg +"?&type="+tid+"&area={area}&year={year}&order={order}"; + } + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + urlformat=urlformat.replace("{"+key+"}",URLEncoder.encode(value)); + } + } + for (int i=0 ;i<4;i++) { + if (urlformat.contains("{s}")) { + urlformat = urlformat.replace("{s}", "all"); + } else if (urlformat.contains("{area}")) { + urlformat = urlformat.replace("&area={area}", ""); + } else if (urlformat.contains("{year}")) { + urlformat = urlformat.replace("&year={year}", ""); + } else if (urlformat.contains("{order}")) { + urlformat = urlformat.replace("{order}", "0"); + } + } + url = urlformat; + } else { + if(tid.equals("a")){ + url += "all/" + pg + "?&order=0"; + }else { + url += "all/" + pg + "?&type=" + tid + "&order=0"; + } + } + referer=siteUrl+"/"; + String html = OkHttpUtil.string(url, getHeaders(url,referer)); + referer = url; + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + Elements pageInfo = doc.select("a.page-link"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element a = pageInfo.get(i); + String name = a.text(); + if (name.equals("尾页")) { + String gg =a.attr("href"); + String hf =""; + if(gg.contains("JSESSIONID")){ + int start = gg.lastIndexOf("/")+1; + int end = gg.indexOf(";"); + hf =gg.substring(start,end); + }else{ + int start = gg.lastIndexOf("/")+1; + int end = gg.indexOf("?"); + hf =gg.substring(start,end); + } + if (!hf.isEmpty()) { + pageCount = Integer.parseInt(hf); + } else { + pageCount = 0; + } + break; + } + } + } + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.col-lg-8"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("h3.mb-0").text(); + String cover = vod.selectFirst("img.w-100").attr("src"); + String remark = vod.selectFirst("p.mb-0").text(); + String idtt = vod.selectFirst("a.d-block").attr("href"); + String id =""; + if(idtt.contains("JSESSIONID")) { + int end = idtt.indexOf(";"); + id = idtt.substring(0,end); + }else{ + id =idtt; + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + String url = siteUrl + ids.get(0); + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url,referer))); + referer=url; + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + String cover = doc.selectFirst("div.col-md-auto img").attr("src"); + String title = doc.selectFirst("h1.d-none.d-md-block").text(); + String desc = doc.select("div.card.collapse > div.card-body").text(); + String year = doc.select("span.badge.bg-purple-lt").text().replace("更新时间:","").split("-")[0]; + String category = "", area = "", remark = "", director = "", actor = ""; + Element details = doc.select("div.col.mb-2").get(0); + Elements allp = details.select("p"); + for (int i = 0; i < allp.size(); i++) { + Element text = allp.get(i); + String info = text.selectFirst("strong").text(); + if (info.equals("类型:")) { + List categorys = new ArrayList<>(); + Elements aa = text.select("a"); + for (int j = 0; j < aa.size(); j++) { + categorys.add(aa.get(j).text()); + } + category ="类型:"+TextUtils.join(",", categorys); + } else if (info.contains("地区")) { + int start= text.text().indexOf("[")+1; + int end = text.text().indexOf("]"); + area = text.text().substring(start,end); + } else if (info.contains("豆瓣")) { + remark = "豆瓣:"+text.text(); + } else if (info.contains("导演:")) { + director = text.selectFirst("a").text(); + } else if (info.contains("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor =TextUtils.join(",", actors); + } + } + String vid = ids.get(0); + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new TreeMap<>(); + // 取播放列表数据 + Elements playListA = doc.select("a.btn.btn-square"); + String sourceName = "播放列表"; + String playList = ""; + List vodItems = new ArrayList<>(); + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + String idtt = vod.attr("href"); + String playURL =""; + if(idtt.contains("JSESSIONID")) { + int end = idtt.indexOf(";"); + playURL = idtt.substring(0,end); + }else{ + playURL =idtt; + } + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + vod_play.put(sourceName, playList); + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @TargetApi(Build.VERSION_CODES.KITKAT) + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + String url = siteUrl + id ; + String htmlplay = OkHttpUtil.string(url, getHeaders(url,referer)); + Document doc = Jsoup.parse(htmlplay); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + String pid=""; + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).toString(); + if (scContent.contains("var pid =")) { + int start = scContent.indexOf("var pid ="); + int end = scContent.lastIndexOf("var time") + 1; + String pidtmp = scContent.substring(start, end); + start = pidtmp.indexOf("=")+2; + end = pidtmp.lastIndexOf(";") ; + pid = pidtmp.substring(start, end); + break; + } + } + long t = System.currentTimeMillis(); + String key = Misc.MD5(pid+"-"+t, StandardCharsets.UTF_8).substring(0,16); + String sg = encrypt(pid+"-"+t,key); + String geturl = siteUrl+"/lines?t="+t+"&sg="+sg+"&pid="+pid; + String urlsrc = OkHttpUtil.string(geturl, getHeaders(geturl,"")); + JSONObject urlsrcobj = new JSONObject(urlsrc); + JSONObject urldb = urlsrcobj.getJSONObject("data"); + List urldblist = new ArrayList<>(); + if(!urldb.isNull("url3")){ + String url3 = urldb.optString("url3"); + urldblist.add(url3); + } + if(!urldb.isNull("m3u8")){ + String m3u8 = urldb.optString("m3u8").replace("www.bde4.cc","www.bdys01.com"); + urldblist.add(m3u8); + } + if(!urldb.isNull("m3u8_2")){ + String m3u8_2 =urldb.optString("m3u8_2"); + String[] m2=m3u8_2.split(","); + for(int i=0; i< m2.length ;i++){ + urldblist.add(m2[i].replace("www.bde4.cc","www.bdys01.com")); + } + } + int index =new Random().nextInt(urldblist.size()); + String videourl = urldblist.get(index); + if(videourl.contains("mp4")){ + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", videourl); + result.put("header", ""); + return result.toString(); + } + Map> respHeaders = new HashMap<>(); + OkHttpUtil.stringNoRedirect(videourl, getHeaders(videourl,""), respHeaders); + String redirect = OkHttpUtil.getRedirectLocation(respHeaders); + String realm3u8=""; + OKCallBack.OKCallBackDefault callBack = new OKCallBack.OKCallBackDefault() { + @Override + protected void onFailure(Call call, Exception e) { + } + @Override + protected void onResponse(Response response) { + } + }; + OkHttpUtil.get(OkHttpUtil.defaultClient(), redirect, null, getHeaders2(redirect), callBack); + if (callBack.getResult().code() == 200) { + InputStream picsrc = callBack.getResult().body().byteStream(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + int nRead; + byte[] data = new byte[4]; + while ((nRead = picsrc.read(data, 0, data.length)) != -1) { + buffer.write(data, 0, nRead); + } + buffer.flush(); + byte[] targetArray = buffer.toByteArray(); + picsrc.close(); + byte[] dep = Arrays.copyOfRange(targetArray,3354,targetArray.length); + String pp = gZip.KS(dep); + String[] m3u8ori = pp.split("\n"); + for(int i=0;i0){ + for (int i = 0; i < 1; i++) { + Element sourcess = sourceList.get(i); + String sourceName = sourcess.select("h3.LC20lb.MBeuO.DKV0Md").text(); + String list1 = sourcess.attr("href"); + if(list1.contains("/s/")||list1.contains("play")||list1.contains("performer")||list1.contains("search")||list1.contains("jsessionid")){ + continue; + } + if (sourceName.contains(key)) { + Document ddrklink = Jsoup.parse(OkHttpUtil.string(list1, getHeaders(list1,referer))); + JSONObject v = new JSONObject(); + String cover = ddrklink.selectFirst("div.col-md-auto img").attr("src"); + String title = ddrklink.selectFirst("h2.d-sm-block.d-md-none").text(); + String id =list1.replace("https://www.bdys01.com",""); + v.put("vod_name", title); + v.put("vod_remarks", ""); + 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 ""; + } + + protected String encrypt(String src, String KEY) { + try { + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding"); + SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES"); + cipher.init(Cipher.ENCRYPT_MODE, keySpec); + return bytesToHexStr(cipher.doFinal(src.getBytes())).toUpperCase(); + } catch (Exception exception) { + SpiderDebug.log(exception); + } + return null; + } + + protected String bytesToHexStr(byte[] bytes) { + StringBuilder hexStr = new StringBuilder(); + for (byte b : bytes) { + String hex = Integer.toHexString(b & 0xFF); + if (hex.length() == 1) { + hex = '0' + hex; + } + hexStr.append(hex); + } + return hexStr.toString(); + } + +} \ No newline at end of file diff --git a/TVBox_Java/spider/Bili.java b/TVBox_Java/spider/Bili.java new file mode 100644 index 0000000..0accb46 --- /dev/null +++ b/TVBox_Java/spider/Bili.java @@ -0,0 +1,273 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +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.JSONException; +import org.json.JSONObject; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; + +public class Bili extends Spider { + + protected JSONObject ext = null; + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + try { + String content = OkHttpUtil.string(extend, null); + ext = new JSONObject(content); + } catch (JSONException ex) { + ex.printStackTrace(); + } + } + + @Override + public String homeContent(boolean filter) { + JSONObject results = new JSONObject(); + try { + results.put("class", ext.getJSONArray("classes")); + if (filter) { + results.put("filters", ext.getJSONObject("filter")); + } + } catch (JSONException e) { + SpiderDebug.log(e); + } + return results.toString(); + } + + @Override + public String homeVideoContent() { + try { + JSONArray videos = new JSONArray(); + try { + String url = "https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword=窗 白噪音"; + String content = OkHttpUtil.string(url, null); + JSONObject data = new JSONObject(content).getJSONObject("data"); + JSONArray RArray = data.getJSONArray("result"); + for (int i = 0; i < RArray.length(); i++) { + JSONObject info = RArray.getJSONObject(i); + JSONObject result = new JSONObject(); + String pic = info.getString("pic"); + if (pic.startsWith("//")) { + pic = "https:" + pic; + } + result.put("vod_id", info.getString("bvid")); + String title = info.getString("title"); + Document KS = Jsoup.parse(title); + String name = KS.text(); + result.put("vod_name", name); + result.put("vod_pic", pic); + String duration = info.getString("duration"); + String words = duration.split(":")[0]; + String remark = words + "分钟"; + result.put("vod_remarks", remark); + videos.put(result); + } + } catch (Exception e) { + + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = "https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword="; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "&" + key + "=" + URLEncoder.encode(value); + } + } + } + url += "&page=" + pg; + String content = OkHttpUtil.string(url, null); + JSONObject data = new JSONObject(content).getJSONObject("data"); + JSONArray list = new JSONArray(); + JSONArray RSArray = data.getJSONArray("result"); + for (int i = 0; i < RSArray.length(); i++) { + JSONObject info = RSArray.getJSONObject(i); + JSONObject result = new JSONObject(); + String pic = info.getString("pic"); + if (pic.startsWith("//")) { + pic = "https:" + pic; + } + result.put("vod_id", info.getString("bvid")); + String title = info.getString("title"); + Document doc = Jsoup.parse(title); + String name = doc.text(); + result.put("vod_name", name); + result.put("vod_pic", pic); + String duration = info.getString("duration"); + String Split = duration.split(":")[0]; + String remark = Split + "分钟"; + result.put("vod_remarks", remark); + list.put(result); + } + JSONObject result = new JSONObject(); + int limit = 20; + int page = Integer.parseInt(pg); + result.put("page", page); + int pageCount = list.length() == limit ? page + 1 : page; + result.put("pagecount", pageCount); + result.put("limit", limit); + result.put("total", Integer.MAX_VALUE); + result.put("list", list); + return result.toString(); + + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + @Override + public String detailContent(List ids) { + int i = 0; + try { + String str = ids.get(0); + String sb2 = "https://api.bilibili.com/x/web-interface/archive/stat?bvid=" + str; + JSONObject jSONObject = new JSONObject(OkHttpUtil.string(sb2, null)); + JSONObject jSONObject2 = jSONObject.getJSONObject("data"); + long j = jSONObject2.getLong("aid"); + String sb4 = j + ""; + String sb6 = "https://api.bilibili.com/x/web-interface/view?aid=" + sb4; + JSONObject jSONObject3 = new JSONObject(OkHttpUtil.string(sb6, null)); + JSONObject jSONObject4 = jSONObject3.getJSONObject("data"); + JSONObject v = new JSONObject(); + v.put("vod_id", str); + String string = jSONObject4.getString("title"); + v.put("vod_name", string); + String string2 = jSONObject4.getString("pic"); + v.put("vod_pic", string2); + String string3 = jSONObject4.getString("tname"); + v.put("type_name", string3); + v.put("vod_year", ""); + v.put("vod_area", ""); + String sb7 = jSONObject4.getLong("duration") / 60 + "分钟"; + v.put("vod_remarks", sb7); + v.put("vod_actor", ""); + v.put("vod_director", ""); + String string4 = jSONObject4.getString("desc"); + v.put("vod_content", string4); + v.put("vod_play_from", "B站"); + ArrayList arrayList = new ArrayList(); + JSONArray jSONArray = jSONObject4.getJSONArray("pages"); + while (true) { + int length = jSONArray.length(); + if (i < length) { + JSONObject jSONObject6 = jSONArray.getJSONObject(i); + String string5 = jSONObject6.getString("part"); + String replace = string5.replace("$", "_").replace("#", "_"); + StringBuilder sb8 = new StringBuilder(); + sb8.append(replace); + sb8.append("$"); + sb8.append(sb4); + sb8.append("+ "); + long j2 = jSONObject6.getLong("cid"); + sb8.append(j2); + String sb9 = sb8.toString(); + arrayList.add(sb9); + i++; + } else { + v.put("vod_play_url", TextUtils.join("#", arrayList)); + JSONArray jSONArray2 = new JSONArray(); + jSONArray2.put(v); + JSONObject jSONObject7 = new JSONObject(); + jSONObject7.put("list", jSONArray2); + return jSONObject7.toString(); + } + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + @Override + public String playerContent(String str, String str2, List list) { + try { + String[] split = str2.split("\\+"); + String str3 = split[0]; + String str4 = split[1]; + String sb2 = "https://api.bilibili.com/x/player/playurl?avid=" + str3 + "&cid= " + str4 + "&qn=120&fourk=1"; + JSONObject jSONObject = new JSONObject(OkHttpUtil.string(sb2, null)); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("parse", "0"); + jSONObject2.put("playUrl", ""); + JSONObject jSONObject3 = jSONObject.getJSONObject("data"); + JSONObject jSONObject4 = jSONObject3.getJSONArray("durl").getJSONObject(0); + String string = jSONObject4.getString("url"); + jSONObject2.put("url", string); + jSONObject2.put("header", "{\"Referer\":\"https://www.bilibili.com\",\"User-Agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36\"}"); + jSONObject2.put("contentType", "video/x-flv"); + return jSONObject2.toString(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + @Override + public String searchContent(String key, boolean quick) { + try { + JSONObject result = new JSONObject(); + String url = "https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword=" + URLEncoder.encode(key); + String content = OkHttpUtil.string(url, null); + JSONObject data = new JSONObject(content).getJSONObject("data"); + JSONArray videos = new JSONArray(); + JSONArray RSArray = data.getJSONArray("result"); + for (int i = 0; i < RSArray.length(); i++) { + JSONObject info = RSArray.getJSONObject(i); + JSONObject v = new JSONObject(); + String pic = info.getString("pic"); + if (pic.startsWith("//")) { + pic = "https:" + pic; + } + v.put("vod_id", info.getString("bvid")); + String title = info.getString("title"); + Document doc = Jsoup.parse(title); + String name = doc.text(); + v.put("vod_name", name); + v.put("vod_pic", pic); + String duration = info.getString("duration"); + String Split = duration.split(":")[0]; + String remark = Split + "分钟"; + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/Buka.java b/TVBox_Java/spider/Buka.java new file mode 100644 index 0000000..328c2ed --- /dev/null +++ b/TVBox_Java/spider/Buka.java @@ -0,0 +1,483 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 真不卡 播放好像还有问题 需要大佬继续修复 + *

    + * Author: 小黄瓜 + */ +public class Buka extends Spider { + private static final String siteUrl = "https://www.zhenbuka3.com"; + private static final String siteHost = "www.zhenbuka3.com"; + private static final String ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + + private Pattern regexCategory = Pattern.compile("/vodtype/(\\w+)/"); + private Pattern regexVid = Pattern.compile("/voddetail/(\\w+)/"); + private Pattern regexPlay = Pattern.compile("/vodplay/(\\w+)-(\\d+)-(\\d+)/"); + private Pattern regexPage = Pattern.compile("/vodshow/(\\S+)/"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"qqpic\":{\"sh\":\"不卡超清[推荐]\",\"pu\":\"http://good-vip.mmiyue.com/zhenbuka2/player/index.php?video_id=\",\"sn\":0,\"or\":999},\"niuxyun\":{\"sh\":\"不卡备用[推荐]\",\"pu\":\"http://good-vip.mmiyue.com/jiekou/zbk-bkby/jx.php?id=\",\"sn\":0,\"or\":999},\"vipjx\":{\"sh\":\"不卡备用③[推荐]\",\"pu\":\"https://cq.mmiyue.com/zhenbuka2/player/index.php?url=\",\"sn\":0,\"or\":999},\"bkm3u8\":{\"sh\":\"不卡备用②[推荐]\",\"pu\":\"http://good-vip.mmiyue.com/zhenbuka2/player/index.php?url=//good-vip.mmiyue.com/zhenbuka2/api/dymp4.php?video_id=\",\"sn\":0,\"or\":999},\"cy\":{\"sh\":\"动漫云\",\"pu\":\"https://cq.mmiyue.com/jiekou/zbk-bkby/jx.php?id=\",\"sn\":0,\"or\":999},\"mgtv\":{\"sh\":\"不卡芒果\",\"pu\":\"https://cq.mmiyue.com/zhenbuka2/player/index.php?url=\",\"sn\":0,\"or\":999},\"qiyi\":{\"sh\":\"不卡奇艺\",\"pu\":\"https://cq.mmiyue.com/zhenbuka2/player/index.php?url=\",\"sn\":0,\"or\":999},\"qq\":{\"sh\":\"不卡企鹅\",\"pu\":\"https://cq.mmiyue.com/zhenbuka2/player/index.php?url=\",\"sn\":0,\"or\":999},\"youku\":{\"sh\":\"不卡优酷\",\"pu\":\"https://cq.mmiyue.com/zhenbuka2/player/index.php?url=\",\"sn\":0,\"or\":999},\"dbm3u8\":{\"sh\":\"资源备用[不推荐]\",\"pu\":\"\",\"sn\":0,\"or\":999},\"niuyun\":{\"sh\":\"超清备用\",\"pu\":\"https://api.l32c.cn/danmu/niuyun.php?id=\",\"sn\":0,\"or\":999},\"123kum3u8\":{\"sh\":\"资源备用[不推荐]\",\"pu\":\"\",\"sn\":0,\"or\":999},\"sixpan\":{\"sh\":\"不卡备用②[推荐]\",\"pu\":\"https://cq.mmiyue.com/zhenbuka2/player/index.php?url=//cq.mmiyue.com/m3u8/buka/\",\"sn\":0,\"or\":999},\"qq1\":{\"sh\":\"超清云播\",\"pu\":\"https://api.nixingle.com/zhenbuka/player/index.php?id=\",\"sn\":0,\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧片\",\"v\":\"7\"},{\"n\":\"爱情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"剧情片\",\"v\":\"11\"},{\"n\":\"战争片\",\"v\":\"12\"},{\"n\":\"动画片\",\"v\":\"23\"},{\"n\":\"纪录片\",\"v\":\"25\"},{\"n\":\"犯罪片\",\"v\":\"26\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]}],\"2\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产剧\",\"v\":\"13\"},{\"n\":\"港台剧\",\"v\":\"14\"},{\"n\":\"日韩剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"海外剧\",\"v\":\"20\"},{\"n\":\"纪录片\",\"v\":\"24\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]}],\"3\":[{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"英国\",\"v\":\"英国\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]}],\"4\":[{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", ua); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.dropdown > li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = true; + if (filter) { + show = name.equals("电影") || + name.equals("剧集") || + name.equals("动漫") || + name.equals("综艺"); + } + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + Elements list = doc.select("div.stui-pannel_bd ul.stui-vodlist li div.stui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + Matcher matcher = regexVid.matcher(vod.selectFirst(".stui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".stui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.trim().length() == 0) + continue; + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/vodshow/" + TextUtils.join("-", urlParams) + "/"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + Elements pageInfo = doc.select(".stui-page li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && li.hasClass("active")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("ul.stui-vodlist li div.stui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".stui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst(".stui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/voddetail/" + ids.get(0) + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("a.stui-vodlist__thumb img").attr("data-original"); + String title = doc.selectFirst("div.stui-content__detail h1.title").text(); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.stui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("类型:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextSibling().outerHtml().trim(); + } else if (info.equals("地区:")) { + area = text.nextSibling().outerHtml().trim(); + } else if (info.equals("更新:")) { + remark = text.nextSibling().outerHtml().trim(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + Elements sources = doc.select("div.playlist"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.selectFirst("h3.title").text().trim(); + String tabHref = source.attr("href"); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = source.select("ul.stui-content__playlist > li > a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = siteUrl + "/vodplay/" + id + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + String from = player.getString("from"); + if (from.equals("qqpic")) { + // 感谢猫大神的直连解密代码 + HashMap hds = getHeaders(url); + hds.put("Host", "good-vip.mmiyue.com"); + hds.put("Referer", url); + String content1 = OkHttpUtil.string(playUrl + videoUrl, hds); + Document doc1 = Jsoup.parse(content1); + String url2 = "https:" + doc1.selectFirst("iframe#player").attr("src"); + hds.put("Host", "pcc.mmiyue.com"); + hds.put("Referer", "http://good-vip.mmiyue.com/"); + String content2 = OkHttpUtil.string(url2, hds); + String finder = "var id=\""; + start = content2.indexOf(finder) + finder.length(); + end = content2.indexOf('\"', start); + String vvid = content2.substring(start, end); + finder = "var sk=\""; + start = content2.indexOf(finder) + finder.length(); + end = content2.indexOf('\"', start); + String skey = content2.substring(start, end); + finder = "var pt=\""; + start = content2.indexOf(finder) + finder.length(); + end = content2.indexOf('\"', start); + String pt = content2.substring(start, end); + finder = "var ti=\""; + start = content2.indexOf(finder) + finder.length(); + end = content2.indexOf('\"', start); + String time = content2.substring(start, end); + int bkn = 0x195c; + for (int j = 0x0, all = skey.length(); all > j; ++j) { + bkn += ((bkn << 5) + (byte) skey.charAt(j)); + } + bkn = 0x7fffffff & bkn; + int gtk1 = 0x0; + for (int j = 0x0; j < pt.length(); j += 0x4) { + gtk1 += Integer.parseInt(String.format("%c%c%c%c", pt.charAt(j), pt.charAt(j + 0x1), pt.charAt(j + 0x2), pt.charAt(j + 0x3)), 0x10); + gtk1 %= 0x400a; + } + int offset = gtk1 % 10; + int gtk = 0x0; + for (int j = 0x0; j < pt.length(); j++) { + gtk += ((byte) pt.charAt(j)) * (j + offset); + gtk %= gtk1; + } + String finalVideoUrl = "https://pcc.mmiyue.com/hls/play/" + vvid + "%7C" + time + "%7C" + skey + "%7C" + pt + "%7C" + bkn + "%7C" + gtk + ".m3u8"; + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", ""); + result.put("url", finalVideoUrl); + result.put("header", ""); + } else { + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", ""); + } + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + // 搜索有验证码 不支持 + return ""; + } +} diff --git a/TVBox_Java/spider/Cokemv.java b/TVBox_Java/spider/Cokemv.java new file mode 100644 index 0000000..c95ae12 --- /dev/null +++ b/TVBox_Java/spider/Cokemv.java @@ -0,0 +1,513 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.LinkedHashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Headers; + +public class Cokemv extends Spider { + private static final String siteUrl = "https://cokemv.me"; + private static final String siteHost = "cokemv.me"; + private String cookie=""; + private String referer=""; + + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/vodtype/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/voddetail/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/vodplay/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/vodshow/(\\S+).html"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"cokebb\":{\"sh\":\"極速路線\",\"pu\":\"\",\"sn\":0,\"or\":999},\"mp4\":{\"sh\":\"藍光路线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"cokemv\":{\"sh\":\"高速路線\",\"pu\":\"\",\"sn\":0,\"or\":999},\"cokemv001\":{\"sh\":\"海外線路\",\"pu\":\"\",\"sn\":0,\"or\":999},\"ddzy\":{\"sh\":\"蓝光采集(暂时)\",\"pu\":\"\",\"sn\":0,\"or\":999},\"tkm3u8\":{\"sh\":\"采集路线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"if101\":{\"sh\":\"海外(禁國內)\",\"pu\":\"\",\"sn\":0,\"or\":999}}"); + filterConfig = new JSONObject("{\"5\":[{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜劇\"},{\"n\":\"爱情\",\"v\":\"愛情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"動作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"劇情\"},{\"n\":\"战争\",\"v\":\"戰爭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"動畫\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"悬疑\",\"v\":\"懸疑\"},{\"n\":\"微电影\",\"v\":\"微電影\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"國語\"},{\"n\":\"英语\",\"v\":\"英語\"},{\"n\":\"粤语\",\"v\":\"粵語\"},{\"n\":\"闽南语\",\"v\":\"閩南語\"},{\"n\":\"韩语\",\"v\":\"韓語\"},{\"n\":\"日语\",\"v\":\"日語\"},{\"n\":\"法语\",\"v\":\"法語\"},{\"n\":\"德语\",\"v\":\"德語\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"2\"},{\"n\":\"大陆剧\",\"v\":\"13\"},{\"n\":\"香港剧\",\"v\":\"14\"},{\"n\":\"韩国剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"日本剧\",\"v\":\"20\"},{\"n\":\"台湾剧\",\"v\":\"21\"},{\"n\":\"泰国剧\",\"v\":\"22\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"1\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"1\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧片\",\"v\":\"7\"},{\"n\":\"爱情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"剧情片\",\"v\":\"11\"},{\"n\":\"战争片\",\"v\":\"12\"},{\"n\":\"犯罪片\",\"v\":\"23\"},{\"n\":\"奇幻片\",\"v\":\"24\"},{\"n\":\"悬疑片\",\"v\":\"25\"},{\"n\":\"记录片\",\"v\":\"27\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"4\"},{\"n\":\"动画电影\",\"v\":\"41\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders2(siteUrl,referer))); + // 分类节点 + Elements elements = doc.select("ul.navbar-items>li.navbar-item>a"); + System.out.println("shouye" + elements); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("续剧") || + name.equals("综艺") || + name.equals("动漫"); + + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.module-main").get(0); + Elements list = homeList.select("div.module-items>a"); + System.out.println("list..." + list); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.selectFirst("img.lazyload").attr("data-original"); + String remark = vod.selectFirst("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/vodshow/" + TextUtils.join("-", urlParams) + ".html"; + System.out.println("url+++" + url); + String html = OkHttpUtil.string(url, getHeaders2(url,referer)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div[id=page]"); + System.out.println("pg++" + pageInfo); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String span = doc.select("span.page-current").text(); + String wy = doc.select("div[id=page] a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + + } + } + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.module > a"); + System.out.print("list++f" + list); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + System.out.print("title++" + title); + String cover = vod.selectFirst("img.lazyload").attr("data-original"); + System.out.print("cover++" + cover); + String remark = vod.selectFirst("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/voddetail/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url,getHeaders2(url,referer))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.module-item-cover div.module-item-pic > img").attr("data-original"); + String title = doc.selectFirst("div.module-info-main div.module-info-heading > h1").text(); + String desc = doc.selectFirst("div.module-info-item div.module-info-introduction-content > p").text().trim(); + + + String category = "", area = "", year = "", director = "", actor = ""; + category = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(2).text(); + area = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(1).text(); + year = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(0).text(); + + Elements span_text_muted = doc.select("div.module-info-content div.module-info-items div.module-info-item"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.select("span").text(); + if (info.contains("导演")) { + try { + director = text.select("div > a").text(); + } catch (Exception e) { + director = ""; + } + } else if (info.contains("主演")) { + try { + actor = text.select("div > a").text(); + } catch (Exception e) { + actor = ""; + } + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new LinkedHashMap<>(); + /* Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + });*/ + + // 取播放列表数据 + Elements sources = doc.select("div.module-tab-items-box>div>span"); + System.out.print("sor++" + sources); + Elements sourceList = doc.select("div.module-list>div.module-play-list"); + System.out.print("sor1++" + sourceList); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + // boolean found = false; + boolean found = true; + // for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + // String flag = it.next(); + // if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + // sourceName = playerConfig.getJSONObject(flag).getString("sh"); + // found = true; + // break; + // } + // } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("div.module-play-list-content>a"); + System.out.print("pl++" + playList); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + headers.put("origin", " https://cokemv.me"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + + + // 播放页 url + String url = siteUrl + "/vodplay/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", headers.toString()); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected HashMap getHeaders2(String url,String ref) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + if(!ref.equals("google")){ + headers.put("Authority", "cokemv.me"); + if(ref.length()>0){ + if(ref.equals("origin")){ + headers.put("Origin", "https://cokemv.me"); + } else { + headers.put("Referer", ref); + } + } + if(cookie.length()>0){ + headers.put("Cookie", cookie); + } + } + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + protected void getCookie(){ + cookie=""; + String cookieurl="https://cokemv.me/zzzzz"; + Map> cookies = new HashMap<>(); + OkHttpUtil.string(cookieurl,getHeaders2(cookieurl,""),cookies); + for( Map.Entry> entry : cookies.entrySet() ){ + if(entry.getKey().equals("set-cookie")){ + cookie = TextUtils.join(";",entry.getValue()); + break; + } + } + } + + @Override + public String searchContent(String key, boolean quick) { + try { + String url = "https://www.xn--flw351e.cf/search?q=site%3A" + siteHost + "+" + URLEncoder.encode(key); + Document doc = Jsoup.parse(OkHttpUtil.string(url,getHeaders2(url,"google"))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + Elements sourceList = doc.select("div.yuRUbf a"); + if(sourceList.size()>0){ + for (int i = 0; i < 1; i++) { + Element sourcess = sourceList.get(i); + String sourceName = sourcess.select("h3.LC20lb.MBeuO.DKV0Md").text(); + String list1 = sourcess.attr("href"); + if(list1.contains("/s/")||list1.contains("play")||list1.contains("performer")||list1.contains("search")||list1.contains("jsessionid")){ + continue; + } + if (sourceName.contains(key)) { + Document link = Jsoup.parse(OkHttpUtil.string(list1, getHeaders2(list1,referer))); + JSONObject v = new JSONObject(); + Matcher matcher = regexVid.matcher(list1); + if (!matcher.find()) continue; + + String cover = link.selectFirst("div.module-item-cover div.module-item-pic > img").attr("data-original"); + String title = link.selectFirst("div.module-info-main div.module-info-heading > h1").text(); + String id = matcher.group(1); + + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_remarks", ""); + 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 diff --git a/TVBox_Java/spider/Czsapp.java b/TVBox_Java/spider/Czsapp.java new file mode 100644 index 0000000..04519ef --- /dev/null +++ b/TVBox_Java/spider/Czsapp.java @@ -0,0 +1,435 @@ +package com.github.catvod.spider; + +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.AES; +import com.github.catvod.utils.CBC; +import com.github.catvod.utils.gZip; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.StringReader; +import java.net.URLEncoder; +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import okhttp3.Call; +import okhttp3.OkHttpClient; +import okhttp3.Response; +import okhttp3.ResponseBody; + +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; + +public class Czsapp extends Spider { + private static final Pattern Y = Pattern.compile("\"([^\"]+)\";var [\\d\\w]+=function dncry.*md5.enc.Utf8.parse\\(\"([\\d\\w]+)\".*md5.enc.Utf8.parse\\(([\\d]+)\\)"); + private static final Pattern pY = Pattern.compile("video: \\{url: \"([^\"]+)\""); + private static final Pattern m = Pattern.compile("subtitle: \\{url:\"([^\"]+\\.vtt)\""); + private static final Pattern Q = Pattern.compile("src: '([^']+\\.css)',"); + private static final Pattern Db = Pattern.compile("/movie/(\\d+).html"); + private static final Pattern I = Pattern.compile("/page/(\\d+)"); + private static final Pattern d = Pattern.compile("/v_play/(.*)\\.html"); + private static final Pattern K = Pattern.compile("var vkey = ['\"]([^'\"]+)['\"]"); + private static final Pattern Oe = Pattern.compile("var fvkey = ['\"]([^'\"]+)['\"]"); + private static final Pattern fi = Pattern.compile("var ua = ['\"]([^'\"]+)['\"]"); + private static final Pattern M = Pattern.compile("var cip = ['\"]([^'\"]+)['\"]"); + private static final Pattern X = Pattern.compile("var time = ['\"]([^'\"]+)['\"]"); + private static final Pattern a = Pattern.compile("var url = ['\"]([^'\"]+)['\"]"); + + + private String mmd5(String str) { + try { + MessageDigest messageDigest = MessageDigest.getInstance("MD5"); + messageDigest.update(str.getBytes()); + byte[] digest = messageDigest.digest(); + StringBuilder sb = new StringBuilder(); + for (byte b : digest) { + String hexString = Integer.toHexString(b & 255); + while (hexString.length() < 2) { + hexString = "0" + hexString; + } + sb.append(hexString); + } + return sb.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + public static Object[] loadsub(String sub) { + try { + OKCallBack.OKCallBackDefault callBack = new OKCallBack.OKCallBackDefault() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(Response response) { + + } + }; + OkHttpClient YM = OkHttpUtil.defaultClient(); + OkHttpUtil.get(YM, sub, null, Headers(), callBack); + Response result = callBack.getResult(); + int code = result.code(); + if (code == 404) { + return new Object[]{200, "application/octet-stream", new ByteArrayInputStream("WEBVTT".getBytes())}; + } + ResponseBody body = result.body(); + byte[] bytes = body.bytes(); + byte[] tokenkey = Arrays.copyOfRange(bytes, 0, 16); + byte[] data = Arrays.copyOfRange(bytes, 16, bytes.length); + byte[] KS = CBC.CBC(data, tokenkey, tokenkey); + String vtt = gZip.KS(KS); + + + vtt = vtt.replaceAll("(\\d{2}:\\d{2}:\\d{2}.\\d{3}.+\\d{2}:\\d{2}:\\d{2}.\\d{3}).*", "$1"); + vtt = vtt.replaceAll("(\\d{2}:\\d{2}.\\d{3}).*?( --> )(\\d{2}:\\d{2}.\\d{3}).*", "00:$1$200:$3"); + vtt = vtt.replaceAll("<.*><.*>(.*)<.*><.*>", "$1"); + vtt = vtt.replaceAll("&(.*);", ""); + vtt = vtt.replaceAll(".*NOTE.*", ""); + BufferedReader br = new BufferedReader(new StringReader(vtt)); + ArrayList lines = new ArrayList<>(); + int captionNumber = 1; + String line = br.readLine(); + while (line != null) { + if (line.matches("\\d{2}:\\d{2}:\\d{2}.\\d{3}.+\\d{2}:\\d{2}:\\d{2}.\\d{3}")) { + if (lines.get(lines.size() - 1).trim().isEmpty()) { + lines.add(captionNumber + ""); + captionNumber++; + } + } + lines.add(line); + line = br.readLine(); + } + String join = TextUtils.join("\n", lines); + + return new Object[]{200, "application/octet-stream", new ByteArrayInputStream(join.getBytes())}; + } catch (Exception e) { + e.printStackTrace(); + SpiderDebug.log(e); + return null; + } + } + + public String categoryContent(String str, String str2, boolean z, HashMap hashMap) { + try { + JSONObject jSONObject = new JSONObject(); + Document doc = Jsoup.parse(OkHttpUtil.string("https://www.c-zzy.com/" + str + "/page/" + str2, Headers())); + int parseInt = Integer.parseInt(str2); + int parseInt2 = Integer.parseInt(str2); + Matcher matcher = I.matcher(doc.select("div.pagenavi_txt > a.extend").last().attr("href")); + if (matcher.find()) { + parseInt2 = Integer.parseInt(matcher.group(1)); + } + Elements jS = doc.select("div.mi_ne_kd > ul > li"); + JSONArray jSONArray = new JSONArray(); + for (Element next : jS) { + Matcher matcher2 = Db.matcher(next.select("a").attr("href")); + if (matcher2.find()) { + String group = matcher2.group(1); + String trim = next.select("img").attr("alt").trim(); + String trim2 = next.select("img").attr("data-original").trim(); + String trim3 = next.select("div.hdinfo > span").text().trim(); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", group); + jSONObject2.put("vod_name", trim); + jSONObject2.put("vod_pic", trim2); + jSONObject2.put("vod_remarks", trim3); + jSONArray.put(jSONObject2); + } + } + jSONObject.put("list", jSONArray); + jSONObject.put("page", parseInt); + jSONObject.put("pagecount", parseInt2); + jSONObject.put("limit", 24); + jSONObject.put("total", parseInt2 <= 1 ? jSONArray.length() : parseInt2 * 24); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public String detailContent(List list) { + String str2 = ""; + try { + + JSONObject jSONObject = new JSONObject(); + JSONArray jSONArray = new JSONArray(); + JSONObject jSONObject2 = new JSONObject(); + Document doc = Jsoup.parse(OkHttpUtil.string("https://www.c-zzy.com/movie/" + list.get(0) + ".html", Headers())); + String trim = doc.select("div.moviedteail_tt > h1").text().trim(); + String pY2 = doc.select("div.dyimg > img").attr("src"); + Iterator it = doc.select("ul.moviedteail_list > li").iterator(); + String str3 = str2; + String str4 = str3; + String str5 = str4; + String str6 = str5; + String str7 = str6; + String str8 = str7; + while (it.hasNext()) { + String trim2 = it.next().text().trim(); + if (trim2.length() >= 4) { + try { + String substring = trim2.substring(0, 2); + String substring2 = trim2.substring(3); + if (substring.equals("类型")) { + str3 = substring2; + } else if (substring.equals("地区")) { + str5 = substring2; + } else if (substring.equals("年份")) { + str4 = substring2; + } else if (substring.equals("导演")) { + str8 = substring2; + } else if (substring.equals("主演")) { + str7 = substring2; + } else if (substring.equals("豆瓣")) { + str6 = substring2; + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } + jSONObject2.put("vod_id", list.get(0)); + jSONObject2.put("vod_name", trim); + jSONObject2.put("vod_pic", pY2); + jSONObject2.put("type_name", str3); + jSONObject2.put("vod_year", str4); + jSONObject2.put("vod_area", str5); + jSONObject2.put("vod_remarks", str6); + jSONObject2.put("vod_actor", str7); + jSONObject2.put("vod_director", str8); + jSONObject2.put("vod_content", doc.select("div.yp_context").text().trim()); + jSONObject2.put("vod_play_from", "厂长资源"); + ArrayList arrayList = new ArrayList(); + for (Element next : doc.select("div.paly_list_btn > a")) { + Matcher matcher = d.matcher(next.attr("href")); + if (matcher.find()) { + arrayList.add(next.text() + "$" + matcher.group(1)); + } + } + jSONObject2.put("vod_play_url", TextUtils.join("#", arrayList)); + jSONArray.put(jSONObject2); + jSONObject.put("list", jSONArray); + return jSONObject.toString(); + } catch (Exception e3) { + }return ""; + } + + public String homeContent(boolean z) { + try { + + JSONObject jSONObject = new JSONObject(); + Document doc = Jsoup.parse(OkHttpUtil.string("https://www.c-zzy.com", Headers())); + Elements jS = doc.select(".navlist > li > a"); + JSONArray jSONArray = new JSONArray(); + for (Element next : jS) { + String pY2 = next.attr("href"); + if (pY2.length() > 1) { + String substring = pY2.substring(1); + String trim = next.text().trim(); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("type_id", substring); + jSONObject2.put("type_name", trim); + jSONArray.put(jSONObject2); + } + } + jSONObject.put("class", jSONArray); + Elements jS2 = doc.select("div.mi_ne_kd > ul > li"); + JSONArray jSONArray2 = new JSONArray(); + for (Element next2 : jS2) { + Matcher matcher = Db.matcher(next2.select("a").attr("href")); + if (matcher.find()) { + String group = matcher.group(1); + String trim2 = next2.select("img").attr("alt").trim(); + String trim3 = next2.select("img").attr("data-original").trim(); + String trim4 = next2.select("div.hdinfo > span").text().trim(); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("vod_id", group); + jSONObject3.put("vod_name", trim2); + jSONObject3.put("vod_pic", trim3); + jSONObject3.put("vod_remarks", trim4); + jSONArray2.put(jSONObject3); + } + } + jSONObject.put("list", jSONArray2); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + protected static HashMap Headers() { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36"); + return hashMap; + } + + + public String playerContent(String str, String str2, List list) { + String str3; + String str4; + Elements G8; + try { + String K2 = OkHttpUtil.string("https://www.c-zzy.com/v_play/" + str2 + ".html", Headers()); + Document UR = Jsoup.parse(K2); + Matcher matcher = Y.matcher(K2); + if (matcher.find()) { + String group = matcher.group(1); + String KEY = matcher.group(2); + String IV = matcher.group(3); + String str5 = AES.CBC(group, KEY, IV); + Matcher matcher2 = pY.matcher(str5); + str3 = matcher2.find() ? matcher2.group(1) : ""; + Matcher matcher3 = m.matcher(str5); + str4 = matcher3.find() ? matcher3.group(1) : ""; + } else { + str4 = ""; + str3 = str4; + } + if (TextUtils.isEmpty(str3) && (G8 = UR.select("iframe.viframe")) != null) { + String pY2 = G8.attr("src"); + if (pY2.contains("jx.xmflv.com")) { + String K3 = OkHttpUtil.string(pY2, Headers()); + Matcher matcher4 = X.matcher(K3); + if (!matcher4.find()) { + return ""; + } + String group2 = matcher4.group(1); + Matcher matcher5 = a.matcher(K3); + if (!matcher5.find()) { + return ""; + } + String group3 = matcher5.group(1); + String K4 = OkHttpUtil.string("https://jx.xmflv.com/player.php?time=" + group2 + "&url=" + group3, Headers()); + Matcher matcher6 = K.matcher(K4); + if (!matcher6.find()) { + return ""; + } + String group4 = matcher6.group(1); + Matcher matcher7 = Oe.matcher(K4); + if (!matcher7.find()) { + return ""; + } + String group5 = matcher7.group(1); + Matcher matcher8 = fi.matcher(K4); + if (!matcher8.find()) { + return ""; + } + String group6 = matcher8.group(1); + Matcher matcher9 = M.matcher(K4); + if (!matcher9.find()) { + return ""; + } + String group7 = matcher9.group(1); + Matcher matcher10 = X.matcher(K4); + if (!matcher10.find()) { + return ""; + } + String group8 = matcher10.group(1); + byte[] bytes3 = mmd5(group5).getBytes(); + byte[] bytes4 = "UVE1NTY4MDY2NQ==".getBytes(); + Cipher cipher2 = Cipher.getInstance("AES/CBC/NoPadding"); + cipher2.init(1, new SecretKeySpec(bytes3, "AES"), new IvParameterSpec(bytes4)); + String encodeToString = Base64.encodeToString(cipher2.doFinal(group5.getBytes()), 0); + OKCallBack.OKCallBackDefault callBack = new OKCallBack.OKCallBackDefault() { + + public void onResponse(Response response) { + } + + @Override + protected void onFailure(Call call, Exception exc) { + } + }; + HashMap hashMap = new HashMap(); + hashMap.put("url", group3); + hashMap.put("time", group8); + hashMap.put("ua", group6); + hashMap.put("cip", group7); + hashMap.put("vkey", group4); + hashMap.put("fvkey", encodeToString); + OkHttpUtil.post(OkHttpUtil.defaultClient(), "https://jx.xmflv.com/xmflv-1.SVG", hashMap, Headers(), callBack); + str3 = new JSONObject(callBack.getResult().body().string()).getString("url"); + } else { + Matcher matcher11 = Q.matcher(OkHttpUtil.string(pY2, Headers())); + if (matcher11.find()) { + str3 = matcher11.group(1); + } + } + } + JSONObject jSONObject = new JSONObject(); + jSONObject.put("parse", "0"); + jSONObject.put("playUrl", ""); + jSONObject.put("url", str3); + jSONObject.put("header", ""); + if (!TextUtils.isEmpty(str4)) { + jSONObject.put("subf", "/vtt/utf-8"); + jSONObject.put("subt", Proxy.localProxyUrl() + "?do=czspp&url=" + URLEncoder.encode(str4)); + } + return jSONObject.toString(); + } catch (Exception e) { + e.printStackTrace(); + SpiderDebug.log(e); + return ""; + } + } + + public String searchContent(String str, boolean z) { + try { + JSONObject jSONObject = new JSONObject(); + Elements jS = Jsoup.parse(OkHttpUtil.string("https://www.c-zzy.com/xssearch?q=" + URLEncoder.encode(str), Headers())).select("div.mi_ne_kd > ul > li"); + JSONArray jSONArray = new JSONArray(); + for (Element next : jS) { + Matcher matcher = Db.matcher(next.select("a").attr("href")); + JSONObject jSONObject2 = new JSONObject(); + if (matcher.find()) { + String group = matcher.group(1); + String trim = next.select("img").attr("alt").trim(); + if (trim.contains(str)) { + String trim2 = next.select("img").attr("src").trim(); + if (next.hasClass(".jidi")) { + String remark = next.select(".jidi span").text(); + jSONObject2.put("vod_remarks", remark); + } else { + String id = next.select("a").attr("href"); + Document doc = Jsoup.parse(OkHttpUtil.string(id, Headers())); + String remark = doc.select("ul.moviedteail_list li span").get(0).text(); + jSONObject2.put("vod_id", group); + jSONObject2.put("vod_name", trim); + jSONObject2.put("vod_pic", trim2); + jSONObject2.put("vod_remarks", remark); + jSONArray.put(jSONObject2); + } + } + } + } + jSONObject.put("list", jSONArray); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } +} diff --git a/TVBox_Java/spider/Ddrk.java b/TVBox_Java/spider/Ddrk.java new file mode 100644 index 0000000..826da15 --- /dev/null +++ b/TVBox_Java/spider/Ddrk.java @@ -0,0 +1,581 @@ +package com.github.catvod.spider; + +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.AES; +import com.github.catvod.utils.CBC; +import com.github.catvod.utils.gZip; +import com.github.catvod.utils.okhttp.OKCallBack; +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.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.StringReader; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +import okhttp3.Call; +import okhttp3.OkHttpClient; +import okhttp3.Response; +import okhttp3.ResponseBody; + +/** + * Demo for self study + *

    + * Source from Author: CatVod + */ + +public class Ddrk extends Spider { + + private static final String siteUrl = "https://ddrk.tv"; + private static final String siteHost = "ddrk.tv"; + + protected JSONObject filterConfig; + + protected Pattern regexCategory = Pattern.compile("/category/(\\S+)/"); + protected Pattern regexVid = Pattern.compile("https://ddrk.tv/(\\S+)/"); + + protected Pattern regexPage = Pattern.compile("\\S+/page/(\\S+)\\S+"); + protected Pattern m = Pattern.compile("\\S+(http\\S+g)"); + protected Pattern mark = Pattern.compile("\\S+(.*)"); + + // protected Pattern t = Pattern.compile("(\\S+)"); + + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + 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("Referer", "https://ddrk.tv/"); + return headers; + } + + protected static HashMap Headers() { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Referer", "https://ddrk.tv/"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl + '/'; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements elements = doc.select("li.menu-item a"); + JSONArray classes = new JSONArray(); + ArrayList allClass = new ArrayList<>(); + for (Element ele : elements) { + String name = ele.attr("title"); + boolean show = !filter || (name.equals("热映中") + || name.equals("欧美剧") + || name.equals("日剧") + || name.equals("韩剧") + || name.equals("华语剧") + || name.equals("其他地区") + || name.equals("全部") + || name.equals("欧美电影") + || name.equals("日韩电影") + || name.equals("华语电影") + || name.equals("新番") + || name.equals("动画") + || name.equals("纪录片") + || name.equals("综艺")); + if (allClass.contains(name)) + show = false; + if (show) { + allClass.add(name); + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("div.post-box-container"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String a = vod.selectFirst(".post-box-title a").text(); + if (a.contains("(")) { + String[] item = a.split("\\("); + String title = item[0]; + String remark = item[1].replace(")", ""); + String cover = doReplaceRegex(m, vod.selectFirst(".post-box-image").attr("style")); + Matcher matcher = regexVid.matcher(vod.selectFirst(".post-box-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } else { + String title = a; + String cover = doReplaceRegex(m, vod.selectFirst(".post-box-image").attr("style")); + String remark = doReplaceRegex(mark, vod.selectFirst(".post-box-title a").text()); + Matcher matcher = regexVid.matcher(vod.selectFirst(".post-box-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + String url = ""; + try { + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value != null && value.length() != 0 && value != " ") { + url = siteUrl + "/category/" + tid + "/" + value; + } else { + url = siteUrl + "/category/" + tid; + } + ; + } + } else { + url = siteUrl + "/category/" + tid; + } + ; + if (pg.equals("1")) { + url = url + "/"; + } else { + url = url + "/page/" + pg + "/"; + } + //System.out.println(url); + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div.nav-links"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String wy = doc.select("div.nav-links a").last().attr("href"); + String span = doc.select("span.current").text().trim(); + if (page == -1) { + page = Integer.parseInt(span); + } else { + + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + //System.out.println("尾页" + matcher.group(1)); + pageCount = Integer.parseInt(matcher.group(1)); + } else { + pageCount = 0; + } + break; + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.post-box-container"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String a = vod.selectFirst(".post-box-title a").text(); + if (a.contains("(")) { + String[] item = a.split("\\("); + String title = item[0]; + String remark = item[1].replace(")", ""); + String cover = doReplaceRegex(m, vod.selectFirst(".post-box-image").attr("style")); + Matcher matcher = regexVid.matcher(vod.selectFirst(".post-box-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } else { + String title = a; + String cover = doReplaceRegex(m, vod.selectFirst(".post-box-image").attr("style")); + String remark = doReplaceRegex(mark, vod.selectFirst(".post-box-title a").text()); + Matcher matcher = regexVid.matcher(vod.selectFirst(".post-box-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 24); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 24); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/" + ids.get(0) + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.select("div.post img").attr("src"); + String ab = doc.select("h1.post-title").text(); + if (ab.contains("(")) { + String[] b = ab.split("\\("); + String title = b[0]; + String remark = b[1].replace("(", ""); + vodList.put("vod_name", title); + vodList.put("vod_remarks", remark); + } else { + vodList.put("vod_name", ab); + String remark = doc.select("time").text().trim(); + vodList.put("vod_remarks", "全"); + } + String str2 = doc.select("div.abstract").text().replace(" ", ""); + String replace = str2.replace("
    ", ""); + String text = replace.replace("

    ", ""); + Pattern categorys = Pattern.compile("类型:(.*)制"); + String category = doReplaceRegex(categorys, text); + Pattern a = Pattern.compile("年份:(.*)简"); + String year = doReplaceRegex(a, text); + Pattern b = Pattern.compile("地区:(.*)年份"); + String area = doReplaceRegex(b, text); + Pattern c = Pattern.compile("演员:(.*)类"); + String actor = doReplaceRegex(c, text); + Pattern d = Pattern.compile("导演:(.*)演"); + String director = doReplaceRegex(d, text); + Pattern e = Pattern.compile("简介:(.*)"); + String desc = doReplaceRegex(e, text); + + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + List vodItems = new ArrayList<>(); + List vodItems2 = new ArrayList<>(); + Map vod_play = new LinkedHashMap<>(); + + Elements allScript = doc.select(".wp-playlist-script"); + String sourceName = "第1季"; + for (int j = 0; j < allScript.size(); j++) { + String scContent = allScript.get(j).html().trim(); + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject UJson = new JSONObject(json); + JSONArray Track = UJson.getJSONArray("tracks"); + for (int k = 0; k < Track.length(); k++) { + JSONObject src = Track.getJSONObject(k); + String adk = src.getString("src1"); + String vodName = src.getString("caption"); + String playURL = "https://ddrk.tv/getvddr/video?id=" + adk + "&type=mix"; + String zm = "https://ddrk.tv/subddr/" + src.getString("subsrc"); + String pzm = playURL + "|" + zm; + vodItems.add(vodName + "$" + pzm); + } + vod_play.put(sourceName, TextUtils.join("#", vodItems)); + } + Elements sources = doc.select(".post-page-numbers"); + if (!sources.isEmpty()) + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + sourceName = "第" + source.text() + "季"; + String Purl = siteUrl + "/" + ids.get(0) + "/" + source.text() + "/"; + Document docs = Jsoup.parse(OkHttpUtil.string(Purl, getHeaders(Purl))); + Elements allScripts = docs.select(".wp-playlist-script"); + for (int j = 0; j < allScripts.size(); j++) { + String scContent = allScripts.get(j).html().trim(); + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject UJson = new JSONObject(json); + JSONArray Track = UJson.getJSONArray("tracks"); + for (int k = 0; k < Track.length(); k++) { + JSONObject src = Track.getJSONObject(k); + String adk = src.getString("src1"); + String vodName = src.getString("caption"); + String playURL = "https://ddrk.tv/getvddr/video?id=" + adk + "&type=mix"; + String zm = "https://ddrk.tv/subddr/" + src.getString("subsrc"); + String pzm = playURL + "|" + zm; + vodItems2.add(vodName + "$" + pzm); + } + vod_play.put(sourceName, TextUtils.join("#", vodItems2)); + } + vodItems2.removeAll(vodItems2); + } + + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + public static Object[] loadsub(String sub) { + try { + OKCallBack.OKCallBackDefault callBack = new OKCallBack.OKCallBackDefault() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(Response response) { + + } + }; + OkHttpClient YM = OkHttpUtil.defaultClient(); + OkHttpUtil.get(YM, sub, null, Headers(), callBack); + Response result = callBack.getResult(); + int code = result.code(); + if (code == 404) { + return new Object[]{200, "application/octet-stream", new ByteArrayInputStream("WEBVTT".getBytes())}; + } + ResponseBody body = result.body(); + byte[] bytes = body.bytes(); + byte[] tokenkey = Arrays.copyOfRange(bytes, 0, 16); + byte[] data = Arrays.copyOfRange(bytes, 16, bytes.length); + byte[] KS = CBC.CBC(data, tokenkey, tokenkey); + String vtt = gZip.KS(KS); + + + vtt = vtt.replaceAll("(\\d{2}:\\d{2}:\\d{2}.\\d{3}.+\\d{2}:\\d{2}:\\d{2}.\\d{3}).*", "$1"); + vtt = vtt.replaceAll("(\\d{2}:\\d{2}.\\d{3}).*?( --> )(\\d{2}:\\d{2}.\\d{3}).*", "00:$1$200:$3"); + BufferedReader br = new BufferedReader(new StringReader(vtt)); + ArrayList lines = new ArrayList<>(); + int captionNumber = 1; + String line = br.readLine(); + while (line != null) { + if (line.matches("\\d{2}:\\d{2}:\\d{2}.\\d{3}.+\\d{2}:\\d{2}:\\d{2}.\\d{3}")) { + if (lines.get(lines.size() - 1).trim().isEmpty()) { + lines.add(captionNumber + ""); + captionNumber++; + } + } + lines.add(line); + line = br.readLine(); + } + String join = TextUtils.join("\n", lines); + + return new Object[]{200, "application/octet-stream", new ByteArrayInputStream(join.getBytes())}; + } catch (Exception e) { + e.printStackTrace(); + SpiderDebug.log(e); + return null; + } + } + + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + String[] item = id.split("\\|"); + String playUrl = item[0]; + String ZiMu = item[1]; + + String content = OkHttpUtil.string(playUrl, getHeaders(playUrl)); + JSONObject obj = new JSONObject(content); + String RealUrl = obj.optString("url"); + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", RealUrl); + result.put("header", ""); + // if (!TextUtils.isEmpty(str4)) { + result.put("subf", "/vtt/utf-8"); + result.put("subt", Proxy.localProxyUrl() + "?do=ddrk&url=" + URLEncoder.encode(ZiMu)); + // result.put("subt", ZiMu); + // } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + String url = "https://www.google.com/search?q=site%3Addrk.tv+" + URLEncoder.encode(key); + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + String sourceName = doc.select("div.yuRUbf a h3").text(); + if (sourceName.contains(key)) { + String list1 = doc.select("div.yuRUbf a").attr("href"); + Document ddrklink = Jsoup.parse(OkHttpUtil.string(list1, getHeaders(list1))); + String DDlink = ddrklink.select("link[rel=canonical]").attr("href"); + Matcher matcher = regexVid.matcher(DDlink); + if (matcher.find()) { + JSONObject v = new JSONObject(); + String group = matcher.group(1); + String ab = ddrklink.select("h1.post-title").text(); + String cover = ddrklink.select("div.post img").attr("src"); + if (ab.contains("(")) { + String[] b = ab.split("\\("); + String title = b[0]; + String remark = b[1].replace("(", ""); + v.put("vod_name", title); + v.put("vod_remarks", remark); + } else { + v.put("vod_name", ab); + String remark = "全"; + 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 ""; + } + + private static String doReplaceRegex(Pattern pattern, String src) { + if (pattern == null) + return src; + try { + Matcher matcher = pattern.matcher(src); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } + + +} diff --git a/TVBox_Java/spider/Ddys.java b/TVBox_Java/spider/Ddys.java new file mode 100644 index 0000000..784637b --- /dev/null +++ b/TVBox_Java/spider/Ddys.java @@ -0,0 +1,627 @@ +package com.github.catvod.spider; + +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.AES; +import com.github.catvod.utils.CBC; +import com.github.catvod.utils.gZip; +import com.github.catvod.utils.okhttp.OKCallBack; +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.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.StringReader; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +import okhttp3.Call; +import okhttp3.OkHttpClient; +import okhttp3.Response; +import okhttp3.ResponseBody; + +/** + * Demo for self study + *

    + * Source from Author: CatVod + */ + +public class Ddys extends Spider { + + private static final String siteUrl = "https://ddys.tv"; + private static final String siteHost = "ddys.tv"; + private String cookie=""; + + protected JSONObject filterConfig; + + protected Pattern regexCategory = Pattern.compile("/category/(\\S+)/"); + protected Pattern regexVid = Pattern.compile("https://ddys.tv/(\\S+)/"); + + protected Pattern regexPage = Pattern.compile("\\S+/page/(\\S+)\\S+"); + protected Pattern m = Pattern.compile("\\S+(http\\S+g)"); + protected Pattern mark = Pattern.compile("\\S+(.*)"); + + // protected Pattern t = Pattern.compile("(\\S+)"); + + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + 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("Referer", "https://ddys.tv/"); + if(cookie.length()>0 && !url.contains(("google"))){ + headers.put("Cookie", cookie); + } + return headers; + } + + protected static HashMap Headers() { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Referer", "https://ddys.tv/"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl + '/'; + cookie=""; + Map> cookies = new HashMap<>(); + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url),cookies)); + for( Map.Entry> entry : cookies.entrySet() ){ + if(entry.getKey().equals("set-cookie")){ + cookie = TextUtils.join(";",entry.getValue()); + break; + } + } + Elements elements = doc.select("li.menu-item a"); + JSONArray classes = new JSONArray(); + ArrayList allClass = new ArrayList<>(); + for (Element ele : elements) { + String name = ele.attr("title"); + boolean show = !filter || (name.equals("热映中") + || name.equals("欧美剧") + || name.equals("日剧") + || name.equals("韩剧") + || name.equals("华语剧") + || name.equals("其他地区") + || name.equals("全部") + || name.equals("欧美电影") + || name.equals("日韩电影") + || name.equals("华语电影") + || name.equals("新番") + || name.equals("动画") + || name.equals("纪录片") + || name.equals("综艺")); + if (allClass.contains(name)) + show = false; + if (show) { + allClass.add(name); + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("div.post-box-container"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String a = vod.selectFirst(".post-box-title a").text(); + if (a.contains("(")) { + String[] item = a.split("\\("); + String title = item[0]; + String remark = item[1].replace(")", ""); + String cover = doReplaceRegex(m, vod.selectFirst(".post-box-image").attr("style")); + Matcher matcher = regexVid.matcher(vod.selectFirst(".post-box-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } else { + String title = a; + String cover = doReplaceRegex(m, vod.selectFirst(".post-box-image").attr("style")); + String remark = doReplaceRegex(mark, vod.selectFirst(".post-box-title a").text()); + Matcher matcher = regexVid.matcher(vod.selectFirst(".post-box-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + String url = ""; + try { + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value != null && value.length() != 0 && value != " ") { + url = siteUrl + "/category/" + tid + "/" + value; + } else { + url = siteUrl + "/category/" + tid; + } + ; + } + } else { + url = siteUrl + "/category/" + tid; + } + ; + if (pg.equals("1")) { + url = url + "/"; + } else { + url = url + "/page/" + pg + "/"; + } + //System.out.println(url); + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div.nav-links"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String wy = doc.select("div.nav-links a").last().attr("href"); + String span = doc.select("span.current").text().trim(); + if (page == -1) { + page = Integer.parseInt(span); + } else { + + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + //System.out.println("尾页" + matcher.group(1)); + pageCount = Integer.parseInt(matcher.group(1)); + } else { + pageCount = 0; + } + break; + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.post-box-container"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String a = vod.selectFirst(".post-box-title a").text(); + if (a.contains("(")) { + String[] item = a.split("\\("); + String title = item[0]; + String remark = item[1].replace(")", ""); + String cover = doReplaceRegex(m, vod.selectFirst(".post-box-image").attr("style")); + Matcher matcher = regexVid.matcher(vod.selectFirst(".post-box-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } else { + String title = a; + String cover = doReplaceRegex(m, vod.selectFirst(".post-box-image").attr("style")); + String remark = doReplaceRegex(mark, vod.selectFirst(".post-box-title a").text()); + Matcher matcher = regexVid.matcher(vod.selectFirst(".post-box-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 24); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 24); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/" + ids.get(0) + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.select("div.post img").attr("src"); + String ab = doc.select("h1.post-title").text(); + if (ab.contains("(")) { + String[] b = ab.split("\\("); + String title = b[0]; + String remark = b[1].replace("(", ""); + vodList.put("vod_name", title); + vodList.put("vod_remarks", remark); + } else { + vodList.put("vod_name", ab); + String remark = doc.select("time").text().trim(); + vodList.put("vod_remarks", "全"); + } + String str2 = doc.select("div.abstract").text().replace(" ", ""); + String replace = str2.replace("
    ", ""); + String text = replace.replace("

    ", ""); + Pattern categorys = Pattern.compile("类型:(.*)制"); + String category = doReplaceRegex(categorys, text); + Pattern a = Pattern.compile("年份:(.*)简"); + String year = doReplaceRegex(a, text); + Pattern b = Pattern.compile("地区:(.*)年份"); + String area = doReplaceRegex(b, text); + Pattern c = Pattern.compile("演员:(.*)类"); + String actor = doReplaceRegex(c, text); + Pattern d = Pattern.compile("导演:(.*)演"); + String director = doReplaceRegex(d, text); + Pattern e = Pattern.compile("简介:(.*)"); + String desc = doReplaceRegex(e, text); + + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + List vodItems = new ArrayList<>(); + List vodItems2 = new ArrayList<>(); + List vodItemsos = new ArrayList<>(); + List vodItems2os = new ArrayList<>(); + Map vod_play = new LinkedHashMap<>(); + + Elements allScript = doc.select(".wp-playlist-script"); + String sourceName = "第1季"; + for (int j = 0; j < allScript.size(); j++) { + String scContent = allScript.get(j).html().trim(); + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject UJson = new JSONObject(json); + JSONArray Track = UJson.getJSONArray("tracks"); + for (int k = 0; k < Track.length(); k++) { + JSONObject src = Track.getJSONObject(k); + String adk = src.getString("src1"); + String vodName = src.getString("caption"); + String playURL = "https://ddys.tv/getvddr/video?id=" + adk +"&dim=1080P+&type=mix"; + String zm = "https://ddys.tv/subddr/" + src.getString("subsrc"); + String pzm = playURL + "|" + zm; + vodItems.add(vodName + "$" + pzm); + } + for (int k = 0; k < Track.length(); k++) { + JSONObject src = Track.getJSONObject(k); + String adksrc0 = src.getString("src0"); + String adksrc2 = src.getString("src2"); + String vodName = src.getString("caption"); + String playURL = "https://w.ddys.tv" + adksrc0 +"?ddrkey=" + adksrc2; + String zm = "https://ddys.tv/subddr/" + src.getString("subsrc"); + String pzm = playURL + "|" + zm; + vodItemsos.add(vodName + "$" + pzm); + } + vod_play.put(sourceName, TextUtils.join("#", vodItems)); + vod_play.put(sourceName+":海外", TextUtils.join("#", vodItemsos)); + } + + + Elements sources = doc.select(".post-page-numbers"); + if (!sources.isEmpty()) + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + sourceName = "第" + source.text() + "季"; + String Purl = siteUrl + "/" + ids.get(0) + "/" + source.text() + "/"; + Document docs = Jsoup.parse(OkHttpUtil.string(Purl, getHeaders(Purl))); + Elements allScripts = docs.select(".wp-playlist-script"); + for (int j = 0; j < allScripts.size(); j++) { + String scContent = allScripts.get(j).html().trim(); + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject UJson = new JSONObject(json); + JSONArray Track = UJson.getJSONArray("tracks"); + for (int k = 0; k < Track.length(); k++) { + JSONObject src = Track.getJSONObject(k); + String adk = src.getString("src1"); + String vodName = src.getString("caption"); + String playURL = "https://ddys.tv/getvddr/video?id=" + adk +"&dim=1080P+&type=mix"; + String zm = "https://ddys.tv/subddr/" + src.getString("subsrc"); + String pzm = playURL + "|" + zm; + vodItems2.add(vodName + "$" + pzm); + } + for (int k = 0; k < Track.length(); k++) { + JSONObject src = Track.getJSONObject(k); + String adksrc0 = src.getString("src0"); + String adksrc2 = src.getString("src2"); + String vodName = src.getString("caption"); + String playURL = "https://w.ddys.tv" + adksrc0 +"?ddrkey=" + adksrc2; + String zm = "https://ddys.tv/subddr/" + src.getString("subsrc"); + String pzm = playURL + "|" + zm; + vodItems2os.add(vodName + "$" + pzm); + } + vod_play.put(sourceName, TextUtils.join("#", vodItems2)); + vod_play.put(sourceName+":海外", TextUtils.join("#", vodItems2os)); + } + vodItems2.removeAll(vodItems2); + vodItems2os.removeAll(vodItems2os); + } + + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + public static Object[] loadsub(String sub) { + try { + OKCallBack.OKCallBackDefault callBack = new OKCallBack.OKCallBackDefault() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(Response response) { + + } + }; + OkHttpClient YM = OkHttpUtil.defaultClient(); + OkHttpUtil.get(YM, sub, null, Headers(), callBack); + Response result = callBack.getResult(); + int code = result.code(); + if (code == 404) { + return new Object[]{200, "application/octet-stream", new ByteArrayInputStream("WEBVTT".getBytes())}; + } + ResponseBody body = result.body(); + byte[] bytes = body.bytes(); + byte[] tokenkey = Arrays.copyOfRange(bytes, 0, 16); + byte[] data = Arrays.copyOfRange(bytes, 16, bytes.length); + byte[] KS = CBC.CBC(data, tokenkey, tokenkey); + String vtt = gZip.KS(KS); + + + vtt = vtt.replaceAll("(\\d{2}:\\d{2}:\\d{2}.\\d{3}.+\\d{2}:\\d{2}:\\d{2}.\\d{3}).*", "$1"); + vtt = vtt.replaceAll("(\\d{2}:\\d{2}.\\d{3}).*?( --> )(\\d{2}:\\d{2}.\\d{3}).*", "00:$1$200:$3"); + BufferedReader br = new BufferedReader(new StringReader(vtt)); + ArrayList lines = new ArrayList<>(); + int captionNumber = 1; + String line = br.readLine(); + while (line != null) { + if (line.matches("\\d{2}:\\d{2}:\\d{2}.\\d{3}.+\\d{2}:\\d{2}:\\d{2}.\\d{3}")) { + if (lines.get(lines.size() - 1).trim().isEmpty()) { + lines.add(captionNumber + ""); + captionNumber++; + } + } + lines.add(line); + line = br.readLine(); + } + String join = TextUtils.join("\n", lines); + + return new Object[]{200, "application/octet-stream", new ByteArrayInputStream(join.getBytes())}; + } catch (Exception e) { + e.printStackTrace(); + SpiderDebug.log(e); + return null; + } + } + + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + JSONObject result = new JSONObject(); + String[] item = id.split("\\|"); + String playUrl = item[0]; + String ZiMu = item[1]; + String RealUrl=""; + if(playUrl.contains("ddrkey")){ + Map> respHeaders = new HashMap<>(); + OkHttpUtil.stringNoRedirect(playUrl, getHeaders(playUrl),respHeaders); + RealUrl = OkHttpUtil.getRedirectLocation(respHeaders); + } else { + String content = OkHttpUtil.string(playUrl, getHeaders(playUrl)); + JSONObject obj = new JSONObject(content); + RealUrl = obj.optString("url"); + } + + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", RealUrl); + result.put("header", ""); + // if (!TextUtils.isEmpty(str4)) { + result.put("subf", "/vtt/utf-8"); + result.put("subt", Proxy.localProxyUrl() + "?do=ddys&url=" + URLEncoder.encode(ZiMu)); + // result.put("subt", ZiMu); + // } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + String url = "https://www.google.com/search?q=site%3Addys.tv+" + URLEncoder.encode(key); + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + String sourceName = doc.select("div.yuRUbf a h3").text(); + if (sourceName.contains(key)) { + String list1 = doc.select("div.yuRUbf a").attr("href"); + Document ddrklink = Jsoup.parse(OkHttpUtil.string(list1, getHeaders(list1))); + String DDlink = ddrklink.select("link[rel=canonical]").attr("href"); + Matcher matcher = regexVid.matcher(DDlink); + if (matcher.find()) { + JSONObject v = new JSONObject(); + String group = matcher.group(1); + String ab = ddrklink.select("h1.post-title").text(); + String cover = ddrklink.select("div.post img").attr("src"); + if (ab.contains("(")) { + String[] b = ab.split("\\("); + String title = b[0]; + String remark = b[1].replace("(", ""); + v.put("vod_name", title); + v.put("vod_remarks", remark); + } else { + v.put("vod_name", ab); + String remark = "全"; + 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 ""; + } + + private static String doReplaceRegex(Pattern pattern, String src) { + if (pattern == null) + return src; + try { + Matcher matcher = pattern.matcher(src); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } + + +} diff --git a/TVBox_Java/spider/Dy555.java b/TVBox_Java/spider/Dy555.java new file mode 100644 index 0000000..f44470b --- /dev/null +++ b/TVBox_Java/spider/Dy555.java @@ -0,0 +1,568 @@ +package com.github.catvod.spider; + + +import static java.lang.System.*; + +import okhttp3.*; +import okio.ByteString; + +import java.security.spec.AlgorithmParameterSpec; +import java.util.concurrent.TimeUnit; +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.security.Key; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; + +import okhttp3.OkHttpClient; +import okhttp3.Response; + + + + +public class Dy555 extends Spider { + + private static final String siteUrl = "https://www.555dianying.cc"; + + protected JSONObject playerConfig; + protected JSONObject filterConfig; + + protected Pattern regexCategory = Pattern.compile("/vodtype/(\\d+).html"); + protected Pattern regexVoddetail = Pattern.compile("/voddetail/(\\d+).html"); + protected Pattern regexPlay = Pattern.compile("/vodplay/(\\S+).html"); + protected Pattern regexPage = Pattern.compile("\\d+/(\\d+)"); + + + private final String filterString = "{\"1\":[{\"name\":\"年份\",\"key\":\"year\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"name\":\"地区\",\"key\":\"area\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"name\":\"类型\",\"key\":\"class\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"动画\",\"v\":\"动画\"}]},{\"name\":\"排序\",\"key\":\"by\",\"value\":[{\"n\":\"最新\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"name\":\"年份\",\"key\":\"year\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"name\":\"地区\",\"key\":\"area\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"name\":\"类型\",\"key\":\"class\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"青春偶像\",\"v\":\"青春偶像\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"乡村\",\"v\":\"乡村\"},{\"n\":\"情景\",\"v\":\"情景\"},{\"n\":\"商战\",\"v\":\"商战\"},{\"n\":\"网剧\",\"v\":\"网剧\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"name\":\"排序\",\"key\":\"by\",\"value\":[{\"n\":\"最新\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"name\":\"年份\",\"key\":\"year\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"name\":\"地区\",\"key\":\"area\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"}]},{\"name\":\"排序\",\"key\":\"by\",\"value\":[{\"n\":\"最新\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"5\":[{\"name\":\"年份\",\"key\":\"year\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"name\":\"类型\",\"key\":\"class\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"番剧\",\"v\":\"番剧\"},{\"n\":\"国创\",\"v\":\"国创\"},{\"n\":\"动画片\",\"v\":\"动画片\"}]},{\"name\":\"排序\",\"key\":\"by\",\"value\":[{\"n\":\"最新\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"; + private final String playerString = "{\"xg_app_player\":{\"show\":\"app全局解析\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://www.x-n.cc/api.php?url=\"},\"duoduozy\":{\"show\":\"555蓝光\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://zyz.sdljwomen.com/newduoduo/555tZ4pvzHE3BpiO838.php\",\"parse\":\"https://zyz.sdljwomen.com/server_player/?url=\"},\"bilibili\":{\"show\":\"bilibili\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"youku\":{\"show\":\"优酷\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"qiyi\":{\"show\":\"爱奇艺\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"mgtv\":{\"show\":\"芒果\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"qq\":{\"show\":\"腾讯\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"sohu\":{\"show\":\"搜狐\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"pptv\":{\"show\":\"PPTV\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"m1905\":{\"show\":\"m1905\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"xigua\":{\"show\":\"西瓜视频\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"fuckapp\":{\"show\":\"独家线路\",\"des\":\"555自建资源\",\"ps\":\"0\",\"parse\":\"https://dp.dd520.cc/p.php?url=\"},\"letv\":{\"show\":\"乐视\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://jhpc.021huaying.com/newplayer/5348837768203767939.php\",\"parse\":\"https://jhpc.021huaying.com/newplayer/?url=\"},\"yemao\":{\"show\":\"优质线路1\",\"des\":\"极速蓝光\",\"ps\":\"0\",\"parse\":\"https://jx.manduhu.com/?url=\"},\"sdm3u8\":{\"show\":\"闪电线路\",\"des\":\"闪电\",\"ps\":\"0\",\"api\":\"https://zyz.sdljwomen.com/newm3u8/5348837768203767939.php\",\"parse\":\"https://zyz.sdljwomen.com/newm3u8/?url=\"},\"fsm3u8\":{\"show\":\"飞速线路\",\"des\":\"飞速\",\"ps\":\"0\",\"api\":\"https://zyz.sdljwomen.com/newm3u8/5348837768203767939.php\",\"parse\":\"https://zyz.sdljwomen.com/newm3u8/?url=\"},\"wjm3u8\":{\"show\":\"无尽线路\",\"des\":\"无尽\",\"ps\":\"0\",\"api\":\"https://zyz.sdljwomen.com/newm3u8/5348837768203767939.php\",\"parse\":\"https://zyz.sdljwomen.com/newm3u8/?url=\"},\"dbm3u8\":{\"show\":\"百度线路\",\"des\":\"百度\",\"ps\":\"0\",\"api\":\"https://zyz.sdljwomen.com/newm3u8/5348837768203767939.php\",\"parse\":\"https://zyz.sdljwomen.com/newm3u8/?url=\"},\"tkm3u8\":{\"show\":\"天空线路\",\"des\":\"天空\",\"ps\":\"0\",\"api\":\"https://zyz.sdljwomen.com/newm3u8/5348837768203767939.php\",\"parse\":\"https://zyz.sdljwomen.com/newm3u8/?url=\"},\"kbm3u8\":{\"show\":\"快播线路\",\"des\":\"快播\",\"ps\":\"0\",\"api\":\"https://zyz.sdljwomen.com/newm3u8/5348837768203767939.php\",\"parse\":\"https://zyz.sdljwomen.com/newm3u8/?url=\"},\"zhibo\":{\"show\":\"直播\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"http://suoyou.live/dplay/zb.php?url=\"},\"dujia\":{\"show\":\"独家专线\",\"des\":\"\",\"ps\":\"0\",\"api\":\"https://zyz.sdljwomen.com/newm3u8/5348837768203767939.php\",\"parse\":\"https://zyz.sdljwomen.com/newm3u8/?url=\"}}"; + private String rs=""; + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject(playerString); + filterConfig = new JSONObject(filterString); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param refererUrl + * @return + */ + protected HashMap getHeaders(String refererUrl) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + if (!TextUtils.isEmpty(refererUrl)) { + headers.put("Referer", refererUrl); + } + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl + '/'; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(siteUrl))); + Elements elements = doc.select("ul.navbar-items > li > a[href*='vodtype']"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + String href = ele.attr("href"); + Matcher mather = regexCategory.matcher(href); + if (!mather.find() || name.contains("福利")) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("div.module-items> a[href*='voddetail']"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.selectFirst("img").attr("data-original"); + String remark = vod.selectFirst("div.module-item-note").text(); + Matcher matcher = regexVoddetail.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + int page = 1; + if (!TextUtils.isEmpty(pg) && Integer.parseInt(pg.trim()) > 1) { + page = Integer.parseInt(pg.trim()); + } + Map ext = new HashMap<>(); + ext.put("id", tid); + ext.put("pg", "" + page); + if (extend != null && extend.size() > 0) { + ext.putAll(extend); + } +// 13-内地-hits-古装-国语-A------2022.html + String id = ext.get("id") == null ? "" : ext.get("id"); + String area = ext.get("area") == null ? "" : ext.get("area"); + String by = ext.get("by") == null ? "" : ext.get("by"); + String clazz = ext.get("class") == null ? "" : ext.get("class"); + String lang = ext.get("lang") == null ? "" : ext.get("lang"); + String spg = ext.get("pg") == null ? "" : ext.get("pg"); + String year = ext.get("year") == null ? "" : ext.get("year"); + String url = siteUrl + String.format("/vodshow/%s-%s-%s-%s-%s----%s---%s.html", id, area, by, clazz, lang, spg, year); + SpiderDebug.log(url); + + String html = OkHttpUtil.string(url, getHeaders(siteUrl)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div[id='page'] > a:last-child"); + if (pageInfo.size() > 0) { + String href = pageInfo.attr("href"); + href = href.substring(9, href.length() - 4); + String pageCountNum = href.split("-")[9]; + if (!TextUtils.isEmpty(pageCountNum)) { + pageCount = Integer.parseInt(pageCountNum); + } + } + + JSONArray videos = new JSONArray(); + // 取当前分类页的视频列表 + Elements list = doc.select("div.module-items > a[href*='voddetail']"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.selectFirst("img").attr("data-original"); + String remark = vod.selectFirst("div.module-item-note").text(); + Matcher matcher = regexVoddetail.matcher(vod.attr("href")); + if (matcher.find()) { + String vodId = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", vodId); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 40); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 40); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/voddetail/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(siteUrl))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.module-main img").attr("data-original"); + String title = doc.selectFirst("div.module-main h1").text(); + String desc = doc.selectFirst("div.module-main div.module-info-introduction-content >p").text(); + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("vod_content", desc); + + Map vod_play = new LinkedHashMap<>(); + + // 取播放列表数据 + Elements sources = doc.select("div[id='y-playList'] span"); + Elements sourceList = doc.select("div.module-play-list"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("show").equals(sourceName)) { +// sourceName = flag; + found = true; + break; + } + } + if (found) { + String playList = ""; + Elements playListA = sourceList.get(i).select("a.module-play-list-link"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (matcher.find()) { + String playURL = matcher.group(1); + String playUrlName = vod.text(); + vodItems.add(playUrlName + "$" + playURL); + } + } + if (vodItems.size() > 0) { + playList = TextUtils.join("#", vodItems); + vod_play.put(sourceName, playList); + } + } + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + + + + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = siteUrl + "/vodplay/" + id + ".html"; + JSONObject result = new JSONObject(); + rs=""; + SpiderDebug.log(url ); + + String htmlsrc = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(htmlsrc); + Elements allScript = doc.select("script"); + String urlsrc=""; //加密url + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).toString(); + if (scContent.contains("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + urlsrc = player.getString("url"); + break; + } + } + String key="55ca5c48a943afdc"; + String iv ="d11424dcecfe16c0"; + String salt="55ca5c4d11424dcecfe16c08a943afdc"; + String wssreqsrc="{\"type\":\"getUrl\",\"url\":\"\",\"sign\":\"\"}"; + byte[] sasBytes = salt.getBytes(); + Key hmacKey = new SecretKeySpec(sasBytes, "HmacSHA256"); + Mac hmacSHA256 = Mac.getInstance("HmacSHA256"); + hmacSHA256.init(hmacKey); + byte [] macData = hmacSHA256.doFinal(urlsrc.getBytes()); + String sign = bytesToHexStr(macData) ; + JSONObject wssreq =new JSONObject(wssreqsrc); + wssreq.put("url",urlsrc); + wssreq.put("sign",sign); + String wssreqeny = encrypt(wssreq.toString(), key, iv); + String wss1="wss://player.sakurot.com:3458/wss"; + String wss2="wss://player2.lscsfw.com:6723/wss"; + int[] items = new int[]{1,2}; + Random rand = new Random(); + int wssurlint = items[rand.nextInt(items.length)]; + String wssurl =""; + if( wssurlint==2 ){ + wssurl =wss2; + }else{ + wssurl =wss1; + } + + wssClient(wssurl,wssreqeny); + Thread.sleep(100); + String wssrsp=rs; + String m3u8link = decrypt(wssrsp,key,iv); + JSONObject m3u8obj= new JSONObject(m3u8link); + String reallink = m3u8obj.getString("url"); + if (reallink.length()>0){ + result.put("parse", 0); + result.put("url", reallink); + result.put("header", new JSONObject(getHeaders2(url)).toString()); + }else{ + result.put("parse", 1); + result.put("url", url); + } + result.put("playUrl", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public boolean manualVideoCheck() { + return true; + } + + private String[] videoFormatList = new String[]{".m3u8", ".mp4", ".mpeg", ".flv"}; + + @Override + public boolean isVideoFormat(String url) { + url = url.toLowerCase(); + if (url.contains("=http") || url.contains("=https") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) { + return false; + } + for (String format : videoFormatList) { + if (url.contains(format)) { + return true; + } + } + return false; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(siteUrl))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected String decrypt(String src, String KEY, String IV) { + try { + Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); + SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES"); + AlgorithmParameterSpec paramSpec = new IvParameterSpec(IV.getBytes()); + cipher.init(Cipher.DECRYPT_MODE, keySpec, paramSpec); + return new String(cipher.doFinal(hex2byte(src))); + } catch (Exception exception) { + SpiderDebug.log(exception); + } + return null; + } + protected String encrypt(String src, String KEY, String IV) { + try { + Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); + SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES"); + AlgorithmParameterSpec paramSpec = new IvParameterSpec(IV.getBytes()); + cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec); + return bytesToHexStr(cipher.doFinal(src.getBytes())).toUpperCase(); + } catch (Exception exception) { + SpiderDebug.log(exception); + } + return null; + } + + protected byte[] hex2byte(String hex) throws IllegalArgumentException { + if (hex.length() % 2 != 0){ + throw new IllegalArgumentException("invalid hex string"); + } + char[] arr = hex.toCharArray(); + byte[] b = new byte[hex.length() / 2]; + for (int i = 0, j = 0, l = hex.length(); i < l; i++, j++) { + String swap ="" + arr[i++] + arr[i]; + int byteint = Integer.parseInt(swap, 16) & 0xFF; + b[j] = new Integer(byteint).byteValue(); + } + return b; + } + + protected String bytesToHexStr(byte[] bytes) { + StringBuilder hexStr = new StringBuilder(); + for (byte b : bytes) { + String hex = Integer.toHexString(b & 0xFF); + if (hex.length() == 1) { + hex = '0' + hex; + } + hexStr.append(hex); + } + return hexStr.toString(); + } + + protected void wssClient(String url,String sendmsg) { + try { + OkHttpClient client; + client = new OkHttpClient.Builder() + .pingInterval(10, TimeUnit.SECONDS) + .writeTimeout(5, TimeUnit.SECONDS) + .readTimeout(5, TimeUnit.SECONDS) + .connectTimeout(10, TimeUnit.SECONDS) + .build(); + Request request = new Request.Builder() + .addHeader("origin","https://player.sakurot.com:3458") + .addHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36") + .url(url) + .build(); + final WebSocket webSocket = client.newWebSocket(request, new WebSocketListener() { + @Override + public void onOpen(WebSocket webSocket, Response response) { + super.onOpen(webSocket, response); + webSocket.send(sendmsg); + } + @Override + public void onMessage(WebSocket webSocket, String text) { + super.onMessage(webSocket, text); + rs =text; + webSocket.close(1000, null); + } + @Override + public void onMessage(WebSocket webSocket, ByteString bytes) { + super.onMessage(webSocket, bytes); + } + @Override + public void onClosing(WebSocket webSocket, int code, String reason) { + super.onClosing(webSocket, code, reason); + webSocket.close(1000, null); + } + @Override + public void onClosed(WebSocket webSocket, int code, String reason) { + super.onClosed(webSocket, code, reason); + } + @Override + public void onFailure(WebSocket webSocket, Throwable t, Response response) { + super.onFailure(webSocket, t, response); + webSocket.close(1000, null); + }}); + + + } catch (Exception exception) { + SpiderDebug.log(exception); + } + } + + protected HashMap getHeaders2(String url) { + HashMap headers = new HashMap<>(); + headers.put("Origin","https://player.sakurot.com:3458"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + return headers; + } +} diff --git a/TVBox_Java/spider/Dy6080.java b/TVBox_Java/spider/Dy6080.java new file mode 100644 index 0000000..e6abe8c --- /dev/null +++ b/TVBox_Java/spider/Dy6080.java @@ -0,0 +1,546 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; +import okhttp3.Headers; + +public class Dy6080 extends Spider { + private static final String siteUrl = "https://www.6080dy1.com"; + private static final String siteHost = "www.6080dy1.com"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/vodtype/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/video/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/vplay/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/vodshow/(\\S+).html"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{ \"BYGA\": { \"show\": \"蓝光专线①\", \"or\": 999, \"sn\": 0, \"pu\": \"\", \"parse\": \"https://jx1.bw66.xyz/m3u8/?url=\" }}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"4\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧\",\"v\":\"7\"},{\"n\":\"爱情\",\"v\":\"8\"},{\"n\":\"科幻\",\"v\":\"9\"},{\"n\":\"恐怖\",\"v\":\"10\"},{\"n\":\"剧情\",\"v\":\"11\"},{\"n\":\"战争\",\"v\":\"12\"},{\"n\":\"动画\",\"v\":\"23\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"枪战\",\"v\":\"枪战\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"文艺\",\"v\":\"文艺\"},{\"n\":\"微电影\",\"v\":\"微电影\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"农村\",\"v\":\"农村\"},{\"n\":\"儿童\",\"v\":\"儿童\"},{\"n\":\"网络电影\",\"v\":\"网络电影\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"马来西亚\",\"v\":\"马来西亚\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"2\"},{\"n\":\"港台剧\",\"v\":\"\"},{\"n\":\"国产剧\",\"v\":\"13\"},{\"n\":\"港台剧\",\"v\":\"14\"},{\"n\":\"日韩剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"纪录片\",\"v\":\"21\"},{\"n\":\"泰国剧\",\"v\":\"24\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"青春偶像\",\"v\":\"青春偶像\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"乡村\",\"v\":\"乡村\"},{\"n\":\"情景\",\"v\":\"情景\"},{\"n\":\"商战\",\"v\":\"商战\"},{\"n\":\"网剧\",\"v\":\"网剧\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"马来西亚\",\"v\":\"马来西亚\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国\",\"v\":\"中国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + protected static HashMap postHeaders() { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + hashMap.put("Origin", " siteUrl"); + return hashMap; + } + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.nav-menu-items>li.nav-menu-item>a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("电视剧") || + name.equals("动漫") || + name.equals("综艺"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.module-items").get(0); + Elements list = homeList.select("div.module-item"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("div.module-item-titlebox a").attr("title"); + String cover = vod.select("img.lazy lazyloaded").attr("data-src"); + String remark = vod.select("div.module-item-text").text(); + Matcher matcher = regexVid.matcher(vod.select("div.module-item-titlebox a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/vodshow/" + TextUtils.join("-", urlParams) + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div[id=page]"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String span = doc.select("span.page-current").text(); + String wy = doc.select("div[id=page] a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + + } + } + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.module-items>div"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("div.module-item-cover > div.module-item-pic > a").attr("title"); + String cover = vod.selectFirst("div.module-item-cover > div.module-item-pic > img").attr("data-src"); + String remark = ""; + Element remarkElement = vod.selectFirst("div.module-item-text"); + if (remarkElement != null) { + remark = remarkElement.text(); + } + Matcher matcher = regexVid.matcher(vod.selectFirst("div.module-item-cover > div.module-item-pic > a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/video/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + // 取基本数据 + String cover = doc.selectFirst("div.module-item-pic > img").attr("data-src"); + String title = doc.selectFirst("div.video-info-header > h1.page-title").text(); + String desc = doc.select("div.video-info-content span").text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.video-info-main span.video-info-itemtitle"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("分类:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("上映:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + // 取播放列表数据 + Elements sources = doc.select("div.module-tab-content div span"); + Elements sourceList = doc.select("div.module-player-list"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("show").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("div a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + String vodName = vod.select("span").text(); + vodItems.add(vodName + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + private final Pattern urlt = Pattern.compile("\"url\": *\"([^\"]*)\","); + private final Pattern token = Pattern.compile("\"token\": *\"([^\"]*)\""); + private final Pattern key = Pattern.compile("\"key\": *\"([^\"]*)\","); + private final Pattern time = Pattern.compile("\"time\": *\"([^\"]*)\","); + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + // JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + // headers.put("origin", " https://www.jpys.me"); + // headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + // headers.put("Accept", " */*"); + // headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + // headers.put("Accept-Encoding", " gzip, deflate"); + + + // 播放页 url + String url = siteUrl + "/vplay/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String show = pCfg.getString("show"); + System.out.println("yx" + show); + if (show.contains("蓝光专线①")) { + String jxurl = "https://jx1.bw66.xyz/m3u8/?url=" + videoUrl; + System.out.println("BYGA" + jxurl); + HashMap headers = new HashMap<>(); + headers.put("referer", url); + Document doc1 = Jsoup.parse(OkHttpUtil.string(jxurl,Headers())); + + Elements script = doc1.select("body>script"); + for (int j = 0; j < script.size(); j++) { + String content = script.get(j).html().trim(); + System.out.println("nr" + content); + if (content.contains("var config =")) { + Matcher matcher1 = urlt.matcher(content); + if (!matcher1.find()) + continue; + System.out.println("urt" + matcher1); + Matcher matcher2 = time.matcher(content); + if (!matcher2.find()) + continue; + Matcher matcher3 = key.matcher(content); + if (!matcher3.find()) + continue; + System.out.println("urt1" + matcher3); + String video_url = matcher1.group(1); + System.out.println("vr" +video_url); + String key = matcher3.group(1); + System.out.println("k" + key); + // String video_sign = "F4penExTGogdt6U8"; + String video_tm = matcher2.group(1); + System.out.println("t" + video_tm); + HashMap hashMap = new HashMap(); + // hashMap.put("token", video_token); + hashMap.put("url", video_url); + hashMap.put("time", video_tm); + hashMap.put("key", key); + // hashMap.put("sign", video_sign); + OkHttpUtil.post(OkHttpUtil.defaultClient(), "https://jx1.bw66.xyz/m3u8/API.php", hashMap, postHeaders(),new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + String url = new JSONObject(str).getString("url"); + System.out.println("bf" + url); + result.put("url", url); + + } catch (JSONException e) { + e.printStackTrace(); + } + } + }); + } + } + result.put("parse", 0); + result.put("playUrl", ""); + } + else { + if (videoUrl.contains(".m3u8")) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", videoUrl); + } + } + // result.put("header", headers.toString()); + + // result.put("header", headers.toString()); + } + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + 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; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=35×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/EEEDY.java b/TVBox_Java/spider/EEEDY.java new file mode 100644 index 0000000..93a961d --- /dev/null +++ b/TVBox_Java/spider/EEEDY.java @@ -0,0 +1,407 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +public class EEEDY extends Spider { + + private Pattern B = Pattern.compile("/vodtype/(\\d+).html"); + private Pattern Pd = Pattern.compile("/vodplay/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern W = Pattern.compile("/voddetail/(\\d+).html"); + private JSONObject u; + private Pattern u6 = Pattern.compile("/vodshow/(\\S+).html"); + private JSONObject ue; + + /* renamed from: com.github.catvod.spider.EEEDY$1 reason: invalid class name */ + class AnonymousClass1 implements Comparator { + public int compare(String str, String str2) { + String $2 = "or"; + try { + int i = EEEDY.this.ue.getJSONObject(str).getInt($2); + int i2 = EEEDY.this.ue.getJSONObject(str2).getInt($2); + if (i != i2 && i - i2 <= 0) { + return -1; + } + return 1; + } catch (JSONException e) { + SpiderDebug.log(e); + return 1; + } + } + } + + public String categoryContent(String str, String str2, boolean z, HashMap hashMap) { + int i; + int i2; + String $2 = "h4 > a"; + String $3 = "-"; + try { + int i3 = 1; + String[] strArr = {"", "", "", "", "", "", "", "", "", "", "", ""}; + strArr[0] = str; + strArr[8] = str2; + if (hashMap != null && hashMap.size() > 0) { + for (String str3 : hashMap.keySet()) { + strArr[Integer.parseInt(str3)] = URLEncoder.encode(hashMap.get(str3)); + } + } + String str4 = "https://www.3edy.com/vodshow/" + TextUtils.join($3, strArr) + ".html"; + String h = OkHttpUtil.string(str4, u(str4)); + Document ue2 = Jsoup.parse(h); + JSONObject jSONObject = new JSONObject(); + Elements B1 = ue2.select("ul.pagination-lg>li"); + int size = B1.size(); + String $4 = "href"; + if (size == 0) { + i2 = Integer.parseInt(str2); + i = i2; + } else { + int i4 = -1; + int i5 = -1; + int i6 = 0; + while (true) { + if (i6 >= B1.size()) { + i = i5; + break; + } + Element hq = (Element) B1.get(i6); + Element O = hq.selectFirst("a"); + if (O != null) { + String pE = O.text(); + if (i5 != i4 || !hq.hasClass("disabled")) { + i = i5; + } else { + Matcher matcher = this.u6.matcher(O.attr($4)); + i = matcher.find() ? Integer.parseInt(matcher.group(1).split($3)[8]) : 0; + } + if (pE.contains("...")) { + Matcher matcher2 = this.u6.matcher(O.attr($4)); + if (matcher2.find()) { + i2 = Integer.parseInt(matcher2.group(1).split($3)[8]); + } + } else { + i5 = i; + } + } + i6++; + i4 = -1; + } + i2 = 0; + } + JSONArray jSONArray = new JSONArray(); + if (!h.contains("没有找到您想要的结果哦")) { + Elements B12 = ue2.select("ul.list-unstyled>li"); + int i7 = 0; + while (i7 < B12.size()) { + Element hq2 = (Element) B12.get(i7); + String ue3 = hq2.select($2).attr("title"); + String Pd2 = hq2.selectFirst("img").attr("data-original"); + String jw = hq2.select("em.littplus").text(); + Matcher matcher3 = this.W.matcher(hq2.select($2).attr($4)); + if (matcher3.find()) { + String group = matcher3.group(i3); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", group); + jSONObject2.put("vod_name", ue3); + jSONObject2.put("vod_pic", Pd2); + jSONObject2.put("vod_remarks", jw); + jSONArray.put(jSONObject2); + } + i7++; + i3 = 1; + } + } + jSONObject.put("page", i); + jSONObject.put("pagecount", i2); + jSONObject.put("limit", 24); + jSONObject.put("total", i2 <= 1 ? jSONArray.length() : i2 * 24); + jSONObject.put("list", jSONArray); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public String detailContent(List list) { + String str; + Exception e; + Elements exVar; + String str2; + String $2 = "-"; + String $3 = ","; + String $4 = "a"; + try { + String str3 = "https://www.3edy.com/voddetail/" + list.get(0) + ".html"; + Document ue2 = Jsoup.parse(OkHttpUtil.string(str3, u(str3))); + JSONObject jSONObject = new JSONObject(); + JSONObject jSONObject2 = new JSONObject(); + Elements B1 = ue2.select("ul.vod-infos>li"); + String ue3 = ((Element) B1.get(0)).select("img").attr("data-original"); + String jw = ((Element) B1.get(1)).select("h4 > a").text(); + Elements B12 = ue2.select("dl.dl-horizontal dd"); + String jw2 = ((Element) B12.get(1)).select($4).text(); + String pE = ((Element) B12.get(3)).text(); + String pE2 = ((Element) B12.get(4)).text(); + String pE3 = ((Element) B12.get(4)).text(); + str = ""; + try { + ArrayList arrayList = new ArrayList(); + Elements B13 = ((Element) B12.get(0)).select($4); + String str4 = $2; + for (int i = 0; i < B13.size(); i++) { + arrayList.add(((Element) B13.get(i)).text()); + } + String join = TextUtils.join($3, arrayList); + ArrayList arrayList2 = new ArrayList(); + Elements B14 = ((Element) B12.get(2)).select($4); + String str5 = $4; + for (int i2 = 0; i2 < B14.size(); i2++) { + arrayList2.add(((Element) B14.get(i2)).text()); + } + String join2 = TextUtils.join($3, arrayList2); + String pE4 = ((Element) B12.get(5)).text(); + jSONObject2.put("vod_id", list.get(0)); + jSONObject2.put("vod_name", jw); + jSONObject2.put("vod_pic", ue3); + jSONObject2.put("type_name", jw2); + jSONObject2.put("vod_year", pE2); + jSONObject2.put("vod_area", pE); + jSONObject2.put("vod_remarks", pE3); + jSONObject2.put("vod_actor", join); + jSONObject2.put("vod_director", join2); + jSONObject2.put("vod_content", pE4); + new TreeMap(new AnonymousClass1()); + Elements u62 = ue2.select("ul#ff-tab").select("li"); + String str6 = str; + String str7 = str6; + int i3 = 0; + while (i3 < u62.size()) { + str6 = ((Element) u62.get(i3)).selectFirst(str5).text().trim(); + Elements B15 = ue2.select("ul.play-list > li > a"); + ArrayList arrayList3 = new ArrayList(); + int i4 = 0; + while (i4 < B15.size()) { + Element hq = (Element) B15.get(i4); + Matcher matcher = this.Pd.matcher(hq.attr("href")); + if (!matcher.find()) { + exVar = u62; + str2 = str4; + } else { + StringBuilder sb = new StringBuilder(); + sb.append(matcher.group(1)); + str2 = str4; + sb.append(str2); + exVar = u62; + sb.append(matcher.group(2)); + sb.append(str2); + sb.append(matcher.group(3)); + arrayList3.add(hq.text() + "$" + sb.toString()); + } + i4++; + u62 = exVar; + str4 = str2; + } + if (arrayList3.size() > 0) { + str7 = TextUtils.join("#", arrayList3); + } + str7.length(); + i3++; + u62 = u62; + str5 = str5; + str4 = str4; + } + if(str6.isEmpty() || str7.isEmpty())str6="暂无播放源"; + jSONObject2.put("vod_play_from", str6); + jSONObject2.put("vod_play_url", str7); + JSONArray jSONArray = new JSONArray(); + jSONArray.put(jSONObject2); + jSONObject.put("list", jSONArray); + return jSONObject.toString(); + } catch (Exception e2) { + e = e2; + SpiderDebug.log(e); + return str; + } + } catch (Exception e3) { + e = e3; + str = ""; + SpiderDebug.log(e); + return str; + } + } + + public String homeContent(boolean z) { + int i; + String $2; + String $3 = "h4 > a"; + String $4 = "https://www.3edy.com"; + try { + Document ue2 = Jsoup.parse(OkHttpUtil.string($4, u($4))); + Elements B1 = ue2.select("ul.navbar-left>li a"); + JSONArray jSONArray = new JSONArray(); + Iterator it = B1.iterator(); + while (true) { + boolean hasNext = it.hasNext(); + i = 0; + $2 = "href"; + if (!hasNext) { + break; + } + Element hq = (Element) it.next(); + String pE = hq.text(); + if (pE.equals("电影") || pE.equals("美剧") || pE.equals("韩剧") || pE.equals("国产剧") || pE.equals("日剧") || pE.equals("泰剧") || pE.equals("动漫") || pE.equals("综艺")) { + i = 1; + } + if (i != 0) { + Matcher matcher = this.B.matcher(hq.attr($2)); + if (matcher.find()) { + String trim = matcher.group(1).trim(); + JSONObject jSONObject = new JSONObject(); + jSONObject.put("type_id", trim); + jSONObject.put("type_name", pE); + jSONArray.put(jSONObject); + } + } + } + JSONObject jSONObject2 = new JSONObject(); + if (z) { + jSONObject2.put("filters", this.u); + } + jSONObject2.put("class", jSONArray); + try { + Elements B12 = ((Element) ue2.select("ul.list-unstyled-index").get(3)).select("li"); + JSONArray jSONArray2 = new JSONArray(); + while (i < B12.size()) { + Element hq2 = (Element) B12.get(i); + String ue3 = hq2.select($3).attr("title"); + String Pd2 = hq2.selectFirst("img").attr("src"); + String jw = hq2.select("em.littplus").text(); + Matcher matcher2 = this.W.matcher(hq2.select($3).attr($2)); + if (matcher2.find()) { + String group = matcher2.group(1); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("vod_id", group); + jSONObject3.put("vod_name", ue3); + jSONObject3.put("vod_pic", Pd2); + jSONObject3.put("vod_remarks", jw); + jSONArray2.put(jSONObject3); + } + i++; + } + jSONObject2.put("list", jSONArray2); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject2.toString(); + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public void init(Context context) { + EEEDY.super.init(context); + try { + this.ue = new JSONObject("{\"789pan\":{\"sh\":\" 飘花速播\",\"pu\":\"https://dp.jiexi.work/jsonno.php?url=\",\"sn\":1,\"or\":999}}"); + this.u = new JSONObject(""); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + public String playerContent(String str, String str2, List list) { + String $2 = "url"; + try { + String str3 = "https://www.3edy.com/vodplay/" + str2 + ".html"; + Elements B1 = Jsoup.parse(OkHttpUtil.string(str3, u(str3))).select("div.ff-player script"); + JSONObject jSONObject = new JSONObject(); + System.out.println("scriptnum: "+B1.size()); + for (int i = 0; i < B1.size(); i++) { + String trim = B1.get(i).html().trim(); +// System.out.println("trim: "+trim); + if (trim.startsWith("var player_")) { + JSONObject jSONObject2 = new JSONObject(trim.substring(trim.indexOf(123), trim.lastIndexOf(125) + 1)); + String str4 = "https://dp.jiexi.work/jsonno.php?url=" + jSONObject2.getString($2); +// System.out.println(str4); + String string = new JSONObject(OkHttpUtil.string(str4, u(str3))).getString($2); + jSONObject.put("parse", 0); + jSONObject.put("playUrl", ""); + jSONObject.put($2, string); + } + } + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public String searchContent(String str, boolean z) { + if (z) { + return ""; + } + try { + String str2 = "https://www.3edy.com/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(str) + "&limit=10×tamp=" + System.currentTimeMillis(); + JSONObject jSONObject = new JSONObject(OkHttpUtil.string(str2, u(str2))); + JSONObject jSONObject2 = new JSONObject(); + JSONArray jSONArray = new JSONArray(); + int i = jSONObject.getInt("total"); + String $2 = "list"; + if (i > 0) { + JSONArray jSONArray2 = new JSONArray(jSONObject.getString($2)); + for (int i2 = 0; i2 < jSONArray2.length(); i2++) { + JSONObject jSONObject3 = jSONArray2.getJSONObject(i2); + String string = jSONObject3.getString("id"); + String string2 = jSONObject3.getString("name"); + String string3 = jSONObject3.getString("pic"); + JSONObject jSONObject4 = new JSONObject(); + jSONObject4.put("vod_id", string); + jSONObject4.put("vod_name", string2); + jSONObject4.put("vod_pic", string3); + jSONObject4.put("vod_remarks", ""); + jSONArray.put(jSONObject4); + } + } + jSONObject2.put($2, jSONArray); + return jSONObject2.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + /* access modifiers changed from: protected */ + public HashMap u(String str) { + HashMap hashMap = new HashMap<>(); + hashMap.put("method", "GET"); + String $2 = "Upgrade-Insecure-Requests"; + String $3 = "1"; + hashMap.put($2, $3); + hashMap.put("DNT", $3); + hashMap.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + hashMap.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + hashMap.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return hashMap; + } +} diff --git a/TVBox_Java/spider/EPang.java b/TVBox_Java/spider/EPang.java new file mode 100644 index 0000000..a17f834 --- /dev/null +++ b/TVBox_Java/spider/EPang.java @@ -0,0 +1,463 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.crawler.SpiderReq; +import com.github.catvod.crawler.SpiderReqResult; +import com.github.catvod.crawler.SpiderUrl; + +import org.json.JSONArray; +import org.json.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 阿房影视 + *

    + * Author: 小黄瓜 + */ +public class EPang extends Spider { + private static final String siteUrl = "https://www.bwl87.com"; + private static final String siteHost = "www.bwl87.com"; + private static final String ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + + private Pattern regexCategory = Pattern.compile("/type/(\\w+)/"); + private Pattern regexVid = Pattern.compile("/detail/(\\w+)/"); + private Pattern regexPlay = Pattern.compile("/play/(\\w+)-(\\d+)-(\\d+)/"); + private Pattern regexPage = Pattern.compile("/show/(\\S+)/"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"m3u8\":{\"sh\":\"大明宫\",\"pu\":\"\",\"sn\":0,\"or\":999},\"xin\":{\"sh\":\"阿房宫\",\"pu\":\"https://player.90mm.me/play.php?url=\",\"sn\":1,\"or\":999},\"mx771\":{\"sh\":\"未央宫\",\"pu\":\"\",\"sn\":0,\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"1\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧片\",\"v\":\"7\"},{\"n\":\"爱情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"剧情片\",\"v\":\"11\"},{\"n\":\"战争片\",\"v\":\"12\"},{\"n\":\"奇幻片\",\"v\":\"22\"},{\"n\":\"悬疑片\",\"v\":\"23\"},{\"n\":\"犯罪片\",\"v\":\"24\"},{\"n\":\"动漫电影\",\"v\":\"26\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"枪战\",\"v\":\"枪战\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"文艺\",\"v\":\"文艺\"},{\"n\":\"微电影\",\"v\":\"微电影\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"农村\",\"v\":\"农村\"},{\"n\":\"儿童\",\"v\":\"儿童\"},{\"n\":\"网络电影\",\"v\":\"网络电影\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"2\"},{\"n\":\"国产剧\",\"v\":\"13\"},{\"n\":\"港台剧\",\"v\":\"14\"},{\"n\":\"韩日剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"泰国剧\",\"v\":\"21\"},{\"n\":\"日本剧\",\"v\":\"27\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"青春偶像\",\"v\":\"青春偶像\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"乡村\",\"v\":\"乡村\"},{\"n\":\"情景\",\"v\":\"情景\"},{\"n\":\"商战\",\"v\":\"商战\"},{\"n\":\"网剧\",\"v\":\"网剧\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"选秀\",\"v\":\"选秀\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"访谈\",\"v\":\"访谈\"},{\"n\":\"播报\",\"v\":\"播报\"},{\"n\":\"旅游\",\"v\":\"旅游\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"美食\",\"v\":\"美食\"},{\"n\":\"纪实\",\"v\":\"纪实\"},{\"n\":\"曲艺\",\"v\":\"曲艺\"},{\"n\":\"生活\",\"v\":\"生活\"},{\"n\":\"游戏互动\",\"v\":\"游戏互动\"},{\"n\":\"财经\",\"v\":\"财经\"},{\"n\":\"求职\",\"v\":\"求职\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产\",\"v\":\"国产\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"20\":[{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", ua); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + SpiderUrl su = new SpiderUrl(siteUrl, getHeaders(siteUrl)); + SpiderReqResult srr = SpiderReq.get(su); + Document doc = Jsoup.parse(srr.content); + // 分类节点 + Elements elements = doc.select("ul.nav-list > li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show; + if (filter) { + show = name.equals("电影") || + name.equals("连续剧") || + name.equals("动漫") || + name.equals("综艺") || + name.equals("纪录片"); + } else { + show = !(name.equals("首页") || + name.equals("资讯") || + name.equals("公告") || + name.equals("头条") || + name.equals("专题") || + name.equals("APP")); + } + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + Elements list = doc.select("div.col-lg-wide-75 > ul.myui-vodlist li div.myui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".myui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/show/" + TextUtils.join("-", urlParams) + "/"; + SpiderUrl su = new SpiderUrl(url, getHeaders(url)); + // 发起http请求 + SpiderReqResult srr = SpiderReq.get(su); + String html = srr.content; + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + Elements pageInfo = doc.select(".myui-page li a"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element a = pageInfo.get(i); + String name = a.text(); + if (page == -1 && a.hasClass("btn-warm")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("ul.myui-vodlist li div.myui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".myui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/detail/" + ids.get(0) + "/"; + SpiderUrl su = new SpiderUrl(url, getHeaders(url)); + SpiderReqResult srr = SpiderReq.get(su); + Document doc = Jsoup.parse(srr.content); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String vid = doc.selectFirst("span.mac_hits").attr("data-id"); + + String cover = doc.selectFirst("a.myui-vodlist__thumb img").attr("data-original"); + String title = doc.selectFirst("div.myui-content__detail h1.title").text(); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.myui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("分类:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + Elements sources = doc.select("a[data-toggle=tab]"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + String tabHref = source.attr("href"); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = doc.select("div" + tabHref + " ul > li a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = siteUrl + "/play/" + id + "/"; + SpiderUrl su = new SpiderUrl(url, getHeaders(url)); + SpiderReqResult srr = SpiderReq.get(su); + Document doc = Jsoup.parse(srr.content); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + if (playUrl.contains("bwl87.com")) { + try { + JSONObject headers = new JSONObject(); + headers.put("User-Agent", " " + ua); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + headers.put("Accept-Encoding", " gzip, deflate, br"); + result.put("header", headers.toString()); + } catch (Exception e) { + SpiderDebug.log(e); + } + } else { + result.put("header", ""); + } + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + // 搜索有验证码 不支持 + return ""; + } +} diff --git a/TVBox_Java/spider/Enlienli.java b/TVBox_Java/spider/Enlienli.java new file mode 100644 index 0000000..a273cd4 --- /dev/null +++ b/TVBox_Java/spider/Enlienli.java @@ -0,0 +1,252 @@ +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.Set; + +/** + * 嗯哩嗯哩 + *

    + * Author: 群友 不负此生 + */ +public class Enlienli extends Spider { + + private String siteUrl = "https://api.app.kongbuya.com"; + + @Override + public void init(Context context) { + super.init(context); + } + + private HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("Connection", "Keep-Alive"); + headers.put("User-Agent", "okhttp/4.0.1"); + return headers; + } + + @Override + public String homeContent(boolean filter) { + try { + JSONArray jsonArray = new JSONArray(OkHttpUtil.string(siteUrl + "/api.php/provide/home_nav?", getHeaders(siteUrl))); + JSONArray classes = new JSONArray(); + JSONObject filterConfig = new JSONObject(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jObj = jsonArray.getJSONObject(i); + String typeName = jObj.getString("name"); + String typeId = jObj.getString("id"); + if (typeName.equals("推荐")) { + continue; + } + JSONObject newCls = new JSONObject(); + newCls.put("type_id", typeId); + newCls.put("type_name", typeName); + classes.put(newCls); + try { + JSONArray typeExtend = jObj.getJSONArray("msg"); + JSONArray extendsAll = new JSONArray(); + for (int j = 0; j < typeExtend.length(); j++) { + JSONObject typeExtendObj = typeExtend.getJSONObject(j); + String typeExtendKey = typeExtendObj.getString("name"); + JSONArray newTypeExtendKeys = typeExtendObj.getJSONArray("data"); + if (newTypeExtendKeys.length() <= 1) + continue; + String typeExtendName = newTypeExtendKeys.getString(0); + JSONObject newTypeExtend = new JSONObject(); + newTypeExtend.put("key", typeExtendKey); + newTypeExtend.put("name", typeExtendName); + JSONArray newTypeExtendKV = new JSONArray(); + { + JSONObject kvAll = new JSONObject(); + kvAll.put("n", "全部"); + kvAll.put("v", ""); + newTypeExtendKV.put(kvAll); + } + for (int k = 1; k < newTypeExtendKeys.length(); k++) { + JSONObject kv = new JSONObject(); + kv.put("n", newTypeExtendKeys.getString(k)); + kv.put("v", newTypeExtendKeys.getString(k)); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + } + filterConfig.put(typeId, extendsAll); + } catch (Exception e) { + SpiderDebug.log(e); + } + + } + JSONObject result = new JSONObject(); + result.put("class", classes); + if (filter) { + result.put("filters", filterConfig); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String homeVideoContent() { + try { + String url = siteUrl + "/api.php/provide/home_data?page=1&id=0"; + JSONObject jsonObject = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONArray jsonArray = new JSONArray(); + if (jsonObject.has("tv")) { + JSONArray data = jsonObject.getJSONObject("tv").getJSONArray("data"); + for (int i = 0; i < data.length(); i++) { + jsonArray.put(data.getJSONObject(i)); + } + } + + if (jsonObject.has("video")) { + JSONArray vs = jsonObject.getJSONArray("video"); + for (int i = 0; i < vs.length(); i++) { + JSONArray data = vs.getJSONObject(i).getJSONArray("data"); + for (int j = 0; j < data.length(); j++) { + jsonArray.put(data.getJSONObject(j)); + } + } + } + + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("name")); + v.put("vod_pic", vObj.getString("img")); + v.put("vod_remarks", vObj.getString("qingxidu")); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/api.php/provide/vod_list?page=" + pg + "&id=" + tid; + Set keys = extend.keySet(); + for (String key : keys) { + url += "&" + key + "=" + URLEncoder.encode(extend.get(key)); + } + JSONArray jsonArray = new JSONArray(OkHttpUtil.string(url, getHeaders(url))); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("name")); + v.put("vod_pic", vObj.getString("img")); + v.put("vod_remarks", vObj.getString("qingxidu")); + videos.put(v); + } + JSONObject result = new JSONObject(); + int limit = 20; + int page = Integer.parseInt(pg); + int total = Integer.MAX_VALUE; + int pageCount = videos.length() < 20 ? page : page + 1; + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", limit); + result.put("total", total); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String url = siteUrl + "/api.php/provide/vod_detail?token=&id=" + ids.get(0) + "&ac=vod_detail"; + JSONObject jsonObject = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject vodList = new JSONObject(); + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", jsonObject.getString("name")); + vodList.put("vod_pic", jsonObject.getString("img")); + vodList.put("type_name", jsonObject.getString("type")); + vodList.put("vod_year", ""); + vodList.put("vod_area", ""); + vodList.put("vod_remarks", jsonObject.getString("remarks")); + vodList.put("vod_actor", jsonObject.getString("actor")); + vodList.put("vod_director", jsonObject.getString("director")); + vodList.put("vod_content", jsonObject.getString("info")); + + vodList.put("vod_play_from", jsonObject.getString("playcode")); + vodList.put("vod_play_url", jsonObject.getString("playlist")); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", id); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + if (quick) + return ""; + try { + String url = siteUrl + "/api.php/provide/search_result?video_name=" + URLEncoder.encode(key); + JSONObject jsonObject = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONArray jsonArray = jsonObject.getJSONObject("result").getJSONArray("search_result"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("video_name")); + v.put("vod_pic", vObj.getString("img")); + //v.put("vod_remarks", vObj.getString("")); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Fuli.java b/TVBox_Java/spider/Fuli.java new file mode 100644 index 0000000..76bf5cf --- /dev/null +++ b/TVBox_Java/spider/Fuli.java @@ -0,0 +1,489 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Log; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import com.github.catvod.xpath.XPathRule; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.jsoup.nodes.Element; +import org.seimicrawler.xpath.JXDocument; +import org.seimicrawler.xpath.JXNode; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; + +public class Fuli extends XPath { + + @Override + public void init(Context context) { + super.init(context); + } + + public void init(Context context, String extend) { + super.init(context, extend); + this.ext = extend; + } + + @Override + public String homeContent(boolean filter) { + try { + fetchRule(); + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + if (rule.getCateManual().size() > 0) { + Set keys = rule.getCateManual().keySet(); + for (String k : keys) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_name", k); + jsonObject.put("type_id", rule.getCateManual().get(k)); + classes.put(jsonObject); + } + } + try { + String webUrl = rule.getHomeUrl(); + JXDocument doc = JXDocument.create(fetch(webUrl)); + if (rule.getCateManual().size() == 0) { + List navNodes = doc.selN(rule.getCateNode()); + for (int i = 0; i < navNodes.size(); i++) { + String name = navNodes.get(i).selOne(rule.getCateName()).asString().trim(); + name = rule.getCateNameR(name); + String id = navNodes.get(i).selOne(rule.getCateId()).asString().trim(); + id = rule.getCateIdR(id); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + if (!rule.getHomeVodNode().isEmpty()) { + try { + JSONArray videos = new JSONArray(); + List vodNodes = doc.selN(rule.getHomeVodNode()); + for (int i = 0; i < vodNodes.size(); i++) { + String name = vodNodes.get(i).selOne(rule.getHomeVodName()).asString().trim(); + name = rule.getHomeVodNameR(name); + String id = vodNodes.get(i).selOne(rule.getHomeVodId()).asString().trim(); + id = rule.getHomeVodIdR(id); + String pic = vodNodes.get(i).selOne(rule.getHomeVodImg()).asString().trim(); + pic = rule.getHomeVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = ""; + if (!rule.getHomeVodMark().isEmpty()) { + try { + mark = vodNodes.get(i).selOne(rule.getHomeVodMark()).asString().trim(); + mark = rule.getHomeVodMarkR(mark); + } catch (Exception e) { + SpiderDebug.log("homeContent"+e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log("homeContent"+e); + } + } + } catch (Exception e) { + SpiderDebug.log("homeContent"+e); + } + result.put("class", classes); + if (filter && rule.getFilter() != null) { + result.put("filters", rule.getFilter()); + } + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log("homeContent"+e); + } + return ""; + } + + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", rule.getUa().isEmpty() + ? "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36" + : rule.getUa()); + return headers; + } + + @Override + public String homeVideoContent() { + try { + fetchRule(); + } catch (Exception e) { + SpiderDebug.log("homeVideoContent"+e); + } + return ""; + } + + protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { + String url = rule.getCateUrl().replace("{cateId}", tid).replace("{catePg}", pg); + if(extend!=null) { + Set keys = extend.keySet(); + for (String key : keys) { + url = url.replace(String.format("{%s}", key), extend.get(key)); + } + } + SpiderDebug.log("categoryUrl"+String.format("categoryUrl -> url: %s", url)); + return url; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + fetchRule(); + String webUrl = categoryUrl(tid, pg, filter, extend); + JSONArray videos = new JSONArray(); + JXDocument doc = JXDocument.create(fetch(webUrl)); + List vodNodes = doc.selN(rule.getCateVodNode()); + for (int i = 0; i < vodNodes.size(); i++) { + String name = vodNodes.get(i).selOne(rule.getCateVodName()).asString().trim(); + name = rule.getCateVodNameR(name); + String id = vodNodes.get(i).selOne(rule.getCateVodId()).asString().trim(); + id = rule.getCateVodIdR(id); + String pic = vodNodes.get(i).selOne(rule.getCateVodImg()).asString().trim(); + pic = rule.getCateVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = ""; + if (!rule.getCateVodMark().isEmpty()) { + try { + mark = vodNodes.get(i).selOne(rule.getCateVodMark()).asString().trim(); + mark = rule.getCateVodMarkR(mark); + } catch (Exception e) { + SpiderDebug.log("categoryContent:"+e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("page", pg); + result.put("pagecount", Integer.MAX_VALUE); + result.put("limit", 90); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log("categoryContent:"+e); + } + return ""; + } + + protected void detailContentExt(String content, JSONObject vod) { + + } + + @Override + public String detailContent(List ids) { + try { + fetchRule(); + String webUrl = rule.getDetailUrl().replace("{vid}", ids.get(0)); + String webContent = fetch(webUrl); + JXDocument doc = JXDocument.create(webContent); + JXNode vodNode = doc.selNOne(rule.getDetailNode()); + + String cover = "", title = "", desc = "", category = "", area = "", year = "", remark = "", director = "", actor = ""; + + title = vodNode.selOne(rule.getDetailName()).asString().trim(); + title = rule.getDetailNameR(title); + + cover = vodNode.selOne(rule.getDetailImg()).asString().trim(); + cover = rule.getDetailImgR(cover); + cover = Misc.fixUrl(webUrl, cover); + + if (!rule.getDetailCate().isEmpty()) { + try { + category = vodNode.selOne(rule.getDetailCate()).asString().trim(); + category = rule.getDetailCateR(category); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailYear().isEmpty()) { + try { + year = vodNode.selOne(rule.getDetailYear()).asString().trim(); + year = rule.getDetailYearR(year); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailArea().isEmpty()) { + try { + area = vodNode.selOne(rule.getDetailArea()).asString().trim(); + area = rule.getDetailAreaR(area); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailMark().isEmpty()) { + try { + remark = vodNode.selOne(rule.getDetailMark()).asString().trim(); + remark = rule.getDetailMarkR(remark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailActor().isEmpty()) { + try { + actor = vodNode.selOne(rule.getDetailActor()).asString().trim(); + actor = rule.getDetailActorR(actor); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailDirector().isEmpty()) { + try { + director = vodNode.selOne(rule.getDetailDirector()).asString().trim(); + director = rule.getDetailDirectorR(director); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailDesc().isEmpty()) { + try { + desc = vodNode.selOne(rule.getDetailDesc()).asString().trim(); + desc = rule.getDetailDescR(desc); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + + JSONObject vod = new JSONObject(); + vod.put("vod_id", ids.get(0)); + vod.put("vod_name", title); + vod.put("vod_pic", cover); + vod.put("type_name", category); + vod.put("vod_year", year); + vod.put("vod_area", area); + vod.put("vod_remarks", remark); + vod.put("vod_actor", actor); + vod.put("vod_director", director); + vod.put("vod_content", desc); + + ArrayList playFrom = new ArrayList<>(); + + List fromNodes = doc.selN(rule.getDetailFromNode()); + for (int i = 0; i < fromNodes.size(); i++) { + String name = fromNodes.get(i).selOne(rule.getDetailFromName()).asString().trim(); + name = rule.getDetailFromNameR(name); + playFrom.add(name); + } + ArrayList playList = new ArrayList<>(); + if (webUrl.contains("wzk666.xyz")) { + playFrom.add("自定义"); + playList.add(String.format("正片$%s", ids.get(0))); + }else { + List urlListNodes = doc.selN(rule.getDetailUrlNode()); + for (int i = 0; i < urlListNodes.size(); i++) { + List urlNodes = urlListNodes.get(i).sel(rule.getDetailUrlSubNode()); + List vodItems = new ArrayList<>(); + for (int j = 0; j < urlNodes.size(); j++) { + String name = urlNodes.get(j).selOne(rule.getDetailUrlName()).asString().trim(); + name = rule.getDetailUrlNameR(name); + String id = urlNodes.get(j).selOne(rule.getDetailUrlId()).asString().trim(); + id = rule.getDetailUrlIdR(id); + vodItems.add(name + "$" + id); + } + // 排除播放列表为空的播放源 + if (vodItems.size() == 0 && playFrom.size() > i) { + playFrom.set(i, ""); + } + playList.add(TextUtils.join("#", vodItems)); + } + } + // 排除播放列表为空的播放源 + for (int i = playFrom.size() - 1; i >= 0; i--) { + if (playFrom.get(i).isEmpty()) + playFrom.remove(i); + } + for (int i = playList.size() - 1; i >= 0; i--) { + if (playList.get(i).isEmpty()) + playList.remove(i); + } + for (int i = playList.size() - 1; i >= 0; i--) { + if (i >= playFrom.size()) + playList.remove(i); + } + String vod_play_from = TextUtils.join("$$$", playFrom); + String vod_play_url = TextUtils.join("$$$", playList); + vod.put("vod_play_from", vod_play_from); + vod.put("vod_play_url", vod_play_url); + + detailContentExt(webContent, vod); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + SpiderDebug.log("detailContent: "+result.toString()); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + fetchRule(); + String webUrl = rule.getPlayUrl().isEmpty() ? id : rule.getPlayUrl().replace("{playUrl}", id); + SpiderDebug.log("playerContent: "+ webUrl); + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + if (!rule.getPlayUa().isEmpty()) { + result.put("ua", rule.getPlayUa()); + } + result.put("url", webUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log("playerContent: "+e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + fetchRule(); + if (rule.getSearchUrl().isEmpty()) { + return ""; + } + String webUrl = rule.getSearchUrl().replace("{wd}", URLEncoder.encode(key)); + String webContent = fetch(webUrl); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + // add maccms suggest search api support + if (rule.getSearchVodNode().startsWith("json:")) { + String[] node = rule.getSearchVodNode().substring(5).split(">"); + JSONObject data = new JSONObject(webContent); + for (int i = 0; i < node.length; i++) { + if (i == node.length - 1) { + JSONArray vodArray = data.getJSONArray(node[i]); + for (int j = 0; j < vodArray.length(); j++) { + JSONObject vod = vodArray.getJSONObject(j); + String name = vod.optString(rule.getSearchVodName()).trim(); + name = rule.getSearchVodNameR(name); + String id = vod.optString(rule.getSearchVodId()).trim(); + id = rule.getSearchVodIdR(id); + String pic = vod.optString(rule.getSearchVodImg()).trim(); + pic = rule.getSearchVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = vod.optString(rule.getSearchVodMark()).trim(); + mark = rule.getSearchVodMarkR(mark); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + } else { + data = data.getJSONObject(node[i]); + } + } + } else { + JXDocument doc = JXDocument.create(webContent); + List vodNodes = doc.selN(rule.getSearchVodNode()); + for (int i = 0; i < vodNodes.size(); i++) { + String name = vodNodes.get(i).selOne(rule.getSearchVodName()).asString().trim(); + name = rule.getSearchVodNameR(name); + String id = vodNodes.get(i).selOne(rule.getSearchVodId()).asString().trim(); + id = rule.getSearchVodIdR(id); + String pic = vodNodes.get(i).selOne(rule.getSearchVodImg()).asString().trim(); + pic = rule.getSearchVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = ""; + if (!rule.getCateVodMark().isEmpty()) { + try { + mark = vodNodes.get(i).selOne(rule.getSearchVodMark()).asString().trim(); + mark = rule.getSearchVodMarkR(mark); + } catch (Exception e) { + SpiderDebug.log("searchContent: "+e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log("searchContent: "+e); + } + return ""; + } + + @Override + public boolean manualVideoCheck() { + return false; + } + + private String[] videoFormatList = new String[]{".m3u8", ".mp4", ".mpeg", ".flv"}; + + @Override + public boolean isVideoFormat(String url) { + url = url.toLowerCase(); + if (url.contains("=http") || url.contains("=https") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) { + return false; + } + for (String format : videoFormatList) { + if (url.contains(format)) { + return true; + } + } + return false; + } + + protected String ext = null; + protected XPathRule rule = null; + + protected void fetchRule() { + if (rule == null) { + if (ext != null) { + if (ext.startsWith("http")) { + String json = OkHttpUtil.string(ext, null); + rule = XPathRule.fromJson(json); + loadRuleExt(json); + } else { + rule = XPathRule.fromJson(ext); + loadRuleExt(ext); + } + } + } + } + + protected void loadRuleExt(String json) { + + } + + protected String fetch(String webUrl) { + SpiderDebug.log("fetch: "+webUrl); + return OkHttpUtil.string(webUrl, getHeaders(webUrl)); + } +} diff --git a/TVBox_Java/spider/Gitcafe.java b/TVBox_Java/spider/Gitcafe.java new file mode 100644 index 0000000..d90ba7a --- /dev/null +++ b/TVBox_Java/spider/Gitcafe.java @@ -0,0 +1,310 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.util.TimeUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.json.JSONArray; +import org.json.JSONObject; + +public class Gitcafe extends Spider { + private Map a; + private List b; + private PushAgent pushAgent; + private JSONObject d; + private JSONObject Home; + + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + pushAgent = new PushAgent(); + pushAgent.init(context, extend); + try { + d = new JSONObject("{\"hyds\":\"华语电视\",\"rhds\":\"日韩电视\",\"omds\":\"欧美电视\",\"qtds\":\"其他电视\",\"hydy\":\"华语电影\",\"rhdy\":\"日韩电影\",\"omdy\":\"欧美电影\",\"qtdy\":\"其他电影\",\"hydm\":\"华语动漫\",\"rhdm\":\"日韩动漫\",\"omdm\":\"欧美动漫\",\"jlp\":\"纪录片\",\"zyp\":\"综艺片\",\"jypx\":\"教育培训\",\"qtsp\":\"其他视频\",\"hyyy\":\"华语音乐\",\"rhyy\":\"日韩音乐\",\"omyy\":\"欧美音乐\",\"qtyy\":\"其他音乐\",\"kfrj\":\"娱乐软件\",\"xtrj\":\"系统软件\",\"wlrj\":\"网络软件\",\"bgrj\":\"办公软件\",\"qtrj\":\"其他软件\",\"mh\":\"漫画\",\"xs\":\"小说\",\"cbs\":\"出版书\",\"zspx\":\"知识培训\",\"qtwd\":\"其他文档\",\"bz\":\"壁纸\",\"rw\":\"人物\",\"fj\":\"风景\",\"qttp\":\"其他图片\",\"qt\":\"其他\"}"); + } catch (Exception e) { + e.printStackTrace(); + } + + ArrayList arrayList = new ArrayList(); + this.b = arrayList; + arrayList.add("hydm"); + List list = this.b; + list.add("hyds"); + List list2 = this.b; + list2.add("hydy"); + List list3 = this.b; + list3.add("omdm"); + List list4 = this.b; + list4.add("omds"); + List list5 = this.b; + list5.add("omdy"); + List list6 = this.b; + list6.add("rhdm"); + List list7 = this.b; + list7.add("rhds"); + List list8 = this.b; + list8.add("rhdy"); + List list9 = this.b; + list9.add("qtds"); + List list10 = this.b; + list10.add("qtdy"); + List list11 = this.b; + list11.add("qtsp"); + List list12 = this.b; + list12.add("jlp"); + List list13 = this.b; + list13.add("zyp"); + } + + protected HashMap LT() { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"); + return hashMap; + } + + @Override + public String categoryContent(String str, String str2, boolean z, HashMap hashMap) { + try { + Map allData = getAllData(this, this, this); + JSONArray jSONArray = new JSONArray(); + Set keySet = allData.keySet(); + for (String str3 : keySet) { + JSONObject jSONObject = (JSONObject) allData.get(str3); + if (jSONObject.has("cat")) { + String string = jSONObject.getString("cat"); + if (string.equals(str)) { + JSONObject jSONObject2 = new JSONObject(); + String sb2 = "https://www.aliyundrive.com/s/" + jSONObject.getString("key"); + jSONObject2.put("vod_id", sb2); + String string2 = jSONObject.getString("title"); + jSONObject2.put("vod_name", string2); + jSONObject2.put("vod_pic", "https://www.lgstatic.com/i/image2/M01/15/7E/CgoB5lysLXCADg6ZAABapAHUnQM321.jpg"); + jSONArray.put(jSONObject2); + } + } + } + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("page", 1); + jSONObject3.put("pagecount", 1); + int length = jSONArray.length(); + jSONObject3.put("limit", length); + TimeUtils.getTimeZoneDatabaseVersion(); + int length2 = jSONArray.length(); + jSONObject3.put("total", length2); + jSONObject3.put("list", jSONArray); + return jSONObject3.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + @Override + public String detailContent(List list) { + try { + Map allData = getAllData(this, this, this); + JSONObject jSONObject = new JSONObject(pushAgent.detailContent(list)); + JSONArray jSONArray = jSONObject.getJSONArray("list"); + int i = 0; + while (true) { + if (i >= list.size()) { + break; + } + if (i >= jSONArray.length()) { + break; + } + JSONObject jSONObject2 = jSONArray.getJSONObject(i); + Pattern pattern = PushAgent.Folder; + Matcher matcher = pattern.matcher(list.get(i)); + if (matcher.find()) { + String group = matcher.group(1); + if (allData.containsKey(group)) { + JSONObject jSONObject3 = (JSONObject) allData.get(group); + jSONObject2.put("vod_pic", "https://www.lgstatic.com/i/image2/M01/15/7E/CgoB5lysLXCADg6ZAABapAHUnQM321.jpg"); + + } + } + i++; + } + return jSONObject.toString(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + public synchronized Map getAllData(Object obj, Object obj2, Object obj3) { + Map map; + obj.getClass(); + obj2.getClass(); + obj3.getClass(); + synchronized (this) { + try { + if (a == null) { + HashMap hashMap = new HashMap(); + HashMap LT = LT(); + for (Iterator iter = b.iterator(); iter.hasNext(); ) { + String element = iter.next(); + String content = OkHttpUtil.string("https://gitcafe.net/alipaper/data/" + element + ".json", LT); +// JSONObject data = new JSONObject(content); + JSONArray jSONArray = new JSONArray(content); + // data.getJSONArray("data"); + for (int i = 0; i < jSONArray.length(); i++) { + JSONObject jSONObject = jSONArray.getJSONObject(i); + hashMap.put(jSONObject.getString("key"), jSONObject); + } + } + a = hashMap; + } + } catch (Exception e) { + e.printStackTrace(); + } + map = a; + } + return map; + } + + public JSONObject getHomeData(Object obj) { + obj.getClass(); + try { + if (Home == null) { + HashMap LT = LT(); + Home = new JSONObject(OkHttpUtil.string("https://gitcafe.net/alipaper/home.json", LT)); + } + } catch (Exception e) { + e.printStackTrace(); + } + return Home; + } + + @Override + public String homeContent(boolean z) { + String str = "https://www.lgstatic.com/i/image2/M01/15/7E/CgoB5lysLXCADg6ZAABapAHUnQM321.jpg"; + + try { + JSONObject homeData = getHomeData(this); + JSONObject jSONObject = homeData.getJSONObject("info"); + JSONArray jSONArray = jSONObject.getJSONArray("new"); + JSONArray jSONArray2 = new JSONArray(); + List list = b; + Iterator it = list.iterator(); + while (true) { + if (!it.hasNext()) { + break; + } + String next = it.next(); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("type_id", next); + JSONObject jSONObject3 = d; + String string = jSONObject3.getString(next); + jSONObject2.put("type_name", string); + jSONArray2.put(jSONObject2); + } + Map allData = getAllData(this, this, this); + JSONArray jSONArray3 = new JSONArray(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONObject jSONObject4 = jSONArray.getJSONObject(i); + String string2 = jSONObject4.getString("cat"); + List list2 = b; + if (list2.contains(string2)) { + String string3 = jSONObject4.getString("key"); + if (allData.containsKey(string3)) { + JSONObject jSONObject5 = (JSONObject) allData.get(string3); + JSONObject jSONObject6 = new JSONObject(); + StringBuilder sb = new StringBuilder(); + sb.append("https://www.aliyundrive.com/s/"); + String string4 = jSONObject4.getString("key"); + sb.append(string4); + String sb2 = sb.toString(); + jSONObject6.put("vod_id", sb2); + String string5 = jSONObject4.getString("title"); + jSONObject6.put("vod_name", string5); + jSONObject6.put("vod_pic", str); + String string6 = jSONObject4.getString("date"); + jSONObject6.put("vod_remarks", string6); + jSONArray3.put(jSONObject6); + + } + JSONObject jSONObject62 = new JSONObject(); + StringBuilder sb3 = new StringBuilder(); + sb3.append("https://www.aliyundrive.com/s/"); + String string42 = jSONObject4.getString("key"); + sb3.append(string42); + String sb22 = sb3.toString(); + jSONObject62.put("vod_id", sb22); + String string52 = jSONObject4.getString("title"); + jSONObject62.put("vod_name", string52); + jSONObject62.put("vod_pic", str); + String string62 = jSONObject4.getString("date"); + jSONObject62.put("vod_remarks", string62); + jSONArray3.put(jSONObject62); + } + } + JSONObject jSONObject7 = new JSONObject(); + jSONObject7.put("class", jSONArray2); + jSONObject7.put("list", jSONArray3); + return jSONObject7.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + @Override + public String playerContent(String str, String str2, List list) { + return pushAgent.playerContent(str, str2, list); + } + + @Override + public String searchContent(String str, boolean z) { + try { + Map allData = getAllData(this, this, this); + JSONArray jSONArray = new JSONArray(); + Set keySet = allData.keySet(); + Iterator it = keySet.iterator(); + while (true) { + if (it.hasNext()) { + Object next = it.next(); + JSONObject jSONObject = (JSONObject) allData.get(next); + if (jSONObject.has("cat")) { + String string = jSONObject.getString("cat"); + List list = b; + if (list.contains(string)) { + String string2 = jSONObject.getString("title"); + if (string2.contains(str)) { + JSONObject jSONObject2 = new JSONObject(); + StringBuilder sb = new StringBuilder(); + sb.append("https://www.aliyundrive.com/s/"); + String string3 = jSONObject.getString("key"); + sb.append(string3); + String sb2 = sb.toString(); + jSONObject2.put("vod_id", sb2); + jSONObject2.put("vod_name", string2); + jSONArray.put(jSONObject2); + } + } + } + } else { + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("list", jSONArray); + return jSONObject3.toString(); + } + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/IKan.java b/TVBox_Java/spider/IKan.java new file mode 100644 index 0000000..6a43855 --- /dev/null +++ b/TVBox_Java/spider/IKan.java @@ -0,0 +1,234 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.content.SharedPreferences; +import android.util.Base64; + +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.select.Elements; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; +import okhttp3.Cookie; +import okhttp3.CookieJar; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; + +public class IKan extends AppYsV2 { + private final OkHttpClient y; + private boolean K = false; + private Context cccc = null; + + public IKan() { + OkHttpClient.Builder builder = new OkHttpClient.Builder(); + TimeUnit timeUnit = TimeUnit.SECONDS; + y = builder.readTimeout(15L, timeUnit).writeTimeout(15L, timeUnit).connectTimeout(15L, timeUnit).cookieJar(new CookieJar() { + final List Mf = new ArrayList(); + + public List loadForRequest(HttpUrl httpUrl) { + ArrayList arrayList = new ArrayList(); + ArrayList arrayList2 = new ArrayList(); + for (Cookie cookie : Mf) { + if (cookie.expiresAt() < System.currentTimeMillis()) { + arrayList.add(cookie); + } else if (cookie.matches(httpUrl)) { + arrayList2.add(cookie); + } + } + Mf.removeAll(arrayList); + return arrayList2; + } + + public void saveFromResponse(HttpUrl httpUrl, List list) { + Mf.addAll(list); + } + }).retryOnConnectionFailure(true).build(); + } + + private void S(final String str, final String str2) { + HashMap hashMap = new HashMap(); + hashMap.put("user_name", str); + hashMap.put("user_pwd", str2); + hashMap.put("user_pwd2", str2); + try { + HashMap hashMap2 = new HashMap(); + hashMap2.put("Host", "tvcms.ikan6.vip"); + hashMap2.put("User-Agent", "okhttp/3.11.0"); + OkHttpUtil.post(this.y, "http://tvcms.ikan6.vip/api.php/gctvapi.auth/register", hashMap, hashMap2, new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str3) { + try { + if (new JSONObject(str3).optInt("code", 0) == 200) { + cccc.getSharedPreferences("spider_IKan", 0).edit().putString("user", str).putString("pwd", str2).commit(); + login(str, str2); + } + } catch (JSONException unused) { + } + } + }); + } catch (Throwable unused) { + } + } + + private void iq() { + SharedPreferences sharedPreferences = cccc.getSharedPreferences("spider_IKan", 0); + try { + String string = sharedPreferences.getString("user", null); + String string2 = sharedPreferences.getString("pwd", null); + if (!(string == null || string2 == null)) { + login(string, string2); + return; + } + } catch (Throwable unused) { + } + S(random(18), random(8)); + } + + public static String random(int i) { + Random random = new Random(); + StringBuffer stringBuffer = new StringBuffer(); + for (int i2 = 0; i2 < i; i2++) { + stringBuffer.append("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456".charAt(random.nextInt(59))); + } + return stringBuffer.toString(); + } + + + public void init(Context context) { + cccc = context; + } + + public void login(String str, String str2) { + HashMap headers = new HashMap(); + headers.put("user_name", str); + headers.put("user_pwd", str2); + try { + HashMap hashMap2 = new HashMap(); + hashMap2.put("Host", "tvcms.ikan6.vip"); + hashMap2.put("User-Agent", "okhttp/3.11.0"); + OkHttpUtil.post(y, "http://tvcms.ikan6.vip/api.php/gctvapi.auth/login", headers, hashMap2, new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str3) { + try { + if (new JSONObject(str3).optInt("code", 0) == 200) { + K = true; + } + } catch (JSONException unused) { + } + } + }); + } catch (Throwable unused) { + } + } + + private HashMap getHeaders(String URL) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Mobile Safari/537.36"); + return headers; + } + + @Override + public String homeVideoContent() { + try { + String url = "http://tvcms.ikan6.vip/api.php/gctvapi.vod"; + String json = OkHttpUtil.string(url, getHeaders(url)); + JSONObject obj = new JSONObject(json); + JSONArray videos = new JSONArray(); + JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("list"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + String vid = vObj.getString("vod_id"); + JSONObject v = new JSONObject(); + v.put("vod_id", vid); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String str, String str2, List list) { + try { + if (str.equals("lekanzyw")) { + if (!K) { + iq(); + } + + JSONObject headers = new JSONObject(); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + headers.put("Connection", " Keep-Alive"); + + String parseUrl = "https://player.4kan.top/?url=" + str2; + Document doc = Jsoup.parse(OkHttpUtil.string(parseUrl, null)); + Pattern pattern = Pattern.compile("(?<=getrandom\\S\").*?(?=\")"); + Elements allScripts = doc.select("body script"); + for (int j = 0; j < allScripts.size(); j++) { + String scContents = allScripts.get(j).html().trim(); + Matcher matcher = pattern.matcher(scContents); + if (!matcher.find()) + continue; + String players = new String(Base64.decode(matcher.group(0), Base64.DEFAULT)); + int start = players.indexOf("http"); + int end = players.lastIndexOf("key=") + 36; + String url = players.substring(start, end); + Map> respHeaders = new TreeMap<>(); + OkHttpUtil.stringNoRedirect(url, null, respHeaders); + String redLoc = OkHttpUtil.getRedirectLocation(respHeaders); + + + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", redLoc); + result.put("header", headers.toString()); + return result.toString(); + + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public void init(Context context, String str) { + super.init(context, "http://tvcms.ikan6.vip/api.php/gctvapi.vod"); + } + +} \ No newline at end of file diff --git a/TVBox_Java/spider/IQIYI.java b/TVBox_Java/spider/IQIYI.java new file mode 100644 index 0000000..a69082a --- /dev/null +++ b/TVBox_Java/spider/IQIYI.java @@ -0,0 +1,324 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.net.Uri; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import rxhttp.wrapper.annotations.NonNull; + +public class IQIYI extends Spider { + protected JSONObject a; + protected JSONArray xr; + protected JSONObject q = new JSONObject(); + protected HashMap dn = new HashMap<>(); + + private String q(String str, String str2) { + String str3; + try { + if (str2.startsWith("//")) { + Uri parse = Uri.parse(str); + str3 = parse.getScheme() + ":" + str2; + } else if (str2.contains("://")) { + return str2; + } else { + Uri parse2 = Uri.parse(str); + str3 = parse2.getScheme() + "://" + parse2.getHost() + str2; + } + return str3; + } catch (Exception e) { + SpiderDebug.log(e); + return str2; + } + } + + public String categoryContent(String str, String str2, boolean z, HashMap hashMap) { + IQIYI iqiyi = this; + try { + String str3 = "https://pcw-api.iqiyi.com/search/video/videolists?channel_id=" + str + "&is_purchase=&mode=24&pageNum=" + str2 + "&pageSize=24"; + if (hashMap != null) { + Set keySet = hashMap.keySet(); + ArrayList arrayList = new ArrayList(); + for (String str4 : keySet) { + String trim = hashMap.get(str4).trim(); + if (str4.matches("\\d+")) { + arrayList.add(trim + ";must"); + } else { + str3 = str3 + "&" + str4 + "=" + trim; + } + } + str3 = str3 + "&three_category_id=" + iqiyi.join(",", arrayList); + } + String h = OkHttpUtil.string(str3, getHeaders(str3)); + JSONObject jSONObject = new JSONObject(); + try { + JSONArray optJSONArray = new JSONObject(h).optJSONObject("data").optJSONArray("list"); + JSONArray jSONArray = new JSONArray(); + int i = 0; + while (i < optJSONArray.length()) { + JSONObject optJSONObject = optJSONArray.optJSONObject(i); + String optString = optJSONObject.optString("name"); + String q = iqiyi.q(str3, optJSONObject.optString("imageUrl")); + String optString2 = optJSONObject.optString("score"); + String optString3 = optJSONObject.optString("playUrl"); + if (!optJSONObject.optString("albumId").equals("")) { + if (optJSONObject.optInt("sourceId") != 0) { + optString3 = "/video/video/baseinfo/" + optJSONObject.optString("tvId") + "?userInfo=verify&jsonpCbName=videoInfo39"; + } else { + optString3 = "/albums/album/avlistinfo?aid=" + optJSONObject.optString("albumId") + "&size=5000&page=1&url=" + optString3; + } + } else if (optJSONObject.optLong("tvId") != 0) { + optString3 = "/video/video/baseinfo/" + optJSONObject.optString("tvId") + "?userInfo=verify&jsonpCbName=videoInfo39"; + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", optString3); + jSONObject2.put("vod_name", optString); + jSONObject2.put("vod_pic", q); + jSONObject2.put("vod_remarks", optString2); + jSONArray.put(jSONObject2); + i++; + iqiyi = this; + optJSONArray = optJSONArray; + str3 = str3; + } + jSONObject.put("page", str2); + jSONObject.put("pagecount", Integer.MAX_VALUE); + jSONObject.put("limit", 90); + jSONObject.put("total", Integer.MAX_VALUE); + jSONObject.put("list", jSONArray); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject.toString(4); + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String detailContent(List list) { + try { + String url = "https://pcw-api.iqiyi.com" + list.get(0); + JSONObject jSONObject = new JSONObject(OkHttpUtil.string(url, getHeaders(url))).getJSONObject("data"); + JSONObject jSONObject2 = new JSONObject(); + JSONObject optJSONObject = jSONObject.optJSONArray("epsodelist") != null ? jSONObject.optJSONArray("epsodelist").optJSONObject(0) : jSONObject; + jSONObject2.put("vod_id", list.get(0)); + jSONObject2.put("vod_name", optJSONObject.optString("name").replaceAll("第\\d+(?:集|期)", "")); + jSONObject2.put("vod_pic", q(url, optJSONObject.optString("imageUrl"))); + JSONObject optJSONObject2 = optJSONObject.optJSONObject("people"); + JSONArray optJSONArray = optJSONObject2.optJSONArray("main_charactor"); + if (optJSONArray == null) { + optJSONArray = optJSONObject2.optJSONArray("producer"); + } + if (optJSONArray == null) { + optJSONArray = optJSONObject2.optJSONArray("guest"); + } + if (optJSONArray == null) { + optJSONArray = optJSONObject2.optJSONArray("singer"); + } + ArrayList arrayList = new ArrayList(); + if (optJSONArray != null) { + for (int i = 0; i < optJSONArray.length(); i++) { + arrayList.add(optJSONArray.optJSONObject(i).optString("name")); + } + } + JSONArray optJSONArray2 = optJSONObject2.optJSONArray("director"); + if (optJSONArray2 == null) { + optJSONArray2 = optJSONObject2.optJSONArray("screen_writer"); + } + if (optJSONArray2 == null) { + optJSONArray2 = optJSONObject2.optJSONArray("host"); + } + ArrayList arrayList2 = new ArrayList(); + if (optJSONArray2 != null) { + for (int i2 = 0; i2 < optJSONArray2.length(); i2++) { + arrayList2.add(optJSONArray2.optJSONObject(i2).optString("name")); + } + } + jSONObject2.put("vod_remarks", optJSONObject.optString("duration")); + jSONObject2.put("vod_actor", join(",", arrayList)); + jSONObject2.put("vod_director", join(",", arrayList2)); + jSONObject2.put("vod_content", optJSONObject.optString("description")); + JSONArray optJSONArray3 = jSONObject.optJSONArray("epsodelist"); + if (optJSONArray3 == null) { + optJSONArray3 = new JSONArray(); + optJSONArray3.put(jSONObject); + } + ArrayList arrayList3 = new ArrayList(); + for (int i3 = 0; i3 < optJSONArray3.length(); i3++) { + JSONObject optJSONObject3 = optJSONArray3.optJSONObject(i3); + arrayList3.add(optJSONObject3.optString("order") + " " + optJSONObject3.optString("subtitle") + "$" + optJSONObject3.optString("playUrl")); + } + jSONObject2.put("vod_play_from", "iqiyi"); + jSONObject2.put("vod_play_url", join("#", arrayList3)); + JSONObject jSONObject3 = new JSONObject(); + JSONArray jSONArray = new JSONArray(); + jSONArray.put(jSONObject2); + jSONObject3.put("list", jSONArray); + return jSONObject3.toString(4); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + protected HashMap getHeaders(String str) { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + return hashMap; + } + + public String homeContent(boolean z) { + IQIYI iqiyi = this; + try { + String str = "https://pcw-api.iqiyi.com/search/video/videolists?channel_id=2&is_purchase=&mode=24&pageNum=1&pageSize=24&data_type=1&site=iqiyi"; + String h = OkHttpUtil.string(str, iqiyi.getHeaders(str)); + JSONObject jSONObject = new JSONObject(); + jSONObject.put("class", iqiyi.xr); + if (z) { + jSONObject.put("filters", iqiyi.a); + } + try { + JSONArray optJSONArray = new JSONObject(h).optJSONObject("data").optJSONArray("list"); + JSONArray jSONArray = new JSONArray(); + int i = 0; + while (i < optJSONArray.length()) { + JSONObject optJSONObject = optJSONArray.optJSONObject(i); + String optString = optJSONObject.optString("name"); + String q = iqiyi.q(str, optJSONObject.optString("imageUrl")); + String optString2 = optJSONObject.optString("score"); + String optString3 = optJSONObject.optString("playUrl"); + if (!optJSONObject.optString("albumId").equals("")) { + if (optJSONObject.optInt("sourceId") != 0) { + optString3 = "/video/video/baseinfo/" + optJSONObject.optString("tvId") + "?userInfo=verify&jsonpCbName=videoInfo39"; + } else { + optString3 = "/albums/album/avlistinfo?aid=" + optJSONObject.optString("albumId") + "&size=5000&page=1&url=" + optString3; + } + } else if (optJSONObject.optLong("tvId") != 0) { + optString3 = "/video/video/baseinfo/" + optJSONObject.optString("tvId") + "?userInfo=verify&jsonpCbName=videoInfo39"; + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", optString3); + jSONObject2.put("vod_name", optString); + jSONObject2.put("vod_pic", q); + jSONObject2.put("vod_remarks", optString2); + jSONArray.put(jSONObject2); + i++; + iqiyi = this; + str = str; + } + jSONObject.put("list", jSONArray); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject.toString(4); + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String homeVideoContent() { + try { + JSONArray jSONArray = new JSONObject(OkHttpUtil.string("https://pcw-api.iqiyi.com/api.php/app/index_video?token=", getHeaders("https://pcw-api.iqiyi.com/api.php/app/index_video?token="))).getJSONArray("list"); + JSONArray jSONArray2 = new JSONArray(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONArray jSONArray3 = jSONArray.getJSONObject(i).getJSONArray("vlist"); + int i2 = 0; + while (i2 < jSONArray3.length() && i2 < 6) { + JSONObject jSONObject = jSONArray3.getJSONObject(i2); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", jSONObject.optString("vod_id")); + jSONObject2.put("vod_name", jSONObject.optString("vod_name")); + jSONObject2.put("vod_pic", jSONObject.optString("vod_pic")); + jSONObject2.put("vod_remarks", jSONObject.optString("vod_remarks")); + jSONArray2.put(jSONObject2); + i2++; + } + } + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("list", jSONArray2); + return jSONObject3.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public void init(Context context) { + IQIYI.super.init(context); + try { + this.xr = new JSONArray("[{\"type_name\":\"电视\",\"type_id\":\"2\"},{\"type_name\":\"电影\",\"type_id\":\"1\"},{\"type_name\":\"综艺\",\"type_id\":\"6\"},{\"type_name\":\"动漫\",\"type_id\":\"4\"},{\"type_name\":\"纪录\",\"type_id\":\"3\"},{\"type_name\":\"教育\",\"type_id\":\"12\"},{\"type_name\":\"游戏\",\"type_id\":\"8\"},{\"type_name\":\"资讯\",\"type_id\":\"25\"},{\"type_name\":\"娱乐\",\"type_id\":\"7\"},{\"type_name\":\"财经\",\"type_id\":\"24\"},{\"type_name\":\"网络\",\"type_id\":\"1\"},{\"type_name\":\"片花\",\"type_id\":\"10\"},{\"type_name\":\"音乐\",\"type_id\":\"5\"},{\"type_name\":\"军事\",\"type_id\":\"28\"},{\"type_name\":\"体育\",\"type_id\":\"17\"},{\"type_name\":\"儿童\",\"type_id\":\"15\"},{\"type_name\":\"旅游\",\"type_id\":\"9\"},{\"type_name\":\"时尚\",\"type_id\":\"13\"},{\"type_name\":\"生活\",\"type_id\":\"21\"},{\"type_name\":\"汽车\",\"type_id\":\"26\"},{\"type_name\":\"搞笑\",\"type_id\":\"22\"},{\"type_name\":\"广告\",\"type_id\":\"20\"},{\"type_name\":\"原创\",\"type_id\":\"27\"},{\"type_name\":\"母婴\",\"type_id\":\"29\"},{\"type_name\":\"科技\",\"type_id\":\"30\"},{\"type_name\":\"健康\",\"type_id\":\"32\"}]"); + this.a = new JSONObject("{\"22\":[{\"name\":\"分类\",\"value\":[{\"v\":\"22169\",\"n\":\"欢乐精选\"},{\"v\":\"29115\",\"n\":\"娱乐八卦\"},{\"v\":\"29116\",\"n\":\"搞笑短片\"},{\"v\":\"29139\",\"n\":\"影视剧吐槽\"},{\"v\":\"22172\",\"n\":\"雷人囧事\"},{\"v\":\"22171\",\"n\":\"爆笑节目\"},{\"v\":\"1905\",\"n\":\"萌宠\"},{\"v\":\"1909\",\"n\":\"童趣\"},{\"v\":\"1900\",\"n\":\"奇闻趣事\"},{\"v\":\"1902\",\"n\":\"恶搞配音\"},{\"v\":\"22170\",\"n\":\"猎奇\"}],\"key\":\"18074\"},{\"name\":\"地域\",\"value\":[{\"v\":\"1907\",\"n\":\"国内\"},{\"v\":\"1908\",\"n\":\"国外\"}],\"key\":\"18075\"}],\"24\":[{\"name\":\"分类\",\"value\":[{\"v\":\"2233\",\"n\":\"宏观\"},{\"v\":\"2234\",\"n\":\"民生\"},{\"v\":\"2235\",\"n\":\"产经\"},{\"v\":\"2236\",\"n\":\"市场\"},{\"v\":\"2237\",\"n\":\"理财\"},{\"v\":\"2238\",\"n\":\"访谈\"}],\"key\":\"18079\"}],\"25\":[{\"name\":\"类型\",\"value\":[{\"v\":\"20031\",\"n\":\"社会\"},{\"v\":\"20321\",\"n\":\"科技\"},{\"v\":\"21314\",\"n\":\"军事\"},{\"v\":\"21315\",\"n\":\"评论\"},{\"v\":\"21739\",\"n\":\"国内\"},{\"v\":\"21740\",\"n\":\"国际\"}],\"key\":\"20030\"}],\"26\":[{\"name\":\"内容\",\"value\":[{\"v\":\"20529\",\"n\":\"资讯\"},{\"v\":\"20530\",\"n\":\"专访\"},{\"v\":\"20531\",\"n\":\"新车\"},{\"v\":\"20532\",\"n\":\"试驾\"},{\"v\":\"20533\",\"n\":\"用车\"},{\"v\":\"20534\",\"n\":\"赛事\"},{\"v\":\"20535\",\"n\":\"交通\"},{\"v\":\"20536\",\"n\":\"娱乐\"},{\"v\":\"20537\",\"n\":\"车模\"},{\"v\":\"20538\",\"n\":\"改装\"},{\"v\":\"20539\",\"n\":\"车微剧\"},{\"v\":\"20540\",\"n\":\"爱汽车制造\"},{\"v\":\"28463\",\"n\":\"品牌\"},{\"v\":\"28464\",\"n\":\"车展\"},{\"v\":\"28534\",\"n\":\"航空\"},{\"v\":\"28535\",\"n\":\"游艇\"},{\"v\":\"28536\",\"n\":\"轨道\"}],\"key\":\"20528\"},{\"name\":\"车型\",\"value\":[{\"v\":\"20542\",\"n\":\"微型车\"},{\"v\":\"20543\",\"n\":\"小型车\"},{\"v\":\"20544\",\"n\":\"紧凑型车\"},{\"v\":\"20545\",\"n\":\"中型车\"},{\"v\":\"20546\",\"n\":\"中高型车\"},{\"v\":\"20547\",\"n\":\"豪华车\"},{\"v\":\"20548\",\"n\":\"MPV\"},{\"v\":\"20549\",\"n\":\"SUV\"},{\"v\":\"20550\",\"n\":\"跑车\"},{\"v\":\"20551\",\"n\":\"皮卡\"},{\"v\":\"20552\",\"n\":\"微客\"},{\"v\":\"22179\",\"n\":\"新概念\"},{\"v\":\"28465\",\"n\":\"电动车\"},{\"v\":\"28466\",\"n\":\"摩托车\"}],\"key\":\"20541\"},{\"name\":\"地区\",\"value\":[{\"v\":\"20554\",\"n\":\"自主品牌\"},{\"v\":\"20555\",\"n\":\"欧洲品牌\"},{\"v\":\"20556\",\"n\":\"亚洲品牌\"},{\"v\":\"20557\",\"n\":\"北美品牌\"}],\"key\":\"20553\"}],\"27\":[{\"name\":\"分类\",\"value\":[{\"v\":\"21317\",\"n\":\"动画\"},{\"v\":\"27986\",\"n\":\"短片\"},{\"v\":\"28034\",\"n\":\"网络剧\"},{\"v\":\"28053\",\"n\":\"创意广告\"},{\"v\":\"21318\",\"n\":\"微电影\"}],\"key\":\"21316\"}],\"28\":[{\"name\":\"分类\",\"value\":[{\"v\":\"21789\",\"n\":\"军情\"},{\"v\":\"21790\",\"n\":\"深度\"},{\"v\":\"21791\",\"n\":\"兵器\"},{\"v\":\"21792\",\"n\":\"战史\"},{\"v\":\"21793\",\"n\":\"人物\"},{\"v\":\"30090\",\"n\":\"航空航天\"}],\"key\":\"21788\"}],\"29\":[{\"name\":\"类型\",\"value\":[{\"v\":\"24083\",\"n\":\"萌宝乐园\"},{\"v\":\"24084\",\"n\":\"孕期\"},{\"v\":\"24085\",\"n\":\"分娩\"},{\"v\":\"24086\",\"n\":\"妈咪饮食\"},{\"v\":\"24087\",\"n\":\"宝宝饮食\"},{\"v\":\"24088\",\"n\":\"早教课堂\"},{\"v\":\"24089\",\"n\":\"婴幼儿常见疾病\"},{\"v\":\"27345\",\"n\":\"时尚辣妈圈\"},{\"v\":\"27350\",\"n\":\"亲子生活馆\"},{\"v\":\"29619\",\"n\":\"宝宝养育\"},{\"v\":\"29746\",\"n\":\"趣味玩具\"},{\"v\":\"30086\",\"n\":\"行业动态\"}],\"key\":\"24082\"},{\"name\":\"年龄段\",\"value\":[{\"v\":\"24121\",\"n\":\"0-1岁\"},{\"v\":\"24122\",\"n\":\"1-3岁\"},{\"v\":\"24123\",\"n\":\"3-6岁\"},{\"v\":\"24124\",\"n\":\"6岁以上\"}],\"key\":\"24120\"}],\"30\":[{\"name\":\"类型\",\"value\":[{\"v\":\"27936\",\"n\":\"评测\"},{\"v\":\"27937\",\"n\":\"教程\"},{\"v\":\"27938\",\"n\":\"活动\"},{\"v\":\"27939\",\"n\":\"广告\"},{\"v\":\"27974\",\"n\":\"资讯\"},{\"v\":\"28522\",\"n\":\"专访\"},{\"v\":\"27975\",\"n\":\"其他\"}],\"key\":\"24125\"},{\"name\":\"地区\",\"value\":[{\"v\":\"24132\",\"n\":\"国内\"},{\"v\":\"24133\",\"n\":\"国际\"}],\"key\":\"24131\"},{\"name\":\"内容\",\"value\":[{\"v\":\"27972\",\"n\":\"IT业界\"},{\"v\":\"27973\",\"n\":\"互联网\"},{\"v\":\"28521\",\"n\":\"APP\"},{\"v\":\"27942\",\"n\":\"手机\"},{\"v\":\"27943\",\"n\":\"笔记本\"},{\"v\":\"27944\",\"n\":\"智能硬件\"},{\"v\":\"27945\",\"n\":\"平板电脑\"},{\"v\":\"27946\",\"n\":\"数码相机\"},{\"v\":\"27948\",\"n\":\"PC\"},{\"v\":\"27949\",\"n\":\"家电\"},{\"v\":\"27950\",\"n\":\"游戏机\"},{\"v\":\"27951\",\"n\":\"前沿技术\"},{\"v\":\"27952\",\"n\":\"科学探索\"},{\"v\":\"27953\",\"n\":\"爱科技出品\"}],\"key\":\"27940\"}],\"31\":[{\"name\":\"语言\",\"value\":[{\"v\":\"27515\",\"n\":\"普通话\"},{\"v\":\"27516\",\"n\":\"英语\"},{\"v\":\"27517\",\"n\":\"韩语\"},{\"v\":\"27518\",\"n\":\"日语\"}],\"key\":\"27499\"},{\"name\":\"类型\",\"value\":[{\"v\":\"27507\",\"n\":\"文化\"},{\"v\":\"27508\",\"n\":\"娱乐\"},{\"v\":\"27509\",\"n\":\"访谈\"},{\"v\":\"27510\",\"n\":\"社会\"},{\"v\":\"27511\",\"n\":\"搞笑\"},{\"v\":\"27512\",\"n\":\"财经\"},{\"v\":\"27513\",\"n\":\"时尚\"},{\"v\":\"27514\",\"n\":\"历史\"},{\"v\":\"29117\",\"n\":\"电台\"},{\"v\":\"30290\",\"n\":\"科技\"},{\"v\":\"31318\",\"n\":\"相声评书\"},{\"v\":\"31319\",\"n\":\"演讲\"}],\"key\":\"27500\"},{\"name\":\"地区\",\"value\":[{\"v\":\"27502\",\"n\":\"内地\"},{\"v\":\"27503\",\"n\":\"台湾地区\"},{\"v\":\"27504\",\"n\":\"香港地区\"},{\"v\":\"27505\",\"n\":\"日本\"},{\"v\":\"27506\",\"n\":\"韩国\"},{\"v\":\"27824\",\"n\":\"美国\"}],\"key\":\"27501\"}],\"10\":[{\"name\":\"内容分类\",\"value\":[{\"v\":\"1007\",\"n\":\"电影\"},{\"v\":\"1006\",\"n\":\"电视剧\"}],\"key\":\"18031\"},{\"name\":\"电影地区\",\"value\":[{\"v\":\"29801\",\"n\":\"华语\"},{\"v\":\"29802\",\"n\":\"美国\"},{\"v\":\"29811\",\"n\":\"印度\"},{\"v\":\"29805\",\"n\":\"其它\"}],\"key\":\"18032\"},{\"name\":\"电视剧地区\",\"value\":[{\"v\":\"29927\",\"n\":\"内地\"},{\"v\":\"29929\",\"n\":\"韩剧\"},{\"v\":\"29930\",\"n\":\"美剧\"},{\"v\":\"29932\",\"n\":\"日剧\"},{\"v\":\"29934\",\"n\":\"台湾地区\"}],\"key\":\"21260\"},{\"name\":\"电视剧类型\",\"value\":[{\"v\":\"29973\",\"n\":\"网剧\"}],\"key\":\"21238\"}],\"32\":[{\"name\":\"类型\",\"value\":[{\"v\":\"28068\",\"n\":\"资讯\"},{\"v\":\"28069\",\"n\":\"医疗\"},{\"v\":\"28081\",\"n\":\"两性\"},{\"v\":\"28082\",\"n\":\"养生\"},{\"v\":\"28441\",\"n\":\"健身\"},{\"v\":\"28449\",\"n\":\"美容\"},{\"v\":\"28450\",\"n\":\"心理\"},{\"v\":\"28451\",\"n\":\"常识\"},{\"v\":\"28452\",\"n\":\"儿科\"},{\"v\":\"28456\",\"n\":\"老年\"},{\"v\":\"28459\",\"n\":\"宠物\"},{\"v\":\"28462\",\"n\":\"交流分享\"}],\"key\":\"28067\"}],\"11\":[{\"name\":\"类型\",\"value\":[{\"v\":\"990\",\"n\":\"经济\"},{\"v\":\"991\",\"n\":\"人文\"},{\"v\":\"992\",\"n\":\"艺术\"},{\"v\":\"994\",\"n\":\"科技\"},{\"v\":\"995\",\"n\":\"社会\"},{\"v\":\"996\",\"n\":\"哲学\"},{\"v\":\"997\",\"n\":\"心理\"},{\"v\":\"998\",\"n\":\"其它\"}],\"key\":\"18030\"}],\"33\":[{\"name\":\"类型\",\"value\":[{\"v\":\"28900\",\"n\":\"资讯\"},{\"v\":\"28541\",\"n\":\"娱乐\"},{\"v\":\"28542\",\"n\":\"体育\"},{\"v\":\"28543\",\"n\":\"电影\"},{\"v\":\"28544\",\"n\":\"微电影\"},{\"v\":\"28545\",\"n\":\"纪录片\"},{\"v\":\"28546\",\"n\":\"综艺\"},{\"v\":\"28547\",\"n\":\"脱口秀\"},{\"v\":\"28548\",\"n\":\"片花\"},{\"v\":\"28549\",\"n\":\"广告\"},{\"v\":\"28550\",\"n\":\"音乐\"},{\"v\":\"28551\",\"n\":\"动漫\"},{\"v\":\"28552\",\"n\":\"少儿\"},{\"v\":\"28553\",\"n\":\"游戏\"},{\"v\":\"28554\",\"n\":\"教育\"},{\"v\":\"28555\",\"n\":\"生活\"},{\"v\":\"28556\",\"n\":\"原创\"},{\"v\":\"28557\",\"n\":\"搞笑\"},{\"v\":\"28558\",\"n\":\"旅游\"},{\"v\":\"28559\",\"n\":\"时尚\"},{\"v\":\"28560\",\"n\":\"财经\"},{\"v\":\"28561\",\"n\":\"科技\"},{\"v\":\"28562\",\"n\":\"健康\"},{\"v\":\"28563\",\"n\":\"母婴\"},{\"v\":\"28564\",\"n\":\"汽车\"}],\"key\":\"28537\"},{\"name\":\"性质\",\"value\":[{\"v\":\"28895\",\"n\":\"其他\"},{\"v\":\"28565\",\"n\":\"环保\"},{\"v\":\"28566\",\"n\":\"捐款\"},{\"v\":\"28567\",\"n\":\"大病救助\"},{\"v\":\"28568\",\"n\":\"救灾\"},{\"v\":\"28569\",\"n\":\"动物保护\"},{\"v\":\"28570\",\"n\":\"社会关注\"}],\"key\":\"28538\"},{\"name\":\"分类\",\"value\":[{\"v\":\"28595\",\"n\":\"公益资讯\"},{\"v\":\"28596\",\"n\":\"公益人物\"},{\"v\":\"28597\",\"n\":\"公益活动\"},{\"v\":\"28598\",\"n\":\"公益作品\"},{\"v\":\"28599\",\"n\":\"公益影像\"},{\"v\":\"28600\",\"n\":\"公益组织\"}],\"key\":\"28539\"},{\"name\":\"国家/地区\",\"value\":[{\"v\":\"28601\",\"n\":\"国内\"},{\"v\":\"28602\",\"n\":\"国外\"}],\"key\":\"28540\"}],\"12\":[{\"name\":\"分类\",\"value\":[{\"v\":\"32641\",\"n\":\"中小学\"},{\"v\":\"32655\",\"n\":\"大学\"},{\"v\":\"32659\",\"n\":\"职业考证\"},{\"v\":\"32669\",\"n\":\"外语\"},{\"v\":\"32674\",\"n\":\"职场\"},{\"v\":\"32684\",\"n\":\"IT/互联网\"},{\"v\":\"32692\",\"n\":\"财经\"},{\"v\":\"32697\",\"n\":\"文史\"},{\"v\":\"32704\",\"n\":\"艺术\"},{\"v\":\"32712\",\"n\":\"运动健身\"},{\"v\":\"32718\",\"n\":\"健康\"},{\"v\":\"32722\",\"n\":\"心理\"},{\"v\":\"32725\",\"n\":\"亲子\"},{\"v\":\"32732\",\"n\":\"生活\"},{\"v\":\"32890\",\"n\":\"党政\"}],\"key\":\"32640\"}],\"13\":[{\"name\":\"行业\",\"value\":[{\"v\":\"1208\",\"n\":\"服饰\"},{\"v\":\"1209\",\"n\":\"美容\"},{\"v\":\"1210\",\"n\":\"生活\"},{\"v\":\"1211\",\"n\":\"其它\"}],\"key\":\"18051\"},{\"name\":\"季节\",\"value\":[{\"v\":\"1224\",\"n\":\"早春\"},{\"v\":\"1225\",\"n\":\"春夏\"},{\"v\":\"1226\",\"n\":\"早秋\"},{\"v\":\"1227\",\"n\":\"秋冬\"},{\"v\":\"1228\",\"n\":\"其它\"}],\"key\":\"18053\"},{\"name\":\"类型\",\"value\":[{\"v\":\"1229\",\"n\":\"公告牌\"},{\"v\":\"1230\",\"n\":\"奇艺自制\"},{\"v\":\"1231\",\"n\":\"热门综艺\"},{\"v\":\"1232\",\"n\":\"名利场\"},{\"v\":\"1233\",\"n\":\"趋势报道\"},{\"v\":\"1234\",\"n\":\"本季流行\"},{\"v\":\"1235\",\"n\":\"秀场\"},{\"v\":\"1236\",\"n\":\"广告大片\"},{\"v\":\"1237\",\"n\":\"街拍\"},{\"v\":\"1238\",\"n\":\"人物\"},{\"v\":\"1240\",\"n\":\"乐活\"},{\"v\":\"1241\",\"n\":\"其它\"}],\"key\":\"18054\"}],\"14\":[{\"name\":\"地区\",\"value\":[{\"v\":\"1278\",\"n\":\"内地\"},{\"v\":\"1279\",\"n\":\"港台\"},{\"v\":\"1280\",\"n\":\"日韩\"},{\"v\":\"1281\",\"n\":\"欧美\"},{\"v\":\"1282\",\"n\":\"其它\"}],\"key\":\"18055\"},{\"name\":\"类型\",\"value\":[{\"v\":\"1247\",\"n\":\"播报\"},{\"v\":\"1248\",\"n\":\"访谈\"},{\"v\":\"1249\",\"n\":\"搞笑\"},{\"v\":\"1250\",\"n\":\"游戏\"},{\"v\":\"1251\",\"n\":\"选秀\"},{\"v\":\"1252\",\"n\":\"时尚\"},{\"v\":\"1253\",\"n\":\"杂谈\"},{\"v\":\"1254\",\"n\":\"情感\"},{\"v\":\"1255\",\"n\":\"盛会\"},{\"v\":\"1256\",\"n\":\"曲艺\"},{\"v\":\"1257\",\"n\":\"美食\"},{\"v\":\"1258\",\"n\":\"粤语\"},{\"v\":\"1276\",\"n\":\"时尚综艺\"}],\"key\":\"18056\"}],\"15\":[{\"name\":\"地区\",\"value\":[{\"v\":\"1261\",\"n\":\"欧美\"},{\"v\":\"1259\",\"n\":\"大陆\"},{\"v\":\"1260\",\"n\":\"港台\"},{\"v\":\"28933\",\"n\":\"韩国\"},{\"v\":\"1263\",\"n\":\"其它\"}],\"key\":\"18057\"},{\"name\":\"年龄段\",\"value\":[{\"v\":\"4489\",\"n\":\"0-3岁\"},{\"v\":\"28929\",\"n\":\"4-6岁\"},{\"v\":\"4493\",\"n\":\"7-10岁\"},{\"v\":\"4494\",\"n\":\"11-13岁\"}],\"key\":\"20288\"},{\"name\":\"课程类型\",\"value\":[{\"v\":\"28983\",\"n\":\"儿歌\"},{\"v\":\"28984\",\"n\":\"故事\"},{\"v\":\"28985\",\"n\":\"学英语\"},{\"v\":\"28986\",\"n\":\"百科\"},{\"v\":\"28987\",\"n\":\"国学\"},{\"v\":\"28988\",\"n\":\"手工\"},{\"v\":\"28989\",\"n\":\"识字\"},{\"v\":\"28990\",\"n\":\"数学\"},{\"v\":\"28991\",\"n\":\"美术\"},{\"v\":\"28993\",\"n\":\"舞蹈\"},{\"v\":\"30918\",\"n\":\"音乐\"},{\"v\":\"30919\",\"n\":\"诗词\"},{\"v\":\"28994\",\"n\":\"其他\"}],\"key\":\"28982\"}],\"16\":[{\"name\":\"类型\",\"value\":[{\"v\":\"1296\",\"n\":\"喜剧\"},{\"v\":\"1297\",\"n\":\"爱情\"},{\"v\":\"1298\",\"n\":\"动作\"}],\"key\":\"18061\"}],\"17\":[{\"name\":\"大项\",\"value\":[{\"v\":\"1673\",\"n\":\"足球\"},{\"v\":\"1688\",\"n\":\"篮球\"},{\"v\":\"1700\",\"n\":\"网球\"},{\"v\":\"1707\",\"n\":\"高尔夫\"},{\"v\":\"1708\",\"n\":\"赛车\"},{\"v\":\"1712\",\"n\":\"台球\"},{\"v\":\"32632\",\"n\":\"街舞\"},{\"v\":\"22178\",\"n\":\"健身\"},{\"v\":\"1715\",\"n\":\"综合\"}],\"key\":\"18067\"},{\"name\":\"类型\",\"value\":[{\"v\":\"1724\",\"n\":\"集锦\"},{\"v\":\"1725\",\"n\":\"花絮\"},{\"v\":\"1727\",\"n\":\"整场\"},{\"v\":\"1728\",\"n\":\"节目\"},{\"v\":\"1729\",\"n\":\"纪录片\"},{\"v\":\"1730\",\"n\":\"教学\"},{\"v\":\"1837\",\"n\":\"资讯\"},{\"v\":\"22180\",\"n\":\"瞬间\"},{\"v\":\"22182\",\"n\":\"球星\"},{\"v\":\"1731\",\"n\":\"其它\"}],\"key\":\"18066\"}],\"18\":[{\"name\":\"大项\",\"value\":[{\"v\":\"1322\",\"n\":\"足球\"},{\"v\":\"1323\",\"n\":\"网球\"},{\"v\":\"1324\",\"n\":\"曲棍球\"},{\"v\":\"1325\",\"n\":\"羽毛球\"},{\"v\":\"1326\",\"n\":\"手球\"},{\"v\":\"1327\",\"n\":\"排球\"},{\"v\":\"1328\",\"n\":\"乒乓球\"},{\"v\":\"1329\",\"n\":\"篮球\"},{\"v\":\"1330\",\"n\":\"游泳\"},{\"v\":\"1331\",\"n\":\"花样游泳\"},{\"v\":\"1332\",\"n\":\"跳水\"},{\"v\":\"1333\",\"n\":\"水球\"},{\"v\":\"1334\",\"n\":\"田径\"},{\"v\":\"1335\",\"n\":\"自行车\"},{\"v\":\"1336\",\"n\":\"体操\"},{\"v\":\"1337\",\"n\":\"马术\"},{\"v\":\"1338\",\"n\":\"射箭\"},{\"v\":\"1339\",\"n\":\"射击\"},{\"v\":\"1340\",\"n\":\"击剑\"},{\"v\":\"1341\",\"n\":\"举重\"},{\"v\":\"1342\",\"n\":\"拳击\"},{\"v\":\"1343\",\"n\":\"柔道\"},{\"v\":\"1344\",\"n\":\"摔跤\"},{\"v\":\"1345\",\"n\":\"跆拳道\"},{\"v\":\"1346\",\"n\":\"皮划艇\"},{\"v\":\"1347\",\"n\":\"赛艇\"},{\"v\":\"1348\",\"n\":\"帆船\"},{\"v\":\"1349\",\"n\":\"现代五项\"},{\"v\":\"1350\",\"n\":\"铁人三项\"}],\"key\":\"18062\"},{\"name\":\"类型\",\"value\":[{\"v\":\"1316\",\"n\":\"比赛\"},{\"v\":\"1317\",\"n\":\"花絮\"},{\"v\":\"1318\",\"n\":\"节目\"},{\"v\":\"1319\",\"n\":\"访谈\"},{\"v\":\"1320\",\"n\":\"资讯\"},{\"v\":\"1321\",\"n\":\"历史\"}],\"key\":\"18064\"}],\"1\":[{\"name\":\"地区\",\"value\":[{\"v\":\"1\",\"n\":\"华语\"},{\"v\":\"2\",\"n\":\"美国\"},{\"v\":\"3\",\"n\":\"欧洲\"},{\"v\":\"4\",\"n\":\"韩国\"},{\"v\":\"308\",\"n\":\"日本\"},{\"v\":\"28999\",\"n\":\"印度\"},{\"v\":\"5\",\"n\":\"其它\"}],\"key\":\"18000\"},{\"name\":\"类型\",\"value\":[{\"v\":\"8\",\"n\":\"喜剧\"},{\"v\":\"6\",\"n\":\"爱情\"},{\"v\":\"11\",\"n\":\"动作\"},{\"v\":\"131\",\"n\":\"枪战\"},{\"v\":\"291\",\"n\":\"犯罪\"},{\"v\":\"128\",\"n\":\"惊悚\"},{\"v\":\"10\",\"n\":\"恐怖\"},{\"v\":\"289\",\"n\":\"悬疑\"},{\"v\":\"12\",\"n\":\"动画\"},{\"v\":\"27356\",\"n\":\"家庭\"},{\"v\":\"1284\",\"n\":\"奇幻\"},{\"v\":\"9\",\"n\":\"科幻\"},{\"v\":\"7\",\"n\":\"战争\"},{\"v\":\"130\",\"n\":\"青春\"}],\"key\":\"18001\"},{\"name\":\"规格\",\"value\":[{\"v\":\"27397\",\"n\":\"巨制\"},{\"v\":\"27815\",\"n\":\"院线\"},{\"v\":\"30149\",\"n\":\"独播\"},{\"v\":\"27401\",\"n\":\"网络电影\"}],\"key\":\"27396\"}],\"2\":[{\"name\":\"地区\",\"value\":[{\"v\":\"15\",\"n\":\"内地\"},{\"v\":\"17\",\"n\":\"韩剧\"},{\"v\":\"18\",\"n\":\"美剧\"},{\"v\":\"309\",\"n\":\"日剧\"},{\"v\":\"1117\",\"n\":\"台湾地区\"}],\"key\":\"18002\"},{\"name\":\"类型\",\"value\":[{\"v\":\"24\",\"n\":\"古装\"},{\"v\":\"20\",\"n\":\"言情\"},{\"v\":\"23\",\"n\":\"武侠\"},{\"v\":\"30\",\"n\":\"偶像\"},{\"v\":\"1654\",\"n\":\"家庭\"},{\"v\":\"1653\",\"n\":\"青春\"},{\"v\":\"24064\",\"n\":\"都市\"},{\"v\":\"135\",\"n\":\"喜剧\"},{\"v\":\"32\",\"n\":\"悬疑\"},{\"v\":\"149\",\"n\":\"罪案\"},{\"v\":\"148\",\"n\":\"穿越\"},{\"v\":\"139\",\"n\":\"宫廷\"},{\"v\":\"21\",\"n\":\"历史\"},{\"v\":\"145\",\"n\":\"神话\"},{\"v\":\"34\",\"n\":\"科幻\"},{\"v\":\"27\",\"n\":\"年代\"},{\"v\":\"140\",\"n\":\"商战\"},{\"v\":\"24063\",\"n\":\"剧情\"},{\"v\":\"24065\",\"n\":\"网剧\"}],\"key\":\"18003\"}],\"3\":[{\"name\":\"地区\",\"value\":[{\"v\":\"20323\",\"n\":\"国内\"},{\"v\":\"20324\",\"n\":\"国外\"}],\"key\":\"20322\"},{\"name\":\"类型\",\"value\":[{\"v\":\"70\",\"n\":\"人文\"},{\"v\":\"33908\",\"n\":\"美食\"},{\"v\":\"33924\",\"n\":\"医疗\"},{\"v\":\"33933\",\"n\":\"自然\"},{\"v\":\"33945\",\"n\":\"萌宠\"},{\"v\":\"33953\",\"n\":\"财经\"},{\"v\":\"33960\",\"n\":\"罪案\"},{\"v\":\"33967\",\"n\":\"竞技\"},{\"v\":\"33974\",\"n\":\"灾难\"},{\"v\":\"74\",\"n\":\"历史\"},{\"v\":\"73\",\"n\":\"探险\"},{\"v\":\"71\",\"n\":\"社会\"},{\"v\":\"28119\",\"n\":\"科技\"},{\"v\":\"310\",\"n\":\"旅游\"}],\"key\":\"18004\"},{\"name\":\"出品方\",\"value\":[{\"v\":\"31283\",\"n\":\"爱奇艺出品\"}],\"key\":\"28467\"},{\"name\":\"片种\",\"value\":[{\"v\":\"29077\",\"n\":\"纪录电影\"},{\"v\":\"29078\",\"n\":\"系列纪录片\"},{\"v\":\"29082\",\"n\":\"网络纪录片\"},{\"v\":\"29083\",\"n\":\"纪实栏目\"}],\"key\":\"29076\"}],\"4\":[{\"name\":\"地区\",\"value\":[{\"v\":\"37\",\"n\":\"中国大陆\"},{\"v\":\"38\",\"n\":\"日本\"},{\"v\":\"30218\",\"n\":\"欧美\"}],\"key\":\"18005\"},{\"name\":\"版本\",\"value\":[{\"v\":\"30220\",\"n\":\"动画\"},{\"v\":\"32784\",\"n\":\"动画电影\"},{\"v\":\"33482\",\"n\":\"轻动画\"},{\"v\":\"33483\",\"n\":\"短剧\"}],\"key\":\"30219\"},{\"name\":\"风格\",\"value\":[{\"v\":\"30230\",\"n\":\"搞笑\"},{\"v\":\"30232\",\"n\":\"热血\"},{\"v\":\"30233\",\"n\":\"催泪\"},{\"v\":\"30234\",\"n\":\"治愈\"},{\"v\":\"30237\",\"n\":\"励志\"},{\"v\":\"30241\",\"n\":\"机战\"},{\"v\":\"30243\",\"n\":\"恋爱\"},{\"v\":\"30245\",\"n\":\"科幻\"},{\"v\":\"30247\",\"n\":\"奇幻\"},{\"v\":\"30248\",\"n\":\"推理\"},{\"v\":\"30249\",\"n\":\"校园\"},{\"v\":\"30252\",\"n\":\"日常\"},{\"v\":\"30255\",\"n\":\"美食\"},{\"v\":\"30256\",\"n\":\"职场\"},{\"v\":\"30258\",\"n\":\"偶像\"},{\"v\":\"30265\",\"n\":\"泡面\"},{\"v\":\"30267\",\"n\":\"冒险\"},{\"v\":\"30268\",\"n\":\"竞技\"},{\"v\":\"30270\",\"n\":\"合家欢\"},{\"v\":\"32792\",\"n\":\"武侠\"},{\"v\":\"32793\",\"n\":\"玄幻\"}],\"key\":\"30225\"},{\"name\":\"新类型\",\"value\":[{\"v\":\"32796\",\"n\":\"轻小说改编\"},{\"v\":\"32797\",\"n\":\"漫画改编\"},{\"v\":\"32798\",\"n\":\"游戏改编\"},{\"v\":\"32799\",\"n\":\"原创\"}],\"key\":\"32795\"}],\"5\":[{\"name\":\"地区\",\"value\":[{\"v\":\"221\",\"n\":\"内地\"},{\"v\":\"220\",\"n\":\"港台\"},{\"v\":\"219\",\"n\":\"欧美\"},{\"v\":\"218\",\"n\":\"日韩\"},{\"v\":\"217\",\"n\":\"拉美\"},{\"v\":\"216\",\"n\":\"亚洲地区\"},{\"v\":\"215\",\"n\":\"非洲\"}],\"key\":\"18008\"},{\"name\":\"语种\",\"value\":[{\"v\":\"91\",\"n\":\"普通话\"},{\"v\":\"92\",\"n\":\"粤语\"},{\"v\":\"93\",\"n\":\"闽南语\"},{\"v\":\"94\",\"n\":\"英语\"},{\"v\":\"95\",\"n\":\"日语\"},{\"v\":\"96\",\"n\":\"韩语\"},{\"v\":\"97\",\"n\":\"其它\"}],\"key\":\"18009\"}],\"6\":[{\"name\":\"地区\",\"value\":[{\"v\":\"151\",\"n\":\"内地\"},{\"v\":\"152\",\"n\":\"港台\"},{\"v\":\"33306\",\"n\":\"韩国\"},{\"v\":\"154\",\"n\":\"欧美\"},{\"v\":\"1113\",\"n\":\"其它\"}],\"key\":\"18013\"},{\"name\":\"类型\",\"value\":[{\"v\":\"155\",\"n\":\"播报\"},{\"v\":\"156\",\"n\":\"访谈\"},{\"v\":\"158\",\"n\":\"游戏\"},{\"v\":\"292\",\"n\":\"晚会\"},{\"v\":\"2118\",\"n\":\"脱口秀\"},{\"v\":\"2224\",\"n\":\"真人秀\"},{\"v\":\"33860\",\"n\":\"竞演\"}],\"key\":\"18014\"}],\"7\":[{\"name\":\"内容类型\",\"value\":[{\"v\":\"169\",\"n\":\"独家\"},{\"v\":\"170\",\"n\":\"热点\"},{\"v\":\"171\",\"n\":\"原创\"},{\"v\":\"175\",\"n\":\"八卦\"},{\"v\":\"176\",\"n\":\"选秀\"},{\"v\":\"180\",\"n\":\"搞笑\"},{\"v\":\"182\",\"n\":\"颁奖\"},{\"v\":\"183\",\"n\":\"活动\"},{\"v\":\"349\",\"n\":\"结婚\"},{\"v\":\"350\",\"n\":\"去世\"},{\"v\":\"351\",\"n\":\"生子\"},{\"v\":\"352\",\"n\":\"探班\"},{\"v\":\"353\",\"n\":\"事故\"},{\"v\":\"637\",\"n\":\"票房\"},{\"v\":\"951\",\"n\":\"纠纷\"},{\"v\":\"1001\",\"n\":\"星座\"},{\"v\":\"1088\",\"n\":\"演唱会\"},{\"v\":\"1658\",\"n\":\"慈善\"},{\"v\":\"32512\",\"n\":\"话剧\"},{\"v\":\"32513\",\"n\":\"舞蹈\"},{\"v\":\"32514\",\"n\":\"戏曲\"},{\"v\":\"32515\",\"n\":\"儿童剧\"},{\"v\":\"32516\",\"n\":\"歌剧\"},{\"v\":\"32517\",\"n\":\"音乐剧\"},{\"v\":\"32518\",\"n\":\"音乐会\"},{\"v\":\"32519\",\"n\":\"相声\"},{\"v\":\"32520\",\"n\":\"马戏\"},{\"v\":\"32521\",\"n\":\"魔术\"},{\"v\":\"32522\",\"n\":\"展览\"},{\"v\":\"32523\",\"n\":\"其它\"}],\"key\":\"18016\"},{\"name\":\"地区\",\"value\":[{\"v\":\"184\",\"n\":\"内地\"},{\"v\":\"185\",\"n\":\"港台\"},{\"v\":\"186\",\"n\":\"韩国\"},{\"v\":\"187\",\"n\":\"海外\"},{\"v\":\"188\",\"n\":\"其它\"}],\"key\":\"18017\"},{\"name\":\"类型\",\"value\":[{\"v\":\"1077\",\"n\":\"电影\"},{\"v\":\"1078\",\"n\":\"电视\"},{\"v\":\"1079\",\"n\":\"音乐\"},{\"v\":\"1080\",\"n\":\"演出\"},{\"v\":\"1081\",\"n\":\"明星\"},{\"v\":\"1082\",\"n\":\"综艺\"},{\"v\":\"1656\",\"n\":\"公益\"},{\"v\":\"32507\",\"n\":\"展览\"},{\"v\":\"32508\",\"n\":\"艺术节\"},{\"v\":\"32538\",\"n\":\"韩娱演出\"},{\"v\":\"1083\",\"n\":\"其它\"}],\"key\":\"18042\"}],\"8\":[{\"name\":\"类型\",\"value\":[{\"v\":\"21276\",\"n\":\"电子竞技\"},{\"v\":\"21275\",\"n\":\"网络游戏\"},{\"v\":\"21277\",\"n\":\"单机游戏\"},{\"v\":\"21278\",\"n\":\"手机游戏\"},{\"v\":\"30902\",\"n\":\"少儿游戏\"},{\"v\":\"21279\",\"n\":\"游戏美女\"}],\"key\":\"18024\"}],\"9\":[{\"name\":\"类型\",\"value\":[{\"v\":\"354\",\"n\":\"风光\"},{\"v\":\"355\",\"n\":\"饮食\"},{\"v\":\"356\",\"n\":\"住宿\"},{\"v\":\"357\",\"n\":\"新闻\"},{\"v\":\"30150\",\"n\":\"钓鱼\"},{\"v\":\"638\",\"n\":\"出行方式\"},{\"v\":\"29134\",\"n\":\"户外\"},{\"v\":\"29135\",\"n\":\"文化\"},{\"v\":\"639\",\"n\":\"奇趣\"}],\"key\":\"18029\"}],\"20\":[{\"name\":\"分类\",\"value\":[{\"v\":\"1859\",\"n\":\"明星\"},{\"v\":\"1860\",\"n\":\"公益\"},{\"v\":\"1861\",\"n\":\"欧美\"},{\"v\":\"1862\",\"n\":\"形象\"},{\"v\":\"1863\",\"n\":\"搞笑\"},{\"v\":\"1864\",\"n\":\"时尚\"},{\"v\":\"1865\",\"n\":\"儿童\"},{\"v\":\"1866\",\"n\":\"生活\"},{\"v\":\"1868\",\"n\":\"热门\"}],\"key\":\"18070\"},{\"name\":\"行业\",\"value\":[{\"v\":\"1883\",\"n\":\"IT数码\"},{\"v\":\"1884\",\"n\":\"汽车\"},{\"v\":\"1885\",\"n\":\"金融\"},{\"v\":\"1886\",\"n\":\"房地产\"},{\"v\":\"1887\",\"n\":\"化妆品\"},{\"v\":\"1888\",\"n\":\"食品饮料\"},{\"v\":\"1889\",\"n\":\"烟酒\"},{\"v\":\"1890\",\"n\":\"运动户外\"},{\"v\":\"1891\",\"n\":\"服装\"},{\"v\":\"1892\",\"n\":\"鞋包配件\"},{\"v\":\"1893\",\"n\":\"家具电器\"},{\"v\":\"1894\",\"n\":\"医药\"},{\"v\":\"1895\",\"n\":\"珠宝手表\"},{\"v\":\"1896\",\"n\":\"日化用品\"},{\"v\":\"28481\",\"n\":\"游戏\"},{\"v\":\"2295\",\"n\":\"其他\"}],\"key\":\"18073\"},{\"name\":\"版块\",\"value\":[{\"v\":\"2291\",\"n\":\"大赏\"},{\"v\":\"2292\",\"n\":\"微短片\"},{\"v\":\"2293\",\"n\":\"创意\"},{\"v\":\"2294\",\"n\":\"经典\"},{\"v\":\"29114\",\"n\":\"特约播映\"}],\"key\":\"18081\"}],\"21\":[{\"name\":\"分类\",\"value\":[{\"v\":\"2218\",\"n\":\"美食\"},{\"v\":\"31322\",\"n\":\"窍门\"},{\"v\":\"1879\",\"n\":\"家居\"},{\"v\":\"2228\",\"n\":\"宠物\"},{\"v\":\"1878\",\"n\":\"健康\"},{\"v\":\"2226\",\"n\":\"舞蹈\"},{\"v\":\"2230\",\"n\":\"情感\"},{\"v\":\"1876\",\"n\":\"奇闻\"},{\"v\":\"2227\",\"n\":\"休闲\"}],\"key\":\"18071\"},{\"name\":\"地域\",\"value\":[{\"v\":\"1881\",\"n\":\"国内\"},{\"v\":\"1882\",\"n\":\"国外\"}],\"key\":\"18072\"}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + public String join(@NonNull CharSequence charSequence, @NonNull Iterable iterable) { + Iterator it = iterable.iterator(); + if (!it.hasNext()) { + return ""; + } + StringBuilder sb = new StringBuilder(); + sb.append(it.next()); + while (it.hasNext()) { + sb.append(charSequence); + sb.append(it.next()); + } + return sb.toString(); + } + + public String playerContent(String str, String str2, List list) { + try { + JSONObject jSONObject = new JSONObject(); + try { + jSONObject.put("parse", 1); + jSONObject.put("jx", "1"); + jSONObject.put("url", str2); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return jSONObject.toString(); + } + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String searchContent(String str, boolean quick) { + try { + String url = "https://search.video.iqiyi.com/o?if=html5&key=" + str + "&pageNum=1&pos=1&pageSize=20"; + String json = OkHttpUtil.string(url, getHeaders(url)); + JSONArray optJSONArray = new JSONObject(json).optJSONObject("data").optJSONArray("docinfos"); + + JSONArray videos = new JSONArray(); + for (int i = 0; i < optJSONArray.length(); i++) { + JSONObject optJSONObject = optJSONArray.getJSONObject(i).optJSONObject("albumDocInfo"); + JSONObject video = new JSONObject(); + String optString = optJSONObject.optString("albumLink"); + video.put("vod_id", "/albums/album/avlistinfo?aid=" + optJSONObject.optString("qipu_id") + "&size=5000&page=1&url=" + optString); + video.put("vod_name", optJSONObject.optString("albumTitle")); + video.put("vod_pic", optJSONObject.optString("albumImg")); + video.put("vod_remarks", optJSONObject.optString("releaseDate")); + videos.put(video); + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("list", videos); + return jSONObject2.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } +} diff --git a/TVBox_Java/spider/If101.java b/TVBox_Java/spider/If101.java new file mode 100644 index 0000000..4430c40 --- /dev/null +++ b/TVBox_Java/spider/If101.java @@ -0,0 +1,482 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class If101 extends Spider { + private static final String siteUrl = "https://oulevod.tv"; + private static final String siteHost = "oulevod.tv"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/index.php/vod/type/id/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/index.php/vod/detail/id/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/index.php/vod/play/id/(\\d+)/sid/(\\d+)/nid/(\\d+).html"); + private Pattern regexPage = Pattern.compile("\\S+/page/(\\d+)\\S+"); + + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"if101\":{\"sh\":\"高清蓝光\",\"sn\":0,\"pu\":\"\",\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":\"tid\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"冒险\",\"v\":\"6\"},{\"n\":\"剧情\",\"v\":\"7\"},{\"n\":\"动作\",\"v\":\"8\"},{\"n\":\"动画电影\",\"v\":\"9\"},{\"n\":\"同性\",\"v\":\"10\"},{\"n\":\"喜剧\",\"v\":\"11\"},{\"n\":\"奇幻\",\"v\":\"12\"},{\"n\":\"恐怖\",\"v\":\"20\"},{\"n\":\"悬疑\",\"v\":\"21\"},{\"n\":\"惊悚\",\"v\":\"22\"},{\"n\":\"战争\",\"v\":\"23\"},{\"n\":\"歌舞\",\"v\":\"24\"},{\"n\":\"灾难\",\"v\":\"25\"},{\"n\":\"爱情\",\"v\":\"26\"},{\"n\":\"犯罪\",\"v\":\"27\"},{\"n\":\"科幻\",\"v\":\"28\"},{\"n\":\"经典\",\"v\":\"29\"},{\"n\":\"网络电影\",\"v\":\"30\"}]},{\"key\":\"class\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"枪战\",\"v\":\"枪战\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"文艺\",\"v\":\"文艺\"},{\"n\":\"微电影\",\"v\":\"微电影\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"农村\",\"v\":\"农村\"},{\"n\":\"儿童\",\"v\":\"儿童\"},{\"n\":\"网络电影\",\"v\":\"网络电影\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"version\",\"name\":\"版本\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"高清版\",\"v\":\"高清版\"},{\"n\":\"剧场版\",\"v\":\"剧场版\"},{\"n\":\"抢先版\",\"v\":\"抢先版\"},{\"n\":\"OVA\",\"v\":\"OVA\"},{\"n\":\"TV\",\"v\":\"TV\"},{\"n\":\"影院版\",\"v\":\"影院版\"}]},{\"key\":\"state\",\"name\":\"资源\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"正片\",\"v\":\"正片\"},{\"n\":\"预告片\",\"v\":\"预告片\"},{\"n\":\"花絮\",\"v\":\"花絮\"}]},{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"by\",\"name\":\"By\",\"value\":[{\"n\":\"按最新\",\"v\":\"time\"},{\"n\":\"按最热\",\"v\":\"hits\"},{\"n\":\"按评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":\"tid\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"欧美剧\",\"v\":\"13\"},{\"n\":\"日剧\",\"v\":\"14\"},{\"n\":\"韩剧\",\"v\":\"15\"},{\"n\":\"国产剧\",\"v\":\"16\"},{\"n\":\"泰剧\",\"v\":\"31\"},{\"n\":\"港剧\",\"v\":\"32\"},{\"n\":\"台剧\",\"v\":\"33\"},{\"n\":\"新马剧\",\"v\":\"34\"},{\"n\":\"其它剧\",\"v\":\"35\"}]},{\"key\":\"class\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"青春偶像\",\"v\":\"青春偶像\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"乡村\",\"v\":\"乡村\"},{\"n\":\"情景\",\"v\":\"情景\"},{\"n\":\"商战\",\"v\":\"商战\"},{\"n\":\"网剧\",\"v\":\"网剧\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"version\",\"name\":\"版本\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"高清版\",\"v\":\"高清版\"},{\"n\":\"剧场版\",\"v\":\"剧场版\"},{\"n\":\"抢先版\",\"v\":\"抢先版\"},{\"n\":\"OVA\",\"v\":\"OVA\"},{\"n\":\"TV\",\"v\":\"TV\"},{\"n\":\"影院版\",\"v\":\"影院版\"}]},{\"key\":\"state\",\"name\":\"资源\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"正片\",\"v\":\"正片\"},{\"n\":\"预告片\",\"v\":\"预告片\"},{\"n\":\"花絮\",\"v\":\"花絮\"}]},{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"by\",\"name\":\"By\",\"value\":[{\"n\":\"按最新\",\"v\":\"time\"},{\"n\":\"按最热\",\"v\":\"hits\"},{\"n\":\"按评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":\"tid\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"欧美动漫\",\"v\":\"36\"},{\"n\":\"日本动漫\",\"v\":\"37\"},{\"n\":\"韩国动漫\",\"v\":\"38\"},{\"n\":\"国产动漫\",\"v\":\"39\"},{\"n\":\"新马泰动漫\",\"v\":\"40\"},{\"n\":\"港台动漫\",\"v\":\"41\"},{\"n\":\"其他动漫\",\"v\":\"42\"}]},{\"key\":\"class\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"选秀\",\"v\":\"选秀\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"访谈\",\"v\":\"访谈\"},{\"n\":\"播报\",\"v\":\"播报\"},{\"n\":\"旅游\",\"v\":\"旅游\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"美食\",\"v\":\"美食\"},{\"n\":\"纪实\",\"v\":\"纪实\"},{\"n\":\"曲艺\",\"v\":\"曲艺\"},{\"n\":\"生活\",\"v\":\"生活\"},{\"n\":\"游戏互动\",\"v\":\"游戏互动\"},{\"n\":\"财经\",\"v\":\"财经\"},{\"n\":\"求职\",\"v\":\"求职\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"by\",\"name\":\"By\",\"value\":[{\"n\":\"按最新\",\"v\":\"time\"},{\"n\":\"按最热\",\"v\":\"hits\"},{\"n\":\"按评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":\"tid\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"欧美综艺\",\"v\":\"43\"},{\"n\":\"日本综艺\",\"v\":\"44\"},{\"n\":\"韩国综艺\",\"v\":\"45\"},{\"n\":\"国产综艺\",\"v\":\"46\"},{\"n\":\"新马泰综艺\",\"v\":\"47\"},{\"n\":\"港台综艺\",\"v\":\"48\"},{\"n\":\"其他综艺\",\"v\":\"49\"}]},{\"key\":\"class\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"version\",\"name\":\"版本\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"TV版\",\"v\":\"TV版\"},{\"n\":\"电影版\",\"v\":\"电影版\"},{\"n\":\"OVA版\",\"v\":\"OVA版\"},{\"n\":\"真人版\",\"v\":\"真人版\"}]},{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"by\",\"name\":\"By\",\"value\":[{\"n\":\"按最新\",\"v\":\"time\"},{\"n\":\"按最热\",\"v\":\"hits\"},{\"n\":\"按评分\",\"v\":\"score\"}]}],\"50\":[{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"by\",\"name\":\"By\",\"value\":[{\"n\":\"按最新\",\"v\":\"time\"},{\"n\":\"按最热\",\"v\":\"hits\"},{\"n\":\"按评分\",\"v\":\"score\"}]}],\"51\":[{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"by\",\"name\":\"By\",\"value\":[{\"n\":\"按最新\",\"v\":\"time\"},{\"n\":\"按最热\",\"v\":\"hits\"},{\"n\":\"按评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("div.conch-nav div ul li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("电视剧") || + name.equals("动漫") || + name.equals("综艺") || + name.equals("纪录片") || + name.equals("体育"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("ul.hl-vod-list").get(0); + Elements list = homeList.select("li.hl-list-item"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("div.hl-item-title a").text(); + String cover = vod.selectFirst(".hl-item-thumb").attr("data-original"); + String remark = vod.selectFirst(".hl-pic-text span").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst("div.hl-item-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/index.php/vod/show/id/"; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "/" + key + "/" + URLEncoder.encode(value); + } + } + } + url += "/page/" + pg + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.hl-page-wrap"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("li a"); + if (a == null) + continue; + String span = pageInfo.select("li a.active").text(); + String wy = doc.select("ul.hl-page-wrap li a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).trim()); + } else { + pageCount = 0; + } + break; + + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("li.hl-list-item"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("div.hl-item-title a").text(); + String cover = vod.selectFirst(".hl-item-thumb").attr("data-original"); + String remark = vod.selectFirst(".hl-pic-text span").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst("div.hl-item-title a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 24); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 24); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/index.php/vod/detail/id/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String vid = doc.selectFirst("a.digg_link").attr("data-id"); + + String cover = doc.selectFirst("div.hl-dc-pic span").attr("data-original"); + String title = doc.selectFirst("h2.hl-dc-title").text(); + String desc = doc.selectFirst("span.hl-content-text em").text(); + String category = "", area = "", year = "", director = "", actor = "", remark = ""; + Elements span_text_muted = doc.select("li.hl-col-xs-12 em"); + for (int i = 0; i < span_text_muted.size() - 2; i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.contains("类型")) { + try { + category = text.parent().select("a").text(); + } catch (Exception e) { + category = ""; + } + } else if (info.contains("年份")) { + try { + year = text.parent().text().split(":")[1]; + } catch (Exception e) { + year = ""; + } + } else if (info.contains("地区")) { + try { + area = text.parent().text().split(":")[1]; + } catch (Exception e) { + area = ""; + } + } else if (info.contains("上映")) { + try { + remark = text.text(); + } catch (Exception e) { + remark = ""; + } + } else if (info.contains("导演")) { + try { + director = text.parent().select("a").text(); + } catch (Exception e) { + director = ""; + } + } else if (info.contains("主演")) { + try { + actor = text.parent().select("a").text(); + } catch (Exception e) { + actor = ""; + } + } + } + + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.hl-plays-from a"); + Elements sourceList = doc.select("div.hl-list-wrap"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + sourceName = sourceName.replaceAll("[^\u4E00-\u9FA5]", ""); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("ul>li>a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "/sid/" + matcher.group(2) + "/nid/" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = siteUrl + "/index.php/vod/play/id/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", ""); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + if (title.contains(key)) { + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private static String doReplaceRegex(Pattern pattern, String src) { + if (pattern == null) + return src; + try { + Matcher matcher = pattern.matcher(src); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } +} diff --git a/TVBox_Java/spider/Imaple.java b/TVBox_Java/spider/Imaple.java new file mode 100644 index 0000000..7779054 --- /dev/null +++ b/TVBox_Java/spider/Imaple.java @@ -0,0 +1,465 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Demo for self study + *

    + * Source from Author: CatVod + */ + +public class Imaple extends Spider { + + private static final String siteUrl = "https://imaple.co/"; + private static final String siteHost = "imaple.co"; + + protected JSONObject playerConfig; + protected JSONObject filterConfig; + + protected Pattern regexCategory = Pattern.compile("/type/(\\S+).html"); + protected Pattern regexVid = Pattern.compile("/vod/(\\d+).html"); + protected Pattern regexPlay = Pattern.compile("/play/(\\d+)-(\\d+)-(\\d+).html"); + protected Pattern regexPage = Pattern.compile("\\S+/page/(\\d+)\\S+"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"kbm3u8\":{\"sh\":\"秒播雲\",\"sn\":0,\"pu\":\"\",\"or\":999},\"bjm3u8\":{\"sh\":\"八戒雲\",\"sn\":0,\"pu\":\"\",\"or\":999},\"605m3u8\":{\"sh\":\"光速雲\",\"sn\":0,\"pu\":\"\",\"or\":999},\"mlm3u8\":{\"sh\":\"藍光線一\",\"sn\":0,\"pu\":\"\",\"or\":999},\"alizy\":{\"sh\":\"藍光線三\",\"sn\":1,\"pu\":\"https://player.imaple.tv/player/?url=\",\"or\":999},\"dplayer\":{\"sh\":\"動漫專線\",\"sn\":1,\"pu\":\"https://player.imaple.tv/player/?url=\",\"or\":999},\"qdyun\":{\"sh\":\"驱动云\",\"sn\":0,\"pu\":\"\",\"or\":999},\"wjm3u8\":{\"sh\":\"理想雲\",\"sn\":0,\"pu\":\"\",\"or\":999},\"fanqie\":{\"sh\":\"番茄资源\",\"sn\":1,\"pu\":\"https://player.imaple.tv/player/?url=\",\"or\":999},\"youku\":{\"sh\":\"奇藝雲\",\"sn\":1,\"pu\":\"https://player.imaple.tv/player/?url=\",\"or\":999},\"qq\":{\"sh\":\"騰訊雲\",\"sn\":1,\"pu\":\"https://player.imaple.tv/player/?url=\",\"or\":999},\"mgtv\":{\"sh\":\"芒果雲\",\"sn\":1,\"pu\":\"https://player.imaple.tv/player/?url=\",\"or\":999},\"sohu\":{\"sh\":\"搜狐雲\",\"sn\":1,\"pu\":\"https://player.imaple.tv/player/?url=\",\"or\":999},\"88zym3u8\":{\"sh\":\"優雅雲\",\"sn\":1,\"pu\":\"https://player.imaple.tv/player/?url=\",\"or\":999},\"bilibili\":{\"sh\":\"嗶哩雲\",\"sn\":1,\"pu\":\"https://player.imaple.tv/player/?url=\",\"or\":999},\"dbm3u8\":{\"sh\":\"急速雲\",\"sn\":0,\"pu\":\"\",\"or\":999},\"tkm3u8\":{\"sh\":\"天空雲\",\"sn\":0,\"pu\":\"\",\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"動作片\",\"v\":\"6\"},{\"n\":\"喜劇片\",\"v\":\"7\"},{\"n\":\"愛情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"劇情片\",\"v\":\"11\"},{\"n\":\"戰爭片\",\"v\":\"12\"},{\"n\":\"紀錄片\",\"v\":\"20\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陸\",\"v\":\"大陸\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台灣\",\"v\":\"台灣\"},{\"n\":\"美國\",\"v\":\"美國\"},{\"n\":\"法國\",\"v\":\"法國\"},{\"n\":\"英國\",\"v\":\"英國\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韓國\",\"v\":\"韓國\"},{\"n\":\"德國\",\"v\":\"德國\"},{\"n\":\"泰國\",\"v\":\"泰國\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陸劇\",\"v\":\"13\"},{\"n\":\"港劇\",\"v\":\"14\"},{\"n\":\"台劇\",\"v\":\"15\"},{\"n\":\"日劇\",\"v\":\"16\"},{\"n\":\"韓劇\",\"v\":\"23\"},{\"n\":\"美劇\",\"v\":\"24\"},{\"n\":\"海外劇\",\"v\":\"25\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"港台綜藝\",\"v\":\"29\"},{\"n\":\"日韓綜藝\",\"v\":\"30\"},{\"n\":\"大陸綜藝\",\"v\":\"31\"},{\"n\":\"歐美綜藝\",\"v\":\"32\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"港台動漫\",\"v\":\"33\"},{\"n\":\"日韓動漫\",\"v\":\"34\"},{\"n\":\"大陸動漫\",\"v\":\"35\"},{\"n\":\"歐美動漫\",\"v\":\"36\"},{\"n\":\"海外動漫\",\"v\":\"37\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl + '/'; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements elements = doc.select("ul.myui-header__menu>li>a"); + JSONArray classes = new JSONArray(); + ArrayList allClass = new ArrayList<>(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = !filter || (name.equals("電影") || name.equals("電視劇") || name.equals("綜藝") || name.equals("動漫")); + if (allClass.contains(name)) + show = false; + if (show) { + allClass.add(name); + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("li.col-lg-6 >div.myui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".myui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/show/"; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "/" + key + "/" + URLEncoder.encode(value); + } + } + } + url += "/page/" + pg + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select(".myui-page li a"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element a = pageInfo.get(i); + String name = a.text(); + if (page == -1 && a.hasClass("btn-warm")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).trim()); + } else { + page = 0; + } + } + if (name.equals("尾頁")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).trim()); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("li.col-lg-6 >div.myui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".myui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/vod/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String vid = doc.selectFirst("span.mac_hits").attr("data-id"); + + String cover = doc.selectFirst("a.myui-vodlist__thumb img").attr("data-original"); + String title = doc.selectFirst("div.myui-content__detail h1.title").text(); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.myui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("分類:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地區:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("導演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.myui-panel__head>ul").get(0).select("li"); + Elements sourceList = doc.select("div.tab-content>div.tab-pane"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("ul>li>a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + headers.put("origin", " https://imaple.co"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + + + // 播放页 url + String url = siteUrl + "/play/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", headers.toString()); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Init.java b/TVBox_Java/spider/Init.java new file mode 100644 index 0000000..3337ace --- /dev/null +++ b/TVBox_Java/spider/Init.java @@ -0,0 +1,17 @@ +package com.github.catvod.spider; + + + + +import android.content.Context; + +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.demo.MainActivity; + +public class Init { + + + public static void init(Context context) { + SpiderDebug.log("自定义爬虫代码加载成功!"); + } +} diff --git a/TVBox_Java/spider/Juhi.java b/TVBox_Java/spider/Juhi.java new file mode 100644 index 0000000..8d33a94 --- /dev/null +++ b/TVBox_Java/spider/Juhi.java @@ -0,0 +1,472 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Juhi extends Spider { + + private static final String siteUrl = "https://www.juhi.cc/"; + private static final String siteHost = "juhi.cc"; + + protected JSONObject playerConfig; + protected JSONObject filterConfig; + + protected Pattern regexCategory = Pattern.compile("/vodtype/(\\d+)/"); + protected Pattern regexVid = Pattern.compile("/voddetail/(\\d+)/"); + protected Pattern regexPlay = Pattern.compile("/vodplay/(\\d+)-(\\d+)-(\\d+)/"); + protected Pattern regexPage = Pattern.compile("/vodshow/(\\S+)/"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"tkm3u8\":{\"sh\":\"✦剧嗨专线\",\"pu\":\"https://jx.huishij.com/yun/?url=\",\"sn\":1,\"or\":999},\"if101\":{\"sh\":\"✦蓝光超清\",\"pu\":\"\",\"sn\":0,\"or\":999},\"dbm3u8\":{\"sh\":\"北美高清①\",\"pu\":\"\",\"sn\":0,\"or\":999},\"dbyun\":{\"sh\":\"北美高清②\",\"pu\":\"\",\"sn\":0,\"or\":999},\"wjm3u8\":{\"sh\":\"北美高清③\",\"pu\":\"\",\"sn\":0,\"or\":999},\"kbm3u8\":{\"sh\":\"全球线路①\",\"pu\":\"\",\"sn\":0,\"or\":999},\"hnyun\":{\"sh\":\"全球线路②\",\"pu\":\"\",\"sn\":0,\"or\":999},\"hnm3u8\":{\"sh\":\"全球线路③\",\"pu\":\"\",\"sn\":0,\"or\":999},\"kbzy\":{\"sh\":\"全球线路④\",\"pu\":\"\",\"sn\":0,\"or\":999},\"fanqie\":{\"sh\":\"全球线路⑤\",\"pu\":\"\",\"sn\":0,\"or\":999},\"kuaiyun\":{\"sh\":\"快速线路\",\"pu\":\"https://qimihe.com/?url=\",\"sn\":1,\"or\":999},\"leyum3u8\":{\"sh\":\"午夜专线1\",\"pu\":\"\",\"sn\":0,\"or\":999},\"lym3u8\":{\"sh\":\"午夜专线2\",\"pu\":\"\",\"sn\":0,\"or\":999},\"dplayer\":{\"sh\":\"DPlayer-H5播放器\",\"pu\":\"\",\"sn\":0,\"or\":999},\"videojs\":{\"sh\":\"videojs-H5播放器\",\"pu\":\"\",\"sn\":0,\"or\":999},\"iva\":{\"sh\":\"iva-H5播放器\",\"pu\":\"\",\"sn\":0,\"or\":999},\"iframe\":{\"sh\":\"iframe外链数据\",\"pu\":\"\",\"sn\":0,\"or\":999},\"link\":{\"sh\":\"外链数据\",\"pu\":\"\",\"sn\":0,\"or\":999},\"swf\":{\"sh\":\"Flash文件\",\"pu\":\"\",\"sn\":0,\"or\":999},\"flv\":{\"sh\":\"Flv文件\",\"pu\":\"\",\"sn\":0,\"or\":999},\"bjyun\":{\"sh\":\"bjyun\",\"pu\":\"\",\"sn\":0,\"or\":999},\"bjm3u8\":{\"sh\":\"bjm3u8\",\"pu\":\"\",\"sn\":0,\"or\":999},\"wasu\":{\"sh\":\"华数直连\",\"pu\":\"\",\"sn\":0,\"or\":999},\"funshion\":{\"sh\":\"风行直连\",\"pu\":\"\",\"sn\":0,\"or\":999},\"pptv\":{\"sh\":\"PPTV直连\",\"pu\":\"https://jx.m3u8.tv/jiexi/?url=\",\"sn\":1,\"or\":999},\"letv\":{\"sh\":\"乐视直连\",\"pu\":\"https://jx.m3u8.tv/jiexi/?url=\",\"sn\":1,\"or\":999},\"mgtv\":{\"sh\":\"芒果直连\",\"pu\":\"https://jx.m3u8.tv/jiexi/?url=\",\"sn\":1,\"or\":999},\"youku\":{\"sh\":\"优酷直连\",\"pu\":\"https://jx.m3u8.tv/jiexi/?url=\",\"sn\":1,\"or\":999},\"qiyi\":{\"sh\":\"爱奇艺直连\",\"pu\":\"https://jx.m3u8.tv/jiexi/?url=\",\"sn\":1,\"or\":999},\"qq\":{\"sh\":\"腾讯直连\",\"pu\":\"https://jx.m3u8.tv/jiexi/?url=\",\"sn\":1,\"or\":999},\"m1905\":{\"sh\":\"M1905直连\",\"pu\":\"https://jx.m3u8.tv/jiexi/?url=\",\"sn\":1,\"or\":999},\"sohu\":{\"sh\":\"搜狐直连\",\"pu\":\"https://jx.m3u8.tv/jiexi/?url=\",\"sn\":1,\"or\":999}}"); + filterConfig = new JSONObject("{\"20\":[{\"key\":\"0\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"20\"},{\"n\":\"动作片\",\"v\":\"24\"},{\"n\":\"喜剧片\",\"v\":\"25\"},{\"n\":\"愛情片\",\"v\":\"26\"},{\"n\":\"科幻片\",\"v\":\"27\"},{\"n\":\"恐怖片\",\"v\":\"28\"},{\"n\":\"劇情片\",\"v\":\"11\"},{\"n\":\"戰爭片\",\"v\":\"30\"},{\"n\":\"动画电影\",\"v\":\"33\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"21\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产剧\",\"v\":\"34\"},{\"n\":\"港剧\",\"v\":\"35\"},{\"n\":\"韩剧\",\"v\":\"37\"},{\"n\":\"欧美剧\",\"v\":\"36\"},{\"n\":\"日本剧\",\"v\":\"38\"},{\"n\":\"台湾剧\",\"v\":\"39\"},{\"n\":\"海外剧\",\"v\":\"40\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"22\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"22\"},{\"n\":\"大陆综艺\",\"v\":\"41\"},{\"n\":\"港台综艺\",\"v\":\"42\"},{\"n\":\"日韩综艺\",\"v\":\"43\"},{\"n\":\"欧美综艺\",\"v\":\"44\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"23\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"23\"},{\"n\":\"国产动漫\",\"v\":\"45\"},{\"n\":\"日本动漫\",\"v\":\"46\"},{\"n\":\"欧美动漫\",\"v\":\"47\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.nav-menu > li > a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + //分类名 + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("电视剧") || + name.equals("综艺") || + name.equals("动漫"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("ul.myui-vodlist").get(0); + Elements list = homeList.select("li > div > a"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/vodshow/" + TextUtils.join("-", urlParams) + "/"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.myui-page>li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && a.hasClass("btn-warm")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("ul.myui-vodlist > li > div > a"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/voddetail/" + ids.get(0) + "/"; + //System.out.println(url); + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.myui-content__thumb > a > img").attr("src"); + String title = doc.selectFirst("div.myui-content__thumb > a").attr("title"); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.myui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("分类:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + //System.out.println(vodList.toString()); + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("ul.nav-btn > li > a"); + //System.out.println(sources.size()); + Elements sourceList = doc.select("div.tab-content > div"); + //System.out.println(sourceList.size()); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + //System.out.println(sources.text().split(":")[0].split("』")[1]); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("ul > li > a"); + //System.out.println(playListA.size()); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + //headers.put("origin", " https://juhi.cc"); + //headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + //headers.put("Accept", " */*"); + //headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + //headers.put("Accept-Encoding", " gzip, deflate, br"); + + + // 播放页 url + String url = siteUrl + "/vodplay/" + id + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + if (Misc.isVip(videoUrl)) { // 使用jx:1 + try { + result.put("parse", 1); + result.put("jx", "1"); + result.put("url", videoUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", headers.toString()); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + //Document doc = Jsoup.parse(srr.content); + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Juhuang.java b/TVBox_Java/spider/Juhuang.java new file mode 100644 index 0000000..1381ad5 --- /dev/null +++ b/TVBox_Java/spider/Juhuang.java @@ -0,0 +1,406 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + + +public class Juhuang extends Spider { + private static final String siteUrl = "https://juhuang.tv"; + private static final String siteHost = "juhuang.tv"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + + private Pattern regexCategory = Pattern.compile("/type/(\\d+)_type.html"); + private Pattern regexVid = Pattern.compile("/play/(\\d+)_play_\\d+_\\d+.html"); + private Pattern regexPlay = Pattern.compile("/play/(\\d+)_play_(\\d+)_(\\d+).html"); + private Pattern regexPage = Pattern.compile("/type/\\d+_type_(\\d+).html"); + + public void init(Context context) { + Juhuang.super.init(context); + try { + playerConfig = new JSONObject("{\"xg\":{\"sh\":\"xg播放器\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"dplayer\":{\"sh\":\"dplayer播放器\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"videojs\":{\"sh\":\"videojs-H5播放器\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"iva\":{\"sh\":\"iva-H5播放器\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"iframe\":{\"sh\":\"iframe外链数据\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"link\":{\"sh\":\"外链数据\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"swf\":{\"sh\":\"Flash文件\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"flv\":{\"sh\":\"Flv文件\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"plyr\":{\"sh\":\"plyr\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"H5player\":{\"sh\":\"H5player\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"playerjs\":{\"sh\":\"playerjs\",\"or\":999,\"sn\":0,\"pu\":\"\"},\"aliplayer\":{\"sh\":\"阿里播放器\",\"or\":999,\"sn\":0,\"pu\":\"\"}}"); + filterConfig = new JSONObject("{}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", "juhuang.tv"); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + public String homeContent(boolean filter) { + try{ + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.nav-menu-items > li > a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + //分类名 + String name = ele.text(); + boolean show = name.equals("Youtube精选") || + name.equals("剧集") || + name.equals("电影") || + name.equals("综艺") || + name.equals("动漫") || + name.equals("纪录片"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div[class='module-items']").get(1); + Elements list = homeList.select("div.module-item"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("div.module-item-cover > div.module-item-pic > a").attr("title"); + String cover = vod.selectFirst("div.module-item-cover > div.module-item-pic > img").attr("data-src"); + String remark = vod.selectFirst("div.module-item-text").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst("div.module-item-cover > div.module-item-pic > a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + int pageCount = 0; + int page = -1; + // 获取分类数据的url + String url = siteUrl + "/type/" + tid + "_type.html"; + + if (TextUtils.isEmpty(pg) || Integer.parseInt(pg.trim()) <= 1) { + page = 1; + } else { + url = siteUrl + String.format("/type/%s_type_%s.html", tid, pg); + page = Integer.parseInt(pg.trim()); + } + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + // 取页码相关信息 + Elements pageInfo = doc.select("div.module-footer >div[id=page] > a"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1)); + } else { + pageCount = 0; + } + break; + } + } + } + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("div.module-items>div"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("div.module-item-cover > div.module-item-pic > a").attr("title"); + String cover = vod.selectFirst("div.module-item-cover > div.module-item-pic > img").attr("data-src"); + String remark = ""; + Element remarkElement = vod.selectFirst("div.module-item-text"); + if (remarkElement != null) { + remark = remarkElement.text(); + } + Matcher matcher = regexVid.matcher(vod.selectFirst("div.module-item-cover > div.module-item-pic > a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/vod/" + ids.get(0) + "_vod.html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + // 取基本数据 + String cover = doc.selectFirst("div.module-item-pic > img").attr("data-src"); + String title = doc.selectFirst("div.video-info-header > h1.page-title").text(); + String desc = doc.select("p.zkjj_a").text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + // 取播放列表数据 + Elements sources = doc.select("div.module"); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.select("div.module-heading > h2.module-title").text(); + + String playList = ""; + Elements playListA = source.select("div.module-list > div.module-blocklist > div.scroll-content > a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + String href = vod.attr("href"); + String playURL = href.substring(6, href.indexOf(".html")); + vodItems.add(vod.select("span").text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + JSONObject headers = new JSONObject(); + //headers.put("Origin", " https://juhuang.tv"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + //headers.put("Accept", " */*"); + //headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + //headers.put("Accept-Encoding", " gzip, deflate"); + //headers.put("Referer", " https://juhuang.tv/"); + + // 播放页 url + String url = siteUrl + "/play/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_aaaa")) { + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + String jxurl = player.getString("url"); + if (player.has("encrypt")) { + int encrypt = player.getInt("encrypt"); + if (encrypt == 1) { + jxurl = URLDecoder.decode(jxurl); + } else if (encrypt == 2) { + jxurl = URLEncoder.encode(new String(Base64.decode(URLDecoder.decode(new String(Base64.decode(jxurl, 0))),0))); + } + } + String directUrl = "https://web-webapi-tsjqsvyzyx.cn-shenzhen.fcapp.run/?url=" + jxurl; + HashMap hashMap = new HashMap(); + hashMap.put("Referer", " https://juhuang.tv/"); + hashMap.put("Origin", " https://juhuang.tv"); + hashMap.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + result.put("url", new JSONObject(OkHttpUtil.string(directUrl, hashMap)).getString("play_url")); + result.put("parse", "0"); + result.put("playUrl", ""); + result.put("header", headers.toString()); + //result.put("header", "{\"User-Agent\", \" Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36\"}"); + } + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + String url = "https://so.juhuang.tv/soapi.php?&wd=" + URLEncoder.encode(key); + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("count") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("vod_id"); + String title = vod.getString("vod_name"); + String cover = vod.getString("vod_pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Jumi.java b/TVBox_Java/spider/Jumi.java new file mode 100644 index 0000000..1f3b010 --- /dev/null +++ b/TVBox_Java/spider/Jumi.java @@ -0,0 +1,466 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Demo for self study + *

    + * Source from Author: CatVod + */ + +public class Jumi extends Spider { + + private static final String siteUrl = "https://jumi.tv/"; + private static final String siteHost = "jumi.tv"; + + protected JSONObject playerConfig; + protected JSONObject filterConfig; + + protected Pattern regexCategory = Pattern.compile("/type/(\\S+).html"); + protected Pattern regexVid = Pattern.compile("/vod/(\\d+).html"); + protected Pattern regexPlay = Pattern.compile("/play/(\\d+)-(\\d+)-(\\d+).html"); + protected Pattern regexPage = Pattern.compile("\\S+/page/(\\d+)\\S+"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"mlm3u8\":{\"sh\":\"極速①線\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"alizy\":{\"sh\":\"極速③線\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"weiyun\":{\"sh\":\"1080P\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"dbm3u8\":{\"sh\":\"急速雲\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"tkm3u8\":{\"sh\":\"天空雲\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"wjm3u8\":{\"sh\":\"無盡雲\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"605m3u8\":{\"sh\":\"光速雲\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"kbm3u8\":{\"sh\":\"秒播雲\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"bjm3u8\":{\"sh\":\"八戒雲\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"hnm3u8\":{\"sh\":\"紅牛雲\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"bdxm3u8\":{\"sh\":\"北鬥雲\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"youku\":{\"sh\":\"優酷雲\",\"sn\":1,\"pu\":\"https://www.mgtv.com.jumi.tv/player/?url=\",\"or\":999},\"mgtv\":{\"sh\":\"芒果雲\",\"sn\":1,\"pu\":\"https://www.mgtv.com.jumi.tv/player/?url=\",\"or\":999},\"88zym3u8\":{\"sh\":\"88雲\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"qiyi\":{\"sh\":\"奇藝雲\",\"sn\":1,\"pu\":\"https://www.mgtv.com.jumi.tv/player/?url=\",\"or\":999},\"dplayer\":{\"sh\":\"動漫專線\",\"sn\":1,\"pu\":\"https://jx.parwix.com:4433/aliplayer/?url=\",\"or\":999},\"qq\":{\"sh\":\"騰訊雲\",\"sn\":1,\"pu\":\"https://www.mgtv.com.jumi.tv/player/?url=\",\"or\":999},\"bilibili\":{\"sh\":\"嗶哩雲\",\"sn\":1,\"pu\":\"https://www.mgtv.com.jumi.tv/player/?url=\",\"or\":999},\"sohu\":{\"sh\":\"搜狐雲\",\"sn\":1,\"pu\":\"https://www.mgtv.com.jumi.tv/player/?url=\",\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"動作片\",\"v\":\"6\"},{\"n\":\"喜劇片\",\"v\":\"7\"},{\"n\":\"愛情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"劇情片\",\"v\":\"11\"},{\"n\":\"戰爭片\",\"v\":\"12\"},{\"n\":\"紀錄片\",\"v\":\"20\"}]},{\"key\":\"class\",\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"驚悚\",\"v\":\"驚悚\"},{\"n\":\"懸疑\",\"v\":\"懸疑\"},{\"n\":\"魔幻\",\"v\":\"魔幻\"},{\"n\":\"罪案\",\"v\":\"罪案\"},{\"n\":\"災難\",\"v\":\"災難\"},{\"n\":\"動畫\",\"v\":\"動畫\"},{\"n\":\"古裝\",\"v\":\"古裝\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"歌舞\",\"v\":\"歌舞\"},{\"n\":\"文藝\",\"v\":\"文藝\"},{\"n\":\"生活\",\"v\":\"生活\"},{\"n\":\"歷史\",\"v\":\"歷史\"},{\"n\":\"勵志\",\"v\":\"勵志\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"愛情\",\"v\":\"愛情\"},{\"n\":\"喜劇\",\"v\":\"喜劇\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"動作\",\"v\":\"動作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"劇情\",\"v\":\"劇情\"},{\"n\":\"戰爭\",\"v\":\"戰爭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"武俠\",\"v\":\"武俠\"},{\"n\":\"冒險\",\"v\":\"冒險\"},{\"n\":\"經典\",\"v\":\"經典\"},{\"n\":\"兒童\",\"v\":\"兒童\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陸\",\"v\":\"大陸\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台灣\",\"v\":\"台灣\"},{\"n\":\"美國\",\"v\":\"美國\"},{\"n\":\"法國\",\"v\":\"法國\"},{\"n\":\"英國\",\"v\":\"英國\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韓國\",\"v\":\"韓國\"},{\"n\":\"德國\",\"v\":\"德國\"},{\"n\":\"泰國\",\"v\":\"泰國\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"陸劇\",\"v\":\"13\"},{\"n\":\"港劇\",\"v\":\"14\"},{\"n\":\"台劇\",\"v\":\"22\"},{\"n\":\"日劇\",\"v\":\"15\"},{\"n\":\"韓劇\",\"v\":\"23\"},{\"n\":\"美劇\",\"v\":\"16\"},{\"n\":\"海外劇\",\"v\":\"24\"}]},{\"key\":\"class\",\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"言情\",\"v\":\"言情\"},{\"n\":\"都市\",\"v\":\"都市\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"生活\",\"v\":\"生活\"},{\"n\":\"偶像\",\"v\":\"偶像\"},{\"n\":\"喜劇\",\"v\":\"喜劇\"},{\"n\":\"歷史\",\"v\":\"歷史\"},{\"n\":\"古裝\",\"v\":\"古裝\"},{\"n\":\"武俠\",\"v\":\"武俠\"},{\"n\":\"刑偵\",\"v\":\"刑偵\"},{\"n\":\"戰爭\",\"v\":\"戰爭\"},{\"n\":\"神話\",\"v\":\"神話\"},{\"n\":\"軍旅\",\"v\":\"軍旅\"},{\"n\":\"諜戰\",\"v\":\"諜戰\"},{\"n\":\"商戰\",\"v\":\"商戰\"},{\"n\":\"校園\",\"v\":\"校園\"},{\"n\":\"穿越\",\"v\":\"穿越\"},{\"n\":\"懸疑\",\"v\":\"懸疑\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"愛情\",\"v\":\"愛情\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陸\",\"v\":\"大陸\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台灣\",\"v\":\"台灣\"},{\"n\":\"美國\",\"v\":\"美國\"},{\"n\":\"法國\",\"v\":\"法國\"},{\"n\":\"英國\",\"v\":\"英國\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韓國\",\"v\":\"韓國\"},{\"n\":\"德國\",\"v\":\"德國\"},{\"n\":\"泰國\",\"v\":\"泰國\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":\"class\",\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"选秀\",\"v\":\"选秀\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"访谈\",\"v\":\"访谈\"},{\"n\":\"播报\",\"v\":\"播报\"},{\"n\":\"旅游\",\"v\":\"旅游\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"美食\",\"v\":\"美食\"},{\"n\":\"纪实\",\"v\":\"纪实\"},{\"n\":\"曲艺\",\"v\":\"曲艺\"},{\"n\":\"生活\",\"v\":\"生活\"},{\"n\":\"游戏互动\",\"v\":\"游戏互动\"},{\"n\":\"财经\",\"v\":\"财经\"},{\"n\":\"求职\",\"v\":\"求职\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":\"class\",\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产\",\"v\":\"国产\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl + '/'; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements elements = doc.select("ul.nav-menu>li>a"); + JSONArray classes = new JSONArray(); + ArrayList allClass = new ArrayList<>(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = !filter || (name.equals("電影") || name.equals("劇集") || name.equals("綜藝") || name.equals("動漫")); + if (allClass.contains(name)) + show = false; + if (show) { + allClass.add(name); + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("div.col-lg-wide-75 > ul.myui-vodlist li div.myui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".myui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/show/"; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "/" + key + "/" + URLEncoder.encode(value); + } + } + } + url += "/page/" + pg + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select(".myui-page li a"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element a = pageInfo.get(i); + String name = a.text(); + if (page == -1 && a.hasClass("btn-warm")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).trim()); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).trim()); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("ul.myui-vodlist li div.myui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".myui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/vod/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String vid = doc.selectFirst("span.mac_hits").attr("data-id"); + + String cover = doc.selectFirst("a.myui-vodlist__thumb img").attr("data-original"); + String title = doc.selectFirst("div.myui-content__detail h1.title").text(); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.myui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("分类:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.myui-panel__head>ul").get(0).select("li"); + Elements sourceList = doc.select("div.tab-content>div.tab-pane"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("ul>li>a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + headers.put("origin", " https://jumi.tv"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + headers.put("referer", " https://jumi.tv/"); + + + // 播放页 url + String url = siteUrl + "/play/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", headers.toString()); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Kmys.java b/TVBox_Java/spider/Kmys.java new file mode 100644 index 0000000..3743625 --- /dev/null +++ b/TVBox_Java/spider/Kmys.java @@ -0,0 +1,567 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.content.SharedPreferences; +import android.net.Uri; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.net.URLEncoder; +import java.security.KeyFactory; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.X509EncodedKeySpec; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.crypto.Cipher; + +import okhttp3.Call; +import okhttp3.Headers; +import okhttp3.Response; + +/** + * Author: @SDL + */ +public class Kmys extends Spider { + private String apiDomain = ""; + private String staticDomain = ""; + + private String appId = "4"; // 飞瓜 1 酷猫 5 暗影 4 + + private String device = "1a7348ae45f8f6de4d798614fc07e7271657392501986"; + + @Override + public void init(Context context) { + super.init(context); + SharedPreferences sharedPreferences = context.getSharedPreferences("sp_Kmys", Context.MODE_PRIVATE); + try { + device = sharedPreferences.getString("device", null); + } catch (Throwable th) { + } finally { + if (device == null) { + device = Misc.MD5(UUID.randomUUID().toString(), Misc.CharsetUTF8).toLowerCase(); + sharedPreferences.edit().putString("device", device).commit(); + } + } + } + + private HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("versionNumber", "360"); + headers.put("versionName", "3.6.0"); + headers.put("device", device); + headers.put("ed", device); + headers.put("appId", appId); + headers.put("platformId", "7"); + headers.put("User-Agent", "okhttp/3.14.7"); + return headers; + } + + private void checkDomain() { + if (staticDomain.isEmpty()) { + String url = "http://feigua2021.oss-cn-beijing.aliyuncs.com/static/config/video/" + appId + ".json"; + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "okhttp/3.14.7"); + headers.put("ed", device); + String json = OkHttpUtil.string(url, headers); + try { + JSONObject obj = new JSONObject(json); + apiDomain = obj.getString("apiDomain"); + staticDomain = obj.getString("staticDomain"); + } catch (JSONException e) { + e.printStackTrace(); + } + } + } + + @Override + public String homeContent(boolean filter) { + try { + checkDomain(); + String url = staticDomain + "/static/" + appId + "/config/lib-new.json"; + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject jsonObject = new JSONObject(content).getJSONObject("data"); + + JSONArray years = jsonObject.getJSONArray("year"); + JSONArray types = jsonObject.getJSONArray("types"); + + JSONArray classes = new JSONArray(); + JSONObject filterConfig = new JSONObject(); + + for (int i = 0; i < types.length(); i++) { + JSONObject item = types.getJSONObject(i); + String typeId = item.getString("typeId").trim(); + if (typeId.isEmpty()) + continue; + String typeName = item.getString("typeName"); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", typeId); + newCls.put("type_name", typeName); + classes.put(newCls); + + JSONArray tags = item.getJSONArray("tags"); + JSONArray extendsAll = new JSONArray(); + // 类型 + JSONObject newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "type"); + newTypeExtend.put("name", "类型"); + JSONArray newTypeExtendKV = new JSONArray(); + JSONObject kv = new JSONObject(); + kv.put("n", "全部"); + kv.put("v", "-1"); + newTypeExtendKV.put(kv); + for (int j = 0; j < tags.length(); j++) { + JSONObject child = tags.getJSONObject(j); + kv = new JSONObject(); + kv.put("n", child.getString("typeName")); + kv.put("v", child.getString("typeId")); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + // 排序 + newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "sort"); + newTypeExtend.put("name", "排序"); + newTypeExtendKV = new JSONArray(); + kv = new JSONObject(); + kv.put("n", "最热"); + kv.put("v", "2"); + newTypeExtendKV.put(kv); + kv = new JSONObject(); + kv.put("n", "最新"); + kv.put("v", "1"); + newTypeExtendKV.put(kv); + kv = new JSONObject(); + kv.put("n", "好评"); + kv.put("v", "3"); + newTypeExtendKV.put(kv); + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + // 地区 + JSONArray regions = item.getJSONArray("children"); + newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "area"); + newTypeExtend.put("name", "地区"); + newTypeExtendKV = new JSONArray(); + kv = new JSONObject(); + kv.put("n", "全部"); + kv.put("v", "-1"); + newTypeExtendKV.put(kv); + for (int j = 0; j < regions.length(); j++) { + JSONObject child = regions.getJSONObject(j); + kv = new JSONObject(); + kv.put("n", child.getString("typeName")); + kv.put("v", child.getString("typeId")); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + + // 年份 + newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "year"); + newTypeExtend.put("name", "年份"); + newTypeExtendKV = new JSONArray(); + kv = new JSONObject(); + kv.put("n", "全部"); + kv.put("v", "-1"); + newTypeExtendKV.put(kv); + for (int j = 0; j < years.length(); j++) { + String year = years.getString(j).trim(); + if (year.isEmpty()) + continue; + kv = new JSONObject(); + kv.put("n", year); + kv.put("v", year); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + filterConfig.put(typeId, extendsAll); + } + JSONObject result = new JSONObject(); + result.put("class", classes); + if (filter) { + result.put("filters", filterConfig); + } + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String homeVideoContent() { + try { + checkDomain(); + String url = staticDomain + "/static/" + appId + "/index/cloumn/1.json"; + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject jsonObject = new JSONObject(content).getJSONObject("data"); + JSONArray list = jsonObject.getJSONArray("list"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.length(); i++) { + JSONArray videoList = list.getJSONObject(i).getJSONArray("videoList"); + for (int j = 0; j < videoList.length(); j++) { + JSONObject vObj = videoList.getJSONObject(j); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("vodName")); + v.put("vod_pic", fixUrl(vObj.getString("vodPicThumb"))); + v.put("vod_remarks", vObj.getString("lastName")); + videos.put(v); + } + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + checkDomain(); + JSONObject result = new JSONObject(); + + String url = apiDomain + "/videolibrary/v2/" + appId + "/" + tid; + extend = extend == null ? new HashMap<>() : extend; + if (!extend.containsKey("area")) { + extend.put("area", "-1"); + } + if (!extend.containsKey("type")) { + extend.put("type", "-1"); + } + if (!extend.containsKey("sort")) { + extend.put("sort", "2"); + } + if (!extend.containsKey("year")) { + extend.put("year", "-1"); + } + url += "/" + extend.get("area"); + url += "/" + extend.get("type"); + url += "/" + extend.get("sort"); + url += "/-1"; + url += "/" + extend.get("year"); + url += "/-1/" + pg + ".json"; + + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject jsonObject = new JSONObject(content).getJSONObject("data"); + JSONArray jsonArray = jsonObject.getJSONArray("list"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("vodName")); + v.put("vod_pic", fixUrl(vObj.getString("vodPicThumb"))); + v.put("vod_remarks", vObj.getString("lastName")); + videos.put(v); + } + + int total = jsonObject.getInt("count"); + int limit = jsonObject.getInt("pageSize"); + int totalPg = total % limit == 0 ? (total / limit) : (total / limit + 1); + result.put("page", jsonObject.getInt("pageIndex")); + result.put("pagecount", totalPg); + result.put("limit", limit); + result.put("total", total); + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + checkDomain(); + JSONObject result = new JSONObject(); + String url = staticDomain + "/static/video/detail/" + ids.get(0) + ".json"; + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject jsonObject = new JSONObject(content).getJSONObject("data"); + JSONObject vodList = new JSONObject(); + vodList.put("vod_id", jsonObject.getString("id")); + vodList.put("vod_name", jsonObject.getString("vodName")); + vodList.put("vod_pic", fixUrl(jsonObject.getString("vodPic"))); + vodList.put("type_name", jsonObject.getString("typeName")); + vodList.put("vod_year", jsonObject.getString("vodYear")); + vodList.put("vod_area", jsonObject.getString("vodArea")); + vodList.put("vod_remarks", ""); + vodList.put("vod_actor", jsonObject.getString("vodActor")); + vodList.put("vod_director", ""); + vodList.put("vod_content", jsonObject.getString("vodBlurb")); + + String vodPlayUrl = jsonObject.getString("vodPlayUrl"); + vodPlayUrl = rsa(vodPlayUrl.substring(0, 10) + vodPlayUrl.substring(16)); + + ArrayList playFrom = new ArrayList<>(); + ArrayList playList = new ArrayList<>(); + + JSONArray playSource = new JSONArray(vodPlayUrl); + for (int i = 0; i < playSource.length(); i++) { + JSONObject item = playSource.getJSONObject(i); + String srcName = item.getString("name"); + boolean userProxy = srcName.equals("高速线路"); + ArrayList urls = new ArrayList<>(); + JSONArray playUrls = item.getJSONArray("list"); + for (int j = 0; j < playUrls.length(); j++) { + JSONObject urlObj = playUrls.getJSONObject(j); + if (userProxy) + urls.add(urlObj.getString("name") + "$" + Proxy.localProxyUrl() + "?do=kmys&type=m3u8&url=" + Base64.encodeToString(urlObj.getString("url").getBytes(Misc.CharsetUTF8), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP) + ".." + urlObj.getInt("isParse")); + else + urls.add(urlObj.getString("name") + "$" + urlObj.getString("url") + ".." + urlObj.getInt("isParse")); + } + if (urls.isEmpty()) + continue; + playFrom.add(srcName); + playList.add(TextUtils.join("#", urls)); + } + + String vod_play_from = TextUtils.join("$$$", playFrom); + String vod_play_url = TextUtils.join("$$$", playList); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + JSONObject result = new JSONObject(); + String[] info = id.split("\\.\\."); + String url = info[0]; + int isParse = Integer.parseInt(info[1]); + if (isParse == 2) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", url); + } else { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", url); + } + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + checkDomain(); + JSONObject result = new JSONObject(); + String url = apiDomain + "/api/v2/index/search?pageIndex=1&wd=" + URLEncoder.encode(key) + "&limit=10&type=1"; + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONArray videos = new JSONArray(); + JSONObject jsonObject = new JSONObject(content).getJSONObject("data"); + JSONArray jsonArray = jsonObject.getJSONArray("list"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + String title = vObj.getString("vodName"); + if (!title.contains(key)) + continue; + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", title); + v.put("vod_pic", fixUrl(vObj.getString("vodPicThumb"))); + v.put("vod_remarks", vObj.getString("lastName")); + videos.put(v); + } + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + protected String fixUrl(String src) { + try { + if (src.startsWith("//")) { + Uri parse = Uri.parse(staticDomain); + src = parse.getScheme() + ":" + src; + } else if (!src.contains("://")) { + Uri parse = Uri.parse(staticDomain); + if (!src.startsWith("/")) + src = "/" + src; + src = parse.getScheme() + "://" + parse.getHost() + src; + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } + + String rsa(String in) { + try { + RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(Base64.decode("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3VLHgbkFN0ebMaR4e0D\n" + + "z6Z2mFexPBFKGqK0tuRhzu7XOrG92nKWfnublf2p1i22UN81whBLINjMttOuqW6\n" + + "fM9DCnAPTelud1zCXWYWIsv5Z19inJSG8vytJ7xg1dnfuRSRUkx11IE7bm0T/sM\n" + + "0sI4GgcktQJNSizyirHtuJjUUxxQabEhFkFeqQ5r+A69KjB5QkotCc4pG5lENyT\n" + + "ARHGSsfaiJthaiH0yJ/8tUlyMgJ9H6/jbQg0wlLcEUzdfe2KuCPrTRzIzx4Cjm1\n" + + "JogT6JV2byvXpzAMC3O48LDiekJdVztg2Cj7E0cGrOsGs+IK6F7TWsKD/cIELTF\n" + + "hLz6dExQIDAQAB", Base64.DEFAULT))); + Cipher cipher = Cipher.getInstance("RSA/None/PKCS1Padding"); + cipher.init(Cipher.DECRYPT_MODE, pubKey); + byte[] inData = Base64.decode(in, Base64.DEFAULT); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + if (inData.length <= 256) { + outputStream.write(cipher.doFinal(inData)); + } else { + for (int i = 0; i < inData.length; i += 256) { + outputStream.write(cipher.doFinal(inData, i, 256)); + } + } + outputStream.flush(); + String result = new String(outputStream.toByteArray(), Misc.CharsetUTF8); + outputStream.close(); + return result; + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } + + private static HashMap kmysPlayerHeaders = null; + private static String signPlayerStr = "700a4cce35"; + private static final Pattern tsRex = Pattern.compile("(\\S+.ts)|(#EXT-X-KEY:\\S+\")(\\S+)(\")"); + + static String subUrl(String url) { + if (url.startsWith("http://")) { + return url.substring(0, url.substring(7).indexOf(47) + 7); + } + String tmp = url.startsWith("https://") ? url.substring(0, url.substring(8).indexOf(47) + 8) : ""; + return url.substring(tmp.length()); + } + + static Object[] getVodContent(String m3u8) { + Uri uri = Uri.parse(m3u8); + String time = String.valueOf(System.currentTimeMillis()); + String key = Misc.MD5(subUrl(m3u8) + signPlayerStr + time, Misc.CharsetUTF8).toLowerCase(); + String realUrl = m3u8 + "?key=" + key + "&v=360&i=5&p=7&ed=1a7348ae45f8f6de4d798614fc07e7271657392501986&time=" + time; + String m3u8Content = OkHttpUtil.string(realUrl, kmysPlayerHeaders); + String tsUrl = m3u8.substring(0, m3u8.indexOf(uri.getLastPathSegment())); + StringBuilder sb = new StringBuilder(); + int start = 0; + Matcher matcher = tsRex.matcher(m3u8Content); + while (matcher.find()) { + sb.append(m3u8Content, start, matcher.start()); + if (matcher.group().contains("EXT-X-KEY")) { + String keyRealUrl = Proxy.localProxyUrl() + "?do=kmys&type=key&url=" + Base64.encodeToString((tsUrl + matcher.group(3)).getBytes(Misc.CharsetUTF8), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP); + sb.append(matcher.group(2) + keyRealUrl + matcher.group(4)); + } else { + String tsRealUrl = Proxy.localProxyUrl() + "?do=kmys&type=ts&url=" + Base64.encodeToString((tsUrl + matcher.group(1)).getBytes(Misc.CharsetUTF8), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP); + sb.append(tsRealUrl); + } + start = matcher.end(); + } + sb.append(m3u8Content, start, m3u8Content.length()); + String type = "application/octet-stream"; + Object[] result = new Object[3]; + result[0] = 200; + result[1] = type; + ByteArrayInputStream baos = new ByteArrayInputStream(sb.toString().getBytes(Misc.CharsetUTF8)); + result[2] = baos; + return result; + } + + static Object[] getKeyContent(String key) { + String time = String.valueOf(System.currentTimeMillis()); + String md5 = Misc.MD5(subUrl(key) + signPlayerStr + time, Misc.CharsetUTF8).toLowerCase(); + String realUrl = key + "?key=" + md5 + "&v=360&i=5&p=7&ed=1a7348ae45f8f6de4d798614fc07e7271657392501986&time=" + time; + String keyContent = OkHttpUtil.string(realUrl, kmysPlayerHeaders); + String type = "application/octet-stream"; + Object[] result = new Object[3]; + result[0] = 200; + result[1] = type; + ByteArrayInputStream baos = new ByteArrayInputStream(keyContent.getBytes(Misc.CharsetUTF8)); + result[2] = baos; + return result; + } + + static Object[] getTsContent(String ts) { + String time = String.valueOf(System.currentTimeMillis()); + String key = Misc.MD5(subUrl(ts) + signPlayerStr + time, Misc.CharsetUTF8).toLowerCase(); + String realUrl = ts + "?key=" + key + "&v=360&i=5&p=7&ed=1a7348ae45f8f6de4d798614fc07e7271657392501986&time=" + time; + OKCallBack.OKCallBackDefault callBack = new OKCallBack.OKCallBackDefault() { + + + @Override + public void onFailure(Call call, Exception e) { + + } + + @Override + public void onResponse(Response response) { + } + }; + OkHttpUtil.get(OkHttpUtil.defaultClient(), realUrl, null, kmysPlayerHeaders, callBack); + if (callBack.getResult().code() == 200) { + Headers headers = callBack.getResult().headers(); + String type = headers.get("Content-Type"); + if (type == null) { + type = "application/octet-stream"; + } + Object[] result = new Object[3]; + result[0] = 200; + result[1] = type; + result[2] = callBack.getResult().body().byteStream(); + return result; + } + return null; + } + + public static Object[] vod(Map params) { + String type = params.get("type"); + String url = params.get("url"); + url = new String(Base64.decode(url, Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP), Misc.CharsetUTF8); + if (kmysPlayerHeaders == null) { + kmysPlayerHeaders = new HashMap<>(); + kmysPlayerHeaders.put("User-Agent", "okhttp/3.14.7"); + kmysPlayerHeaders.put("ed", "1a7348ae45f8f6de4d798614fc07e7271657392501986"); + kmysPlayerHeaders.put("Connection", "close"); + } + if (type.equals("m3u8")) { + return getVodContent(url); + } else if (type.equals("key")) { + return getKeyContent(url); + } else if (type.equals("ts")) { + return getTsContent(url); + } + return null; + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/Kuaikan.java b/TVBox_Java/spider/Kuaikan.java new file mode 100644 index 0000000..2f47a15 --- /dev/null +++ b/TVBox_Java/spider/Kuaikan.java @@ -0,0 +1,681 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.content.SharedPreferences; +import android.text.TextUtils; +import android.util.Base64; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.io.ByteArrayOutputStream; +import java.security.KeyFactory; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.PrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.UUID; +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import okhttp3.Call; +import okhttp3.OkHttpClient; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class Kuaikan extends Spider { + private static String Cb; + private static long QH; + private static String dW; + private HashMap> Ji = new HashMap<>(); + + private void Q() { + if (System.currentTimeMillis() > QH) { + try { + JSONObject jSONObject = new JSONObject(); + long currentTimeMillis = System.currentTimeMillis() / 1000; + String f = f("bf70a456195ae394184b2e0b1b471cae1000300001dc431681b806089dac1153fb13960f87" + currentTimeMillis + "notice"); + jSONObject.put("appId", "1000300001"); + jSONObject.put("sign", f); + jSONObject.put("timestamp", currentTimeMillis); + String O = Decrypt("bf70a456195ae394", "184b2e0b1b471cae", jSONObject.toString()); + String tg = tg("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDitX/rWP6WWc3h\nDzUcfD8Hbw79yCB7rz18GEkjDapjlUVIa3P8FEQFoOchu7N+vdK6HQNsl2Bql4lv\nWOYuzRWNbLGQ7mNtMca28iCuPHck0AcJzOs9F6qruPL73eY7Ai7yvzs2IfEdyXSz\nHP/yXgEOi5ZEBfsBZEPMJw6vfHJVueuD/lh/LkoJ/gXEKMCM/pkIzGpBPd2TsIg8\nZdvOGMPy+MOnJb1Qfe0y3QQdc5VPVdZFWoWsM9RAenHmE3d1THb+uNZZZcnM1tV7\nxYgBbIhgHtXAZnWDWDRBM3xJPR3O9dfBHHt/tbyrZrSwK1IgwFgqfYm/tRbmp4y/\n1DhIF6mDAgMBAAECggEAIzDjS2gEFNiZ0a6nouVSb1f47sHq8OgR1jp619seMNkR\n6Rzs4xtON8VzO1REl47lsAgi6O9SgxlEtykIiglBqDNQGNw4SNHqM6nAEuvF3sv/\n27CYb2JGFuPdq+UVAOHk4b93dH6uS95ipA8DV97psRVP3P1EqkGjGISTjf/2S4IG\n10Q0UhP4xxiRS2iCtaIq0fbvnrChqYRlYQYpkkRCCH+Q4FNKquSsqmWyCu5yfeQM\nMek+aT9KgvmCh05UCeqC1x7xPtSneNbpJpLD5zW8CcG7EYFDtIP8b9BPDlud47ZH\n5Y4/wyQQFHHLOaniTJVvEJZ7cIoXy2gOhvgcHpNryQKBgQDxNNtXnCfVK0JYNhnU\n5WCOX9NeW9Q79HldhTM5/EqsjA5H21j5S7A/duBSRfX7iou1hyXaa2p+J7rxF9sj\nNlwHPsKhprskxXaHJ7qU84gSmwORsTQQPmtTsizGwVsM330+Q2ZROaSEfDoUqH9+\nKBKs6K+FOldcTOrCZ+ILk8werwKBgQDwnQUrKATzRThVdD6Hcgt/F/SAizDmvtiT\nVvRcGkiV3EtB5Rx8zFNJ9GWrqSAArwIxTWgfYCYsvpUjbJW02Mg0Ufj2+YhjT713\nO9yViwUq996St9eLwGQO5FDMD8FYi7bRAiZEAeAeIEeveDRsNK15++8VVJVo7b2l\nzcapp5k3bQKBgQDSiJNHRhqSet6+xgIIDGoZ+1Qv0TFPX5UrZt8OpsK7FshEOhXQ\nCxt8WZN03HHXK9fEC4GjwwxBrwYB+BOjCYiMHmCd3j0M3HoXgDrgViyYKMuVuDk8\nUG83r5ZbqVuCwfO8i/HbxddueEvtyiD2CZ47ZCIHxKOKAe0K4Mex2UBaKwKBgQDi\nrEouOelP9Kn5dyVhHENQXBTu9DIBb1FAnO5fxjMTWxFa5qhLuYHNbfxKF24atsRu\nBepNhJryFCkT0jvGv2L8Ry0wHiwqwvhO14obJ3ia3iBEQAVDlt+sV9L2KvGOpTB4\n/nlmIA4u02I1IBziw02aWYkGo0SOMUo0ZQL+2PEykQKBgAV1uqiJlWuA9uPdFFJP\nZPL2YoOuTWdWfIwIb/UdsbUuTckCgqPIqUPi3HhiVSunOgcO7HWK3GD3j8k4XEbW\nG4y+Ik0lLrWzBl728tZe1GENzTf8aapElHlUfFSM4OlrTRBsbMOsQBcJNh7QbyoZ\nBHiZZTbRUY6xUR4DGYkCOksF", "bf70a456195ae394184b2e0b1b471cae"); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("body", O); + jSONObject2.put("ticket", tg); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "http://ctlook.facaishiyi.com/api/v1/user/login.do", jSONObject2.toString(), j(currentTimeMillis), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + JSONObject jSONObject3 = new JSONObject(str); + String lX = Kuaikan.this.lX("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiYJ5UFjeEgeUi5ynLKhj5EMF0\n3sawTyAKoPbfUCSZZQ5QdrHhrINggrYxDtB/TWXoqSF+BJP85F0vq8B6gOqFWhK/\n1PIKe2wKlRRuZSOdUzK/3vzRHmR3J3KGrvNzvwARH8gg8xZjbsalc/gBkcVxSxGd\n8j8rJ4QhOSFh9F8B2wIDAQAB", jSONObject3.getString("ticket")); + JSONObject jSONObject4 = new JSONObject(Kuaikan.this.UO(lX.substring(0, 16), lX.substring(16, 32), jSONObject3.getString("body"))); + long unused = Kuaikan.QH = jSONObject4.getLong("duration") * 1000; + String unused2 = Kuaikan.Cb = jSONObject4.getString("data"); + Kuaikan.this.Uf(); + } catch (JSONException e) { + } + } + }); + } catch (Throwable th) { + th.printStackTrace(); + } + } + } + + public void Uf() { + try { + JSONObject jSONObject = new JSONObject(); + long currentTimeMillis = System.currentTimeMillis() / 1000; + String f = f("1000300001dc431681b806089dac1153fb13960f8700" + dW + currentTimeMillis + "notice"); + jSONObject.put("adv", 0); + jSONObject.put("appId", "1000300001"); + jSONObject.put("nav", 0); + jSONObject.put("sign", f); + jSONObject.put("timestamp", currentTimeMillis); + jSONObject.put("umId", dW); + String O = Decrypt(Cb.substring(0, 16), Cb.substring(16, 32), jSONObject.toString()); + String tg = tg("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDitX/rWP6WWc3h\nDzUcfD8Hbw79yCB7rz18GEkjDapjlUVIa3P8FEQFoOchu7N+vdK6HQNsl2Bql4lv\nWOYuzRWNbLGQ7mNtMca28iCuPHck0AcJzOs9F6qruPL73eY7Ai7yvzs2IfEdyXSz\nHP/yXgEOi5ZEBfsBZEPMJw6vfHJVueuD/lh/LkoJ/gXEKMCM/pkIzGpBPd2TsIg8\nZdvOGMPy+MOnJb1Qfe0y3QQdc5VPVdZFWoWsM9RAenHmE3d1THb+uNZZZcnM1tV7\nxYgBbIhgHtXAZnWDWDRBM3xJPR3O9dfBHHt/tbyrZrSwK1IgwFgqfYm/tRbmp4y/\n1DhIF6mDAgMBAAECggEAIzDjS2gEFNiZ0a6nouVSb1f47sHq8OgR1jp619seMNkR\n6Rzs4xtON8VzO1REl47lsAgi6O9SgxlEtykIiglBqDNQGNw4SNHqM6nAEuvF3sv/\n27CYb2JGFuPdq+UVAOHk4b93dH6uS95ipA8DV97psRVP3P1EqkGjGISTjf/2S4IG\n10Q0UhP4xxiRS2iCtaIq0fbvnrChqYRlYQYpkkRCCH+Q4FNKquSsqmWyCu5yfeQM\nMek+aT9KgvmCh05UCeqC1x7xPtSneNbpJpLD5zW8CcG7EYFDtIP8b9BPDlud47ZH\n5Y4/wyQQFHHLOaniTJVvEJZ7cIoXy2gOhvgcHpNryQKBgQDxNNtXnCfVK0JYNhnU\n5WCOX9NeW9Q79HldhTM5/EqsjA5H21j5S7A/duBSRfX7iou1hyXaa2p+J7rxF9sj\nNlwHPsKhprskxXaHJ7qU84gSmwORsTQQPmtTsizGwVsM330+Q2ZROaSEfDoUqH9+\nKBKs6K+FOldcTOrCZ+ILk8werwKBgQDwnQUrKATzRThVdD6Hcgt/F/SAizDmvtiT\nVvRcGkiV3EtB5Rx8zFNJ9GWrqSAArwIxTWgfYCYsvpUjbJW02Mg0Ufj2+YhjT713\nO9yViwUq996St9eLwGQO5FDMD8FYi7bRAiZEAeAeIEeveDRsNK15++8VVJVo7b2l\nzcapp5k3bQKBgQDSiJNHRhqSet6+xgIIDGoZ+1Qv0TFPX5UrZt8OpsK7FshEOhXQ\nCxt8WZN03HHXK9fEC4GjwwxBrwYB+BOjCYiMHmCd3j0M3HoXgDrgViyYKMuVuDk8\nUG83r5ZbqVuCwfO8i/HbxddueEvtyiD2CZ47ZCIHxKOKAe0K4Mex2UBaKwKBgQDi\nrEouOelP9Kn5dyVhHENQXBTu9DIBb1FAnO5fxjMTWxFa5qhLuYHNbfxKF24atsRu\nBepNhJryFCkT0jvGv2L8Ry0wHiwqwvhO14obJ3ia3iBEQAVDlt+sV9L2KvGOpTB4\n/nlmIA4u02I1IBziw02aWYkGo0SOMUo0ZQL+2PEykQKBgAV1uqiJlWuA9uPdFFJP\nZPL2YoOuTWdWfIwIb/UdsbUuTckCgqPIqUPi3HhiVSunOgcO7HWK3GD3j8k4XEbW\nG4y+Ik0lLrWzBl728tZe1GENzTf8aapElHlUfFSM4OlrTRBsbMOsQBcJNh7QbyoZ\nBHiZZTbRUY6xUR4DGYkCOksF", Cb); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("body", O); + jSONObject2.put("ticket", tg); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "http://ctlook.facaishiyi.com/api/v1/user/config.do", jSONObject2.toString(), j(currentTimeMillis), new OKCallBack.OKCallBackString() { // from class: com.github.catvod.spider.Kuaikan.1 + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + JSONObject jSONObject3 = new JSONObject(str); + String lX = Kuaikan.this.lX("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiYJ5UFjeEgeUi5ynLKhj5EMF0\n3sawTyAKoPbfUCSZZQ5QdrHhrINggrYxDtB/TWXoqSF+BJP85F0vq8B6gOqFWhK/\n1PIKe2wKlRRuZSOdUzK/3vzRHmR3J3KGrvNzvwARH8gg8xZjbsalc/gBkcVxSxGd\n8j8rJ4QhOSFh9F8B2wIDAQAB", jSONObject3.getString("ticket")); + JSONArray jSONArray = new JSONObject(Kuaikan.this.UO(lX.substring(0, 16), lX.substring(16, 32), jSONObject3.getString("body"))).getJSONObject("data").getJSONArray("newAnalysis"); + Kuaikan.this.Ji.clear(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONObject jSONObject4 = jSONArray.getJSONObject(i); + ArrayList arrayList = new ArrayList(); + Kuaikan.this.Ji.put(jSONObject4.getString("id"), arrayList); + JSONArray jSONArray2 = jSONObject4.getJSONArray("analyses"); + for (int i2 = 0; i2 < jSONArray2.length(); i2++) { + arrayList.add(jSONArray2.getJSONObject(i2).getString("url")); + } + } + } catch (JSONException e) { + } + } + }); + } catch (Throwable th) { + th.printStackTrace(); + } + } + + public HashMap j(long j) { + HashMap hashMap = new HashMap<>(); + hashMap.put("appId", "1000300001"); + hashMap.put("version", "4"); + hashMap.put("timestamp", j + ""); + hashMap.put("token", f("1000300001dc431681b806089dac1153fb13960f874" + j + "notice")); + hashMap.put("User-Agent", "okhttp/5.0.0-alpha.2"); + return hashMap; + } + + String Decrypt(String str, String str2, String str3) { + try { + SecretKeySpec secretKeySpec = new SecretKeySpec(str.getBytes(), "AES"); + Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); + cipher.init(1, secretKeySpec, new IvParameterSpec(str2.getBytes())); + return Base64.encodeToString(cipher.doFinal(str3.getBytes()), 2); + } catch (Throwable th) { + th.printStackTrace(); + return ""; + } + } + + String UO(String str, String str2, String str3) { + try { + SecretKeySpec secretKeySpec = new SecretKeySpec(str.getBytes(), "AES"); + Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); + cipher.init(2, secretKeySpec, new IvParameterSpec(str2.getBytes())); + return new String(cipher.doFinal(Base64.decode(str3, 0)), "UTF-8"); + } catch (Throwable th) { + th.printStackTrace(); + return ""; + } + } + + public String categoryContent(String str, final String str2, boolean z, HashMap hashMap) { + try { + Q(); + int parseInt = hashMap.containsKey("areaId") ? Integer.parseInt(hashMap.get("areaId")) : 0; + int parseInt2 = hashMap.containsKey("tagId") ? Integer.parseInt(hashMap.get("tagId")) : 0; + int parseInt3 = hashMap.containsKey("yearId") ? Integer.parseInt(hashMap.get("yearId")) : 0; + JSONObject jSONObject = new JSONObject(); + long currentTimeMillis = System.currentTimeMillis() / 1000; + String f = f("1000300001dc431681b806089dac1153fb13960f87" + str2 + 18 + str + parseInt2 + parseInt + parseInt3 + currentTimeMillis + "notice"); + jSONObject.put("appId", "1000300001"); + jSONObject.put("typeId", str); + jSONObject.put("areaId", parseInt); + jSONObject.put("tagId", parseInt2); + jSONObject.put("yearId", parseInt3); + jSONObject.put("page", Integer.parseInt(str2)); + jSONObject.put("pageSize", 18); + jSONObject.put("sign", f); + jSONObject.put("timestamp", currentTimeMillis); + String O = Decrypt(Cb.substring(0, 16), Cb.substring(16, 32), jSONObject.toString()); + String tg = tg("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDitX/rWP6WWc3h\nDzUcfD8Hbw79yCB7rz18GEkjDapjlUVIa3P8FEQFoOchu7N+vdK6HQNsl2Bql4lv\nWOYuzRWNbLGQ7mNtMca28iCuPHck0AcJzOs9F6qruPL73eY7Ai7yvzs2IfEdyXSz\nHP/yXgEOi5ZEBfsBZEPMJw6vfHJVueuD/lh/LkoJ/gXEKMCM/pkIzGpBPd2TsIg8\nZdvOGMPy+MOnJb1Qfe0y3QQdc5VPVdZFWoWsM9RAenHmE3d1THb+uNZZZcnM1tV7\nxYgBbIhgHtXAZnWDWDRBM3xJPR3O9dfBHHt/tbyrZrSwK1IgwFgqfYm/tRbmp4y/\n1DhIF6mDAgMBAAECggEAIzDjS2gEFNiZ0a6nouVSb1f47sHq8OgR1jp619seMNkR\n6Rzs4xtON8VzO1REl47lsAgi6O9SgxlEtykIiglBqDNQGNw4SNHqM6nAEuvF3sv/\n27CYb2JGFuPdq+UVAOHk4b93dH6uS95ipA8DV97psRVP3P1EqkGjGISTjf/2S4IG\n10Q0UhP4xxiRS2iCtaIq0fbvnrChqYRlYQYpkkRCCH+Q4FNKquSsqmWyCu5yfeQM\nMek+aT9KgvmCh05UCeqC1x7xPtSneNbpJpLD5zW8CcG7EYFDtIP8b9BPDlud47ZH\n5Y4/wyQQFHHLOaniTJVvEJZ7cIoXy2gOhvgcHpNryQKBgQDxNNtXnCfVK0JYNhnU\n5WCOX9NeW9Q79HldhTM5/EqsjA5H21j5S7A/duBSRfX7iou1hyXaa2p+J7rxF9sj\nNlwHPsKhprskxXaHJ7qU84gSmwORsTQQPmtTsizGwVsM330+Q2ZROaSEfDoUqH9+\nKBKs6K+FOldcTOrCZ+ILk8werwKBgQDwnQUrKATzRThVdD6Hcgt/F/SAizDmvtiT\nVvRcGkiV3EtB5Rx8zFNJ9GWrqSAArwIxTWgfYCYsvpUjbJW02Mg0Ufj2+YhjT713\nO9yViwUq996St9eLwGQO5FDMD8FYi7bRAiZEAeAeIEeveDRsNK15++8VVJVo7b2l\nzcapp5k3bQKBgQDSiJNHRhqSet6+xgIIDGoZ+1Qv0TFPX5UrZt8OpsK7FshEOhXQ\nCxt8WZN03HHXK9fEC4GjwwxBrwYB+BOjCYiMHmCd3j0M3HoXgDrgViyYKMuVuDk8\nUG83r5ZbqVuCwfO8i/HbxddueEvtyiD2CZ47ZCIHxKOKAe0K4Mex2UBaKwKBgQDi\nrEouOelP9Kn5dyVhHENQXBTu9DIBb1FAnO5fxjMTWxFa5qhLuYHNbfxKF24atsRu\nBepNhJryFCkT0jvGv2L8Ry0wHiwqwvhO14obJ3ia3iBEQAVDlt+sV9L2KvGOpTB4\n/nlmIA4u02I1IBziw02aWYkGo0SOMUo0ZQL+2PEykQKBgAV1uqiJlWuA9uPdFFJP\nZPL2YoOuTWdWfIwIb/UdsbUuTckCgqPIqUPi3HhiVSunOgcO7HWK3GD3j8k4XEbW\nG4y+Ik0lLrWzBl728tZe1GENzTf8aapElHlUfFSM4OlrTRBsbMOsQBcJNh7QbyoZ\nBHiZZTbRUY6xUR4DGYkCOksF", Cb); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("body", O); + jSONObject2.put("ticket", tg); + final JSONObject jSONObject3 = new JSONObject(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "http://ctlook.facaishiyi.com/api/v1/search/video.do", jSONObject2.toString(), j(currentTimeMillis), new OKCallBack.OKCallBackString() { // from class: com.github.catvod.spider.Kuaikan.5 + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str3) { + try { + JSONObject jSONObject4 = new JSONObject(str3); + String lX = Kuaikan.this.lX("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiYJ5UFjeEgeUi5ynLKhj5EMF0\n3sawTyAKoPbfUCSZZQ5QdrHhrINggrYxDtB/TWXoqSF+BJP85F0vq8B6gOqFWhK/\n1PIKe2wKlRRuZSOdUzK/3vzRHmR3J3KGrvNzvwARH8gg8xZjbsalc/gBkcVxSxGd\n8j8rJ4QhOSFh9F8B2wIDAQAB", jSONObject4.getString("ticket")); + JSONObject jSONObject5 = new JSONObject(Kuaikan.this.UO(lX.substring(0, 16), lX.substring(16, 32), jSONObject4.getString("body"))); + JSONArray jSONArray = new JSONArray(); + JSONArray jSONArray2 = jSONObject5.getJSONArray("results"); + for (int i = 0; i < jSONArray2.length(); i++) { + JSONObject jSONObject6 = jSONArray2.getJSONObject(i); + JSONObject jSONObject7 = new JSONObject(); + jSONObject7.put("vod_id", jSONObject6.getString("id")); + jSONObject7.put("vod_name", jSONObject6.getString("name")); + jSONObject7.put("vod_pic", jSONObject6.getString("pic")); + jSONObject7.put("vod_remarks", jSONObject6.getString("progress")); + jSONArray.put(jSONObject7); + } + jSONObject3.put("page", Integer.parseInt(str2)); + int i2 = jSONObject5.getInt("count"); + int i3 = 20; + jSONObject3.put("pagecount", i2 % i3 == 0 ? i2 / i3 : (i2 / i3) + 1); + jSONObject3.put("limit", i3); + jSONObject3.put("total", i2); + jSONObject3.put("list", jSONArray); + } catch (JSONException e) { + } + } + }); + return jSONObject3.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public String detailContent(final List list) { + try { + Q(); + JSONObject jSONObject = new JSONObject(); + long currentTimeMillis = System.currentTimeMillis() / 1000; + String f = f("1000300001dc431681b806089dac1153fb13960f87" + list.get(0) + currentTimeMillis + "notice"); + jSONObject.put("appId", "1000300001"); + jSONObject.put("id", list.get(0)); + jSONObject.put("sign", f); + jSONObject.put("timestamp", currentTimeMillis); + String O = Decrypt(Cb.substring(0, 16), Cb.substring(16, 32), jSONObject.toString()); + String tg = tg("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDitX/rWP6WWc3h\nDzUcfD8Hbw79yCB7rz18GEkjDapjlUVIa3P8FEQFoOchu7N+vdK6HQNsl2Bql4lv\nWOYuzRWNbLGQ7mNtMca28iCuPHck0AcJzOs9F6qruPL73eY7Ai7yvzs2IfEdyXSz\nHP/yXgEOi5ZEBfsBZEPMJw6vfHJVueuD/lh/LkoJ/gXEKMCM/pkIzGpBPd2TsIg8\nZdvOGMPy+MOnJb1Qfe0y3QQdc5VPVdZFWoWsM9RAenHmE3d1THb+uNZZZcnM1tV7\nxYgBbIhgHtXAZnWDWDRBM3xJPR3O9dfBHHt/tbyrZrSwK1IgwFgqfYm/tRbmp4y/\n1DhIF6mDAgMBAAECggEAIzDjS2gEFNiZ0a6nouVSb1f47sHq8OgR1jp619seMNkR\n6Rzs4xtON8VzO1REl47lsAgi6O9SgxlEtykIiglBqDNQGNw4SNHqM6nAEuvF3sv/\n27CYb2JGFuPdq+UVAOHk4b93dH6uS95ipA8DV97psRVP3P1EqkGjGISTjf/2S4IG\n10Q0UhP4xxiRS2iCtaIq0fbvnrChqYRlYQYpkkRCCH+Q4FNKquSsqmWyCu5yfeQM\nMek+aT9KgvmCh05UCeqC1x7xPtSneNbpJpLD5zW8CcG7EYFDtIP8b9BPDlud47ZH\n5Y4/wyQQFHHLOaniTJVvEJZ7cIoXy2gOhvgcHpNryQKBgQDxNNtXnCfVK0JYNhnU\n5WCOX9NeW9Q79HldhTM5/EqsjA5H21j5S7A/duBSRfX7iou1hyXaa2p+J7rxF9sj\nNlwHPsKhprskxXaHJ7qU84gSmwORsTQQPmtTsizGwVsM330+Q2ZROaSEfDoUqH9+\nKBKs6K+FOldcTOrCZ+ILk8werwKBgQDwnQUrKATzRThVdD6Hcgt/F/SAizDmvtiT\nVvRcGkiV3EtB5Rx8zFNJ9GWrqSAArwIxTWgfYCYsvpUjbJW02Mg0Ufj2+YhjT713\nO9yViwUq996St9eLwGQO5FDMD8FYi7bRAiZEAeAeIEeveDRsNK15++8VVJVo7b2l\nzcapp5k3bQKBgQDSiJNHRhqSet6+xgIIDGoZ+1Qv0TFPX5UrZt8OpsK7FshEOhXQ\nCxt8WZN03HHXK9fEC4GjwwxBrwYB+BOjCYiMHmCd3j0M3HoXgDrgViyYKMuVuDk8\nUG83r5ZbqVuCwfO8i/HbxddueEvtyiD2CZ47ZCIHxKOKAe0K4Mex2UBaKwKBgQDi\nrEouOelP9Kn5dyVhHENQXBTu9DIBb1FAnO5fxjMTWxFa5qhLuYHNbfxKF24atsRu\nBepNhJryFCkT0jvGv2L8Ry0wHiwqwvhO14obJ3ia3iBEQAVDlt+sV9L2KvGOpTB4\n/nlmIA4u02I1IBziw02aWYkGo0SOMUo0ZQL+2PEykQKBgAV1uqiJlWuA9uPdFFJP\nZPL2YoOuTWdWfIwIb/UdsbUuTckCgqPIqUPi3HhiVSunOgcO7HWK3GD3j8k4XEbW\nG4y+Ik0lLrWzBl728tZe1GENzTf8aapElHlUfFSM4OlrTRBsbMOsQBcJNh7QbyoZ\nBHiZZTbRUY6xUR4DGYkCOksF", Cb); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("body", O); + jSONObject2.put("ticket", tg); + final JSONObject jSONObject3 = new JSONObject(); + OkHttpClient QH2 = OkHttpUtil.defaultClient(); + OkHttpUtil.postJson(QH2, "http://ctlook.facaishiyi.com/api/v1/video/play/" + list.get(0) + ".do ", jSONObject2.toString(), j(currentTimeMillis), new OKCallBack.OKCallBackString() { // from class: com.github.catvod.spider.Kuaikan.6 + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + JSONObject jSONObject4 = new JSONObject(str); + String lX = Kuaikan.this.lX("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiYJ5UFjeEgeUi5ynLKhj5EMF0\n3sawTyAKoPbfUCSZZQ5QdrHhrINggrYxDtB/TWXoqSF+BJP85F0vq8B6gOqFWhK/\n1PIKe2wKlRRuZSOdUzK/3vzRHmR3J3KGrvNzvwARH8gg8xZjbsalc/gBkcVxSxGd\n8j8rJ4QhOSFh9F8B2wIDAQAB", jSONObject4.getString("ticket")); + JSONObject jSONObject5 = new JSONObject(Kuaikan.this.UO(lX.substring(0, 16), lX.substring(16, 32), jSONObject4.getString("body"))).getJSONObject("data"); + JSONArray jSONArray = new JSONArray(); + JSONObject jSONObject6 = new JSONObject(); + jSONObject6.put("vod_id", jSONObject5.getString("id")); + jSONObject6.put("vod_name", jSONObject5.getString("name")); + jSONObject6.put("vod_pic", jSONObject5.getString("pic")); + jSONObject6.put("vod_year", jSONObject5.getString("year")); + jSONObject6.put("vod_remarks", jSONObject5.getString("progress")); + jSONObject6.put("vod_actor", jSONObject5.getString("actor")); + jSONObject6.put("vod_director", jSONObject5.getString("director")); + jSONObject6.put("vod_content", jSONObject5.getString("content").trim()); + JSONArray jSONArray2 = new JSONArray(Kuaikan.this.UO("5551e2a82a21a9a1", "a586c5236206a2cb", jSONObject5.getString("newPlayback"))); + LinkedHashMap linkedHashMap = new LinkedHashMap(); + for (int i = 0; i < jSONArray2.length(); i++) { + JSONObject jSONObject7 = jSONArray2.getJSONObject(i); + String string = jSONObject7.getString("name"); + String string2 = jSONObject7.getString("id"); + JSONArray jSONArray3 = jSONObject7.getJSONArray("episodes"); + ArrayList arrayList = new ArrayList(); + for (int i2 = 0; i2 < jSONArray3.length(); i2++) { + JSONObject jSONObject8 = jSONArray3.getJSONObject(i2); + String string3 = jSONObject8.getString("title"); + StringBuilder sb = new StringBuilder(); + sb.append(string3); + sb.append("|"); + sb.append((String) list.get(0)); + sb.append("|"); + sb.append(string2); + sb.append("|"); + sb.append(jSONObject8.getString("url")); + String encodeToString = Base64.encodeToString(sb.toString().getBytes("UTF-8"), 10); + arrayList.add(string3 + "$" + encodeToString); + } + linkedHashMap.put(string, TextUtils.join("#", arrayList)); + } + String join = TextUtils.join("$$$", linkedHashMap.keySet()); + String join2 = TextUtils.join("$$$", linkedHashMap.values()); + jSONObject6.put("vod_play_from", join); + jSONObject6.put("vod_play_url", join2); + jSONArray.put(jSONObject6); + jSONObject3.put("list", jSONArray); + } catch (Throwable th) { + } + } + }); + return jSONObject3.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + String f(String str) { + try { + byte[] digest = MessageDigest.getInstance("MD5").digest(str.getBytes()); + StringBuilder sb = new StringBuilder(); + for (byte b : digest) { + String hexString = Integer.toHexString(b & 255); + if (hexString.length() < 2) { + sb.append(0); + } + sb.append(hexString); + } + return sb.toString().toLowerCase(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + return ""; + } + } + + public String homeContent(boolean z) { + try { + Q(); + JSONObject jSONObject = new JSONObject(); + long currentTimeMillis = System.currentTimeMillis() / 1000; + String f = f("1000300001dc431681b806089dac1153fb13960f87" + currentTimeMillis + "notice"); + jSONObject.put("appId", "1000300001"); + jSONObject.put("sign", f); + jSONObject.put("timestamp", currentTimeMillis); + String O = Decrypt(Cb.substring(0, 16), Cb.substring(16, 32), jSONObject.toString()); + String tg = tg("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDitX/rWP6WWc3h\nDzUcfD8Hbw79yCB7rz18GEkjDapjlUVIa3P8FEQFoOchu7N+vdK6HQNsl2Bql4lv\nWOYuzRWNbLGQ7mNtMca28iCuPHck0AcJzOs9F6qruPL73eY7Ai7yvzs2IfEdyXSz\nHP/yXgEOi5ZEBfsBZEPMJw6vfHJVueuD/lh/LkoJ/gXEKMCM/pkIzGpBPd2TsIg8\nZdvOGMPy+MOnJb1Qfe0y3QQdc5VPVdZFWoWsM9RAenHmE3d1THb+uNZZZcnM1tV7\nxYgBbIhgHtXAZnWDWDRBM3xJPR3O9dfBHHt/tbyrZrSwK1IgwFgqfYm/tRbmp4y/\n1DhIF6mDAgMBAAECggEAIzDjS2gEFNiZ0a6nouVSb1f47sHq8OgR1jp619seMNkR\n6Rzs4xtON8VzO1REl47lsAgi6O9SgxlEtykIiglBqDNQGNw4SNHqM6nAEuvF3sv/\n27CYb2JGFuPdq+UVAOHk4b93dH6uS95ipA8DV97psRVP3P1EqkGjGISTjf/2S4IG\n10Q0UhP4xxiRS2iCtaIq0fbvnrChqYRlYQYpkkRCCH+Q4FNKquSsqmWyCu5yfeQM\nMek+aT9KgvmCh05UCeqC1x7xPtSneNbpJpLD5zW8CcG7EYFDtIP8b9BPDlud47ZH\n5Y4/wyQQFHHLOaniTJVvEJZ7cIoXy2gOhvgcHpNryQKBgQDxNNtXnCfVK0JYNhnU\n5WCOX9NeW9Q79HldhTM5/EqsjA5H21j5S7A/duBSRfX7iou1hyXaa2p+J7rxF9sj\nNlwHPsKhprskxXaHJ7qU84gSmwORsTQQPmtTsizGwVsM330+Q2ZROaSEfDoUqH9+\nKBKs6K+FOldcTOrCZ+ILk8werwKBgQDwnQUrKATzRThVdD6Hcgt/F/SAizDmvtiT\nVvRcGkiV3EtB5Rx8zFNJ9GWrqSAArwIxTWgfYCYsvpUjbJW02Mg0Ufj2+YhjT713\nO9yViwUq996St9eLwGQO5FDMD8FYi7bRAiZEAeAeIEeveDRsNK15++8VVJVo7b2l\nzcapp5k3bQKBgQDSiJNHRhqSet6+xgIIDGoZ+1Qv0TFPX5UrZt8OpsK7FshEOhXQ\nCxt8WZN03HHXK9fEC4GjwwxBrwYB+BOjCYiMHmCd3j0M3HoXgDrgViyYKMuVuDk8\nUG83r5ZbqVuCwfO8i/HbxddueEvtyiD2CZ47ZCIHxKOKAe0K4Mex2UBaKwKBgQDi\nrEouOelP9Kn5dyVhHENQXBTu9DIBb1FAnO5fxjMTWxFa5qhLuYHNbfxKF24atsRu\nBepNhJryFCkT0jvGv2L8Ry0wHiwqwvhO14obJ3ia3iBEQAVDlt+sV9L2KvGOpTB4\n/nlmIA4u02I1IBziw02aWYkGo0SOMUo0ZQL+2PEykQKBgAV1uqiJlWuA9uPdFFJP\nZPL2YoOuTWdWfIwIb/UdsbUuTckCgqPIqUPi3HhiVSunOgcO7HWK3GD3j8k4XEbW\nG4y+Ik0lLrWzBl728tZe1GENzTf8aapElHlUfFSM4OlrTRBsbMOsQBcJNh7QbyoZ\nBHiZZTbRUY6xUR4DGYkCOksF", Cb); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("body", O); + jSONObject2.put("ticket", tg); + final JSONObject jSONObject3 = new JSONObject(); + final JSONArray jSONArray = new JSONArray(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "http://ctlook.facaishiyi.com/api/v1/user/genres.do", jSONObject2.toString(), j(currentTimeMillis), new OKCallBack.OKCallBackString() { // from class: com.github.catvod.spider.Kuaikan.3 + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + JSONObject jSONObject4 = new JSONObject(str); + String lX = Kuaikan.this.lX("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiYJ5UFjeEgeUi5ynLKhj5EMF0\n3sawTyAKoPbfUCSZZQ5QdrHhrINggrYxDtB/TWXoqSF+BJP85F0vq8B6gOqFWhK/\n1PIKe2wKlRRuZSOdUzK/3vzRHmR3J3KGrvNzvwARH8gg8xZjbsalc/gBkcVxSxGd\n8j8rJ4QhOSFh9F8B2wIDAQAB", jSONObject4.getString("ticket")); + JSONArray jSONArray2 = new JSONObject(Kuaikan.this.UO(lX.substring(0, 16), lX.substring(16, 32), jSONObject4.getString("body"))).getJSONArray("genres"); + for (int i = 0; i < jSONArray2.length(); i++) { + JSONObject jSONObject5 = jSONArray2.getJSONObject(i); + String string = jSONObject5.getString("name"); + final int i2 = jSONObject5.getInt("typeId"); + if (i2 > 0) { + JSONObject jSONObject6 = new JSONObject(); + jSONObject6.put("type_id", i2 + ""); + jSONObject6.put("type_name", string); + jSONArray.put(jSONObject6); + JSONObject jSONObject7 = new JSONObject(); + long currentTimeMillis2 = System.currentTimeMillis() / 1000; + Kuaikan kuaikan = Kuaikan.this; + String f2 = kuaikan.f("1000300001dc431681b806089dac1153fb13960f87" + i2 + currentTimeMillis2 + "notice"); + jSONObject7.put("appId", "1000300001"); + jSONObject7.put("tid", i2); + jSONObject7.put("sign", f2); + jSONObject7.put("timestamp", currentTimeMillis2); + String O2 = Kuaikan.this.Decrypt(Kuaikan.Cb.substring(0, 16), Kuaikan.Cb.substring(16, 32), jSONObject7.toString()); + String tg2 = Kuaikan.this.tg("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDitX/rWP6WWc3h\nDzUcfD8Hbw79yCB7rz18GEkjDapjlUVIa3P8FEQFoOchu7N+vdK6HQNsl2Bql4lv\nWOYuzRWNbLGQ7mNtMca28iCuPHck0AcJzOs9F6qruPL73eY7Ai7yvzs2IfEdyXSz\nHP/yXgEOi5ZEBfsBZEPMJw6vfHJVueuD/lh/LkoJ/gXEKMCM/pkIzGpBPd2TsIg8\nZdvOGMPy+MOnJb1Qfe0y3QQdc5VPVdZFWoWsM9RAenHmE3d1THb+uNZZZcnM1tV7\nxYgBbIhgHtXAZnWDWDRBM3xJPR3O9dfBHHt/tbyrZrSwK1IgwFgqfYm/tRbmp4y/\n1DhIF6mDAgMBAAECggEAIzDjS2gEFNiZ0a6nouVSb1f47sHq8OgR1jp619seMNkR\n6Rzs4xtON8VzO1REl47lsAgi6O9SgxlEtykIiglBqDNQGNw4SNHqM6nAEuvF3sv/\n27CYb2JGFuPdq+UVAOHk4b93dH6uS95ipA8DV97psRVP3P1EqkGjGISTjf/2S4IG\n10Q0UhP4xxiRS2iCtaIq0fbvnrChqYRlYQYpkkRCCH+Q4FNKquSsqmWyCu5yfeQM\nMek+aT9KgvmCh05UCeqC1x7xPtSneNbpJpLD5zW8CcG7EYFDtIP8b9BPDlud47ZH\n5Y4/wyQQFHHLOaniTJVvEJZ7cIoXy2gOhvgcHpNryQKBgQDxNNtXnCfVK0JYNhnU\n5WCOX9NeW9Q79HldhTM5/EqsjA5H21j5S7A/duBSRfX7iou1hyXaa2p+J7rxF9sj\nNlwHPsKhprskxXaHJ7qU84gSmwORsTQQPmtTsizGwVsM330+Q2ZROaSEfDoUqH9+\nKBKs6K+FOldcTOrCZ+ILk8werwKBgQDwnQUrKATzRThVdD6Hcgt/F/SAizDmvtiT\nVvRcGkiV3EtB5Rx8zFNJ9GWrqSAArwIxTWgfYCYsvpUjbJW02Mg0Ufj2+YhjT713\nO9yViwUq996St9eLwGQO5FDMD8FYi7bRAiZEAeAeIEeveDRsNK15++8VVJVo7b2l\nzcapp5k3bQKBgQDSiJNHRhqSet6+xgIIDGoZ+1Qv0TFPX5UrZt8OpsK7FshEOhXQ\nCxt8WZN03HHXK9fEC4GjwwxBrwYB+BOjCYiMHmCd3j0M3HoXgDrgViyYKMuVuDk8\nUG83r5ZbqVuCwfO8i/HbxddueEvtyiD2CZ47ZCIHxKOKAe0K4Mex2UBaKwKBgQDi\nrEouOelP9Kn5dyVhHENQXBTu9DIBb1FAnO5fxjMTWxFa5qhLuYHNbfxKF24atsRu\nBepNhJryFCkT0jvGv2L8Ry0wHiwqwvhO14obJ3ia3iBEQAVDlt+sV9L2KvGOpTB4\n/nlmIA4u02I1IBziw02aWYkGo0SOMUo0ZQL+2PEykQKBgAV1uqiJlWuA9uPdFFJP\nZPL2YoOuTWdWfIwIb/UdsbUuTckCgqPIqUPi3HhiVSunOgcO7HWK3GD3j8k4XEbW\nG4y+Ik0lLrWzBl728tZe1GENzTf8aapElHlUfFSM4OlrTRBsbMOsQBcJNh7QbyoZ\nBHiZZTbRUY6xUR4DGYkCOksF", Kuaikan.Cb); + JSONObject jSONObject8 = new JSONObject(); + jSONObject8.put("body", O2); + jSONObject8.put("ticket", tg2); + new JSONArray(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "http://ctlook.facaishiyi.com/api/v1/search/category.do", jSONObject8.toString(), Kuaikan.this.j(currentTimeMillis2), new OKCallBack.OKCallBackString() { // from class: com.github.catvod.spider.Kuaikan.3.1 + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str2) { + try { + JSONObject jSONObject9 = new JSONObject(str2); + String lX2 = Kuaikan.this.lX("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiYJ5UFjeEgeUi5ynLKhj5EMF0\n3sawTyAKoPbfUCSZZQ5QdrHhrINggrYxDtB/TWXoqSF+BJP85F0vq8B6gOqFWhK/\n1PIKe2wKlRRuZSOdUzK/3vzRHmR3J3KGrvNzvwARH8gg8xZjbsalc/gBkcVxSxGd\n8j8rJ4QhOSFh9F8B2wIDAQAB", jSONObject9.getString("ticket")); + JSONObject jSONObject10 = new JSONObject(Kuaikan.this.UO(lX2.substring(0, 16), lX2.substring(16, 32), jSONObject9.getString("body"))); + JSONArray jSONArray3 = jSONObject10.getJSONArray("areas"); + JSONArray jSONArray4 = jSONObject10.getJSONArray("years"); + JSONArray jSONArray5 = jSONObject10.getJSONArray("tags"); + JSONArray jSONArray6 = new JSONArray(); + JSONObject jSONObject11 = new JSONObject(); + jSONObject11.put("key", "tagId"); + jSONObject11.put("name", "类型"); + JSONArray jSONArray7 = new JSONArray(); + for (int i3 = 0; i3 < jSONArray5.length(); i3++) { + JSONObject jSONObject12 = jSONArray5.getJSONObject(i3); + JSONObject jSONObject13 = new JSONObject(); + jSONObject13.put("n", jSONObject12.getString("name")); + jSONObject13.put("v", jSONObject12.getString("id")); + jSONArray7.put(jSONObject13); + } + jSONObject11.put("value", jSONArray7); + jSONArray6.put(jSONObject11); + JSONObject jSONObject14 = new JSONObject(); + jSONObject14.put("key", "areaId"); + jSONObject14.put("name", "地区"); + JSONArray jSONArray8 = new JSONArray(); + for (int i4 = 0; i4 < jSONArray3.length(); i4++) { + JSONObject jSONObject15 = jSONArray3.getJSONObject(i4); + JSONObject jSONObject16 = new JSONObject(); + jSONObject16.put("n", jSONObject15.getString("name")); + jSONObject16.put("v", jSONObject15.getString("id")); + jSONArray8.put(jSONObject16); + } + jSONObject14.put("value", jSONArray8); + jSONArray6.put(jSONObject14); + JSONObject jSONObject17 = new JSONObject(); + jSONObject17.put("key", "yearId"); + jSONObject17.put("name", "年份"); + JSONArray jSONArray9 = new JSONArray(); + for (int i5 = 0; i5 < jSONArray4.length(); i5++) { + JSONObject jSONObject18 = jSONArray4.getJSONObject(i5); + JSONObject jSONObject19 = new JSONObject(); + jSONObject19.put("n", jSONObject18.getString("name")); + jSONObject19.put("v", jSONObject18.getString("id")); + jSONArray9.put(jSONObject19); + } + jSONObject17.put("value", jSONArray9); + jSONArray6.put(jSONObject17); + jSONObject3.put(i2 + "", jSONArray6); + } catch (JSONException e) { + } + } + }); + } + } + } catch (JSONException e) { + } + } + }); + JSONObject jSONObject4 = new JSONObject(); + jSONObject4.put("class", jSONArray); + if (z) { + jSONObject4.put("filters", jSONObject3); + } + return jSONObject4.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public String homeVideoContent() { + try { + Q(); + JSONObject jSONObject = new JSONObject(); + long currentTimeMillis = System.currentTimeMillis() / 1000; + String f = f("1000300001dc431681b806089dac1153fb13960f87115" + currentTimeMillis + "notice"); + jSONObject.put("appId", "1000300001"); + jSONObject.put("id", 115); + jSONObject.put("sign", f); + jSONObject.put("timestamp", currentTimeMillis); + String O = Decrypt(Cb.substring(0, 16), Cb.substring(16, 32), jSONObject.toString()); + String tg = tg("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDitX/rWP6WWc3h\nDzUcfD8Hbw79yCB7rz18GEkjDapjlUVIa3P8FEQFoOchu7N+vdK6HQNsl2Bql4lv\nWOYuzRWNbLGQ7mNtMca28iCuPHck0AcJzOs9F6qruPL73eY7Ai7yvzs2IfEdyXSz\nHP/yXgEOi5ZEBfsBZEPMJw6vfHJVueuD/lh/LkoJ/gXEKMCM/pkIzGpBPd2TsIg8\nZdvOGMPy+MOnJb1Qfe0y3QQdc5VPVdZFWoWsM9RAenHmE3d1THb+uNZZZcnM1tV7\nxYgBbIhgHtXAZnWDWDRBM3xJPR3O9dfBHHt/tbyrZrSwK1IgwFgqfYm/tRbmp4y/\n1DhIF6mDAgMBAAECggEAIzDjS2gEFNiZ0a6nouVSb1f47sHq8OgR1jp619seMNkR\n6Rzs4xtON8VzO1REl47lsAgi6O9SgxlEtykIiglBqDNQGNw4SNHqM6nAEuvF3sv/\n27CYb2JGFuPdq+UVAOHk4b93dH6uS95ipA8DV97psRVP3P1EqkGjGISTjf/2S4IG\n10Q0UhP4xxiRS2iCtaIq0fbvnrChqYRlYQYpkkRCCH+Q4FNKquSsqmWyCu5yfeQM\nMek+aT9KgvmCh05UCeqC1x7xPtSneNbpJpLD5zW8CcG7EYFDtIP8b9BPDlud47ZH\n5Y4/wyQQFHHLOaniTJVvEJZ7cIoXy2gOhvgcHpNryQKBgQDxNNtXnCfVK0JYNhnU\n5WCOX9NeW9Q79HldhTM5/EqsjA5H21j5S7A/duBSRfX7iou1hyXaa2p+J7rxF9sj\nNlwHPsKhprskxXaHJ7qU84gSmwORsTQQPmtTsizGwVsM330+Q2ZROaSEfDoUqH9+\nKBKs6K+FOldcTOrCZ+ILk8werwKBgQDwnQUrKATzRThVdD6Hcgt/F/SAizDmvtiT\nVvRcGkiV3EtB5Rx8zFNJ9GWrqSAArwIxTWgfYCYsvpUjbJW02Mg0Ufj2+YhjT713\nO9yViwUq996St9eLwGQO5FDMD8FYi7bRAiZEAeAeIEeveDRsNK15++8VVJVo7b2l\nzcapp5k3bQKBgQDSiJNHRhqSet6+xgIIDGoZ+1Qv0TFPX5UrZt8OpsK7FshEOhXQ\nCxt8WZN03HHXK9fEC4GjwwxBrwYB+BOjCYiMHmCd3j0M3HoXgDrgViyYKMuVuDk8\nUG83r5ZbqVuCwfO8i/HbxddueEvtyiD2CZ47ZCIHxKOKAe0K4Mex2UBaKwKBgQDi\nrEouOelP9Kn5dyVhHENQXBTu9DIBb1FAnO5fxjMTWxFa5qhLuYHNbfxKF24atsRu\nBepNhJryFCkT0jvGv2L8Ry0wHiwqwvhO14obJ3ia3iBEQAVDlt+sV9L2KvGOpTB4\n/nlmIA4u02I1IBziw02aWYkGo0SOMUo0ZQL+2PEykQKBgAV1uqiJlWuA9uPdFFJP\nZPL2YoOuTWdWfIwIb/UdsbUuTckCgqPIqUPi3HhiVSunOgcO7HWK3GD3j8k4XEbW\nG4y+Ik0lLrWzBl728tZe1GENzTf8aapElHlUfFSM4OlrTRBsbMOsQBcJNh7QbyoZ\nBHiZZTbRUY6xUR4DGYkCOksF", Cb); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("body", O); + jSONObject2.put("ticket", tg); + final JSONArray jSONArray = new JSONArray(); + OkHttpClient QH2 = OkHttpUtil.defaultClient(); + OkHttpUtil.postJson(QH2, "http://ctlook.facaishiyi.com/api/v1/user/genre/115.do", jSONObject2.toString(), j(currentTimeMillis), new OKCallBack.OKCallBackString() { // from class: com.github.catvod.spider.Kuaikan.4 + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + JSONObject jSONObject3 = new JSONObject(str); + String lX = Kuaikan.this.lX("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiYJ5UFjeEgeUi5ynLKhj5EMF0\n3sawTyAKoPbfUCSZZQ5QdrHhrINggrYxDtB/TWXoqSF+BJP85F0vq8B6gOqFWhK/\n1PIKe2wKlRRuZSOdUzK/3vzRHmR3J3KGrvNzvwARH8gg8xZjbsalc/gBkcVxSxGd\n8j8rJ4QhOSFh9F8B2wIDAQAB", jSONObject3.getString("ticket")); + JSONArray jSONArray2 = new JSONObject(Kuaikan.this.UO(lX.substring(0, 16), lX.substring(16, 32), jSONObject3.getString("body"))).getJSONArray("subGenres"); + for (int i = 0; i < jSONArray2.length(); i++) { + if (jSONArray2.getJSONObject(i).getInt("template") == 1) { + JSONArray jSONArray3 = jSONArray2.getJSONObject(i).getJSONArray("video"); + for (int i2 = 0; i2 < jSONArray3.length(); i2++) { + JSONObject jSONObject4 = jSONArray3.getJSONObject(i2); + JSONObject jSONObject5 = new JSONObject(); + jSONObject5.put("vod_id", jSONObject4.getString("id")); + jSONObject5.put("vod_name", jSONObject4.getString("name")); + jSONObject5.put("vod_pic", jSONObject4.getString("pic")); + jSONObject5.put("vod_remarks", jSONObject4.getString("progress")); + jSONArray.put(jSONObject5); + } + } + } + } catch (JSONException e) { + } + } + }); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("list", jSONArray); + return jSONObject3.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public void init(Context context, String str) { + Kuaikan.super.init(context, str); + SharedPreferences sharedPreferences = context.getSharedPreferences("spider_Kuaikan", 0); + try { + String string = sharedPreferences.getString("umId", null); + dW = string; + if (string != null) { + return; + } + } catch (Throwable th) { + if (dW != null) { + return; + } + } + dW = f(UUID.randomUUID().toString()).toLowerCase(); + sharedPreferences.edit().putString("umId", dW).commit(); + } + + String lX(String str, String str2) { + int i = 0; + try { + Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + cipher.init(2, (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(Base64.decode(str, 0)))); + byte[] decode = Base64.decode(str2, 0); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + if (decode.length <= 256) { + byteArrayOutputStream.write(cipher.doFinal(decode)); + } else { + int length = decode.length; + while (i < length) { + int i2 = i + 256; + byteArrayOutputStream.write(cipher.doFinal(decode, i, i2 > length ? length - i : 256)); + i = i2; + } + } + byteArrayOutputStream.flush(); + byteArrayOutputStream.close(); + return new String(byteArrayOutputStream.toByteArray(), "UTF-8"); + } catch (Exception e) { + return ""; + } + } + + public String playerContent(String str, String str2, List list) { + try { + Q(); + String[] split = new String(Base64.decode(str2, 10), "UTF-8").split("\\|"); + ArrayList arrayList = this.Ji.get(split[2]); + final JSONObject jSONObject = new JSONObject(); + if (arrayList != null && arrayList.size() > 0) { + Iterator it = arrayList.iterator(); + while (it.hasNext()) { + String next = it.next(); + if (jSONObject.has("url")) { + break; + } + JSONObject jSONObject2 = new JSONObject(); + long currentTimeMillis = System.currentTimeMillis() / 1000; + String f = f("1000300001dc431681b806089dac1153fb13960f87" + split[1] + split[0] + split[3] + currentTimeMillis + "notice"); + jSONObject2.put("appId", "1000300001"); + jSONObject2.put("id", split[1]); + jSONObject2.put("title", split[0]); + jSONObject2.put("url", split[3]); + jSONObject2.put("sign", f); + jSONObject2.put("timestamp", currentTimeMillis); + String O = Decrypt(Cb.substring(0, 16), Cb.substring(16, 32), jSONObject2.toString()); + String tg = tg("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDitX/rWP6WWc3h\nDzUcfD8Hbw79yCB7rz18GEkjDapjlUVIa3P8FEQFoOchu7N+vdK6HQNsl2Bql4lv\nWOYuzRWNbLGQ7mNtMca28iCuPHck0AcJzOs9F6qruPL73eY7Ai7yvzs2IfEdyXSz\nHP/yXgEOi5ZEBfsBZEPMJw6vfHJVueuD/lh/LkoJ/gXEKMCM/pkIzGpBPd2TsIg8\nZdvOGMPy+MOnJb1Qfe0y3QQdc5VPVdZFWoWsM9RAenHmE3d1THb+uNZZZcnM1tV7\nxYgBbIhgHtXAZnWDWDRBM3xJPR3O9dfBHHt/tbyrZrSwK1IgwFgqfYm/tRbmp4y/\n1DhIF6mDAgMBAAECggEAIzDjS2gEFNiZ0a6nouVSb1f47sHq8OgR1jp619seMNkR\n6Rzs4xtON8VzO1REl47lsAgi6O9SgxlEtykIiglBqDNQGNw4SNHqM6nAEuvF3sv/\n27CYb2JGFuPdq+UVAOHk4b93dH6uS95ipA8DV97psRVP3P1EqkGjGISTjf/2S4IG\n10Q0UhP4xxiRS2iCtaIq0fbvnrChqYRlYQYpkkRCCH+Q4FNKquSsqmWyCu5yfeQM\nMek+aT9KgvmCh05UCeqC1x7xPtSneNbpJpLD5zW8CcG7EYFDtIP8b9BPDlud47ZH\n5Y4/wyQQFHHLOaniTJVvEJZ7cIoXy2gOhvgcHpNryQKBgQDxNNtXnCfVK0JYNhnU\n5WCOX9NeW9Q79HldhTM5/EqsjA5H21j5S7A/duBSRfX7iou1hyXaa2p+J7rxF9sj\nNlwHPsKhprskxXaHJ7qU84gSmwORsTQQPmtTsizGwVsM330+Q2ZROaSEfDoUqH9+\nKBKs6K+FOldcTOrCZ+ILk8werwKBgQDwnQUrKATzRThVdD6Hcgt/F/SAizDmvtiT\nVvRcGkiV3EtB5Rx8zFNJ9GWrqSAArwIxTWgfYCYsvpUjbJW02Mg0Ufj2+YhjT713\nO9yViwUq996St9eLwGQO5FDMD8FYi7bRAiZEAeAeIEeveDRsNK15++8VVJVo7b2l\nzcapp5k3bQKBgQDSiJNHRhqSet6+xgIIDGoZ+1Qv0TFPX5UrZt8OpsK7FshEOhXQ\nCxt8WZN03HHXK9fEC4GjwwxBrwYB+BOjCYiMHmCd3j0M3HoXgDrgViyYKMuVuDk8\nUG83r5ZbqVuCwfO8i/HbxddueEvtyiD2CZ47ZCIHxKOKAe0K4Mex2UBaKwKBgQDi\nrEouOelP9Kn5dyVhHENQXBTu9DIBb1FAnO5fxjMTWxFa5qhLuYHNbfxKF24atsRu\nBepNhJryFCkT0jvGv2L8Ry0wHiwqwvhO14obJ3ia3iBEQAVDlt+sV9L2KvGOpTB4\n/nlmIA4u02I1IBziw02aWYkGo0SOMUo0ZQL+2PEykQKBgAV1uqiJlWuA9uPdFFJP\nZPL2YoOuTWdWfIwIb/UdsbUuTckCgqPIqUPi3HhiVSunOgcO7HWK3GD3j8k4XEbW\nG4y+Ik0lLrWzBl728tZe1GENzTf8aapElHlUfFSM4OlrTRBsbMOsQBcJNh7QbyoZ\nBHiZZTbRUY6xUR4DGYkCOksF", Cb); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("body", O); + jSONObject3.put("ticket", tg); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), next, jSONObject3.toString(), j(currentTimeMillis), new OKCallBack.OKCallBackString() { // from class: com.github.catvod.spider.Kuaikan.7 + @Override // com.github.catvod.spider.merge.OKCallBack + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str3) { + try { + JSONObject jSONObject4 = new JSONObject(str3); + String lX = Kuaikan.this.lX("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiYJ5UFjeEgeUi5ynLKhj5EMF0\n3sawTyAKoPbfUCSZZQ5QdrHhrINggrYxDtB/TWXoqSF+BJP85F0vq8B6gOqFWhK/\n1PIKe2wKlRRuZSOdUzK/3vzRHmR3J3KGrvNzvwARH8gg8xZjbsalc/gBkcVxSxGd\n8j8rJ4QhOSFh9F8B2wIDAQAB", jSONObject4.getString("ticket")); + JSONObject jSONObject5 = new JSONObject(Kuaikan.this.UO(lX.substring(0, 16), lX.substring(16, 32), jSONObject4.getString("body"))); + if (jSONObject5.optString("msg", "").equals("success") && jSONObject5.optInt("code", -1) == 0) { + jSONObject.put("parse", 0); + jSONObject.put("header", ""); + jSONObject.put("playUrl", ""); + jSONObject.put("url", jSONObject5.getString("url")); + } + } catch (JSONException e) { + } + } + }); + } + } + if (jSONObject.has("url")) { + return jSONObject.toString(); + } + if (!Misc.isVideoFormat(split[3])) { + return ""; + } + jSONObject.put("parse", 0); + jSONObject.put("header", ""); + jSONObject.put("playUrl", ""); + jSONObject.put("url", split[3]); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public String searchContent(String str, boolean z) { + try { + Q(); + JSONObject jSONObject = new JSONObject(); + long currentTimeMillis = System.currentTimeMillis() / 1000; + String f = f("1000300001dc431681b806089dac1153fb13960f87112" + str + currentTimeMillis + "notice"); + jSONObject.put("appId", "1000300001"); + jSONObject.put("keyword", str); + jSONObject.put("page", 1); + jSONObject.put("pageSize", 12); + jSONObject.put("sign", f); + jSONObject.put("timestamp", currentTimeMillis); + String O = Decrypt(Cb.substring(0, 16), Cb.substring(16, 32), jSONObject.toString()); + String tg = tg("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDitX/rWP6WWc3h\nDzUcfD8Hbw79yCB7rz18GEkjDapjlUVIa3P8FEQFoOchu7N+vdK6HQNsl2Bql4lv\nWOYuzRWNbLGQ7mNtMca28iCuPHck0AcJzOs9F6qruPL73eY7Ai7yvzs2IfEdyXSz\nHP/yXgEOi5ZEBfsBZEPMJw6vfHJVueuD/lh/LkoJ/gXEKMCM/pkIzGpBPd2TsIg8\nZdvOGMPy+MOnJb1Qfe0y3QQdc5VPVdZFWoWsM9RAenHmE3d1THb+uNZZZcnM1tV7\nxYgBbIhgHtXAZnWDWDRBM3xJPR3O9dfBHHt/tbyrZrSwK1IgwFgqfYm/tRbmp4y/\n1DhIF6mDAgMBAAECggEAIzDjS2gEFNiZ0a6nouVSb1f47sHq8OgR1jp619seMNkR\n6Rzs4xtON8VzO1REl47lsAgi6O9SgxlEtykIiglBqDNQGNw4SNHqM6nAEuvF3sv/\n27CYb2JGFuPdq+UVAOHk4b93dH6uS95ipA8DV97psRVP3P1EqkGjGISTjf/2S4IG\n10Q0UhP4xxiRS2iCtaIq0fbvnrChqYRlYQYpkkRCCH+Q4FNKquSsqmWyCu5yfeQM\nMek+aT9KgvmCh05UCeqC1x7xPtSneNbpJpLD5zW8CcG7EYFDtIP8b9BPDlud47ZH\n5Y4/wyQQFHHLOaniTJVvEJZ7cIoXy2gOhvgcHpNryQKBgQDxNNtXnCfVK0JYNhnU\n5WCOX9NeW9Q79HldhTM5/EqsjA5H21j5S7A/duBSRfX7iou1hyXaa2p+J7rxF9sj\nNlwHPsKhprskxXaHJ7qU84gSmwORsTQQPmtTsizGwVsM330+Q2ZROaSEfDoUqH9+\nKBKs6K+FOldcTOrCZ+ILk8werwKBgQDwnQUrKATzRThVdD6Hcgt/F/SAizDmvtiT\nVvRcGkiV3EtB5Rx8zFNJ9GWrqSAArwIxTWgfYCYsvpUjbJW02Mg0Ufj2+YhjT713\nO9yViwUq996St9eLwGQO5FDMD8FYi7bRAiZEAeAeIEeveDRsNK15++8VVJVo7b2l\nzcapp5k3bQKBgQDSiJNHRhqSet6+xgIIDGoZ+1Qv0TFPX5UrZt8OpsK7FshEOhXQ\nCxt8WZN03HHXK9fEC4GjwwxBrwYB+BOjCYiMHmCd3j0M3HoXgDrgViyYKMuVuDk8\nUG83r5ZbqVuCwfO8i/HbxddueEvtyiD2CZ47ZCIHxKOKAe0K4Mex2UBaKwKBgQDi\nrEouOelP9Kn5dyVhHENQXBTu9DIBb1FAnO5fxjMTWxFa5qhLuYHNbfxKF24atsRu\nBepNhJryFCkT0jvGv2L8Ry0wHiwqwvhO14obJ3ia3iBEQAVDlt+sV9L2KvGOpTB4\n/nlmIA4u02I1IBziw02aWYkGo0SOMUo0ZQL+2PEykQKBgAV1uqiJlWuA9uPdFFJP\nZPL2YoOuTWdWfIwIb/UdsbUuTckCgqPIqUPi3HhiVSunOgcO7HWK3GD3j8k4XEbW\nG4y+Ik0lLrWzBl728tZe1GENzTf8aapElHlUfFSM4OlrTRBsbMOsQBcJNh7QbyoZ\nBHiZZTbRUY6xUR4DGYkCOksF", Cb); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("body", O); + jSONObject2.put("ticket", tg); + final JSONObject jSONObject3 = new JSONObject(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "http://ctlook.facaishiyi.com/api/v1/search/page.do", jSONObject2.toString(), j(currentTimeMillis), new OKCallBack.OKCallBackString() { // from class: com.github.catvod.spider.Kuaikan.8 + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str2) { + try { + JSONObject jSONObject4 = new JSONObject(str2); + String lX = Kuaikan.this.lX("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiYJ5UFjeEgeUi5ynLKhj5EMF0\n3sawTyAKoPbfUCSZZQ5QdrHhrINggrYxDtB/TWXoqSF+BJP85F0vq8B6gOqFWhK/\n1PIKe2wKlRRuZSOdUzK/3vzRHmR3J3KGrvNzvwARH8gg8xZjbsalc/gBkcVxSxGd\n8j8rJ4QhOSFh9F8B2wIDAQAB", jSONObject4.getString("ticket")); + JSONObject jSONObject5 = new JSONObject(Kuaikan.this.UO(lX.substring(0, 16), lX.substring(16, 32), jSONObject4.getString("body"))); + JSONArray jSONArray = new JSONArray(); + JSONArray jSONArray2 = jSONObject5.getJSONArray("results"); + for (int i = 0; i < jSONArray2.length(); i++) { + JSONObject jSONObject6 = jSONArray2.getJSONObject(i); + JSONObject jSONObject7 = new JSONObject(); + jSONObject7.put("vod_id", jSONObject6.getString("id")); + jSONObject7.put("vod_name", jSONObject6.getString("name")); + jSONObject7.put("vod_pic", jSONObject6.getString("pic")); + jSONArray.put(jSONObject7); + } + jSONObject3.put("list", jSONArray); + } catch (JSONException e) { + } + } + }); + return jSONObject3.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + String tg(String str, String str2) { + int i = 0; + try { + PrivateKey generatePrivate = KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(Base64.decode(str, 0))); + Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + cipher.init(1, generatePrivate); + byte[] bytes = str2.getBytes(); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + if (bytes.length <= 256) { + byteArrayOutputStream.write(cipher.doFinal(bytes)); + } else { + int length = bytes.length; + while (i < bytes.length) { + int i2 = i + 256; + byteArrayOutputStream.write(cipher.doFinal(bytes, i, i2 > length ? length - i : 256)); + i = i2; + } + } + byteArrayOutputStream.flush(); + byteArrayOutputStream.close(); + return Base64.encodeToString(byteArrayOutputStream.toByteArray(), 2); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/Kunyu77.java b/TVBox_Java/spider/Kunyu77.java new file mode 100644 index 0000000..6c5eb28 --- /dev/null +++ b/TVBox_Java/spider/Kunyu77.java @@ -0,0 +1,399 @@ +package com.github.catvod.spider; + +import android.os.Build; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Set; + + +/** + * Author: @SDL + */ +public class Kunyu77 extends Spider { + private static final String siteUrl = "http://api.kunyu77.com"; + + private String uAgent = "Dalvik/2.1.0 (Linux; U; Android " + Build.VERSION.RELEASE + "; " + Build.MODEL + " Build/" + Build.ID + ")"; + private HashMap getHeaders(String url,String key) { + HashMap headers = new HashMap<>(); + headers.put("user-agent", uAgent); + String TK=Misc.MD5(url, Misc.CharsetUTF8); + headers.put("TK",TK); + headers.put("t",key); + return headers; + } + + + @Override + public String homeContent(boolean filter) { + try { + String t = String.valueOf(System.currentTimeMillis()/ 1000); + String url = siteUrl + "/api.php/provide/filter"; + String urlQ = "/api.php/provide/filter"; + String content = OkHttpUtil.string(url, getHeaders(urlQ,t)); + JSONObject jsonObject = new JSONObject(decryptResponse(content)).getJSONObject("data"); + Iterator keys = jsonObject.keys(); + JSONArray classes = new JSONArray(); + JSONObject filterConfig = new JSONObject(); + JSONArray extendsAll = null; + while (keys.hasNext()) { + String typeId = keys.next(); + String typeName = jsonObject.getJSONArray(typeId).getJSONObject(0).getString("cat"); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", typeId); + newCls.put("type_name", typeName); + classes.put(newCls); + try { + if (extendsAll == null) { + t = String.valueOf(System.currentTimeMillis()/ 1000); + String filterUrl = siteUrl + "/api.php/provide/searchFilter"; + String filterUrlQ = "/api.php/provide/searchFilter"; + String filterUrls = filterUrl+"?type_id=0&pagenum=1&pagesize=1"; + String filterContent = OkHttpUtil.string(filterUrls, getHeaders(filterUrlQ,t)); + JSONObject filterObj = new JSONObject(filterContent).getJSONObject("data").getJSONObject("conditions"); + extendsAll = new JSONArray(); + // 年份 + JSONObject newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "year"); + newTypeExtend.put("name", "年份"); + JSONArray newTypeExtendKV = new JSONArray(); + JSONObject kv = new JSONObject(); + kv.put("n", "全部"); + kv.put("v", ""); + newTypeExtendKV.put(kv); + kv = new JSONObject(); + kv.put("n", "2022"); + kv.put("v", "2022"); + newTypeExtendKV.put(kv); + kv = new JSONObject(); + kv.put("n", "2021"); + kv.put("v", "2021"); + newTypeExtendKV.put(kv); + JSONArray years = filterObj.getJSONArray("y"); + for (int j = 0; j < years.length(); j++) { + JSONObject child = years.getJSONObject(j); + kv = new JSONObject(); + kv.put("n", child.getString("name")); + kv.put("v", child.getString("value")); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + // 地区 + newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "area"); + newTypeExtend.put("name", "地区"); + newTypeExtendKV = new JSONArray(); + kv = new JSONObject(); + kv.put("n", "全部"); + kv.put("v", ""); + newTypeExtendKV.put(kv); + JSONArray areas = filterObj.getJSONArray("a"); + for (int j = 0; j < areas.length(); j++) { + JSONObject child = areas.getJSONObject(j); + kv = new JSONObject(); + kv.put("n", child.getString("name")); + kv.put("v", child.getString("value")); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + // 类型 + newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "category"); + newTypeExtend.put("name", "类型"); + newTypeExtendKV = new JSONArray(); + kv = new JSONObject(); + kv.put("n", "全部"); + kv.put("v", ""); + newTypeExtendKV.put(kv); + JSONArray scat = filterObj.getJSONArray("scat"); + for (int j = 0; j < scat.length(); j++) { + JSONObject child = scat.getJSONObject(j); + kv = new JSONObject(); + kv.put("n", child.getString("name")); + kv.put("v", child.getString("value")); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + } + if (extendsAll != null && extendsAll.length() > 0) { + filterConfig.put(typeId, extendsAll); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject result = new JSONObject(); + result.put("class", classes); + if (filter) { + result.put("filters", filterConfig); + } + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String homeVideoContent() { + try { + JSONArray videos = new JSONArray(); + try { + String t = String.valueOf(System.currentTimeMillis()/ 1000); + String url = siteUrl + "/api.php/provide/homeBlock"; + String urls = url+"?type_id=0&pcode=010110002&version=2.0.4&devid=4ac3fe96a6133de96904b8d3c8cfe16d&package=com.sevenVideo.app.android&sys=android&sysver=7.1.2&brand=realme&model=RMX1931&sj="+t; + String urlm ="/api.php/provide/homeBlockrealme4ac3fe96a6133de96904b8d3c8cfe16dRMX1931com.sevenVideo.app.android010110002"+t+"android7.1.22.0.4"+t+"XSpeUFjJ"; + String content = OkHttpUtil.string(urls, getHeaders(urlm,t)); + JSONObject jsonObject = new JSONObject(decryptResponse(content)); + JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("blocks"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject blockObj = jsonArray.getJSONObject(i); + String blockName = blockObj.getString("block_name"); + if (!blockName.startsWith("热播")) { + continue; + } + JSONArray contents = blockObj.getJSONArray("contents"); + for (int j = 0; j < contents.length() && j < 3; j++) { + JSONObject vObj = contents.getJSONObject(j); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.getString("videoCover")); + v.put("vod_remarks", vObj.getString("msg")); + videos.put(v); + } + } + } catch (Exception e) { + + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String t = String.valueOf(System.currentTimeMillis()/ 1000); + String url = siteUrl + "/api.php/provide/searchFilter?type_id=" + tid + "&pagenum=" + pg + "&pagesize=24"; + Set keys = extend.keySet(); + for (String key : keys) { + String val = extend.get(key).trim(); + if (val.length() == 0) + continue; + url += "&" + key + "=" + URLEncoder.encode(val); + } + String content = OkHttpUtil.string(url, getHeaders(url,t)); + JSONObject dataObject = new JSONObject(decryptResponse(content)).getJSONObject("data"); + JSONArray jsonArray = dataObject.getJSONArray("result"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.getString("videoCover")); + v.put("vod_remarks", vObj.getString("msg")); + videos.put(v); + } + JSONObject result = new JSONObject(); + int limit = 24; + int page = Integer.parseInt(dataObject.getString("page")); + int total = dataObject.getInt("total"); + int pageCount = dataObject.getInt("pagesize"); + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", limit); + result.put("total", total); + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String t = String.valueOf(System.currentTimeMillis()/ 1000); + String url = siteUrl + "/api.php/provide/videoDetail"; + String urlx=url+"?ids=" + ids.get(0)+"&pcode=010110002&version=2.0.4&devid=4ac3fe96a6133de96904b8d3c8cfe16d&package=com.sevenVideo.app.android&sys=android&sysver=7.1.2&brand=realme&model=RMX1931&sj="+t; + String urlp = "/api.php/provide/videoDetailrealme4ac3fe96a6133de96904b8d3c8cfe16d"+ids.get(0)+"RMX1931com.sevenVideo.app.android010110002"+t+"android7.1.22.0.4"+t+"XSpeUFjJ"; + String content = OkHttpUtil.string(urlx, getHeaders(urlp,t)); + JSONObject dataObject = new JSONObject(decryptResponse(content)); + JSONObject vObj = dataObject.getJSONObject("data"); + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + JSONObject vodAtom = new JSONObject(); + String title = vObj.getString("videoName"); + vodAtom.put("vod_id", vObj.getString("id")); + vodAtom.put("vod_name", title); + vodAtom.put("vod_pic", vObj.getString("videoCover")); + vodAtom.put("type_name", vObj.getString("subCategory")); + vodAtom.put("vod_year", vObj.getString("year")); + vodAtom.put("vod_area", vObj.getString("area")); + vodAtom.put("vod_remarks", vObj.getString("msg")); + vodAtom.put("vod_actor", vObj.getString("actor")); + vodAtom.put("vod_director", vObj.getString("director")); + vodAtom.put("vod_content", vObj.getString("brief").trim()); + t = String.valueOf(System.currentTimeMillis()/ 1000) ; + url = siteUrl + "/api.php/provide/videoPlaylist"; + urlx =url+"?ids=" + ids.get(0)+"&pcode=010110002&version=2.0.4&devid=4ac3fe96a6133de96904b8d3c8cfe16d&package=com.sevenVideo.app.android&sys=android&sysver=7.1.2&brand=realme&model=RMX1931&sj="+t; + urlp = "/api.php/provide/videoPlaylistrealme4ac3fe96a6133de96904b8d3c8cfe16d"+ids.get(0)+"RMX1931com.sevenVideo.app.android010110002"+t+"android7.1.22.0.4"+t+"XSpeUFjJ"; + content = OkHttpUtil.string(urlx, getHeaders(urlp,t)); + JSONArray episodes = new JSONObject(content).getJSONObject("data").getJSONArray("episodes"); + LinkedHashMap> playlist = new LinkedHashMap<>(); + for (int i = 0; i < episodes.length(); i++) { + JSONArray playurls = episodes.getJSONObject(i).getJSONArray("playurls"); + for (int j = 0; j < playurls.length(); j++) { + JSONObject purl = playurls.getJSONObject(j); + String from = purl.getString("playfrom"); + ArrayList urls = playlist.get(from); + if (urls == null) { + urls = new ArrayList<>(); + playlist.put(from, urls); + } + String name = purl.getString("title").replace(title, "").trim(); + if (name.isEmpty()) { + name = (i + 1) + ""; + } + String pid = purl.getString("playurl"); + urls.add(name + "$" + pid); + } + } + String vod_play_from = TextUtils.join("$$$", playlist.keySet()); + StringBuilder sb = new StringBuilder(); + Iterator> iter = playlist.values().iterator(); + short fromSize = (short) playlist.size(); + while (iter.hasNext()) { + fromSize--; + ArrayList urls = iter.next(); + sb.append(TextUtils.join("#", urls)); + if (fromSize > 0) + sb.append("$$$"); + } + vodAtom.put("vod_play_from", vod_play_from); + vodAtom.put("vod_play_url", sb.toString()); + list.put(vodAtom); + result.put("list", list); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + String videoUrl = id; + try { + String t = String.valueOf(System.currentTimeMillis()/ 1000); + String url = siteUrl + "/api.php/provide/parserUrl"; + String urls=url+"?url=" + id+"&retryNum=0&pcode=010110002&version=2.0.4&devid=4ac3fe96a6133de96904b8d3c8cfe16d&package=com.sevenVideo.app.android&sys=android&sysver=7.1.2&brand=realme&model=RMX1931&sj="+t; + String urlm = "/api.php/provide/parserUrlrealme4ac3fe96a6133de96904b8d3c8cfe16dRMX1931com.sevenVideo.app.android010110002"+id+"android7.1.2"+id+"2.0.4"+t+"XSpeUFjJ"; + String content = OkHttpUtil.string(urls, getHeaders(urlm,t)); + JSONObject dataObj = new JSONObject(decryptResponse(content)).getJSONObject("data"); + JSONObject playHeader = dataObj.optJSONObject("playHeader"); + String jxUrl = dataObj.getString("url"); + content = OkHttpUtil.string(jxUrl, getHeaders(jxUrl,"")); + JSONObject result = Misc.jsonParse(jxUrl, content); + if (result != null) { + result.put("parse", 0); + result.put("playUrl", ""); + if (playHeader != null) { + JSONObject header = result.getJSONObject("header"); + Iterator iter = playHeader.keys(); + while (iter.hasNext()) { + String key = iter.next(); + header.put(key, " " + playHeader.getString(key)); + } + result.put("header", header.toString()); + } + return result.toString(); + } + } catch (Throwable th) { + + } + if (Misc.isVip(videoUrl)) { + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("jx", "1"); + result.put("url", videoUrl); + return result.toString(); + } + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", id); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + String t = String.valueOf(System.currentTimeMillis()/ 1000); + String url = siteUrl + "/api.php/provide/searchVideo"; + String urls=url+"?pcode=010110002&version=2.0.4&devid=4ac3fe96a6133de96904b8d3c8cfe16d&package=com.sevenVideo.app.android&sys=android&sysver=7.1.2&brand=realme&model=RMX1931&sj="+t+"&searchName="+ key+"&pg=1"; + + String urlm = "/api.php/provide/searchVideorealme4ac3fe96a6133de96904b8d3c8cfe16dRMX1931com.sevenVideo.app.android0101100021"+key+t+"android7.1.202.0.4"+t+"XSpeUFjJ"; + HashMap hashMap = new HashMap(); + hashMap.put("User-Agent", "okhttp/3.12.0"); + String Ks=Misc.MD5(urlm, Misc.CharsetUTF8); + hashMap.put("TK",Ks); + hashMap.put("t",t); + String content = OkHttpUtil.string(urls, hashMap); + JSONObject dataObject = new JSONObject(decryptResponse(content)); + JSONArray jsonArray = dataObject.getJSONArray("data"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + String title = vObj.getString("videoName"); + if (!title.contains(key)) + continue; + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", title); + v.put("vod_pic", vObj.getString("videoCover")); + v.put("vod_remarks", vObj.getString("msg")); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Throwable th) { + + } + return ""; + } + + protected String decryptResponse(String src) { + return src; + } + +} diff --git a/TVBox_Java/spider/Lgyy.java b/TVBox_Java/spider/Lgyy.java new file mode 100644 index 0000000..27dce33 --- /dev/null +++ b/TVBox_Java/spider/Lgyy.java @@ -0,0 +1,521 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.LinkedHashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Headers; + +public class Lgyy extends Spider { + private static final String siteUrl = "https://www.lgyy.cc"; + private static final String siteHost = "www.lgyy.cc"; + private String cookie=""; + private String referer=""; + + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/vodtype/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/voddetail/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/vodplay/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/vodshow/(\\S+).html"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"duoduozy\":{\"sh\":\"自建蓝光\",\"pu\":\"https://www.lgyy.cc/static/player/dplayer.php?url=\",\"sn\":1,\"or\":999},\"qq\":{\"sh\":\"腾讯\",\"pu\":\"https://www.lgyy.cc/static/player/qq.php?url=\",\"sn\":1,\"or\":999},\"qiyi\":{\"sh\":\"爱奇艺\",\"pu\":\"https://www.lgyy.cc/static/player/qiyi.php?url=\",\"sn\":1,\"or\":999},\"youku\":{\"sh\":\"优酷\",\"pu\":\"https://www.lgyy.cc/static/player/youku.php?url=\",\"sn\":1,\"or\":999},\"mgtv\":{\"sh\":\"芒果\",\"pu\":\"https://www.lgyy.cc/static/player/mgtv.php?url=\",\"sn\":1,\"or\":999},\"bilibili\":{\"sh\":\"哔哩\",\"pu\":\"https://www.lgyy.cc/static/player/bilibili.php?url=\",\"sn\":1,\"or\":999},\"xigua\":{\"sh\":\"西瓜\",\"pu\":\"https://player.lgyyapp.com/?url=\",\"sn\":1,\"or\":999},\"sohu\":{\"sh\":\"搜狐\",\"pu\":\"https://www.lgyy.cc/static/player/sohu.php?url=\",\"sn\":1,\"or\":999},\"pptv\":{\"sh\":\"PPTV\",\"pu\":\"https://player.lgyyapp.com/?url=\",\"sn\":1,\"or\":999},\"wjm3u8\":{\"sh\":\"无尽资源\",\"pu\":\"https://www.lgyy.cc/static/player/wujin.php?url=\",\"sn\":1,\"or\":999}}"); + filterConfig = new JSONObject("{\"5\":[{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜劇\"},{\"n\":\"爱情\",\"v\":\"愛情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"動作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"劇情\"},{\"n\":\"战争\",\"v\":\"戰爭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"動畫\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"悬疑\",\"v\":\"懸疑\"},{\"n\":\"微电影\",\"v\":\"微電影\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"國語\"},{\"n\":\"英语\",\"v\":\"英語\"},{\"n\":\"粤语\",\"v\":\"粵語\"},{\"n\":\"闽南语\",\"v\":\"閩南語\"},{\"n\":\"韩语\",\"v\":\"韓語\"},{\"n\":\"日语\",\"v\":\"日語\"},{\"n\":\"法语\",\"v\":\"法語\"},{\"n\":\"德语\",\"v\":\"德語\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"2\"},{\"n\":\"大陆剧\",\"v\":\"13\"},{\"n\":\"香港剧\",\"v\":\"14\"},{\"n\":\"韩国剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"日本剧\",\"v\":\"20\"},{\"n\":\"台湾剧\",\"v\":\"21\"},{\"n\":\"泰国剧\",\"v\":\"22\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"1\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"1\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧片\",\"v\":\"7\"},{\"n\":\"爱情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"剧情片\",\"v\":\"11\"},{\"n\":\"战争片\",\"v\":\"12\"},{\"n\":\"犯罪片\",\"v\":\"23\"},{\"n\":\"奇幻片\",\"v\":\"24\"},{\"n\":\"悬疑片\",\"v\":\"25\"},{\"n\":\"记录片\",\"v\":\"27\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"4\"},{\"n\":\"动画电影\",\"v\":\"41\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders2(siteUrl,referer))); + // 分类节点 + Elements elements = doc.select("ul[class='navbar-items swiper-wrapper'] >li a"); + System.out.println("shouye" + elements); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("电视剧") || + name.equals("综艺") || + name.equals("动漫"); + + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.module-main").get(0); + Elements list = homeList.select("div.module-items>a"); + System.out.println("list..." + list); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.selectFirst("img.lazyload").attr("data-original"); + String remark = vod.selectFirst("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/vodshow/" + TextUtils.join("-", urlParams) + ".html"; + System.out.println("url+++" + url); + String html = OkHttpUtil.string(url, getHeaders2(url,referer)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div[id=page]"); + System.out.println("pg++" + pageInfo); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String span = doc.select("span.page-current").text(); + String wy = doc.select("div[id=page] a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + + } + } + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div[class='module-items module-poster-items-base'] >a"); + System.out.print("list++f" + list); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + System.out.print("title++" + title); + String cover = vod.selectFirst("img.lazyload").attr("data-original"); + System.out.print("cover++" + cover); + String remark = vod.selectFirst("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/voddetail/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url,getHeaders2(url,referer))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.module-item-cover div.module-item-pic > img").attr("data-original"); + String title = doc.selectFirst("div.module-info-main div.module-info-heading > h1").text(); + String desc = doc.selectFirst("div.module-info-item div.module-info-introduction-content > p").text().trim(); + + + String category = "", area = "", year = "", director = "", actor = ""; + category = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(2).text(); + area = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(1).text(); + year = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(0).text(); + + Elements span_text_muted = doc.select("div.module-info-content div.module-info-items div.module-info-item"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.select("span").text(); + if (info.contains("导演")) { + try { + director = text.select("div > a").text(); + } catch (Exception e) { + director = ""; + } + } else if (info.contains("主演")) { + try { + actor = text.select("div > a").text(); + } catch (Exception e) { + actor = ""; + } + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new LinkedHashMap<>(); + /* Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + });*/ + + // 取播放列表数据 + Elements sources = doc.select("div.module-tab-items-box>div>span"); + System.out.print("sor++" + sources); + Elements sourceList = doc.select("div.module-list>div.module-play-list"); + System.out.print("sor1++" + sourceList); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + // boolean found = false; + boolean found = true; + // for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + // String flag = it.next(); + // if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + // sourceName = playerConfig.getJSONObject(flag).getString("sh"); + // found = true; + // break; + // } + // } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("div.module-play-list-content>a"); + System.out.print("pl++" + playList); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + headers.put("origin", " https://www.lgyy.cc"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + + + // 播放页 url + String url = siteUrl + "/vodplay/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", headers.toString()); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected HashMap getHeaders2(String url,String ref) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + if(!ref.equals("google")){ + headers.put("Authority", "www.lgyy.cc"); + if(ref.length()>0){ + if(ref.equals("origin")){ + headers.put("Origin", "https://www.lgyy.cc"); + } else { + headers.put("Referer", ref); + } + } + if(cookie.length()>0){ + headers.put("Cookie", cookie); + } + } + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + protected void getCookie(){ + cookie=""; + String cookieurl="https://www.lgyy.cc/zzzzz"; + Map> cookies = new HashMap<>(); + OkHttpUtil.string(cookieurl,getHeaders2(cookieurl,""),cookies); + for( Map.Entry> entry : cookies.entrySet() ){ + if(entry.getKey().equals("set-cookie")){ + cookie = TextUtils.join(";",entry.getValue()); + break; + } + } + } + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + if (!TextUtils.isEmpty(cover) && !cover.startsWith("http")) { + cover = siteUrl + cover; + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} + // private static String doReplaceRegex(Pattern pattern, String src) { +// if (pattern == null) +// return src; +// try { + // Matcher matcher = pattern.matcher(src); +// if (matcher.find()) { +// return matcher.group(1).trim(); +// } + // } catch (Exception e) { + // SpiderDebug.log(e); +// } + // return src; +// } +//} diff --git a/TVBox_Java/spider/Lib.java b/TVBox_Java/spider/Lib.java new file mode 100644 index 0000000..28efabd --- /dev/null +++ b/TVBox_Java/spider/Lib.java @@ -0,0 +1,516 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Lib extends Spider { + private static final String siteUrl = "https://www.libvio.fun"; + private static final String siteHost = "www.libvio.fun"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/type/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/detail/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/play/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/show/(\\S+).html"); + + protected String ext = null; + + @Override + public void init(Context context) { + super.init(context); + try { + String DataExt = OkHttpUtil.string("http://box.qinglin.tk/live/Lib.json", null); + JSONObject Config = new JSONObject(DataExt); + playerConfig = Config.getJSONObject("player"); + filterConfig = Config.getJSONObject("filter"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.stui-header__menu li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("剧集") || + name.equals("动漫") || + name.equals("日韩剧") || + name.equals("欧美剧"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("ul.stui-vodlist").get(0); + Elements list = homeList.select("div.stui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("a").attr("data-original"); + String remark = vod.select("a .pic-text").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/show/" + TextUtils.join("-", urlParams) + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.stui-page__item li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && li.hasClass("active")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + //System.out.println("哈哈"+matcher.group(1)); + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + //System.out.println("尾页" + matcher.group(1)); + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.stui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("a").attr("data-original"); + String remark = vod.select("a .pic-text").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private static String doReplaceRegex(Pattern pattern, String content) { + if (pattern == null) { + return content; + } + try { + Matcher matcher = pattern.matcher(content); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return content; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/detail/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.select("div.stui-content__thumb a img").attr("data-original"); + String title = doc.select("div.stui-content__detail h1").text(); + String category = "", area = "", year = "", remark = "", director = "", actor = "", desc = ""; + Elements data = doc.select("p.data"); + Pattern cate = Pattern.compile("类型:(\\S+)"); + category = doReplaceRegex(cate, data.get(0).text()); + Pattern areas = Pattern.compile("地区:(\\S+)"); + area = doReplaceRegex(areas, data.get(0).text()); + Pattern years = Pattern.compile("年份:(\\S+)"); + year = doReplaceRegex(years, data.get(0).text()); + Pattern rms = Pattern.compile("更新:(\\S+)"); + remark = doReplaceRegex(rms, data.get(3).text()); + Pattern acs = Pattern.compile("主演:(\\S+)"); + actor = doReplaceRegex(acs, data.get(1).text()); + Pattern dis = Pattern.compile("导演:(\\S+)"); + director = doReplaceRegex(dis, data.get(1).text()); + + desc = doc.selectFirst("span.detail-content").text().trim(); + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.stui-vodlist__head h3"); + Elements sourceList = doc.select("ul.stui-content__playlist"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("li a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + headers.put("origin", " https://www.libvio.fun"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + headers.put("referer", " https://www.libvio.fun"); + // 播放页 url + String url = siteUrl + "/play/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + + Elements allScript = doc.select("script"); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + if (player.getString("from").contains("LINE")) { + String videoUrl = pCfg.getString("pu") + player.getString("url"); + Document docs = Jsoup.parse(OkHttpUtil.string(videoUrl, Headers())); + Pattern pattern = Pattern.compile("(?<=urls\\s=\\s').*?(?=')"); + Elements allScripts = docs.select("body script"); + for (int j = 0; j < allScripts.size(); j++) { + String scContents = allScripts.get(j).html().trim(); + Matcher matcher = pattern.matcher(scContents); + if (matcher.find()) { + JSONObject result = new JSONObject(); + String players = matcher.group(0); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", players); + return result.toString(); + } + } + } + else { + SpiderDebug.log(url); + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", url); + // result.put("header", "{\"Referer\", \"https://www.libvio.me/\"}"); + return result.toString(); + } + break; + } + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + // protected static HashMap sHeaders(String url) { + // HashMap headers = new HashMap<>(); +// headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 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; + // } + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + if (!TextUtils.isEmpty(cover) && !cover.startsWith("http")) { + cover = siteUrl + cover; + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} + // private static String doReplaceRegex(Pattern pattern, String src) { +// if (pattern == null) +// return src; +// try { + // Matcher matcher = pattern.matcher(src); +// if (matcher.find()) { +// return matcher.group(1).trim(); +// } + // } catch (Exception e) { + // SpiderDebug.log(e); +// } + // return src; +// } +//} \ No newline at end of file diff --git a/TVBox_Java/spider/LiteApple.java b/TVBox_Java/spider/LiteApple.java new file mode 100644 index 0000000..452b824 --- /dev/null +++ b/TVBox_Java/spider/LiteApple.java @@ -0,0 +1,466 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.content.SharedPreferences; +import android.os.Build; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.UnsupportedEncodingException; +import java.math.BigInteger; +import java.net.URLEncoder; +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Random; +import java.util.Set; + +import okhttp3.Call; + +public class LiteApple extends Spider { + private static final String siteUrl = "http://ht.grelighting.cn/api.php"; + + private HashMap getHeaders(String url, String data) { + HashMap headers = new HashMap<>(); + if (data != null) { + String token = ""; + try { + token = Base64.encodeToString(b(fakeDevice.getBytes("UTF-8"), tokenKey == null ? "XPINGGUO" : tokenKey), 2); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + int currentTimeMillis = (int) (System.currentTimeMillis() / ((long) 1000)); + String hash = md5(fakeDevice + data + currentTimeMillis).substring(8, 12); + headers.put("token", token); + headers.put("hash", hash); + headers.put("timestamp", currentTimeMillis + ""); + if (tokenKey == null) { + headers.put("version", "ANDROID cn.grelighting.xpg1.1.5"); + } + } + headers.put("User-Agent", "okhttp/4.9.1"); + return headers; + } + + private String fakeDevice = null; + private String tokenKey = null; + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + SharedPreferences sharedPreferences = context.getSharedPreferences("spider_LiteApple", Context.MODE_PRIVATE); + try { + fakeDevice = sharedPreferences.getString("didd", null); + } catch (Throwable th) { + } finally { + if (fakeDevice == null) { + fakeDevice = fakeDid(); + sharedPreferences.edit().putString("didd", fakeDevice).commit(); + } + } + } + + void getTokenKey() { + if (tokenKey != null) + return; + String url = siteUrl + "/v2.user/tokenlogin"; + OkHttpUtil.post(OkHttpUtil.defaultClient(), url, null, getHeaders(url, "ANDROID cn.grelighting.xpg1.1.5"), new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(String response) { + try { + tokenKey = new JSONObject(response).getJSONObject("data").getString("user_title"); + } catch (JSONException e) { + e.printStackTrace(); + } + } + }); + } + + @Override + public String homeContent(boolean filter) { + try { + getTokenKey(); + String url = siteUrl + "/v2.vod/androidtypes"; + String content = OkHttpUtil.string(url, getHeaders(url, null)); + JSONObject jsonObject = new JSONObject(decryptResponse(content)); + JSONArray jsonArray = jsonObject.getJSONArray("data"); + + JSONObject filterConfig = new JSONObject(); + JSONArray classes = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jObj = jsonArray.getJSONObject(i); + String typeName = jObj.getString("type_name"); + String typeId = jObj.getString("type_id"); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", typeId); + newCls.put("type_name", typeName); + classes.put(newCls); + + JSONArray clses = jObj.getJSONArray("classes"); + JSONArray areas = jObj.getJSONArray("areas"); + JSONArray years = jObj.getJSONArray("years"); + + JSONArray extendsAll = new JSONArray(); + // 类型 + JSONObject newTypeExtend; + JSONArray newTypeExtendKV; + JSONObject kv; + newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "class"); + newTypeExtend.put("name", "类型"); + newTypeExtendKV = new JSONArray(); + for (int j = 0; j < clses.length(); j++) { + String v = clses.getString(j); + kv = new JSONObject(); + kv.put("n", v); + kv.put("v", v); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + // 地区 + newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "area"); + newTypeExtend.put("name", "地区"); + newTypeExtendKV = new JSONArray(); + kv = new JSONObject(); + kv.put("n", "全部"); + kv.put("v", ""); + newTypeExtendKV.put(kv); + for (int j = 0; j < areas.length(); j++) { + String area = areas.getString(j); + kv = new JSONObject(); + kv.put("n", area); + kv.put("v", area); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + // 年份 + newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "year"); + newTypeExtend.put("name", "年份"); + newTypeExtendKV = new JSONArray(); + kv = new JSONObject(); + kv.put("n", "全部"); + kv.put("v", ""); + newTypeExtendKV.put(kv); + for (int j = 0; j < years.length(); j++) { + String year = years.getString(j); + kv = new JSONObject(); + kv.put("n", year); + kv.put("v", year); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + filterConfig.put(typeId, extendsAll); + // 排序 + newTypeExtend = new JSONObject(); + newTypeExtend.put("key", "sortby"); + newTypeExtend.put("name", "排序"); + newTypeExtendKV = new JSONArray(); + kv = new JSONObject(); + kv.put("n", "时间"); + kv.put("v", "updatetime"); + newTypeExtendKV.put(kv); + kv = new JSONObject(); + kv.put("n", "人气"); + kv.put("v", "hits"); + newTypeExtendKV.put(kv); + kv = new JSONObject(); + kv.put("n", "评分"); + kv.put("v", "score"); + newTypeExtendKV.put(kv); + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + } + + JSONObject result = new JSONObject(); + result.put("class", classes); + if (filter) { + result.put("filters", filterConfig); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String homeVideoContent() { + try { + JSONArray videos = new JSONArray(); + for (int id = 1; id < 5; id++) { + if (videos.length() > 30) + break; + try { + String url = siteUrl + "/v2.main/androidhome"; + String content = OkHttpUtil.string(url, getHeaders(url, null)); + JSONObject jsonObject = new JSONObject(decryptResponse(content)); + JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("list"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONArray jsonArraySub = jsonArray.getJSONObject(i).getJSONArray("list"); + for (int j = 0; j < jsonArraySub.length() && j < 4; j++) { + JSONObject vObj = jsonArraySub.getJSONObject(j); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("name")); + v.put("vod_pic", vObj.getString("pic")); + v.put("vod_remarks", vObj.getString("updateInfo")); + videos.put(v); + } + } + } catch (Exception e) { + + } + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + getTokenKey(); + String area = extend.containsKey("area") ? extend.get("area") : ""; + String year = extend.containsKey("year") ? extend.get("year") : ""; + String url = siteUrl + "/v2.vod/androidfilter?page=" + pg + "&type=" + tid; + Set keys = extend.keySet(); + for (String key : keys) { + String val = extend.get(key).trim(); + if (val.length() == 0) + continue; + url += "&" + key + "=" + URLEncoder.encode(val); + } + String content = OkHttpUtil.string(url, getHeaders(url, area + year)); + JSONObject dataObject = new JSONObject(decryptResponse(content)); + JSONArray jsonArray = dataObject.getJSONArray("data"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("name")); + v.put("vod_pic", vObj.getString("pic")); + v.put("vod_remarks", vObj.getString("updateInfo")); + videos.put(v); + } + JSONObject result = new JSONObject(); + int limit = 20; + int page = Integer.parseInt(pg); + result.put("page", page); + int pageCount = videos.length() == limit ? page + 1 : page; + result.put("pagecount", pageCount); + result.put("limit", limit); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String url = siteUrl + "/v2.vod/androiddetail?vod_id=" + ids.get(0); + String content = OkHttpUtil.string(url, getHeaders(url, ids.get(0))); + JSONObject dataObject = new JSONObject(decryptResponse(content)); + JSONObject vObj = dataObject.getJSONObject("data"); + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + JSONObject vodAtom = new JSONObject(); + vodAtom.put("vod_id", vObj.getString("id")); + vodAtom.put("vod_name", vObj.getString("name")); + vodAtom.put("vod_pic", vObj.getString("pic")); + vodAtom.put("type_name", vObj.getString("className")); + vodAtom.put("vod_year", vObj.getString("year")); + vodAtom.put("vod_area", vObj.getString("area")); + vodAtom.put("vod_remarks", vObj.getString("updateInfo")); + vodAtom.put("vod_actor", vObj.getString("actor")); + vodAtom.put("vod_content", vObj.getString("content").trim()); + + ArrayList playUrls = new ArrayList<>(); + + JSONArray urls = vObj.getJSONArray("urls"); + for (int i = 0; i < urls.length(); i++) { + JSONObject u = urls.getJSONObject(i); + playUrls.add(u.getString("key") + "$" + u.getString("url")); + } + + vodAtom.put("vod_play_from", "LiteApple"); + vodAtom.put("vod_play_url", TextUtils.join("#", playUrls)); + list.put(vodAtom); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + if (Misc.isVideoFormat(id)) { + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("header", ""); + result.put("playUrl", ""); + result.put("url", id); + return result.toString(); + } + return ""; + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + getTokenKey(); + String url = siteUrl + "/v2.vod/androidsearch?page=1&wd=" + URLEncoder.encode(key); + String content = OkHttpUtil.string(url, getHeaders(url, key)); + JSONObject dataObject = new JSONObject(decryptResponse(content)); + JSONArray jsonArray = dataObject.getJSONArray("data"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + String title = vObj.getString("name"); + if (!title.contains(key)) + continue; + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", title); + v.put("vod_pic", vObj.getString("pic")); + v.put("vod_remarks", vObj.getString("updateInfo")); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected String decryptResponse(String src) { + return src; + } + + byte[] a(String str) { + byte[] bytes = str.getBytes(); + byte[] bArr = new byte[333]; + for (int i9 = 0; i9 < 333; i9++) { + bArr[i9] = (byte) i9; + } + if (bytes.length == 0) { + return null; + } + int i10 = 0; + int i11 = 0; + for (int i12 = 0; i12 < 333; i12++) { + i11 = (((bytes[i10] & 255) + (bArr[i12] & 255)) + i11) % 333; + byte b = bArr[i12]; + bArr[i12] = bArr[i11]; + bArr[i11] = b; + i10 = (i10 + 1) % bytes.length; + } + return bArr; + } + + byte[] b(byte[] bArr, String str) { + byte[] a = a(str); + byte[] bArr2 = new byte[bArr.length]; + int i9 = 0; + int i10 = 0; + for (int i11 = 0; i11 < bArr.length; i11++) { + i9 = (i9 + 1) % 333; + i10 = ((a[i9] & 255) + i10) % 333; + byte b = a[i9]; + a[i9] = a[i10]; + a[i10] = b; + bArr2[i11] = (byte) (a[((a[i9] & 255) + (a[i10] & 255)) % 333] ^ bArr[i11]); + } + return bArr2; + } + + String randomString(int length) { + String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456"; + Random random = new Random(); + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < length; i++) { + int number = random.nextInt(str.length()); + sb.append(str.charAt(number)); + } + return sb.toString(); + } + + String randomMACAddress() { + Random rand = new Random(); + byte[] macAddr = new byte[6]; + rand.nextBytes(macAddr); + macAddr[0] = (byte) (macAddr[0] & (byte) 254); //zeroing last 2 bytes to make it unicast and locally adminstrated + StringBuilder sb = new StringBuilder(18); + for (byte b : macAddr) { + sb.append(String.format("%02X", b)); + } + return sb.toString(); + } + + String fakeDid() { + String i = ""; + String f = ""; + String d = "N/A"; + try { + d = Build.class.getField("SERIAL").get((Object) null).toString(); + } catch (Exception unused) { + } + String e = ""; + try { + e = (String) Class.forName("android.os.SystemProperties").getDeclaredMethod("get", new Class[]{String.class}).invoke((Object) null, new Object[]{"ro.build.fingerprint"}); + } catch (Exception unused) { + return ""; + } + return (((((((((("" + i) + "||") + f) + "||") + randomMACAddress()) + "||") + randomString(16)) + "||") + d) + "||") + e; + } + + String md5(String str) { + try { + MessageDigest instance = MessageDigest.getInstance("MD5"); + instance.update(str.getBytes()); + return new BigInteger(1, instance.digest()).toString(16); + } catch (Exception e9) { + e9.printStackTrace(); + return str; + } + } + +} diff --git a/TVBox_Java/spider/LocalFile.java b/TVBox_Java/spider/LocalFile.java new file mode 100644 index 0000000..7d3c4fd --- /dev/null +++ b/TVBox_Java/spider/LocalFile.java @@ -0,0 +1,144 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.os.Environment; + +import com.github.catvod.crawler.Spider; + +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONObject; + +public class LocalFile extends Spider { + + public String categoryContent(String tid, String pg, boolean filter, HashMap hashMap) { + try { + + File file = new File(tid); + File[] list = file.listFiles(); + JSONArray jSONArray2 = new JSONArray(); + for (File f : list) { + String filename = f.getName(); + if(filename.indexOf('.') ==0){ + continue; + } + String pic = "https://img.tukuppt.com/png_preview/00/18/23/GBmBU6fHo7.jpg!/fw/260"; + if(!f.isDirectory()){ + pic = "https://img.tukuppt.com/png_preview/00/42/50/3ySGW7mvyY.jpg!/fw/260"; + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", f.getAbsolutePath()); + jSONObject2.put("vod_name", f.getName()); + jSONObject2.put("vod_pic", pic); + // 当vod_tag为folder时会点击该item会把当前vod_id当成新的类型ID重新进 + jSONObject2.put("vod_tag",f.isDirectory() ? "folder" : "file" ); + jSONObject2.put("vod_remarks", fileTime(f.lastModified(), "yyyy/MM/dd aHH:mm:ss")); + jSONArray2.put(jSONObject2); + } + + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("page", 1); + jSONObject3.put("pagecount", 1); + jSONObject3.put("limit", jSONArray2.length()); + jSONObject3.put("total", jSONArray2.length()); + jSONObject3.put("list", jSONArray2); + return jSONObject3.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + public String detailContent(List ids) { + try + { + JSONObject jSONObject; + String filename = ids.get(0); + File f = new File(filename); + JSONObject vod = new JSONObject(); + vod.put("vod_id", filename); + vod.put("vod_name", f.getName()); + vod.put("vod_pic", ""); + vod.put("type_name", ""); + vod.put("vod_play_from", "播放"); + vod.put("vod_play_url", f.getName()+"$"+filename); + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } + catch (Exception e){ + e.printStackTrace(); + } + return ""; + + } + + + String fileTime(long time, String fmt) { + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(time); + Date date = calendar.getTime(); + SimpleDateFormat sdf = new SimpleDateFormat(fmt); + return sdf.format(date); + } + + public String homeContent(boolean z) { + try { + JSONObject filterConfig = new JSONObject(); + JSONArray classes = new JSONArray(); + JSONObject newCls = new JSONObject(); + String root = Environment.getExternalStorageDirectory().getAbsolutePath(); + newCls.put("type_id", root); + newCls.put("type_name", "本地文件"); + // type_flag 是扩展字段,目前可取值0、1、2,该字段不存在时表示正常模式 + newCls.put("type_flag", "1"); // 1、列表形式的文件夹 2、缩略图 0或者不存在表示正常模式 + classes.put(newCls); + + JSONArray jSONArray3 = new JSONArray(); + + JSONObject jSONObject4 = new JSONObject(); + jSONObject4.put("class", classes); + if(z) { + jSONObject4.put("filters", new JSONObject("{}")); + } + return jSONObject4.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + public void init(Context context) { + LocalFile.super.init(context); + } + + public String playerContent(String str, String str2, List list) { + try{ + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", str2); + return result.toString(); + }catch (Exception e){ + e.printStackTrace(); + } + return ""; + } + + public String searchContent(String str, boolean z) { + try { + return ""; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + +} \ No newline at end of file diff --git a/TVBox_Java/spider/MGTV.java b/TVBox_Java/spider/MGTV.java new file mode 100644 index 0000000..8a5e85a --- /dev/null +++ b/TVBox_Java/spider/MGTV.java @@ -0,0 +1,314 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.net.Uri; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import rxhttp.wrapper.annotations.NonNull; + +public class MGTV extends Spider { + protected JSONObject a; + protected JSONObject q = new JSONObject(); + + private String q(String str, String str2) { + String str3; + try { + if (str2.startsWith("//")) { + Uri parse = Uri.parse(str); + str3 = parse.getScheme() + ":" + str2; + } else if (str2.contains("://")) { + return str2; + } else { + Uri parse2 = Uri.parse(str); + str3 = parse2.getScheme() + "://" + parse2.getHost() + str2; + } + return str3; + } catch (Exception e) { + SpiderDebug.log(e); + return str2; + } + } + + public String categoryContent(String str, String str2, boolean z, HashMap hashMap) { + try { + String str3 = "https://pianku.api.mgtv.com/rider/list/msite/v2?platform=msite&channelId=" + str + "&pn=" + str2 + "&chargeInfo=&sort=c2"; + if (hashMap != null) { + for (String str4 : hashMap.keySet()) { + String trim = hashMap.get(str4).trim(); + if (trim.length() != 0) { + str3 = str3 + "&" + str4 + "=" + URLEncoder.encode(trim); + } + } + } + String content = OkHttpUtil.string(str3, getHeaders(str3)); + JSONObject jSONObject = new JSONObject(); + try { + JSONArray optJSONArray = new JSONObject(content).optJSONObject("data").optJSONArray("hitDocs"); + JSONArray jSONArray = new JSONArray(); + for (int i = 0; i < optJSONArray.length(); i++) { + JSONObject optJSONObject = optJSONArray.optJSONObject(i); + String optString = optJSONObject.optString("title"); + String q = q(str3, optJSONObject.optString("img")); + String optString2 = optJSONObject.optString("updateInfo"); + if (optString2.equals("")) { + optString2 = optJSONObject.optString("subtitle"); + } + String vodId = optJSONObject.optString("playPartId"); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", vodId); + jSONObject2.put("vod_name", optString); + jSONObject2.put("vod_pic", q); + jSONObject2.put("vod_remarks", optString2); + jSONArray.put(jSONObject2); + } + jSONObject.put("list", jSONArray); + jSONObject.put("page", str2); + jSONObject.put("pagecount", Integer.MAX_VALUE); + jSONObject.put("limit", 90); + jSONObject.put("total", Integer.MAX_VALUE); + jSONObject.put("list", jSONArray); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject.toString(4); + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String detailContent(List list) { + try { + String vodId = list.get(0); + String infoUrl = "https://pcweb.api.mgtv.com/player/vinfo?video_id=" + vodId; + String infoJson = OkHttpUtil.string(infoUrl, getHeaders(infoUrl)); + JSONObject info = new JSONObject(infoJson).getJSONObject("data"); + String pic = info.getString("clip_imgurl2"); + + int pageSize = 30; + int page = 1; + String url = "https://pcweb.api.mgtv.com/episode/list?_support=10000000&version=5.5.35&video_id="+vodId+"&page="+page+"&size="+pageSize+"&allowedRC=1&_support=10000000"; + String json = OkHttpUtil.string(url, getHeaders(url)); + JSONObject jSONObject = new JSONObject(json).getJSONObject("data"); + JSONObject jSONObject2 = new JSONObject(); + JSONObject optJSONObject = jSONObject.optJSONObject("info"); + jSONObject2.put("vod_id", vodId); + jSONObject2.put("vod_name", optJSONObject.optString("title")); + jSONObject2.put("vod_pic", pic); + jSONObject2.put("vod_content", optJSONObject.optString("desc")); + JSONArray optJSONArray = jSONObject.optJSONArray("list"); + ArrayList arrayList = new ArrayList(); + + for (int i = 0; i < optJSONArray.length(); i++) { + JSONObject optJSONObject2 = optJSONArray.optJSONObject(i); + String viewName = optJSONObject2.optString("t1") + " " + optJSONObject2.optString("t2"); + arrayList.add(viewName + "$" + optJSONObject2.optString("url")); + } + + int totalPage = jSONObject.getInt("total_page"); + int count = jSONObject.getInt("count"); + int total = jSONObject.getInt("total"); + ArrayList blocks = new ArrayList(); + ArrayList blockList = new ArrayList(); + if (totalPage == 1) { + blocks.add("mgtv"); + } else if (totalPage > 1) { + blocks.add("1-" + pageSize); + } + blockList.add(join("#", arrayList)); + if (totalPage > page) { + for (int curPage = 2; curPage<=totalPage; curPage++) { + String listUrl = "https://pcweb.api.mgtv.com/episode/list?_support=10000000&version=5.5.35&video_id="+vodId+"&page="+curPage+"&size="+pageSize+"&allowedRC=1&_support=10000000"; + String resultJson = OkHttpUtil.string(listUrl, getHeaders(listUrl)); + JSONObject dataObj = new JSONObject(resultJson).getJSONObject("data"); + JSONArray dataList = dataObj.getJSONArray("list"); + int first = (curPage - 1) * pageSize + 1; + int last = 0; + if (totalPage == curPage) { + last = total; + } else { + last = curPage * pageSize; + } + blocks.add(first + "-" + last); + ArrayList curArrayList = new ArrayList(); + for (int i = 0; i < dataList.length(); i++) { + JSONObject item = dataList.optJSONObject(i); + String viewThisName = item.optString("t1") + " " + item.optString("t2"); + curArrayList.add(viewThisName + "$" + item.optString("url")); + } + blockList.add(join("#", curArrayList)); + } + } + + jSONObject2.put("vod_play_from", join("$$$", blocks)); + jSONObject2.put("vod_play_url", join("$$$", blockList)); + JSONObject result = new JSONObject(); + JSONArray jSONArray = new JSONArray(); + jSONArray.put(jSONObject2); + result.put("list", jSONArray); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + protected HashMap getHeaders(String str) { + HashMap hashMap = new HashMap<>(); + hashMap.put("referer", "https://so.mgtv.com"); + hashMap.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + return hashMap; + } + + public String homeContent(boolean z) { + try { + JSONArray optJSONArray = new JSONObject(OkHttpUtil.string("https://pianku.api.mgtv.com/rider/config/platformChannels/v1?platform=msite&abroad=0&_support=10000000", getHeaders("https://pianku.api.mgtv.com/rider/config/platformChannels/v1?platform=msite&abroad=0&_support=10000000"))).optJSONArray("data"); + JSONArray jSONArray = new JSONArray(); + for (int i = 0; i < optJSONArray.length(); i++) { + JSONObject optJSONObject = optJSONArray.optJSONObject(i); + JSONObject jSONObject = new JSONObject(); + jSONObject.put("type_name", optJSONObject.optString("channelName")); + jSONObject.put("type_id", optJSONObject.optString("channelId")); + jSONArray.put(jSONObject); + } + JSONObject jSONObject2 = new JSONObject(); + if (z) { + jSONObject2.put("filters", this.a); + } + jSONObject2.put("class", jSONArray); + try { + JSONArray optJSONArray2 = new JSONObject(OkHttpUtil.string("https://pianku.api.mgtv.com/rider/list/pcweb/v3?platform=pcweb&channelId=2&pn=1&chargeInfo=&sort=c2", getHeaders("https://pianku.api.mgtv.com/rider/list/pcweb/v3?platform=pcweb&channelId=2&pn=1&chargeInfo=&sort=c2"))).optJSONObject("data").optJSONArray("hitDocs"); + JSONArray jSONArray2 = new JSONArray(); + for (int i2 = 0; i2 < optJSONArray2.length(); i2++) { + JSONObject optJSONObject2 = optJSONArray2.optJSONObject(i2); + String optString = optJSONObject2.optString("title"); + String q = optJSONObject2.optString("imgUrlH"); + String optString2 = optJSONObject2.optString("updateInfo"); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("vod_id", optJSONObject2.optString("playPartId")); + jSONObject3.put("vod_name", optString); + jSONObject3.put("vod_pic", q); + jSONObject3.put("vod_remarks", optString2); + jSONArray2.put(jSONObject3); + } + jSONObject2.put("list", jSONArray2); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject2.toString(4); + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String homeVideoContent() { + try { + JSONArray jSONArray = new JSONObject(OkHttpUtil.string("https://www.mgtv.com/api.php/app/index_video?token=", getHeaders("https://www.mgtv.com/api.php/app/index_video?token="))).getJSONArray("list"); + JSONArray jSONArray2 = new JSONArray(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONArray jSONArray3 = jSONArray.getJSONObject(i).getJSONArray("vlist"); + int i2 = 0; + while (i2 < jSONArray3.length() && i2 < 6) { + JSONObject jSONObject = jSONArray3.getJSONObject(i2); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", jSONObject.optString("vod_id")); + jSONObject2.put("vod_name", jSONObject.optString("vod_name")); + jSONObject2.put("vod_pic", jSONObject.optString("vod_pic")); + jSONObject2.put("vod_remarks", jSONObject.optString("vod_remarks")); + jSONArray2.put(jSONObject2); + i2++; + } + } + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("list", jSONArray2); + return jSONObject3.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public void init(Context context) { + MGTV.super.init(context); + try { + this.a = new JSONObject("{\"1\":[{\"name\":\"类型\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"4\",\"n\":\"王牌综艺\"},{\"v\":\"5\",\"n\":\"大咖秀场\"},{\"v\":\"6\",\"n\":\"搞笑\"},{\"v\":\"7\",\"n\":\"情感\"},{\"v\":\"8\",\"n\":\"音乐\"},{\"v\":\"9\",\"n\":\"生活\"},{\"v\":\"179\",\"n\":\"亲子\"},{\"v\":\"170\",\"n\":\"旅游\"},{\"v\":\"171\",\"n\":\"时尚\"},{\"v\":\"173\",\"n\":\"真人秀\"},{\"v\":\"174\",\"n\":\"竞技\"},{\"v\":\"172\",\"n\":\"访谈\"},{\"v\":\"180\",\"n\":\"脱口秀\"}],\"key\":\"kind\"},{\"name\":\"地区\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"内地\"},{\"v\":\"2\",\"n\":\"港台\"},{\"v\":\"3\",\"n\":\"其他\"}],\"key\":\"area\"},{\"name\":\"排序\",\"value\":[{\"v\":\"c1\",\"n\":\"最新\"},{\"v\":\"c2\",\"n\":\"最热\"},{\"v\":\"c4\",\"n\":\"知乎高分\"}],\"key\":\"sort\"}],\"2\":[{\"name\":\"类型\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"14\",\"n\":\"甜蜜互宠\"},{\"v\":\"15\",\"n\":\"虐恋情深\"},{\"v\":\"16\",\"n\":\"青涩校园\"},{\"v\":\"17\",\"n\":\"仙侠玄幻\"},{\"v\":\"19\",\"n\":\"都市职场\"},{\"v\":\"148\",\"n\":\"古装\"},{\"v\":\"20\",\"n\":\"快意江湖\"},{\"v\":\"147\",\"n\":\"偶像\"},{\"v\":\"21\",\"n\":\"悬疑推理\"},{\"v\":\"22\",\"n\":\"家长里短\"},{\"v\":\"23\",\"n\":\"芒果出品\"},{\"v\":\"24\",\"n\":\"轻松搞笑\"},{\"v\":\"25\",\"n\":\"铁血战争\"},{\"v\":\"26\",\"n\":\"其他\"}],\"key\":\"kind\"},{\"name\":\"地区\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"10\",\"n\":\"内地\"},{\"v\":\"11\",\"n\":\"日韩\"},{\"v\":\"12\",\"n\":\"港台\"}],\"key\":\"area\"},{\"name\":\"排序\",\"value\":[{\"v\":\"c2\",\"n\":\"最热\"},{\"v\":\"c1\",\"n\":\"最新\"},{\"v\":\"c4\",\"n\":\"知乎高分\"}],\"key\":\"sort\"},{\"name\":\"版本\",\"value\":[{\"v\":\"all\",\"n\":\"全部\"},{\"v\":\"2037\",\"n\":\"TV版\"},{\"v\":\"2038\",\"n\":\"特别版\"},{\"v\":\"2040\",\"n\":\"精华版\"},{\"v\":\"2036\",\"n\":\"未删减版\"}],\"key\":\"edition\"}],\"3\":[{\"name\":\"类型\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"34\",\"n\":\"院线大片\"},{\"v\":\"175\",\"n\":\"爱情\"},{\"v\":\"176\",\"n\":\"喜剧\"},{\"v\":\"177\",\"n\":\"动作\"},{\"v\":\"178\",\"n\":\"科幻\"},{\"v\":\"39\",\"n\":\"青春\"},{\"v\":\"43\",\"n\":\"恐怖悬疑\"},{\"v\":\"44\",\"n\":\"战争\"},{\"v\":\"45\",\"n\":\"警匪\"},{\"v\":\"46\",\"n\":\"历史\"},{\"v\":\"47\",\"n\":\"歌舞\"},{\"v\":\"48\",\"n\":\"动画\"},{\"v\":\"50\",\"n\":\"其他\"}],\"key\":\"kind\"},{\"name\":\"资费\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"b1\",\"n\":\"免费\"},{\"v\":\"b2\",\"n\":\"VIP\"},{\"v\":\"b3\",\"n\":\"VIP用券\"},{\"v\":\"b4\",\"n\":\"付费点播\"}],\"key\":\"chargeInfo\"},{\"name\":\"排序\",\"value\":[{\"v\":\"c2\",\"n\":\"最热\"},{\"v\":\"c1\",\"n\":\"最新\"},{\"v\":\"c4\",\"n\":\"知乎高分\"}],\"key\":\"sort\"}],\"106\":[{\"name\":\"类型\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"106\",\"n\":\"时事\"},{\"v\":\"107\",\"n\":\"社会\"},{\"v\":\"108\",\"n\":\"文娱\"},{\"v\":\"109\",\"n\":\"军事\"}],\"key\":\"kind\"},{\"name\":\"排序\",\"value\":[{\"v\":\"c1\",\"n\":\"最新\"},{\"v\":\"c2\",\"n\":\"最热\"}],\"key\":\"sort\"}],\"91\":[{\"name\":\"类型\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"119\",\"n\":\"吐槽\"},{\"v\":\"120\",\"n\":\"恶搞\"},{\"v\":\"121\",\"n\":\"爆笑\"},{\"v\":\"122\",\"n\":\"奇趣\"},{\"v\":\"123\",\"n\":\"饭制\"},{\"v\":\"124\",\"n\":\"其他\"}],\"key\":\"kind\"},{\"name\":\"排序\",\"value\":[{\"v\":\"c2\",\"n\":\"最热\"},{\"v\":\"c1\",\"n\":\"最新\"}],\"key\":\"sort\"}],\"50\":[{\"name\":\"类型\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"60\",\"n\":\"恋爱少女\"},{\"v\":\"86\",\"n\":\"热血\"},{\"v\":\"62\",\"n\":\"搞笑\"},{\"v\":\"63\",\"n\":\"青春\"},{\"v\":\"64\",\"n\":\"魔幻仙侠\"},{\"v\":\"65\",\"n\":\"激燃运动\"},{\"v\":\"66\",\"n\":\"特摄\"},{\"v\":\"67\",\"n\":\"推理\"},{\"v\":\"68\",\"n\":\"亲子幼教\"},{\"v\":\"69\",\"n\":\"芒果出品\"},{\"v\":\"70\",\"n\":\"动漫音乐\"},{\"v\":\"71\",\"n\":\"经典\"},{\"v\":\"72\",\"n\":\"其他\"}],\"key\":\"kind\"},{\"name\":\"地区\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"52\",\"n\":\"内地\"},{\"v\":\"53\",\"n\":\"欧美\"},{\"v\":\"54\",\"n\":\"日韩\"},{\"v\":\"55\",\"n\":\"其他\"}],\"key\":\"area\"},{\"name\":\"版本\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"165\",\"n\":\"剧场版\"},{\"v\":\"57\",\"n\":\"TV版\"},{\"v\":\"166\",\"n\":\"OVA版\"},{\"v\":\"167\",\"n\":\"真人版\"}],\"key\":\"edition\"},{\"name\":\"排序\",\"value\":[{\"v\":\"c2\",\"n\":\"最热\"},{\"v\":\"c1\",\"n\":\"最新\"}],\"key\":\"sort\"}],\"51\":[{\"name\":\"类型\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"97\",\"n\":\"美食\"},{\"v\":\"98\",\"n\":\"文化\"},{\"v\":\"99\",\"n\":\"社会\"},{\"v\":\"100\",\"n\":\"历史\"},{\"v\":\"101\",\"n\":\"军事\"},{\"v\":\"102\",\"n\":\"人物\"},{\"v\":\"103\",\"n\":\"探索\"},{\"v\":\"104\",\"n\":\"自然\"},{\"v\":\"105\",\"n\":\"其他\"}],\"key\":\"kind\"},{\"name\":\"排序\",\"value\":[{\"v\":\"c2\",\"n\":\"最热\"},{\"v\":\"c1\",\"n\":\"最新\"}],\"key\":\"sort\"}],\"20\":[{\"name\":\"类型\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"150\",\"n\":\"MV\"},{\"v\":\"151\",\"n\":\"影视原声\"},{\"v\":\"152\",\"n\":\"音乐节目\"},{\"v\":\"153\",\"n\":\"演唱会\"},{\"v\":\"154\",\"n\":\"颁奖礼\"},{\"v\":\"155\",\"n\":\"音乐现场\"},{\"v\":\"156\",\"n\":\"其他\"}],\"key\":\"kind\"},{\"name\":\"风格\",\"value\":[{\"v\":\"a1\",\"n\":\"全部\"},{\"v\":\"157\",\"n\":\"流行\"},{\"v\":\"158\",\"n\":\"Hip-hop\"},{\"v\":\"159\",\"n\":\"R&B\"},{\"v\":\"160\",\"n\":\"摇滚\"},{\"v\":\"161\",\"n\":\"民谣\"},{\"v\":\"162\",\"n\":\"爵士\"},{\"v\":\"163\",\"n\":\"古典\"},{\"v\":\"164\",\"n\":\"其他\"}],\"key\":\"musicStyle\"},{\"name\":\"排序\",\"value\":[{\"v\":\"c1\",\"n\":\"最新\"},{\"v\":\"c2\",\"n\":\"最热\"}],\"key\":\"sort\"}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + public String join(@NonNull CharSequence charSequence, @NonNull Iterable iterable) { + Iterator it = iterable.iterator(); + if (!it.hasNext()) { + return ""; + } + StringBuilder sb = new StringBuilder(); + sb.append(it.next()); + while (it.hasNext()) { + sb.append(charSequence); + sb.append(it.next()); + } + return sb.toString(); + } + + public String playerContent(String str, String str2, List list) { + try { + JSONObject jSONObject = new JSONObject(); + try { + jSONObject.put("parse", 1); + jSONObject.put("jx", "1"); + jSONObject.put("url", "https://www.mgtv.com" + str2); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return jSONObject.toString(); + } + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String searchContent(String str, boolean quick) { + try { + String url = "https://mobileso.bz.mgtv.com/pc/search/v1?allowedRC=1&q=" + str + "&pn=1&pc=10&uid=&corr=1&_support=10000000"; + String json = OkHttpUtil.string(url, getHeaders(url)); + JSONObject data = new JSONObject(json).getJSONObject("data"); + JSONArray contents = data.getJSONArray("contents"); + JSONArray items = new JSONArray(); + for (int i = 0; i < contents.length(); i++) { + JSONObject jSONObject = contents.getJSONObject(i).getJSONObject("data"); + if (!jSONObject.has("sourceList")) { + continue; + } + JSONArray sourceList = jSONObject.getJSONArray("sourceList"); + String vodUrl = sourceList.getJSONObject(0).getString("url"); + String vodId = sourceList.getJSONObject(0).getString("vid"); + String pic = jSONObject.optString("pic"); + JSONObject item = new JSONObject(); + item.put("vod_id", vodId); + item.put("vod_name", jSONObject.optString("title")); + item.put("vod_pic", pic); + item.put("vod_remarks", jSONObject.optString("playTime")); + items.put(item); + } + JSONObject result = new JSONObject(); + result.put("list", items); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } +} diff --git a/TVBox_Java/spider/MixWeb.java b/TVBox_Java/spider/MixWeb.java new file mode 100644 index 0000000..45d31f9 --- /dev/null +++ b/TVBox_Java/spider/MixWeb.java @@ -0,0 +1,178 @@ +package com.github.catvod.parser; + +import android.util.Base64; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import org.json.JSONArray; +import org.json.JSONObject; + +import java.io.ByteArrayInputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; + +public class MixWeb { + + /* + "parses": [ + { + "name": "聚合", + "type": 3, + "url": "Demo" + }, + { + "name": "解析", + "type": 1, + "url": "https://192.168.10.88/jx.php?url=", + "ext": { + "flag": [ + "qq", + "iqiyi", + "qiyi", + "爱奇艺", + "腾讯", + "letv", + "sohu", + "tudou", + "pptv", + "mgtv", + "wasu", + "bilibili" + ] + } + }] + */ + + public static HashMap> flagWebJx = new HashMap<>(); + + static HashMap> configs = null; + + public static JSONObject parse(LinkedHashMap> jx, String nameMe, String flag, String url) { + try { + if (configs == null) { + configs = new HashMap<>(); + Iterator keys = jx.keySet().iterator(); + while (keys.hasNext()) { + String key = keys.next(); + HashMap parseBean = jx.get(key); + String type = parseBean.get("type"); + if (type.equals("0")) { + try { + //取出单个解析的flags列表 + JSONArray flags = new JSONObject(parseBean.get("ext")).getJSONArray("flag"); + for (int j = 0; j < flags.length(); j++) { + //获取单个flags + String flagKey = flags.getString(j); + //取出configs中对应flags的解析 + ArrayList flagJx = configs.get(flagKey); + //如果configs中没有这个flags,则插入一个空的值 + if (flagJx == null) { + flagJx = new ArrayList<>(); + configs.put(flagKey, flagJx); + } + //如果有就在flagJx中增加解析 + flagJx.add(key); + } + } catch (Throwable th) { + + } + } + } + } + // 通过上面的配置获得解析列表 + ArrayList webJx = new ArrayList<>(); + ArrayList flagJx = configs.get(flag); + //如果flagJx不为空 + if (flagJx != null && !flagJx.isEmpty()) { + for (int i = 0; i < flagJx.size(); i++) { + String key = flagJx.get(i); + HashMap parseBean = jx.get(key); + String type = parseBean.get("type"); + if (type.equals("0")) { + //将json解析放入webJx + webJx.add(parseBean.get("url")); + } + } + } else { + Iterator keys = jx.keySet().iterator(); + while (keys.hasNext()) { + String key = keys.next(); + HashMap parseBean = jx.get(key); + String type = parseBean.get("type"); + if (type.equals("0")) { + webJx.add(parseBean.get("url")); + } + } + } + if (!webJx.isEmpty()) { + flagWebJx.put(flag, webJx); + } + + // json解析没有得到结果 用webview解析 + if (!webJx.isEmpty()) { + JSONObject webResult = new JSONObject(); + webResult.put("url", "proxy://do=MixWeb&flag=" + flag + "&url=" + Base64.encodeToString(url.getBytes(), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP)); + webResult.put("parse", 1); + webResult.put("ua", Misc.UaWinChrome); + return webResult; + } + } catch (Throwable th) { + SpiderDebug.log(th); + } + return new JSONObject(); + } + + + public static Object[] loadHtml(String flag, String url) { + try { + url = new String(Base64.decode(url, Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP), "UTF-8"); + String html = "\n" + + "\n" + + "\n" + + "\n" + + "解析\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + ""; + + StringBuilder jxs = new StringBuilder(); + if (flagWebJx.containsKey(flag)) { + ArrayList jxUrls = flagWebJx.get(flag); + for (int i = 0; i < jxUrls.size(); i++) { + jxs.append("\""); + jxs.append(jxUrls.get(i)); + jxs.append("\""); + if (i < jxUrls.size() - 1) { + jxs.append(","); + } + } + } + html = html.replace("#url#", url).replace("#jxs#", jxs.toString()); + Object[] result = new Object[3]; + result[0] = 200; + result[1] = "text/html; charset=\"UTF-8\""; + ByteArrayInputStream baos = new ByteArrayInputStream(html.toString().getBytes("UTF-8")); + result[2] = baos; + return result; + } catch (Throwable th) { + th.printStackTrace(); + } + return null; + } +} diff --git a/TVBox_Java/spider/N0ys.java b/TVBox_Java/spider/N0ys.java new file mode 100644 index 0000000..4e63721 --- /dev/null +++ b/TVBox_Java/spider/N0ys.java @@ -0,0 +1,471 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.net.Uri; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 90影视 + *

    + * Author: 小黄瓜 + */ +public class N0ys extends Spider { + private static final String siteUrl = "http://1090ys8.com"; + private static final String siteHost = "1090ys8.com"; + private static final String ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + + private Pattern regexCategory = Pattern.compile("/whole/(\\w+).html"); + private Pattern regexVid = Pattern.compile("/show/(\\w+).html"); + private Pattern regexPlay = Pattern.compile("/play/(\\w+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/whole/\\d+/page/(\\d+).html"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"youbo\":{\"sh\":\"高速1\",\"sn\":\"0\",\"pu\":\"http://jx1090ys5.hongfanedu.top/x2.php?id=\",\"or\":999},\"wanpan\":{\"sh\":\"高速备用\",\"sn\":\"0\",\"pu\":\"\",\"or\":999},\"niuxyun\":{\"sh\":\"高速2\",\"sn\":\"1\",\"pu\":\"http://1090ys2.com/nxjx/jx.php?id=\",\"or\":999},\"bjm3u8\":{\"sh\":\"备用2\",\"sn\":\"0\",\"pu\":\"\",\"or\":999},\"dbm3u8\":{\"sh\":\"备用3\",\"sn\":\"0\",\"pu\":\"\",\"or\":999},\"nfmp4\":{\"sh\":\"高速3\",\"sn\":\"0\",\"pu\":\"\",\"or\":999},\"tkm3u8\":{\"sh\":\"备用1\",\"sn\":\"0\",\"pu\":\"\",\"or\":999},\"wjm3u8\":{\"sh\":\"备用4\",\"sn\":\"0\",\"pu\":\"\",\"or\":999}}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", ua); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.type-slide > li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + JSONObject result = new JSONObject(); + result.put("class", classes); + try { + Elements list = doc.select("div.stui-pannel_bd ul.stui-vodlist li div.stui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + Matcher matcher = regexVid.matcher(vod.selectFirst(".stui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".stui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + // 获取分类数据的url + String url = siteUrl + "/whole/" + tid + "/page/" + pg + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + Elements pageInfo = doc.select(".stui-page li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && li.hasClass("active")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1)); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1)); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("ul.stui-vodlist li div.stui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".stui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst(".stui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 30); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 30); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/show/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("a.stui-vodlist__thumb img").attr("data-original"); + String title = doc.selectFirst("a.stui-vodlist__thumb").attr("title"); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.stui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("类型:")) { + category = text.nextSibling().outerHtml().trim(); + } else if (info.equals("年份:")) { + year = text.nextSibling().outerHtml().trim(); + } else if (info.equals("地区:")) { + area = text.nextSibling().outerHtml().trim(); + } else if (info.equals("更新:")) { + remark = text.nextSibling().outerHtml().trim(); + } else if (info.equals("导演:")) { + director = text.nextSibling().outerHtml().trim(); + } else if (info.equals("主演:")) { + actor = text.nextSibling().outerHtml().trim(); + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + Elements sources = doc.select("div.playlist"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.selectFirst("h3.title").text().trim(); + String tabHref = source.attr("href"); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = source.select("ul.stui-content__playlist > li > a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = "http://1090ys8.com/play/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + String from = player.getString("from"); + if (from.equals("youbo")) { + // 感谢猫大神的直连解密代码 + HashMap hds = getHeaders(url); + hds.put("Host", "jx1090ys5.hongfanedu.top"); + hds.put("Referer", url); + String content1 = OkHttpUtil.string(playUrl + videoUrl, hds); + Document doc1 = Jsoup.parse(content1); + String url2 = doc1.selectFirst("iframe#WANG").attr("src"); + String url2host = Uri.parse(url2).getHost(); + hds.put("Host", url2host); + hds.put("Referer", "http://jx1090ys5.hongfanedu.top/"); + String content2 = OkHttpUtil.string(url2, hds); + String finder = "var id=\""; + start = content2.indexOf(finder) + finder.length(); + end = content2.indexOf('\"', start); + String vvid = content2.substring(start, end); + finder = "var sk=\""; + start = content2.indexOf(finder) + finder.length(); + end = content2.indexOf('\"', start); + String skey = content2.substring(start, end); + finder = "var pt=\""; + start = content2.indexOf(finder) + finder.length(); + end = content2.indexOf('\"', start); + String pt = content2.substring(start, end); + finder = "var ti=\""; + start = content2.indexOf(finder) + finder.length(); + end = content2.indexOf('\"', start); + String time = content2.substring(start, end); + int bkn = 0x195c; + for (int j = 0x0, all = skey.length(); all > j; ++j) { + bkn += ((bkn << 5) + (byte) skey.charAt(j)); + } + bkn = 0x7fffffff & bkn; + int gtk1 = 0x0; + for (int j = 0x0; j < pt.length(); j += 0x4) { + gtk1 += Integer.parseInt(String.format("%c%c%c%c", pt.charAt(j), pt.charAt(j + 0x1), pt.charAt(j + 0x2), pt.charAt(j + 0x3)), 0x10); + gtk1 %= 0x400a; + } + int offset = gtk1 % 10; + int gtk = 0x0; + for (int j = 0x0; j < pt.length(); j++) { + gtk += ((byte) pt.charAt(j)) * (j + offset); + gtk %= gtk1; + } + String finalVideoUrl = "http://" + url2host + "/hls/play/" + vvid + "%7C" + time + "%7C" + skey + "%7C" + pt + "%7C" + bkn + "%7C" + gtk + ".m3u8"; + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", ""); + result.put("url", finalVideoUrl); + result.put("header", "{\"Referer\":\" " + url2 + "\"}"); + } else { + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", ""); + } + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Nekk.java b/TVBox_Java/spider/Nekk.java new file mode 100644 index 0000000..1c21002 --- /dev/null +++ b/TVBox_Java/spider/Nekk.java @@ -0,0 +1,489 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; +import okhttp3.Headers; +import okhttp3.Response; + + +public class Nekk extends Spider { + + private static final String siteUrl = "https://www.9ela.com"; + private static final String siteHost = "www.9ela.com"; + + protected JSONObject playerConfig; + protected JSONObject filterConfig; + + protected Pattern regexCategory = Pattern.compile("/vodshow/(\\S+).html"); + protected Pattern regexVid = Pattern.compile("/voddetail/(\\d+).html"); + protected Pattern regexPlay = Pattern.compile("/vodplay/(\\d+)-(\\d+)-(\\d+).html"); + protected Pattern regexPage = Pattern.compile("\\S+/page/(\\d+)\\S+"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"9ekk\":{\"sh\":\"手机线路\",\"sn\":0,\"pu\":\"\",\"or\":999},\"ttee\":{\"sh\":\"9亿超清\",\"sn\":0,\"pu\":\"\",\"or\":999},\"9999ku\":{\"sh\":\"手机线路2\",\"sn\":0,\"pu\":\"\",\"or\":999},\"gsyun\":{\"sh\":\"九亿超清\",\"sn\":0,\"pu\":\"\",\"or\":999},\"kkyun\":{\"sh\":\"HD超清线路\",\"sn\":0,\"pu\":\"\",\"or\":999},\"ty01\":{\"sh\":\"超清线路\",\"sn\":0,\"pu\":\"\",\"or\":999},\"ppayun\":{\"sh\":\"九亿线路\",\"sn\":0,\"pu\":\"https://wy.mlkioiy.cn/api/GetDownUrlWy/d91ea50eb7eb4932b92aa8bb3c61560d/\",\"or\":999},\"8kdm\":{\"sh\":\"九亿动漫\",\"sn\":0,\"pu\":\"\",\"or\":999},\"jsyun\":{\"sh\":\"九亿备用\",\"sn\":0,\"pu\":\"\",\"or\":999},\"9evip\":{\"sh\":\"九亿解析-弃用\",\"sn\":0,\"pu\":\"\",\"or\":999},\"189pan\":{\"sh\":\"九亿超清11\",\"sn\":0,\"pu\":\"http://1987s.com/api/dp.php?url=\",\"or\":999},\"VIP\":{\"sh\":\"VIP线路\",\"sn\":0,\"pu\":\"\",\"or\":999},\"qq\":{\"sh\":\"九亿解析\",\"sn\":1,\"pu\":\"\",\"or\":999},\"mgtv\":{\"sh\":\"九亿解析\",\"sn\":1,\"pu\":\"\",\"or\":999},\"bjm3u8\":{\"sh\":\"线路三\",\"sn\":0,\"pu\":\"\",\"or\":999},\"dbm3u8\":{\"sh\":\"线路四\",\"sn\":0,\"pu\":\"\",\"or\":999},\"ckm3u8\":{\"sh\":\"线路二\",\"sn\":0,\"pu\":\"\",\"or\":999},\"mahua\":{\"sh\":\"线路四\",\"sn\":0,\"pu\":\"\",\"or\":999},\"123kum3u8\":{\"sh\":\"123kum3u8\",\"sn\":1,\"pu\":\"https://jx.123ku.com/123kudpbfq/?url=\",\"or\":999},\"pqc\":{\"sh\":\"测试\",\"sn\":1,\"pu\":\"https://jx.qiuzeqi.top/jx1/dp/index.php?url=\",\"or\":999},\"test\":{\"sh\":\"test\",\"sn\":1,\"pu\":\"https//1987s.com/api/dp.php?url=\",\"or\":999}}"); + filterConfig = new JSONObject("{\"dianying\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语配音电影\",\"v\":\"gypy\"},{\"n\":\"最近热播电影\",\"v\":\"zuijinrebodianying\"},{\"n\":\"动作片\",\"v\":\"dongzuopian\"},{\"n\":\"喜剧片\",\"v\":\"xijupian\"},{\"n\":\"爱情片\",\"v\":\"aiqingpian\"},{\"n\":\"科幻片\",\"v\":\"kehuanpian\"},{\"n\":\"恐怖片\",\"v\":\"kongbupian\"},{\"n\":\"剧情片\",\"v\":\"juqingpian\"},{\"n\":\"战争片\",\"v\":\"zhanzhengpian\"}]},{\"key\":\"class\",\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"枪战\",\"v\":\"枪战\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"文艺\",\"v\":\"文艺\"},{\"n\":\"微电影\",\"v\":\"微电影\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"农村\",\"v\":\"农村\"},{\"n\":\"儿童\",\"v\":\"儿童\"},{\"n\":\"网络电影\",\"v\":\"网络电影\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"},{\"n\":\"热门\",\"v\":\"热门\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"lianxuju\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"最近热播电视剧\",\"v\":\"zuijinrebodianshiju\"},{\"n\":\"国语配音剧集\",\"v\":\"guoyupeiyinhanju\"},{\"n\":\"热播美剧\",\"v\":\"rebomeiju\"},{\"n\":\"电视剧\",\"v\":\"guochanju\"},{\"n\":\"港台剧\",\"v\":\"gangtaiju\"},{\"n\":\"日韩剧\",\"v\":\"rihanju\"},{\"n\":\"欧美剧\",\"v\":\"oumeiju\"}]},{\"key\":\"class\",\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"青春偶像\",\"v\":\"青春偶像\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"乡村\",\"v\":\"乡村\"},{\"n\":\"情景\",\"v\":\"情景\"},{\"n\":\"商战\",\"v\":\"商战\"},{\"n\":\"网剧\",\"v\":\"网剧\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"zongyi\":[{\"key\":\"class\",\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"选秀\",\"v\":\"选秀\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"访谈\",\"v\":\"访谈\"},{\"n\":\"播报\",\"v\":\"播报\"},{\"n\":\"旅游\",\"v\":\"旅游\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"美食\",\"v\":\"美食\"},{\"n\":\"纪实\",\"v\":\"纪实\"},{\"n\":\"曲艺\",\"v\":\"曲艺\"},{\"n\":\"生活\",\"v\":\"生活\"},{\"n\":\"游戏互动\",\"v\":\"游戏互动\"},{\"n\":\"财经\",\"v\":\"财经\"},{\"n\":\"求职\",\"v\":\"求职\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"dongman\":[{\"key\":\"class\",\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产\",\"v\":\"国产\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl + '/'; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements elements = doc.select("ul.nav-list > li a"); + JSONArray classes = new JSONArray(); + ArrayList allClass = new ArrayList<>(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = !filter || (name.equals("电影") || name.equals("连续剧") || name.equals("综艺") || name.equals("动漫")); + if (allClass.contains(name)) + show = false; + if (show) { + allClass.add(name); + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + Elements list = doc.select("div.col-lg-wide-75 > ul.myui-vodlist li div.myui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = fixCover(vod.selectFirst(".myui-vodlist__thumb").attr("data-original")); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/vodshow/"; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "/" + key + "/" + URLEncoder.encode(value); + } + } + } + url += "/page/" + pg + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + Elements pageInfo = doc.select(".myui-page li a"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element a = pageInfo.get(i); + String name = a.text(); + if (page == -1 && a.hasClass("btn-warm")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).trim()); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).trim()); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("ul.myui-vodlist li div.myui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = fixCover(vod.selectFirst(".myui-vodlist__thumb").attr("data-original")); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String url = siteUrl + "/voddetail/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + String vid = doc.selectFirst("span.mac_hits").attr("data-id"); + + String cover = fixCover(doc.selectFirst("a.myui-vodlist__thumb img").attr("data-original")); + String title = doc.selectFirst("div.myui-content__detail h1.title").text(); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.myui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("分类:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + Elements sources = doc.select("a[data-toggle=tab]"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + String tabHref = source.attr("href"); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = doc.select("div" + tabHref + " ul > li a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + String url = siteUrl + "/vodplay/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + if (player.has("encrypt")) { + int encrypt = player.getInt("encrypt"); + if (encrypt == 1) { + videoUrl = URLDecoder.decode(videoUrl); + } else if (encrypt == 2) { + videoUrl = new String(Base64.decode(videoUrl, Base64.DEFAULT)); + videoUrl = URLDecoder.decode(videoUrl); + } + } + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + if (flag.equals("9ekk")) { + JSONObject headers = new JSONObject(); + headers.put("User-Agent", " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Connection", " keep-alive"); + result.put("header", headers.toString()); + } else { + result.put("header", ""); + } + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = fixCover(vod.getString("pic")); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected String fixCover(String cover) { + try { + return "proxy://do=nekk&pic=" + Base64.encodeToString(cover.getBytes("UTF-8"), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return cover; + } + + private static HashMap nekkPicHeader = null; + + public static Object[] loadPic(String pic) { + try { + pic = new String(Base64.decode(pic, Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP), "UTF-8"); + + if (nekkPicHeader == null) { + nekkPicHeader = new HashMap<>(); + nekkPicHeader.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"); + nekkPicHeader.put("referer", siteUrl + "/"); + } + OKCallBack.OKCallBackDefault callBack = new OKCallBack.OKCallBackDefault() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(Response response) { + + } + }; + OkHttpUtil.get(OkHttpUtil.defaultClient(), pic, null, nekkPicHeader, callBack); + if (callBack.getResult().code() == 200) { + Headers headers = callBack.getResult().headers(); + String type = headers.get("Content-Type"); + if (type == null) { + type = "application/octet-stream"; + } + Object[] result = new Object[3]; + result[0] = 200; + result[1] = type; + System.out.println(pic); + System.out.println(type); + result[2] = callBack.getResult().body().byteStream(); + return result; + } + } catch (Throwable th) { + th.printStackTrace(); + } + return null; + } +} diff --git a/TVBox_Java/spider/NewXPath.java b/TVBox_Java/spider/NewXPath.java new file mode 100644 index 0000000..f8e4555 --- /dev/null +++ b/TVBox_Java/spider/NewXPath.java @@ -0,0 +1,474 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import com.github.catvod.xpath.XPathRule; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.seimicrawler.xpath.JXDocument; +import org.seimicrawler.xpath.JXNode; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; + +public class NewXPath extends Spider { + + + @Override + public void init(Context context) { + super.init(context); + } + + public void init(Context context, String extend) { + super.init(context, extend); + this.ext = extend; + } + + @Override + public String homeContent(boolean filter) { + try { + fetchRule(); + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + if (rule.getCateManual().size() > 0) { + Set keys = rule.getCateManual().keySet(); + for (String k : keys) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_name", k); + jsonObject.put("type_id", rule.getCateManual().get(k)); + classes.put(jsonObject); + } + } + try { + String webUrl = rule.getHomeUrl(); + JXDocument doc = JXDocument.create(fetch(webUrl)); + if (rule.getCateManual().size() == 0) { + List navNodes = doc.selN(rule.getCateNode()); + for (int i = 0; i < navNodes.size(); i++) { + String name = navNodes.get(i).selOne(rule.getCateName()).asString().trim(); + name = rule.getCateNameR(name); + String id = navNodes.get(i).selOne(rule.getCateId()).asString().trim(); + id = rule.getCateIdR(id); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + if (!rule.getHomeVodNode().isEmpty()) { + try { + JSONArray videos = new JSONArray(); + List vodNodes = doc.selN(rule.getHomeVodNode()); + for (int i = 0; i < vodNodes.size(); i++) { + String name = vodNodes.get(i).selOne(rule.getHomeVodName()).asString().trim(); + name = rule.getHomeVodNameR(name); + String id = vodNodes.get(i).selOne(rule.getHomeVodId()).asString().trim(); + id = rule.getHomeVodIdR(id); + String pic = vodNodes.get(i).selOne(rule.getHomeVodImg()).asString().trim(); + pic = rule.getHomeVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = ""; + if (!rule.getHomeVodMark().isEmpty()) { + try { + mark = vodNodes.get(i).selOne(rule.getHomeVodMark()).asString().trim(); + mark = rule.getHomeVodMarkR(mark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + result.put("class", classes); + if (filter && rule.getFilter() != null) { + result.put("filters", rule.getFilter()); + } + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", rule.getUa().isEmpty() + ? "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36" + : rule.getUa()); + return headers; + } + + @Override + public String homeVideoContent() { + try { + fetchRule(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { + return rule.getCateUrl().replace("{cateId}", tid).replace("{catePg}", pg); + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + fetchRule(); + String webUrl = categoryUrl(tid, pg, filter, extend); + JSONArray videos = new JSONArray(); + JXDocument doc = JXDocument.create(fetch(webUrl)); + List vodNodes = doc.selN(rule.getCateVodNode()); + for (int i = 0; i < vodNodes.size(); i++) { + String name = vodNodes.get(i).selOne(rule.getCateVodName()).asString().trim(); + name = rule.getCateVodNameR(name); + String id = vodNodes.get(i).selOne(rule.getCateVodId()).asString().trim(); + id = rule.getCateVodIdR(id); + String pic = vodNodes.get(i).selOne(rule.getCateVodImg()).asString().trim(); + pic = rule.getCateVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = ""; + if (!rule.getCateVodMark().isEmpty()) { + try { + mark = vodNodes.get(i).selOne(rule.getCateVodMark()).asString().trim(); + mark = rule.getCateVodMarkR(mark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", name + "$$$" + pic + "$$$" + id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("page", pg); + result.put("pagecount", Integer.MAX_VALUE); + result.put("limit", 90); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected void detailContentExt(String content, JSONObject vod) { + + } + + @Override + public String detailContent(List ids) { + try { + fetchRule(); + String[] idInfo = ids.get(0).split("\\$\\$\\$"); + System.out.println(ids.get(0)); + String webUrl = rule.getDetailUrl().replace("{vid}", idInfo[2]); + + String webContent = fetch(webUrl); + JXDocument doc = JXDocument.create(webContent); + JXNode vodNode = doc.selNOne(rule.getDetailNode()); + + String cover = idInfo[1], title = idInfo[0], desc = "", category = "", area = "", year = "", remark = "", director = "", actor = ""; + + + if (!rule.getDetailCate().isEmpty()) { + try { + category = vodNode.selOne(rule.getDetailCate()).asString().trim(); + category = rule.getDetailCateR(category); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailYear().isEmpty()) { + try { + year = vodNode.selOne(rule.getDetailYear()).asString().trim(); + year = rule.getDetailYearR(year); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailArea().isEmpty()) { + try { + area = vodNode.selOne(rule.getDetailArea()).asString().trim(); + area = rule.getDetailAreaR(area); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailMark().isEmpty()) { + try { + remark = vodNode.selOne(rule.getDetailMark()).asString().trim(); + remark = rule.getDetailMarkR(remark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailActor().isEmpty()) { + try { + actor = vodNode.selOne(rule.getDetailActor()).asString().trim(); + actor = rule.getDetailActorR(actor); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailDirector().isEmpty()) { + try { + director = vodNode.selOne(rule.getDetailDirector()).asString().trim(); + director = rule.getDetailDirectorR(director); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailDesc().isEmpty()) { + try { + desc = vodNode.selOne(rule.getDetailDesc()).asString().trim(); + desc = rule.getDetailDescR(desc); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + + JSONObject vod = new JSONObject(); + vod.put("vod_id", idInfo[2]); + vod.put("vod_name", title); + vod.put("vod_pic", cover); + vod.put("type_name", category); + vod.put("vod_year", year); + vod.put("vod_area", area); + vod.put("vod_remarks", remark); + vod.put("vod_actor", actor); + vod.put("vod_director", director); + vod.put("vod_content", desc); + + ArrayList playFrom = new ArrayList<>(); + + List fromNodes = doc.selN(rule.getDetailFromNode()); + for (int i = 0; i < fromNodes.size(); i++) { + String name = fromNodes.get(i).selOne(rule.getDetailFromName()).asString().trim(); + name = rule.getDetailFromNameR(name); + playFrom.add(name); + } + + ArrayList playList = new ArrayList<>(); + List urlListNodes = doc.selN(rule.getDetailUrlNode()); + for (int i = 0; i < urlListNodes.size(); i++) { + List urlNodes = urlListNodes.get(i).sel(rule.getDetailUrlSubNode()); + List vodItems = new ArrayList<>(); + for (int j = 0; j < urlNodes.size(); j++) { + String name = urlNodes.get(j).selOne(rule.getDetailUrlName()).asString().trim(); + name = rule.getDetailUrlNameR(name); + String id = urlNodes.get(j).selOne(rule.getDetailUrlId()).asString().trim(); + id = rule.getDetailUrlIdR(id); + vodItems.add(name + "$" + id); + } + // 排除播放列表为空的播放源 + if (vodItems.size() == 0 && playFrom.size() > i) { + playFrom.set(i, ""); + } + playList.add(TextUtils.join("#", vodItems)); + } + // 排除播放列表为空的播放源 + for (int i = playFrom.size() - 1; i >= 0; i--) { + if (playFrom.get(i).isEmpty()) + playFrom.remove(i); + } + for (int i = playList.size() - 1; i >= 0; i--) { + if (playList.get(i).isEmpty()) + playList.remove(i); + } + for (int i = playList.size() - 1; i >= 0; i--) { + if (i >= playFrom.size()) + playList.remove(i); + } + String vod_play_from = TextUtils.join("$$$", playFrom); + String vod_play_url = TextUtils.join("$$$", playList); + vod.put("vod_play_from", vod_play_from); + vod.put("vod_play_url", vod_play_url); + + detailContentExt(webContent, vod); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + fetchRule(); + String webUrl = rule.getPlayUrl().isEmpty() ? id : rule.getPlayUrl().replace("{playUrl}", id); + SpiderDebug.log(webUrl); + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + if (!rule.getPlayUa().isEmpty()) { + result.put("ua", rule.getPlayUa()); + } + result.put("url", webUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + fetchRule(); + if (rule.getSearchUrl().isEmpty()) { + return ""; + } + String webUrl = rule.getSearchUrl().replace("{wd}", URLEncoder.encode(key)); + String webContent = fetch(webUrl); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + // add maccms suggest search api support + if (rule.getSearchVodNode().startsWith("json:")) { + String[] node = rule.getSearchVodNode().substring(5).split(">"); + JSONObject data = new JSONObject(webContent); + for (int i = 0; i < node.length; i++) { + if (i == node.length - 1) { + JSONArray vodArray = data.getJSONArray(node[i]); + for (int j = 0; j < vodArray.length(); j++) { + JSONObject vod = vodArray.getJSONObject(j); + String name = vod.optString(rule.getSearchVodName()).trim(); + name = rule.getSearchVodNameR(name); + String id = vod.optString(rule.getSearchVodId()).trim(); + id = rule.getSearchVodIdR(id); + String pic = vod.optString(rule.getSearchVodImg()).trim(); + pic = rule.getSearchVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = vod.optString(rule.getSearchVodMark()).trim(); + mark = rule.getSearchVodMarkR(mark); + JSONObject v = new JSONObject(); + v.put("vod_id", name + "$$$" + pic + "$$$" + id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + } else { + data = data.getJSONObject(node[i]); + } + } + } else { + JXDocument doc = JXDocument.create(webContent); + List vodNodes = doc.selN(rule.getSearchVodNode()); + for (int i = 0; i < vodNodes.size(); i++) { + String name = vodNodes.get(i).selOne(rule.getSearchVodName()).asString().trim(); + name = rule.getSearchVodNameR(name); + String id = vodNodes.get(i).selOne(rule.getSearchVodId()).asString().trim(); + id = rule.getSearchVodIdR(id); + String pic = vodNodes.get(i).selOne(rule.getSearchVodImg()).asString().trim(); + pic = rule.getSearchVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = ""; + if (!rule.getCateVodMark().isEmpty()) { + try { + mark = vodNodes.get(i).selOne(rule.getSearchVodMark()).asString().trim(); + mark = rule.getSearchVodMarkR(mark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", name + "$$$" + pic + "$$$" + id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public boolean manualVideoCheck() { + return false; + } + + private String[] videoFormatList = new String[]{".m3u8", ".mp4", ".mpeg", ".flv", ".mp3", ".m4a"}; + + + @Override + public boolean isVideoFormat(String url) { + url = url.toLowerCase(); + if (url.contains("=http") || url.contains("=https") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) { + return false; + } + + for (String format : videoFormatList) { + if (url.contains(format)) { + return true; + } + } + return false; + } + + protected String ext = null; + protected XPathRule rule = null; + + protected void fetchRule() { + if (rule == null) { + if (ext != null) { + if (ext.startsWith("http")) { + String json = OkHttpUtil.string(ext, null); + rule = XPathRule.fromJson(json); + loadRuleExt(json); + } else { + rule = XPathRule.fromJson(ext); + loadRuleExt(ext); + } + } + } + } + + protected void loadRuleExt(String json) { + + } + + protected String fetch(String webUrl) { + SpiderDebug.log(webUrl); + return OkHttpUtil.string(webUrl, getHeaders(webUrl)); + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/Nfx.java b/TVBox_Java/spider/Nfx.java new file mode 100644 index 0000000..ed70d51 --- /dev/null +++ b/TVBox_Java/spider/Nfx.java @@ -0,0 +1,449 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Demo for self study + *

    + * Source from Author: CatVod + */ + +public class Nfx extends Spider { + + private static final String siteUrl = "https://nfxhd.com/"; + private static final String siteHost = "nfxhd.com"; + + protected JSONObject playerConfig; + + protected Pattern regexCategory = Pattern.compile("/vodtype/(\\w+)/"); + protected Pattern regexVid = Pattern.compile("/voddetail/(\\w+)/"); + protected Pattern regexPlay = Pattern.compile("/vodplay/(\\w+)-(\\d+)-(\\d+)/"); + protected Pattern regexPage = Pattern.compile("/vodshow/(\\S+)/"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"adaplay\":{\"sh\":\"菜逼播放器\",\"sn\":\"1\",\"pu\":\"https://nfxhd.com/dp.php/?url=\",\"or\":999},\"xigua\":{\"sh\":\"手动点播放才能播放的播放器\",\"sn\":\"1\",\"pu\":\"https://nfxhd.com/dp.php/?url=\",\"or\":999},\"danmuku\":{\"sh\":\"海王播放器\",\"sn\":\"1\",\"pu\":\"\",\"or\":999},\"dplayer\":{\"sh\":\"冥王星播放器\",\"sn\":\"0\",\"pu\":\"\",\"or\":999},\"bdxm3u8\":{\"sh\":\"北斗星m3u8\",\"sn\":\"1\",\"pu\":\"https://player.bdxzym3u8.com/dplayer/?url=\",\"or\":999},\"bdxyun\":{\"sh\":\"北斗星云播放\",\"sn\":\"1\",\"pu\":\"\",\"or\":999},\"gangtiexia\":{\"sh\":\"土星播放器\",\"sn\":\"1\",\"pu\":\"https://wy.bigmao.top/api/ShowVideoWy/3bb24322f78b47dfb8723c13d46d45ee/\",\"or\":999},\"tt10\":{\"sh\":\"木星播放器\",\"sn\":\"1\",\"pu\":\"https://wy.bigmao.top/api/ShowVideoMu/3bb24322f78b47dfb8723c13d46d45ee/\",\"or\":999},\"docker\":{\"sh\":\"彗星播放器\",\"sn\":\"1\",\"pu\":\"https://wy.bigmao.top/api/ShowVideoDoc/3bb24322f78b47dfb8723c13d46d45ee/\",\"or\":999},\"qq\":{\"sh\":\"腾讯视频\",\"sn\":\"1\",\"pu\":\"\",\"or\":999},\"youku\":{\"sh\":\"优酷\",\"sn\":\"1\",\"pu\":\"\",\"or\":999},\"qiyi\":{\"sh\":\"爱奇艺\",\"sn\":\"1\",\"pu\":\"\",\"or\":999},\"mgtv\":{\"sh\":\"仅限APP播放\",\"sn\":\"1\",\"pu\":\"\",\"or\":999},\"m3u8\":{\"sh\":\"m3u8\",\"sn\":\"1\",\"pu\":\"\",\"or\":999},\"mx771\":{\"sh\":\"站长采集的播放器\",\"sn\":\"0\",\"pu\":\"\",\"or\":999},\"ppayun2\":{\"sh\":\"白鸟座播放器\",\"sn\":\"1\",\"pu\":\"https://wy.bigmao.top/api/ShowVideoMu/3bb24322f78b47dfb8723c13d46d45ee/\",\"or\":999},\"sohu\":{\"sh\":\"搜狐\",\"sn\":\"1\",\"pu\":\"\",\"or\":999},\"iframe\":{\"sh\":\"iframe外链数据\",\"sn\":\"0\",\"pu\":\"\",\"or\":999}}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements elements = doc.select("ul.nav-menu>li>a"); + JSONArray classes = new JSONArray(); + ArrayList allClass = new ArrayList<>(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = !filter || (name.equals("电影") || name.equals("美剧") || name.equals("日韩") || name.equals("动漫")); + if (allClass.contains(name)) + show = false; + if (show) { + allClass.add(name); + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("ul.myui-vodlist>li>div"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".myui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + // 获取分类数据的url + String url = siteUrl + "/vodtype/" + tid + "-" + pg + "/"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.myui-page>li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && a.hasClass("btn-warm")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + } + } + } + + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.myui-panel_bd>ul>li>div"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".myui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/voddetail/" + ids.get(0) + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String vid = doc.selectFirst("span.mac_hits").attr("data-id"); + + String cover = doc.selectFirst("a.myui-vodlist__thumb img").attr("data-original"); + String title = doc.selectFirst("div.myui-content__detail h1.title").text(); + String desc = doc.selectFirst("div.col-pd>span.sketch").text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.myui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("分类:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.myui-panel__head").get(1).select("h3"); + Elements sourceList = doc.select("ul.myui-content__list"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("li>a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + headers.put("origin", " https://nfxhd.com"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + + + // 播放页 url + String url = siteUrl + "/vodplay/" + id + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", headers.toString()); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Nfyun.java b/TVBox_Java/spider/Nfyun.java new file mode 100644 index 0000000..857644f --- /dev/null +++ b/TVBox_Java/spider/Nfyun.java @@ -0,0 +1,503 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Nfyun extends Spider { + private static final String siteUrl = "https://yanaifei.cn"; + private static final String siteHost = "yanaifei.cn"; + private static Pattern pic = Pattern.compile("(?<=url=).*"); + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/vod/type/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/vod/detail/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/vod/play/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/vod/show/(\\S+).html"); + + protected String ext = null; + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"VIP\":{\"sh\":\"VIP\",\"pu\":\"https://yanaifei.cn/player/?url=\",\"sn\":0,\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"1\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧片\",\"v\":\"7\"},{\"n\":\"爱情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"剧情片\",\"v\":\"11\"},{\"n\":\"战争片\",\"v\":\"12\"},{\"n\":\"动画片\",\"v\":\"32\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"枪战\",\"v\":\"枪战\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"文艺\",\"v\":\"文艺\"},{\"n\":\"微电影\",\"v\":\"微电影\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"农村\",\"v\":\"农村\"},{\"n\":\"儿童\",\"v\":\"儿童\"},{\"n\":\"网络电影\",\"v\":\"网络电影\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"普通话\",\"v\":\"普通话\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"2\"},{\"n\":\"国产剧\",\"v\":\"13\"},{\"n\":\"港台剧\",\"v\":\"14\"},{\"n\":\"日韩剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"泰国剧\",\"v\":\"20\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"青春偶像\",\"v\":\"青春偶像\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"乡村\",\"v\":\"乡村\"},{\"n\":\"情景\",\"v\":\"情景\"},{\"n\":\"商战\",\"v\":\"商战\"},{\"n\":\"网剧\",\"v\":\"网剧\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"普通话\",\"v\":\"普通话\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"3\"},{\"n\":\"大陆综艺\",\"v\":\"22\"},{\"n\":\"港台综艺\",\"v\":\"23\"},{\"n\":\"日韩综艺\",\"v\":\"24\"},{\"n\":\"欧美综艺\",\"v\":\"25\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"选秀\",\"v\":\"选秀\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"访谈\",\"v\":\"访谈\"},{\"n\":\"播报\",\"v\":\"播报\"},{\"n\":\"旅游\",\"v\":\"旅游\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"美食\",\"v\":\"美食\"},{\"n\":\"纪实\",\"v\":\"纪实\"},{\"n\":\"曲艺\",\"v\":\"曲艺\"},{\"n\":\"生活\",\"v\":\"生活\"},{\"n\":\"游戏互动\",\"v\":\"游戏互动\"},{\"n\":\"财经\",\"v\":\"财经\"},{\"n\":\"求职\",\"v\":\"求职\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"普通话\",\"v\":\"普通话\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"4\"},{\"n\":\"大陆动漫\",\"v\":\"26\"},{\"n\":\"港台动漫\",\"v\":\"27\"},{\"n\":\"日韩动漫\",\"v\":\"28\"},{\"n\":\"欧美动漫\",\"v\":\"29\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"普通话\",\"v\":\"普通话\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + JSONObject result = new JSONObject(); + Pattern redL = Pattern.compile("(?<=location.href =\").*?(?=\")"); + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + /* Elements X = A.select("script"); + String url = ""; + for (int i = 0; i < X.size(); i++) { + String finalUrl = X.get(i).html().trim(); + Matcher matcher3 = redL.matcher(finalUrl); + if (matcher3.find()) { + url = siteUrl + matcher3.group(0); + } else { + url = siteUrl; + } + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); */ + // 分类节点 + Elements elements = doc.select("ul.navbar-items li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.attr("title"); + boolean show = name.equals("电影") || + name.equals("连续剧") || + name.equals("综艺") || + name.equals("动漫"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + + + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.module").get(0); + Elements list = homeList.select("div.module-main div.module-items a"); + JSONArray videos = new JSONArray(); + for (int j = 0; j < list.size(); j++) { + Element vod = list.get(j); + String title = vod.attr("title"); + String cover = FixUrl(pic, vod.select("div.module-item-pic img").attr("data-original")); + String remark = vod.select("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + // } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/vod/show/" + TextUtils.join("-", urlParams) + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div[id=page]"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String span = doc.select("span.page-current").text(); + String wy = doc.select("div[id=page] a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.module-main div.module-items a"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = FixUrl(pic, vod.select("div.module-item-pic img").attr("data-original")); + String remark = vod.select("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/vod/detail/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + String cover = FixUrl(pic, doc.selectFirst("div.module-info-poster div div img").attr("data-original")); + String title = doc.selectFirst("div.module-info-heading h1").text(); + + String category = "", area = "", year = "", director = "", actor = "", remark = "", desc = ""; + + category = doc.select("div.module-info-tag-link").get(2).text(); + year = doc.select("div.module-info-tag-link a").get(0).text(); + area = doc.select("div.module-info-tag-link a").get(1).text(); + desc = doc.select("div.module-info-introduction-content p").text(); + + Elements span_text_muted = doc.select("div.module-info-item span"); + for (int i = 0; i < span_text_muted.size() - 2; i++) { + Element Spantext = span_text_muted.get(i); + String info = Spantext.text(); + if (info.contains("更新:")) { + try { + remark = Spantext.parent().select("div").text(); + } catch (Exception e) { + remark = ""; + } + } else if (info.contains("导演:")) { + try { + director = Spantext.parent().select("div a").text(); + } catch (Exception e) { + director = ""; + } + } else if (info.contains("主演:")) { + try { + actor = Spantext.parent().select("div a").text(); + } catch (Exception e) { + actor = ""; + } + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.module-tab-items-box div span"); + Elements sourceList = doc.select("div.module-play-list"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("div a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + String vodName = vod.select("span").text(); + vodItems.add(vodName + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + headers.put("origin", siteUrl); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + + + // 播放页 url + String url = siteUrl + "/vod/play/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = pCfg.getString("pu") + player.getString("url"); + Document docs = Jsoup.parse(OkHttpUtil.string(videoUrl, getHeaders(videoUrl))); + Pattern pattern = Pattern.compile("(?<=url\"\\S\").*?(?=\")"); + Elements allScripts = docs.select("body script"); + for (int j = 0; j < allScripts.size(); j++) { + String scContents = allScripts.get(j).html().trim(); + Matcher matcher = pattern.matcher(scContents); + if (matcher.find()) { + String players = matcher.group(0); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", players); + result.put("header", headers.toString()); + } + break; + } + } + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private static String FixUrl(Pattern pattern, String src) { + if (pattern == null) + return src; + try { + Matcher matcher = pattern.matcher(src); + if (matcher.find()) { + return matcher.group(0).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } +} diff --git a/TVBox_Java/spider/Olevod.java b/TVBox_Java/spider/Olevod.java new file mode 100644 index 0000000..82e4bbb --- /dev/null +++ b/TVBox_Java/spider/Olevod.java @@ -0,0 +1,503 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Olevod extends Spider { + private static final String siteUrl = "https://olevod.com"; + private static final String siteHost = "olevod.com"; + + + boolean pron = false; + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/index.php/vod/type/id/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/index.php/vod/detail/id/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/index.php/vod/play/id/(\\d+)/sid/(\\d+)/nid/(\\d+).html"); + private Pattern regexPage = Pattern.compile("\\S+/page/(\\d+)\\S+"); + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + if (extend != null && extend.trim().equals("ojbkporn")) { + pron = true; + } + } + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"plyr\":{\"sh\":\"欧乐官方播放器\",\"sn\":0,\"pu\":\"\",\"or\":999},\"openplayer\":{\"sh\":\"欧乐影院\",\"sn\":0,\"pu\":\"\",\"or\":999},\"videojs\":{\"sh\":\"欧乐直播播放\",\"sn\":0,\"pu\":\"\",\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":\"tid\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"动作片\",\"v\":\"101\"},{\"n\":\"喜剧片\",\"v\":\"102\"},{\"n\":\"爱情片\",\"v\":\"103\"},{\"n\":\"科幻片\",\"v\":\"104\"},{\"n\":\"恐怖片\",\"v\":\"105\"},{\"n\":\"剧情片\",\"v\":\"106\"},{\"n\":\"战争片\",\"v\":\"107\"},{\"n\":\"动画片\",\"v\":\"108\"},{\"n\":\"悬疑片\",\"v\":\"109\"},{\"n\":\"惊悚片\",\"v\":\"110\"},{\"n\":\"纪录片\",\"v\":\"111\"},{\"n\":\"奇幻片\",\"v\":\"112\"},{\"n\":\"犯罪片\",\"v\":\"113\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"马来西亚\",\"v\":\"马来西亚\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"西语\",\"v\":\"西语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"俄语\",\"v\":\"俄语\"},{\"n\":\"意大利语\",\"v\":\"意大利语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"印地语\",\"v\":\"印地语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"ifvip\",\"name\":\"权限\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"免费\",\"v\":\"2\"},{\"n\":\"会员\",\"v\":\"3\"}]}],\"2\":[{\"key\":\"tid\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产剧\",\"v\":\"202\"},{\"n\":\"欧美剧\",\"v\":\"201\"},{\"n\":\"港台剧\",\"v\":\"203\"},{\"n\":\"日韩剧\",\"v\":\"204\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"马来西亚\",\"v\":\"马来西亚\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"西语\",\"v\":\"西语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"俄语\",\"v\":\"俄语\"},{\"n\":\"意大利语\",\"v\":\"意大利语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"印地语\",\"v\":\"印地语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"ifvip\",\"name\":\"权限\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"免费\",\"v\":\"2\"},{\"n\":\"会员\",\"v\":\"3\"}]}],\"3\":[{\"key\":\"tid\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"真人秀\",\"v\":\"305\"},{\"n\":\"音乐\",\"v\":\"302\"},{\"n\":\"搞笑\",\"v\":\"304\"},{\"n\":\"家庭\",\"v\":\"301\"},{\"n\":\"曲艺\",\"v\":\"303\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"马来西亚\",\"v\":\"马来西亚\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"西语\",\"v\":\"西语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"俄语\",\"v\":\"俄语\"},{\"n\":\"意大利语\",\"v\":\"意大利语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"印地语\",\"v\":\"印地语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"ifvip\",\"name\":\"权限\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"免费\",\"v\":\"2\"},{\"n\":\"会员\",\"v\":\"3\"}]}],\"4\":[{\"key\":\"tid\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"日本\",\"v\":\"401\"},{\"n\":\"国产\",\"v\":\"402\"},{\"n\":\"欧美\",\"v\":\"403\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"马来西亚\",\"v\":\"马来西亚\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"西语\",\"v\":\"西语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"俄语\",\"v\":\"俄语\"},{\"n\":\"意大利语\",\"v\":\"意大利语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"印地语\",\"v\":\"印地语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"ifvip\",\"name\":\"权限\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"免费\",\"v\":\"2\"},{\"n\":\"会员\",\"v\":\"3\"}]}],\"5\":[{\"key\":\"tid\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"AV女优\",\"v\":\"505\"},{\"n\":\"日韩\",\"v\":\"502\"},{\"n\":\"欧美\",\"v\":\"501\"},{\"n\":\"动漫\",\"v\":\"503\"},{\"n\":\"国产\",\"v\":\"504\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"letter\",\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"}]},{\"key\":\"ifvip\",\"name\":\"权限\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"免费\",\"v\":\"2\"},{\"n\":\"会员\",\"v\":\"3\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.top_nav li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("连续剧") || + name.equals("动漫") || + name.equals("综艺") || + name.equals("午夜影院"); + + if (name.equals("午夜影院") && !pron) { + continue; + } + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.cbox1").get(0); + Elements list = homeList.select("ul.vodlist li.vodlist_item"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("a.vodlist_thumb").attr("title"); + String cover = siteUrl + vod.selectFirst("a.vodlist_thumb").attr("data-original"); + String remark = ""; + try { + remark = vod.select("span.pic_text em").text(); + } catch (Exception e) { + remark = vod.select("span.text_dy").get(0).text(); + } + Matcher matcher = regexVid.matcher(vod.selectFirst("a.vodlist_thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/index.php/vod/show/id/"; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "/" + key + "/" + URLEncoder.encode(value); + } + } + } + url += "/page/" + pg + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.page"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("li a"); + if (a == null) + continue; + String span = pageInfo.select("li.active a").text(); + String wy = doc.select("ul.page li a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).trim()); + } else { + pageCount = 0; + } + break; + + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("ul.vodlist li.vodlist_item"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("a.vodlist_thumb").attr("title"); + String cover = siteUrl + vod.selectFirst("a.vodlist_thumb").attr("data-original"); + String remark = ""; + try { + remark = vod.select("span.pic_text em").text(); + } catch (Exception e) { + remark = vod.select("span.text_dy").get(0).text(); + } + Matcher matcher = regexVid.matcher(vod.selectFirst("a.vodlist_thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 20); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 20); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/index.php/vod/detail/id/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String vid = doc.selectFirst("a.digg_link").attr("data-id"); + + String cover = siteUrl + doc.selectFirst("div.content_thumb a").attr("data-original"); + String title = doc.selectFirst("div.content_thumb a").attr("title"); + String desc = doc.selectFirst("div.context span").text(); + String category = "", area = "", year = "", director = "", actor = "", remark = ""; + remark = doc.select("span.data_style").text(); + Elements span_text_muted = doc.select("li.data span"); + for (int i = 0; i < span_text_muted.size() - 2; i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.contains("类型")) { + try { + category = text.parent().select("a").get(2).text(); + } catch (Exception e) { + category = ""; + } + } else if (info.contains("年份")) { + try { + year = text.parent().select("a").get(0).text(); + } catch (Exception e) { + year = ""; + } + } else if (info.contains("地区")) { + try { + area = text.parent().select("a").get(1).text(); + } catch (Exception e) { + area = ""; + } + } + } + List actors = new ArrayList<>(); + Elements aa = doc.select("li.data").get(3).select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + List directors = new ArrayList<>(); + Elements bb = doc.select("li.data").get(2).select("a"); + for (int j = 0; j < bb.size(); j++) { + directors.add(bb.get(j).text()); + } + director = TextUtils.join(",", directors); + + + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.play_source_tab a"); + Elements sourceList = doc.select("div.playlist_full"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.attr("alt"); + sourceName = sourceName.replaceAll("[^\u4E00-\u9FA5]", ""); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("ul>li>a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "/sid/" + matcher.group(2) + "/nid/" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = siteUrl + "/index.php/vod/play/id/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", ""); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + if (title.contains(key)) { + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private static String doReplaceRegex(Pattern pattern, String src) { + if (pattern == null) + return src; + try { + Matcher matcher = pattern.matcher(src); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } + +} diff --git a/TVBox_Java/spider/Proxy.java b/TVBox_Java/spider/Proxy.java new file mode 100644 index 0000000..bf67c71 --- /dev/null +++ b/TVBox_Java/spider/Proxy.java @@ -0,0 +1,70 @@ +package com.github.catvod.spider; + +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.live.TxtSubscribe; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.io.ByteArrayInputStream; +import java.util.Map; + +public class Proxy extends Spider { + + public static int localPort = -1; + + static void adjustLocalPort() { + if (localPort > 0) + return; + int port = 9978; + while (port < 10000) { + String resp = OkHttpUtil.string("http://127.0.0.1:" + port + "/proxy?do=ck", null); + if (resp.equals("ok")) { + SpiderDebug.log("Found local server port " + port); + localPort = port; + break; + } + port++; + } + } + + public static String localProxyUrl() { + adjustLocalPort(); + return "http://127.0.0.1:" + Proxy.localPort + "/proxy"; + } + + public static Object[] proxy(Map params) { + try { + String what = params.get("do"); + if (what.equals("live")) { + String type = params.get("type"); + if (type.equals("txt")) { + String ext = params.get("ext"); + if (!ext.startsWith("http")) { + ext = new String(Base64.decode(ext, Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP), "UTF-8"); + } + return TxtSubscribe.load(ext); + } + } else if (what.equals("ck")) { + Object[] result = new Object[3]; + result[0] = 200; + result[1] = "text/plain; charset=utf-8"; + ByteArrayInputStream baos = new ByteArrayInputStream("ok".getBytes("UTF-8")); + result[2] = baos; + return result; + } else if (what.equals("ali")) { + return PushAgent.vod(params); + } else if (what.equals("czspp")) { + return Czsapp.loadsub(params.get("url")); + } else if (what.equals("kmys")) { + return Kmys.vod(params); + } + + } catch (Throwable th) { + + } + return null; + } + +} diff --git a/TVBox_Java/spider/PushAgent.java b/TVBox_Java/spider/PushAgent.java new file mode 100644 index 0000000..5c66218 --- /dev/null +++ b/TVBox_Java/spider/PushAgent.java @@ -0,0 +1,656 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.net.UrlQuerySanitizer; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +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.io.ByteArrayInputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.concurrent.locks.ReentrantLock; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; +import okhttp3.OkHttpClient; +import okhttp3.Response; +import okhttp3.ResponseBody; + +public class PushAgent extends Spider { + + private static String j = ""; + private static long StopRefresh; + private static final Map l = new HashMap(); + private static final Map q = new HashMap(); + private static final Map> dizz = new HashMap(); + private static final ReentrantLock ReentrantLock = new ReentrantLock(); + private static final long n = 0; + private static final String SiteUrl = "https://api.aliyundrive.com"; + private static final Pattern AliPLink = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)"); + public static Pattern Folder = Pattern.compile("www.aliyundrive.com/s/([^/]+)(/folder/([^/]+))?"); + public static String Token; + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + if (extend.startsWith("http")) { + Token = OkHttpUtil.string(extend, null); + } else { + Token = extend; + } + } + + protected static long Time() { + return (System.currentTimeMillis() / 1000) + n; + } + + public static Object[] ProxyMedia(Map map) { + try { + String ShareId = map.get("share_id"); + String FileId = map.get("file_id"); + String MediaId = map.get("media_id"); + String Token = getShareTk(ShareId, ""); + ReentrantLock.lock(); + String str4 = dizz.get(FileId).get(MediaId); + UrlQuerySanitizer urlQuerySanitizer = new UrlQuerySanitizer(str4); + Long l2 = new Long(urlQuerySanitizer.getValue("x-oss-expires")); + long longValue = l2.longValue(); + if (longValue - Time() <= 60) { + VideoDetail(ShareId, Token, FileId); + Map> map3 = dizz; + str4 = map3.get(FileId).get(MediaId); + } + ReentrantLock.unlock(); + new HashMap(); + OKCallBack.OKCallBackDefault abVar = new OKCallBack.OKCallBackDefault() { + public void onResponse(Response response) { + } + + @Override + protected void onFailure(Call call, Exception exc) { + } + }; + OkHttpClient YM = OkHttpUtil.defaultClient(); + HashMap t = Headers(); + OkHttpUtil.get(YM, str4, null, t, abVar); + ResponseBody body = abVar.getResult().body(); + return new Object[]{200, "video/MP2T", body.byteStream()}; + } catch (Exception e) { + SpiderDebug.log(e); + return null; + } + } + + public static Object[] vod(Map map) { + String str = map.get("type"); + if (str.equals("m3u8")) { + return getFile(map); + } + if (str.equals("media")) { + return ProxyMedia(map); + } + return null; + } + + + public static Object[] getFile(Map map) { + try { + String ShareId = map.get("share_id"); + String ShareTK = getShareTk(ShareId, ""); + return new Object[]{200, "application/octet-stream", new ByteArrayInputStream(VideoDetail(ShareId, ShareTK, map.get("file_id")).getBytes())}; + } catch (Exception e) { + SpiderDebug.log(e); + return null; + } + } + + private static String Post(String str, String str2, Map map) { + OKCallBack.OKCallBackString acVar = new OKCallBack.OKCallBackString() { + + public void onResponse(String r) { + } + + @Override + protected void onFailure(Call call, Exception exc) { + } + }; + OkHttpClient YM = OkHttpUtil.defaultClient(); + OkHttpUtil.postJson(YM, str, str2, map, acVar); + return acVar.getResult(); + } + + private static synchronized String getShareTk(String str, String str2) { + + try { + long b = Time(); + Map map = l; + String str3 = map.get(str); + Long l2 = q.get(str); + if (!TextUtils.isEmpty(str3)) { + if (l2 - b > 600) { + return str3; + } + } + JSONObject jSONObject = new JSONObject(); + jSONObject.put("share_id", str); + jSONObject.put("share_pwd", str2); + String jSONObject2 = jSONObject.toString(); + JSONObject jSONObject3 = new JSONObject(Post("https://api.aliyundrive.com/v2/share_link/get_share_token", jSONObject2, Headers())); + String string = jSONObject3.getString("share_token"); + Long valueOf = Long.valueOf(b + jSONObject3.getLong("expires_in")); + Map map2 = q; + map2.put(str, valueOf); + Map map3 = l; + map3.put(str, string); + return string; + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + + } + + + private static HashMap Headers() { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"); + headers.put("Referer", "https://www.aliyundrive.com/"); + return headers; + } + + private 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/94.0.4606.54 Safari/537.36"); + return headers; + } + + + private static void refreshTk() { + long b = Time(); + String str = j; + if (str.isEmpty() || StopRefresh - b <= 600) { + try { + JSONObject jSONObject = new JSONObject(); + jSONObject.put("refresh_token", Token); + String jSONObject2 = jSONObject.toString(); + HashMap t = Headers(); + JSONObject jSONObject3 = new JSONObject(Post("https://api.aliyundrive.com/token/refresh", jSONObject2, t)); + StringBuilder sb = new StringBuilder(); + String string = jSONObject3.getString("token_type"); + sb.append(string); + sb.append(" "); + String string2 = jSONObject3.getString("access_token"); + sb.append(string2); + j = sb.toString(); + long j2 = jSONObject3.getLong("expires_in"); + StopRefresh = b + j2; + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } + + + private static String VideoDetail(String shareid, String token, String fileid) { + int i; + try { + String url = SiteUrl + "/v2/file/get_share_link_video_preview_play_info"; + JSONObject Data = new JSONObject(); + Data.put("share_id", shareid); + Data.put("category", "live_transcoding"); + Data.put("file_id", fileid); + Data.put("template_id", ""); + HashMap headers = Headers(); + headers.put("x-share-token", token); + String str5 = j; + headers.put("authorization", str5); + String jSONObject2 = Data.toString(); + JSONObject jSONObject3 = new JSONObject(Post(url, jSONObject2, headers)); + ArrayList arrayList = new ArrayList(); + arrayList.add("FHD"); + arrayList.add("HD"); + arrayList.add("SD"); + JSONObject jSONObject4 = jSONObject3.getJSONObject("video_preview_play_info"); + JSONArray jSONArray = jSONObject4.getJSONArray("live_transcoding_task_list"); + Iterator it = arrayList.iterator(); + String objectUrl = ""; + while (true) { + boolean hasNext = it.hasNext(); + i = 0; + if (!hasNext) { + break; + } + String str7 = (String) it.next(); + if (!objectUrl.isEmpty()) { + break; + } + while (true) { + if (i < jSONArray.length()) { + JSONObject jSONObject5 = jSONArray.getJSONObject(i); + String string = jSONObject5.getString("template_id"); + if (string.equals(str7)) { + objectUrl = jSONObject5.getString("url"); + break; + } + i++; + } + } + } + if (TextUtils.isEmpty(objectUrl)) { + JSONObject jSONObject6 = jSONArray.getJSONObject(0); + objectUrl = jSONObject6.getString("url"); + } + HashMap hashMap = new HashMap(); + HashMap header = Headers(); + OkHttpUtil.stringNoRedirect(objectUrl, header, hashMap); + String d = OkHttpUtil.getRedirectLocation(hashMap); + String i2 = OkHttpUtil.string(d, Headers()); + String substring = d.substring(0, d.lastIndexOf("/")) + "/"; + ArrayList arrayList2 = new ArrayList(); + HashMap hashMap2 = new HashMap(); + String[] split = i2.split("\n"); + int length = split.length; + int i3 = 0; + while (i < length) { + String str8 = split[i]; + if (str8.contains("x-oss-expires")) { + i3++; + String sb6 = substring + str8; + String sb8 = "" + i3; + hashMap2.put(sb8, sb6); + str8 = Proxy.localProxyUrl() + "?do=push&type=media&share_id=" + shareid + "&file_id=" + fileid + "&media_id=" + i3; + } + arrayList2.add(str8); + i++; + } + dizz.put(fileid, hashMap2); + return TextUtils.join("\n", arrayList2); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public void listFiles(Map map, String str, String str2, String str3) { + String str4; + try { + String str5 = "https://api.aliyundrive.com/adrive/v3/file/list"; + HashMap Y2 = Headers(); + Y2.put("x-share-token", str2); + JSONObject jSONObject = new JSONObject(); + jSONObject.put("image_thumbnail_process", "image/resize,w_160/format,jpeg"); + jSONObject.put("image_url_process", "image/resize,w_1920/format,jpeg"); + jSONObject.put("limit", 200); + jSONObject.put("order_by", "updated_at"); + jSONObject.put("order_direction", "DESC"); + jSONObject.put("parent_file_id", str3); + jSONObject.put("share_id", str); + jSONObject.put("video_thumbnail_process", "video/snapshot,t_1000,f_jpg,ar_auto,w_300"); + String str6 = ""; + ArrayList arrayList = new ArrayList(); + for (int i = 1; i <= 50 && (i < 2 || !TextUtils.isEmpty(str6)); i++) { + jSONObject.put("marker", str6); + JSONObject jSONObject2 = new JSONObject(Post(str5, jSONObject.toString(), Y2)); + JSONArray jSONArray = jSONObject2.getJSONArray("items"); + int i2 = 0; + while (i2 < jSONArray.length()) { + JSONObject jSONObject3 = jSONArray.getJSONObject(i2); + if (jSONObject3.getString("type").equals("folder")) { + arrayList.add(jSONObject3.getString("file_id")); + str4 = str5; + } else { + str4 = str5; + if (jSONObject3.getString("mime_type").contains("video")) { + String replace = jSONObject3.getString("name").replace("#", "_").replace("$", "_"); + if (replace.length() > 20) { + replace = replace.substring(0, 10) + "..." + replace.substring(replace.length() - 10); + } + String fileIds = jSONObject3.getString("file_id"); + map.put(replace, str + "+" + str2 + "+" + fileIds); + } + } + i2++; + str5 = str4; + } + str6 = jSONObject2.getString("next_marker"); + } + for (String str7 : arrayList) { + try { + listFiles(map, str, str2, str7); + } catch (Exception e) { + SpiderDebug.log(e); + return; + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + + public String getAliContent(List list) { + String str; + try { + String url = list.get(0).trim(); + Pattern pattern = Folder; + Matcher matcher = pattern.matcher(url); + if (!matcher.find()) { + return ""; + } + String group = matcher.group(1); + if (matcher.groupCount() == 3) { + str = matcher.group(3); + } else { + str = ""; + } + String AnonymousUrl = SiteUrl + "/adrive/v3/share_link/get_share_by_anonymous"; + JSONObject Data = new JSONObject(); + Data.put("share_id", group); + HashMap headers = Headers(); + JSONObject jSONObject3 = new JSONObject(Post(AnonymousUrl, Data.toString(), headers)); + JSONArray jSONArray = jSONObject3.getJSONArray("file_infos"); + if (jSONArray.length() == 0) { + return ""; + } + JSONObject jSONObject4 = null; + boolean isEmpty = TextUtils.isEmpty(str); + if (!isEmpty) { + int i = 0; + while (true) { + if (i >= jSONArray.length()) { + break; + } + JSONObject jSONObject5 = jSONArray.getJSONObject(i); + String string = jSONObject5.getString("file_id"); + String string2 = jSONObject5.getString("file_id"); + if (string.equals(string2)) { + jSONObject4 = jSONObject5; + break; + } + i++; + } + if (jSONObject4 == null) { + return ""; + } + } else { + jSONObject4 = jSONArray.getJSONObject(0); + str = jSONObject4.getString("file_id"); + } + JSONObject jSONObject6 = new JSONObject(); + jSONObject6.put("vod_id", url); + String string3 = jSONObject3.getString("share_name"); + jSONObject6.put("vod_name", string3); + jSONObject6.put("vod_pic", jSONObject3.getString("avatar")); + jSONObject6.put("vod_content", url); + jSONObject6.put("vod_play_from", "AliYun"); + ArrayList arrayList = new ArrayList(); + String string4 = jSONObject4.getString("type"); + if (!string4.equals("folder")) { + String string5 = jSONObject4.getString("type"); + if (string5.equals("file")) { + String string6 = jSONObject4.getString("category"); + if (string6.equals("video")) { + str = "root"; + } + } + return ""; + } + + String s = getShareTk(group, ""); + Map hashMap = new HashMap<>(); + listFiles(hashMap, group, s, str); + ArrayList arrayList2 = new ArrayList(hashMap.keySet()); + Collections.sort(arrayList2); + Iterator it = arrayList2.iterator(); + while (true) { + if (!it.hasNext()) { + break; + } + String str3 = (String) it.next(); + String sb4 = str3 + "$" + hashMap.get(str3); + arrayList.add(sb4); + } + ArrayList arrayList3 = new ArrayList(); + for (int i2 = 0; i2 < 4; i2++) { + String join = TextUtils.join("#", arrayList); + arrayList3.add(join); + } + String join2 = TextUtils.join("$$$", arrayList3); + jSONObject6.put("vod_play_url", join2); + JSONObject result = new JSONObject(); + JSONArray jSONArray2 = new JSONArray(); + jSONArray2.put(jSONObject6); + result.put("list", jSONArray2); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + @Override + public String detailContent(List list) { + try { + String url = list.get(0); + Pattern pattern = Folder; + Pattern pattern2 = AliPLink; + Matcher matcher2 = pattern2.matcher(url); + Matcher matcher = pattern.matcher(url); + if (Misc.isVip(url) && !url.contains("qq.com") && !url.contains("mgtv.com")) { + Document doc = Jsoup.parse(OkHttpUtil.string(url, null)); + String VodName = doc.select("head > title").text(); + JSONObject result = new JSONObject(); + JSONArray lists = new JSONArray(); + JSONObject vodAtom = new JSONObject(); + vodAtom.put("vod_id", url); + vodAtom.put("vod_name", VodName); + vodAtom.put("vod_pic", "https://img.zcool.cn/community/0123545c74c5aea801213f261297df.png"); + vodAtom.put("type_name", "官源"); + vodAtom.put("vod_year", ""); + vodAtom.put("vod_area", ""); + vodAtom.put("vod_remarks", ""); + vodAtom.put("vod_actor", ""); + vodAtom.put("vod_director", ""); + vodAtom.put("vod_content", ""); + vodAtom.put("vod_play_from", "jx"); + vodAtom.put("vod_play_url", "立即播放$" + url); + lists.put(vodAtom); + result.put("list", lists); + return result.toString(); + } else if (Misc.isVip(url) && url.contains("qq.com")) { + List vodItems = new ArrayList<>(); + JSONObject result = new JSONObject(); + JSONArray lists = new JSONArray(); + JSONObject vodAtom = new JSONObject(); + Document doc = Jsoup.parse(OkHttpUtil.string(url, sHeaders())); + String VodName = doc.select("head > title").text(); + Elements playListA = doc.select("div.episode-list-rect__item"); + if (!playListA.isEmpty()) { + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + String a = vod.select("div").attr("data-vid"); + String b = vod.select("div").attr("data-cid"); + String id = "https://v.qq.com/x/cover/" + b + "/" + a; + String name = vod.select("div span").text(); + vodItems.add(name + "$" + id); + } + String playList = TextUtils.join("#", vodItems); + vodAtom.put("vod_play_url", playList); + } else { + vodAtom.put("vod_play_url", "立即播放$" + url); + } + vodAtom.put("vod_id", url); + vodAtom.put("vod_name", VodName); + vodAtom.put("vod_pic", "https://img2.baidu.com/it/u=2655029475,2190949369&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=593"); + vodAtom.put("type_name", "腾讯TV"); + vodAtom.put("vod_year", ""); + vodAtom.put("vod_area", ""); + vodAtom.put("vod_remarks", ""); + vodAtom.put("vod_actor", ""); + vodAtom.put("vod_director", ""); + vodAtom.put("vod_content", url); + vodAtom.put("vod_play_from", "jx"); + lists.put(vodAtom); + result.put("list", lists); + return result.toString(); + } else if (Misc.isVip(url) && url.contains("mgtv.com")) { + List vodItems = new ArrayList<>(); + JSONObject result = new JSONObject(); + JSONArray lists = new JSONArray(); + JSONObject vodAtom = new JSONObject(); + Pattern mgtv = Pattern.compile("https://\\S+mgtv.com/b/(\\d+)/(\\d+).html.*"); + Matcher mgtv1 = mgtv.matcher(url); + String VodNames = ""; + if (mgtv1.find()) { + String Ep = "https://pcweb.api.mgtv.com/episode/list?video_id=" + mgtv1.group(2); + JSONObject Data = new JSONObject(OkHttpUtil.string(Ep, Headers())); + VodNames = Data.getJSONObject("data").getJSONObject("info").getString("title"); + JSONArray a = new JSONArray(Data.getJSONObject("data").getString("list")); + if (a.length() > 0) { + for (int i = 0; i < a.length(); i++) { + JSONObject jObj = a.getJSONObject(i); + if (jObj.getString("isIntact").equals("1")) { + String VodName = jObj.getString("t4"); + String id = jObj.getString("video_id"); + String VodId = "https://www.mgtv.com/b/" + mgtv1.group(1) + "/" + id + ".html"; + vodItems.add(VodName + "$" + VodId); + } + } + String playList = TextUtils.join("#", vodItems); + vodAtom.put("vod_play_url", playList); + } else { + vodAtom.put("vod_play_url", "立即播放$" + url); + } + } + vodAtom.put("vod_id", url); + vodAtom.put("vod_name", VodNames); + vodAtom.put("vod_pic", "https://img2.baidu.com/it/u=2562822927,704100654&fm=253&fmt=auto&app=138&f=JPEG?w=600&h=380"); + vodAtom.put("type_name", "芒果TV"); + vodAtom.put("vod_year", ""); + vodAtom.put("vod_area", ""); + vodAtom.put("vod_remarks", ""); + vodAtom.put("vod_actor", ""); + vodAtom.put("vod_director", ""); + vodAtom.put("vod_content", url); + vodAtom.put("vod_play_from", "jx"); + lists.put(vodAtom); + result.put("list", lists); + return result.toString(); + } else if (Misc.isVideoFormat(url)) { + JSONObject result = new JSONObject(); + JSONArray lists = new JSONArray(); + JSONObject vodAtom = new JSONObject(); + vodAtom.put("vod_id", url); + vodAtom.put("vod_name", url); + vodAtom.put("vod_pic", "https://img.zcool.cn/community/0123545c74c5aea801213f261297df.png"); + vodAtom.put("type_name", "直连"); + vodAtom.put("vod_play_from", "player"); + vodAtom.put("vod_play_url", "立即播放$" + url); + lists.put(vodAtom); + result.put("list", lists); + return result.toString(); + } else if (url.startsWith("magnet")) { + String VodName = url; + if (url.length() > 100) { + VodName = url.substring(0, 30) + "..." + url.substring(url.length() - 10); + } + JSONObject result = new JSONObject(); + JSONArray lists = new JSONArray(); + JSONObject vodAtom = new JSONObject(); + vodAtom.put("vod_id", url); + vodAtom.put("vod_name", VodName); + vodAtom.put("vod_pic", "https://img2.baidu.com/it/u=1609185522,4130752057&fm=253&f=JPEG"); + vodAtom.put("type_name", "磁力"); + vodAtom.put("vod_play_from", "磁力测试"); + vodAtom.put("vod_play_url", "立即播放$" + url); + lists.put(vodAtom); + result.put("list", lists); + return result.toString(); + } else if (url.startsWith("http") && (matcher2.find())) { + return getAliContent(list); + } else if (url.startsWith("http") && (!matcher.find()) && (!matcher2.find())) { + Document doc = Jsoup.parse(OkHttpUtil.string(url, null)); + String VodName = doc.select("head > title").text(); + JSONObject result = new JSONObject(); + JSONArray lists = new JSONArray(); + JSONObject vodAtom = new JSONObject(); + vodAtom.put("vod_id", url); + vodAtom.put("vod_name", VodName); + vodAtom.put("vod_pic", "https://pic.rmb.bdstatic.com/bjh/1d0b02d0f57f0a42201f92caba5107ed.jpeg"); + vodAtom.put("type_name", "嗅探"); + vodAtom.put("vod_content", url); + vodAtom.put("vod_play_from", "嗅探"); + vodAtom.put("vod_play_url", "立即播放嗅探$" + url); + lists.put(vodAtom); + result.put("list", lists); + return result.toString(); + } + } catch (Throwable throwable) { + + } + return ""; + } + + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + switch (flag) { + case "jx": { + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("jx", "1"); + result.put("url", id); + return result.toString(); + } + case "player": { + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", id); + return result.toString(); + } + case "嗅探": { + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", id); + return result.toString(); + } + case "AliYun": + refreshTk(); + String[] split = id.split("\\+"); + String str3 = split[0]; + String str5 = split[2]; + String url = Proxy.localProxyUrl() + "?do=push&type=m3u8&share_id=" + str3 + "&file_id=" + str5; + JSONObject jSONObject = new JSONObject(); + jSONObject.put("parse", "0"); + jSONObject.put("playUrl", ""); + jSONObject.put("url", url); + jSONObject.put("header", ""); + return jSONObject.toString(); + } + } catch (Exception e) { + e.printStackTrace(); + SpiderDebug.log(e); + } + return ""; + } + +} diff --git a/TVBox_Java/spider/QQ.java b/TVBox_Java/spider/QQ.java new file mode 100644 index 0000000..1c38906 --- /dev/null +++ b/TVBox_Java/spider/QQ.java @@ -0,0 +1,331 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.net.Uri; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import rxhttp.wrapper.annotations.NonNull; + +public class QQ extends Spider { + protected JSONObject dn; + protected JSONObject q = new JSONObject(); + + private String q(String str, String str2) { + String str3; + try { + if (str2.startsWith("//")) { + Uri parse = Uri.parse(str); + str3 = parse.getScheme() + ":" + str2; + } else if (str2.contains("://")) { + return str2; + } else { + Uri parse2 = Uri.parse(str); + str3 = parse2.getScheme() + "://" + parse2.getHost() + str2; + } + return str3; + } catch (Exception e) { + SpiderDebug.log(e); + return str2; + } + } + + public String categoryContent(String str, String str2, boolean z, HashMap hashMap) { + String str3; + try { + String str4 = "https://v.qq.com/x/bu/pagesheet/list?_all=1&append=1&channel=" + str + "&listpage=1&offset=" + ((Integer.parseInt(str2) - 1) * 21) + "&pagesize=21&sort=18"; + if (hashMap != null) { + for (String str5 : hashMap.keySet()) { + String trim = hashMap.get(str5).trim(); + if (trim.length() != 0) { + str4 = str4 + "&" + str5 + "=" + URLEncoder.encode(trim); + } + } + } + String content = OkHttpUtil.string(str4, getHeaders(str4)); + JSONObject jSONObject = new JSONObject(); + try { + Elements listItems = Jsoup.parse(content).select(".list_item"); + JSONArray jSONArray = new JSONArray(); + for (int i = 0; i < listItems.size(); i++) { + Element item = listItems.get(i); + String Pd = item.select("a").attr("title"); + String q = q(str4, item.select("img").attr("src")); + if (item.select(".figure_caption") == null) { + str3 = ""; + } else { + str3 = item.select(".figure_caption").text(); + } + String Pd2 = item.select("a").attr("data-float"); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", Pd2); + jSONObject2.put("vod_name", Pd); + jSONObject2.put("vod_pic", q); + jSONObject2.put("vod_remarks", str3); + jSONArray.put(jSONObject2); + } + jSONObject.put("page", str2); + jSONObject.put("pagecount", Integer.MAX_VALUE); + jSONObject.put("limit", 90); + jSONObject.put("total", Integer.MAX_VALUE); + jSONObject.put("list", jSONArray); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject.toString(4); + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String detailContent(List list) { + JSONArray jSONArray; + CharSequence charSequence; + JSONArray jSONArray2; + CharSequence charSequence2; + CharSequence charSequence3 = ","; + try { + String str = "https://node.video.qq.com/x/api/float_vinfo2?cid=" + list.get(0); + JSONObject jSONObject = new JSONObject(OkHttpUtil.string(str, getHeaders(str))); + JSONObject optJSONObject = jSONObject.optJSONObject("c"); + if (optJSONObject == null) { + return ""; + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", list.get(0)); + jSONObject2.put("vod_name", optJSONObject.optString("title")); + jSONObject2.put("vod_pic", q(str, optJSONObject.optString("pic"))); + jSONObject2.put("type_name", jSONObject.optJSONArray("typ").opt(0)); + jSONObject2.put("vod_year", optJSONObject.optString("year")); + jSONObject.optJSONObject("people"); + JSONArray optJSONArray = jSONObject.optJSONArray("nam").optJSONArray(0); + ArrayList arrayList = new ArrayList(); + if (optJSONArray != null) { + for (int i = 0; i < optJSONArray.length(); i++) { + arrayList.add(optJSONArray.opt(i)); + } + } + jSONObject2.put("vod_actor", join(charSequence3, arrayList)); + jSONObject2.put("vod_content", optJSONObject.optString("description")); + JSONArray jSONArray3 = optJSONObject.getJSONArray("video_ids"); + ArrayList arrayList2 = new ArrayList(); + ArrayList arrayList3 = new ArrayList(); + int i2 = 1; + while (i2 <= jSONArray3.length()) { + arrayList2.add(jSONArray3.optString(i2 - 1)); + if (!(i2 % 30 == 0 || i2 == jSONArray3.length())) { + charSequence = charSequence3; + jSONArray = jSONArray3; + i2++; + charSequence3 = charSequence; + jSONArray3 = jSONArray; + } + String str2 = "https://union.video.qq.com/fcgi-bin/data?otype=json&tid=682&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=" + join(charSequence3, arrayList2); + String h = OkHttpUtil.string(str2, getHeaders(str2)); + JSONArray jSONArray4 = new JSONObject(h.substring(13, h.length() - 1)).getJSONArray("results"); + int i3 = 0; + while (i3 < jSONArray4.length()) { + JSONObject jSONObject3 = jSONArray4.getJSONObject(i3).getJSONObject("fields"); + if (!jSONObject3.optString("title").contains("预告")) { + StringBuilder sb = new StringBuilder(); + String optString = jSONObject3.optString("title"); + charSequence2 = charSequence3; + StringBuilder sb2 = new StringBuilder(); + jSONArray2 = jSONArray3; + sb2.append(optJSONObject.optString("title")); + sb2.append("_"); + sb.append(optString.replace(sb2.toString(), "")); + sb.append("$https://v.qq.com/x/cover/"); + sb.append(list.get(0)); + sb.append("/"); + sb.append(jSONObject3.optString("vid")); + sb.append(".html"); + arrayList3.add(sb.toString()); + } else { + charSequence2 = charSequence3; + jSONArray2 = jSONArray3; + } + i3++; + charSequence3 = charSequence2; + jSONArray3 = jSONArray2; + } + charSequence = charSequence3; + jSONArray = jSONArray3; + arrayList2.clear(); + i2++; + charSequence3 = charSequence; + jSONArray3 = jSONArray; + } + jSONObject2.put("vod_play_from", "qq"); + jSONObject2.put("vod_play_url", join("#", arrayList3)); + JSONObject jSONObject4 = new JSONObject(); + JSONArray jSONArray5 = new JSONArray(); + jSONArray5.put(jSONObject2); + jSONObject4.put("list", jSONArray5); + return jSONObject4.toString(4); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + protected HashMap getHeaders(String str) { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + return hashMap; + } + + public String homeContent(boolean z) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string("https://v.qq.com/channel/tv?listpage=1&channel=tv&sort=18&_all=1", getHeaders("https://v.qq.com/channel/tv?listpage=1&channel=tv&sort=18&_all=1"))); + JSONArray jSONArray = new JSONArray(); + Iterator it = doc.select(".nav_cell").iterator(); + while (it.hasNext()) { + Element next = it.next(); + JSONObject jSONObject = new JSONObject(); + String Pd = next.select("a").attr("href"); + if (!Pd.contains("/art") && !Pd.contains("feeds_hotspot") && !Pd.contains("wwe") && !Pd.contains("choice") && !Pd.contains("sports_new") && !Pd.contains("games") && !Pd.contains("lols11") && !Pd.contains("ent") && !Pd.contains("news") && !Pd.contains("fashion") && !Pd.contains("tech") && !Pd.contains("auto") && !Pd.contains("house") && !Pd.contains("finance") && !Pd.contains("astro") && !Pd.contains("nba") && !Pd.contains("fun") && !Pd.contains("baby") && !Pd.contains("music") && !Pd.contains("life") && !Pd.contains("travel") && Pd.contains("/channel/")) { + jSONObject.put("type_name", next.select("a").text()); + jSONObject.put("type_id", Pd.split("/channel/")[1]); + jSONArray.put(jSONObject); + } + } + String h = OkHttpUtil.string("https://v.qq.com/x/bu/pagesheet/list?_all=1&append=1&channel=choice", getHeaders("https://v.qq.com/x/bu/pagesheet/list?_all=1&append=1&channel=choice")); + JSONObject jSONObject2 = new JSONObject(); + if (z) { + jSONObject2.put("filters", this.dn); + } + jSONObject2.put("class", jSONArray); + try { + Elements listItem = Jsoup.parse(h).select(".list_item"); + JSONArray jSONArray2 = new JSONArray(); + for (int i = 0; i < listItem.size(); i++) { + Element item = listItem.get(i); + String title = item.select("a").attr("title"); + String pic = q("https://v.qq.com/x/bu/pagesheet/list?_all=1&append=1&channel=choice", item.select("img").attr("src")); + String remark = item.select(".figure_caption").text(); + String id = item.select("a").attr("data-float"); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("vod_id", id); + jSONObject3.put("vod_name", title); + jSONObject3.put("vod_pic", pic); + jSONObject3.put("vod_remarks", remark); + jSONArray2.put(jSONObject3); + } + jSONObject2.put("list", jSONArray2); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject2.toString(4); + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String homeVideoContent() { + try { + JSONArray jSONArray = new JSONObject(OkHttpUtil.string("https://v.qq.com/api.php/app/index_video?token=", getHeaders("https://v.qq.com/api.php/app/index_video?token="))).getJSONArray("list"); + JSONArray jSONArray2 = new JSONArray(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONArray jSONArray3 = jSONArray.getJSONObject(i).getJSONArray("vlist"); + int i2 = 0; + while (i2 < jSONArray3.length() && i2 < 6) { + JSONObject jSONObject = jSONArray3.getJSONObject(i2); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", jSONObject.optString("vod_id")); + jSONObject2.put("vod_name", jSONObject.optString("vod_name")); + jSONObject2.put("vod_pic", jSONObject.optString("vod_pic")); + jSONObject2.put("vod_remarks", jSONObject.optString("vod_remarks")); + jSONArray2.put(jSONObject2); + i2++; + } + } + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("list", jSONArray2); + return jSONObject3.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public void init(Context context) { + QQ.super.init(context); + try { + this.dn = new JSONObject("{\"tv\":[{\"name\":\"排序\",\"value\":[{\"v\":\"19\",\"n\":\"最新\"},{\"v\":\"18\",\"n\":\"最热\"},{\"v\":\"16\",\"n\":\"好评\"},{\"v\":\"21\",\"n\":\"口碑好剧\"},{\"v\":\"54\",\"n\":\"高分好评\"},{\"v\":\"22\",\"n\":\"知乎高分\"}],\"key\":\"sort\"},{\"name\":\"类型\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"偶像爱情\"},{\"v\":\"2\",\"n\":\"古装历史\"},{\"v\":\"3\",\"n\":\"玄幻史诗\"},{\"v\":\"4\",\"n\":\"都市生活\"},{\"v\":\"14\",\"n\":\"当代主旋律\"},{\"v\":\"5\",\"n\":\"罪案谍战\"},{\"v\":\"6\",\"n\":\"历险科幻\"},{\"v\":\"7\",\"n\":\"军旅抗战\"},{\"v\":\"8\",\"n\":\"喜剧\"},{\"v\":\"9\",\"n\":\"武侠江湖\"},{\"v\":\"10\",\"n\":\"青春校园\"},{\"v\":\"11\",\"n\":\"时代传奇\"},{\"v\":\"12\",\"n\":\"体育电竞\"},{\"v\":\"13\",\"n\":\"真人动漫\"},{\"v\":\"15\",\"n\":\"短剧\"},{\"v\":\"44\",\"n\":\"独播\"}],\"key\":\"feature\"},{\"name\":\"地区\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"814\",\"n\":\"内地\"},{\"v\":\"815\",\"n\":\"美国\"},{\"v\":\"816\",\"n\":\"英国\"},{\"v\":\"818\",\"n\":\"韩国\"},{\"v\":\"9\",\"n\":\"泰国\"},{\"v\":\"10\",\"n\":\"日本\"},{\"v\":\"14\",\"n\":\"中国香港\"},{\"v\":\"817\",\"n\":\"中国台湾\"},{\"v\":\"819\",\"n\":\"其他\"}],\"key\":\"iarea\"},{\"name\":\"年份\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"2022\",\"n\":\"2022\"},{\"v\":\"2021\",\"n\":\"2021\"},{\"v\":\"2020\",\"n\":\"2020\"},{\"v\":\"4061\",\"n\":\"2019\"},{\"v\":\"4060\",\"n\":\"2018\"},{\"v\":\"2017\",\"n\":\"2017\"},{\"v\":\"859\",\"n\":\"2016\"},{\"v\":\"860\",\"n\":\"2015\"},{\"v\":\"861\",\"n\":\"2014\"},{\"v\":\"862\",\"n\":\"2013\"},{\"v\":\"863\",\"n\":\"2012\"},{\"v\":\"864\",\"n\":\"2011\"},{\"v\":\"865\",\"n\":\"2010\"},{\"v\":\"866\",\"n\":\"其他\"}],\"key\":\"year\"},{\"name\":\"资费\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"867\",\"n\":\"免费\"},{\"v\":\"6\",\"n\":\"会员\"}],\"key\":\"pay\"}],\"education\":[{\"name\":\"排序\",\"value\":[{\"v\":\"19\",\"n\":\"按更新\"},{\"v\":\"40\",\"n\":\"最热\"}],\"key\":\"sort\"},{\"name\":\"学段\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"2\",\"n\":\"小学\"},{\"v\":\"3\",\"n\":\"初中\"},{\"v\":\"4\",\"n\":\"高中\"},{\"v\":\"5\",\"n\":\"大学\"},{\"v\":\"6\",\"n\":\"研究生\"},{\"v\":\"7\",\"n\":\"成人\"}],\"key\":\"section\"},{\"name\":\"学级\",\"value\":[{\"v\":\"1\",\"n\":\"全部\"},{\"v\":\"5\",\"n\":\"一年级\"},{\"v\":\"6\",\"n\":\"二年级\"},{\"v\":\"7\",\"n\":\"三年级\"},{\"v\":\"8\",\"n\":\"四年级\"},{\"v\":\"9\",\"n\":\"五年级\"},{\"v\":\"10\",\"n\":\"六年级\"},{\"v\":\"11\",\"n\":\"初一\"},{\"v\":\"12\",\"n\":\"初二\"},{\"v\":\"13\",\"n\":\"初三\"},{\"v\":\"14\",\"n\":\"高一\"},{\"v\":\"15\",\"n\":\"高二\"},{\"v\":\"16\",\"n\":\"高三\"},{\"v\":\"20\",\"n\":\"大四\"}],\"key\":\"grade\"},{\"name\":\"学科\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"41\",\"n\":\"语文\"},{\"v\":\"42\",\"n\":\"数学\"},{\"v\":\"43\",\"n\":\"英语\"},{\"v\":\"44\",\"n\":\"物理\"},{\"v\":\"45\",\"n\":\"化学\"},{\"v\":\"46\",\"n\":\"生物\"},{\"v\":\"47\",\"n\":\"政治\"},{\"v\":\"50\",\"n\":\"其它\"}],\"key\":\"subject\"}],\"movie\":[{\"name\":\"排序\",\"value\":[{\"v\":\"18\",\"n\":\"最近热播\"},{\"v\":\"19\",\"n\":\"最新上架\"},{\"v\":\"21\",\"n\":\"高分好评\"},{\"v\":\"22\",\"n\":\"知乎高分\"}],\"key\":\"sort\"},{\"name\":\"类型\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"100018\",\"n\":\"剧情\"},{\"v\":\"100004\",\"n\":\"喜剧\"},{\"v\":\"100061\",\"n\":\"动作\"},{\"v\":\"100005\",\"n\":\"爱情\"},{\"v\":\"100010\",\"n\":\"惊悚\"},{\"v\":\"4\",\"n\":\"犯罪\"},{\"v\":\"100009\",\"n\":\"悬疑\"},{\"v\":\"100006\",\"n\":\"战争\"},{\"v\":\"100012\",\"n\":\"科幻\"},{\"v\":\"100015\",\"n\":\"动画\"},{\"v\":\"100007\",\"n\":\"恐怖\"},{\"v\":\"100017\",\"n\":\"家庭\"},{\"v\":\"100022\",\"n\":\"传记\"},{\"v\":\"100003\",\"n\":\"冒险\"},{\"v\":\"100016\",\"n\":\"奇幻\"},{\"v\":\"100011\",\"n\":\"武侠\"},{\"v\":\"100021\",\"n\":\"历史\"},{\"v\":\"2\",\"n\":\"运动\"},{\"v\":\"100014\",\"n\":\"歌舞\"},{\"v\":\"100013\",\"n\":\"音乐\"},{\"v\":\"100020\",\"n\":\"纪录\"},{\"v\":\"100019\",\"n\":\"伦理\"},{\"v\":\"3\",\"n\":\"西部\"}],\"key\":\"itype\"},{\"name\":\"地区\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"100024\",\"n\":\"内地\"},{\"v\":\"100025\",\"n\":\"中国香港\"},{\"v\":\"100029\",\"n\":\"美国\"},{\"v\":\"100032\",\"n\":\"欧洲\"},{\"v\":\"100026\",\"n\":\"中国台湾\"},{\"v\":\"100027\",\"n\":\"日本\"},{\"v\":\"100028\",\"n\":\"韩国\"},{\"v\":\"100030\",\"n\":\"印度\"},{\"v\":\"100031\",\"n\":\"泰国\"},{\"v\":\"15\",\"n\":\"英国\"},{\"v\":\"16\",\"n\":\"法国\"},{\"v\":\"17\",\"n\":\"德国\"},{\"v\":\"18\",\"n\":\"加拿大\"},{\"v\":\"19\",\"n\":\"西班牙\"},{\"v\":\"20\",\"n\":\"意大利\"},{\"v\":\"21\",\"n\":\"澳大利亚\"},{\"v\":\"22\",\"n\":\"北欧\"},{\"v\":\"23\",\"n\":\"拉丁美洲\"},{\"v\":\"100033\",\"n\":\"其它\"}],\"key\":\"iarea\"},{\"name\":\"特色\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"院线\"},{\"v\":\"2\",\"n\":\"自制电影\"},{\"v\":\"5\",\"n\":\"独播\"},{\"v\":\"8\",\"n\":\"原声\"},{\"v\":\"9\",\"n\":\"粤语\"},{\"v\":\"3\",\"n\":\"蓝光\"},{\"v\":\"6\",\"n\":\"奥斯卡\"}],\"key\":\"characteristic\"},{\"name\":\"年份\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"2022\",\"n\":\"2022\"},{\"v\":\"2022\",\"n\":\"2022\"},{\"v\":\"2021\",\"n\":\"2021\"},{\"v\":\"2020\",\"n\":\"2020\"},{\"v\":\"20\",\"n\":\"2019\"},{\"v\":\"2018\",\"n\":\"2018\"},{\"v\":\"2017\",\"n\":\"2017\"},{\"v\":\"2016\",\"n\":\"2016\"},{\"v\":\"100063\",\"n\":\"2015\"},{\"v\":\"100034\",\"n\":\"2014\"},{\"v\":\"100035\",\"n\":\"2013-2011\"},{\"v\":\"100036\",\"n\":\"2010-2006\"},{\"v\":\"100037\",\"n\":\"2005-2000\"},{\"v\":\"100038\",\"n\":\"90年代\"},{\"v\":\"100039\",\"n\":\"80年代\"},{\"v\":\"100040\",\"n\":\"其它\"}],\"key\":\"year\"},{\"name\":\"资费\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"免费\"},{\"v\":\"2\",\"n\":\"包月\"},{\"v\":\"3\",\"n\":\"用券\"},{\"v\":\"4\",\"n\":\"付费\"}],\"key\":\"charge\"}],\"variety\":[{\"name\":\"排序\",\"value\":[{\"v\":\"4\",\"n\":\"最热\"},{\"v\":\"5\",\"n\":\"最新\"}],\"key\":\"sort\"},{\"name\":\"独家\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"腾讯自制\"},{\"v\":\"2\",\"n\":\"独播\"}],\"key\":\"exclusive\"},{\"name\":\"地区\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"国内\"},{\"v\":\"2\",\"n\":\"海外\"}],\"key\":\"iarea\"},{\"name\":\"类型\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"10\",\"n\":\"游戏\"},{\"v\":\"11\",\"n\":\"音乐\"},{\"v\":\"24\",\"n\":\"养成\"},{\"v\":\"12\",\"n\":\"情感\"},{\"v\":\"14\",\"n\":\"喜剧\"},{\"v\":\"2\",\"n\":\"脱口秀\"},{\"v\":\"16\",\"n\":\"表演\"},{\"v\":\"25\",\"n\":\"体验\"},{\"v\":\"17\",\"n\":\"亲子\"},{\"v\":\"26\",\"n\":\"文化\"},{\"v\":\"19\",\"n\":\"美食\"},{\"v\":\"20\",\"n\":\"职场\"},{\"v\":\"21\",\"n\":\"体育\"},{\"v\":\"15\",\"n\":\"潮流文化\"},{\"v\":\"3\",\"n\":\"访谈\"},{\"v\":\"22\",\"n\":\"生活服务\"},{\"v\":\"23\",\"n\":\"萌宠\"},{\"v\":\"7\",\"n\":\"资讯\"},{\"v\":\"6\",\"n\":\"晚会\"}],\"key\":\"itype\"},{\"name\":\"年份\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"2022\",\"n\":\"2022\"},{\"v\":\"2021\",\"n\":\"2021\"},{\"v\":\"50\",\"n\":\"2020\"},{\"v\":\"7\",\"n\":\"2019\"},{\"v\":\"1\",\"n\":\"2018\"},{\"v\":\"2\",\"n\":\"2017\"},{\"v\":\"3\",\"n\":\"2016\"},{\"v\":\"4\",\"n\":\"2015\"},{\"v\":\"5\",\"n\":\"2014\"},{\"v\":\"6\",\"n\":\"2013\"},{\"v\":\"2012\",\"n\":\"2012\"},{\"v\":\"2011\",\"n\":\"2011\"},{\"v\":\"2010\",\"n\":\"2010\"},{\"v\":\"99\",\"n\":\"更早\"}],\"key\":\"iyear\"},{\"name\":\"付费\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"会员\"}],\"key\":\"ipay\"}],\"cartoon\":[{\"name\":\"排序\",\"value\":[{\"v\":\"40\",\"n\":\"最热\"},{\"v\":\"23\",\"n\":\"最新\"},{\"v\":\"20\",\"n\":\"好评\"},{\"v\":\"22\",\"n\":\"知乎高分\"}],\"key\":\"sort\"},{\"name\":\"类型\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"2\",\"n\":\"冒险\"},{\"v\":\"5\",\"n\":\"战斗\"},{\"v\":\"1\",\"n\":\"搞笑\"},{\"v\":\"3\",\"n\":\"经典\"},{\"v\":\"4\",\"n\":\"科幻\"},{\"v\":\"9\",\"n\":\"玄幻\"},{\"v\":\"6\",\"n\":\"魔幻\"},{\"v\":\"13\",\"n\":\"武侠\"},{\"v\":\"7\",\"n\":\"恋爱\"},{\"v\":\"14\",\"n\":\"推理\"},{\"v\":\"11\",\"n\":\"腾讯出品\"},{\"v\":\"15\",\"n\":\"日常\"},{\"v\":\"16\",\"n\":\"校园\"},{\"v\":\"17\",\"n\":\"悬疑\"},{\"v\":\"18\",\"n\":\"真人\"},{\"v\":\"19\",\"n\":\"历史\"},{\"v\":\"20\",\"n\":\"竞技\"},{\"v\":\"12\",\"n\":\"其他\"}],\"key\":\"itype\"},{\"name\":\"地区\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"内地\"},{\"v\":\"2\",\"n\":\"日本\"},{\"v\":\"3\",\"n\":\"欧美\"},{\"v\":\"4\",\"n\":\"其他\"}],\"key\":\"iarea\"},{\"name\":\"时间\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"2022\",\"n\":\"2022\"},{\"v\":\"2021\",\"n\":\"2021\"},{\"v\":\"50\",\"n\":\"2020\"},{\"v\":\"11\",\"n\":\"2019\"},{\"v\":\"2018\",\"n\":\"2018\"},{\"v\":\"2017\",\"n\":\"2017\"},{\"v\":\"1\",\"n\":\"2016\"},{\"v\":\"2\",\"n\":\"2015\"},{\"v\":\"3\",\"n\":\"2014\"},{\"v\":\"4\",\"n\":\"2013\"},{\"v\":\"5\",\"n\":\"2012\"},{\"v\":\"6\",\"n\":\"2011\"},{\"v\":\"7\",\"n\":\"00年代\"},{\"v\":\"8\",\"n\":\"90年代\"},{\"v\":\"9\",\"n\":\"80年代\"},{\"v\":\"10\",\"n\":\"更早\"}],\"key\":\"iyear\"},{\"name\":\"资费\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"免费\"},{\"v\":\"2\",\"n\":\"会员\"}],\"key\":\"ipay\"},{\"name\":\"状态\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"46\",\"n\":\"预告片\"},{\"v\":\"44\",\"n\":\"连载\"},{\"v\":\"45\",\"n\":\"完结\"}],\"key\":\"anime_status\"},{\"name\":\"分类\",\"value\":[{\"v\":\"1\",\"n\":\"全部\"},{\"v\":\"2\",\"n\":\"3D动画\"},{\"v\":\"3\",\"n\":\"2D动画\"},{\"v\":\"4\",\"n\":\"特摄\"},{\"v\":\"5\",\"n\":\"其他\"}],\"key\":\"item\"}],\"doco\":[{\"name\":\"排序\",\"value\":[{\"v\":\"19\",\"n\":\"最新\"},{\"v\":\"18\",\"n\":\"最热\"},{\"v\":\"20\",\"n\":\"好评\"},{\"v\":\"22\",\"n\":\"知乎高分\"}],\"key\":\"sort\"},{\"name\":\"出品机构\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"BBC\"},{\"v\":\"4\",\"n\":\"国家地理\"},{\"v\":\"3175\",\"n\":\"HBO\"},{\"v\":\"2\",\"n\":\"NHK\"},{\"v\":\"7\",\"n\":\"历史频道\"},{\"v\":\"3530\",\"n\":\"ITV\"},{\"v\":\"3174\",\"n\":\"探索频道\"},{\"v\":\"3176\",\"n\":\"ZDF\"},{\"v\":\"3172\",\"n\":\"ARTE\"},{\"v\":\"15\",\"n\":\"腾讯自制\"},{\"v\":\"6\",\"n\":\"合作机构\"},{\"v\":\"5\",\"n\":\"其他\"}],\"key\":\"itrailer\"},{\"name\":\"类型\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"4\",\"n\":\"自然\"},{\"v\":\"9\",\"n\":\"美食\"},{\"v\":\"3\",\"n\":\"社会\"},{\"v\":\"5\",\"n\":\"人文\"},{\"v\":\"1\",\"n\":\"历史\"},{\"v\":\"2\",\"n\":\"军事\"},{\"v\":\"7\",\"n\":\"科技\"},{\"v\":\"13\",\"n\":\"财经\"},{\"v\":\"15\",\"n\":\"探险\"},{\"v\":\"6\",\"n\":\"罪案\"},{\"v\":\"11\",\"n\":\"竞技\"},{\"v\":\"10\",\"n\":\"旅游\"}],\"key\":\"itype\"},{\"name\":\"资费\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"免费\"},{\"v\":\"2\",\"n\":\"会员\"}],\"key\":\"pay\"}],\"child\":[{\"name\":\"排序\",\"value\":[{\"v\":\"19\",\"n\":\"最新\"},{\"v\":\"18\",\"n\":\"最热\"},{\"v\":\"20\",\"n\":\"好评\"}],\"key\":\"sort\"},{\"name\":\"地区\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"欧美\"},{\"v\":\"2\",\"n\":\"日韩\"},{\"v\":\"3\",\"n\":\"国内\"}],\"key\":\"iarea\"},{\"name\":\"年龄\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"0-3岁\"},{\"v\":\"2\",\"n\":\"4-6岁\"},{\"v\":\"3\",\"n\":\"7-9岁\"},{\"v\":\"4\",\"n\":\"10岁以上\"}],\"key\":\"iyear\"},{\"name\":\"性别\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"男孩\"},{\"v\":\"2\",\"n\":\"女孩\"}],\"key\":\"gender\"},{\"name\":\"类型\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"儿歌\"},{\"v\":\"2\",\"n\":\"益智\"},{\"v\":\"3\",\"n\":\"手工·绘画\"},{\"v\":\"4\",\"n\":\"玩具\"},{\"v\":\"5\",\"n\":\"英语\"},{\"v\":\"7\",\"n\":\"早教\"},{\"v\":\"6\",\"n\":\"数学\"},{\"v\":\"8\",\"n\":\"国学\"},{\"v\":\"9\",\"n\":\"合家欢\"},{\"v\":\"10\",\"n\":\"冒险\"},{\"v\":\"11\",\"n\":\"交通工具\"},{\"v\":\"12\",\"n\":\"魔幻·科幻\"},{\"v\":\"13\",\"n\":\"动物\"},{\"v\":\"14\",\"n\":\"真人特摄\"},{\"v\":\"15\",\"n\":\"探索\"},{\"v\":\"16\",\"n\":\"其他\"}],\"key\":\"itype\"},{\"name\":\"资费\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"1\",\"n\":\"免费\"},{\"v\":\"2\",\"n\":\"会员\"}],\"key\":\"ipay\"}],\"knowledge\":[{\"name\":\"排序\",\"value\":[{\"v\":\"41\",\"n\":\"最热\"},{\"v\":\"10\",\"n\":\"最新\"}],\"key\":\"sort\"},{\"name\":\"分类\",\"value\":[{\"v\":\"-1\",\"n\":\"全部\"},{\"v\":\"2\",\"n\":\"文化历史\"},{\"v\":\"3\",\"n\":\"亲子育儿\"},{\"v\":\"4\",\"n\":\"职场\"},{\"v\":\"5\",\"n\":\"商业理财\"},{\"v\":\"7\",\"n\":\"生活\"},{\"v\":\"9\",\"n\":\"情感心理\"},{\"v\":\"8\",\"n\":\"运动健身\"},{\"v\":\"6\",\"n\":\"艺术兴趣\"},{\"v\":\"12\",\"n\":\"游戏\"},{\"v\":\"14\",\"n\":\"科学科普\"},{\"v\":\"15\",\"n\":\"健康\"},{\"v\":\"16\",\"n\":\"IT/互联网\"}],\"key\":\"pay_level_one\"}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + public String join(@NonNull CharSequence charSequence, @NonNull Iterable iterable) { + Iterator it = iterable.iterator(); + if (!it.hasNext()) { + return ""; + } + StringBuilder sb = new StringBuilder(); + sb.append(it.next()); + while (it.hasNext()) { + sb.append(charSequence); + sb.append(it.next()); + } + return sb.toString(); + } + + public String playerContent(String str, String str2, List list) { + try { + JSONObject jSONObject = new JSONObject(); + try { + jSONObject.put("parse", 1); + jSONObject.put("jx", "1"); + jSONObject.put("url", str2); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return jSONObject.toString(); + } + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String searchContent(String str, boolean quick) { + try { + String str2 = "http://node.video.qq.com/x/api/msearch?keyWord=" + str; + JSONArray jSONArray = new JSONObject(OkHttpUtil.string(str2, getHeaders(str2))).getJSONArray("uiData"); + JSONArray jSONArray2 = new JSONArray(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONObject jSONObject = jSONArray.getJSONObject(i).getJSONArray("data").getJSONObject(0); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", jSONObject.optString("id")); + jSONObject2.put("vod_name", jSONObject.optString("title")); + jSONObject2.put("vod_pic", jSONObject.optString("posterPic")); + jSONObject2.put("vod_remarks", jSONObject.optString("publishDate")); + jSONArray2.put(jSONObject2); + } + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("list", jSONArray2); + return jSONObject3.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } +} diff --git a/TVBox_Java/spider/QXBiubiu.java b/TVBox_Java/spider/QXBiubiu.java new file mode 100644 index 0000000..1a4f58a --- /dev/null +++ b/TVBox_Java/spider/QXBiubiu.java @@ -0,0 +1,505 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.jsoup.Jsoup; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; + +public class QXBiubiu extends Spider { + + @Override + public void init(Context context) { + super.init(context); + } + + public void init(Context context, String extend) { + super.init(context, extend); + this.ext = extend; + } + + @Override + public String homeContent(boolean filter) { + try { + fetchRule(); + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + String[] fenleis = getRuleVal("fenlei", "").split("#"); + for (String fenlei : fenleis) { + String[] info = fenlei.split("\\$"); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_name", info[0]); + jsonObject.put("type_id", info[1]); + classes.put(jsonObject); + } + result.put("class", classes); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + String ua = getRuleVal("ua", Misc.UaWinChrome).trim(); + if (ua.isEmpty()) + ua = Misc.UaWinChrome; + headers.put("User-Agent", ua); + return headers; + } + + @Override + public String homeVideoContent() { + try { + fetchRule(); + if (getRuleVal("shouye").equals("1")) { + JSONArray videos = new JSONArray(); + String[] fenleis = getRuleVal("fenlei", "").split("#"); + for (String fenlei : fenleis) { + String[] info = fenlei.split("\\$"); + JSONObject data = category(info[1], "1", false, new HashMap<>()); + if (data != null) { + JSONArray vids = data.optJSONArray("list"); + if (vids != null) { + for (int i = 0; i < vids.length() && i < 5; i++) { + videos.put(vids.getJSONObject(i)); + } + } + } + if (videos.length() >= 30) + break; + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private JSONObject category(String tid, String pg, boolean filter, HashMap extend) { + try { + fetchRule(); + if (tid.equals("空")) + tid = ""; + String qishiye = rule.optString("qishiye", "nil"); + if (qishiye.equals("空")) + pg = ""; + else if (!qishiye.equals("nil")) { + pg = String.valueOf(Integer.parseInt(pg) - 1 + Integer.parseInt(qishiye)); + } + String webUrl = getRuleVal("url") + tid + pg + getRuleVal("houzhui"); + String html = fetch(webUrl); + html = removeUnicode(html); + String parseContent = html; + boolean shifouercijiequ = getRuleVal("shifouercijiequ").equals("1"); + if (shifouercijiequ) { + String jiequqian = getRuleVal("jiequqian"); + String jiequhou = getRuleVal("jiequhou"); + parseContent = subContent(html, jiequqian, jiequhou).get(0); + } + String jiequshuzuqian = getRuleVal("jiequshuzuqian"); + String jiequshuzuhou = getRuleVal("jiequshuzuhou"); + JSONArray videos = new JSONArray(); + ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); + for (int i = 0; i < jiequContents.size(); i++) { + //try { + String jiequContent = jiequContents.get(i); + String title = removeHtml(subContent(jiequContent, getRuleVal("biaotiqian"), getRuleVal("biaotihou")).get(0)); + String pic = ""; + String tupianqian = getRuleVal("tupianqian").toLowerCase(); + if (tupianqian.startsWith("http://") || tupianqian.startsWith("https://")) { + pic = getRuleVal("tupianqian"); + } else { + pic = subContent(jiequContent, getRuleVal("tupianqian"), getRuleVal("tupianhou")).get(0); + } + pic = Misc.fixUrl(webUrl, pic); + String link = subContent(jiequContent, getRuleVal("lianjieqian"), getRuleVal("lianjiehou")).get(0); + link = getRuleVal("ljqianzhui").isEmpty() ? (link + getRuleVal("ljhouzhui")) : ("x:" + getRuleVal("ljqianzhui")) + link + getRuleVal("ljhouzhui"); + String remark = ""; + if (!getRuleVal("fubiaotiqian").isEmpty() && !getRuleVal("fubiaotihou").isEmpty()) { + try { + remark = subContent(jiequContent, getRuleVal("fubiaotiqian"), getRuleVal("fubiaotihou")).get(0).replaceAll("[\\s\\S]+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", title + "$$$" + pic + "$$$" + link); + v.put("vod_name", title); + v.put("vod_pic", pic); + v.put("vod_remarks", remark); + videos.put(v); + //} catch (Throwable th) { + //th.printStackTrace(); + //break; + //} + } + JSONObject result = new JSONObject(); + result.put("page", pg); + result.put("pagecount", Integer.MAX_VALUE); + result.put("limit", 90); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result; + } catch (Exception e) { + SpiderDebug.log(e); + } + return null; + } + + private static String removeUnicode(String str) { + Pattern pattern = Pattern.compile("(\\\\u(\\w{4}))"); + Matcher matcher = pattern.matcher(str); + while (matcher.find()) { + String full = matcher.group(1); + String ucode = matcher.group(2); + char c = (char) Integer.parseInt(ucode, 16); + str = str.replace(full, c + ""); + } + return str; + } + + String removeHtml(String text) { + return Jsoup.parse(text).text(); + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + JSONObject obj = category(tid, pg, filter, extend); + return obj != null ? obj.toString() : ""; + } + + @Override + public String detailContent(List ids) { + try { + fetchRule(); + String[] idInfo = ids.get(0).split("\\$\\$\\$"); + String webUrl = idInfo[2].startsWith("x:") ? idInfo[2] : getRuleVal("url") + idInfo[2]; + String html = fetch(webUrl.startsWith("x:") ? webUrl.substring(2) : webUrl); + String parseContent = html; + boolean bfshifouercijiequ = getRuleVal("bfshifouercijiequ").equals("1"); + if (bfshifouercijiequ) { + String jiequqian = getRuleVal("bfjiequqian"); + String jiequhou = getRuleVal("bfjiequhou"); + parseContent = subContent(html, jiequqian, jiequhou).get(0); + } + + ArrayList playList = new ArrayList<>(); + boolean playDirect = getRuleVal("直接播放").equals("1"); + if (!playDirect) { + String jiequshuzuqian = getRuleVal("bfjiequshuzuqian"); + String jiequshuzuhou = getRuleVal("bfjiequshuzuhou"); + boolean bfyshifouercijiequ = getRuleVal("bfyshifouercijiequ").equals("1"); + ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); + for (int i = 0; i < jiequContents.size(); i++) { + try { + String jiequContent = jiequContents.get(i); + String parseJqContent = bfyshifouercijiequ ? subContent(jiequContent, getRuleVal("bfyjiequqian"), getRuleVal("bfyjiequhou")).get(0) : jiequContent; + ArrayList lastParseContents = subContent(parseJqContent, getRuleVal("bfyjiequshuzuqian"), getRuleVal("bfyjiequshuzuhou")); + List vodItems = new ArrayList<>(); + for (int j = 0; j < lastParseContents.size(); j++) { + String title = subContent(lastParseContents.get(j), getRuleVal("bfbiaotiqian"), getRuleVal("bfbiaotihou")).get(0); + String link = subContent(lastParseContents.get(j), getRuleVal("bflianjieqian"), getRuleVal("bflianjiehou")).get(0); + String bfqianzhui = getRuleVal("bfqianzhui"); + if (!bfqianzhui.isEmpty()) { + link = bfqianzhui + link; + } + vodItems.add(title + "$" + link); + } + playList.add(TextUtils.join("#", vodItems)); + } catch (Throwable th) { + th.printStackTrace(); + } + } + } else { + playList.add(idInfo[0] + "$" + idInfo[2]); + } + String cover = idInfo[1], title = idInfo[0], desc = "", category = "", area = "", year = "", remark = "", director = "", actor = ""; + + if (!getRuleVal("leixinqian").isEmpty() && !getRuleVal("leixinhou").isEmpty()) { + try { + category = subContent(html, getRuleVal("leixinqian"), getRuleVal("leixinhou")).get(0).replaceAll("\\s+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("niandaiqian").isEmpty() && !getRuleVal("niandaihou").isEmpty()) { + try { + year = subContent(html, getRuleVal("niandaiqian"), getRuleVal("niandaihou")).get(0).replaceAll("\\s+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("zhuangtaiqian").isEmpty() && !getRuleVal("zhuangtaihou").isEmpty()) { + try { + remark = subContent(html, getRuleVal("zhuangtaiqian"), getRuleVal("zhuangtaihou")).get(0); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("zhuyanqian").isEmpty() && !getRuleVal("zhuyanhou").isEmpty()) { + try { + actor = subContent(html, getRuleVal("zhuyanqian"), getRuleVal("zhuyanhou")).get(0).replaceAll("\\s+", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("daoyanqian").isEmpty() && !getRuleVal("daoyanhou").isEmpty()) { + try { + director = subContent(html, getRuleVal("daoyanqian"), getRuleVal("daoyanhou")).get(0).replaceAll("\\s+", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("juqingqian").isEmpty() && !getRuleVal("juqinghou").isEmpty()) { + try { + desc = subContent(html, getRuleVal("juqingqian"), getRuleVal("juqinghou")).get(0); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject vod = new JSONObject(); + vod.put("vod_id", ids.get(0)); + vod.put("vod_name", title); + vod.put("vod_pic", cover); + vod.put("type_name", category); + vod.put("vod_year", year); + vod.put("vod_area", area); + vod.put("vod_remarks", remark); + vod.put("vod_actor", actor); + vod.put("vod_director", director); + vod.put("vod_content", desc); + + ArrayList playFrom = new ArrayList<>(); + String xlparseContent = html; + if(getRuleVal("xlbiaotiqian").isEmpty() && getRuleVal("xlbiaotihou").isEmpty()){ + + for (int i = 0; i < playList.size(); i++) { + playFrom.add("播放列表" + (i + 1)); + } + }else{ + + boolean xlshifouercijiequ = getRuleVal("xlshifouercijiequ").equals("1"); + if (xlshifouercijiequ) { + String xljiequqian = getRuleVal("xljiequqian"); + String xljiequhou = getRuleVal("xljiequhou"); + xlparseContent = subContent(html, xljiequqian, xljiequhou).get(0); + } + + String xljiequshuzuqian = getRuleVal("xljiequshuzuqian"); + String xljiequshuzuhou = getRuleVal("xljiequshuzuhou"); + ArrayList xljiequContents = subContent(xlparseContent, xljiequshuzuqian, xljiequshuzuhou); + for (int i = 0; i < playList.size(); i++) { + try { + String xltitle = subContent(xljiequContents.get(i), getRuleVal("xlbiaotiqian"), getRuleVal("xlbiaotihou")).get(0).replaceAll("\\s+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + playFrom.add(xltitle); + } catch (Throwable th) { + th.printStackTrace(); + break; + } + } + + } + + String vod_play_from = TextUtils.join("$$$", playFrom); + String vod_play_url = TextUtils.join("$$$", playList); + vod.put("vod_play_from", vod_play_from); + vod.put("vod_play_url", vod_play_url); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + fetchRule(); + String webUrl = id.startsWith("x:") ? id.substring(2) : getRuleVal("url") + id; + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", webUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + fetchRule(); + boolean ssmoshiJson = getRuleVal("ssmoshi").equals("0"); + String webUrlTmp = getRuleVal("url") + getRuleVal("sousuoqian") + key + getRuleVal("sousuohou"); + String webUrl = webUrlTmp.split(";")[0]; + String webContent = webUrlTmp.contains(";post") ? fetchPost(webUrl) : fetch(webUrl); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (ssmoshiJson) { + JSONObject data = new JSONObject(webContent); + JSONArray vodArray = data.getJSONArray("list"); + for (int j = 0; j < vodArray.length(); j++) { + JSONObject vod = vodArray.getJSONObject(j); + String name = vod.optString(getRuleVal("jsname")).trim(); + String id = vod.optString(getRuleVal("jsid")).trim(); + String pic = vod.optString(getRuleVal("jspic")).trim(); + pic = Misc.fixUrl(webUrl, pic); + String link = getRuleVal("sousuohouzhui") + id; + link = getRuleVal("ssljqianzhui").isEmpty() ? (link + getRuleVal("ssljhouzhui")) : ("x:" + getRuleVal("ssljqianzhui")) + link + getRuleVal("ssljhouzhui"); + JSONObject v = new JSONObject(); + v.put("vod_id", name + "$$$" + pic + "$$$" + link); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", ""); + videos.put(v); + } + } else { + String parseContent = webContent; + boolean shifouercijiequ = getRuleVal("sousuoshifouercijiequ").equals("1"); + if (shifouercijiequ) { + String jiequqian = getRuleVal("ssjiequqian"); + String jiequhou = getRuleVal("ssjiequhou"); + parseContent = subContent(webContent, jiequqian, jiequhou).get(0); + } + String jiequshuzuqian = getRuleVal("ssjiequshuzuqian"); + String jiequshuzuhou = getRuleVal("ssjiequshuzuhou"); + ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); + for (int i = 0; i < jiequContents.size(); i++) { + try { + String jiequContent = jiequContents.get(i); + String title = subContent(jiequContent, getRuleVal("ssbiaotiqian"), getRuleVal("ssbiaotihou")).get(0); + String pic = subContent(jiequContent, getRuleVal("sstupianqian"), getRuleVal("sstupianhou")).get(0); + pic = Misc.fixUrl(webUrl, pic); + String link = subContent(jiequContent, getRuleVal("sslianjieqian"), getRuleVal("sslianjiehou")).get(0); + link = getRuleVal("ssljqianzhui").isEmpty() ? (link + getRuleVal("ssljhouzhui")) : ("x:" + getRuleVal("ssljqianzhui")) + link + getRuleVal("ssljhouzhui"); + JSONObject v = new JSONObject(); + v.put("vod_id", title + "$$$" + pic + "$$$" + link); + v.put("vod_name", title); + v.put("vod_pic", pic); + v.put("vod_remarks", ""); + videos.put(v); + } catch (Throwable th) { + th.printStackTrace(); + break; + } + } + } + result.put("list", videos); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected String ext = null; + protected JSONObject rule = null; + + protected void fetchRule() { + if (rule == null) { + if (ext != null) { + try { + if (ext.startsWith("http")) { + String json = OkHttpUtil.string(ext, null); + rule = new JSONObject(json); + } else { + rule = new JSONObject(ext); + } + } catch (JSONException e) { + } + } + } + } + + protected String fetch(String webUrl) { + SpiderDebug.log(webUrl); + return OkHttpUtil.string(webUrl, getHeaders(webUrl)).replaceAll("\r|\n", ""); + } + + protected String fetchPost(String webUrl) { + SpiderDebug.log(webUrl); + OKCallBack.OKCallBackString callBack = new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(String response) { + } + }; + OkHttpUtil.post(OkHttpUtil.defaultClient(), webUrl, callBack); + return callBack.getResult().replaceAll("\r|\n", ""); + } + + private String getRuleVal(String key, String defaultVal) { + String v = rule.optString(key); + if (v.isEmpty() || v.equals("空")) + return defaultVal; + return v; + } + + private String getRuleVal(String key) { + return getRuleVal(key, ""); + } + + private ArrayList subContent(String content, String startFlag, String endFlag) { + ArrayList result = new ArrayList<>(); + if (startFlag.isEmpty() && endFlag.isEmpty()) { + result.add(content); + return result; + } + try { + Pattern pattern = Pattern.compile(escapeExprSpecialWord(startFlag) + "(.*?)" + escapeExprSpecialWord(endFlag)); + Matcher matcher = pattern.matcher(content); + while (matcher.find()) { + result.add(matcher.group(1)); + } + } catch (Throwable th) { + th.printStackTrace(); + } + return result; + } + + String escapeExprSpecialWord(String regexStr) { + if (!regexStr.isEmpty()) { + String[] fbsArr = {"\\", "$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|"}; + for (String key : fbsArr) { + if (regexStr.contains(key)) { + regexStr = regexStr.replace(key, "\\" + key); + } + } + } + return regexStr; + } +} diff --git a/TVBox_Java/spider/SP293.java b/TVBox_Java/spider/SP293.java new file mode 100644 index 0000000..136805a --- /dev/null +++ b/TVBox_Java/spider/SP293.java @@ -0,0 +1,339 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.spider.merge.RSA; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.json.JSONArray; +import org.json.JSONObject; + +public class SP293 extends Spider { + public static String l = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAL4cSBLgAtKxA3brZ73KA6/uagCFNBqh3+GVWZGyKlrChUrrqcBHmV/fZcH/oVIwZHCxv0rnOesTE7WZhzgbbUEsBDK8W8+paIwQI3Pvpp3JzEvduOfS/4G4EPYpKiGE3+vK9q7h+9xVv6FS8uzKAe6uS98qDgHad46cMJVkYR0DAgMBAAECgYAZMBAQiCN3nMJTwC63g4tnhNQAi6Vynd3Wun3qgst/yOP2IDEWa6YTgLqvsFnEVOsJz1MD7ozK63UiC1xR/7hCvqTziaV7g0lCB9Gk9ZMRIpS8pPtfnDSMjeYzMCQWvdRMOf8BkFp7SISCtlQRm9VKKRKMZ27zH3BvIvTed4tYoQJBAOw7Gda7L2CXBdKfpRK6KgUVkki/d9qEcm1kS9TFAxrQcEWdijF7l9w8LnaBPC0uaRKmEB4/uiOMXXN89Vo6CnECQQDOBR57KgMAAKDzFIRDyegl1Y6xTpEIi0/YlTlPyZmYpG2vS6czG+OQfJoT/w/vBw7mMGTR3IiQwF2qqYACUNCzAkEA60suwGgvl3i1jwX+iLmu8uN6kkVL3vZ/dyAoO+SD5ChrO5vgMstVBkNXUCgHRUVt2OpZMZfuEkxUJJz5UQZwsQJAUCLFnHrW9+VGtcbBO+0Jk83h1y4MVBp8UG6bAGIWkL1EvO7cdpDej5EoDack94DzVq50SP1TUZrB1GRiGoR86QJAfy9NP2vDtk8MyjIUWjpYTTUhjMk/6WurIBtwEzE56QLFLshm1KwEFh25qrdI4vXChQQKXAgu17b+I7qfYh2IMA=="; + public static String qb = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDWHmmu0aFU2m1ZnQb09+/QQRnuy3GmcwnTnFwPLR/CsfbsxiNQLULpdwhC1h1U/3yEyc2kZ549+X3iYFed3tHa0NLntcSw6w6IcEAgiaeHasRlzh98IgEai9XChbhLAy7a/s4HnhFXJCsg5/FqrjZ/FuEOhbCN3gWcc6Aly+OZhwIDAQAB"; + public static String zC = "MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMNlbdQeVJIW9baQ7qAUYL6gbMfKcfxuwTlt+eh8hf9oC2lcztpjwm1s/MWqHk7/yFpps/vup6p+1inh5gzlKov9Ay5hHa3feYtKsb07jgKyfUJUhAqRIrqAQz+XL96dtDyaGXd2mT2Vo7OLcN6NeDcGR8c5tVG34o3LEDEd9s8dAgMBAAECgYEAvxaGnhc7ZdOGYRDEDVFge4ywVYMqjlBSLzPaXv7InMrHvjbBJNrC3fjkCvsfwOpsqd8N4ae32QlJsJP3Q00qmR9I8beLjUe50zOSk1ExSdKTAHV8iHFlxxQhfP0y9T7pTYuDFMRC8Qcc2J7d6OUVF3Au/GBM6P8yFrKeDx2hXQECQQDjM4V75SmQ+dtPjajzBZt9OctVwAfEVePUX84dioMOS1W7KxaHYYpZMPMC9SkAsCYuGhw2bXIiCRQM+6PDm9aRAkEA3CncsOQTLRgpGOo/Lr5UXybq8EVB5s1ItTd+dCqAH8i220kw5OXH3siMwLJBdv8zUVrAwqocaNRzgjYY1WytzQJBAKAjAEKDEvkMIne/8QTZPu7UfWzDHLZVk29s12oa5qR8lMCHbimdplWXGrFK+stxXHfCD4CNQ5SZsXg1JQgKHwECQFprxvvPcCDBH3/gFPr5qGU78pmjmCFWhloG5KSJH/3tzUvaj34y8ReKfmRV0ZUx0r3C7BAHFYvoVVhRJ3ngHLECQQCC5iTBfTdd51Lb5kwxffk/iw+BRAsZ5SAzUlmwRyB0cvX/9yvton8PPK590yYQqkc6BMmNePzRypVlYNXzhYfe"; + public static String zcC = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAM6T6V5lfKE5miEMR88NalNn6CvzQC+PR8bH0ipUege8D/tFgjh22J3Yh1Ibgl1zsoifz3eF8/IKWZ6Hui7iUeOvbZteCuz7IBLFvnbPsNCP7SbLGPYRasVp3zqwt2NV72aZ/bI9pLczK2+b0R+KJXZ5V6fmVFx/QWWAo+NmkerVAgMBAAECgYA0yBQjm1iptRcNhJ7AZ5QYNX9b424t+LUFND8ds7HuUf3fXNY16R/VzOJed0rq58nhILwYtPAskrptSA6pNghn56dike27vANR6mTaYv+0o1FS/+lGQ1UohSAnzVw30L/tJzrobvvU4joXYjb95typAOiIvcOh8WAuwQRU7I5MAQJBAPh/Ji6mKbllYHAn+sHdE0cGm8QISZz+7dvZQQ8L7MzJG1eUYZXCXQ9Fiqrk3kLNwq6IW+eruBsH4HJa9LNyjwECQQDU0Lvy/EnnQNITryXQ20gxR+x4e9Nak+4GJbL6JFf9kqCUhei2ni8t/RO7wp+jrKUy2kdzGlRL+cv5dgxzv+/VAkBQua2DtgMT8TT0+mfhlpnultz/P9n6IG7Q3rDd3Hfexu4U82UIK43jqimz/omdlg5KeI2yovw5+8MUIywfJ3YBAkBanIVp8AGHdRH9T5XKV5NlaDpHEnHrHxE5jNOnrdHJJaU5l8p99twfuKGuUC+ogNnVzRqe55b8wl8W2Cx1HEQBAkAzWKejO1OWmdf+VwgUwShiRMvlNvzO7iPoyE6B4DrLM5dAMk8BN4Cyk1T/4pDfcj9FCydDk3fCmtPA0DWngU6A"; + private String n8 = ""; + private Map> ug = new HashMap(); + private String v = ""; + private String in = ""; + private String I4 = ""; + + private String l(String str) { + return RSA.l(str, qb); + } + + private HashMap n8() { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", "Dalvik/2.1.0 (Linux; U; Android 10; PBEM00 Build/QKQ1.190918.001)"); + return hashMap; + } + + private String qb(String str, String str2) { + return RSA.qb(str, str2); + } + + private String zC() { + return String.valueOf(System.currentTimeMillis() / 1000); + } + + public String categoryContent(String str, String str2, boolean z, HashMap hashMap) { + JSONObject jSONObject = new JSONObject(); + try { + String str3 = this.n8 + "api.php/Videolast/video?class="; + if (hashMap.containsKey("class")) { + str3 = str3 + hashMap.get("class"); + } + String str4 = str3 + "&area="; + if (hashMap.containsKey("area")) { + str4 = str4 + hashMap.get("area"); + } + String str5 = str4 + "&year="; + if (hashMap.containsKey("year")) { + str5 = str5 + hashMap.get("year"); + } + JSONArray jSONArray = new JSONObject(qb(OkHttpUtil.string(str5 + "&tid=" + str + "&pg=" + str2 + "&limit=20&csrf=" + URLEncoder.encode(l(zC())), n8()), l)).getJSONArray("data"); + JSONArray jSONArray2 = new JSONArray(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONObject jSONObject2 = jSONArray.getJSONObject(i); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("vod_id", jSONObject2.getString("vod_id")); + jSONObject3.put("vod_name", jSONObject2.getString("vod_name")); + jSONObject3.put("vod_pic", jSONObject2.getString("vod_pic")); + jSONObject3.put("vod_remarks", jSONObject2.getString("vod_remarks")); + jSONArray2.put(jSONObject3); + } + int parseInt = Integer.parseInt(str2); + jSONObject.put("page", parseInt); + if (jSONArray2.length() == 12) { + parseInt++; + } + jSONObject.put("pagecount", parseInt); + jSONObject.put("limit", 12); + jSONObject.put("total", Integer.MAX_VALUE); + jSONObject.put("list", jSONArray2); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject.toString(); + } + + public String detailContent(List list) { + JSONObject jSONObject = new JSONObject(); + try { + JSONObject jSONObject2 = new JSONObject(); + String zC2 = zC(); + String l2 = l(zC2); + jSONObject2.put("time", zC2); + String str = new String(RSA.l(l2, qb)); + JSONObject aa = new JSONObject(OkHttpUtil.string(this.n8 + "api.php/Videolast/videoDetail?id=" + list.get(0) + "&ck=" + URLEncoder.encode(str) + "&csrf=" + URLEncoder.encode(l2), n8())); + //String ba = aa.optJSONObject("data").toString(); + JSONObject optJSONObject = new JSONObject(qb(aa.optString("data"), l)).optJSONObject("data").optJSONObject("vod_info"); + //JSONObject optJSONObjects = new JSONObject(qb(OkHttpUtil.string(this.n8 + "api.php/Videolast/videoDetail?id=" + list.get(0) + "&ck=" + URLEncoder.encode(str) + "&csrf=" + URLEncoder.encode(l2), n8()), l)).optJSONObject("data").optJSONObject("vod_info"); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("vod_id", optJSONObject.getString("vod_id")); + jSONObject3.put("vod_name", optJSONObject.getString("vod_name")); + jSONObject3.put("vod_pic", optJSONObject.getString("vod_pic")); + jSONObject3.put("type_name", optJSONObject.optString("vod_class")); + jSONObject3.put("vod_year", optJSONObject.optString("vod_year")); + jSONObject3.put("vod_area", optJSONObject.optString("vod_area")); + jSONObject3.put("vod_remarks", optJSONObject.optString("vod_remarks")); + jSONObject3.put("vod_actor", optJSONObject.optString("vod_actor")); + jSONObject3.put("vod_content", optJSONObject.optString("vod_content").trim()); + JSONArray jSONArray = aa.getJSONArray("video_list"); + LinkedHashMap linkedHashMap = new LinkedHashMap(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONObject jSONObject4 = jSONArray.getJSONObject(i); + String string = jSONObject4.getString("code"); + linkedHashMap.put(string, jSONObject4.optString("url")); + JSONArray optJSONArray = jSONObject4.optJSONArray("parse_api"); + this.I4 = jSONObject4.optString("user_agent"); + if (!this.ug.containsKey(string)) { + HashSet hashSet = new HashSet(); + for (int i2 = 0; i2 < optJSONArray.length(); i2++) { + hashSet.add(optJSONArray.optString(i2)); + } + this.ug.put(string, hashSet); + SpiderDebug.log(this.ug.toString()); + } else { + Set set = this.ug.get(string); + for (int i3 = 0; i3 < optJSONArray.length(); i3++) { + set.add(optJSONArray.optString(i3)); + } + } + } + String join = TextUtils.join("$$$", linkedHashMap.keySet()); + String join2 = TextUtils.join("$$$", linkedHashMap.values()); + jSONObject3.put("vod_play_from", join); + jSONObject3.put("vod_play_url", join2); + JSONArray jSONArray2 = new JSONArray(); + jSONArray2.put(jSONObject3); + jSONObject.put("list", jSONArray2); + } catch (Exception unused) { + } + return jSONObject.toString(); + } + + public String homeContent(boolean z) { + String str = "type_id"; + String str2 = "type_name"; + JSONObject jSONObject = new JSONObject(); + try { + JSONArray jSONArray = new JSONObject(qb(OkHttpUtil.string(this.n8 + "api.php/Videolast/nav?csrf=" + URLEncoder.encode(l(zC())), (Map) null), l)).getJSONArray("data"); + JSONArray jSONArray2 = new JSONArray(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONObject jSONObject2 = jSONArray.getJSONObject(i); + String string = jSONObject2.getString(str2); + String string2 = jSONObject2.getString(str); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put(str, string2); + jSONObject3.put(str2, string); + JSONObject optJSONObject = jSONObject2.optJSONObject("type_extend"); + if (!z || optJSONObject == null) { + str = str; + str2 = str2; + jSONArray = jSONArray; + } else { + JSONArray jSONArray3 = new JSONArray(); + LinkedHashMap linkedHashMap = new LinkedHashMap(); + linkedHashMap.put("class", "剧情"); + linkedHashMap.put("area", "地区"); + linkedHashMap.put("lang", "语言"); + linkedHashMap.put("year", "年份"); + Iterator it = linkedHashMap.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry entry = (Map.Entry) it.next(); + String string3 = optJSONObject.getString((String) entry.getKey()); + if (!TextUtils.isEmpty(string3)) { + JSONObject jSONObject4 = new JSONObject(); + jSONObject4.put("key", entry.getKey()); + jSONObject4.put("name", entry.getValue()); + jSONArray3.put(jSONObject4); + String[] split = string3.split(","); + JSONArray jSONArray4 = new JSONArray(); + JSONObject jSONObject5 = new JSONObject(); + jSONObject5.put("n", "全部"); + jSONObject5.put("v", ""); + jSONArray4.put(jSONObject5); + int length = split.length; + int i2 = 0; + while (i2 < length) { + String str3 = split[i2]; + JSONObject jSONObject6 = new JSONObject(); + jSONObject6.put("n", str3); + jSONObject6.put("v", str3); + jSONArray4.put(jSONObject6); + i2++; + jSONArray = jSONArray; + split = split; + } + jSONObject4.put("value", jSONArray4); + it = it; + str = str; + str2 = str2; + jSONArray = jSONArray; + } + } + str = str; + str2 = str2; + jSONArray = jSONArray; + if (!jSONObject.has("filters")) { + jSONObject.put("filters", new JSONObject()); + } + jSONObject.getJSONObject("filters").put(string2, jSONArray3); + } + jSONArray2.put(jSONObject3); + } + jSONObject.put("class", jSONArray2); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject.toString(); + } + + public String homeVideoContent() { + JSONObject jSONObject = new JSONObject(); + try { + JSONArray jSONArray = new JSONArray(); + JSONArray jSONArray2 = new JSONObject(qb(OkHttpUtil.string(this.n8 + "api.php/Videolast/indexVideo?csrf=" + URLEncoder.encode(l(zC())), n8()), l)).getJSONArray("data"); + for (int i = 0; i < jSONArray2.length(); i++) { + JSONArray jSONArray3 = jSONArray2.getJSONObject(i).getJSONArray("vlist"); + for (int i2 = 0; i2 < jSONArray3.length(); i2++) { + JSONObject jSONObject2 = jSONArray3.getJSONObject(i2); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("vod_id", jSONObject2.getString("vod_id")); + jSONObject3.put("vod_name", jSONObject2.getString("vod_name")); + jSONObject3.put("vod_pic", jSONObject2.getString("vod_pic")); + jSONObject3.put("vod_remarks", jSONObject2.getString("vod_remarks")); + jSONArray.put(jSONObject3); + } + } + jSONObject.put("list", jSONArray); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject.toString(); + } + + public void init(Context context) { + SP293.super.init(context); + } + + public boolean isVideoFormat(String str) { + return SP293.super.isVideoFormat(str); + } + + public boolean manualVideoCheck() { + return SP293.super.manualVideoCheck(); + } + + public String playerContent(String str, String str2, List list) { + JSONObject jSONObject = new JSONObject(); + try { + jSONObject.put("parse", "0"); + jSONObject.put("playUrl", ""); + SpiderDebug.log(new JSONObject(this.ug).toString()); + if (this.ug.containsKey(str)) { + Iterator it = this.ug.get(str).iterator(); + while (true) { + if (!it.hasNext()) { + break; + } + HashMap hashMap = new HashMap(); + hashMap.put("User-Agent", "hahaha"); + //hashMap.put("Host", "123.56.222.84:2025"); + JSONObject jSONObject2 = new JSONObject(OkHttpUtil.string(it.next() + str2 + "&appId=1000&version=1.3.3&device_id=b08b45ee1124f23b", hashMap)); + String optString = jSONObject2.optString("data"); + + Integer valueOf = Integer.valueOf(jSONObject2.optInt("encryption")); + if (Integer.valueOf(jSONObject2.optInt("code")).intValue() == 1 || (!optString.equals("") && valueOf.intValue() >= 0)) { + if (valueOf.intValue() == 1) { + JSONObject jSONObject3 = new JSONObject(qb(jSONObject2.optString("data"), zcC)); + String optString2 = jSONObject3.optString("url"); + String optString3 = jSONObject3.optString("header"); + if (!TextUtils.isEmpty(optString2)) { + jSONObject.put("url", optString2); + if (!TextUtils.isEmpty(optString3) && optString2.contains("weiyun")) { + jSONObject.put("header", optString3); + } + } + } else if (valueOf.intValue() == 0) { + String optString4 = new JSONObject(optString).optString("url"); + if (!TextUtils.isEmpty(optString4)) { + jSONObject.put("url", optString4); + break; + } + } else { + continue; + } + } + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject.toString(); + } + + public String searchContent(String str, boolean z) { + JSONObject jSONObject = new JSONObject(); + try { + JSONArray optJSONArray = new JSONObject(qb(OkHttpUtil.string(this.n8 + "api.php/Videolast/search?pg=1&text=" + URLEncoder.encode(str) + "&pg=1&csrf=" + URLEncoder.encode(l(zC())), n8()), l)).optJSONArray("data"); + JSONArray jSONArray = new JSONArray(); + for (int i = 0; i < optJSONArray.length(); i++) { + JSONObject jSONObject2 = optJSONArray.getJSONObject(i); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("vod_id", jSONObject2.getString("vod_id")); + jSONObject3.put("vod_name", jSONObject2.getString("vod_name")); + jSONObject3.put("vod_pic", jSONObject2.getString("vod_pic")); + jSONObject3.put("vod_remarks", jSONObject2.getString("vod_remarks")); + jSONArray.put(jSONObject3); + } + jSONObject.put("list", jSONArray); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject.toString(); + } + + public void init(Context context, String str) { + try { + this.n8 = new JSONObject(qb(OkHttpUtil.string("https://alogin.oss-cn-beijing.aliyuncs.com/iphones.json", n8()), zC)).optJSONObject("data").optString("url"); + JSONObject jSONObject = new JSONObject(OkHttpUtil.string("https://agit.ai/fangzimo/TVBox/raw/branch/main/293.txt", (Map) null)); + this.in = jSONObject.optString("appId"); + this.v = jSONObject.optString("version"); + + } catch (Exception e) { + SpiderDebug.log(e); + } + } +} diff --git a/TVBox_Java/spider/SP360.java b/TVBox_Java/spider/SP360.java new file mode 100644 index 0000000..674e201 --- /dev/null +++ b/TVBox_Java/spider/SP360.java @@ -0,0 +1,345 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.net.URL; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + + +public class SP360 extends Spider { + protected JSONObject ext = null; + private static final String SiteHost = "https://api.web.360kan.com/v1/rank?cat=1"; + private static final String SiteFilter = "https://api.web.360kan.com/v1/filter/list"; + private static final String SiteDetail = "https://api.web.360kan.com/v1/detail"; + private static final String SiteSearch = "https://api.so.360kan.com/index?force_v=1&kw=%s&from=&pageno=1&v_ap=1&tab=all"; + + + @Override + public void init(Context context) { + super.init(context); + try { + ext = new JSONObject("{\"classes\":[{\"type_name\":\"电影\",\"type_id\":\"1\"},{\"type_name\":\"电视剧\",\"type_id\":\"2\"},{\"type_name\":\"综艺\",\"type_id\":\"3\"},{\"type_name\":\"动漫\",\"type_id\":\"4\"}],\"filter\":{\"1\":[{\"key\":\"cat\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"文艺\",\"v\":\"文艺\"},{\"n\":\"纪录\",\"v\":\"纪录\"},{\"n\":\"传记\",\"v\":\"传记\"},{\"n\":\"歌舞\",\"v\":\"歌舞\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"伦理\",\"v\":\"伦理\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年代\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"更早\",\"v\":\"lt_year\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"大陆\"},{\"n\":\"中国香港\",\"v\":\"香港\"},{\"n\":\"中国台湾\",\"v\":\"台湾\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"rank\",\"name\":\"排序\",\"value\":[{\"n\":\"最近热映\",\"v\":\"rankhot\"},{\"n\":\"最近上映\",\"v\":\"ranklatest\"},{\"n\":\"最受好评\",\"v\":\"rankpoint\"}]}],\"2\":[{\"key\":\"cat\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"言情\",\"v\":\"言情\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"伦理\",\"v\":\"伦理\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"都市\",\"v\":\"都市\"},{\"n\":\"偶像\",\"v\":\"偶像\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"军事\",\"v\":\"军事\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"神话\",\"v\":\"神话\"},{\"n\":\"谍战\",\"v\":\"谍战\"},{\"n\":\"青春\",\"v\":\"青春剧\"},{\"n\":\"家庭\",\"v\":\"家庭剧\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"情景\",\"v\":\"情景\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"其他\",\"v\":\"其他\"},{\"n\":\"全部\",\"v\":\"\"}]},{\"key\":\"year\",\"name\":\"年代\",\"value\":[{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"更早\",\"v\":\"lt_year\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"中国香港\",\"v\":\"香港\"},{\"n\":\"中国台湾\",\"v\":\"台湾\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"}]},{\"key\":\"rank\",\"name\":\"排序\",\"value\":[{\"n\":\"最近热映\",\"v\":\"rankhot\"},{\"n\":\"最近上映\",\"v\":\"ranklatest\"},{\"n\":\"最受好评\",\"v\":\"rankpoint\"}]}],\"3\":[{\"key\":\"cat\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"脱口秀\",\"v\":\"脱口秀\"},{\"n\":\"真人秀\",\"v\":\"真人秀\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"选秀\",\"v\":\"选秀\"},{\"n\":\"八卦\",\"v\":\"八卦\"},{\"n\":\"访谈\",\"v\":\"访谈\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"生活\",\"v\":\"生活\"},{\"n\":\"晚会\",\"v\":\"晚会\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"职场\",\"v\":\"职场\"},{\"n\":\"美食\",\"v\":\"美食\"},{\"n\":\"时尚\",\"v\":\"时尚\"},{\"n\":\"游戏\",\"v\":\"游戏\"},{\"n\":\"少儿\",\"v\":\"少儿\"},{\"n\":\"体育\",\"v\":\"体育\"},{\"n\":\"纪实\",\"v\":\"纪实\"},{\"n\":\"科教\",\"v\":\"科教\"},{\"n\":\"曲艺\",\"v\":\"曲艺\"},{\"n\":\"歌舞\",\"v\":\"歌舞\"},{\"n\":\"财经\",\"v\":\"财经\"},{\"n\":\"汽车\",\"v\":\"汽车\"},{\"n\":\"播报\",\"v\":\"播报\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"大陆\"},{\"n\":\"中国香港\",\"v\":\"香港\"},{\"n\":\"中国台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"}]},{\"key\":\"rank\",\"name\":\"排序\",\"value\":[{\"n\":\"最近热映\",\"v\":\"rankhot\"},{\"n\":\"最近上映\",\"v\":\"ranklatest\"}]}],\"4\":[{\"key\":\"cat\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"美少女\",\"v\":\"美少女\"},{\"n\":\"魔幻\",\"v\":\"魔幻\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"少儿\",\"v\":\"少儿\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"恋爱\",\"v\":\"恋爱\"},{\"n\":\"治愈\",\"v\":\"治愈\"},{\"n\":\"幻想\",\"v\":\"幻想\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动物\",\"v\":\"动物\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"儿歌\",\"v\":\"儿歌\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"怪物\",\"v\":\"怪物\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"童话\",\"v\":\"童话\"},{\"n\":\"竞技\",\"v\":\"竞技\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"友情\",\"v\":\"友情\"},{\"n\":\"真人版\",\"v\":\"真人版\"},{\"n\":\"电影版\",\"v\":\"电影版\"},{\"n\":\"OVA版\",\"v\":\"OVA版\"},{\"n\":\"TV版\",\"v\":\"TV版\"},{\"n\":\"新番动画\",\"v\":\"新番动画\"},{\"n\":\"完结动画\",\"v\":\"完结动画\"}]},{\"key\":\"year\",\"name\":\"年代\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"更早\",\"v\":\"更早\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"大陆\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"}]},{\"key\":\"rank\",\"name\":\"排序\",\"value\":[{\"n\":\"最近热映\",\"v\":\"rankhot\"},{\"n\":\"最近上映\",\"v\":\"ranklatest\"}]}]}}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + protected HashMap Headers() { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + return headers; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + String cover; + String remark; + try { + String url = SiteFilter + "?catid=" + tid + "&pageno=" + pg; + Set keys = extend.keySet(); + for (String key : keys) { + String val = extend.get(key).trim(); + if (val.length() == 0) + continue; + url += "&" + key + "=" + URLEncoder.encode(val); + } + String content = OkHttpUtil.string(url, Headers()); + JSONObject dataObject = new JSONObject(content).getJSONObject("data"); + JSONArray jsonArray = dataObject.getJSONArray("movies"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + cover = vObj.getString("cover"); + if (vObj.has("upinfo")) { + remark = vObj.getString("upinfo"); + v.put("vod_id", tid + "_" + vObj.getString("id")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", "https:" + cover); + v.put("vod_remarks", remark); + } else { + v.put("vod_id", tid + "_" + vObj.getString("id")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", "https:" + cover); + v.put("vod_remarks", ""); + } + videos.put(v); + } + JSONObject result = new JSONObject(); + int limit = 24; + int page = Integer.parseInt(dataObject.getString("current_page")); + int total = dataObject.getInt("total"); + int pageCount = total % limit == 0 ? (total / limit) : (total / limit + 1); + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", limit); + result.put("total", total); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + @Override + public String detailContent(List ids) { + Iterator it; + String str; + String str2; + Exception e2; + ArrayList arrayList = new ArrayList(); + Exception e3; + JSONObject result = new JSONObject(); + try { + String[] split = ids.get(0).split("_"); + String format = String.format("%s?cat=%s&id=%s", SiteDetail, split[0], split[1]); + JSONObject jSONObject6 = new JSONObject(OkHttpUtil.string(format, Headers())).getJSONObject("data"); + JSONArray jSONArray = new JSONArray(); + JSONObject list = new JSONObject(); + jSONArray.put(list); + result.put("list", jSONArray); + list.put("vod_id", split[0] + "_" + jSONObject6.optString("ent_id")); + list.put("vod_name", jSONObject6.optString("title")); + list.put("vod_pic", jSONObject6.optString("cdncover")); + JSONArray optJSONArray = jSONObject6.optJSONArray("moviecategory"); + ArrayList arrayList2 = new ArrayList(); + for (int i = 0; i < optJSONArray.length(); i++) { + arrayList2.add(optJSONArray.getString(i)); + } + list.put("type_name", TextUtils.join("/", arrayList2)); + list.put("vod_year", jSONObject6.optString("pubdate")); + JSONArray optJSONArray2 = jSONObject6.optJSONArray("area"); + ArrayList arrayList3 = new ArrayList(); + for (int i2 = 0; i2 < optJSONArray2.length(); i2++) { + arrayList3.add(optJSONArray2.getString(i2)); + } + list.put("vod_area", TextUtils.join("/", arrayList3)); + list.put("vod_remarks", jSONObject6.optString("doubanscore")); + JSONArray optJSONArray3 = jSONObject6.optJSONArray("actor"); + ArrayList arrayList4 = new ArrayList(); + for (int i3 = 0; i3 < optJSONArray3.length(); i3++) { + arrayList4.add(optJSONArray3.getString(i3)); + } + list.put("vod_actor", TextUtils.join("/", arrayList4)); + JSONArray optJSONArray4 = jSONObject6.optJSONArray("director"); + ArrayList arrayList5 = new ArrayList(); + for (int i4 = 0; i4 < optJSONArray4.length(); i4++) { + arrayList5.add(optJSONArray4.getString(i4)); + } + list.put("vod_director", TextUtils.join("/", arrayList5)); + list.put("vod_content", jSONObject6.optString("description")); + JSONArray optJSONArray5 = jSONObject6.optJSONArray("playlink_sites"); + ArrayList arrayList6 = new ArrayList(); + for (int i5 = 0; i5 < optJSONArray5.length(); i5++) { + arrayList6.add(optJSONArray5.getString(i5)); + } + list.put("vod_play_from", TextUtils.join("$$$", arrayList6)); + JSONObject optJSONObject = jSONObject6.optJSONObject("playlinksdetail"); + JSONObject optJSONObject2 = jSONObject6.optJSONObject("allepidetail"); + JSONArray optJSONArray6 = jSONObject6.optJSONArray("defaultepisode"); + JSONObject optJSONObject3 = jSONObject6.optJSONObject("allupinfo"); + String str7 = "vod_play_url"; + if (optJSONArray6 != null) { + ArrayList arrayList7 = new ArrayList(); + for (int i6 = 0; i6 < optJSONArray6.length(); i6++) { + try { + URL url2 = new URL(optJSONArray6.getJSONObject(i6).optString("url")); + arrayList7.add(optJSONArray6.getJSONObject(i6).optString("sort") + "$" + (url2.getProtocol() + "://" + url2.getHost() + url2.getPath())); + } catch (Exception e4) { + SpiderDebug.log(e4); + } + } + list.put(str7, TextUtils.join("#", arrayList7)); + return result.toString(); + } + if (optJSONObject2 == null) { + ArrayList arrayList8 = new ArrayList(); + for (String str8 : arrayList6) { + try { + URL url3 = new URL(optJSONObject.getJSONObject(str8).optString("default_url")); + arrayList8.add(optJSONObject.getJSONObject(str8).optString("sort") + "$" + (url3.getProtocol() + "://" + url3.getHost() + url3.getPath())); + } catch (Exception e5) { + SpiderDebug.log(e5); + } + } + list.put(str7, TextUtils.join("$$$", arrayList8)); + } else { + ArrayList videos = new ArrayList(); + Iterator it2 = arrayList6.iterator(); + while (it2.hasNext()) { + String str9 = (String) it2.next(); + int parseInt = Integer.parseInt(optJSONObject3.optString(str9, "0")); + if (parseInt > 50 || parseInt == 0) { + it = it2; + str = format + "&start=1&end=50&site=" + str9; + } else { + StringBuilder sb2 = new StringBuilder(); + sb2.append(format); + it = it2; + sb2.append("&start=1&end="); + sb2.append(parseInt); + sb2.append("&site="); + sb2.append(str9); + str = sb2.toString(); + } + JSONObject optJSONObject4 = new JSONObject(OkHttpUtil.string(str, Headers())).getJSONObject("data").optJSONObject("allepidetail"); + ArrayList arrayList10 = new ArrayList(); + JSONArray jSONArray2 = optJSONObject4.getJSONArray(str9); + int i7 = 0; + while (true) { + str2 = str7; + if (i7 >= jSONArray2.length()) { + break; + } + try { + String url5 = jSONArray2.getJSONObject(i7).optString("url"); + arrayList = videos; + arrayList10.add(jSONArray2.getJSONObject(i7).optString("playlink_num") + "$" + url5); + } catch (Exception e7) { + e3 = e7; + SpiderDebug.log(e3); + i7++; + } + i7++; + str7 = str2; + videos = arrayList; + } + ArrayList arrayList11 = videos; + if (parseInt >= jSONArray2.length()) { + int i8 = 51; + while (i8 < parseInt) { + int i9 = i8 + 49; + if (i9 > parseInt) { + i9 = parseInt; + } + JSONObject optJSONObject5 = new JSONObject(OkHttpUtil.string(String.format("%s?cat=%s&id=%s&start=%s&end=%s&site=%s", SiteDetail, split[0], split[1], Integer.valueOf(i8), Integer.valueOf(i9), str9), Headers())).optJSONObject("data"); + if (optJSONObject5 == null) { + break; + } + JSONArray jSONArray3 = optJSONObject5.getJSONObject("allepidetail").getJSONArray(str9); + int i10 = 0; + while (i10 < jSONArray3.length()) { + try { + String url4 = jSONArray3.getJSONObject(i10).optString("url"); + try { + arrayList10.add(jSONArray3.getJSONObject(i10).optString("playlink_num") + "$" + url4); + } catch (Exception e8) { + e2 = e8; + SpiderDebug.log(e2); + i10++; + } + } catch (Exception e9) { + } + i10++; + } + i8 = i9 + 1; + } + } + arrayList11.add(TextUtils.join("#", arrayList10)); + videos = arrayList11; + it2 = it; + str7 = str2; + } + list.put(str7, TextUtils.join("$$$", videos)); + } + return result.toString(); + } catch (Exception e10) { + SpiderDebug.log(e10); + return ""; + } + } + + @Override + public String homeContent(boolean filter) { + JSONObject results = new JSONObject(); + try { + results.put("class", ext.getJSONArray("classes")); + if (filter) { + results.put("filters", ext.getJSONObject("filter")); + } + } catch (JSONException e2) { + SpiderDebug.log(e2); + } + return results.toString(); + } + + @Override + public String homeVideoContent() { + JSONObject list = new JSONObject(); + try { + String str = SiteHost; + String i = OkHttpUtil.string(str, new HashMap()); + SpiderDebug.log("响应请求:" + str); + JSONArray optJSONArray = new JSONObject(i).optJSONArray("data"); + JSONArray jSONArray = new JSONArray(); + for (int j = 0; j < optJSONArray.length(); j++) { + JSONObject jSONObject2 = optJSONArray.getJSONObject(j); + JSONObject VideoAtom = new JSONObject(); + VideoAtom.put("vod_id", jSONObject2.optString("cat") + "_" + jSONObject2.optString("ent_id")); + VideoAtom.put("vod_name", jSONObject2.optString("title")); + VideoAtom.put("vod_pic", jSONObject2.optString("cover")); + VideoAtom.put("vod_remarks", jSONObject2.optString("upinfo")); + jSONArray.put(VideoAtom); + } + list.put("list", jSONArray); + } catch (Exception e2) { + SpiderDebug.log(e2); + } + return list.toString(); + } + + @Override + public String playerContent(String str, String str2, List list) { + JSONObject result = new JSONObject(); + try { + result.put("parse", 1); + result.put("url", str2); + result.put("jx", "1"); + result.put("playUrl", ""); + } catch (Exception e2) { + SpiderDebug.log(e2); + } + return result.toString(); + } + + @Override + public String searchContent(String str, boolean filter) { + JSONObject optJSONObject; + JSONObject list = new JSONObject(); + try { + JSONObject optJSONObject2 = new JSONObject(OkHttpUtil.string(String.format(SiteSearch, str), Headers())).optJSONObject("data"); + if (!(optJSONObject2 == null || (optJSONObject = optJSONObject2.optJSONObject("longData")) == null)) { + JSONArray jSONArray = optJSONObject.getJSONArray("rows"); + JSONArray videos = new JSONArray(); + list.put("list", videos); + for (int i = 0; i < jSONArray.length(); i++) { + JSONObject Obj = jSONArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", Obj.optString("cat_id") + "_" + Obj.optString("en_id")); + v.put("vod_name", Obj.optString("titleTxt")); + v.put("vod_pic", Obj.optString("cover")); + v.put("vod_remarks", Obj.optString("score")); + videos.put(v); + } + } + } catch (Exception e2) { + SpiderDebug.log(e2); + } + return list.toString(); + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/Smdyy.java b/TVBox_Java/spider/Smdyy.java new file mode 100644 index 0000000..51fc818 --- /dev/null +++ b/TVBox_Java/spider/Smdyy.java @@ -0,0 +1,514 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; + + +/** + * 神马影院 + *

    + * Author: baddychen + */ +public class Smdyy extends Spider { + private static final String siteUrl = "https://www.smdyy.cc"; + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/list/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/kan/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/play/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/show/(\\S+).html"); + + protected String ext = null; + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"duoduozy\":{\"show\":\"高清线路\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"sohu\":{\"show\":\"优选7\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"qq\":{\"show\":\"优选3\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"bilibili\":{\"show\":\"bilibili\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"youku\":{\"show\":\"优选1\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"qiyi\":{\"show\":\"优选2\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"letv\":{\"show\":\"优选6\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"xigua\":{\"show\":\"西瓜视频\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"mgtv\":{\"show\":\"优选4\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"tkm3u8\":{\"show\":\"备用\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"},\"pptv\":{\"show\":\"优选5\",\"or\":999,\"ps\":\"0\",\"parse\":\"https://player.6080kan.cc/player/play.php?url=\"}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"1\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧片\",\"v\":\"7\"},{\"n\":\"爱情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"剧情片\",\"v\":\"11\"},{\"n\":\"战争片\",\"v\":\"12\"},{\"n\":\"犯罪片\",\"v\":\"20\"},{\"n\":\"惊悚片\",\"v\":\"21\"},{\"n\":\"冒险片\",\"v\":\"22\"},{\"n\":\"悬疑片\",\"v\":\"23\"},{\"n\":\"武侠片\",\"v\":\"24\"},{\"n\":\"奇幻片\",\"v\":\"25\"},{\"n\":\"纪录片\",\"v\":\"26\"},{\"n\":\"动画片\",\"v\":\"27\"}]},{\"key\":\"1\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"11\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"4\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"}]}],\"2\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"2\"},{\"n\":\"国产剧\",\"v\":\"13\"},{\"n\":\"港台剧\",\"v\":\"14\"},{\"n\":\"日韩剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"泰国剧\",\"v\":\"28\"}]},{\"key\":\"1\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"11\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"4\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"}]}],\"4\":[{\"key\":\"3\",\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"3\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"1\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"内地\",\"v\":\"内地\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"11\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"4\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + if (!TextUtils.isEmpty(url)) { + headers.put("Referer", url); + } + headers.put("Accept-Encoding", "gzip, deflate, br"); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 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-Language", "zh-CN,zh;q=0.9"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.stui-header__menu > li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = true; + if (filter) { + show = name.equals("电影") || + name.equals("电视剧") || + name.equals("动漫"); + } + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + Elements list = doc.select("div.stui-pannel div.stui-pannel__bd ul.stui-vodlist li div.stui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + Matcher matcher = regexVid.matcher(vod.selectFirst(".stui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String title = vod.selectFirst(".stui-vodlist__thumb").attr("title"); + String cover = vod.selectFirst(".stui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + if (!TextUtils.isEmpty(cover) && !cover.startsWith("http")) { + cover = siteUrl + cover; + } + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.trim().length() == 0) + continue; + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/show/" + TextUtils.join("-", urlParams) + "/"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + Elements pageInfo = doc.select("ul.stui-page__item li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + if (page == -1 && li.hasClass("active")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + String wy = doc.select("ul.stui-page__item li a").last().attr("href"); + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("ul.stui-vodlist li div.stui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".stui-vodlist__thumb").attr("title"); + String cover = vod.selectFirst(".stui-vodlist__thumb").attr("data-original"); + if (!TextUtils.isEmpty(cover) && !cover.startsWith("http")) { + cover = siteUrl + cover; + } + String remark = vod.selectFirst("span.pic-text").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst(".stui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + private static String Regex(Pattern pattern, String content) { + if (pattern == null) { + return content; + } + try { + Matcher matcher = pattern.matcher(content); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return content; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/kan/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("a.pic img").attr("data-original"); + if (!TextUtils.isEmpty(cover) && !cover.startsWith("http")) { + cover = siteUrl + cover; + } + String title = doc.selectFirst("div.stui-content__detail h1.title").text(); + String category = "", area = "", year = "", remark = "", director = "", actor = "", desc = ""; + Elements data = doc.select("p.data"); + desc = doc.selectFirst("span.detail-content").text().trim(); + category = Regex(Pattern.compile("类型:(\\S+)"), data.get(0).text()); + area = Regex(Pattern.compile("地区:(\\S+)"), data.get(0).text()); + year = Regex(Pattern.compile("年份:(\\S+)"), data.get(0).text()); + actor = Regex(Pattern.compile("主演:(\\S+)"), data.get(1).text()); + director = Regex(Pattern.compile("导演:(\\S+)"), data.get(1).text()); + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.stui-vodlist__head"); + //Elements sourceList = doc.select("div.stui-vodlist__head > ul.stui-content__playlist"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.selectFirst("h3").text().trim(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("show").equals(sourceName)) { + //sourceName = flag; + sourceName = playerConfig.getJSONObject(flag).getString("show"); + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = source.select("ul.stui-content__playlist > li > a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + + private final Pattern urlt = Pattern.compile("\"url\": *\"([^\"]*)\","); + private final Pattern token = Pattern.compile("\"token\": *\"([^\"]*)\""); + private final Pattern vkey = Pattern.compile("\"vkey\": *\"([^\"]*)\","); + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + JSONObject headers = new JSONObject(); + headers.put("Referer", " https://www.smdyy.cc/"); + headers.put("User-Agent", " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"); + headers.put("Accept", " text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-GB;q=0.8,en-US;q=0.7,en;q=0.6"); + headers.put("Accept-Encoding", " gzip, deflate"); + String url = siteUrl + "/play/" + id + ".html"; + Elements allScript = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))).select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { + JSONObject player = new JSONObject(scContent.substring(scContent.indexOf('{'), scContent.lastIndexOf('}') + 1)); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + //String jxurl = "https://player.tjomet.com/lgyy/?url=" + player.getString("url"); + String jxurl = pCfg.getString("parse") + player.getString("url"); + Document doc = Jsoup.parse(OkHttpUtil.string(jxurl, getHeaders(jxurl))); + Elements script = doc.select("body>script"); + for (int j = 0; j < script.size(); j++) { + String Content = script.get(j).html().trim(); + Matcher matcher = urlt.matcher(Content); + if (!matcher.find()) { + return ""; + } + String urlt = matcher.group(1); + Matcher matcher1 = token.matcher(Content); + if (!matcher1.find()) { + return ""; + } + String token = matcher1.group(1); + Matcher matcher2 = vkey.matcher(Content); + if (!matcher2.find()) { + return ""; + } + String vkey = matcher2.group(1); + HashMap hashMap = new HashMap(); + hashMap.put("token", token); + hashMap.put("url", urlt); + hashMap.put("vkey", vkey); + hashMap.put("sign", "smdyycc"); + OkHttpUtil.post(OkHttpUtil.defaultClient(), "https://player.6080kan.cc/player/xinapi.php", hashMap, new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + String url = new String(Base64.decode(new JSONObject(str).getString("url").substring(8).getBytes(), 0)); + result.put("url", url.substring(8, url.length() - 8)); + } catch (JSONException e) { + e.printStackTrace(); + } + } + }); + result.put("header", headers.toString()); + result.put("parse", 0); + result.put("playUrl", ""); + + } + } + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + if (!TextUtils.isEmpty(cover) && !cover.startsWith("http")) { + cover = siteUrl + cover; + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Tangrenjie.java b/TVBox_Java/spider/Tangrenjie.java new file mode 100644 index 0000000..45789c7 --- /dev/null +++ b/TVBox_Java/spider/Tangrenjie.java @@ -0,0 +1,538 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; +import android.widget.Switch; + +import java.net.URLDecoder; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Tangrenjie extends Spider { + private static final String siteUrl = "https://www.tangrenjie.tv"; + private static final String siteHost = "tangrenjie.tv"; + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/vod/type/id/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/vod/detail/id/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/vod/play/id/(\\d+)/sid/(\\d+)/nid/(\\d+).html"); + private Pattern regexPage = Pattern.compile("\\S+/page/(\\d+)\\S+"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"if101\":{\"show\":\"蓝光一\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\",\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":\"cateId\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧片\",\"v\":\"7\"},{\"n\":\"爱情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"剧情片\",\"v\":\"11\"},{\"n\":\"战争片\",\"v\":\"12\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2000\",\"v\":\"2000\"},{\"n\":\"1997\",\"v\":\"1997\"},{\"n\":\"1980\",\"v\":\"1980\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":\"cateId\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产剧\",\"v\":\"13\"},{\"n\":\"港台剧\",\"v\":\"14\"},{\"n\":\"日韩剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"海外剧\",\"v\":\"27\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"韩国\",\"v\":\"韩国\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2000\",\"v\":\"2000\"},{\"n\":\"1997\",\"v\":\"1997\"},{\"n\":\"1980\",\"v\":\"1980\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"韩国\",\"v\":\"韩国\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2000\",\"v\":\"2000\"},{\"n\":\"1997\",\"v\":\"1997\"},{\"n\":\"1980\",\"v\":\"1980\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":\"cateId\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"纪录片\",\"v\":\"28\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2000\",\"v\":\"2000\"},{\"n\":\"1997\",\"v\":\"1997\"},{\"n\":\"1980\",\"v\":\"1980\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.top_nav li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + Elements b = ele.select("b"); + String name = b.text(); + boolean show = name.equals("电影") || + name.equals("电视剧") || + name.equals("动漫") || + name.equals("综艺") ; + + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.cbox1").get(1); + Elements list = homeList.select("ul.vodlist li.vodlist_item"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("a.vodlist_thumb").attr("title"); + String cover = siteUrl + vod.selectFirst("a.vodlist_thumb").attr("data-original"); + String remark = vod.select("span.pic_text b").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst("a.vodlist_thumb").attr("href")); + if (!matcher.find()) + continue; + String id = "1="+ matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/vod/show/id/"; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "/" + key + "/" + URLEncoder.encode(value); + } + } + } + url += "/page/" + pg + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.page"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("li a"); + if (a == null) + continue; + String span = pageInfo.select("li.active a").text(); + String wy = doc.select("ul.page li a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).trim()); + } else { + pageCount = 0; + } + break; + + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("ul.vodlist li.vodlist_item"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("a.vodlist_thumb").attr("title"); + String cover = siteUrl + vod.selectFirst("a.vodlist_thumb").attr("data-original"); + String remark = vod.select("span.pic_text b").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst("a.vodlist_thumb").attr("href")); + if (!matcher.find()) + continue; + String id = tid + "=" + matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 20); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 20); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String[] idd = ids.get(0).split("="); + String tid =idd[0]; + String detail = idd[1]; + String url = siteUrl + "/vod/detail/id/" + detail + ".html"; + String htmltemp = OkHttpUtil.string(url, getHeaders(url)); + String htmlsrc =""; + if(tid.equals("1")){ + htmlsrc = htmltemp.substring(0,25000); + }else{ + htmlsrc = htmltemp; + } + Document doc = Jsoup.parse(htmlsrc); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + // 取基本数据 + String vid = doc.selectFirst("div.content_thumb a").attr("href"); + String cover = siteUrl + doc.selectFirst("div.content_thumb a").attr("data-original"); + String title = doc.selectFirst("div.content_thumb a").attr("title"); + String desc = doc.selectFirst("div.content > section > font").text(); + String category = "", area = "", year = "", director = "", actor = "", remark = ""; + remark = doc.select("span.data_style b").text(); + Elements span_text_muted = doc.select("li.data span"); + for (int i = 0; i < span_text_muted.size() - 2; i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.contains("类型")) { + try { + String cate = text.parent().text(); + category =cate.substring(3); + } catch (Exception e) { + category = ""; + } + } else if (info.contains("年份")) { + try { + year = text.parent().select("a").get(0).text(); + } catch (Exception e) { + year = ""; + } + } else if (info.contains("地区")) { + try { + area = text.parent().select("a").get(0).text(); + } catch (Exception e) { + area = ""; + } + } + } + List actors = new ArrayList<>(); + Elements aa = doc.select("li.data").get(0).select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + List directors = new ArrayList<>(); + Elements bb = doc.select("li.data").get(1).select("a"); + for (int j = 0; j < bb.size(); j++) { + directors.add(bb.get(j).text()); + } + director = TextUtils.join(",", directors); + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.play_source_tab a"); + Elements sourceList = doc.select("div.playlist_full"); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.attr("alt"); + sourceName = sourceName.replaceAll("[^\u4E00-\u9FA5]", ""); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("show").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("ul>li>a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "/sid/" + matcher.group(2) + "/nid/" + matcher.group(3); + vodItems.add( vod.text() + "$" + playURL + "="+ tid); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String[] idd = id.split("="); + String tid =idd[1]; + String detail = idd[0]; + String url = siteUrl + "/vod/play/id/" + detail + ".html"; + String htmltemp = OkHttpUtil.string(url, getHeaders(url)); + String htmlsrc =""; + if(tid.equals("1")){ + htmlsrc = htmltemp.substring(0,25000); + }else{ + htmlsrc = htmltemp; + } + Document doc = Jsoup.parse(htmlsrc); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).toString(); + if (scContent.contains("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + String urlsrc = player.getString("url"); + String urlb64 = new String(Base64.decode(urlsrc.getBytes(), Base64.DEFAULT)); + String urldec = URLDecoder.decode(urlb64,"UTF-8"); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", urldec); + result.put("header", ""); + break; + } + + } + //无直链则嗅探 + String uu = result.getString("url"); + if (!(uu.length() >0)){ + result.put("parse", 1); + result.put("url", url); + } + + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + String url = siteUrl + "/vod/search.html?wd=" + URLEncoder.encode(key) + "&submit="; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("li.searchlist_item"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String classes = vod.selectFirst("h4.vodlist_title > a >span").text(); + String tid=""; + switch (classes) { + case "电影": + tid = "1"; + break; + case "电视剧": + tid = "2"; + break; + case "综艺": + tid = "3"; + break; + case "动漫": + tid = "4"; + break; + } + String title = vod.selectFirst("a.vodlist_thumb").attr("title"); + String cover = siteUrl + vod.selectFirst("a.vodlist_thumb").attr("data-original"); + String remark = vod.select("span.pic_text").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst("a.vodlist_thumb").attr("href")); + if (!matcher.find()) + continue; + String id = tid + "=" + matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + return result.toString(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private static String doReplaceRegex(Pattern pattern, String src) { + if (pattern == null) + return src; + try { + Matcher matcher = pattern.matcher(src); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } + + @Override + public boolean manualVideoCheck() { + return true; + } + + private String[] videoFormatList = new String[]{".m3u8", ".mp4", ".mpeg", ".flv"}; + + @Override + public boolean isVideoFormat(String url) { + url = url.toLowerCase(); + if (url.contains("=http") || url.contains("=https") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) { + return false; + } + for (String format : videoFormatList) { + if (url.contains(format)) { + return true; + } + } + return false; + } + +} diff --git a/TVBox_Java/spider/Upyunso.java b/TVBox_Java/spider/Upyunso.java new file mode 100644 index 0000000..95e9a5f --- /dev/null +++ b/TVBox_Java/spider/Upyunso.java @@ -0,0 +1,118 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +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; + + +public class Upyunso extends Spider { + private PushAgent pushAgent; + private static String siteUrl = "https://www.upyunso.com/"; + private static String apiUrl = "https://api.upyunso2.com/"; + private static Pattern aliyun = Pattern.compile("(https:\\/\\/www.aliyundrive.com\\/s\\/[^\\\"]+)"); + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + pushAgent = new PushAgent(); + pushAgent.init(context, extend); + } + + @Override + public String detailContent(List list) { + try { + Pattern pattern = aliyun; + if (pattern.matcher(list.get(0)).find()) { + return pushAgent.detailContent(list); + } + String jqurl=(apiUrl+list.get(0)).replace(".html",""); + String jxUrl=new String(Base64.decode(OkHttpUtil.string(jqurl, sHeaders()), Base64.DEFAULT)); + String realUrl= new JSONObject(jxUrl).getJSONObject("result").getString("res_url"); + Matcher matcher = pattern.matcher(realUrl); + if (!matcher.find()) { + return ""; + } + list.set(0, matcher.group(1).replaceAll("\\\\", "")); + return pushAgent.detailContent(list); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + @Override + public String playerContent(String str, String str2, List list) { + return pushAgent.playerContent(str, str2, list); + } + +// protected static HashMap Headers() { +// 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("origin", "https://www.upyunso.com"); +// return headers; +// } + + 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"); + return headers; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + String cover = "https://inews.gtimg.com/newsapp_bt/0/13263837859/1000"; + + String searchurl = apiUrl + "search?keyword=" + URLEncoder.encode(key) + "&page=1&s_type=2"; + String content = new String(Base64.decode(OkHttpUtil.string(searchurl, sHeaders()), Base64.DEFAULT)); + JSONArray playList = new JSONObject(content).getJSONObject("result").getJSONArray("items"); + + + for (int i = 0; i < playList.length(); i++) { + JSONArray source = playList.getJSONObject(i).getJSONArray("content"); + for (int j = 0; j < source.length(); j++) { + JSONObject vid = source.getJSONObject(j); + String sourceName = vid.getString("title"); + String sourceUrl = vid.getString("size"); + if (sourceUrl.contains("download.html")) { + JSONObject v = new JSONObject(); + v.put("vod_name", sourceName); + v.put("vod_id", sourceUrl); + v.put("vod_pic", cover); + videos.put(v); + } else + continue; + + } + + } + result.put("list", videos); + return result.toString(); + + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Vid.java b/TVBox_Java/spider/Vid.java new file mode 100644 index 0000000..0ca2237 --- /dev/null +++ b/TVBox_Java/spider/Vid.java @@ -0,0 +1,503 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.LinkedHashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Headers; + +public class Vid extends Spider { + private static final String siteUrl = "http://www.panghuys.com"; + private static final String siteHost = "www.panghuys.com"; + private String cookie=""; + private String referer=""; + + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/vodtype/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/v/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/ph/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("\\S+/page/(\\d+)\\S+"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"cokebb\":{\"sh\":\"極速路線\",\"pu\":\"\",\"sn\":0,\"or\":999},\"mp4\":{\"sh\":\"藍光路线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"cokemv\":{\"sh\":\"高速路線\",\"pu\":\"\",\"sn\":0,\"or\":999},\"cokemv001\":{\"sh\":\"海外線路\",\"pu\":\"\",\"sn\":0,\"or\":999},\"ddzy\":{\"sh\":\"蓝光采集(暂时)\",\"pu\":\"\",\"sn\":0,\"or\":999},\"tkm3u8\":{\"sh\":\"采集路线\",\"pu\":\"\",\"sn\":0,\"or\":999},\"if101\":{\"sh\":\"海外(禁國內)\",\"pu\":\"\",\"sn\":0,\"or\":999}}"); + filterConfig = new JSONObject("{\"5\":[{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜劇\"},{\"n\":\"爱情\",\"v\":\"愛情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"動作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"劇情\"},{\"n\":\"战争\",\"v\":\"戰爭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"動畫\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"悬疑\",\"v\":\"懸疑\"},{\"n\":\"微电影\",\"v\":\"微電影\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"國語\"},{\"n\":\"英语\",\"v\":\"英語\"},{\"n\":\"粤语\",\"v\":\"粵語\"},{\"n\":\"闽南语\",\"v\":\"閩南語\"},{\"n\":\"韩语\",\"v\":\"韓語\"},{\"n\":\"日语\",\"v\":\"日語\"},{\"n\":\"法语\",\"v\":\"法語\"},{\"n\":\"德语\",\"v\":\"德語\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"2\"},{\"n\":\"大陆剧\",\"v\":\"13\"},{\"n\":\"香港剧\",\"v\":\"14\"},{\"n\":\"韩国剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"日本剧\",\"v\":\"20\"},{\"n\":\"台湾剧\",\"v\":\"21\"},{\"n\":\"泰国剧\",\"v\":\"22\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"1\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"1\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧片\",\"v\":\"7\"},{\"n\":\"爱情片\",\"v\":\"8\"},{\"n\":\"科幻片\",\"v\":\"9\"},{\"n\":\"恐怖片\",\"v\":\"10\"},{\"n\":\"剧情片\",\"v\":\"11\"},{\"n\":\"战争片\",\"v\":\"12\"},{\"n\":\"犯罪片\",\"v\":\"23\"},{\"n\":\"奇幻片\",\"v\":\"24\"},{\"n\":\"悬疑片\",\"v\":\"25\"},{\"n\":\"记录片\",\"v\":\"27\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"4\"},{\"n\":\"动画电影\",\"v\":\"41\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders2(siteUrl,referer))); + // 分类节点 + Elements elements = doc.select("ul.navbar-items>li.navbar-item>a"); + System.out.println("shouye" + elements); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("剧集") || + name.equals("动漫") || + name.equals("综艺"); + + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("div[class='module-items module-poster-items-base'] >a"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + Matcher matcher = regexVid.matcher(vod.selectFirst(".module-poster-item").attr("href")); + if (!matcher.find()) + continue; + String title = vod.selectFirst(".module-poster-item").attr("title"); + String cover = vod.selectFirst("div.module-item-cover div.module-item-pic img").attr("data-original"); + String remark = vod.selectFirst("div.module-item-cover div.module-item-note").text(); + if (!TextUtils.isEmpty(cover) && !cover.startsWith("http")) { + cover = siteUrl + cover; + } + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/vodshow/"; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "/" + key + "/" + URLEncoder.encode(value); + } + } + } + url += "/page/" + pg + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div[id=page]"); + System.out.println("pg++" + pageInfo); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String span = doc.select("span.page-current").text(); + String wy = doc.select("div[id=page] a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + + } + } + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.module-items.module-poster-items-base a "); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("img.lazy.lazyload").attr("data-original"); + String remark = vod.select("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/v/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url,getHeaders2(url,referer))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.module-item-cover div.module-item-pic > img").attr("data-original"); + String title = doc.selectFirst("div.module-info-main div.module-info-heading > h1").text(); + String desc = doc.selectFirst("div.module-info-item div.module-info-introduction-content > p").text().trim(); + + + String category = "", area = "", year = "", director = "", actor = ""; + category = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(2).text(); + area = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(1).text(); + year = doc.select("div.module-info-main div.module-info-heading div.module-info-tag-link").get(0).text(); + + Elements span_text_muted = doc.select("div.module-info-content div.module-info-items div.module-info-item"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.select("span").text(); + if (info.contains("导演")) { + try { + director = text.select("div > a").text(); + } catch (Exception e) { + director = ""; + } + } else if (info.contains("主演")) { + try { + actor = text.select("div > a").text(); + } catch (Exception e) { + actor = ""; + } + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new LinkedHashMap<>(); + /* Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + });*/ + + // 取播放列表数据 + Elements sources = doc.select("div.module-tab-items-box>div>span"); + System.out.print("sor++" + sources); + Elements sourceList = doc.select("div.module-list>div.module-play-list"); + System.out.print("sor1++" + sourceList); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + // boolean found = false; + boolean found = true; + // for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + // String flag = it.next(); + // if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + // sourceName = playerConfig.getJSONObject(flag).getString("sh"); + // found = true; + // break; + // } + // } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("div.module-play-list-content>a"); + System.out.print("pl++" + playList); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + headers.put("origin", " http://www.panghuys.com"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + + + // 播放页 url + String url = siteUrl + "/ph/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", headers.toString()); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected HashMap getHeaders2(String url,String ref) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + if(!ref.equals("google")){ + headers.put("Authority", "www.panghuys.com"); + if(ref.length()>0){ + if(ref.equals("origin")){ + headers.put("Origin", "http://www.panghuys.com"); + } else { + headers.put("Referer", ref); + } + } + if(cookie.length()>0){ + headers.put("Cookie", cookie); + } + } + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + protected void getCookie(){ + cookie=""; + String cookieurl="http://www.panghuys.com/zzzzz"; + Map> cookies = new HashMap<>(); + OkHttpUtil.string(cookieurl,getHeaders2(cookieurl,""),cookies); + for( Map.Entry> entry : cookies.entrySet() ){ + if(entry.getKey().equals("set-cookie")){ + cookie = TextUtils.join(";",entry.getValue()); + break; + } + } + } + + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=35×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Voflix.java b/TVBox_Java/spider/Voflix.java new file mode 100644 index 0000000..43447ed --- /dev/null +++ b/TVBox_Java/spider/Voflix.java @@ -0,0 +1,499 @@ + package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; +import okhttp3.Headers; + +public class Voflix extends Spider { + private static final String siteUrl = "https://www.voflix.com"; + private static final String siteHost = "www.voflix.com"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/type/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/detail/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/play/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/show/(\\S+).html"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"duoduozy\":{\"show\":\"VOFLIX\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"LINE406\":{\"show\":\"LINE406\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"LINE407\":{\"show\":\"LINE407\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"LINE408\":{\"show\":\"LINE408\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"p300\":{\"show\":\"LINE300\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"p301\":{\"show\":\"LINE301\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"line402-日语\":{\"show\":\"LINE402\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"LINE400\":{\"show\":\"LINE400\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"line401\":{\"show\":\"LINE401\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe268\":{\"show\":\"LINE268\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe290\":{\"show\":\"LINE290\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe291\":{\"show\":\"LINE291\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe296\":{\"show\":\"LINE296\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe297\":{\"show\":\"LINE297\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe307\":{\"show\":\"LINE307\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe308\":{\"show\":\"LINE308\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe309\":{\"show\":\"LINE309\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"line301\":{\"show\":\"LINE333\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"line302\":{\"show\":\"LINE302\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"LINE405\":{\"show\":\"LINE405\",\"des\":\"更多极速线路请访问APP\",\"ps\":\"0\",\"parse\":\"\"},\"LINE409\":{\"show\":\"LINE409\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"banquan\":{\"show\":\"已下架\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe261\":{\"show\":\"LINE261\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe265\":{\"show\":\"LINE265\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe278\":{\"show\":\"LINE278\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe306\":{\"show\":\"LINE306\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe317\":{\"show\":\"LINE317\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"xg_app_player\":{\"show\":\"app全局解析\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"\"},\"iframe257\":{\"show\":\"LINE257\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe263\":{\"show\":\"LINE263\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe258\":{\"show\":\"LINE258\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe267\":{\"show\":\"LINE267\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe\":{\"show\":\"LINE200\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe262\":{\"show\":\"LINE262\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"iframe266\":{\"show\":\"LINE266\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"dplayer3\":{\"show\":\"播放线路3\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"dplayer2\":{\"show\":\"播放线路2\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"dplayer\":{\"show\":\"播放线路1\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"xunlei1\":{\"show\":\"百度云盘\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"if101国外\":{\"show\":\"VOFLIX_海外\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://demo.if101.tv/player/?url=\"},\"aliyun\":{\"show\":\"阿里云盘\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"xunlei2\":{\"show\":\"迅雷云盘\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"\":{\"show\":\"\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"LINE1080\":{\"show\":\"LINE1080\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"app\":{\"show\":\"LINEAPP\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"},\"kuake\":{\"show\":\"夸克网盘\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"\"}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":0,\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"4\"},{\"n\":\"动作片\",\"v\":\"6\"},{\"n\":\"喜剧\",\"v\":\"7\"},{\"n\":\"爱情\",\"v\":\"8\"},{\"n\":\"科幻\",\"v\":\"9\"},{\"n\":\"恐怖\",\"v\":\"10\"},{\"n\":\"剧情\",\"v\":\"11\"},{\"n\":\"战争\",\"v\":\"12\"},{\"n\":\"动画\",\"v\":\"23\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"枪战\",\"v\":\"枪战\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"文艺\",\"v\":\"文艺\"},{\"n\":\"微电影\",\"v\":\"微电影\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"农村\",\"v\":\"农村\"},{\"n\":\"儿童\",\"v\":\"儿童\"},{\"n\":\"网络电影\",\"v\":\"网络电影\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"马来西亚\",\"v\":\"马来西亚\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"2\"},{\"n\":\"港台剧\",\"v\":\"\"},{\"n\":\"国产剧\",\"v\":\"13\"},{\"n\":\"港台剧\",\"v\":\"14\"},{\"n\":\"日韩剧\",\"v\":\"15\"},{\"n\":\"欧美剧\",\"v\":\"16\"},{\"n\":\"纪录片\",\"v\":\"21\"},{\"n\":\"泰国剧\",\"v\":\"24\"}]},{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"青春偶像\",\"v\":\"青春偶像\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"经典\",\"v\":\"经典\"},{\"n\":\"乡村\",\"v\":\"乡村\"},{\"n\":\"情景\",\"v\":\"情景\"},{\"n\":\"商战\",\"v\":\"商战\"},{\"n\":\"网剧\",\"v\":\"网剧\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"马来西亚\",\"v\":\"马来西亚\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":4,\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"闽南语\",\"v\":\"闽南语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":5,\"name\":\"字母\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"A\",\"v\":\"A\"},{\"n\":\"B\",\"v\":\"B\"},{\"n\":\"C\",\"v\":\"C\"},{\"n\":\"D\",\"v\":\"D\"},{\"n\":\"E\",\"v\":\"E\"},{\"n\":\"F\",\"v\":\"F\"},{\"n\":\"G\",\"v\":\"G\"},{\"n\":\"H\",\"v\":\"H\"},{\"n\":\"I\",\"v\":\"I\"},{\"n\":\"J\",\"v\":\"J\"},{\"n\":\"K\",\"v\":\"K\"},{\"n\":\"L\",\"v\":\"L\"},{\"n\":\"M\",\"v\":\"M\"},{\"n\":\"N\",\"v\":\"N\"},{\"n\":\"O\",\"v\":\"O\"},{\"n\":\"P\",\"v\":\"P\"},{\"n\":\"Q\",\"v\":\"Q\"},{\"n\":\"R\",\"v\":\"R\"},{\"n\":\"S\",\"v\":\"S\"},{\"n\":\"T\",\"v\":\"T\"},{\"n\":\"U\",\"v\":\"U\"},{\"n\":\"V\",\"v\":\"V\"},{\"n\":\"W\",\"v\":\"W\"},{\"n\":\"X\",\"v\":\"X\"},{\"n\":\"Y\",\"v\":\"Y\"},{\"n\":\"Z\",\"v\":\"Z\"},{\"n\":\"0-9\",\"v\":\"0-9\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":3,\"name\":\"剧情\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"中国\",\"v\":\"中国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + protected static HashMap postHeaders() { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + hashMap.put("Origin", " siteUrl"); + return hashMap; + } + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.navbar-items>li.navbar-item>a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("剧集") || + name.equals("动漫") || + name.equals("综艺") || + name.equals("国产剧") || + name.equals("日韩剧") || + name.equals("欧美剧"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.module-main.scroll-box").get(0); + Elements list = homeList.select("div.module-items.module-poster-items-small.scroll-content a"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("img.lazy.lazyload").attr("data-original"); + String remark = vod.select("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/show/" + TextUtils.join("-", urlParams) + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("div[id=page]"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String span = doc.select("span.page-current").text(); + String wy = doc.select("div[id=page] a").last().attr("href"); + if (page == -1) { + page = Integer.parseInt(span); + } else { + page = 0; + } + Matcher matcher = regexPage.matcher(wy); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + + } + } + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.module-items.module-poster-items-base a "); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("img.lazy.lazyload").attr("data-original"); + String remark = vod.select("div.module-item-note").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/video/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + // 取基本数据 + String cover = doc.selectFirst("div.module-item-pic > img").attr("data-src"); + String title = doc.selectFirst("div.video-info-header > h1.page-title").text(); + String desc = doc.select("div.video-info-content").text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + // 取播放列表数据 + Elements sources = doc.select("div[id='y-playList'] span"); + + Elements sourceList = doc.select("div.module-play-list"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("show").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("a.module-play-list-link "); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + private final Pattern urlt = Pattern.compile("\"url\": *\"([^\"]*)\","); + private final Pattern token = Pattern.compile("\"token\": *\"([^\"]*)\""); + private final Pattern vkey = Pattern.compile("\"vkey\": *\"([^\"]*)\","); +// private final Pattern tm = Pattern.compile("\"tm\": *\"([^\"]*)\","); + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + + String url = siteUrl + "/play/" + id + ".html"; + // JSONObject headers = new JSONObject(); + // headers.put("origin", " https://www.jubaibai.me/"); + // headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + // headers.put("Accept", " */*"); + // headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + // headers.put("Accept-Encoding", " gzip, deflate"); + + // 播放页 url + Elements allScript = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))).select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_aaaa")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + System.out.println("pla" + player); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + System.out.println("pc" + pCfg); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("parse"); + String show = pCfg.getString("show"); + if (show.contains("VOFLIX")) { + String jxurl = "https://play.shcpin.com/xplay/?url=" + videoUrl; + System.out.println("jx" + jxurl); + HashMap headers = new HashMap<>(); + headers.put("referer", siteUrl); + Document doc = Jsoup.parse(OkHttpUtil.string(jxurl,headers)); + System.out.println("zh" + doc); + Elements script = doc.select("body>script"); + for (int j = 0; j < script.size(); j++) { + String content = script.get(j).html().trim(); + if (content.contains("var config =")){ + Matcher matcher1 = urlt.matcher(content); + if (!matcher1.find()) + continue; + Matcher matcher2 = token.matcher(content); + if (!matcher2.find()) + continue; + Matcher matcher3 = vkey.matcher(content); + if (!matcher3.find()) + continue; + String video_url = matcher1.group(1); + String video_token = matcher2.group(1); + String video_key = matcher3.group(1); + String video_sign= "F4penExTGogdt6U8" ; + String video_tm = String.valueOf(System.currentTimeMillis()/ 1000); + HashMap hashMap = new HashMap(); + hashMap.put("token", video_token); + hashMap.put("tm", video_tm); + hashMap.put("url", video_url); + hashMap.put("vkey", video_key); + hashMap.put("sign", video_sign); + OkHttpUtil.get(OkHttpUtil.defaultClient(), "https://play.shcpin.com/xplay/555tZ4pvzHE3BpiO838.php", hashMap, new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + String url = new String(Base64.decode(new JSONObject(str).getString("url").substring(8).getBytes(), Base64.DEFAULT)); + result.put("url", url.substring(8, url.length() - 8)); + } catch (JSONException e) { + e.printStackTrace(); + } + } + }); + } + } + // result.put("header", headers.toString()); + result.put("parse", 0); + result.put("playUrl", ""); + } else { + if (videoUrl.contains(".m3u8")) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", videoUrl); + // result.put("header", headers.toString()); + } + } + } + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=35×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Wybg.java b/TVBox_Java/spider/Wybg.java new file mode 100644 index 0000000..9b77c2e --- /dev/null +++ b/TVBox_Java/spider/Wybg.java @@ -0,0 +1,481 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.URL; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; + + +/** + * + *

    + * + */ +public class Wybg extends Spider { + private static final String siteUrl = "https://www.wybg666.com"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + + private Pattern regexCategory = Pattern.compile("/vodtype/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/voddetail/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/vodplay/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/vodshow/(\\S+).html"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"duoduozy\":{\"show\":\"蓝光专线\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://player.tjomet.com/lgyy/?url=\"},\"sohu\":{\"show\":\"搜狐\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://player.tjomet.com/lgyy/?url=\"},\"qq\":{\"show\":\"腾讯\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://player.tjomet.com/lgyy/?url=\"},\"bilibili\":{\"show\":\"哔哩\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://player.tjomet.com/lgyy/?url=\"},\"youku\":{\"show\":\"优酷\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://player.tjomet.com/lgyy/?url=\"},\"qiyi\":{\"show\":\"爱奇艺\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://player.tjomet.com/lgyy/?url=\"},\"mgtv\":{\"show\":\"芒果\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://player.tjomet.com/lgyy/?url=\"},\"xigua\":{\"show\":\"西瓜\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://player.tjomet.com/lgyy/?url=\"},\"pptv\":{\"show\":\"PPTV\",\"des\":\"\",\"ps\":\"0\",\"parse\":\"https://player.tjomet.com/lgyy/?url=\"}}"); + filterConfig = new JSONObject("{}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + if (!TextUtils.isEmpty(url)) { + headers.put("Referer", url); + } + headers.put("Accept-Encoding", "gzip, deflate, br"); + headers.put("upgrade-insecure-requests", "1"); + headers.put("DNT", "1"); + headers.put("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 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-language", "zh-CN,zh;q=0.9"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(new URL(siteUrl).openStream(), "utf-8",OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul[class='stui_header__user'] >li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = true; + if (filter) { + show = name.equals("电影") || + name.equals("电视剧") || + name.equals("综艺") || + name.equals("动漫") || + name.equals("纪录片"); + } + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + Element homeList = doc.select("ul.stui-vodlist").get(0); + Elements list = homeList.select("div.stui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("a").attr("data-original"); + String remark = vod.select("a .pic-text").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.trim().length() == 0) + continue; + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/vodshow/" + TextUtils.join("-", urlParams) + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(new URL(url).openStream(), "utf-8",OkHttpUtil.string(url, getHeaders(url))); + + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + Elements pageInfo = doc.select("div[id='page'] a"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && li.hasClass("page-current")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("div.stui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("a").attr("data-original"); + String remark = vod.select("a .pic-text").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + private static String Regex(Pattern pattern, String content) { + if (pattern == null) { + return content; + } + try { + Matcher matcher = pattern.matcher(content); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return content; + } + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/voddetail/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(siteUrl))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.stui-content__thumb img").attr("data-original"); + String title = doc.selectFirst("div.stui-content__detail h1").text(); + String desc = doc.selectFirst("span.detail-content").text(); + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("vod_content", desc); + + Map vod_play = new LinkedHashMap<>(); + + // 取播放列表数据 + Elements sources = doc.select("div.stui-pannel__head ul.nav li a"); + Elements sourceList = doc.select("div.tab-content div.clearfix"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("li a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + + private final Pattern urlt = Pattern.compile("\"url\": *\"([^\"]*)\","); + private final Pattern token = Pattern.compile("\"token\": *\"([^\"]*)\""); + private final Pattern vkey = Pattern.compile("\"vkey\": *\"([^\"]*)\","); + private final Pattern urls = Pattern.compile("urls = *\'([^\']*)"); + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // JSONObject headers = new JSONObject(); + // headers.put("Referer", "https://www.wybg666.com"); + // headers.put("User-Agent", " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"); + // headers.put("Accept", " text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"); + // headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-GB;q=0.8,en-US;q=0.7,en;q=0.6"); + // headers.put("Accept-Encoding", " gzip, deflate"); + String url = siteUrl + "/vodplay/" + id + ".html"; + Elements allScript = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))).select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { + JSONObject player = new JSONObject(scContent.substring(scContent.indexOf('{'), scContent.lastIndexOf('}') + 1)); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + //String jxurl = "https://player.tjomet.com/lgyy/?url=" + player.getString("url"); + String jxurl = pCfg.getString("parse") + player.getString("url"); + Document doc = Jsoup.parse(OkHttpUtil.string(jxurl, getHeaders(jxurl))); + Elements script = doc.select("body>script"); + for (int j = 0; j < script.size(); j++) { + String Content = script.get(j).html().trim(); + Matcher matcher = urlt.matcher(Content); + if (!matcher.find()) { + return ""; + } + String urlt = matcher.group(1); + Matcher matcher1 = token.matcher(Content); + if (!matcher1.find()) { + return ""; + } + String token = matcher1.group(1); + Matcher matcher2 = vkey.matcher(Content); + if (!matcher2.find()) { + return ""; + } + String vkey = matcher2.group(1); + HashMap hashMap = new HashMap(); + hashMap.put("token", token); + hashMap.put("url", urlt); + hashMap.put("vkey", vkey); + hashMap.put("sign", "bKvCXSsVjPyTNr9R"); + OkHttpUtil.post(OkHttpUtil.defaultClient(), "https://player.wybg666.com/xinapi.php", hashMap, new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + String url = new String(Base64.decode(new JSONObject(str).getString("url").substring(8).getBytes(), 0)); + result.put("url", url.substring(8, url.length() - 8)); + } catch (JSONException e) { + e.printStackTrace(); + } + } + }); + result.put("header", headers.toString()); + result.put("parse", 0); + result.put("playUrl", ""); + + } + } + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + if (!TextUtils.isEmpty(cover) && !cover.startsWith("http")) { + cover = siteUrl + cover; + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/XBiu.java b/TVBox_Java/spider/XBiu.java new file mode 100644 index 0000000..11032ee --- /dev/null +++ b/TVBox_Java/spider/XBiu.java @@ -0,0 +1,1935 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; +import android.util.Pair; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.net.URL; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; + +public class XBiu extends Spider { + + protected String ext = null; + public JSONObject rule = null; + // 默认的视频类型 + private ArrayList videoFormatList = new ArrayList<>(Arrays.asList(".m3u8", ".mp4", ".mpeg", ".flv", ".mkv")); + + + protected final int base64Flag = Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP; + // 一定是正确的分类名称,用来帮助定位分类列表,猜cateManual + protected final ArrayList cateManuals = new ArrayList<>(Arrays.asList("电影", "剧集", "电视剧", "连续剧", "综艺", "动漫")); + // 无效的分类名,彡来过滤cateManual + protected final ArrayList invalidCateNames = new ArrayList<>(Arrays.asList("更多","下载", "首页", "资讯", "留言", "导航", "专题", "短视频", "热榜", "排行", "追剧","更新","APP", "直播", "label", "Netflix")); + // 详情页 影片信息相关字段,猜详情页信息时用 + protected final ArrayList detailItemNames = new ArrayList<>(Arrays.asList("导演", "主演", "演员", "地区", "类型", "年份", "年代")); + protected final ArrayList detailItemKeys = new ArrayList<>(Arrays.asList("vod_director", "vod_actor", "vod_actor", "vod_area", "type_name", "vod_year", "vod_year")); + protected String splitFlag = ""; // 分段标志,猜cateManual时用 + + // html标签查找时用到的辅助类 + protected class HtmlMatchInfo { + public String group0; // 正则表达式匹配到的字符串 + /** + * 一般用来放href中的内容 + */ + public String group1; // + public String group2; // + public String diff; // 两个匹配结果比较group1得到的不同部分 + public int startPos; // 正则匹配到的起始位置 + public int endPos; // 正则匹配到的结束位置 + public ArrayList uploads; // 祖先结节的索引 + public int matchedUpNodePos = -1; // 与其他HtmlMatchInfo最匹配的祖先节点位置 + public int diffStartIndex; // 不同那部分数据的开始位置 + public int diffEndIndex; // 不同那部分数据的结束位置 + + public void init(Matcher m) { + this.group0 = m.group(0); + if (m.groupCount() > 0) + this.group1 = m.group(1); + if (m.groupCount() > 1) + this.group2 = m.group(2); + this.startPos = m.start(0); + this.endPos = m.end(0); + } + + // 通过比较两个group1的不同部分,不同部分的内容以splitFlag中的字符为开始或结束位置 + public boolean findDiffStr(HtmlMatchInfo rhs, String splitFlag) { + int len = Math.min(group1.length(), rhs.group1.length()); + // 找不同字符的开始位置 + for (int i =0; i < len; ++i){ + char a = group1.charAt(i); + char b = rhs.group1.charAt(i); + if(a== b && splitFlag.indexOf (a) != -1) { + diffStartIndex = i+1; + rhs.diffStartIndex = i+1; + } + if(a != b) break; + } + + // 找不同字符的结束位置 + diffEndIndex = group1.length(); + rhs.diffEndIndex = rhs.group1.length(); + for (int i =1; i < len; ++i){ + char a = group1.charAt(group1.length()-i); + char b = rhs.group1.charAt(rhs.group1.length()-i); + if(a== b && splitFlag.indexOf (a) != -1) { + diffEndIndex = group1.length()-i; + rhs.diffEndIndex = rhs.group1.length()-i; + } + if(a != b) break; + } + if(this.diff == null || this.diff.isEmpty() && diffStartIndex < diffEndIndex) { + diff = group1.substring(diffStartIndex, diffEndIndex); + }else{ + if( diffEndIndex < diffStartIndex || !diff.equals(group1.substring(diffStartIndex, diffEndIndex))){ + return false; + } + } + if(rhs.diffStartIndex < rhs.diffEndIndex) { + rhs.diff = rhs.group1.substring(rhs.diffStartIndex, rhs.diffEndIndex); + } + return true; + } + + // 判断 rhs 与当前对象是有相同的祖先节点 + boolean hasSameUpNode(HtmlMatchInfo rhs) { + if (rhs.uploads.size() != this.uploads.size()) return false; + for (int i = 0; i < uploads.size(); ++i) { + if (uploads.get(i).intValue() != rhs.uploads.get(i).intValue()) continue; + if (matchedUpNodePos == -1 || uploads.get(i).intValue() == matchedUpNodePos) { + matchedUpNodePos = uploads.get(i).intValue(); + rhs.matchedUpNodePos = uploads.get(i).intValue(); + return true; + } + return false; + } + return false; + } + } + + public void init(Context context, String extend) { + super.init(context, extend); + this.ext = extend; + } + + // 初始化抓虫规则 + protected void fetchRule() { + if (rule == null) { + if (ext != null) { + try { + + if (ext.startsWith("http")) { + if(ext.indexOf("{cateId}") != -1 || ext.indexOf("{catePg}") !=-1){ + rule = new JSONObject(); + rule.put("homeUrl", ext); + }else{ + String json = OkHttpUtil.string(ext, null); + rule = new JSONObject(json); + } + + } else { + rule = new JSONObject(ext); + } + + if (!rule.has("list")) { + rule.put("list", new JSONObject()); + } + JSONObject list = rule.getJSONObject("list"); + // 初始化homeUrl,list.url + String homeUrl= rule.getString("homeUrl"); + if(homeUrl.indexOf("{cateId}") != -1){ + URL r = new URL(homeUrl); + String path = r.getPath(); + // 更新解析出来的homeUrl + rule.put("homeUrl", homeUrl.substring(0, homeUrl.indexOf(path))); + if(!list.has("url")){ + list.put("url", homeUrl); + } + } + // 初始化截断标志 + String listUrl = list.getString("url"); + if(listUrl.indexOf("/") !=-1) splitFlag+='/'; + if(listUrl.indexOf(".") !=-1) splitFlag+='.'; + if(listUrl.indexOf("-") !=-1) splitFlag+='-'; + + if (!rule.has("detail")) { + rule.put("detail", new JSONObject()); + } + + if (!rule.has("playlist")) { + rule.put("playlist", new JSONObject()); + } + + // 如果没有search,则生成一个默认的search规则,大部分网站的search规则都一样 + // 省掉一个search json + if (!rule.has("search")) { + String url = addHttpPrefix("index.php/ajax/suggest?mid=1&wd=阿凡达"); + try { + // 尝试访问这个json接口,如果返回了正确的json格式,就认为支持json搜索 + JSONObject result = new JSONObject( OkHttpUtil.string(url, getHeaders(url))); + JSONObject search = new JSONObject(); + search.put("vod_id", "id"); + search.put("vod_name", "name"); + search.put("vod_pic", "pic"); + search.put("url", addHttpPrefix("index.php/ajax/suggest?mid=1&wd={wd}")); + rule.put("search", search); + } + catch (Exception e){ + + } + } + + // 部分网站的播放页上直接就有 播放地址,基本上就是一样的格式,可以尝试在playerContent中直接拿直链 + if (!rule.has("play")) { + JSONObject play = new JSONObject(); + JSONArray region = new JSONArray(); + region.put("var player_aaaa="); + region.put(0); + + JSONArray vod_url = new JSONArray(); + vod_url.put("\"url\":\""); + vod_url.put("\""); + play.put("region", region); + play.put("vod_url", vod_url); + rule.put("play", play); + } + + // play字段中可以填写播放连接的关键字用来帮助识别嗅探结果, + // 一般奇葩的网站会用到 + if (rule.has("play")) { // 自定义嗅探关键字 + JSONObject play = rule.getJSONObject("play"); + JSONArray keywords = play.optJSONArray("keywords"); + if (keywords != null) { + videoFormatList.clear(); + for (int i = 0; i < keywords.length(); ++i) { + videoFormatList.add(keywords.getString(i)); + } + } + } + + // 猜cateManaul + JSONObject cateManual = rule.optJSONObject("cateManual"); + String body = ""; + if (cateManual == null) { + // 重建 cateManaul规则 + body = this.fetchUrl(rule.getString("homeUrl"), rule.optJSONObject("header")); + if(body.length() > 32*1024) { body = body.substring(0, 32 * 1024); } + cateManual = this.guess_rule_cateManual(body); + if(cateManual != null){ + rule.put("cateManual", cateManual); + } + } + + // 猜list.vod_id + if (!list.has("vod_id")) { + if(body.isEmpty()){ + body = this.fetchUrl(rule.getString("homeUrl"), rule.optJSONObject("header")); + if(body.length() > 32*1024) { body = body.substring(0, 32 * 1024); } + } + JSONArray listvodid = this.guess_rule_vod_id(body); + list.put("vod_id", listvodid); + } + + // 如果没有json搜索接口,那么尝试在主页上找search 的接口 url + if (!rule.has("search")) { + if(body.isEmpty()){ + body = this.fetchUrl(rule.getString("homeUrl"), rule.optJSONObject("header")); + if(body.length() > 32*1024) { body = body.substring(0, 32 * 1024); } + } + String url = this.guess_rule_search_url(body); + if(!url.isEmpty()){ + JSONObject search = new JSONObject(); + search.put("url", url); + rule.put("search", search); + } + } + + SpiderDebug.log(String.format("默认rule: %s", rule.toString())); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + + public String addHttpPrefix(String url) { + try { + if (url.isEmpty()) return ""; + if (url.startsWith("http")) return url; + String result = rule.getString("homeUrl"); + if (result.endsWith("/")) { + result = result.substring(0, result.length() - 1); + } + if (url.startsWith("/")) { + result += url; + } else { + result += "/" + url; + } + return result; + } catch (JSONException e) { + e.printStackTrace(); + } + return url; + } + + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + try { + if (rule.has("header")) { + JSONObject header = rule.getJSONObject("header"); + Iterator iter = header.keys(); + while (iter.hasNext()) { + String key = iter.next(); + headers.put(key, header.getString(key)); + } + } + } catch (JSONException e) { + e.printStackTrace(); + } + if (!headers.containsKey("User-Agent")) { + headers.put("User-Agent", Misc.UaWinChrome); + } + return headers; + } + + public static class HtmlNodeHlper{ + // 非正常配对的html标签,进行html层级查找时要用到 + protected static ArrayList notPairedTag = new ArrayList<>(Arrays.asList("img", "br", "meta", "!--")); // 为注释 + // 判断当前html标签是否为正常的标签 + public static boolean isPairedHtmlTag(String str, int startPos) { + String tmp = str.substring(startPos, Math.min(str.length(), startPos + 10)); + for (String p : notPairedTag) { + if (tmp.indexOf(p) != -1) { // 找到了 + // 找 > 如果匹配了 /> 则认为是配对的 + for (int i = startPos + 1; i < str.length(); ++i) { + String sm = str.substring(i); + if (str.charAt(i) == '>') { + if (str.charAt(i - 1) == '/') { + return true; + } else { + return false; + } + } + } + return false; + } + } + return true; + } + + // 查找当前标签的html代码 pos必须是标签的开始位置 < + public static String nodeString(String str, int pos) { + if (pos < 0 || pos >= str.length() || str.charAt(pos) != '<') return str; + int isRightNode = 0; + for (int i = pos; i < str.length() - 1; ++i) { +// String sm = str.substring(i, i + 400); + switch (str.charAt(i)) { + // 遇到 / 那么这个位置有可能是xml的结束标识,这种情况下再遇到<则不是当前节点的上级节点 + case '/': { + if (str.charAt(i + 1) == '>') { // "/>" 认为是标签的结束位置 + isRightNode--; + } else if (str.charAt(i - 1) == '<') { // "': { + if (isRightNode == 0) { + return str.substring(pos, i + 1); + } + break; + } + case '<': { + if (str.charAt(i + 1) != '/' && isPairedHtmlTag(str, i)) { // 不是 " findUpNodes(String str, int pos, int lookback) { + ArrayList nodes = new ArrayList<>(); + ArrayList urls = new ArrayList<>(); + if (pos == -1) return nodes; + int isUpNode = 0; + for (int i = pos; i >= 0; --i) { + switch (str.charAt(i)) { + // 遇到 / 那么这个位置有可能是xml的结束标识,这种情况下再遇到<则不是当前节点的上级节点 + case '/': { + if (str.charAt(i + 1) == '>') { + isUpNode++; +// SpiderDebug.log(String.format("not xml %s", str.substring(i, i + 20))); + } else if (str.charAt(i - 1) == '<') { + isUpNode++; + --i; +// SpiderDebug.log(String.format("not xml %s", str.substring(i, i + 20))); + } + break; + } + case '<': { + if (isUpNode == 0) { +// SpiderDebug.log(String.format("find up node %d %s", i, str.substring(i, i + 30))); + urls.add(String.format("%5d", i)); + nodes.add(i); + } else if (isPairedHtmlTag(str, i)) { + isUpNode--; + if (isUpNode < 0) isUpNode = 0; +// SpiderDebug.log(String.format("%s", str.substring(i, i + 30))); + } + + break; + } + default: + break; + } + if (nodes.size() >= lookback) { + break; + } + } + return nodes; + } + // 获取当前节点的所有子节点 + public static ArrayList getChildNodes(String str) { + ArrayList arr = new ArrayList<>(); + int pos = 0; + if (pos < 0 || pos >= str.length() || str.charAt(pos) != '<') return arr; + ++pos; + while (pos > -1 && pos < str.length()) { + pos = str.indexOf('<', pos); + String p = nodeString(str, pos); + if (p.isEmpty()) { + break; + } + arr.add(p); + pos += p.length(); + } + return arr; + } + + // 移除字符串的html标签 + public static String trimHtmlString(String str, String r) { + String ret = str.replace("\r\n", "") + .replace("\n", "") + .replaceAll("<.+?>", r) + // .replace(" ", "") + .replaceAll("\\s+", " ") + .replace(" ", "") + .replace(" ", "") + .trim(); + return ret; + } + + public static String trimHtmlString(String str) { + return trimHtmlString(str, ""); + } + + } + + public static class Utils{ + // 查找列表块的起始位置,取最靠近共同祖先节点的位置 + public static int findBlockPos(ArrayList a, ArrayList b) { + int len = a.size() > b.size() ? b.size() : a.size(); + if(len ==1 ) return b.get(0); + for (int i = 0; i < len; ++i) { + if (a.get(i).intValue() == b.get(i).intValue()) { + return b.get(i - 1); + } + } + return b.get(len - 1); + } + + // 查找两个字符串之间的子串 + // keys 字段说明 + // 0 prefix 1 suffix 2 找到子串后左边index的偏移量 3 找到子串后右边index的偏移量 + public static String findSubString(String str, int startPos, JSONArray keys, String defaultVal) { + try { + if (keys == null) return defaultVal; + String prefix = keys.getString(0); + String suffix = keys.getString(1); + int offsetl = 0; // 左边的偏移量 + int offsetr = 0; // 右边的偏移量 + if (keys.length() > 2) { + offsetl = keys.getInt(2); + } + if (keys.length() > 3) { + offsetr = keys.getInt(3); + } + int a = str.indexOf(prefix, startPos) + prefix.length(); + if (a < prefix.length()) return defaultVal; + int b = str.indexOf(suffix, a); + if (b < a) return defaultVal; + return HtmlNodeHlper.trimHtmlString(str.substring(a + offsetl, b + offsetr)); + } catch (JSONException e) { + e.printStackTrace(); + } + return defaultVal; + } + + public static String findSubString(String str, int startPos, JSONArray keys) { + return findSubString(str, startPos, keys, ""); + } + + // 获取回看层数 + public static int getLookbackCount(JSONArray keys) { + try { + if (keys != null && keys.length() > 4) return keys.getInt(4); + } catch (Exception e) { + //e.printStackTrace(); + } + return 0; + } + + // 遍历JSONObect中的JSONArray查找回看的层数可用的规则 + public static JSONArray getLookbackArray(JSONObject obj) { + try { + Iterator iter = obj.keys(); + while (iter.hasNext()) { + String key = (String) iter.next(); + Object val = obj.get(key); + if (val.getClass().getSimpleName().equals("JSONArray")) { + int c = getLookbackCount((JSONArray) val); + if (c > 0) return (JSONArray) val; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + // 统计子串个数 + public static int getSubStringCount(String str, String sub){ + int pos =0; + int count =0; + while (pos < str.length()){ + pos = str.indexOf(sub, pos); + if(pos == -1) break; + pos += sub.length(); + ++count; + } + return count; + } + + // 获取指定区间的字符串 + public static String getRegion(String str, JSONObject obj) { + try { + if (obj == null) return str; + JSONArray region = obj.optJSONArray("region"); + if (region == null) return str; + String prefix = region.getString(0); + int a = str.indexOf(prefix); + if (a == -1) return str; + int b = str.length(); + if (region.length() > 1) { + b = str.indexOf(region.getString(1), a + prefix.length()); + if (b == -1) b = str.length(); + } + return str.substring(a, b); + } catch (JSONException e) { + e.printStackTrace(); + } + return str; + } + + } + + // 猜测分类列表的html区间代码 + protected String guessCateManualHtmlString(String body) { + String regx = String.format(" list = new ArrayList<>(); + int mcount = 0; + while (m.find() ) { + ++mcount; + if(mcount >30 && !list.isEmpty()){ + break; + } + HtmlMatchInfo cate = new HtmlMatchInfo(); + cate.init(m); + cate.group2 = HtmlNodeHlper.trimHtmlString(HtmlNodeHlper.nodeString(body, cate.startPos)); + if (cate.group2.isEmpty()) continue; + boolean bOk = false; + for (String v : cateManuals){ + if(cate.group2.indexOf(v) !=-1) { + bOk = true; + break; + } + } + if(!bOk) continue; + cate.uploads = HtmlNodeHlper.findUpNodes(body, cate.startPos, 3); + if (!list.isEmpty()) { + boolean b = list.get(0).hasSameUpNode(cate); + if (!b) { // 当前找到的info和list中的匹配 + if (list.size() > 1) { // 如果list中的数据大于1 则认为找到了类型列表 + return HtmlNodeHlper.nodeString(body, list.get(0).matchedUpNodePos); + } + list.clear(); + } + } + list.add(cate); + } + if (list.size() > 1) { // 如果list中的数据大于1 则认为找到了类型列表 + return HtmlNodeHlper.nodeString(body, list.get(0).matchedUpNodePos); + } else { + return ""; + } + } + + // 从html代码中猜测分类名和分类ID cateManual规则 + protected JSONObject guess_rule_cateManual(String body) { + try { + String str = this.guessCateManualHtmlString(body); + if (str.isEmpty()) return new JSONObject(); + + String regx = String.format("](\\s*?\\S+?\\s*?)(\"|<)", TextUtils.join("|", cateManuals)); + Pattern pattern = Pattern.compile(regx, Pattern.CASE_INSENSITIVE); + Matcher m = pattern.matcher(str); + ArrayList list = new ArrayList<>(); + while (m.find()) { + // HtmlMatchInfo 字段映射 + // HtmlMatchInfo.group1 -> href + // HtmlMatchInfo.group2 -> name + // HtmlMatchInfo.diff -> id 分类ID + HtmlMatchInfo cate = new HtmlMatchInfo(); + cate.init(m); + if (cate.group1.length() < 5) continue; + cate.group2 = HtmlNodeHlper.trimHtmlString(HtmlNodeHlper.nodeString(str, cate.startPos)); + if(cate.group2.isEmpty()) continue; + // 判断是否为正常的分类名 + boolean validCateName = true; + for (int j = 0; j < invalidCateNames.size(); ++j) { + if (cate.group2.indexOf(invalidCateNames.get(j)) != -1) { + SpiderDebug.log(String.format("排除无效分类:%s --> %s", cate.group1, cate.group2)); + validCateName = false; + break; + } + } + if(!validCateName) continue; + + if (!list.isEmpty()) { + if (!list.get(0).findDiffStr(cate, splitFlag)) { + SpiderDebug.log(String.format("排除可能无效的分类 %s <--> %s", cate.group1, cate.group2)); + continue; + } + } + list.add(cate); + } + + ArrayList baseInfoIndexs = new ArrayList<>(); + // 找到最可能是正确的导航item + for (int i =0; i < list.size(); ++i){ + list.get(i).diff = null; + for (String v : cateManuals){ + if(list.get(i).group2.indexOf(v) !=-1) { + baseInfoIndexs.add(i); + break; + } + } + } + + // 以找到的导航item为基准重建分类ID + int baseInfoIndex=0; + for (int i =1; i < baseInfoIndexs.size(); ++i){ + baseInfoIndex=baseInfoIndexs.get(0).intValue(); + list.get(baseInfoIndex).findDiffStr(list.get(baseInfoIndexs.get(i).intValue()), splitFlag); + } + + JSONObject cateManual = new JSONObject(); + for (int i = 0; i < list.size(); ++i) { + if(list.get(i).diff == null || list.get(i).diff.isEmpty()) { + if(!list.get(baseInfoIndex).findDiffStr(list.get(i), splitFlag)){ + SpiderDebug.log(String.format("排除可能无效的分类 : %s", list.get(i).group0)); + continue; + } + } + + boolean validCateName = true; + String name = list.get(i).group2; + String id = list.get(i).diff; + if (id == null || id.isEmpty()) continue; + if (name == null || name.isEmpty()) continue; + for (int k =0; k arr = HtmlNodeHlper.findUpNodes(body,m.start(0), i); + String r = HtmlNodeHlper.nodeString(body, arr.get(arr.size()-1)); + String regex2 = "action=\"(.+?)\""; + Pattern pattern2 = Pattern.compile(regex2, Pattern.CASE_INSENSITIVE); + Matcher m2 = pattern2.matcher(r); + if(m2.find()){ + String url = m2.group(1); + char ch = url.indexOf('?') ==-1 ? '?' : '&'; + url = addHttpPrefix(url + ch + wd + "={wd}"); + return url; + } + + } + } + return ""; + } + // 猜测列表数据的 vod_id 规则 + public JSONArray guess_rule_vod_id(String body) { + try { + String regx = " founds = new HashMap<>(); + ArrayList list = new ArrayList<>(); + while (m.find()) { + HtmlMatchInfo cate = new HtmlMatchInfo(); + cate.init(m); + cate.uploads = HtmlNodeHlper.findUpNodes(body, cate.startPos, 4); +// String ms = this.findNodeString(body, cate.uploads.get(cate.uploads.size()-1)); + if (!list.isEmpty()) { + + if(cate.group1.equals( list.get(list.size()-1).group1)) continue; + boolean b = list.get(list.size()-1).hasSameUpNode(cate); + if (!b) { // 当前找到的info和list中的匹配 + if (list.size() > 1) { + HtmlMatchInfo info = list.get(0); + info.findDiffStr(list.get(1), splitFlag); + int id = 0; + boolean isNumberID = false; + try { id = Integer.valueOf(info.diff).intValue(); isNumberID = true; }catch (Exception e){} + + if(id > 100 ){ // cateID一般都是小于100的 + String url = (info.group1.replace(list.get(0).diff, "{vid}")); + JSONArray arr = new JSONArray(); + String prefix = url.substring(0, url.indexOf("{vid}")); + String suffix = url.substring(prefix.length() + "{vid}".length()); + int lookback = info.uploads.indexOf(info.matchedUpNodePos) - 1; + if (lookback < 1) lookback = 1; + arr.put(prefix); + arr.put(suffix); + arr.put(0); + arr.put(0); + arr.put(lookback); + arr.put(list.size()); + + if (!founds.containsKey(url)) { + founds.put(url, arr); + } else { + int nlen = founds.get(url).getInt(5) + list.size(); + arr.put(5, nlen); + founds.put(url, arr); + if(nlen >= 30){ + list.clear(); + break; + } + } + } + + } + list.clear(); + } + } + list.add(cate); + if(list.size()>30){ + break; + } + } + + + if (list.size() > 5 || (list.size()>1 && founds.isEmpty())) { // 如果list中的数据大于1 则认为找到了类型列表 + HtmlMatchInfo info = list.get(0); + info.findDiffStr(list.get(1), splitFlag); + int id = 0; + boolean isNumberID = false; + try { id = Integer.valueOf(info.diff).intValue(); isNumberID = true; }catch (Exception e){} + + if(id > 100 ){ // cateID一般都是小于100的 + + String url = (info.group1.replace(list.get(0).diff, "{vid}")); + JSONArray arr = new JSONArray(); + String prefix = url.substring(0, url.indexOf("{vid}")); + String suffix = url.substring(prefix.length() + "{vid}".length()); + int lookback = info.uploads.indexOf(info.matchedUpNodePos) - 1; + if (lookback < 1) lookback = 1; + arr.put(prefix); + arr.put(suffix); + arr.put(0); + arr.put(0); + arr.put(lookback); + arr.put(list.size()); + + if (!founds.containsKey(url)) { + founds.put(url, arr); + } else { + int nlen = founds.get(url).getInt(5) + list.size(); + arr.put(5, nlen); + founds.put(url, arr); + } + } + } + + + JSONArray c = null; + for (String key : founds.keySet()) { + JSONArray v = founds.get(key); + if(c == null || c.getInt(5) < v.getInt(5)) c = v; + } + return c; + + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + // 猜播放列表 + public JSONArray guess_rule_vod_play_url(String str, String vid) { + String regex = "href=\"(/.+?)\""; + Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); + Matcher m = pattern.matcher(str); + HtmlMatchInfo info = new HtmlMatchInfo(); + ArrayList vec = new ArrayList<>(); + boolean p0__ = false; + while (m.find()){ + String sb = m.group(1); + // 太长的url认为是错误的播放地址 + if(sb.length() > 100) continue; + if(sb.indexOf(vid) == -1) continue; + // 如果当前url的长度比上一个url的长度短也认为是无效的播放地址(带上了vod_id一般短一点的可能是详情页的地址) + // 一般来讲 999-1-1.html 这种格式是播放页的地址,不排除这种地址 + boolean is__html = (sb.indexOf(vid+"-") != -1); + if(!is__html && vec.size() > 0 && vec.get(vec.size()-1).length() > sb.length()) continue; + if(is__html && !p0__ ){ // 找到了准确度最高的播放连接格式,如果检查到列表头不是这种格式的话,清空列表从头开始 + vec.clear(); + } + // 如果列表里面装了标准的连接格式,不标准的就不要了 + if(p0__ && !is__html) continue; + + info.init(m); + if(vec.isEmpty()) p0__ = is__html; + vec.add(m.group(1)); + if(vec.size() > 10 && vec.get(vec.size()-2).length() == sb.length()) { + break; + } + } + if(info.group0 != null){ + for (int i =1;i < 4; ++i){ + ArrayList nodes = HtmlNodeHlper.findUpNodes(str, info.startPos, i); + int startPos = nodes.get(nodes.size()-1).intValue(); + //String smd = str.substring(startPos, startPos+10); + String smd = HtmlNodeHlper.nodeString(str, startPos); + + if(smd.indexOf(" map = new HashMap(); + + for (int i = 0; i < words.length; ++i) { + words[i] =words[i].trim(); + if (!words[i].isEmpty() && words[i].indexOf("更新") ==-1) { + + int c = 1; + if (map.containsKey(words[i])) { + c = 1 + map.get(words[i]).intValue(); + ;//[words[i]] + } + map.put(words[i], Integer.valueOf(c)); + } + } + String s = ""; + int c = 0; + for (String key : map.keySet()) { + int v = map.get(key).intValue(); + if (v > c) { + c = v; + s = key; + } + } + val = s; + } + return val.replace("在线", "") + .replace("立即", "") + .replace("观看", "") + .replace("点播", "") + .replace("影片", "") + .replace("信息", "") + .replace("播放", "") + .trim(); + //return val; + } catch (Exception e) { + + } + return ""; + } + + public String guess_value_vod_remarks(String nd, int startPos, String vod_name) { + try { + String all = HtmlNodeHlper.trimHtmlString(nd, "!!!!"); + String[] words = all.split("!!!!"); + String val = ""; + for (int i = 0; i < words.length; ++i) { + String wd = words[i].trim(); + if (!wd.isEmpty() && wd.indexOf(vod_name) == -1) { + String dot = (!val.isEmpty()) ? "," : "";// val += ","; + String tmp = val + dot + wd; + if (tmp.length() > 20) { + break; + } + val = tmp; + } + } + return val; + } catch (Exception e) { + + } + return ""; + + } + + public String guess_value_vod_pic(String nd, int startPos) { + try { + JSONArray vec = new JSONArray(); + vec.put("data-original=\""); + vec.put("\""); + String val = Utils.findSubString(nd, startPos, vec); + if (val.isEmpty()) { + vec.put(0, "data-src=\""); + val = Utils.findSubString(nd, startPos, vec); + } + if (val.isEmpty()) { + vec.put(0, "src=\""); + val = Utils.findSubString(nd, startPos, vec); + } + if (val.isEmpty()) { + vec.put(0, "data-bg=\""); + val = Utils.findSubString(nd, startPos, vec); + } + if (val.isEmpty()) { + //TODO: 直接在nd中找个.jpg .png 之类的当图片 + } + return addHttpPrefix(val); + } catch (Exception e) { + + } + return ""; + } + + @Override + public boolean isVideoFormat(String url) { + url = url.toLowerCase(); + if (url.contains("=http") || url.contains("=https") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) { + return false; + } + for (String format : videoFormatList) { + if (url.contains(format)) { + return true; + } + } + return false; + } + + // 让当前爬虫自己判断是否为可播放的地址 + @Override + public boolean manualVideoCheck() { + return true; + } + + + @Override + public String homeContent(boolean z) { + try { + fetchRule(); + + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + JSONObject cateManual = rule.optJSONObject("cateManual"); + + Iterator keys = cateManual.keys(); + while (keys.hasNext()) { + String key = keys.next(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_name", key); + jsonObject.put("type_id", cateManual.getString(key)); + classes.put(jsonObject); + } + + result.put("class", classes); + if (z && rule.has("filter")) { + result.put("filters", rule.getJSONObject("filter")); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + // from xpath 加入过滤条件 + protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { + try { + JSONObject list = this.rule.getJSONObject("list"); + String cateUrl = list.optString(pg, ""); + if(cateUrl.isEmpty()) + cateUrl = list.getString("url"); + if (filter && extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + cateUrl = cateUrl.replace("{" + key + "}", URLEncoder.encode(value)); + } + } + } + cateUrl = cateUrl.replace("{cateId}", tid).replace("{catePg}", pg); + Matcher m = Pattern.compile("\\{(.*?)\\}").matcher(cateUrl); + while (m.find()) { + String n = m.group(0).replace("{", "").replace("}", ""); + cateUrl = cateUrl.replace(m.group(0), "").replace("/" + n + "/", ""); + } + return cateUrl; + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + JSONObject list = this.rule.getJSONObject("list"); + String url = categoryUrl(tid, pg, filter, extend); + String body = fetchUrl(url, list.optJSONObject("header")); + String str = Utils.getRegion(body, list); + JSONArray videos = new JSONArray(); + JSONArray lookback = Utils.getLookbackArray(list); + Set set = new HashSet(); + int pos = 0; + ArrayList urlnodes = null; + int lookup = -1; + while (lookback != null) { + pos = str.indexOf(lookback.getString(0), pos); + if (pos == -1) break; + + ArrayList arr = null; + int blockPos = 0; + String nd =""; + do { + arr = HtmlNodeHlper.findUpNodes(str, pos - 1, lookback.getInt(4)); + if (urlnodes == null) { + urlnodes = arr; + blockPos = arr.get(arr.size() - 1); + } else { + blockPos = Utils.findBlockPos(urlnodes, arr); + } + nd = HtmlNodeHlper.nodeString(str, blockPos); + + // 检查是否回看层数过多,如果回看导数过多会导致加载不出来数据或一页只加载一条数据,需要进行修正 + if(lookup < 0){ + int count = Utils.getSubStringCount(nd, lookback.getString(0)); + if(count > 3 && lookback.getInt(4)>1){ + lookback.put(4, lookback.getInt(4)-1); + urlnodes = null; + blockPos=0; + nd=""; + SpiderDebug.log(String.format("找到过多的url匹配项(%d),降低匹配层级为%d", count, lookback.getInt(4))); + }else if(lookup == -1){ + String pic = guess_value_vod_pic(nd,0); //尝试找一下图片,如果没找到的话增加一级 + String vName = guess_value_vod_name(nd,0); + if(pic.isEmpty()||vName.isEmpty()){ + lookback.put(4, lookback.getInt(4)+1); + urlnodes = null; + blockPos=0; + nd=""; + lookup = -2; // 只退一次 + SpiderDebug.log(String.format("当前层级未找到(%s),增加匹配层级为%d", pic.isEmpty()? "图片": "标题", lookback.getInt(4))); + }else{ + lookup = lookback.getInt(4); + } + }else{ + lookup = lookback.getInt(4); + } + } + }while (lookup < 0 ); + + + pos += nd.length(); + blockPos = 0; + String vod_id = Utils.findSubString(nd, blockPos, list.getJSONArray("vod_id")); + if (!set.contains(vod_id)) { // 排除重复数据 + set.add(vod_id); + JSONObject v = new JSONObject(); + v.put("vod_id", vod_id); + v.put("vod_name", Utils.findSubString(nd, blockPos, list.optJSONArray("vod_name"))); + v.put("vod_pic", addHttpPrefix(Utils.findSubString(nd, blockPos, list.optJSONArray("vod_pic")))); + v.put("vod_remarks", Utils.findSubString(nd, blockPos, list.optJSONArray("vod_remarks"))); + + if (v.getString("vod_name").isEmpty()) { + v.put("vod_name", guess_value_vod_name(nd, 0)); + } + + if (v.getString("vod_pic").isEmpty()) { + v.put("vod_pic", guess_value_vod_pic(nd, 0)); + } + + // 随便整点remark + if (v.getString("vod_remarks").isEmpty()) { + String vod_name = v.getString("vod_name"); + v.put("vod_remarks", guess_value_vod_remarks(nd, 0, vod_name)); + } + v.put("vod_id", Base64.encodeToString(v.toString().getBytes(Misc.CharsetUTF8), base64Flag)); + videos.put(v); + } +// pos += vod_id.length(); + } + + JSONObject result = new JSONObject(); + result.put("page", pg); + result.put("pagecount", Integer.MAX_VALUE); + result.put("limit", 90); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + // 生成播放的名称 + public ArrayList makeVodPlayFrom(int sz) { + ArrayList vec = new ArrayList(); + for (int i = 1; i <= sz; ++i) { + vec.add("播放列表" + i); + } + return vec; + } + + // 查找播放列表名 + public ArrayList findVodPlayFrom(String str, int sz) { + try { + ArrayList urlnodes = null; + JSONObject playlist = this.rule.getJSONObject("playlist"); + if (!playlist.has("vod_play_from")) { + return makeVodPlayFrom(sz); + } + ArrayList> vod_play_from = new ArrayList>(); + JSONArray rule_vod_play_from = playlist.getJSONArray("vod_play_from"); + for (int i = 0; i < rule_vod_play_from.length(); ++i) { + String s = rule_vod_play_from.get(i).getClass().getSimpleName(); + String key = ""; + String alias = ""; + if (s.equals("String")) { + key = alias = rule_vod_play_from.getString(i); + } else if (s.equals("JSONArray")) { + JSONArray item = rule_vod_play_from.getJSONArray(i); + key = alias = item.getString(0); + if (item.length() > 1) { + alias = item.getString(1); + } + } else { + return makeVodPlayFrom(sz); + } + + int pos = str.indexOf(key); + if (pos == -1) continue; + vod_play_from.add(new Pair<>(pos, alias)); + } + // 找到的名称与实际需要的数量不匹配,返回默认的名称 + if (vod_play_from.size() != sz) { + return makeVodPlayFrom(sz); + } + // 排序 + Collections.sort(vod_play_from, new Comparator>() { + @Override + public int compare(Pair a, Pair b) { + return a.first.intValue() - b.first.intValue(); + } + }); + + ArrayList vec = new ArrayList(); + for (int i = 0; i < vod_play_from.size(); ++i) { + vec.add(vod_play_from.get(i).second); + } + return vec; + } catch (Exception e) { + e.printStackTrace(); + } + return makeVodPlayFrom(sz); + } + + // 查找播放列表 + public ArrayList findVodPlayUrl(String str) { + ArrayList tmp_vod_play_url = new ArrayList(); + ArrayList vod_play_url = new ArrayList(); + try { + int pos = 0; + ArrayList urlnodes = null; + JSONObject playlist = this.rule.getJSONObject("playlist"); + int sort = playlist.optInt("sort", 0); // 如果这个值是0。表示要倒序播放列表 + HashMap map = new HashMap(); + Set rmset = new HashSet(); +// String tmp = ""; + ArrayList tmp = new ArrayList(); + JSONArray lookback = Utils.getLookbackArray(playlist); + while (lookback != null) { + JSONArray rule_vod_play_url = playlist.getJSONArray("vod_play_url"); + pos = str.indexOf(rule_vod_play_url.getString(0), pos); + if (pos == -1) break; + ArrayList arr = HtmlNodeHlper.findUpNodes(str, pos - 1, lookback.getInt(4)); + + int blockPos = 0; + if (urlnodes == null || arr.size() != urlnodes.size() || arr.get(arr.size() - 1).intValue() != urlnodes.get(urlnodes.size() - 1).intValue()) { + urlnodes = arr; + blockPos = arr.get(Math.max(0, arr.size() - 2)); + // 如果上级节点不同,说明当前播放列表已经结束,可以 + if (!tmp.isEmpty()) { + SpiderDebug.log("change play list "); + if (sort != 0) { + Collections.reverse(tmp); + } + tmp_vod_play_url.add(TextUtils.join("#", tmp)); + tmp = new ArrayList(); + } + } else { + blockPos = Utils.findBlockPos(urlnodes, arr); + } +// String bs = str.substring(blockPos, blockPos + 1000); +// String b = this.findNodeString(str, blockPos); + // 处理play_url 为空的情况 + String play_url = addHttpPrefix(Utils.findSubString(str, blockPos, playlist.getJSONArray("vod_play_url"))); + + if (map.containsKey(play_url)) { // 如果以经找过当前播放的url,那么认为之前找到的都是垃圾数据,清空之间的成果 + SpiderDebug.log("发现重复播放连接,清空已解析到的播放列表"); + rmset.add(map.get(play_url)); // 添加移除标志 + } + map.put(play_url, tmp_vod_play_url.size()); + String play_url_title = Utils.findSubString(str, blockPos, playlist.optJSONArray("vod_play_url_title")); + if (play_url_title.isEmpty()) { + play_url_title = HtmlNodeHlper.trimHtmlString(HtmlNodeHlper.nodeString(str, blockPos)); + int dd = 3; + } + tmp.add(play_url_title + "$" + play_url); +// SpiderDebug.log(String.format("%s$%s", play_url_title, play_url)); + pos += play_url.length(); + } + + if (!tmp.isEmpty()) { + if (sort != 0) { + Collections.reverse(tmp); + } + tmp_vod_play_url.add(TextUtils.join("#", tmp)); + } + + for (int i = 0; i < tmp_vod_play_url.size(); ++i) { + if (!rmset.contains(i)) { + vod_play_url.add(tmp_vod_play_url.get(i)); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return vod_play_url; + } + + // 猜测详情数据的html区间 + protected String guessDetailContentRegion(String body) { + String regx = String.format(">\\s*?(%s)|(%s)", TextUtils.join("|", detailItemNames), TextUtils.join(":|", detailItemNames)); + Pattern pattern = Pattern.compile(regx, Pattern.CASE_INSENSITIVE); + Matcher m = pattern.matcher(body); + ArrayList list = new ArrayList<>(); + while (m.find()) { + HtmlMatchInfo cate = new HtmlMatchInfo(); + cate.init(m); + cate.uploads = HtmlNodeHlper.findUpNodes(body, cate.startPos, 5); + if (!list.isEmpty()) { + boolean b = list.get(0).hasSameUpNode(cate); + if (!b) { // 当前找到的info和list中的匹配 + if (list.size() > 1) { + boolean found = false; + for (int i = 0; i < list.size(); ++i) { + if (list.get(i).group0.indexOf("导演") != -1) { + found = true; + } + } + if (found) { + return HtmlNodeHlper.nodeString(body, list.get(0).matchedUpNodePos); + } else { + list.clear(); + } + } + list.clear(); + } + } + list.add(cate); + } + if (list.size() > 1) { // 如果list中的数据大于1 则认为找到了类型列表 + return HtmlNodeHlper.nodeString(body, list.get(0).matchedUpNodePos); + } else { + return ""; + } + } + + @Override + public String detailContent(List ids) { + try { + fetchRule(); + JSONObject vinfo = new JSONObject(new String(Base64.decode(ids.get(0), base64Flag), "UTF-8")); + + JSONObject detail = rule.optJSONObject("detail"); + if (detail == null) return ""; + // 如果不存在url,则使用list中的vod_id来生成url + if (!detail.has("url")) { + JSONObject list = rule.getJSONObject("list"); + JSONArray tmp = list.getJSONArray("vod_id"); + String u = addHttpPrefix(tmp.getString(0) + "{vid}" + tmp.getString(1)); + detail.put("url", u); + } + String url = detail.getString("url").replace("{vid}", vinfo.getString("vod_id")); + String body = fetchUrl(url, detail.optJSONObject("header")); + String str = Utils.getRegion(body, detail); + int startPos = 0; + + String nodeString = ""; + // 圈定 详情数据的范围 + JSONArray lookback = Utils.getLookbackArray(detail); + if (lookback != null) { + int pos = str.indexOf(lookback.getString(0), 0); + if (pos != -1) { + ArrayList arr = HtmlNodeHlper.findUpNodes(str, pos - 1, lookback.getInt(4)); + if (arr.size() > 0) { + startPos = arr.get(arr.size() - 1); + nodeString = HtmlNodeHlper.nodeString(str, startPos); // 精确详情数据的范围 + } + } + } + // 没有指定详情数据范围则猜一个出来 + if (nodeString.isEmpty()) { + nodeString = this.guessDetailContentRegion(body); + } + + if (nodeString.length() != str.length()) { + str = nodeString; + startPos = 0; + } + /////////////////////////////////////////////////////////////////////////////////////// + + JSONObject vod = new JSONObject(); + vod.put("vod_id", ids.get(0)); + vod.put("vod_name", Utils.findSubString(str, startPos, detail.optJSONArray("vod_name"))); + vod.put("vod_pic", addHttpPrefix(Utils.findSubString(str, startPos, detail.optJSONArray("vod_pic")))); + vod.put("type_name", Utils.findSubString(str, startPos, detail.optJSONArray("type_name"))); + vod.put("vod_year", Utils.findSubString(str, startPos, detail.optJSONArray("vod_year"))); + vod.put("vod_area", Utils.findSubString(str, startPos, detail.optJSONArray("vod_area"))); + vod.put("vod_remarks", Utils.findSubString(str, startPos, detail.optJSONArray("vod_remarks"))); + vod.put("vod_actor", Utils.findSubString(str, startPos, detail.optJSONArray("vod_actor"))); + vod.put("vod_director", Utils.findSubString(str, startPos, detail.optJSONArray("vod_director"))); + vod.put("vod_content", Utils.findSubString(str, startPos, detail.optJSONArray("vod_content"))); + + + //////////////////////////////////////////////////////////////////////////////////////// + if (vod.getString("vod_name").isEmpty()) { + vod.put("vod_name", vinfo.optString("vod_name", "")); + } + // 从页面中猜个视频名称出来 + if (vod.getString("vod_name").isEmpty()) { + vod.put("vod_name", guess_value_vod_name(str, startPos)); + } + + //////////////////////////////////////////////////////////////////////////////////////// + if (vod.getString("vod_pic").isEmpty()) { + vod.put("vod_pic", vinfo.optString("vod_pic", "")); + } + if (vod.getString("vod_pic").isEmpty()) { + vod.put("vod_pic", guess_value_vod_pic(str, startPos)); + } + + //////////////////////////////////////////////////////////////////////////////////////// + if (lookback != null && lookback.length() > 1) { + JSONArray key = new JSONArray(); + String name = lookback.getString(0); + String skey = lookback.getString(0); + + ArrayList detailItems = new ArrayList<>(Arrays.asList("导演", "演员", "类型", "年份")); + for (String p : detailItems) { + if (name.indexOf(p) != -1) { + skey = p; + break; + } + } + key.put(name); + key.put(lookback.getString(1)); + if (vod.getString("vod_director").isEmpty()) { + key.put(0, name.replace(skey, "导演")); + vod.put("vod_director", Utils.findSubString(str, startPos, key)); + } + if (vod.getString("vod_actor").isEmpty()) { + key.put(0, name.replace(skey, "主演")); + vod.put("vod_actor", Utils.findSubString(str, startPos, key)); + } + + if (vod.getString("vod_content").isEmpty()) { + String all = HtmlNodeHlper.trimHtmlString(str, "!!!!"); + String[] words = all.split("!!!!"); + String v = ""; + for (int i = 0; i < words.length; ++i) { + if (words[i].length() > v.length()) { + v = words[i]; + } + } + vod.put("vod_content", HtmlNodeHlper.trimHtmlString(v)); + } + + } else { // 猜一下详情数据 + if (vod.getString("vod_director").isEmpty()) { + ArrayList arr = HtmlNodeHlper.getChildNodes(nodeString); + String content = ""; + String f = TextUtils.join("|", detailItemNames); + String regex = String.format("%s",f); + Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); + for (int i = 0; i < arr.size(); ++i) { + String p = HtmlNodeHlper.trimHtmlString(arr.get(i), " ").replace(":", ""); + if (p.length() > content.length()) { content = p; } + String[] all = p.split(regex); + // split出来的可能存在空字符串,去除掉 + ArrayList items = new ArrayList<>(); + for(String c: all){ + if(c.isEmpty()) continue; + items.add(c); + } + Matcher m = pattern.matcher(p); + int index = 0; + while (m.find() && index < items.size()){ + String s = m.group(0); + for (int j = 0; j < detailItemNames.size(); ++j) { + String name = detailItemNames.get(j); + String key = detailItemKeys.get(j); + if (s.indexOf(name) != -1) { + if (vod.getString(key).isEmpty()) { + vod.put(key, items.get(index).trim()); + } + break; + } + } + ++index; + } + } + + if (vod.getString("vod_content").isEmpty()) { + vod.put("vod_content", content); + } + } + } + + + playlistContent(ids, vod, body);// 获取播放列表 + + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + + } + + // 播放页 str 为 detailContent 函数中http返回值 + protected void playlistContent(List ids, JSONObject vod, String body) { + try { + fetchRule(); + JSONObject vinfo = new JSONObject(new String(Base64.decode(ids.get(0), base64Flag), "UTF-8")); + + JSONObject playlist = rule.optJSONObject("playlist"); + if (playlist == null) return; + if (playlist.has("url")) { + String detailUrl = rule.getJSONObject("detail").optString("url"); + String playListUrl = playlist.getString("url"); + if(!detailUrl.equals(playListUrl)){ + String url = playlist.getString("url").replace("{vid}", vinfo.getString("vod_id")); + body = fetchUrl(url, playlist.optJSONObject("header")); + } + } + String str = Utils.getRegion(body, playlist); + + ArrayList vod_play_url = null; + if (!playlist.has("vod_play_url")) { + // 猜vod_play_url的查找规则 + JSONArray vod_play_url_rule = this.guess_rule_vod_play_url(str, vinfo.getString("vod_id")); + if(vod_play_url_rule != null){ + playlist.put("vod_play_url", vod_play_url_rule); + } + } + vod_play_url = this.findVodPlayUrl(str); + ArrayList vod_play_from = this.findVodPlayFrom(str, vod_play_url.size()); + + // 如果有说明播放源的名称,那么对播放源进行排序 + String f1 = TextUtils.join("$$$", vod_play_from); + String f2 = TextUtils.join("$$$", makeVodPlayFrom(vod_play_url.size())); + + if (!f1.equals(f2)) { + ArrayList urls = new ArrayList<>(); + ArrayList froms = new ArrayList<>(); + + JSONArray rule_vod_play_from = playlist.getJSONArray("vod_play_from"); + for (int i = 0; i < rule_vod_play_from.length(); ++i) { + String s = rule_vod_play_from.get(i).getClass().getSimpleName(); + String alias = ""; + if (s.equals("String")) { + alias = rule_vod_play_from.getString(i); + } else if (s.equals("JSONArray")) { + JSONArray item = rule_vod_play_from.getJSONArray(i); + alias = item.getString(0); + if (item.length() > 1) { + alias = item.getString(1); + } + } + + for (int j = 0; j < vod_play_from.size(); ++j) { + if (vod_play_from.get(j).equals(alias)) { + urls.add(vod_play_url.get(j)); + froms.add(vod_play_from.get(j)); + } + } + + } + vod_play_url = urls; + vod_play_from = froms; + } + vod.put("vod_play_url", TextUtils.join("$$$", vod_play_url)); + vod.put("vod_play_from", TextUtils.join("$$$", vod_play_from)); + } catch (Exception e) { + e.printStackTrace(); + } + + } + + // 尝试从播放页中找播放url + protected String parsePlayUrl(String str, String str2, List list) { + try { + JSONObject play = rule.optJSONObject("play"); + if (play == null) { + return ""; + } + String tmp = fetchUrl(str2, play.optJSONObject("header")); + String body = Utils.getRegion(tmp, play); + int startPos = 0; + JSONArray lookback = Utils.getLookbackArray(play); + if (lookback != null) { + int pos = body.indexOf(lookback.getString(0), 0); + if (pos != -1) { + ArrayList arr = HtmlNodeHlper.findUpNodes(body, pos - 1, lookback.getInt(4)); + if (arr.size() > 0) { + startPos = arr.get(arr.size() - 1); + } else { + startPos = pos; + } + } + } + + String vod_url = Utils.findSubString(body, startPos, play.optJSONArray("vod_url")); + vod_url = vod_url.replace("\\/", "/"); + if (vod_url.isEmpty() || !isVideoFormat(vod_url)) return ""; + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", vod_url); + return result.toString(); + + } catch (Exception e) { + e.printStackTrace(); + } + + return ""; + } + + @Override + public String playerContent(String str, String str2, List list) { + try { + fetchRule(); + // 先判断是否可以拿到直链 + String ret = parsePlayUrl(str, str2, list); + if (!ret.isEmpty()) return ret; + // 直接将网页地址返回回去进行嗅探 + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", str2); + return result.toString(); + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } + + protected Object parseJsonSearchResult(Object obj) { + try { + if (obj == null) return null; + JSONObject search = rule.optJSONObject("search"); + if (search == null) return null; + String key_vod_id = search.getString("vod_id"); + String key_vod_name = search.getString("vod_name"); + String type = obj.getClass().getSimpleName(); + if (type.equals("JSONObject")) { + JSONObject object = (JSONObject) obj; + if (object.has(key_vod_id) && object.has(key_vod_name)) return object; + for (Iterator iter = object.keys(); iter.hasNext(); ) { + String k = iter.next(); + Object r = parseJsonSearchResult(object.get(k)); + if (r != null) { + return r; + } + } + } else if (type.equals("JSONArray")) { + JSONArray array = (JSONArray) obj; + for (int i = 0; i < array.length(); ++i) { + if (parseJsonSearchResult(array.get(i)) != null) { + return array; + } + } + } + + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + protected String parseSearchResult(String body) { + try { + JSONObject obj = new JSONObject(body); + Object info = parseJsonSearchResult(obj); + if (info == null) return ""; + JSONArray arr = new JSONArray(); + if (info.getClass().getSimpleName().equals("JSONObject")) { + arr.put(info); + } else { + arr = (JSONArray) info; + } + JSONObject search = rule.optJSONObject("search"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < arr.length(); ++i) { + JSONObject v = new JSONObject(); + JSONObject o = arr.getJSONObject(i); + if (search.has("vod_id") && o.has(search.getString("vod_id"))) { + v.put("vod_id", o.get(search.getString("vod_id")).toString()); + } else { + continue; + } + if (search.has("vod_name") && o.has(search.getString("vod_name"))) { + v.put("vod_name", o.get(search.getString("vod_name")).toString()); + } else { + v.put("vod_name", "未知"); + } + + if (search.has("vod_pic") && o.has(search.getString("vod_pic"))) { + v.put("vod_pic", o.get(search.getString("vod_pic")).toString()); + } else { + v.put("vod_pic", ""); + } + + if (search.has("vod_remarks") && o.has(search.getString("vod_remarks"))) { + v.put("vod_remarks", o.get(search.getString("vod_remarks")).toString()); + } else { + v.put("vod_remarks", ""); + } + v.put("vod_id", Base64.encodeToString(v.toString().getBytes(Misc.CharsetUTF8), base64Flag)); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + + } catch (Exception e) { +// e.printStackTrace(); + } + return ""; + } + + // post 搜索,只做了简单的支持 + protected String postSearch(String wd, boolean z) { + try { + JSONObject search = rule.optJSONObject("search"); + if (search == null) return ""; + String url = search.getString("url"); + JSONObject params = search.getJSONObject("post"); // 查询参数 + HashMap reqpayload = new HashMap<>(); + Iterator iter = params.keys(); + while (iter.hasNext()) { + String key = iter.next(); + String value = params.getString(key).replace("{wd}", wd); + reqpayload.put(key, value); + } + final String[] retval = {""}; + HashMap header = getHeaders(url); + header.put("content-type", "application/x-www-form-urlencoded"); + OkHttpUtil.post(OkHttpUtil.defaultClient(), url, reqpayload, header, new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(String response) { + retval[0] = response; + } + }); + return retval[0]; + } catch (Exception e) { + + } + return ""; + } + + @Override + public String searchContent(String wd, boolean z) { + try { + fetchRule(); + JSONObject search = rule.optJSONObject("search"); + if (search == null) return ""; + String str = ""; + if (search.has("post")) { + str = postSearch(wd, z); + } else { + String url = search.getString("url").replace("{wd}", wd); + str = fetchUrl(url, search.optJSONObject("header")); + } + str = Utils.getRegion(str, search); + // 先当JSON解析试试 + String r = parseSearchResult(str); + if (r != null && !r.isEmpty()) { + return r; + } + + if (!search.has("vod_id")) { + JSONObject list = rule.getJSONObject("list"); + search.put("vod_id", list.getJSONArray("vod_id")); + } + + JSONArray videos = new JSONArray(); + Set set = new HashSet(); + int pos = 0; + ArrayList urlnodes = null; + + JSONArray lookback = Utils.getLookbackArray(search); + + int lookup = -1; + while (lookback != null) { + pos = str.indexOf(lookback.getString(0), pos); + if (pos == -1) break; + + ArrayList arr = null; + int blockPos = 0; + String nd =""; + do { + arr = HtmlNodeHlper.findUpNodes(str, pos - 1, lookback.getInt(4)); + if (urlnodes == null) { + urlnodes = arr; + blockPos = arr.get(arr.size() - 1); + } else { + blockPos = Utils.findBlockPos(urlnodes, arr); + } + nd = HtmlNodeHlper.nodeString(str, blockPos); + // 检查是否回看层数过多,如果回看导数过多会导致加载不出来数据或一页只加载一条数据,需要进行修正 + if(lookup < 0){ + int count = Utils.getSubStringCount(nd, lookback.getString(0)); + if(count > 3 && lookback.getInt(4)>1){ + lookback.put(4, lookback.getInt(4)-1); + urlnodes = null; + blockPos=0; + nd=""; + SpiderDebug.log(String.format("找到过多的url匹配项(%d),降低匹配层级为%d", count, lookback.get(4))); + } + else if(lookup == -1){ + String pic = guess_value_vod_pic(nd,0); //尝试找一下图片,如果没找到的话增加一级 + String vName = guess_value_vod_name(nd,0); + if(pic.isEmpty()||vName.isEmpty()){ + lookback.put(4, lookback.getInt(4)+1); + urlnodes = null; + blockPos=0; + nd=""; + lookup = -2; // 只退一次 + SpiderDebug.log(String.format("当前层级未找到(%s),增加匹配层级为%d", pic.isEmpty()? "图片": "标题", lookback.getInt(4))); + }else{ + lookup = lookback.getInt(4); + } + }else{ + lookup = lookback.getInt(4); + } + } + }while (lookup < 0); + + pos += nd.length(); + blockPos = 0; + String vod_id = Utils.findSubString(nd, blockPos, search.getJSONArray("vod_id")); + if (!set.contains(vod_id)) { + set.add(vod_id); + JSONObject v = new JSONObject(); + v.put("vod_id", vod_id); + v.put("vod_name", Utils.findSubString(nd, blockPos, search.optJSONArray("vod_name"))); + v.put("vod_pic", addHttpPrefix(Utils.findSubString(nd, blockPos, search.optJSONArray("vod_pic")))); + v.put("vod_remarks", Utils.findSubString(nd, blockPos, search.optJSONArray("vod_remarks"))); + + if (v.getString("vod_name").isEmpty()) { + v.put("vod_name", guess_value_vod_name(nd, 0)); + } + + if (v.getString("vod_pic").isEmpty()) { + v.put("vod_pic", guess_value_vod_pic(nd, 0)); + } + // 随便整点remark + if (v.getString("vod_remarks").isEmpty()) { + String vod_name = v.getString("vod_name"); + v.put("vod_remarks", guess_value_vod_remarks(nd, 0, vod_name)); + } + v.put("vod_id", Base64.encodeToString(v.toString().getBytes(Misc.CharsetUTF8), base64Flag)); + videos.put(v); + } + } + + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + protected String fetchUrl(String url, JSONObject h) { + String html = OkHttpUtil.string(url, getHeaders(url)); + html = this.jumpbtwaf(url, html, h); + return html.replaceAll("", "").replace("\r\n","").replace("\n",""); // 移除注释 + } + + protected String jumpbtwaf(String webUrl, String html, JSONObject h) { + + try { + // 没有配置btwaf不执行下面的代码 + if (!rule.optBoolean("btwaf", false)) { + return html; + } + + if (html.contains("检测中") && html.contains("跳转中") && html.contains("btwaf")) { + JSONArray keys = new JSONArray(); + keys.put("btwaf="); + keys.put("\""); + String btwaf = Utils.findSubString(html, 0, keys); + String bturl = webUrl + "?btwaf=" + btwaf; + + Map> cookies = new HashMap<>(); + OkHttpUtil.string(bturl, getHeaders(webUrl), cookies); + for (Map.Entry> entry : cookies.entrySet()) { + if (entry.getKey().equals("set-cookie") || entry.getKey().equals("Set-Cookie")) { + String btcookie = TextUtils.join(";", entry.getValue()); + if (!rule.has("header")) { + rule.put("header", new JSONObject()); + } + rule.getJSONObject("header").put("cookie", btcookie); + break; + } + } + html = fetchUrl(webUrl, h); + } + if (!html.contains("检测中") && !html.contains("btwaf")) { + return html; + } + + } catch (Exception e) { + e.printStackTrace(); + } + return html; + } + +} diff --git a/TVBox_Java/spider/XBiubiu.java b/TVBox_Java/spider/XBiubiu.java new file mode 100644 index 0000000..e805629 --- /dev/null +++ b/TVBox_Java/spider/XBiubiu.java @@ -0,0 +1,528 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.jsoup.Jsoup; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; + +public class XBiubiu extends Spider { + + @Override + public void init(Context context) { + super.init(context); + } + + public void init(Context context, String extend) { + super.init(context, extend); + this.ext = extend; + } + + @Override + public String homeContent(boolean filter) { + try { + fetchRule(); + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + String[] fenleis = getRuleVal("fenlei", "").split("#"); + for (String fenlei : fenleis) { + String[] info = fenlei.split("\\$"); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_name", info[0]); + jsonObject.put("type_id", info[1]); + classes.put(jsonObject); + } + result.put("class", classes); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + String ua = getRuleVal("ua", Misc.UaWinChrome).trim(); + if (ua.isEmpty()) + ua = Misc.UaWinChrome; + headers.put("User-Agent", ua); + return headers; + } + + @Override + public String homeVideoContent() { + try { + fetchRule(); + if (getRuleVal("shouye").equals("1")) { + JSONArray videos = new JSONArray(); + String[] fenleis = getRuleVal("fenlei", "").split("#"); + for (String fenlei : fenleis) { + String[] info = fenlei.split("\\$"); + JSONObject data = category(info[1], "1", false, new HashMap<>()); + if (data != null) { + JSONArray vids = data.optJSONArray("list"); + if (vids != null) { + for (int i = 0; i < vids.length() && i < 5; i++) { + videos.put(vids.getJSONObject(i)); + } + } + } + if (videos.length() >= 30) + break; + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private JSONObject category(String tid, String pg, boolean filter, HashMap extend) { + try { + fetchRule(); + if (tid.equals("空")) + tid = ""; + String qishiye = rule.optString("qishiye", "nil"); + if (qishiye.equals("空")) + pg = ""; + else if (!qishiye.equals("nil")) { + pg = String.valueOf(Integer.parseInt(pg) - 1 + Integer.parseInt(qishiye)); + } + String webUrl = getRuleVal("url") + tid + pg + getRuleVal("houzhui"); + String html = fetch(webUrl); + html = removeUnicode(html); + String parseContent = html; + boolean shifouercijiequ = getRuleVal("shifouercijiequ").equals("1"); + if (shifouercijiequ) { + String jiequqian = getRuleVal("jiequqian"); + String jiequhou = getRuleVal("jiequhou"); + parseContent = subContent(html, jiequqian, jiequhou).get(0); + } + String jiequshuzuqian = getRuleVal("jiequshuzuqian"); + String jiequshuzuhou = getRuleVal("jiequshuzuhou"); + JSONArray videos = new JSONArray(); + ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); + for (int i = 0; i < jiequContents.size(); i++) { + try { + String jiequContent = jiequContents.get(i); + String title = removeHtml(subContent(jiequContent, getRuleVal("biaotiqian"), getRuleVal("biaotihou")).get(0)); + String pic = ""; + String tupianqian = getRuleVal("tupianqian").toLowerCase(); + if (tupianqian.startsWith("http://") || tupianqian.startsWith("https://")) { + pic = getRuleVal("tupianqian"); + } else { + pic = subContent(jiequContent, getRuleVal("tupianqian"), getRuleVal("tupianhou")).get(0); + } + pic = Misc.fixUrl(webUrl, pic); + String link = subContent(jiequContent, getRuleVal("lianjieqian"), getRuleVal("lianjiehou")).get(0); + link = getRuleVal("ljqianzhui").isEmpty() ? (link + getRuleVal("ljhouzhui")) : ("x:" + getRuleVal("ljqianzhui")) + link + getRuleVal("ljhouzhui"); + String remark = !getRuleVal("fubiaotiqian").isEmpty() && !getRuleVal("fubiaotihou").isEmpty() ? + removeHtml(subContent(jiequContent, getRuleVal("fubiaotiqian"), getRuleVal("fubiaotihou")).get(0)) : ""; + JSONObject v = new JSONObject(); + v.put("vod_id", title + "$$$" + pic + "$$$" + link); + v.put("vod_name", title); + v.put("vod_pic", pic); + v.put("vod_remarks", remark); + videos.put(v); + } catch (Throwable th) { + th.printStackTrace(); + } + } + JSONObject result = new JSONObject(); + result.put("page", pg); + result.put("pagecount", Integer.MAX_VALUE); + result.put("limit", 90); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result; + } catch (Exception e) { + SpiderDebug.log(e); + } + return null; + } + + private static String removeUnicode(String str) { + Pattern pattern = Pattern.compile("(\\\\u(\\w{4}))"); + Matcher matcher = pattern.matcher(str); + while (matcher.find()) { + String full = matcher.group(1); + String ucode = matcher.group(2); + char c = (char) Integer.parseInt(ucode, 16); + str = str.replace(full, c + ""); + } + return str; + } + + String removeHtml(String text) { + return Jsoup.parse(text).text(); + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + JSONObject obj = category(tid, pg, filter, extend); + return obj != null ? obj.toString() : ""; + } + + @Override + public String detailContent(List ids) { + try { + fetchRule(); + String[] idInfo = ids.get(0).split("\\$\\$\\$"); + String webUrl = idInfo[2].startsWith("x:") ? idInfo[2] : getRuleVal("url") + idInfo[2]; + String html = fetch(webUrl.startsWith("x:") ? webUrl.substring(2) : webUrl); + String parseContent = html; + boolean bfshifouercijiequ = getRuleVal("bfshifouercijiequ").equals("1"); + if (bfshifouercijiequ) { + String jiequqian = getRuleVal("bfjiequqian"); + String jiequhou = getRuleVal("bfjiequhou"); + parseContent = subContent(html, jiequqian, jiequhou).get(0); + } + + ArrayList playList = new ArrayList<>(); + boolean playDirect = getRuleVal("直接播放").equals("1"); + if (!playDirect) { + String jiequshuzuqian = getRuleVal("bfjiequshuzuqian"); + String jiequshuzuhou = getRuleVal("bfjiequshuzuhou"); + boolean bfyshifouercijiequ = getRuleVal("bfyshifouercijiequ").equals("1"); + ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); + for (int i = 0; i < jiequContents.size(); i++) { + try { + String jiequContent = jiequContents.get(i); + String parseJqContent = bfyshifouercijiequ ? subContent(jiequContent, getRuleVal("bfyjiequqian"), getRuleVal("bfyjiequhou")).get(0) : jiequContent; + ArrayList lastParseContents = subContent(parseJqContent, getRuleVal("bfyjiequshuzuqian"), getRuleVal("bfyjiequshuzuhou")); + List vodItems = new ArrayList<>(); + for (int j = 0; j < lastParseContents.size(); j++) { + String title = subContent(lastParseContents.get(j), getRuleVal("bfbiaotiqian"), getRuleVal("bfbiaotihou")).get(0); + String link = subContent(lastParseContents.get(j), getRuleVal("bflianjieqian"), getRuleVal("bflianjiehou")).get(0); + String bfqianzhui = getRuleVal("bfqianzhui"); + if (!bfqianzhui.isEmpty()) { + link = bfqianzhui + link; + } + vodItems.add(title + "$" + link); + } + playList.add(TextUtils.join("#", vodItems)); + } catch (Throwable th) { + th.printStackTrace(); + } + } + + } else { + playList.add(idInfo[0] + "$" + idInfo[2]); + } + + String cover = idInfo[1], title = idInfo[0], desc = "", category = "", area = "", year = "", remark = "", director = "", actor = ""; + + if (!getRuleVal("leixinqian").isEmpty() && !getRuleVal("leixinhou").isEmpty()) { + try { + category = subContent(html, getRuleVal("leixinqian"), getRuleVal("leixinhou")).get(0).replaceAll("\\s+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("niandaiqian").isEmpty() && !getRuleVal("niandaihou").isEmpty()) { + try { + year = subContent(html, getRuleVal("niandaiqian"), getRuleVal("niandaihou")).get(0).replaceAll("\\s+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("zhuangtaiqian").isEmpty() && !getRuleVal("zhuangtaihou").isEmpty()) { + try { + remark = subContent(html, getRuleVal("zhuangtaiqian"), getRuleVal("zhuangtaihou")).get(0); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("zhuyanqian").isEmpty() && !getRuleVal("zhuyanhou").isEmpty()) { + try { + actor = subContent(html, getRuleVal("zhuyanqian"), getRuleVal("zhuyanhou")).get(0).replaceAll("\\s+", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("daoyanqian").isEmpty() && !getRuleVal("daoyanhou").isEmpty()) { + try { + director = subContent(html, getRuleVal("daoyanqian"), getRuleVal("daoyanhou")).get(0).replaceAll("\\s+", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("juqingqian").isEmpty() && !getRuleVal("juqinghou").isEmpty()) { + try { + desc = subContent(html, getRuleVal("juqingqian"), getRuleVal("juqinghou")).get(0); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject vod = new JSONObject(); + vod.put("vod_id", ids.get(0)); + vod.put("vod_name", title); + vod.put("vod_pic", cover); + vod.put("type_name", category); + vod.put("vod_year", year); + vod.put("vod_area", area); + vod.put("vod_remarks", remark); + vod.put("vod_actor", actor); + vod.put("vod_director", director); + vod.put("vod_content", desc); + ArrayList playFrom = new ArrayList<>(); + String xlparseContent = html; + if(getRuleVal("xlbiaotiqian").isEmpty() && getRuleVal("xlbiaotihou").isEmpty()){ + + for (int i = 0; i < playList.size(); i++) { + playFrom.add("播放列表" + (i + 1)); + } + }else{ + + boolean xlshifouercijiequ = getRuleVal("xlshifouercijiequ").equals("1"); + if (xlshifouercijiequ) { + String xljiequqian = getRuleVal("xljiequqian"); + String xljiequhou = getRuleVal("xljiequhou"); + xlparseContent = subContent(html, xljiequqian, xljiequhou).get(0); + } + + String xljiequshuzuqian = getRuleVal("xljiequshuzuqian"); + String xljiequshuzuhou = getRuleVal("xljiequshuzuhou"); + ArrayList xljiequContents = subContent(xlparseContent, xljiequshuzuqian, xljiequshuzuhou); + for (int i = 0; i < playList.size(); i++) { + try { + String xltitle = subContent(xljiequContents.get(i), getRuleVal("xlbiaotiqian"), getRuleVal("xlbiaotihou")).get(0); + playFrom.add(xltitle); + } catch (Throwable th) { + th.printStackTrace(); + break; + } + } + + } + String vod_play_from = TextUtils.join("$$$", playFrom); + String vod_play_url = TextUtils.join("$$$", playList); + vod.put("vod_play_from", vod_play_from); + vod.put("vod_play_url", vod_play_url); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + fetchRule(); + String webUrl = id.startsWith("x:") ? id.substring(2) : getRuleVal("url") + id; + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", webUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + fetchRule(); + boolean ssmoshiJson = getRuleVal("ssmoshi").equals("0"); + String webUrlTmp = getRuleVal("url") + getRuleVal("sousuoqian") + key + getRuleVal("sousuohou"); + String webUrl = webUrlTmp.split(";")[0]; + String webContent = webUrlTmp.contains(";post") ? fetchPost(webUrl) : fetch(webUrl); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (ssmoshiJson) { + JSONObject data = new JSONObject(webContent); + JSONArray vodArray = data.getJSONArray("list"); + for (int j = 0; j < vodArray.length(); j++) { + JSONObject vod = vodArray.getJSONObject(j); + String name = vod.optString(getRuleVal("jsname")).trim(); + String id = vod.optString(getRuleVal("jsid")).trim(); + String pic = vod.optString(getRuleVal("jspic")).trim(); + pic = Misc.fixUrl(webUrl, pic); + String link = getRuleVal("sousuohouzhui") + id; + link = getRuleVal("ssljqianzhui").isEmpty() ? (link + getRuleVal("ssljhouzhui")) : ("x:" + getRuleVal("ssljqianzhui")) + link + getRuleVal("ssljhouzhui"); + JSONObject v = new JSONObject(); + v.put("vod_id", name + "$$$" + pic + "$$$" + link); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", ""); + videos.put(v); + } + } else { + String parseContent = webContent; + boolean shifouercijiequ = getRuleVal("sousuoshifouercijiequ").equals("1"); + if (shifouercijiequ) { + String jiequqian = getRuleVal("ssjiequqian"); + String jiequhou = getRuleVal("ssjiequhou"); + parseContent = subContent(webContent, jiequqian, jiequhou).get(0); + } + String jiequshuzuqian = getRuleVal("ssjiequshuzuqian"); + String jiequshuzuhou = getRuleVal("ssjiequshuzuhou"); + ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); + for (int i = 0; i < jiequContents.size(); i++) { + try { + String jiequContent = jiequContents.get(i); + String title = subContent(jiequContent, getRuleVal("ssbiaotiqian"), getRuleVal("ssbiaotihou")).get(0); + String pic = subContent(jiequContent, getRuleVal("sstupianqian"), getRuleVal("sstupianhou")).get(0); + pic = Misc.fixUrl(webUrl, pic); + String link = subContent(jiequContent, getRuleVal("sslianjieqian"), getRuleVal("sslianjiehou")).get(0); + link = getRuleVal("ssljqianzhui").isEmpty() ? (link + getRuleVal("ssljhouzhui")) : ("x:" + getRuleVal("ssljqianzhui")) + link + getRuleVal("ssljhouzhui"); + String remark = ""; + if (!getRuleVal("ssfubiaotiqian").isEmpty() && !getRuleVal("ssfubiaotihou").isEmpty()) { + try { + remark = subContent(jiequContent, getRuleVal("ssfubiaotiqian"), getRuleVal("ssfubiaotihou")).get(0).replaceAll("\\s+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", title + "$$$" + pic + "$$$" + link); + v.put("vod_name", title); + v.put("vod_pic", pic); + v.put("vod_remarks", remark); + videos.put(v); + } catch (Throwable th) { + th.printStackTrace(); + break; + } + } + } + result.put("list", videos); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected String ext = null; + protected JSONObject rule = null; + + protected void fetchRule() { + if (rule == null) { + if (ext != null) { + try { + if (ext.startsWith("http")) { + String json = OkHttpUtil.string(ext, null); + rule = new JSONObject(json); + } else { + rule = new JSONObject(ext); + } + } catch (JSONException e) { + } + } + } + } + + protected String fetch(String webUrl) { + SpiderDebug.log(webUrl); + return OkHttpUtil.string(webUrl, getHeaders(webUrl)).replaceAll("\r|\n", ""); + } + + protected String fetchPost(String webUrl) { + SpiderDebug.log(webUrl); + OKCallBack.OKCallBackString callBack = new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(String response) { + } + }; + OkHttpUtil.post(OkHttpUtil.defaultClient(), webUrl, callBack); + return callBack.getResult().replaceAll("\r|\n", ""); + } + + private String getRuleVal(String key, String defaultVal) { + String v = rule.optString(key); + if (v.isEmpty() || v.equals("空")) + return defaultVal; + return v; + } + + private String getRuleVal(String key) { + return getRuleVal(key, ""); + } + + private ArrayList subContent(String content, String startFlag, String endFlag) { + ArrayList result = new ArrayList<>(); + if (startFlag.isEmpty() && endFlag.isEmpty()) { + result.add(content); + return result; + } + try { + Pattern pattern = Pattern.compile(escapeExprSpecialWord(startFlag) + "(.*?)" + escapeExprSpecialWord(endFlag)); + Matcher matcher = pattern.matcher(content); + while (matcher.find()) { + result.add(matcher.group(1)); + } + } catch (Throwable th) { + th.printStackTrace(); + } + return result; + } + + String escapeExprSpecialWord(String regexStr) { + if (!regexStr.isEmpty()) { + String[] fbsArr = {"\\", "$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|"}; + for (String key : fbsArr) { + if (regexStr.contains(key)) { + regexStr = regexStr.replace(key, "\\" + key); + } + } + } + return regexStr; + } + + //修复软件不支持的格式无法嗅探的问题 + @Override + public boolean manualVideoCheck() { + return true; + } + + private String[] videoFormatList = new String[]{".m3u8", ".mp4", ".mpeg", ".flv", ".m4a",".mp3",".wma",".wmv"}; + + @Override + public boolean isVideoFormat(String url) { + url = url.toLowerCase(); + if (url.contains("=http") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) { + return false; + } + for (String format : videoFormatList) { + if (url.contains(format)) { + return true; + } + } + return false; + } +} diff --git a/TVBox_Java/spider/XPath.java b/TVBox_Java/spider/XPath.java new file mode 100644 index 0000000..cd29071 --- /dev/null +++ b/TVBox_Java/spider/XPath.java @@ -0,0 +1,474 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import com.github.catvod.xpath.XPathRule; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.seimicrawler.xpath.JXDocument; +import org.seimicrawler.xpath.JXNode; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; + +public class XPath extends Spider { + + @Override + public void init(Context context) { + super.init(context); + } + + public void init(Context context, String extend) { + super.init(context, extend); + this.ext = extend; + } + + @Override + public String homeContent(boolean filter) { + try { + fetchRule(); + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + if (rule.getCateManual().size() > 0) { + Set keys = rule.getCateManual().keySet(); + for (String k : keys) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_name", k); + jsonObject.put("type_id", rule.getCateManual().get(k)); + classes.put(jsonObject); + } + } + try { + String webUrl = rule.getHomeUrl(); + JXDocument doc = JXDocument.create(fetch(webUrl)); + if (rule.getCateManual().size() == 0) { + List navNodes = doc.selN(rule.getCateNode()); + for (int i = 0; i < navNodes.size(); i++) { + String name = navNodes.get(i).selOne(rule.getCateName()).asString().trim(); + name = rule.getCateNameR(name); + String id = navNodes.get(i).selOne(rule.getCateId()).asString().trim(); + id = rule.getCateIdR(id); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + if (!rule.getHomeVodNode().isEmpty()) { + try { + JSONArray videos = new JSONArray(); + List vodNodes = doc.selN(rule.getHomeVodNode()); + for (int i = 0; i < vodNodes.size(); i++) { + String name = vodNodes.get(i).selOne(rule.getHomeVodName()).asString().trim(); + name = rule.getHomeVodNameR(name); + String id = vodNodes.get(i).selOne(rule.getHomeVodId()).asString().trim(); + id = rule.getHomeVodIdR(id); + String pic = vodNodes.get(i).selOne(rule.getHomeVodImg()).asString().trim(); + pic = rule.getHomeVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = ""; + if (!rule.getHomeVodMark().isEmpty()) { + try { + mark = vodNodes.get(i).selOne(rule.getHomeVodMark()).asString().trim(); + mark = rule.getHomeVodMarkR(mark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + result.put("class", classes); + if (filter && rule.getFilter() != null) { + result.put("filters", rule.getFilter()); + } + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", rule.getUa().isEmpty() + ? "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36" + : rule.getUa()); + return headers; + } + + @Override + public String homeVideoContent() { + try { + fetchRule(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { + return rule.getCateUrl().replace("{cateId}", tid).replace("{catePg}", pg); + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + fetchRule(); + String webUrl = categoryUrl(tid, pg, filter, extend); + JSONArray videos = new JSONArray(); + JXDocument doc = JXDocument.create(fetch(webUrl)); + List vodNodes = doc.selN(rule.getCateVodNode()); + for (int i = 0; i < vodNodes.size(); i++) { + String name = vodNodes.get(i).selOne(rule.getCateVodName()).asString().trim(); + name = rule.getCateVodNameR(name); + String id = vodNodes.get(i).selOne(rule.getCateVodId()).asString().trim(); + id = rule.getCateVodIdR(id); + String pic = vodNodes.get(i).selOne(rule.getCateVodImg()).asString().trim(); + pic = rule.getCateVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = ""; + if (!rule.getCateVodMark().isEmpty()) { + try { + mark = vodNodes.get(i).selOne(rule.getCateVodMark()).asString().trim(); + mark = rule.getCateVodMarkR(mark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("page", pg); + result.put("pagecount", Integer.MAX_VALUE); + result.put("limit", 90); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected void detailContentExt(String content, JSONObject vod) { + + } + + @Override + public String detailContent(List ids) { + try { + fetchRule(); + String webUrl = rule.getDetailUrl().replace("{vid}", ids.get(0)); + String webContent = fetch(webUrl); + JXDocument doc = JXDocument.create(webContent); + JXNode vodNode = doc.selNOne(rule.getDetailNode()); + + String cover = "", title = "", desc = "", category = "", area = "", year = "", remark = "", director = "", actor = ""; + + title = vodNode.selOne(rule.getDetailName()).asString().trim(); + title = rule.getDetailNameR(title); + + cover = vodNode.selOne(rule.getDetailImg()).asString().trim(); + cover = rule.getDetailImgR(cover); + cover = Misc.fixUrl(webUrl, cover); + + if (!rule.getDetailCate().isEmpty()) { + try { + category = vodNode.selOne(rule.getDetailCate()).asString().trim(); + category = rule.getDetailCateR(category); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailYear().isEmpty()) { + try { + year = vodNode.selOne(rule.getDetailYear()).asString().trim(); + year = rule.getDetailYearR(year); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailArea().isEmpty()) { + try { + area = vodNode.selOne(rule.getDetailArea()).asString().trim(); + area = rule.getDetailAreaR(area); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailMark().isEmpty()) { + try { + remark = vodNode.selOne(rule.getDetailMark()).asString().trim(); + remark = rule.getDetailMarkR(remark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailActor().isEmpty()) { + try { + actor = vodNode.selOne(rule.getDetailActor()).asString().trim(); + actor = rule.getDetailActorR(actor); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailDirector().isEmpty()) { + try { + director = vodNode.selOne(rule.getDetailDirector()).asString().trim(); + director = rule.getDetailDirectorR(director); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailDesc().isEmpty()) { + try { + desc = vodNode.selOne(rule.getDetailDesc()).asString().trim(); + desc = rule.getDetailDescR(desc); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + + JSONObject vod = new JSONObject(); + vod.put("vod_id", ids.get(0)); + vod.put("vod_name", title); + vod.put("vod_pic", cover); + vod.put("type_name", category); + vod.put("vod_year", year); + vod.put("vod_area", area); + vod.put("vod_remarks", remark); + vod.put("vod_actor", actor); + vod.put("vod_director", director); + vod.put("vod_content", desc); + + ArrayList playFrom = new ArrayList<>(); + + List fromNodes = doc.selN(rule.getDetailFromNode()); + for (int i = 0; i < fromNodes.size(); i++) { + String name = fromNodes.get(i).selOne(rule.getDetailFromName()).asString().trim(); + name = rule.getDetailFromNameR(name); + playFrom.add(name); + } + + ArrayList playList = new ArrayList<>(); + List urlListNodes = doc.selN(rule.getDetailUrlNode()); + for (int i = 0; i < urlListNodes.size(); i++) { + List urlNodes = urlListNodes.get(i).sel(rule.getDetailUrlSubNode()); + List vodItems = new ArrayList<>(); + for (int j = 0; j < urlNodes.size(); j++) { + String name = urlNodes.get(j).selOne(rule.getDetailUrlName()).asString().trim(); + name = rule.getDetailUrlNameR(name); + String id = urlNodes.get(j).selOne(rule.getDetailUrlId()).asString().trim(); + id = rule.getDetailUrlIdR(id); + vodItems.add(name + "$" + id); + } + // 排除播放列表为空的播放源 + if (vodItems.size() == 0 && playFrom.size() > i) { + playFrom.set(i, ""); + } + playList.add(TextUtils.join("#", vodItems)); + } + // 排除播放列表为空的播放源 + for (int i = playFrom.size() - 1; i >= 0; i--) { + if (playFrom.get(i).isEmpty()) + playFrom.remove(i); + } + for (int i = playList.size() - 1; i >= 0; i--) { + if (playList.get(i).isEmpty()) + playList.remove(i); + } + for (int i = playList.size() - 1; i >= 0; i--) { + if (i >= playFrom.size()) + playList.remove(i); + } + String vod_play_from = TextUtils.join("$$$", playFrom); + String vod_play_url = TextUtils.join("$$$", playList); + vod.put("vod_play_from", vod_play_from); + vod.put("vod_play_url", vod_play_url); + + detailContentExt(webContent, vod); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + fetchRule(); + String webUrl = rule.getPlayUrl().isEmpty() ? id : rule.getPlayUrl().replace("{playUrl}", id); + SpiderDebug.log(webUrl); + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + if (!rule.getPlayUa().isEmpty()) { + result.put("ua", rule.getPlayUa()); + } + result.put("url", webUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + fetchRule(); + if (rule.getSearchUrl().isEmpty()) { + return ""; + } + String webUrl = rule.getSearchUrl().replace("{wd}", URLEncoder.encode(key)); + String webContent = fetch(webUrl); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + // add maccms suggest search api support + if (rule.getSearchVodNode().startsWith("json:")) { + String[] node = rule.getSearchVodNode().substring(5).split(">"); + JSONObject data = new JSONObject(webContent); + for (int i = 0; i < node.length; i++) { + if (i == node.length - 1) { + JSONArray vodArray = data.getJSONArray(node[i]); + for (int j = 0; j < vodArray.length(); j++) { + JSONObject vod = vodArray.getJSONObject(j); + String name = vod.optString(rule.getSearchVodName()).trim(); + name = rule.getSearchVodNameR(name); + String id = vod.optString(rule.getSearchVodId()).trim(); + id = rule.getSearchVodIdR(id); + String pic = vod.optString(rule.getSearchVodImg()).trim(); + pic = rule.getSearchVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = vod.optString(rule.getSearchVodMark()).trim(); + mark = rule.getSearchVodMarkR(mark); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + } else { + data = data.getJSONObject(node[i]); + } + } + } else { + JXDocument doc = JXDocument.create(webContent); + List vodNodes = doc.selN(rule.getSearchVodNode()); + for (int i = 0; i < vodNodes.size(); i++) { + String name = vodNodes.get(i).selOne(rule.getSearchVodName()).asString().trim(); + name = rule.getSearchVodNameR(name); + String id = vodNodes.get(i).selOne(rule.getSearchVodId()).asString().trim(); + id = rule.getSearchVodIdR(id); + String pic = vodNodes.get(i).selOne(rule.getSearchVodImg()).asString().trim(); + pic = rule.getSearchVodImgR(pic); + pic = Misc.fixUrl(webUrl, pic); + String mark = ""; + if (!rule.getCateVodMark().isEmpty()) { + try { + mark = vodNodes.get(i).selOne(rule.getSearchVodMark()).asString().trim(); + mark = rule.getSearchVodMarkR(mark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public boolean manualVideoCheck() { + return false; + } + + private String[] videoFormatList = new String[]{".m3u8", ".mp4", ".mpeg", ".flv"}; + + @Override + public boolean isVideoFormat(String url) { + url = url.toLowerCase(); + if (url.contains("=http") || url.contains("=https") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) { + return false; + } + for (String format : videoFormatList) { + if (url.contains(format)) { + return true; + } + } + return false; + } + + protected String ext = null; + protected XPathRule rule = null; + + protected void fetchRule() { + if (rule == null) { + if (ext != null) { + if (ext.startsWith("http")) { + String json = OkHttpUtil.string(ext, null); + rule = XPathRule.fromJson(json); + loadRuleExt(json); + } else { + rule = XPathRule.fromJson(ext); + loadRuleExt(ext); + } + } + } + } + + protected void loadRuleExt(String json) { + + } + + protected String fetch(String webUrl) { + SpiderDebug.log(webUrl); + return OkHttpUtil.string(webUrl, getHeaders(webUrl)); + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/XPathBde4.java b/TVBox_Java/spider/XPathBde4.java new file mode 100644 index 0000000..799cd8d --- /dev/null +++ b/TVBox_Java/spider/XPathBde4.java @@ -0,0 +1,135 @@ +package com.github.catvod.spider; + +import android.util.Base64; + +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; + +import okhttp3.Call; +import okhttp3.Response; + +/** + * 需配合猫大的解密接口使用,没有接口不用尝试。 + */ + +public class XPathBde4 extends XPath { + + String tk = ""; + + @Override + protected void loadRuleExt(String json) { + try { + JSONObject jsonObj = new JSONObject(json); + tk = jsonObj.optString("decodeTk").trim(); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + @Override + protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { + String url = rule.getCateUrl().replace("{catePg}", pg); + String s = "all"; + if (extend != null) { + if (extend.containsKey("s")) { + s = extend.get("s"); + } + } + url = url.replace("{cateId}", s); + url += "?"; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + if (key.equals("s")) + continue; + String value = extend.get(key); + if (value.length() > 0) { + url += (key + "=" + URLEncoder.encode(value) + "&"); + } + } + } + if (!tid.equals("*")) { + url += ("type=" + tid); + } + return url; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + fetchRule(); + String webUrl = rule.getPlayUrl().isEmpty() ? id : rule.getPlayUrl().replace("{playUrl}", id); + SpiderDebug.log(webUrl); + String content = OkHttpUtil.string(webUrl, getHeaders(webUrl)); + String startFlag = "var m3u8 = \""; + int start = content.indexOf(startFlag); + start = start + startFlag.length(); + int end = content.indexOf("\";", start); + String m3u8 = content.substring(start, end).replace("\\", "").replace("https", "http"); + SpiderDebug.log(m3u8); + HashMap headers = getHeaders(m3u8); + + OKCallBack m3u8Callback = new OKCallBack() { + @Override + public String onParseResponse(Call call, Response response) { + try { + return new String(Base64.encode(response.body().bytes(), Base64.DEFAULT)); + } catch (IOException e) { + return ""; + } + } + + @Override + public void onFailure(Call call, Exception e) { + setResult(""); + SpiderDebug.log(e); + } + + @Override + public void onResponse(String response) { + } + }; + OkHttpUtil.get(OkHttpUtil.defaultClient(), m3u8, null, headers, m3u8Callback); + String m3u8Data = m3u8Callback.getResult(); + if (m3u8Data != null && !m3u8Data.isEmpty()) { + JSONObject result = new JSONObject(); + JSONObject json = new JSONObject(); + json.put("data", m3u8Data); + json.put("t", tk); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "https://cat.idontcare.top/ssr/bde4", json.toString(), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + } + + @Override + public void onResponse(String response) { + try { + result.put("url", response); + } catch (JSONException e) { + } + } + }); + result.put("parse", 0); + result.put("playUrl", ""); + if (!rule.getPlayUa().isEmpty()) { + result.put("ua", rule.getPlayUa()); + } + return result.toString(); + + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/XPathEgg.java b/TVBox_Java/spider/XPathEgg.java new file mode 100644 index 0000000..4a8ec16 --- /dev/null +++ b/TVBox_Java/spider/XPathEgg.java @@ -0,0 +1,113 @@ +package com.github.catvod.spider; + +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.HashMap; +import java.util.List; + +import okhttp3.Call; + +public class XPathEgg extends XPath { + + String tk = ""; + + @Override + protected void loadRuleExt(String json) { + try { + JSONObject jsonObj = new JSONObject(json); + tk = jsonObj.optString("decodeTk").trim(); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + @Override + protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { + if (Integer.parseInt(pg) <= 1) { + return rule.getCateUrl().replace("{cateId}", tid); + } + return (rule.getCateUrl() + "index_{catePg}.html").replace("{cateId}", tid).replace("{catePg}", pg); + } + + @Override + protected void detailContentExt(String content, JSONObject vod) { + try { + String startFlag = "infoid="; + int start = content.indexOf(startFlag); + start = start + startFlag.length(); + int end = content.indexOf(";", start); + String infoid = content.substring(start, end); + + startFlag = "link5='"; + start = content.indexOf(startFlag); + start = start + startFlag.length(); + end = content.indexOf("';", start); + String link5 = content.substring(start, end); + + JSONObject json = new JSONObject(); + json.put("infoid", infoid); + json.put("link5", link5); + json.put("t", tk); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "https://cat.idontcare.top/ssr/dandan", json.toString(), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + } + + @Override + public void onResponse(String response) { + try { + JSONObject obj = new JSONObject(response); + vod.put("vod_play_from", obj.getString("vod_play_from")); + vod.put("vod_play_url", obj.getString("vod_play_url")); + } catch (JSONException e) { + } + } + }); + } catch (Exception e) { + + } + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + fetchRule(); + HashMap json = new HashMap<>(); + json.put("url", id); + HashMap headers = new HashMap<>(); + headers.put("accept", "*/*"); + headers.put("x-requested-with", "XMLHttpRequest"); + headers.put("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"); + headers.put("origin", "https://www.dandanzan.cc"); + headers.put("accept-language", "zh-CN,zh;q=0.9"); + JSONObject result = new JSONObject(); + OkHttpUtil.post(OkHttpUtil.defaultClient(), rule.getPlayUrl(), json, headers, new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + } + + @Override + public void onResponse(String response) { + try { + result.put("url", response); + } catch (JSONException e) { + } + } + }); + result.put("parse", 0); + result.put("playUrl", ""); + if (!rule.getPlayUa().isEmpty()) { + result.put("ua", rule.getPlayUa()); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/XPathFilter.java b/TVBox_Java/spider/XPathFilter.java new file mode 100644 index 0000000..76e75c1 --- /dev/null +++ b/TVBox_Java/spider/XPathFilter.java @@ -0,0 +1,36 @@ +package com.github.catvod.spider; + +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Iterator; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class XPathFilter extends XPath { + + @Override + protected void loadRuleExt(String json) { + super.loadRuleExt(json); + } + + @Override + protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { + String cateUrl = rule.getCateUrl(); + if (filter && extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + cateUrl = cateUrl.replace("{" + key + "}", URLEncoder.encode(value)); + } + } + } + cateUrl = cateUrl.replace("{cateId}", tid).replace("{catePg}", pg); + Matcher m = Pattern.compile("\\{(.*?)\\}").matcher(cateUrl); + while (m.find()) { + String n = m.group(0).replace("{", "").replace("}", ""); + cateUrl = cateUrl.replace(m.group(0), "").replace("/" + n + "/", ""); + } + return cateUrl; + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/XPathMac.java b/TVBox_Java/spider/XPathMac.java new file mode 100644 index 0000000..f36ed55 --- /dev/null +++ b/TVBox_Java/spider/XPathMac.java @@ -0,0 +1,196 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; + +import org.json.JSONException; +import org.json.JSONObject; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.select.Elements; + +import java.net.URLDecoder; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class XPathMac extends XPath { + // 尝试分析直连 + private boolean decodePlayUrl; + // 尝试匹配官源标识以调用应用配置中的解析列表 + private boolean decodeVipFlag; + // 播放器配置js + private String playerConfigJs = ""; + // 播放器配置js取值正则 + private String playerConfigJsRegex = "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list"; + // 站点里播放源对应的真实官源 + private HashMap show2VipFlag = new HashMap<>(); + + /** + * mac cms 直连和官源调用应用内播放列表支持 + * + * @param context + * @param extend + */ + public void init(Context context, String extend) { + super.init(context, extend); + + } + + @Override + protected void loadRuleExt(String json) { + try { + JSONObject jsonObj = new JSONObject(json); + decodePlayUrl = jsonObj.optBoolean("dcPlayUrl", false); + decodeVipFlag = jsonObj.optBoolean("dcVipFlag", false); + JSONObject dcShow2Vip = jsonObj.optJSONObject("dcShow2Vip"); + if (dcShow2Vip != null) { + Iterator keys = dcShow2Vip.keys(); + while (keys.hasNext()) { + String name = keys.next(); + show2VipFlag.put(name.trim(), dcShow2Vip.getString(name).trim()); + } + } + playerConfigJs = jsonObj.optString("pCfgJs").trim(); + playerConfigJsRegex = jsonObj.optString("pCfgJsR", playerConfigJsRegex).trim(); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + @Override + public String homeContent(boolean filter) { + String result = super.homeContent(filter); + if (result.length() > 0 && playerConfigJs.length() > 0) { // 尝试通过playerConfigJs获取展示和flag匹配关系 + String webContent = fetch(playerConfigJs); + Matcher matcher = Pattern.compile(playerConfigJsRegex).matcher(webContent); + if (matcher.find()) { + try { + JSONObject jsonObject = new JSONObject(matcher.group(1)); + Iterator keys = jsonObject.keys(); + while (keys.hasNext()) { + String key = keys.next(); + JSONObject keyObj = jsonObject.optJSONObject(key); + if (keyObj == null) + continue; + String show = keyObj.optString("show").trim(); + if (show.isEmpty()) + continue; + show2VipFlag.put(show, key); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + // SpiderDebug.log(webContent); + } + return result; + } + + @Override + public String detailContent(List ids) { + String result = super.detailContent(ids); + if (decodeVipFlag && result.length() > 0) { + try { + JSONObject jsonObject = new JSONObject(result); + String playFrom[] = jsonObject.optJSONArray("list").getJSONObject(0).optString("vod_play_from").split("\\$\\$\\$"); + if (playFrom.length > 0) { + for (int i = 0; i < playFrom.length; i++) { + if (show2VipFlag.containsKey(playFrom[i])) { + playFrom[i] = show2VipFlag.get(playFrom[i]); + } + } + jsonObject.optJSONArray("list").getJSONObject(0).put("vod_play_from", TextUtils.join("$$$", playFrom)); + result = jsonObject.toString(); + } + } catch (Throwable th) { + SpiderDebug.log(th); + } + } + return result; + } + + + @Override + public String playerContent(String flag, String id, List vipFlags) { + fetchRule(); + String webUrl = rule.getPlayUrl().isEmpty() ? id : rule.getPlayUrl().replace("{playUrl}", id); + String videoUrl = null; + // 尝试分析直连 + if (decodePlayUrl) { + try { + Document doc = Jsoup.parse(fetch(webUrl)); + Elements allScript = doc.select("script"); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + String videoUrlTmp = player.getString("url"); + if (player.has("encrypt")) { + int encrypt = player.getInt("encrypt"); + if (encrypt == 1) { + videoUrlTmp = URLDecoder.decode(videoUrlTmp); + } else if (encrypt == 2) { + videoUrlTmp = new String(Base64.decode(videoUrlTmp, Base64.DEFAULT)); + videoUrlTmp = URLDecoder.decode(videoUrlTmp); + } + } + videoUrl = videoUrlTmp; + break; + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (videoUrl != null) { + // 适配2.0.6的调用应用内解析列表的支持, 需要配合直连分析和匹配官源解析一起使用,参考cjt影视和极品直连 + if (decodeVipFlag && Misc.isVip(videoUrl)) { // 使用jx:1 + try { + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("jx", "1"); + result.put("url", videoUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + } else if (decodeVipFlag && vipFlags.contains(flag)) { // 是否使用应用内解析列表解析官源 + try { + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", videoUrl); + result.put("header", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + // 如果是视频直连 直接返回免解 + else if (isVideoFormat(videoUrl)) { + try { + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", videoUrl); + result.put("header", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } + // 上述都失败了就按默认模式走 + return super.playerContent(flag, id, vipFlags); + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/XPathMacFilter.java b/TVBox_Java/spider/XPathMacFilter.java new file mode 100644 index 0000000..3cedd20 --- /dev/null +++ b/TVBox_Java/spider/XPathMacFilter.java @@ -0,0 +1,30 @@ +package com.github.catvod.spider; + +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Iterator; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class XPathMacFilter extends XPathMac { + @Override + protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { + String cateUrl = rule.getCateUrl(); + if (filter && extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + cateUrl = cateUrl.replace("{" + key + "}", URLEncoder.encode(value)); + } + } + } + cateUrl = cateUrl.replace("{cateId}", tid).replace("{catePg}", pg); + Matcher m = Pattern.compile("\\{(.*?)\\}").matcher(cateUrl); + while (m.find()) { + String n = m.group(0).replace("{", "").replace("}", ""); + cateUrl = cateUrl.replace(m.group(0), "").replace("/" + n + "/", ""); + } + return cateUrl; + } +} \ No newline at end of file diff --git a/TVBox_Java/spider/XPathMacTvgook.java b/TVBox_Java/spider/XPathMacTvgook.java new file mode 100644 index 0000000..479cef6 --- /dev/null +++ b/TVBox_Java/spider/XPathMacTvgook.java @@ -0,0 +1,37 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import com.github.catvod.xpath.XPathRule; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.seimicrawler.xpath.JXDocument; +import org.seimicrawler.xpath.JXNode; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; + +public class XPathMacTvgook extends XPathMac { + + @Override + public boolean manualVideoCheck() { + return rule.getHomeUrl().contains("tvgook.com"); + + } + + @Override + public boolean isVideoFormat(String url) { + return Misc.isVideoFormat(url)||(url.contains("/ppvod/")&&!url.contains("skipl=1")); + } + + +} diff --git a/TVBox_Java/spider/XPbd.java b/TVBox_Java/spider/XPbd.java new file mode 100644 index 0000000..c6c2905 --- /dev/null +++ b/TVBox_Java/spider/XPbd.java @@ -0,0 +1,154 @@ +package com.github.catvod.spider; + +import android.text.TextUtils; + +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.seimicrawler.xpath.JXDocument; +import org.seimicrawler.xpath.JXNode; + +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class XPbd extends XPath { + + @Override + protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { + String cateUrl = rule.getCateUrl(); + if (filter && extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + cateUrl = cateUrl.replace("{" + key + "}", URLEncoder.encode(value)); + } + } + } + cateUrl = cateUrl.replace("{cateId}", tid).replace("{catePg}", pg); + Matcher m = Pattern.compile("\\{(.*?)\\}").matcher(cateUrl); + while (m.find()) { + String n = m.group(0).replace("{", "").replace("}", ""); + cateUrl = cateUrl.replace(m.group(0), "").replace("/" + n + "/", ""); + } + return cateUrl; + } + + @Override + public String detailContent(List ids) { + try { + String webUrl = rule.getDetailUrl().replace("{vid}", ids.get(0)); + String webContent = fetch(webUrl); + JXDocument doc = JXDocument.create(webContent); + JXNode vodNode = doc.selNOne(rule.getDetailNode()); + JSONObject vodAtom = new JSONObject(); + + String cover = "", title = "", desc = "", category = "", area = "", year = "", remark = "", director = "", actor = ""; + + title = vodNode.selOne(rule.getDetailName()).asString().trim(); + title = rule.getDetailNameR(title); + + cover = vodNode.selOne(rule.getDetailImg()).asString().trim(); + cover = rule.getDetailImgR(cover); + cover = Misc.fixUrl(webUrl, cover); + + if (!rule.getDetailCate().isEmpty()) { + try { + category = vodNode.selOne(rule.getDetailCate()).asString().trim(); + category = rule.getDetailCateR(category); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailYear().isEmpty()) { + try { + year = vodNode.selOne(rule.getDetailYear()).asString().trim(); + year = rule.getDetailYearR(year); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailArea().isEmpty()) { + try { + area = vodNode.selOne(rule.getDetailArea()).asString().trim(); + area = rule.getDetailAreaR(area); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailMark().isEmpty()) { + try { + remark = vodNode.selOne(rule.getDetailMark()).asString().trim(); + remark = rule.getDetailMarkR(remark); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailActor().isEmpty()) { + try { + actor = vodNode.selOne(rule.getDetailActor()).asString().trim(); + actor = rule.getDetailActorR(actor); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailDirector().isEmpty()) { + try { + director = vodNode.selOne(rule.getDetailDirector()).asString().trim(); + director = rule.getDetailDirectorR(director); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!rule.getDetailDesc().isEmpty()) { + try { + desc = vodNode.selOne(rule.getDetailDesc()).asString().trim(); + desc = rule.getDetailDescR(desc); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + + vodAtom.put("vod_name", title); + vodAtom.put("vod_pic", cover); + vodAtom.put("type_name", category); + vodAtom.put("vod_year", year); + vodAtom.put("vod_area", area); + vodAtom.put("vod_remarks", remark); + vodAtom.put("vod_actor", actor); + vodAtom.put("vod_director", director); + vodAtom.put("vod_content", desc); + + List urlListNodes = doc.selN(rule.getDetailUrlNode()); + for (int i = 0; i < urlListNodes.size(); i++) { + List urlNodes = urlListNodes.get(i).sel(rule.getDetailUrlSubNode()); + for (int j = 0; j < urlNodes.size(); j++) { + String id = urlNodes.get(j).selOne(rule.getDetailUrlId()).asString().trim(); + id = rule.getDetailUrlIdR(id); + JSONObject result = new JSONObject(); + JSONArray lists = new JSONArray(); + vodAtom.put("vod_id", id); + vodAtom.put("vod_play_from", "磁力测试"); + vodAtom.put("vod_play_url", "网站没资源$" + id); + lists.put(vodAtom); + result.put("list", lists); + return result.toString(); + } + } + } catch (JSONException e) { + e.printStackTrace(); + } + return ""; + } + +} diff --git a/TVBox_Java/spider/Xiaoh.java b/TVBox_Java/spider/Xiaoh.java new file mode 100644 index 0000000..8f543d0 --- /dev/null +++ b/TVBox_Java/spider/Xiaoh.java @@ -0,0 +1,471 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Xiaoh extends Spider { + private static final String siteUrl = "https://www.xiaoheimi.net"; + private static final String siteHost = "www.xiaoheimi.net"; + + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/index.php/vod/type/id/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/index.php/vod/detail/id/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/index.php/vod/play/id/(\\d+)/sid/(\\d+)/nid/(\\d+).html"); + private Pattern regexPage = Pattern.compile("\\S+/page/(\\d+)\\S+"); + + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"gqy2\":{\"sh\":\"高清2\",\"sn\":0,\"pu\":\"\",\"or\":999},\"xbyy\":{\"sh\":\"高清\",\"sn\":0,\"pu\":\"\",\"or\":999},\"ysgc\":{\"sh\":\"高清源\",\"sn\":0,\"pu\":\"\",\"or\":999},\"if101\":{\"sh\":\"小宝影院\",\"sn\":0,\"pu\":\"\",\"or\":999},\"bili\":{\"sh\":\"bili\",\"sn\":0,\"pu\":\"\",\"or\":999},\"dplayer\":{\"sh\":\"DPlayer-H5播放器\",\"sn\":0,\"pu\":\"\",\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"class\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧片\",\"v\":\"喜剧片\"},{\"n\":\"冒险片\",\"v\":\"冒险片\"},{\"n\":\"剧情片\",\"v\":\"剧情片\"},{\"n\":\"动作片\",\"v\":\"动作片\"},{\"n\":\"动画电影\",\"v\":\"动画电影\"},{\"n\":\"同性片\",\"v\":\"同性片\"},{\"n\":\"奇幻片\",\"v\":\"奇幻片\"},{\"n\":\"恐怖片\",\"v\":\"恐怖片\"},{\"n\":\"悬疑片\",\"v\":\"悬疑片\"},{\"n\":\"惊悚片\",\"v\":\"惊悚片\"},{\"n\":\"歌舞片\",\"v\":\"歌舞片\"},{\"n\":\"灾难片\",\"v\":\"灾难片\"},{\"n\":\"爱情片\",\"v\":\"爱情片\"},{\"n\":\"犯罪片\",\"v\":\"犯罪片\"},{\"n\":\"科幻片\",\"v\":\"科幻片\"},{\"n\":\"经典片\",\"v\":\"经典片\"},{\"n\":\"网络电影\",\"v\":\"网络电影\"},{\"n\":\"战争片\",\"v\":\"战争片\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国语\",\"v\":\"泰国语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"class\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"偶像\",\"v\":\"偶像\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"言情\",\"v\":\"言情\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"玄幻\",\"v\":\"玄幻\"},{\"n\":\"谍战\",\"v\":\"谍战\"},{\"n\":\"历险\",\"v\":\"历险\"},{\"n\":\"都市\",\"v\":\"都市\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"军旅\",\"v\":\"军旅\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"江湖\",\"v\":\"江湖\"},{\"n\":\"罪案\",\"v\":\"罪案\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"穿越\",\"v\":\"穿越\"},{\"n\":\"宫廷\",\"v\":\"宫廷\"},{\"n\":\"神话\",\"v\":\"神话\"},{\"n\":\"商战\",\"v\":\"商战\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"同性\",\"v\":\"同性\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国语\",\"v\":\"泰国语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"class\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"格斗\",\"v\":\"格斗\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"竞技\",\"v\":\"竞技\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"魔幻\",\"v\":\"魔幻\"},{\"n\":\"爆笑\",\"v\":\"爆笑\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"恋爱\",\"v\":\"恋爱\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"治愈\",\"v\":\"治愈\"},{\"n\":\"泡面\",\"v\":\"泡面\"},{\"n\":\"穿越\",\"v\":\"穿越\"},{\"n\":\"灵异\",\"v\":\"灵异\"},{\"n\":\"耽美\",\"v\":\"耽美\"},{\"n\":\"动画电影\",\"v\":\"动画电影\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国语\",\"v\":\"泰国语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"class\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"真人秀\",\"v\":\"真人秀\"},{\"n\":\"选秀\",\"v\":\"选秀\"},{\"n\":\"网综\",\"v\":\"网综\"},{\"n\":\"脱口秀\",\"v\":\"脱口秀\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"竞技\",\"v\":\"竞技\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"访谈\",\"v\":\"访谈\"},{\"n\":\"演唱会\",\"v\":\"演唱会\"},{\"n\":\"晚会\",\"v\":\"晚会\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国语\",\"v\":\"泰国语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"21\":[{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"class\",\"name\":\"分类\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"文化\",\"v\":\"文化\"},{\"n\":\"探索\",\"v\":\"探索\"},{\"n\":\"军事\",\"v\":\"军事\"},{\"n\":\"解密\",\"v\":\"解密\"},{\"n\":\"科技\",\"v\":\"科技\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"人物\",\"v\":\"人物\"},{\"n\":\"自然\",\"v\":\"自然\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国语\",\"v\":\"泰国语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"20\":[{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":\"lang\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"泰国语\",\"v\":\"泰国语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Host", siteHost); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.nav-menu>li>a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("电视剧") || + name.equals("动漫") || + name.equals("综艺") || + name.equals("纪录片") || + name.equals("体育"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("ul.myui-vodlist").get(1); + Elements list = homeList.select("div.myui-vodlist__box>a"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + Matcher matcher = regexVid.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/index.php/vod/show/id/"; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "/" + key + "/" + URLEncoder.encode(value); + } + } + } + url += "/page/" + pg + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select(".myui-page li a"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element a = pageInfo.get(i); + String name = a.text(); + if (page == -1 && a.hasClass("btn-warm")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).trim()); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).trim()); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.myui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".myui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + + Matcher matcher = regexVid.matcher(vod.selectFirst(".myui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/index.php/vod/detail/id/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String vid = doc.selectFirst("span.mac_hits").attr("data-id"); + + String cover = doc.selectFirst("a.myui-vodlist__thumb img").attr("data-original"); + String title = doc.selectFirst("div.myui-content__detail h1.title").text(); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.myui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("分类:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.myui-panel__head>ul").get(0).select("li"); + Elements sourceList = doc.select("div.tab-content>div.tab-pane"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("ul>li>a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "/sid/" + matcher.group(2) + "/nid/" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = siteUrl + "/index.php/vod/play/id/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", ""); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + String url = "https://www.google.com/search?q=site%3A" + siteHost + "+" + URLEncoder.encode(key); + Document doc = Jsoup.parse(OkHttpUtil.string(url, Headers())); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + Elements sourceList = doc.select("div.yuRUbf a"); + for (int i = 0; i < sourceList.size(); i++) { + Element sourcess = sourceList.get(i); + String sourceName = sourcess.select("h3").text(); + String list1 = sourcess.attr("href"); + Matcher matcher = regexVid.matcher(list1); + if (sourceName.contains(key) && matcher.find()) { + Document ddrklink = Jsoup.parse(OkHttpUtil.string(list1, getHeaders(list1))); + JSONObject v = new JSONObject(); + String group = matcher.group(1); + String cover = ddrklink.selectFirst("a.myui-vodlist__thumb img").attr("data-original"); + String title = ddrklink.selectFirst("div.myui-content__detail h1.title").text(); + Elements span_text_muted = ddrklink.select("div.myui-content__detail span.text-muted"); + for (int j = 0; j < span_text_muted.size(); j++) { + Element text = span_text_muted.get(j); + String info = text.text(); + if (info.equals("更新:")) { + String remark = text.nextElementSibling().text(); + v.put("vod_name", title); + 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 ""; + } +} diff --git a/TVBox_Java/spider/Xifanys.java b/TVBox_Java/spider/Xifanys.java new file mode 100644 index 0000000..b45b26e --- /dev/null +++ b/TVBox_Java/spider/Xifanys.java @@ -0,0 +1,479 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Xifanys extends Spider { + + private static final String siteUrl = "https://www.xifanys.com/"; + private static final String siteHost = "xifanys.com"; + + protected JSONObject playerConfig; + protected JSONObject filterConfig; + + protected Pattern regexCategory = Pattern.compile("/yingpiantype/(\\S+).html"); + protected Pattern regexVid = Pattern.compile("/yingpiandetail/(\\S+).html"); + protected Pattern regexPlay = Pattern.compile("/yingpianplay/(\\S+)-(\\d+)-(\\d+).html"); + protected Pattern regexPage = Pattern.compile("/yingpianshow/(\\S+).html"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"tkm3u8\":{\"sh\":\"R播\",\"pu\":\",\"sn\":0,\"or\":999},\"if101\":{\"sh\":\"Y播\",\"pu\":\"\",\"sn\":0,\"or\":999}}"); + filterConfig = new JSONObject("{\"20\":[{\"key\":\"0\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"20\"},{\"n\":\"动作片\",\"v\":\"24\"},{\"n\":\"喜剧片\",\"v\":\"25\"},{\"n\":\"愛情片\",\"v\":\"26\"},{\"n\":\"科幻片\",\"v\":\"27\"},{\"n\":\"恐怖片\",\"v\":\"28\"},{\"n\":\"劇情片\",\"v\":\"11\"},{\"n\":\"戰爭片\",\"v\":\"30\"},{\"n\":\"动画电影\",\"v\":\"33\"}]},{\"key\":1,\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"21\":[{\"key\":\"tid\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产剧\",\"v\":\"34\"},{\"n\":\"港剧\",\"v\":\"35\"},{\"n\":\"韩剧\",\"v\":\"37\"},{\"n\":\"欧美剧\",\"v\":\"36\"},{\"n\":\"日本剧\",\"v\":\"38\"},{\"n\":\"台湾剧\",\"v\":\"39\"},{\"n\":\"海外剧\",\"v\":\"40\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"22\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"22\"},{\"n\":\"大陆综艺\",\"v\":\"41\"},{\"n\":\"港台综艺\",\"v\":\"42\"},{\"n\":\"日韩综艺\",\"v\":\"43\"},{\"n\":\"欧美综艺\",\"v\":\"44\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"23\":[{\"key\":0,\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"23\"},{\"n\":\"国产动漫\",\"v\":\"45\"},{\"n\":\"日本动漫\",\"v\":\"46\"},{\"n\":\"欧美动漫\",\"v\":\"47\"}]},{\"key\":11,\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"}]},{\"key\":2,\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + if (!TextUtils.isEmpty(url)) { + headers.put("Referer", url); + } + //headers.put("sec-ch-ua-platform","Windows"); + headers.put("Accept-Encoding", "gzip, deflate, br"); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 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-Language", "zh-CN,zh;q=0.9"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Element cateList = doc.select("ul.nav-menu-items").get(0); + Elements elements = cateList.select("li > a"); + + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + //分类名 + String name = ele.attr("title"); + boolean show = name.equals("电影") || + name.equals("剧集") || + name.equals("综艺") || + name.equals("动漫"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + //System.out.println(id+":"+name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.module-items").get(0); + Elements list = homeList.select("div.module-item"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".module-item-titlebox a").text(); + String cover = vod.selectFirst(".module-item-pic > img").attr("data-src"); + String remark = vod.selectFirst(".module-item-text").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst(".module-item-titlebox a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "/yingpianshow/" + TextUtils.join("-", urlParams) + "/"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + + // 取页码相关信息 + Elements pageInfo = doc.select("div.module-footer > div > a"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element a = pageInfo.get(i); + //Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && a.hasClass("display")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + + Elements list = doc.select("div.module-items > div.module-item"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".module-item-titlebox a").text(); + String cover = vod.selectFirst(".module-item-pic > img").attr("data-src"); + String remark = vod.selectFirst(".module-item-text").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst(".module-item-titlebox a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 72); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 72); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/yingpiandetail/" + ids.get(0) + ".html"; + //System.out.println(url); + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.video-cover .module-item-pic > img").attr("data-src"); + String title = doc.selectFirst("div.video-cover .module-item-pic > a").attr("alt"); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.video-info-main span.video-info-itemtitle"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("分类:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("上映:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextElementSibling().text(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + //System.out.println(vodList.toString()); + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.module-tab-content").get(0).select("div > span"); + //System.out.println(sources.size()); + Elements sourceList = doc.select("div.module-player-list"); + //System.out.println(sourceList.size()); + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + //System.out.println(sources.text().split(":")[0].split("』")[1]); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select(".scroll-content > a"); + //System.out.println(playListA.size()); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + //headers.put("origin", " https://juhi.cc"); + //headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + //headers.put("Accept", " */*"); + //headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + //headers.put("Accept-Encoding", " gzip, deflate, br"); + + + // 播放页 url + String url = siteUrl + "/yingpianplay/" + id + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = player.getString("url"); + String playUrl = pCfg.getString("pu"); + if (Misc.isVip(videoUrl)) { // 使用jx:1 + try { + result.put("parse", 1); + result.put("jx", "1"); + result.put("url", videoUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + result.put("parse", pCfg.getInt("sn")); + result.put("playUrl", playUrl); + result.put("url", videoUrl); + result.put("header", headers.toString()); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + //Document doc = Jsoup.parse(srr.content); + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Xmau.java b/TVBox_Java/spider/Xmau.java new file mode 100644 index 0000000..3dc2bf0 --- /dev/null +++ b/TVBox_Java/spider/Xmau.java @@ -0,0 +1,263 @@ +package com.github.catvod.spider; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; +import android.text.TextUtils; +import android.util.Base64; + + +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import okhttp3.Call; +import okhttp3.Response; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.security.spec.AlgorithmParameterSpec; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TimeZone; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.Calendar; +import java.net.URLDecoder; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +public class Xmau extends Spider { + @Override + public void init(Context context) {super.init(context);} + + + @Override + public String homeContent(boolean filter) { + try { + JSONObject cateobj = new JSONObject(); + JSONArray classes = new JSONArray(); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + JSONObject v = new JSONObject(); + cateobj.put("type_name", "test111"); + cateobj.put("type_id", "1"); + classes.put(cateobj); + result.put("class", classes); + v.put("vod_id", "testid222"); + v.put("vod_name", "testname333"); + v.put("vod_pic","https://pic.rmb.bdstatic.com/bjh/1d0b02d0f57f0a42201f92caba5107ed.jpeg"); + v.put("vod_remarks", "testmark444"); + videos.put(v); + result.put("list", videos); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + vodList.put("vod_id", "id"); + vodList.put("vod_name", "Xmau解密练习,写固定播放连结,有需要请自行补齐"); + vodList.put("vod_pic", "https://pic.rmb.bdstatic.com/bjh/1d0b02d0f57f0a42201f92caba5107ed.jpeg"); + vodList.put("vod_year", "year9999"); + vodList.put("type_name", "type7777"); + vodList.put("vod_area","are0000a" ); + vodList.put("vod_actor", "actor0987"); + vodList.put("vod_content", "content1234567890"); + String playList = ""; + List vodItems = new ArrayList<>(); + String pl1 = "playname1$playlink1"; + String pl2 = "playname2$playlink2"; + vodItems.add(pl1); + vodItems.add(pl2); + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + if (playList.length() == 0) + playList = "nothing here"; + Map vod_play = new TreeMap<>(); + vod_play.put("test", playList); + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + long currentTime = System.currentTimeMillis()/ 1000; + String apikey=getapikey(); + String deturl ="http://eg.xmau.cn/lvdou_api.php/v1.vod/detail?vod_id=8055&rel_limit=10&apikey="+apikey+"&keytime="+currentTime; + String detsrc = OkHttpUtil.string(deturl, getHeaders(deturl)); + JSONObject detsrcobj = new JSONObject(detsrc); + JSONObject detsrcobjdata= detsrcobj.getJSONObject("data"); + String requrlsrc = detsrcobjdata.getString("vod_play_url"); + String requrl = requrlsrc.substring(3); + currentTime = System.currentTimeMillis()/ 1000; + apikey=getapikey(); + String reqapiurl="https://h5.freejson.xyz/?url="+requrl+"&apikey="+apikey+"&keytime="+currentTime; + String reqapirsp = OkHttpUtil.string(reqapiurl, getHeaders(reqapiurl)); + Document doc = Jsoup.parse(reqapirsp); + Elements allScript = doc.select("script"); + String iv=""; + String enyurl=""; + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).toString(); + if (scContent.contains("var le_token")) { + System.out.println("fpplog scContent:"+scContent); + int start = scContent.indexOf('"'); + int end = scContent.lastIndexOf('"') + 1; + iv = scContent.substring(start+1, end-1); + } + if (scContent.contains("var config")) { + int start = scContent.indexOf("var config ="); + int end = scContent.lastIndexOf('}') + 1; + String j1 = scContent.substring(start, end); + start = j1.indexOf('('); + end = j1.lastIndexOf(')') ; + enyurl = j1.substring(start+2, end-1); + break; + } + } + String enyurlb64dec=toHex(Base64.decode(enyurl.getBytes(), Base64.DEFAULT)); + String key = "A42EAC0C2B408472"; + String videolink=decrypt(enyurlb64dec,key,iv); + JSONObject result = new JSONObject(); + result.put("url", videolink); + result.put("header", new JSONObject(getHeaders(videolink)).toString()); + result.put("parse", 0); + result.put("playUrl", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + + private HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent","User-Agent:okhttp/4.1.0"); + return headers; + } + + @TargetApi(Build.VERSION_CODES.KITKAT) + protected String getapikey() { + try { + Calendar cal=Calendar.getInstance(); + int y=cal.get(Calendar.YEAR); + int h=cal.get(Calendar.HOUR_OF_DAY); + int m=cal.get(Calendar.MINUTE); + String apikeyori=y+":"+(h<10?("0"+h):h)+":"+y+":"+(m<10?("0"+m):m)+":lvdoutv-1.0.0"; + String apikey=Misc.MD5(apikeyori,StandardCharsets.UTF_8); + return apikey; + } catch (Exception exception) { + SpiderDebug.log(exception); + } + return null; + } + protected String decrypt(String src, String KEY, String IV) { + try { + Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); + SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES"); + AlgorithmParameterSpec paramSpec = new IvParameterSpec(IV.getBytes()); + cipher.init(Cipher.DECRYPT_MODE, keySpec, paramSpec); + return new String(cipher.doFinal(hex2byte(src))); + } catch (Exception exception) { + SpiderDebug.log(exception); + } + return null; + } + protected String encrypt(String src, String KEY, String IV) { + try { + Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); + SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES"); + AlgorithmParameterSpec paramSpec = new IvParameterSpec(IV.getBytes()); + cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec); + return bytesToHexStr(cipher.doFinal(src.getBytes())).toUpperCase(); + } catch (Exception exception) { + SpiderDebug.log(exception); + } + return null; + } + + protected byte[] hex2byte(String hex) throws IllegalArgumentException { + if (hex.length() % 2 != 0){ + throw new IllegalArgumentException("invalid hex string"); + } + char[] arr = hex.toCharArray(); + byte[] b = new byte[hex.length() / 2]; + for (int i = 0, j = 0, l = hex.length(); i < l; i++, j++) { + String swap ="" + arr[i++] + arr[i]; + int byteint = Integer.parseInt(swap, 16) & 0xFF; + b[j] = new Integer(byteint).byteValue(); + } + return b; + } + + protected String bytesToHexStr(byte[] bytes) { + StringBuilder hexStr = new StringBuilder(); + for (byte b : bytes) { + String hex = Integer.toHexString(b & 0xFF); + if (hex.length() == 1) { + hex = '0' + hex; + } + hexStr.append(hex); + } + return hexStr.toString(); + } + + + private static final char[] DIGITS + = {'0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; + + private static final String toHex(byte[] data) { + final StringBuffer sb = new StringBuffer(data.length * 2); + for (int i = 0; i < data.length; i++) { + sb.append(DIGITS[(data[i] >>> 4) & 0x0F]); + sb.append(DIGITS[data[i] & 0x0F]); + } + return sb.toString(); + } + + + + +} diff --git a/TVBox_Java/spider/Xxys.java b/TVBox_Java/spider/Xxys.java new file mode 100644 index 0000000..e4af42c --- /dev/null +++ b/TVBox_Java/spider/Xxys.java @@ -0,0 +1,77 @@ +package com.github.catvod.spider; + +import android.content.Context; + + +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.HashMap; + +import java.util.regex.Pattern; + +public class Xxys extends AppYsV2 { + + @Override + protected JSONObject getFinalVideo(String flag, ArrayList parseUrls, String url) throws JSONException { + String htmlPlayUrl = ""; + for (String parseUrl : parseUrls) { + if (parseUrl.isEmpty() || parseUrl.equals("null")) + continue; + String playUrl = parseUrl + url; + String content = desc(OkHttpUtil.string(playUrl, null), (byte) 4); + try { + HashMap hashMap = new HashMap(); + OkHttpUtil.stringNoRedirect(playUrl, null, hashMap); + String d = OkHttpUtil.getRedirectLocation(hashMap); + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", d); + return result; + } catch (JSONException e) { + e.printStackTrace(); + } + JSONObject tryJson = null; + try { + tryJson = Misc.jsonParse(url, content); + } catch (Throwable th) { + + } + if (tryJson != null && tryJson.has("url") && tryJson.has("header")) { + tryJson.put("header", tryJson.getJSONObject("header").toString()); + return tryJson; + } + if (content.contains("0){ + break; + }else{ + Thread.sleep(1000); + } + } + + JSONObject srcori = new JSONObject(srcOrignstr); + JSONArray srcoria = srcori.getJSONArray("data"); + + + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + String catestr ="{\"推荐\":\"?\",\"斗鱼\":\"ByPlatform?platform=douyu&\",\"哔哩哔哩\":\"ByPlatform?platform=bilibili&\",\"虎牙\":\"ByPlatform?platform=huya&\",\"网易CC\":\"ByPlatform?platform=cc&\"}"; + JSONObject catedef = new JSONObject(catestr); + Iterator it = catedef.keys(); + while(it.hasNext()){ + JSONObject jsonObject = new JSONObject(); + String key =(String) it.next(); + jsonObject.put("type_name", key); + jsonObject.put("type_id", catedef.getString(key)); + classes.put(jsonObject); + } + result.put("class", classes); + + JSONObject filterConfig = new JSONObject(); + String geta ="http://live.yj1211.work/api/live/getAllAreas"; + String aaid = ""; + for(int i=0 ; i<3 ; i++){ + aaid = OkHttpUtil.string(geta, getHeaders()); + if(aaid.length()>0){ + break; + }else{ + Thread.sleep(1000); + } + } + + JSONObject aido = new JSONObject(aaid); + JSONArray aidoa = aido.getJSONArray("data"); + JSONArray extendsAll = new JSONArray(); + for (int j=0 ; j< 13;j++){ + JSONObject newTypeExtend = new JSONObject(); + String typeName = aidoa.getJSONArray(j).getJSONObject(0).getString("typeName"); + newTypeExtend.put("key", "typeName" + j); + newTypeExtend.put("name", typeName); + JSONArray newTypeExtendKV = new JSONArray(); + int fg = Math.min(aidoa.getJSONArray(j).length(), 20); + JSONObject kv = new JSONObject(); + kv.put("n", "全部"); + kv.put("v", typeName + "=" + "all"); + newTypeExtendKV.put(kv); + for (int k=0 ; k< fg ; k++){ + kv = new JSONObject(); + String areaName = aidoa.getJSONArray(j).getJSONObject(k).getString("areaName"); + kv.put("n", areaName); + kv.put("v", typeName + "=" + areaName); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + } + for (int i = 0 ; i < 5 ; i++){ + String typeId = classes.getJSONObject(i).getString("type_id"); + filterConfig.put(typeId, extendsAll); + } + + JSONArray videos = new JSONArray(); + int ch = Math.min(srcoria.length(), 10); + for (int i = 0; i < ch; i++) { + JSONObject srchome = new JSONObject(); + String platForm = srcoria.getJSONObject(i).getString("platForm"); + String rd = srcoria.getJSONObject(i).getString("roomId"); + String id = platForm + "&" + rd; + String name = srcoria.getJSONObject(i).getString("ownerName"); + String pic = srcoria.getJSONObject(i).getString("ownerHeadPic"); + String mark = srcoria.getJSONObject(i).getString("categoryName"); + srchome.put("vod_id", id); + srchome.put("vod_name", name); + srchome.put("vod_pic",pic); + srchome.put("vod_remarks", mark); + videos.put(srchome); + } + if (filter) { + result.put("filters", filterConfig); + } + result.put("list", videos); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String catt=""; + switch (tid) { + case "?": + catt = "all"; + break; + case "ByPlatform?platform=douyu&": + catt = "douyu"; + break; + case "ByPlatform?platform=bilibili&": + catt = "bilibili"; + break; + case "ByPlatform?platform=huya&": + catt = "huya"; + break; + case "ByPlatform?platform=cc&": + catt = "cc"; + break; + } + + + + + + + extend = extend == null ? new HashMap<>() : extend; + String srcurl=""; + String[] cate= new String[13]; + int pp = 0; + for(int i = 0; i < 13; i++){ + cate[i] = extend.containsKey("typeName"+i) ? extend.get("typeName"+i) : ("typeName"+i + "=" + "all"); + String[] info = cate[i].split("="); + String area = info[1]; + if( !area.contains("all") ){ + pp= pp + 1; + } + } + if(pp == 1){ + for(int i = 0; i < 13; i++){ + String[] info = cate[i].split("="); + String areaType = info[0]; + String area = info[1]; + if(!area.contains("all")) { + String urlft = "http://live.yj1211.work/api/live/getRecommendByAreaAll?areaType={areaType}&area={area}&page={pg}"; + srcurl = urlft.replace("{areaType}", URLEncoder.encode(areaType)).replace("{area}", URLEncoder.encode(area)).replace("{pg}", pg); + break; + } + } + }else if( pp == 0 || pp > 1 ){ + String urlft = "http://live.yj1211.work/api/live/getRecommend{tid}page={pg}&size=20"; + srcurl = urlft.replace("{tid}", tid).replace("{pg}", pg); + } + String srcOrignstr = ""; + for (int i = 0; i < 3; i++) { + srcOrignstr = OkHttpUtil.string(srcurl, getHeaders()); + if (srcOrignstr.length() > 0 ) { + break; + } else { + Thread.sleep(1000); + } + } + JSONObject srcori = new JSONObject(srcOrignstr); + JSONArray srcoria = srcori.getJSONArray("data"); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + for (int i = 0; i < srcoria.length(); i++) { + JSONObject srchome = new JSONObject(); + String platForm = srcoria.getJSONObject(i).getString("platForm"); + if(pp == 1 && !catt.equals("all")){ + if(!platForm.equals(catt) ){ + continue; + } + } + + String rd = srcoria.getJSONObject(i).getString("roomId"); + String id = platForm + "&" + rd; + String name = srcoria.getJSONObject(i).getString("ownerName"); + String pic = srcoria.getJSONObject(i).getString("ownerHeadPic"); + String mark = srcoria.getJSONObject(i).getString("categoryName"); + srchome.put("vod_id", id); + srchome.put("vod_name", name); + srchome.put("vod_pic", pic); + srchome.put("vod_remarks", mark); + videos.put(srchome); + } + if(videos.length() == 0 ) { + JSONObject srchome = new JSONObject(); + srchome.put("vod_id", 111); + srchome.put("vod_name", "此页无符合"); + srchome.put("vod_pic",""); + srchome.put("vod_remarks", "nothing"); + videos.put(srchome); + } + if (pp ==1 ) { + result.put("pagecount", 50); + result.put("limit",1 ); + } else{ + result.put("pagecount", Integer.MAX_VALUE); + result.put("limit",90 ); + } + result.put("list", videos); + result.put("page", pg); + result.put("total", Integer.MAX_VALUE); + + + + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private HashMap getHeaders() { + HashMap headers = new HashMap<>(); + headers.put("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.134 YaBrowser/22.7.1.755 (beta) Yowser/2.5 Safari/537.36"); + return headers; + } + + @Override + public String detailContent(List ids) { + try { + String id = ids.get(0); + String[] info = id.split("&"); + String platform = info[0]; + String roomId = info[1]; + String srcurl = "http://live.yj1211.work/api/live/getRoomInfo?platform="+platform+"&roomId="+roomId; + String srcplayurl = "http://live.yj1211.work/api/live/getRealUrl?platform="+platform+"&roomId="+roomId; + String srcdtlstr = OkHttpUtil.string(srcurl, getHeaders()); + String srcdtlplay = OkHttpUtil.string(srcplayurl, getHeaders()); + JSONObject srcdtl = new JSONObject(srcdtlstr); + JSONObject srcdtlo = srcdtl.getJSONObject("data"); + JSONObject srcdtplay = new JSONObject(srcdtlplay); + JSONObject srcdtplayo = srcdtplay.getJSONObject("data"); + String title = srcdtlo.getString("roomName"); + String pic = srcdtlo.getString("roomPic"); + String director = srcdtlo.getString("ownerName") + " RoomID:"+ srcdtlo.getString("roomId"); + String content = srcdtlo.getString("categoryName"); + String actor = "观看人数:" + srcdtlo.getString("online"); + String area =srcdtlo.getString("platForm"); + String typechk =srcdtlo.optString("isLive"); + String type = typechk.equals("") ? "录播" : "正在直播中" ; + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_pic",pic); + vodList.put("vod_name", title); + vodList.put("vod_area",area ); + vodList.put("type_name", type); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", content); + String playList = ""; + String pl=""; + List vodItems = new ArrayList<>(); + for(int i=0; i<5 ; i++){ + String[] qq = new String[] {"OD", "HD", "SD", "LD", "FD"}; + String qa = srcdtplayo.optString(qq[i]); + if (qa.isEmpty()) { + continue; + } + switch (qq[i]) { + case "OD": + pl = "原画" + "$" + qa; + break; + case "HD": + pl = "超清" + "$" + qa; + break; + case "SD": + pl = "高清" + "$" + qa; + break; + case "LD": + pl = "清晣" + "$" + qa; + break; + case "FD": + pl = "流畅" + "$" + qa; + break; + } + vodItems.add(pl); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + playList = "NoStream$nolink"; + + Map vod_play = new TreeMap<>(); + vod_play.put("YJ1211", playList); + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + JSONObject result = new JSONObject(); + result.put("header", getHeaders()); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", id); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + String url = "http://live.yj1211.work/api/live/search?platform=all&keyWords=" + URLEncoder.encode(key) + "&isLive=0"; + String content =""; + for(int i=0 ; i<3 ; i++){ + content =OkHttpUtil.string(url, getHeaders()); + if(content.length() >0){ + break; + }else{ + Thread.sleep(1000); + } + } + JSONObject searchResult = new JSONObject(content); + JSONArray sra = searchResult.getJSONArray("data"); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (sra.length() > 0) { + int ch = Math.min(sra.length(), 20); + for (int i = 0; i < ch; i++) { + JSONObject srat = new JSONObject(); + String platForm = sra.getJSONObject(i).getString("platform"); + String rd = sra.getJSONObject(i).getString("roomId"); + String id = platForm + "&" + rd; + String name = sra.getJSONObject(i).getString("nickName"); + String pic = sra.getJSONObject(i).getString("headPic"); + String mark =""; + if(!sra.getJSONObject(i).isNull("cateName")){ + mark = sra.getJSONObject(i).getString("cateName"); + } + srat.put("vod_remarks", mark); + srat.put("vod_id", id); + srat.put("vod_name", name); + srat.put("vod_pic", pic); + + videos.put(srat); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Ysdq.java b/TVBox_Java/spider/Ysdq.java new file mode 100644 index 0000000..1153366 --- /dev/null +++ b/TVBox_Java/spider/Ysdq.java @@ -0,0 +1,275 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +import org.json.JSONObject; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +public class Ysdq extends Spider { + private static HashMap sites = new HashMap<>(); + + protected void fetchRule() { + if (sites.size() == 0) { + try { + String json = OkHttpUtil.string("https://pj567.coding.net/p/source/d/source/git/raw/master/mobile/config.json", null); + JSONArray sources = new JSONObject(json).optJSONArray("source"); + for (int i = 0; i < sources.length(); i++) { + JSONObject obj = sources.getJSONObject(i); + String type = obj.optString("type"); + if (type.equals("AppV0") || type.equals("AppTv") || type.equals("aiKanTv")) { + String scName = obj.optString("sourceName"); + sites.put(scName, obj); + SpiderDebug.log("{\"key\":\"csp_ysdq_" + scName + "\", \"name\":\"" + scName + "(搜)\", \"type\":3, \"api\":\"csp_Ysdq\",\"searchable\":1,\"quickSearch\":0, \"ext\":\"" + scName + "\"},"); + } + } + } catch (Exception e) { + + } + } + } + + private JSONObject getJson() { + if (sites.containsKey(sourceName)) { + return sites.get(sourceName); + } + return null; + } + + private String sourceName = ""; + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + this.sourceName = extend; + } + + private String jsonArr2Str(JSONArray array) { + try { + ArrayList strings = new ArrayList<>(); + for (int i = 0; i < array.length(); i++) { + strings.add(array.getString(i)); + } + return TextUtils.join(",", strings); + } catch (JSONException e) { + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + fetchRule(); + JSONObject cfg = getJson(); + if (cfg != null) { + String type = cfg.optString("type"); + JSONObject result = new JSONObject(); + JSONObject vod = new JSONObject(); + if (type.equals("AppV0")) { + String url = cfg.optString("detailUrl").replace("%s", ids.get(0)); + String json = OkHttpUtil.string(url, null); + JSONObject obj = new JSONObject(json).optJSONObject("data"); + vod.put("vod_id", obj.getString("vod_id")); + vod.put("vod_name", obj.getString("vod_name")); + vod.put("vod_pic", obj.getString("vod_pic")); + vod.put("type_name", obj.optString("vod_class")); + vod.put("vod_year", obj.optString("vod_year")); + vod.put("vod_lang", obj.optString("vod_lang")); + vod.put("vod_area", obj.optString("vod_area")); + vod.put("vod_remarks", obj.optString("vod_remarks")); + vod.put("vod_actor", obj.optString("vod_actor")); + vod.put("vod_director", obj.optString("vod_director")); + vod.put("vod_content", obj.optString("vod_content")); + vod.put("vod_play_from", obj.getString("vod_play_from")); + vod.put("vod_play_url", obj.getString("vod_play_url")); + } else if (type.equals("AppTV")) { + String url = ids.get(0); + String json = OkHttpUtil.string(url, null); + JSONObject obj = new JSONObject(json); + vod.put("vod_id", obj.getString("id")); + vod.put("vod_name", obj.getString("title")); + vod.put("vod_pic", obj.getString("img_url")); + vod.put("type_name", jsonArr2Str(obj.optJSONArray("type"))); + vod.put("vod_year", obj.optString("pubtime")); + vod.put("vod_area", jsonArr2Str(obj.optJSONArray("area"))); + vod.put("vod_remarks", obj.optString("trunk")); + vod.put("vod_actor", jsonArr2Str(obj.optJSONArray("actor"))); + vod.put("vod_director", jsonArr2Str(obj.optJSONArray("director"))); + vod.put("vod_content", obj.optString("intro")); + Map vod_play = new LinkedHashMap<>(); + JSONObject playList = obj.getJSONObject("videolist"); + Iterator playListKeys = playList.keys(); + while (playListKeys.hasNext()) { + String from = playListKeys.next(); + JSONArray playListUrls = playList.getJSONArray(from); + ArrayList urls = new ArrayList<>(); + for (int j = 0; j < playListUrls.length(); j++) { + JSONObject urlObj = playListUrls.getJSONObject(j); + urls.add(urlObj.getString("title") + "$" + urlObj.getString("url")); + } + vod_play.put(from, TextUtils.join("#", urls)); + } + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vod.put("vod_play_from", vod_play_from); + vod.put("vod_play_url", vod_play_url); + } else if (type.equals("aiKanTv")) { + String url = cfg.optString("detailUrl").replace("%s", ids.get(0)); + String json = OkHttpUtil.string(url, null); + JSONObject obj = new JSONObject(json).optJSONObject("data"); + vod.put("vod_id", obj.getString("vod_id")); + vod.put("vod_name", obj.getString("vod_name")); + vod.put("vod_pic", obj.getString("vod_pic")); + vod.put("type_name", obj.optString("vod_class")); + vod.put("vod_year", obj.optString("vod_year")); + vod.put("vod_lang", obj.optString("vod_lang")); + vod.put("vod_area", obj.optString("vod_area")); + vod.put("vod_remarks", obj.optString("vod_remarks")); + vod.put("vod_actor", obj.optString("vod_actor")); + vod.put("vod_director", obj.optString("vod_director")); + vod.put("vod_content", obj.optString("vod_content")); + + Map vod_play = new LinkedHashMap<>(); + JSONArray playList = obj.getJSONArray("vod_play_list"); + for (int i = 0; i < playList.length(); i++) { + JSONObject playListObj = playList.getJSONObject(i); + String from = playListObj.getString("from"); + String playUrls = playListObj.getString("url"); + if (playUrls.length() > 0) { + vod_play.put(from, playUrls); + } + } + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vod.put("vod_play_from", vod_play_from); + vod.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + fetchRule(); + JSONObject cfg = getJson(); + if (cfg != null) { + String type = cfg.optString("type"); + String url = cfg.optString("searchUrl"); + if (!url.isEmpty()) { + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + url = url.replace("%s", URLEncoder.encode(key)); + String json = OkHttpUtil.string(url, null); + if (type.equals("AppV0")) { + JSONArray list = new JSONObject(json).optJSONArray("list"); + for (int i = 0; i < list.length(); i++) { + JSONObject obj = list.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", obj.getString("vod_id")); + v.put("vod_name", obj.getString("vod_name")); + v.put("vod_pic", obj.getString("vod_pic")); + v.put("vod_remarks", obj.getString("vod_remarks")); + videos.put(v); + } + } else if (type.equals("AppTV")) { + JSONArray list = new JSONObject(json).optJSONArray("data"); + for (int i = 0; i < list.length(); i++) { + JSONObject obj = list.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", obj.getString("nextlink")); + v.put("vod_name", obj.getString("title")); + v.put("vod_pic", obj.getString("pic")); + v.put("vod_remarks", obj.getString("state")); + videos.put(v); + } + } else if (type.equals("aiKanTv")) { + JSONArray list = new JSONObject(json).optJSONObject("data").optJSONArray("list"); + for (int i = 0; i < list.length(); i++) { + JSONObject obj = list.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", obj.getString("vod_id")); + v.put("vod_name", obj.getString("vod_name")); + v.put("vod_pic", obj.getString("vod_pic")); + v.put("vod_remarks", obj.getString("vod_remarks")); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + fetchRule(); + if (vipFlags.contains(flag)) { + try { + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", id); + result.put("header", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + // 如果是视频直连 直接返回免解 + else if (isVideoFormat(id)) { + try { + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", id); + result.put("header", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + // 尝试解析 + try { + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", id); + result.put("header", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/Ysgc.java b/TVBox_Java/spider/Ysgc.java new file mode 100644 index 0000000..ffc446a --- /dev/null +++ b/TVBox_Java/spider/Ysgc.java @@ -0,0 +1,394 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 影视工厂 + *

    + * Author: 小黄瓜 + */ +public class Ysgc extends Spider { + + private static final String siteUrl = "https://www.ik4.cc"; + private static final String siteHost = "www.ik4.cc"; + + protected JSONObject playerConfig = new JSONObject(); + + @Override + public void init(Context context) { + super.init(context); + } + + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("user-agent", "Dart/2.14 (dart:io)"); + headers.put("version", "1.9.8"); + headers.put("copyright", "xiaogui"); + headers.put("host", siteHost); + headers.put("platform", "android"); + return headers; + } + + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl + "/xgapp.php/v1/nav?token="; + JSONObject jsonObject = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONArray jsonArray = jsonObject.getJSONArray("data"); + JSONArray classes = new JSONArray(); + JSONObject filterConfig = new JSONObject(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jObj = jsonArray.getJSONObject(i); + String typeName = jObj.getString("type_name"); + if (typeName.equals("电视直播")) + continue; + String typeId = jObj.getString("type_id"); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", typeId); + newCls.put("type_name", typeName); + classes.put(newCls); + try { + JSONObject typeExtend = jObj.getJSONObject("type_extend"); + Iterator typeExtendKeys = typeExtend.keys(); + JSONArray extendsAll = new JSONArray(); + while (typeExtendKeys.hasNext()) { + String typeExtendKey = typeExtendKeys.next(); + String typeExtendName = null; + switch (typeExtendKey) { + case "class": + typeExtendName = "类型"; + break; + case "area": + typeExtendName = "地区"; + break; + case "lang": + typeExtendName = "语言"; + break; + case "year": + typeExtendName = "年代"; + break; + } + if (typeExtendName == null) { + SpiderDebug.log(typeExtendKey); + continue; + } + String typeExtendStr = typeExtend.getString(typeExtendKey); + if (typeExtendStr.trim().length() == 0) + continue; + String[] newTypeExtendKeys = typeExtendStr.split(","); + JSONObject newTypeExtend = new JSONObject(); + newTypeExtend.put("key", typeExtendKey); + newTypeExtend.put("name", typeExtendName); + JSONArray newTypeExtendKV = new JSONArray(); + { + JSONObject kvAll = new JSONObject(); + kvAll.put("n", "全部"); + kvAll.put("v", ""); + newTypeExtendKV.put(kvAll); + } + for (String k : newTypeExtendKeys) { + if (typeExtendName.equals("伦理")) + continue; + JSONObject kv = new JSONObject(); + kv.put("n", k); + kv.put("v", k); + newTypeExtendKV.put(kv); + } + newTypeExtend.put("value", newTypeExtendKV); + extendsAll.put(newTypeExtend); + } + filterConfig.put(typeId, extendsAll); + } catch (Exception e) { + SpiderDebug.log(e); + } + + } + JSONObject result = new JSONObject(); + result.put("class", classes); + if (filter) { + result.put("filters", filterConfig); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String homeVideoContent() { + try { + String url = siteUrl + "/xgapp.php/v1/index_video?token="; + JSONObject jsonObject = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONArray jsonArray = jsonObject.getJSONArray("data"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jObj = jsonArray.getJSONObject(i); + JSONArray videoList = jObj.getJSONArray("vlist"); + for (int j = 0; j < videoList.length() && j < 6; j++) { + JSONObject vObj = videoList.getJSONObject(j); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("vod_id")); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/xgapp.php/v1/video?tid=" + tid + "&pg=" + pg + "&token="; + Set keys = extend.keySet(); + for (String key : keys) { + url += "&" + key + "=" + URLEncoder.encode(extend.get(key)); + } + JSONObject dataObject = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONArray jsonArray = dataObject.getJSONArray("data"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("vod_id")); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } + JSONObject result = new JSONObject(); + int limit = 20; + int page = dataObject.getInt("page"); + int total = dataObject.getInt("total"); + int pageCount = dataObject.getInt("pagecount"); + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", limit); + result.put("total", total); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String detailContent(List ids) { + try { + String url = siteUrl + "/xgapp.php/v1/video_detail?id=" + ids.get(0) + "&token="; + JSONObject jsonObject = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject dataObject = jsonObject.getJSONObject("data"); + if (dataObject.has("vod_info")) { + try { + dataObject = dataObject.getJSONObject("vod_info"); + } catch (Exception e) { + + } + } + JSONObject vodList = new JSONObject(); + vodList.put("vod_id", dataObject.getString("vod_id")); + vodList.put("vod_name", dataObject.getString("vod_name")); + vodList.put("vod_pic", dataObject.getString("vod_pic")); + vodList.put("type_name", dataObject.getString("vod_class")); + vodList.put("vod_year", dataObject.getString("vod_year")); + vodList.put("vod_area", dataObject.getString("vod_area")); + vodList.put("vod_remarks", dataObject.getString("vod_remarks")); + vodList.put("vod_actor", dataObject.getString("vod_actor")); + vodList.put("vod_director", dataObject.getString("vod_director")); + vodList.put("vod_content", dataObject.getString("vod_content")); + JSONArray playerList = dataObject.getJSONArray("vod_url_with_player"); + List playFlags = new ArrayList<>(); + HashMap playUrls = new HashMap<>(); + for (int i = 0; i < playerList.length(); i++) { + JSONObject playerListObj = playerList.getJSONObject(i); + String from = playerListObj.getString("code"); + playUrls.put(from, playerListObj.getString("url")); + playerListObj.remove("url"); + playerConfig.put(from, playerListObj); + playFlags.add(from); + } + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + int sort1 = playFlags.indexOf(o1); + int sort2 = playFlags.indexOf(o2); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } + }); + + String[] vod_play_from_list = dataObject.getString("vod_play_from").split("\\$\\$\\$"); + String[] vod_play_url_list = dataObject.getString("vod_play_url").split("\\$\\$\\$"); + + for (int i = 0; i < vod_play_from_list.length; i++) { + String from = vod_play_from_list[i]; + if (i >= vod_play_url_list.length || vod_play_url_list[i].trim().length() == 0) { + if (playUrls.containsKey(from) && playUrls.get(from).trim().length() > 0) { + vod_play.put(vod_play_from_list[i], playUrls.get(from)); + } + continue; + } + vod_play.put(vod_play_from_list[i], vod_play_url_list[i]); + } + + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private HashMap getHeaderJxs(String url) { + HashMap headers = new HashMap<>(); + headers.put("platform_version", "LMY47I"); + headers.put("user-agent", "Dart/2.12 (dart:io)"); + headers.put("version", "1.6.4"); + headers.put("copyright", "xiaogui"); + headers.put("platform", "android"); + headers.put("client_name", "6L+95Ymn6L6+5Lq6"); + return headers; + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + JSONObject result = new JSONObject(); + if (id.contains("hsl.ysgc.xyz")) { + String uuu = "https://www.ysgc.cc/static/player/dplayer.php?url=" + id; + HashMap headers = new HashMap(); + headers.put("referer", "https://www.ysgc.cc/"); + String content = OkHttpUtil.string(uuu, headers); + Matcher matcher = Pattern.compile("url: url\\+'(.+?)',").matcher(content); + if (matcher.find()) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", id + matcher.group(1)); + result.put("header", "{\"Referer\":\" https://www.ysgc.cc\"}"); + } else { + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", uuu); + result.put("header", "{\"Referer\":\"https://www.ysgc.cc/\"}"); + } + return result.toString(); + } else if (id.contains("duoduozy.com") || id.contains("m3u8.cache.suoyo.cc")) { + String uuu = "https://www.6080kan.cc/app.php?url=" + id; + String content = OkHttpUtil.string(uuu, null); + return Misc.jsonParse(id, content).toString(); + } + if (vipFlags.contains(flag)) { + try { + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", id); + return result.toString(); + } catch (Exception ee) { + SpiderDebug.log(ee); + } + } + JSONObject playerObj = playerConfig.getJSONObject(flag); + String parseUrl = playerObj.getString("parse_api") + id; + String content = OkHttpUtil.string(parseUrl, getHeaderJxs(parseUrl)); + JSONObject playerData = new JSONObject(content); + JSONObject headers = new JSONObject(); + String ua = playerData.optString("user-agent", ""); + if (ua.trim().length() > 0) { + headers.put("User-Agent", " " + ua); + } + String referer = playerData.optString("referer", ""); + if (referer.trim().length() > 0) { + headers.put("Referer", " " + referer); + } + result.put("parse", 0); + result.put("header", headers.toString()); + result.put("playUrl", ""); + result.put("url", playerData.getString("url")); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + if (vipFlags.contains(flag)) { + try { + JSONObject result = new JSONObject(); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", id); + return result.toString(); + } catch (Exception ee) { + SpiderDebug.log(ee); + } + } + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + if (quick) + return ""; + try { + String url = siteUrl + "/xgapp.php/v1/search?text=" + URLEncoder.encode(key) + "&pg=1"; + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject dataObject = new JSONObject(content); + JSONArray jsonArray = dataObject.getJSONArray("data"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("vod_id")); + v.put("vod_name", vObj.getString("vod_name")); + v.put("vod_pic", vObj.getString("vod_pic")); + v.put("vod_remarks", vObj.getString("vod_remarks")); + videos.put(v); + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/spider/YydsAli1.java b/TVBox_Java/spider/YydsAli1.java new file mode 100644 index 0000000..f3df733 --- /dev/null +++ b/TVBox_Java/spider/YydsAli1.java @@ -0,0 +1,517 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; + +public class YydsAli1 extends Spider { + private static final String siteUrl = "https://cmn.yyds.fans"; + + @Override + public void init(Context context) { + super.init(context); + } + + private HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("accept", "application/json, text/plain, */*"); + headers.put("origin", "https://yyds.fans"); + headers.put("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"); + return headers; + } + + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl + "/api/categories"; + String content = OkHttpUtil.string(url, getHeaders(url)); + JSONObject jsonObject = new JSONObject(content); + JSONArray jsonArray = jsonObject.getJSONArray("data"); + JSONArray classes = new JSONArray(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jObj = jsonArray.getJSONObject(i); + String typeName = jObj.getString("title"); + if (typeName.equals("首页") || typeName.equals("热门精选")) { + continue; + } + String typeId = jObj.getString("id"); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", typeId); + newCls.put("type_name", typeName); + classes.put(newCls); + } + JSONObject result = new JSONObject(); + result.put("class", classes); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String homeVideoContent() { + try { + JSONArray videos = new JSONArray(); + try { + String url = siteUrl + "/api/posts"; + JSONObject json = new JSONObject(); + json.put("category_id", "0"); + json.put("skip", "0"); + json.put("limit", "30"); + json.put("keyword", ""); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, json.toString(), getHeaders(url), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + } + + @Override + public void onResponse(String response) { + try { + JSONObject jsonObject = new JSONObject(response); + JSONArray jsonArray = jsonObject.getJSONArray("data"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.optString("cover")); + String mark = vObj.optString("subtitle"); + if (mark.equals("null")) + mark = ""; + v.put("vod_remarks", mark); + videos.put(v); + } + } catch (JSONException e) { + } + } + }); + } catch (Exception e) { + + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + int limit = 30; + int page = Integer.parseInt(pg); + if (page == 0) { + page = 1; + } + String url = siteUrl + "/api/posts"; + JSONObject json = new JSONObject(); + json.put("category_id", tid); + json.put("skip", ((page - 1) * limit) + ""); + json.put("limit", limit + ""); + json.put("keyword", ""); + JSONArray videos = new JSONArray(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, json.toString(), getHeaders(url), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + } + + @Override + public void onResponse(String response) { + try { + JSONObject jsonObject = new JSONObject(response); + JSONArray jsonArray = jsonObject.getJSONArray("data"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.optString("cover")); + String mark = vObj.optString("subtitle"); + if (mark.equals("null")) + mark = ""; + v.put("vod_remarks", mark); + videos.put(v); + } + } catch (JSONException e) { + } + } + }); + JSONObject result = new JSONObject(); + result.put("page", page); + int pageCount = videos.length() == limit ? page + 1 : page; + result.put("pagecount", pageCount); + result.put("limit", limit); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + Pattern aliyun = Pattern.compile(".*?aliyundrive.com/s/(\\w+)[^\\w]?"); + Pattern aliyunShort = Pattern.compile(".*?alywp.net/(\\w+)[^\\w]?"); + + @Override + public String detailContent(List ids) { + try { + String url = siteUrl + "/api/post-info"; + JSONObject json = new JSONObject(); + json.put("id", ids.get(0)); + JSONObject vodAtom = new JSONObject(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, json.toString(), getHeaders(url), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + } + + @Override + public void onResponse(String response) { + try { + JSONObject dataObject = new JSONObject(response); + JSONObject vObj = dataObject.getJSONObject("data"); + + vodAtom.put("vod_id", vObj.getString("id")); + vodAtom.put("vod_name", vObj.getString("title")); + vodAtom.put("vod_pic", vObj.getString("cover")); + vodAtom.put("type_name", ""); + vodAtom.put("vod_year", vObj.getString("year")); + vodAtom.put("vod_area", vObj.getString("region")); + String mark = vObj.optString("subtitle"); + if (mark.equals("null")) + mark = ""; + vodAtom.put("vod_remarks", mark); + vodAtom.put("vod_actor", vObj.getString("actors")); + vodAtom.put("vod_director", vObj.getString("director")); + String desc = vObj.optString("desc"); + if (desc.equals("null")) + desc = ""; + vodAtom.put("vod_content", desc); + + Map vod_play = new LinkedHashMap<>(); + JSONArray jsonArray = vObj.getJSONArray("links"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject obj = jsonArray.getJSONObject(i); + String link = obj.optString("link", ""); + updatePlaylist(link, vod_play); + } + if (vod_play.size() == 0 && vObj.optString("content").length() > 0) { + updatePlaylist(vObj.optString("content"), vod_play); + } + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodAtom.put("vod_play_from", vod_play_from); + vodAtom.put("vod_play_url", vod_play_url); + } + } catch (JSONException e) { + } + } + }); + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vodAtom); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private void updatePlaylist(String link, Map vod_play) { + String shareId = null; + Matcher matcher = aliyun.matcher(link); + if (matcher.find()) { + shareId = matcher.group(1); + } else { + matcher = aliyunShort.matcher(link); + if (matcher.find()) { + shareId = matcher.group(1); + Map> respHeaders = new TreeMap<>(); + OkHttpUtil.stringNoRedirect("https://alywp.net/" + shareId, null, respHeaders); + shareId = OkHttpUtil.getRedirectLocation(respHeaders); + if (shareId != null) { + matcher = aliyun.matcher(shareId); + if (matcher.find()) { + shareId = matcher.group(1); + } + } + } + } + if (shareId != null) { + String shareToken = getShareTk(shareId, ""); + ArrayList vodItems = new ArrayList<>(); + getFileList(shareToken, shareId, "", "root", vodItems); + vod_play.put("阿里云盘" + (vod_play.size() > 0 ? vod_play.size() : ""), TextUtils.join("#", vodItems)); + } + } + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + String[] infos = id.split("\\+"); + String shareTk = getShareTk(infos[0], ""); + refreshTk(); + if (!accessTk.isEmpty()) { + JSONObject json = new JSONObject(); + json.put("share_id", infos[0]); + json.put("category", "live_transcoding"); + json.put("file_id", infos[1]); + json.put("template_id", ""); + HashMap headers = new HashMap<>(); + headers.put("x-share-token", shareTk); + headers.put("authorization", accessTk); + OKCallBack.OKCallBackString callback = new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + } + + @Override + public void onResponse(String response) { + String videoUrl = ""; + try { + JSONArray playList = new JSONObject(response).getJSONObject("video_preview_play_info").getJSONArray("live_transcoding_task_list"); + String[] orders = new String[]{"FHD", "HD", "SD"}; + for (String or : orders) { + for (int i = 0; i < playList.length(); i++) { + JSONObject obj = playList.getJSONObject(i); + if (obj.optString("template_id").equals(or)) { + videoUrl = obj.getString("url"); + break; + } + } + if (!videoUrl.isEmpty()) + break; + } + if (videoUrl.isEmpty() && playList.length() > 0) { + videoUrl = playList.getJSONObject(0).getString("url"); + } + } catch (JSONException e) { + } finally { + setResult(videoUrl); + } + } + }; + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "https://api.aliyundrive.com/v2/file/get_share_link_video_preview_play_info", json.toString(), headers, callback); + JSONArray playList = new JSONObject(callback.getResult()).getJSONObject("video_preview_play_info").getJSONArray("live_transcoding_task_list"); + String videoUrl = ""; + String[] orders = new String[]{"FHD", "HD", "SD"}; + for (String or : orders) { + for (int i = 0; i < playList.length(); i++) { + JSONObject obj = playList.getJSONObject(i); + if (obj.optString("template_id").equals(or)) { + videoUrl = obj.getString("url"); + break; + } + } + if (!videoUrl.isEmpty()) + break; + } + if (videoUrl.isEmpty() && playList.length() > 0) { + videoUrl = playList.getJSONObject(0).getString("url"); + } + JSONObject headerObj = new JSONObject(); + headerObj.put("user-agent", " Dalvik/2.1.0 (Linux; U; Android 7.0; ZTE BA520 Build/MRA58K)"); + headerObj.put("referer", " https://www.aliyundrive.com/"); + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", videoUrl); + result.put("header", headerObj.toString()); + return result.toString(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + JSONArray videos = new JSONArray(); + try { + String url = siteUrl + "/api/posts"; + JSONObject json = new JSONObject(); + json.put("category_id", "-1"); + json.put("skip", "0"); + json.put("limit", "30"); + json.put("keyword", key); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, json.toString(), getHeaders(url), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + } + + @Override + public void onResponse(String response) { + try { + JSONObject jsonObject = new JSONObject(response); + JSONArray jsonArray = jsonObject.getJSONArray("data"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("id")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.getString("cover")); + v.put("vod_remarks", vObj.getString("subtitle")); + videos.put(v); + } + } catch (JSONException e) { + } + } + }); + + } catch (Exception e) { + + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private String aliTk = ""; + + private void fetchAliTk() { + if (aliTk.isEmpty()) { + try { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "okhttp/4.5.0"); + aliTk = new JSONObject(OkHttpUtil.string("http://81.68.244.5/tv/alitk", headers)).optString("alitk"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + } + + private String accessTk = ""; + + private void refreshTk() { + fetchAliTk(); + if (!aliTk.isEmpty() && accessTk.isEmpty()) { + try { + JSONObject json = new JSONObject(); + json.put("refresh_token", aliTk); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "https://api.aliyundrive.com/token/refresh", json.toString(), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + + } + + @Override + public void onResponse(String response) { + try { + JSONObject obj = new JSONObject(response); + accessTk = obj.getString("token_type") + " " + obj.getString("access_token"); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + }); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + } + + private String getShareTk(String shareId, String sharePwd) { + try { + JSONObject json = new JSONObject(); + json.put("share_id", shareId); + json.put("share_pwd", ""); + OKCallBack.OKCallBackString callback = new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + + } + + @Override + public void onResponse(String response) { + + } + }; + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "https://api.aliyundrive.com/v2/share_link/get_share_token", json.toString(), callback); + return new JSONObject(callback.getResult()).optString("share_token"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + return ""; + } + + + private void getFileList(String shareTk, String shareId, String sharePwd, String root, ArrayList vodItems) { + try { + // 取文件夹 + JSONObject json = new JSONObject(); + json.put("share_id", shareId); + json.put("parent_file_id", root); + json.put("limit", 100); + json.put("image_thumbnail_process", "image/resize,w_160/format,jpeg"); + json.put("image_url_process", "image/resize,w_1920/format,jpeg"); + json.put("video_thumbnail_process", "video/snapshot,t_1000,f_jpg,ar_auto,w_300"); + json.put("order_by", "name"); + json.put("order_direction", "ASC"); + HashMap headers = new HashMap<>(); + headers.put("x-share-token", shareTk); + OKCallBack.OKCallBackString callback = new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception e) { + + } + + @Override + public void onResponse(String response) { + + } + }; + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "https://api.aliyundrive.com/adrive/v3/file/list", json.toString(), headers, callback); + JSONArray rootList = new JSONObject(callback.getResult()).optJSONArray("items"); + if (rootList != null && rootList.length() > 0) { + for (int i = 0; i < rootList.length(); i++) { + JSONObject item = rootList.getJSONObject(i); + if (item.getString("type").equals("folder")) { + String dirId = item.getString("file_id"); + getFileList(shareTk, shareId, sharePwd, dirId, vodItems); + } else { + if (item.getString("type").equals("file") && !item.getString("file_extension").equals("txt")) { + String fileId = item.getString("file_id"); + String fileName = item.getString("name"); + vodItems.add(fileName + "$" + shareId + "+" + fileId); + } + } + } + } + // 取文件列表 + } catch (JSONException e) { + SpiderDebug.log(e); + } + } +} diff --git a/TVBox_Java/spider/Zhaozy.java b/TVBox_Java/spider/Zhaozy.java new file mode 100644 index 0000000..baabc00 --- /dev/null +++ b/TVBox_Java/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 diff --git a/TVBox_Java/spider/Zxzj.java b/TVBox_Java/spider/Zxzj.java new file mode 100644 index 0000000..c75fb37 --- /dev/null +++ b/TVBox_Java/spider/Zxzj.java @@ -0,0 +1,486 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +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.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Zxzj extends Spider { + private static final String siteUrl = "https://zxzj.vip/"; + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + private Pattern regexCategory = Pattern.compile("/list/(\\d+).html"); + private Pattern regexVid = Pattern.compile("/detail/(\\d+).html"); + private Pattern regexPlay = Pattern.compile("/video/(\\d+)-(\\d+)-(\\d+).html"); + private Pattern regexPage = Pattern.compile("/vodshow/(\\S+).html"); + + protected String ext = null; + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"dpp\":{\"sh\":\"DP播放\",\"pu\":\"https://jx.zxzj.vip/dplayer.php?url=\",\"sn\":1,\"or\":999}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":\"3\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"警匪\",\"v\":\"警匪\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"青春\",\"v\":\"青春\"},{\"n\":\"情色\",\"v\":\"情色\"}]},{\"key\":\"1\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"11\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"4\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"韩语\",\"v\":\"韩语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"法语\",\"v\":\"法语\"},{\"n\":\"泰语\",\"v\":\"泰语\"},{\"n\":\"德语\",\"v\":\"德语\"},{\"n\":\"印度语\",\"v\":\"印度语\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"粤语\",\"v\":\"粤语\"},{\"n\":\"俄语\",\"v\":\"俄语\"},{\"n\":\"西班牙语\",\"v\":\"西班牙语\"},{\"n\":\"意大利语\",\"v\":\"意大利语\"},{\"n\":\"其它\",\"v\":\"其它\"}]},{\"key\":\"2\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":\"3\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"4\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"法语\",\"v\":\"法语\"}]},{\"key\":\"11\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"2\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"3\":[{\"key\":\"3\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"11\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"2\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"4\":[{\"key\":\"3\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"11\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"2\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"6\":[{\"key\":\"3\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"情感\",\"v\":\"情感\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"热血\",\"v\":\"热血\"},{\"n\":\"推理\",\"v\":\"推理\"},{\"n\":\"搞笑\",\"v\":\"搞笑\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"萝莉\",\"v\":\"萝莉\"},{\"n\":\"校园\",\"v\":\"校园\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"机战\",\"v\":\"机战\"},{\"n\":\"运动\",\"v\":\"运动\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"少年\",\"v\":\"少年\"},{\"n\":\"少女\",\"v\":\"少女\"},{\"n\":\"社会\",\"v\":\"社会\"},{\"n\":\"原创\",\"v\":\"原创\"},{\"n\":\"亲子\",\"v\":\"亲子\"},{\"n\":\"益智\",\"v\":\"益智\"},{\"n\":\"励志\",\"v\":\"励志\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"1\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产\",\"v\":\"国产\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"11\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"4\",\"name\":\"语言\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国语\",\"v\":\"国语\"},{\"n\":\"日语\",\"v\":\"日语\"},{\"n\":\"英语\",\"v\":\"英语\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"2\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"5\":[{\"key\":\"3\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"11\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"2\",\"name\":\"排序\",\"value\":[{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + + protected static HashMap Headers() { + 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("Referer", siteUrl); + return headers; + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + headers.put("Upgrade-Insecure-Requests", "1"); + headers.put("DNT", "1"); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.stui-header__menu li a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + boolean show = name.equals("电影") || + name.equals("美剧") || + name.equals("韩剧") || + name.equals("日剧") || + name.equals("泰剧") || + name.equals("动漫"); + if (show) { + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Element homeList = doc.select("ul.stui-vodlist").get(0); + Elements list = homeList.select("div.stui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("a").attr("data-original"); + String remark = vod.select("a .pic-text").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String[] urlParams = new String[]{"", "", "", "", "", "", "", "", "", "", "", ""}; + urlParams[0] = tid; + urlParams[8] = pg; + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + urlParams[Integer.parseInt(key)] = URLEncoder.encode(value); + } + } + // 获取分类数据的url + String url = siteUrl + "vodshow/" + TextUtils.join("-", urlParams) + ".html"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.stui-page__item li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && li.hasClass("active")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + //System.out.println("哈哈"+matcher.group(1)); + page = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + //System.out.println("尾页" + matcher.group(1)); + pageCount = Integer.parseInt(matcher.group(1).split("-")[8]); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.stui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + String cover = vod.select("a").attr("data-original"); + String remark = vod.select("a .pic-text").text(); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/detail/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.select("div.stui-content__thumb a img").attr("data-original"); + String title = doc.select("div.stui-content__detail h1").text(); + String category = "", area = "", year = "", remark = "", director = "", actor = "", desc = ""; + Elements data = doc.select("p.data"); + Pattern cate = Pattern.compile("类型:(\\S+)"); + category = doReplaceRegex(cate, data.get(0).text()); + Pattern areas = Pattern.compile("地区:(\\S+)"); + area = doReplaceRegex(areas, data.get(0).text()); + Pattern years = Pattern.compile("年份:(\\S+)"); + year = doReplaceRegex(years, data.get(0).text()); + Pattern rms = Pattern.compile("更新:(\\S+)"); + remark = doReplaceRegex(rms, data.get(3).text()); + Pattern acs = Pattern.compile("主演:(\\S+)"); + actor = doReplaceRegex(acs, data.get(1).text()); + Pattern dis = Pattern.compile("导演:(\\S+)"); + director = doReplaceRegex(dis, data.get(2).text()); + + desc = doc.selectFirst("span.detail-content").text().trim(); + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + // 取播放列表数据 + Elements sources = doc.select("div.stui-vodlist__head h3"); + Elements sourceList = doc.select("ul.stui-content__playlist"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("sh").equals(sourceName)) { + sourceName = flag; + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = sourceList.get(i).select("li a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + //定义播放用的headers + JSONObject headers = new JSONObject(); + //headers.put("Host", " cokemv.co"); + headers.put("origin", " https://zxzj.vip"); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + + + // 播放页 url + String url = siteUrl + "/video/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + JSONObject pCfg = playerConfig.getJSONObject(player.getString("from")); + String videoUrl = pCfg.getString("pu") + player.getString("url"); + Document docs = Jsoup.parse(OkHttpUtil.string(videoUrl, getHeaders(videoUrl))); + Pattern pattern = Pattern.compile("(?<=urls\\s=\\s').*?(?=')"); + Elements allScripts = docs.select("body script"); + for (int j = 0; j < allScripts.size(); j++) { + String scContents = allScripts.get(j).html().trim(); + Matcher matcher = pattern.matcher(scContents); + if (matcher.find()) { + String players = matcher.group(0); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", players); + result.put("header", headers.toString()); + } + break; + } + } + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + try { + String url = siteUrl + "/vodsearch/-------------.html?wd=" + URLEncoder.encode(key) + "&submit="; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + + JSONArray videos = new JSONArray(); + Elements list = doc.select("div.stui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.select("a").attr("title"); + if (title.contains(key)) { + String cover = vod.select("a").attr("data-original"); + Matcher matcher = regexVid.matcher(vod.select("a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + String remark = vod.select("a span.pic-text").text(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private static String doReplaceRegex(Pattern pattern, String src) { + if (pattern == null) + return src; + try { + Matcher matcher = pattern.matcher(src); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } +} diff --git a/TVBox_Java/spider/merge/RSA.java b/TVBox_Java/spider/merge/RSA.java new file mode 100644 index 0000000..ccca061 --- /dev/null +++ b/TVBox_Java/spider/merge/RSA.java @@ -0,0 +1,96 @@ +// +// Decompiled by Jadx - 632ms +// +package com.github.catvod.spider.merge; + +import android.util.Base64; +import java.io.ByteArrayOutputStream; +import java.nio.charset.Charset; +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import javax.crypto.Cipher; + +public class RSA { + public static final Charset qb = Charset.forName("UTF8"); + + public static String l(String str, String str2) { + try { + byte[] bytes = str.getBytes(qb); + Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + cipher.init(1, n8(str2)); + int length = bytes.length; + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + int i = 0; + int i2 = 0; + while (true) { + int i3 = length - i; + if (i3 > 0) { + byte[] doFinal = i3 > 117 ? cipher.doFinal(bytes, i, 117) : cipher.doFinal(bytes, i, i3); + byteArrayOutputStream.write(doFinal, 0, doFinal.length); + i2++; + i = i2 * 117; + } else { + byte[] byteArray = byteArrayOutputStream.toByteArray(); + byteArrayOutputStream.close(); + return new String(Base64.encode(byteArray, 0)); + } + } + } catch (Exception e) { + ug(e); + return null; + } + } + + public static PublicKey n8(String str) { + try { + return KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(Base64.decode(str, 0))); + } catch (Exception e) { + ug(e); + return null; + } + } + + public static String qb(String str, String str2) { + try { + byte[] decode = Base64.decode(str, 0); + Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + cipher.init(2, zC(str2)); + int length = decode.length; + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + int i = 0; + int i2 = 0; + while (true) { + int i3 = length - i; + if (i3 > 0) { + byte[] doFinal = i3 > 128 ? cipher.doFinal(decode, i, 128) : cipher.doFinal(decode, i, i3); + byteArrayOutputStream.write(doFinal, 0, doFinal.length); + i2++; + i = i2 * 128; + } else { + byte[] byteArray = byteArrayOutputStream.toByteArray(); + byteArrayOutputStream.close(); + return new String(byteArray, qb); + } + } + } catch (Exception e) { + ug(e); + return null; + } + } + + private static void ug(Exception exc) { + exc.printStackTrace(); + } + + public static PrivateKey zC(String str) { + try { + return KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(Base64.decode(str, 0))); + } catch (Exception e) { + ug(e); + return null; + } + } +} diff --git a/TVBox_Java/utils/AES.java b/TVBox_Java/utils/AES.java new file mode 100644 index 0000000..d20028b --- /dev/null +++ b/TVBox_Java/utils/AES.java @@ -0,0 +1,114 @@ +package com.github.catvod.utils; + +import android.util.Base64; + +import com.github.catvod.crawler.SpiderDebug; + +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.security.Key; +import java.security.spec.AlgorithmParameterSpec; + +import javax.crypto.Cipher; +import javax.crypto.SecretKeyFactory; +import javax.crypto.spec.DESKeySpec; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +public class AES { + + public static String CBC(String src, String KEY, String IV) { + try { + Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); + SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES"); + AlgorithmParameterSpec paramSpec = new IvParameterSpec(IV.getBytes()); + cipher.init(Cipher.DECRYPT_MODE, keySpec, paramSpec); + return new String(cipher.doFinal(Base64.decode(src.getBytes(), 0))); + } catch (Exception exception) { + SpiderDebug.log(exception); + } + return null; + } + + + public static Cipher GetCipher(int opmode, String key) { + try { + DESKeySpec dks = new DESKeySpec(key.getBytes()); + SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); + Key secretkey = keyFactory.generateSecret(dks); + Cipher cipher = Cipher.getInstance("DES/ECB/PKCS7Padding"); + cipher.init(opmode, secretkey); + return cipher; + } catch (Exception exception) { + SpiderDebug.log(exception); + return null; + } + } + + + + public static String decode(String data, String key) throws Exception { + if (data == null || data.isEmpty()){ + return null; + } + try { + byte[] b = hex2byte(data); + Cipher cipher = GetCipher(Cipher.DECRYPT_MODE, key); + if (cipher != null){ + return new String(cipher.doFinal(b), "UTF-8"); + } else { + return null; + } + } catch (Exception exception) { + SpiderDebug.log(exception); + return data; + } + } + + public static byte[] hex2byte(String hex) throws IllegalArgumentException { + if (hex.length() % 2 != 0){ + throw new IllegalArgumentException("invalid hex string"); + } + char[] arr = hex.toCharArray(); + byte[] b = new byte[hex.length() / 2]; + for (int i = 0, j = 0, l = hex.length(); i < l; i++, j++) { + String swap ="" + arr[i++] + arr[i]; + int byteint = Integer.parseInt(swap, 16) & 0xFF; + b[j] = new Integer(byteint).byteValue(); + } + return b; + } + + public static String encrypt(String data, String key) { + try { + byte[] data2 = data.getBytes("UTF-8"); + SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding"); + cipher.init(Cipher.ENCRYPT_MODE, keySpec); + byte[] result = cipher.doFinal(data2); + return bytesToHexStr(result); + } catch (Exception exception) { + SpiderDebug.log(exception); + } + return null; + } + + /** + * byte数组转16进制字符串 + * + * @param bytes byte数组 + * @return hex字符串 + */ + public static String bytesToHexStr(byte[] bytes) { + StringBuilder hexStr = new StringBuilder(); + for (byte b : bytes) { + String hex = Integer.toHexString(b & 0xFF); + if (hex.length() == 1) { + hex = '0' + hex; + } + hexStr.append(hex); + } + return hexStr.toString(); + } + +} diff --git a/TVBox_Java/utils/Base64Ext.java b/TVBox_Java/utils/Base64Ext.java new file mode 100644 index 0000000..db32bbf --- /dev/null +++ b/TVBox_Java/utils/Base64Ext.java @@ -0,0 +1,755 @@ +package com.github.catvod.utils; + + + /* + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +import java.io.UnsupportedEncodingException; + +/** + * #nodoc- Utilities for encoding and decoding the Base64 representation of + * binary data. See RFCs 2045 and 3548. + */ +public class Base64Ext { + /** + * Default values for encoder/decoder flags. + */ + public static final int DEFAULT = 0; + + /** + * Encoder flag bit to omit the padding '=' characters at the end + * of the output (if any). + */ + public static final int NO_PADDING = 1; + + /** + * Encoder flag bit to omit all line terminators (i.e., the output + * will be on one long line). + */ + public static final int NO_WRAP = 2; + + /** + * Encoder flag bit to indicate lines should be terminated with a + * CRLF pair instead of just an LF. Has no effect if {@code + * NO_WRAP} is specified as well. + */ + public static final int CRLF = 4; + + /** + * Encoder/decoder flag bit to indicate using the "URL and + * filename safe" variant of Base64 (see RFC 3548 section 4) where + * {@code -} and {@code _} are used in place of {@code +} and + * {@code /}. + */ + public static final int URL_SAFE = 8; + + /** + * Flag to pass to to indicate that it + * should not close the output stream it is wrapping when it + * itself is closed. + */ + public static final int NO_CLOSE = 16; + + // -------------------------------------------------------- + // shared code + // -------------------------------------------------------- + + /* package */ static abstract class Coder { + public byte[] output; + public int op; + + /** + * Encode/decode another block of input data. this.output is + * provided by the caller, and must be big enough to hold all + * the coded data. On exit, this.opwill be set to the length + * of the coded data. + * + * @param finish true if this is the final call to process for + * this object. Will finalize the coder state and + * include any final bytes in the output. + * @return true if the input so far is good; false if some + * error has been detected in the input stream.. + */ + public abstract boolean process(byte[] input, int offset, int len, boolean finish); + + /** + * @return the maximum number of bytes a call to process() + * could produce for the given number of input bytes. This may + * be an overestimate. + */ + public abstract int maxOutputSize(int len); + } + + // -------------------------------------------------------- + // decoding + // -------------------------------------------------------- + + /** + * Decode the Base64-encoded data in input and return the data in + * a new byte array. + *

    + *

    The padding '=' characters at the end are considered optional, but + * if any are present, there must be the correct number of them. + * + * @param str the input String to decode, which is converted to + * bytes using the default charset + * @param flags controls certain features of the decoded output. + * Pass {@code DEFAULT} to decode standard Base64. + * @throws IllegalArgumentException if the input contains + * incorrect padding + */ + public static byte[] decode(String str, int flags) { + return decode(str.getBytes(), flags); + } + + /** + * Decode the Base64-encoded data in input and return the data in + * a new byte array. + *

    + *

    The padding '=' characters at the end are considered optional, but + * if any are present, there must be the correct number of them. + * + * @param input the input array to decode + * @param flags controls certain features of the decoded output. + * Pass {@code DEFAULT} to decode standard Base64. + * @throws IllegalArgumentException if the input contains + * incorrect padding + */ + public static byte[] decode(byte[] input, int flags) { + return decode(input, 0, input.length, flags); + } + + /** + * Decode the Base64-encoded data in input and return the data in + * a new byte array. + *

    + *

    The padding '=' characters at the end are considered optional, but + * if any are present, there must be the correct number of them. + * + * @param input the data to decode + * @param offset the position within the input array at which to start + * @param len the number of bytes of input to decode + * @param flags controls certain features of the decoded output. + * Pass {@code DEFAULT} to decode standard Base64. + * @throws IllegalArgumentException if the input contains + * incorrect padding + */ + public static byte[] decode(byte[] input, int offset, int len, int flags) { + // Allocate space for the most data the input could represent. + // (It could contain less if it contains whitespace, etc.) + Decoder decoder = new Decoder(flags, new byte[len * 3 / 4]); + + if (!decoder.process(input, offset, len, true)) { + throw new IllegalArgumentException("bad base-64"); + } + + // Maybe we got lucky and allocated exactly enough output space. + if (decoder.op == decoder.output.length) { + return decoder.output; + } + + // Need to shorten the array, so allocate a new one of the + // right size and copy. + byte[] temp = new byte[decoder.op]; + System.arraycopy(decoder.output, 0, temp, 0, decoder.op); + return temp; + } + + /* package */ static class Decoder extends Coder { + /** + * Lookup table for turning bytes into their position in the + * Base64 alphabet. + */ + private static final int DECODE[] = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, + -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + }; + + /** + * Decode lookup table for the "web safe" variant (RFC 3548 + * sec. 4) where - and _ replace + and /. + */ + private static final int DECODE_WEBSAFE[] = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, + -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + }; + + /** + * Non-data values in the DECODE arrays. + */ + private static final int SKIP = -1; + private static final int EQUALS = -2; + + /** + * States 0-3 are reading through the next input tuple. + * State 4 is having read one '=' and expecting exactly + * one more. + * State 5 is expecting no more data or padding characters + * in the input. + * State 6 is the error state; an error has been detected + * in the input and no future input can "fix" it. + */ + private int state; // state number (0 to 6) + private int value; + + final private int[] alphabet; + + public Decoder(int flags, byte[] output) { + this.output = output; + + alphabet = ((flags & URL_SAFE) == 0) ? DECODE : DECODE_WEBSAFE; + state = 0; + value = 0; + } + + /** + * @return an overestimate for the number of bytes {@code + * len} bytes could decode to. + */ + + @Override + public int maxOutputSize(int len) { + return len * 3 / 4 + 10; + } + + /** + * Decode another block of input data. + * + * @return true if the state machine is still healthy. false if + * bad base-64 data has been detected in the input stream. + */ + @Override + public boolean process(byte[] input, int offset, int len, boolean finish) { + if (this.state == 6) {return false;} + + int p = offset; + len += offset; + + // Using local variables makes the decoder about 12% + // faster than if we manipulate the member variables in + // the loop. (Even alphabet makes a measurable + // difference, which is somewhat surprising to me since + // the member variable is final.) + int state = this.state; + int value = this.value; + int op = 0; + final byte[] output = this.output; + final int[] alphabet = this.alphabet; + + while (p < len) { + // Try the fast path: we're starting a new tuple and the + // next four bytes of the input stream are all data + // bytes. This corresponds to going through states + // 0-1-2-3-0. We expect to use this method for most of + // the data. + // + // If any of the next four bytes of input are non-data + // (whitespace, etc.), value will end up negative. (All + // the non-data values in decode are small negative + // numbers, so shifting any of them up and or'ing them + // together will result in a value with its top bit set.) + // + // You can remove this whole block and the output should + // be the same, just slower. + if (state == 0) { + while (p + 4 <= len && + (value = ((alphabet[input[p] & 0xff] << 18) | + (alphabet[input[p + 1] & 0xff] << 12) | + (alphabet[input[p + 2] & 0xff] << 6) | + (alphabet[input[p + 3] & 0xff]))) >= 0) { + output[op + 2] = (byte) value; + output[op + 1] = (byte) (value >> 8); + output[op] = (byte) (value >> 16); + op += 3; + p += 4; + } + if (p >= len) {break;} + } + + // The fast path isn't available -- either we've read a + // partial tuple, or the next four input bytes aren't all + // data, or whatever. Fall back to the slower state + // machine implementation. + + int d = alphabet[input[p++] & 0xff]; + + switch (state) { + case 0: + if (d >= 0) { + value = d; + ++state; + } else if (d != SKIP) { + this.state = 6; + return false; + } + break; + + case 1: + if (d >= 0) { + value = (value << 6) | d; + ++state; + } else if (d != SKIP) { + this.state = 6; + return false; + } + break; + + case 2: + if (d >= 0) { + value = (value << 6) | d; + ++state; + } else if (d == EQUALS) { + // Emit the last (partial) output tuple; + // expect exactly one more padding character. + output[op++] = (byte) (value >> 4); + state = 4; + } else if (d != SKIP) { + this.state = 6; + return false; + } + break; + + case 3: + if (d >= 0) { + // Emit the output triple and return to state 0. + value = (value << 6) | d; + output[op + 2] = (byte) value; + output[op + 1] = (byte) (value >> 8); + output[op] = (byte) (value >> 16); + op += 3; + state = 0; + } else if (d == EQUALS) { + // Emit the last (partial) output tuple; + // expect no further data or padding characters. + output[op + 1] = (byte) (value >> 2); + output[op] = (byte) (value >> 10); + op += 2; + state = 5; + } else if (d != SKIP) { + this.state = 6; + return false; + } + break; + + case 4: + if (d == EQUALS) { + ++state; + } else if (d != SKIP) { + this.state = 6; + return false; + } + break; + + case 5: + if (d != SKIP) { + this.state = 6; + return false; + } + break; + } + } + + if (!finish) { + // We're out of input, but a future call could provide + // more. + this.state = state; + this.value = value; + this.op = op; + return true; + } + + // Done reading input. Now figure out where we are left in + // the state machine and finish up. + + switch (state) { + case 0: + // Output length is a multiple of three. Fine. + break; + case 1: + // Read one extra input byte, which isn't enough to + // make another output byte. Illegal. + this.state = 6; + return false; + case 2: + // Read two extra input bytes, enough to emit 1 more + // output byte. Fine. + output[op++] = (byte) (value >> 4); + break; + case 3: + // Read three extra input bytes, enough to emit 2 more + // output bytes. Fine. + output[op++] = (byte) (value >> 10); + output[op++] = (byte) (value >> 2); + break; + case 4: + // Read one padding '=' when we expected 2. Illegal. + this.state = 6; + return false; + case 5: + // Read all the padding '='s we expected and no more. + // Fine. + break; + } + + this.state = state; + this.op = op; + return true; + } + } + + // -------------------------------------------------------- + // encoding + // -------------------------------------------------------- + + /** + * Base64-encode the given data and return a newly allocated + * String with the result. + * + * @param input the data to encode + * @param flags controls certain features of the encoded output. + * Passing {@code DEFAULT} results in output that + * adheres to RFC 2045. + */ + public static String encodeToString(byte[] input, int flags) { + try { + return new String(encode(input, flags), "US-ASCII"); + } catch (UnsupportedEncodingException e) { + // US-ASCII is guaranteed to be available. + throw new AssertionError(e); + } + } + + /** + * Base64-encode the given data and return a newly allocated + * String with the result. + * + * @param input the data to encode + * @param offset the position within the input array at which to + * start + * @param len the number of bytes of input to encode + * @param flags controls certain features of the encoded output. + * Passing {@code DEFAULT} results in output that + * adheres to RFC 2045. + */ + public static String encodeToString(byte[] input, int offset, int len, int flags) { + try { + return new String(encode(input, offset, len, flags), "US-ASCII"); + } catch (UnsupportedEncodingException e) { + // US-ASCII is guaranteed to be available. + throw new AssertionError(e); + } + } + + /** + * Base64-encode the given data and return a newly allocated + * byte[] with the result. + * + * @param input the data to encode + * @param flags controls certain features of the encoded output. + * Passing {@code DEFAULT} results in output that + * adheres to RFC 2045. + */ + public static byte[] encode(byte[] input, int flags) { + return encode(input, 0, input.length, flags); + } + + /** + * Base64-encode the given data and return a newly allocated + * byte[] with the result. + * + * @param input the data to encode + * @param offset the position within the input array at which to + * start + * @param len the number of bytes of input to encode + * @param flags controls certain features of the encoded output. + * Passing {@code DEFAULT} results in output that + * adheres to RFC 2045. + */ + public static byte[] encode(byte[] input, int offset, int len, int flags) { + Encoder encoder = new Encoder(flags, null); + + // Compute the exact length of the array we will produce. + int output_len = len / 3 * 4; + + // Account for the tail of the data and the padding bytes, if any. + if (encoder.do_padding) { + if (len % 3 > 0) { + output_len += 4; + } + } else { + switch (len % 3) { + case 0: + break; + case 1: + output_len += 2; + break; + case 2: + output_len += 3; + break; + } + } + + // Account for the newlines, if any. + if (encoder.do_newline && len > 0) { + output_len += (((len - 1) / (3 * Encoder.LINE_GROUPS)) + 1) * + (encoder.do_cr ? 2 : 1); + } + + encoder.output = new byte[output_len]; + encoder.process(input, offset, len, true); + + assert encoder.op == output_len; + + return encoder.output; + } + + /* package */ static class Encoder extends Coder { + /** + * Emit a new line every this many output tuples. Corresponds to + * a 76-character line length (the maximum allowable according to + * RFC 2045). + */ + public static final int LINE_GROUPS = 19; + + /** + * Lookup table for turning Base64 alphabet positions (6 bits) + * into output bytes. + */ + private static final byte ENCODE[] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', + 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', + 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', + }; + + /** + * Lookup table for turning Base64 alphabet positions (6 bits) + * into output bytes. + */ + private static final byte ENCODE_WEBSAFE[] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', + 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', + 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_', + }; + + final private byte[] tail; + /* package */ int tailLen; + private int count; + + final public boolean do_padding; + final public boolean do_newline; + final public boolean do_cr; + final private byte[] alphabet; + + public Encoder(int flags, byte[] output) { + this.output = output; + + do_padding = (flags & NO_PADDING) == 0; + do_newline = (flags & NO_WRAP) == 0; + do_cr = (flags & CRLF) != 0; + alphabet = ((flags & URL_SAFE) == 0) ? ENCODE : ENCODE_WEBSAFE; + + tail = new byte[2]; + tailLen = 0; + + count = do_newline ? LINE_GROUPS : -1; + } + + /** + * @return an overestimate for the number of bytes {@code + * len} bytes could encode to. + */ + @Override + public int maxOutputSize(int len) { + return len * 8 / 5 + 10; + } + + @Override + public boolean process(byte[] input, int offset, int len, boolean finish) { + // Using local variables makes the encoder about 9% faster. + final byte[] alphabet = this.alphabet; + final byte[] output = this.output; + int op = 0; + int count = this.count; + + int p = offset; + len += offset; + int v = -1; + + // First we need to concatenate the tail of the previous call + // with any input bytes available now and see if we can empty + // the tail. + + switch (tailLen) { + case 0: + // There was no tail. + break; + + case 1: + if (p + 2 <= len) { + // A 1-byte tail with at least 2 bytes of + // input available now. + v = ((tail[0] & 0xff) << 16) | + ((input[p++] & 0xff) << 8) | + (input[p++] & 0xff); + tailLen = 0; + } + ; + break; + + case 2: + if (p + 1 <= len) { + // A 2-byte tail with at least 1 byte of input. + v = ((tail[0] & 0xff) << 16) | + ((tail[1] & 0xff) << 8) | + (input[p++] & 0xff); + tailLen = 0; + } + break; + } + + if (v != -1) { + output[op++] = alphabet[(v >> 18) & 0x3f]; + output[op++] = alphabet[(v >> 12) & 0x3f]; + output[op++] = alphabet[(v >> 6) & 0x3f]; + output[op++] = alphabet[v & 0x3f]; + if (--count == 0) { + if (do_cr) { + output[op++] = '\r'; + } + output[op++] = '\n'; + count = LINE_GROUPS; + } + } + + // At this point either there is no tail, or there are fewer + // than 3 bytes of input available. + + // The main loop, turning 3 input bytes into 4 output bytes on + // each iteration. + while (p + 3 <= len) { + v = ((input[p] & 0xff) << 16) | + ((input[p + 1] & 0xff) << 8) | + (input[p + 2] & 0xff); + output[op] = alphabet[(v >> 18) & 0x3f]; + output[op + 1] = alphabet[(v >> 12) & 0x3f]; + output[op + 2] = alphabet[(v >> 6) & 0x3f]; + output[op + 3] = alphabet[v & 0x3f]; + p += 3; + op += 4; + if (--count == 0) { + if (do_cr) { + output[op++] = '\r'; + } + output[op++] = '\n'; + count = LINE_GROUPS; + } + } + + if (finish) { + // Finish up the tail of the input. Note that we need to + // consume any bytes in tail before any bytes + // remaining in input; there should be at most two bytes + // total. + + if (p - tailLen == len - 1) { + int t = 0; + v = ((tailLen > 0 ? tail[t++] : input[p++]) & 0xff) << 4; + tailLen -= t; + output[op++] = alphabet[(v >> 6) & 0x3f]; + output[op++] = alphabet[v & 0x3f]; + if (do_padding) { + output[op++] = '='; + output[op++] = '='; + } + if (do_newline) { + if (do_cr) { + output[op++] = '\r'; + } + output[op++] = '\n'; + } + } else if (p - tailLen == len - 2) { + int t = 0; + v = (((tailLen > 1 ? tail[t++] : input[p++]) & 0xff) << 10) | + (((tailLen > 0 ? tail[t++] : input[p++]) & 0xff) << 2); + tailLen -= t; + output[op++] = alphabet[(v >> 12) & 0x3f]; + output[op++] = alphabet[(v >> 6) & 0x3f]; + output[op++] = alphabet[v & 0x3f]; + if (do_padding) { + output[op++] = '='; + } + if (do_newline) { + if (do_cr) { + output[op++] = '\r'; + } + output[op++] = '\n'; + } + } else if (do_newline && op > 0 && count != LINE_GROUPS) { + if (do_cr) { + output[op++] = '\r'; + } + output[op++] = '\n'; + } + + assert tailLen == 0; + assert p == len; + } else { + // Save the leftovers in tail to be consumed on the next + // call to encodeInternal. + + if (p == len - 1) { + tail[tailLen++] = input[p]; + } else if (p == len - 2) { + tail[tailLen++] = input[p]; + tail[tailLen++] = input[p + 1]; + } + } + + this.op = op; + this.count = count; + + return true; + } + } + + private Base64Ext() { + } // don't instantiate +} diff --git a/TVBox_Java/utils/CBC.java b/TVBox_Java/utils/CBC.java new file mode 100644 index 0000000..afde9d0 --- /dev/null +++ b/TVBox_Java/utils/CBC.java @@ -0,0 +1,21 @@ +package com.github.catvod.utils; + +import com.github.catvod.crawler.SpiderDebug; +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +public class CBC { + public static byte[] CBC(byte[] data, byte[] key, byte[] iv) { + try { + IvParameterSpec ivParameterSpec = new IvParameterSpec(iv); + SecretKeySpec secretKeySpec = new SecretKeySpec(key, "AES"); + Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); + cipher.init(2, secretKeySpec, ivParameterSpec); + return cipher.doFinal(data); + } catch (Exception e) { + SpiderDebug.log(e); + return null; + } + } +} \ No newline at end of file diff --git a/TVBox_Java/utils/Misc.java b/TVBox_Java/utils/Misc.java new file mode 100644 index 0000000..65142fc --- /dev/null +++ b/TVBox_Java/utils/Misc.java @@ -0,0 +1,155 @@ +package com.github.catvod.utils; + +import android.net.Uri; + +import com.github.catvod.crawler.SpiderDebug; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.nio.charset.Charset; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.regex.Pattern; + +public class Misc { + public static boolean isVip(String url) { + // 适配2.0.6的调用应用内解析列表的支持, 需要配合直连分析一起使用,参考cjt影视和极品直连 + try { + boolean isVip = false; + String host = Uri.parse(url).getHost(); + String[] vipWebsites = new String[]{"iqiyi.com", "v.qq.com", "youku.com", "le.com", "tudou.com", "mgtv.com", "sohu.com", "acfun.cn", "bilibili.com", "baofeng.com", "pptv.com"}; + for (int b = 0; b < vipWebsites.length; b++) { + if (host.contains(vipWebsites[b])) { + if ("iqiyi.com".equals(vipWebsites[b])) { + //爱奇艺需要特殊处理 + if (url.contains("iqiyi.com/a_") || url.contains("iqiyi.com/w_") || url.contains("iqiyi.com/v_")) { + isVip = true; + break; + } + } else { + isVip = true; + break; + } + } + } + return isVip; + } catch (Exception e) { + } + return false; + } + + private static final Pattern snifferMatch = Pattern.compile("http((?!http).){26,}?\\.(m3u8|mp4)\\?.*|http((?!http).){26,}\\.(m3u8|mp4)|http((?!http).){26,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?cdn-tos[^\\?]*|http((?!http).)*?/obj/tos[^\\?]*|http.*?/player/m3u8play\\.php\\?url=.*|http.*?/player/.*?[pP]lay\\.php\\?url=.*|http.*?/playlist/m3u8/\\?vid=.*|http.*?\\.php\\?type=m3u8&.*|http.*?/download.aspx\\?.*|http.*?/api/up_api.php\\?.*|https.*?\\.66yk\\.cn.*|http((?!http).)*?netease\\.com/file/.*"); + + public static boolean isVideoFormat(String url) { + if (snifferMatch.matcher(url).find()) { + if (url.contains("cdn-tos") && url.contains(".js")) { + return false; + } + return true; + } + return false; + } + + public static String fixUrl(String base, String src) { + try { + if (src.startsWith("//")) { + Uri parse = Uri.parse(base); + src = parse.getScheme() + ":" + src; + } else if (!src.contains("://")) { + Uri parse = Uri.parse(base); + src = parse.getScheme() + "://" + parse.getHost() + src; + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } + + public static boolean isBlackVodUrl(String input, String url) { + if (url.contains("973973.xyz") || url.contains(".fit:")) + return true; + return false; + } + + public static final String UaWinChrome = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; + + public static JSONObject fixJsonVodHeader(JSONObject headers, String input, String url) throws JSONException { + if (headers == null) + headers = new JSONObject(); + if (input.contains("www.mgtv.com")) { + headers.put("Referer", " "); + headers.put("User-Agent", " Mozilla/5.0"); + } else if (url.contains("titan.mgtv")) { + headers.put("Referer", " "); + headers.put("User-Agent", " Mozilla/5.0"); + } else if (input.contains("bilibili")) { + headers.put("Referer", " https://www.bilibili.com/"); + headers.put("User-Agent", " " + Misc.UaWinChrome); + } + return headers; + } + + public static JSONObject jsonParse(String input, String json) throws JSONException { + JSONObject jsonPlayData = new JSONObject(json); + String url; + if (jsonPlayData.has("data")) { + url = jsonPlayData.getJSONObject("data").getString("url"); + } else { + url = jsonPlayData.getString("url"); + } + if (url.startsWith("//")) { + url = "https:" + url; + } + if (!url.startsWith("http")) { + return null; + } + if (url.equals(input)) { + if (isVip(url) || !isVideoFormat(url)) { + return null; + } + } + if (Misc.isBlackVodUrl(input, url)) { + return null; + } + JSONObject headers = new JSONObject(); + String ua = jsonPlayData.optString("user-agent", ""); + if (ua.trim().length() > 0) { + headers.put("User-Agent", " " + ua); + } + String referer = jsonPlayData.optString("referer", ""); + if (referer.trim().length() > 0) { + headers.put("Referer", " " + referer); + } + + headers = Misc.fixJsonVodHeader(headers, input, url); + JSONObject taskResult = new JSONObject(); + taskResult.put("header", headers); + taskResult.put("url", url); + return taskResult; + } + + + public static Charset CharsetUTF8 = Charset.forName("UTF-8"); + public static Charset CharsetIOS8859 = Charset.forName("iso-8859-1"); + + public static String MD5(String src, Charset charset) { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + byte[] bytes = md.digest(src.getBytes(charset)); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < bytes.length; i++) { + int v = bytes[i] & 0xFF; + String hv = Integer.toHexString(v); + if (hv.length() < 2) { + sb.append(0); + } + sb.append(hv); + } + return sb.toString().toLowerCase(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + return ""; + } +} diff --git a/TVBox_Java/utils/RSAUtils.java b/TVBox_Java/utils/RSAUtils.java new file mode 100644 index 0000000..95786e7 --- /dev/null +++ b/TVBox_Java/utils/RSAUtils.java @@ -0,0 +1,364 @@ +package com.github.catvod.utils; + +import com.github.catvod.crawler.SpiderDebug; +import javax.crypto.Cipher; +import java.io.ByteArrayOutputStream; +import java.security.*; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.HashMap; +import java.util.Map; + + +/** + * 实现RSA加密算法 + */ +public final class RSAUtils { + /** + * 加密算法RSA + */ + public static final String KEY_ALGORITHM = "RSA"; + + /** + * 签名算法 + */ + public static final String SIGNATURE_ALGORITHM = "MD5withRSA"; + + /** + * 获取公钥的key + */ + private static final String PUBLIC_KEY = "RSAPublicKey"; + + /** + * 获取私钥的key + */ + private static final String PRIVATE_KEY = "RSAPrivateKey"; + + /** + * RSA最大加密明文大小 + */ + private static final int MAX_ENCRYPT_BLOCK = 117; + + /** + * RSA最大解密密文大小 + */ + private static final int MAX_DECRYPT_BLOCK = 128; + + + /** + * BASE64解密 + * + * @param key + * @return + * @throws Exception + */ + public static byte[] decryptBASE64(String key) throws Exception { + return Base64Ext.decode(key.getBytes(), Base64Ext.NO_WRAP); + } + + /** + * BASE64加密 + * + * @param key + * @return + * @throws Exception + */ + public static String encryptBASE64(byte[] key) throws Exception { + return new String(Base64Ext.encode(key, Base64Ext.NO_WRAP)); + } + + + /** + *

    + * 生成密钥对(公钥和私钥) + *

    + * + * @return + * @throws Exception + */ + public static Map genKeyPair() throws Exception { + KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM); + keyPairGen.initialize(1024); + KeyPair keyPair = keyPairGen.generateKeyPair(); + RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); + RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); + Map keyMap = new HashMap<>(); + keyMap.put(PUBLIC_KEY, publicKey); + keyMap.put(PRIVATE_KEY, privateKey); + return keyMap; + } + + /** + *

    + * 用私钥对信息生成数字签名 + *

    + * + * @param data 待加签preSign + * @param privateKey 私钥(BASE64编码) + * @return + * @throws Exception + */ + public static String sign(byte[] data, String privateKey) throws Exception { + byte[] keyBytes = decryptBASE64(privateKey); + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + PrivateKey privateK = keyFactory.generatePrivate(pkcs8KeySpec); + Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM); + signature.initSign(privateK); + signature.update(data); + return encryptBASE64(signature.sign()); + } + + /** + *

    + * 校验数字签名 + *

    + * + * @param data 待加签preSign + * @param publicKey 公钥(BASE64编码) + * @param sign 数字签名 + * @return + * @throws Exception + */ + public static boolean verify(byte[] data, String publicKey, String sign) throws Exception { + byte[] keyBytes = decryptBASE64(publicKey); + X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + PublicKey publicK = keyFactory.generatePublic(keySpec); + Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM); + signature.initVerify(publicK); + signature.update(data); + return signature.verify(decryptBASE64(sign)); + } + + /** + *

    + * 私钥解密 + *

    + * + * @param encryptedData 已加密数据 + * @param privateKey 私钥(BASE64编码) + * @return + * @throws Exception + */ + public static byte[] decryptByPrivateKey(byte[] encryptedData, String privateKey) throws Exception { + byte[] keyBytes = decryptBASE64(privateKey); + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key privateK = keyFactory.generatePrivate(pkcs8KeySpec); + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.DECRYPT_MODE, privateK); + int inputLen = encryptedData.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // 对数据分段解密 + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_DECRYPT_BLOCK) { + cache = cipher.doFinal(encryptedData, offSet, MAX_DECRYPT_BLOCK); + } else { + cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_DECRYPT_BLOCK; + } + byte[] decryptedData = out.toByteArray(); + out.close(); + return decryptedData; + } + + /** */ + /** + *

    + * 公钥解密 + *

    + * + * @param encryptedData 已加密数据 + * @param publicKey 公钥(BASE64编码) + * @return + * @throws Exception + */ + public static byte[] decryptByPublicKey(byte[] encryptedData, String publicKey) throws Exception { + byte[] keyBytes = decryptBASE64(publicKey); + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key publicK = keyFactory.generatePublic(x509KeySpec); + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.DECRYPT_MODE, publicK); + int inputLen = encryptedData.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // 对数据分段解密 + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_DECRYPT_BLOCK) { + cache = cipher.doFinal(encryptedData, offSet, MAX_DECRYPT_BLOCK); + } else { + cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_DECRYPT_BLOCK; + } + byte[] decryptedData = out.toByteArray(); + out.close(); + return decryptedData; + } + + /** */ + /** + *

    + * 公钥加密 + *

    + * + * @param data 源数据 + * @param publicKey 公钥(BASE64编码) + * @return + * @throws Exception + */ + public static byte[] encryptByPublicKey(byte[] data, String publicKey) throws Exception { + byte[] keyBytes = decryptBASE64(publicKey); + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key publicK = keyFactory.generatePublic(x509KeySpec); + // 对数据加密 + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.ENCRYPT_MODE, publicK); + int inputLen = data.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // 对数据分段加密 + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_ENCRYPT_BLOCK) { + cache = cipher.doFinal(data, offSet, MAX_ENCRYPT_BLOCK); + } else { + cache = cipher.doFinal(data, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_ENCRYPT_BLOCK; + } + byte[] encryptedData = out.toByteArray(); + out.close(); + return encryptedData; + } + + /** + *

    + * 私钥加密 + *

    + * + * @param data 源数据 + * @param privateKey 私钥(BASE64编码) + * @return + * @throws Exception + */ + public static byte[] encryptByPrivateKey(byte[] data, String privateKey) throws Exception { + byte[] keyBytes = decryptBASE64(privateKey); + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key privateK = keyFactory.generatePrivate(pkcs8KeySpec); + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.ENCRYPT_MODE, privateK); + int inputLen = data.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // 对数据分段加密 + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_ENCRYPT_BLOCK) { + cache = cipher.doFinal(data, offSet, MAX_ENCRYPT_BLOCK); + } else { + cache = cipher.doFinal(data, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_ENCRYPT_BLOCK; + } + byte[] encryptedData = out.toByteArray(); + out.close(); + return encryptedData; + } + + /** + *

    + * 获取私钥 + *

    + * + * @param keyMap 密钥对 + * @return + * @throws Exception + */ + public static String getPrivateKey(Map keyMap) throws Exception { + Key key = (Key) keyMap.get(PRIVATE_KEY); + return encryptBASE64(key.getEncoded()); + } + + /** + *

    + * 获取公钥 + *

    + * + * @param keyMap 密钥对 + * @return + * @throws Exception + */ + public static String getPublicKey(Map keyMap) throws Exception { + Key key = (Key) keyMap.get(PUBLIC_KEY); + return encryptBASE64(key.getEncoded()); + } + + /** + * java端私钥加密 + * + * @param data + * @param PRIVATEKEY + * @return + * @throws Exception + */ + public static String encryptedDataWithPriKey(String data, String PRIVATEKEY) throws Exception { + return encryptBASE64(encryptByPrivateKey(data.getBytes(), PRIVATEKEY)); + } + + + /** + * java端私钥解密 + * + * @throws Exception + */ + public static String decryptDataWithPubKey(String data, String PUBLICKEY) throws Exception { + byte[] rs = decryptBASE64(data); + return new String(decryptByPublicKey(rs, PUBLICKEY), "UTF-8"); + } + + + /** + * java端公钥加密 + * + * @throws Exception + */ + public static String encryptedDataWithPubKey(String data, String PUBLICKEY) throws Exception { + data = encryptBASE64(encryptByPublicKey(data.getBytes(), PUBLICKEY)); + return data; + } + + /** + * java端私钥解密 + * + * @throws Exception + */ + public static String decryptDataWithPriKey(String data, String PRIVATEKEY) throws Exception { + byte[] rs = decryptBASE64(data); + return new String(decryptByPrivateKey(rs, PRIVATEKEY), "UTF-8"); + } + + +} diff --git a/TVBox_Java/utils/SSLSocketFactoryCompat.java b/TVBox_Java/utils/SSLSocketFactoryCompat.java new file mode 100644 index 0000000..81104e4 --- /dev/null +++ b/TVBox_Java/utils/SSLSocketFactoryCompat.java @@ -0,0 +1,167 @@ +package com.github.catvod.utils; + +import android.os.Build; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.Socket; +import java.net.UnknownHostException; +import java.security.GeneralSecurityException; +import java.security.cert.CertificateException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocket; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.X509TrustManager; + +public class SSLSocketFactoryCompat extends SSLSocketFactory { + private SSLSocketFactory defaultFactory; + // Android 5.0+ (API level21) provides reasonable default settings + // but it still allows SSLv3 + // https://developer.android.com/about/versions/android-5.0-changes.html#ssl + static String protocols[] = null, cipherSuites[] = null; + + static { + try { + SSLSocket socket = (SSLSocket) SSLSocketFactory.getDefault().createSocket(); + if (socket != null) { + /* set reasonable protocol versions */ + // - enable all supported protocols (enables TLSv1.1 and TLSv1.2 on Android <5.0) + // - remove all SSL versions (especially SSLv3) because they're insecure now + List protocols = new LinkedList<>(); + for (String protocol : socket.getSupportedProtocols()) + if (!protocol.toUpperCase().contains("SSL")) + protocols.add(protocol); + SSLSocketFactoryCompat.protocols = protocols.toArray(new String[protocols.size()]); + /* set up reasonable cipher suites */ + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + // choose known secure cipher suites + List allowedCiphers = Arrays.asList( + // TLS 1.2 + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECHDE_RSA_WITH_AES_128_GCM_SHA256", + // maximum interoperability + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + // additionally + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"); + List availableCiphers = Arrays.asList(socket.getSupportedCipherSuites()); + // take all allowed ciphers that are available and put them into preferredCiphers + HashSet preferredCiphers = new HashSet<>(allowedCiphers); + preferredCiphers.retainAll(availableCiphers); + /* For maximum security, preferredCiphers should *replace* enabled ciphers (thus disabling + * ciphers which are enabled by default, but have become unsecure), but I guess for + * the security level of DAVdroid and maximum compatibility, disabling of insecure + * ciphers should be a server-side task */ + // add preferred ciphers to enabled ciphers + HashSet enabledCiphers = preferredCiphers; + enabledCiphers.addAll(new HashSet<>(Arrays.asList(socket.getEnabledCipherSuites()))); + SSLSocketFactoryCompat.cipherSuites = enabledCiphers.toArray(new String[enabledCiphers.size()]); + } + } + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public SSLSocketFactoryCompat(X509TrustManager tm) { + try { + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(null, (tm != null) ? new X509TrustManager[]{tm} : null, null); + defaultFactory = sslContext.getSocketFactory(); + } catch (GeneralSecurityException e) { + throw new AssertionError(); // The system has no TLS. Just give up. + } + } + + private void upgradeTLS(SSLSocket ssl) { + // Android 5.0+ (API level21) provides reasonable default settings + // but it still allows SSLv3 + // https://developer.android.com/about/versions/android-5.0-changes.html#ssl + if (protocols != null) { + ssl.setEnabledProtocols(protocols); + } + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP && cipherSuites != null) { + ssl.setEnabledCipherSuites(cipherSuites); + } + } + + @Override + public String[] getDefaultCipherSuites() { + return cipherSuites; + } + + @Override + public String[] getSupportedCipherSuites() { + return cipherSuites; + } + + @Override + public Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException { + Socket ssl = defaultFactory.createSocket(s, host, port, autoClose); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + @Override + public Socket createSocket(String host, int port) throws IOException, UnknownHostException { + Socket ssl = defaultFactory.createSocket(host, port); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + @Override + public Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException, UnknownHostException { + Socket ssl = defaultFactory.createSocket(host, port, localHost, localPort); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + @Override + public Socket createSocket(InetAddress host, int port) throws IOException { + Socket ssl = defaultFactory.createSocket(host, port); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + @Override + public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException { + Socket ssl = defaultFactory.createSocket(address, port, localAddress, localPort); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + //定义一个信任所有证书的TrustManager + public static final X509TrustManager trustAllCert = new X509TrustManager() { + @Override + public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { + } + + @Override + public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { + } + + @Override + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return new java.security.cert.X509Certificate[]{}; + } + }; +} diff --git a/TVBox_Java/utils/SpiderOKClient.java b/TVBox_Java/utils/SpiderOKClient.java new file mode 100644 index 0000000..5fba1e9 --- /dev/null +++ b/TVBox_Java/utils/SpiderOKClient.java @@ -0,0 +1,36 @@ +package com.github.catvod.utils; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import okhttp3.OkHttpClient; + +public class SpiderOKClient { + private static OkHttpClient noRedirectClient = null; + + public static OkHttpClient noRedirectClient() { + if (noRedirectClient == null) { + OkHttpClient.Builder builder = new OkHttpClient.Builder() + .readTimeout(15, TimeUnit.SECONDS) + .writeTimeout(15, TimeUnit.SECONDS) + .connectTimeout(15, TimeUnit.SECONDS) + .followRedirects(false) + .followSslRedirects(false) + .retryOnConnectionFailure(true) + .sslSocketFactory(new SSLSocketFactoryCompat(SSLSocketFactoryCompat.trustAllCert), SSLSocketFactoryCompat.trustAllCert); + noRedirectClient = builder.build(); + } + return noRedirectClient; + } + + public static String getRedirectLocation(Map> headers) { + if (headers == null) + return null; + if (headers.containsKey("location")) + return headers.get("location").get(0); + if (headers.containsKey("Location")) + return headers.get("Location").get(0); + return null; + } +} diff --git a/TVBox_Java/utils/gZip.java b/TVBox_Java/utils/gZip.java new file mode 100644 index 0000000..e8f14ea --- /dev/null +++ b/TVBox_Java/utils/gZip.java @@ -0,0 +1,22 @@ +package com.github.catvod.utils; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.zip.GZIPInputStream; + + +public class gZip { + public static String KS(byte[] bArr) throws IOException { + GZIPInputStream gZIPInputStream = new GZIPInputStream(new ByteArrayInputStream(bArr)); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + byte[] bArr2 = new byte[1024]; + while (true) { + int read = gZIPInputStream.read(bArr2); + if (read == -1) { + return byteArrayOutputStream.toString("UTF-8"); + } + byteArrayOutputStream.write(bArr2, 0, read); + } + } +} \ No newline at end of file diff --git a/TVBox_Java/utils/okhttp/OKCallBack.java b/TVBox_Java/utils/okhttp/OKCallBack.java new file mode 100644 index 0000000..9bd5b7c --- /dev/null +++ b/TVBox_Java/utils/okhttp/OKCallBack.java @@ -0,0 +1,60 @@ +package com.github.catvod.utils.okhttp; + +import java.io.IOException; + +import okhttp3.Call; +import okhttp3.Response; + + +public abstract class OKCallBack { + + private T result = null; + + public T getResult() { + return result; + } + + protected void setResult(T val) { + result = val; + } + + protected void onError(final Call call, final Exception e) { + onFailure(call, e); + } + + protected void onSuccess(Call call, Response response) { + T obj = onParseResponse(call, response); + setResult(obj); + onResponse(obj); + } + + protected abstract T onParseResponse(Call call, Response response); + + protected abstract void onFailure(Call call, Exception e); + + protected abstract void onResponse(T response); + + public static abstract class OKCallBackDefault extends OKCallBack { + @Override + public Response onParseResponse(Call call, Response response) { + return response; + } + } + + public static abstract class OKCallBackString extends OKCallBack { + @Override + public void onError(Call call, Exception e) { + setResult(""); + super.onError(call, e); + } + + @Override + public String onParseResponse(Call call, Response response) { + try { + return response.body().string(); + } catch (IOException e) { + return ""; + } + } + } +} diff --git a/TVBox_Java/utils/okhttp/OKRequest.java b/TVBox_Java/utils/okhttp/OKRequest.java new file mode 100644 index 0000000..c24d5ba --- /dev/null +++ b/TVBox_Java/utils/okhttp/OKRequest.java @@ -0,0 +1,132 @@ +package com.github.catvod.utils.okhttp; + +import android.text.TextUtils; + +import java.io.IOException; +import java.util.Map; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.FormBody; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.RequestBody; +import okhttp3.Response; + +class OKRequest { + private final String mMethodType; + private String mUrl; + private Object mTag = null; + private final Map mParamsMap; + private final String mJsonStr; + private final Map mHeaderMap; + private final OKCallBack mCallBack; + private okhttp3.Request mOkHttpRequest; + private okhttp3.Request.Builder mRequestBuilder; + + + OKRequest(String methodType, String url, Map paramsMap, Map headerMap, OKCallBack callBack) { + this(methodType, url, null, paramsMap, headerMap, callBack); + } + + OKRequest(String methodType, String url, String jsonStr, Map headerMap, OKCallBack callBack) { + this(methodType, url, jsonStr, null, headerMap, callBack); + } + + private OKRequest(String methodType, String url, String jsonStr, Map paramsMap, Map headerMap, OKCallBack callBack) { + mMethodType = methodType; + mUrl = url; + mJsonStr = jsonStr; + mParamsMap = paramsMap; + mHeaderMap = headerMap; + mCallBack = callBack; + getInstance(); + } + + public void setTag(Object tag) { + mTag = tag; + } + + private void getInstance() { + mRequestBuilder = new okhttp3.Request.Builder(); + switch (mMethodType) { + case OkHttpUtil.METHOD_GET: + setGetParams(); + break; + case OkHttpUtil.METHOD_POST: + mRequestBuilder.post(getRequestBody()); + break; + } + mRequestBuilder.url(mUrl); + if (mTag != null) + mRequestBuilder.tag(mTag); + if (mHeaderMap != null) { + setHeader(); + } + mOkHttpRequest = mRequestBuilder.build(); + } + + private RequestBody getRequestBody() { + if (!TextUtils.isEmpty(mJsonStr)) { + MediaType JSON = MediaType.parse("application/json; charset=utf-8"); + return RequestBody.create(JSON, mJsonStr); + } + FormBody.Builder formBody = new FormBody.Builder(); + if (mParamsMap != null) { + for (String key : mParamsMap.keySet()) { + formBody.add(key, mParamsMap.get(key)); + } + } + return formBody.build(); + } + + private void setGetParams() { + if (mParamsMap != null) { + mUrl = mUrl + "?"; + for (String key : mParamsMap.keySet()) { + mUrl = mUrl + key + "=" + mParamsMap.get(key) + "&"; + } + mUrl = mUrl.substring(0, mUrl.length() - 1); + } + } + + private void setHeader() { + if (mHeaderMap != null) { + for (String key : mHeaderMap.keySet()) { + mRequestBuilder.addHeader(key, mHeaderMap.get(key)); + } + } + } + + void execute(OkHttpClient client) { + Call call = client.newCall(mOkHttpRequest); + try { + Response response = call.execute(); + if (mCallBack != null) { + mCallBack.onSuccess(call, response); + } + } catch (IOException e) { + if (mCallBack != null) { + mCallBack.onError(call, e); + } + } + } + + void call(OkHttpClient client) { + client.newCall(mOkHttpRequest).enqueue(new Callback() { + @Override + public void onFailure(final Call call, final IOException e) { + if (mCallBack != null) { + mCallBack.onError(call, e); + } + } + + @Override + public void onResponse(final Call call, final Response response) throws IOException { + if (mCallBack != null) { + mCallBack.onSuccess(call, response); + } + } + }); + } +} diff --git a/TVBox_Java/utils/okhttp/OkHttpUtil.java b/TVBox_Java/utils/okhttp/OkHttpUtil.java new file mode 100644 index 0000000..e161c40 --- /dev/null +++ b/TVBox_Java/utils/okhttp/OkHttpUtil.java @@ -0,0 +1,200 @@ +package com.github.catvod.utils.okhttp; + +import com.github.catvod.crawler.SpiderDebug; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import okhttp3.Call; +import okhttp3.OkHttpClient; +import okhttp3.Response; + +public class OkHttpUtil { + + public static final String METHOD_GET = "GET"; + public static final String METHOD_POST = "POST"; + + private static final int DEFAULT_TIMEOUT = 15; + + private static final Object lockO = new Object(); + + private static OkHttpClient defaultClient = null; + + /** + * 不自动重定向 + */ + private static OkHttpClient noRedirectClient = null; + + public static OkHttpClient defaultClient() { + synchronized (lockO) { + if (defaultClient == null) { + OkHttpClient.Builder builder = new OkHttpClient.Builder() + .readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS) + .writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS) + .connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS) + .retryOnConnectionFailure(true) + .sslSocketFactory(new SSLSocketFactoryCompat(SSLSocketFactoryCompat.trustAllCert), SSLSocketFactoryCompat.trustAllCert); + defaultClient = builder.build(); + } + return defaultClient; + } + } + + public static OkHttpClient noRedirectClient() { + synchronized (lockO) { + if (noRedirectClient == null) { + OkHttpClient.Builder builder = new OkHttpClient.Builder() + .readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS) + .writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS) + .connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS) + .followRedirects(false) + .followSslRedirects(false) + .retryOnConnectionFailure(true) + .sslSocketFactory(new SSLSocketFactoryCompat(SSLSocketFactoryCompat.trustAllCert), SSLSocketFactoryCompat.trustAllCert); + noRedirectClient = builder.build(); + } + return noRedirectClient; + } + } + + public static String string(OkHttpClient client, String url, String tag, Map paramsMap, Map headerMap, Map> respHeaderMap) { + OKCallBack stringCallback = new OKCallBack() { + @Override + public String onParseResponse(Call call, Response response) { + try { + if (respHeaderMap != null) { + respHeaderMap.clear(); + respHeaderMap.putAll(response.headers().toMultimap()); + } + return response.body().string(); + } catch (IOException e) { + return ""; + } + } + + @Override + public void onFailure(Call call, Exception e) { + setResult(""); + SpiderDebug.log(e); + } + + @Override + public void onResponse(String response) { + } + }; + OKRequest req = new OKRequest(METHOD_GET, url, paramsMap, headerMap, stringCallback); + req.setTag(tag); + req.execute(client); + return stringCallback.getResult(); + } + + public static String stringNoRedirect(String url, Map headerMap, Map> respHeaderMap) { + return string(noRedirectClient(), url, null, null, headerMap, respHeaderMap); + } + + public static String string(String url, Map headerMap, Map> respHeaderMap) { + return string(defaultClient(), url, null, null, headerMap, respHeaderMap); + } + + public static String string(String url, Map headerMap) { + return string(defaultClient(), url, null, null, headerMap, null); + } + + public static String string(String url, String tag, Map headerMap) { + return string(defaultClient(), url, tag, null, headerMap, null); + } + + public static void get(OkHttpClient client, String url, OKCallBack callBack) { + get(client, url, null, null, callBack); + } + + public static void get(OkHttpClient client, String url, Map paramsMap, OKCallBack callBack) { + get(client, url, paramsMap, null, callBack); + } + + public static void get(OkHttpClient client, String url, Map paramsMap, Map headerMap, OKCallBack callBack) { + new OKRequest(METHOD_GET, url, paramsMap, headerMap, callBack).execute(client); + } + + public static void post(OkHttpClient client, String url, OKCallBack callBack) { + post(client, url, null, callBack); + } + + public static void post(OkHttpClient client, String url, Map paramsMap, OKCallBack callBack) { + post(client, url, paramsMap, null, callBack); + } + + public static void post(OkHttpClient client, String url, Map paramsMap, Map headerMap, OKCallBack callBack) { + new OKRequest(METHOD_POST, url, paramsMap, headerMap, callBack).execute(client); + } + + public static void post(OkHttpClient client, String url, String tag, Map paramsMap, Map headerMap, OKCallBack callBack) { + OKRequest req = new OKRequest(METHOD_POST, url, paramsMap, headerMap, callBack); + req.setTag(tag); + req.execute(client); + } + + public static void postJson(OkHttpClient client, String url, String jsonStr, OKCallBack callBack) { + postJson(client, url, jsonStr, null, callBack); + } + + public static void postJson(OkHttpClient client, String url, String jsonStr, Map headerMap, OKCallBack callBack) { + new OKRequest(METHOD_POST, url, jsonStr, headerMap, callBack).execute(client); + } + + /** + * 根据Tag取消请求 + */ + public static void cancel(OkHttpClient client, Object tag) { + if (client == null || tag == null) return; + for (Call call : client.dispatcher().queuedCalls()) { + if (tag.equals(call.request().tag())) { + call.cancel(); + } + } + for (Call call : client.dispatcher().runningCalls()) { + if (tag.equals(call.request().tag())) { + call.cancel(); + } + } + } + + public static void cancel(Object tag) { + cancel(defaultClient(), tag); + } + + public static void cancelAll() { + cancelAll(defaultClient()); + } + + /** + * 取消所有请求请求 + */ + public static void cancelAll(OkHttpClient client) { + if (client == null) return; + for (Call call : client.dispatcher().queuedCalls()) { + call.cancel(); + } + for (Call call : client.dispatcher().runningCalls()) { + call.cancel(); + } + } + + /** + * 获取重定向地址 + * + * @param headers + * @return + */ + public static String getRedirectLocation(Map> headers) { + if (headers == null) + return null; + if (headers.containsKey("location")) + return headers.get("location").get(0); + if (headers.containsKey("Location")) + return headers.get("Location").get(0); + return null; + } +} diff --git a/TVBox_Java/utils/okhttp/SSLSocketFactoryCompat.java b/TVBox_Java/utils/okhttp/SSLSocketFactoryCompat.java new file mode 100644 index 0000000..f0395e0 --- /dev/null +++ b/TVBox_Java/utils/okhttp/SSLSocketFactoryCompat.java @@ -0,0 +1,167 @@ +package com.github.catvod.utils.okhttp; + +import android.os.Build; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.Socket; +import java.security.GeneralSecurityException; +import java.security.cert.CertificateException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocket; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.X509TrustManager; + +public class SSLSocketFactoryCompat extends SSLSocketFactory { + private final SSLSocketFactory defaultFactory; + // Android 5.0+ (API level21) provides reasonable default settings + // but it still allows SSLv3 + // https://developer.android.com/about/versions/android-5.0-changes.html#ssl + static String[] protocols = null; + static String[] cipherSuites = null; + + static { + try { + SSLSocket socket = (SSLSocket) SSLSocketFactory.getDefault().createSocket(); + if (socket != null) { + /* set reasonable protocol versions */ + // - enable all supported protocols (enables TLSv1.1 and TLSv1.2 on Android <5.0) + // - remove all SSL versions (especially SSLv3) because they're insecure now + List protocols = new LinkedList<>(); + for (String protocol : socket.getSupportedProtocols()) + if (!protocol.toUpperCase().contains("SSL")) + protocols.add(protocol); + SSLSocketFactoryCompat.protocols = protocols.toArray(new String[protocols.size()]); + /* set up reasonable cipher suites */ + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + // choose known secure cipher suites + List allowedCiphers = Arrays.asList( + // TLS 1.2 + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECHDE_RSA_WITH_AES_128_GCM_SHA256", + // maximum interoperability + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + // additionally + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"); + List availableCiphers = Arrays.asList(socket.getSupportedCipherSuites()); + // take all allowed ciphers that are available and put them into preferredCiphers + HashSet preferredCiphers = new HashSet<>(allowedCiphers); + preferredCiphers.retainAll(availableCiphers); + /* For maximum security, preferredCiphers should *replace* enabled ciphers (thus disabling + * ciphers which are enabled by default, but have become unsecure), but I guess for + * the security level of DAVdroid and maximum compatibility, disabling of insecure + * ciphers should be a server-side task */ + // add preferred ciphers to enabled ciphers + HashSet enabledCiphers = preferredCiphers; + enabledCiphers.addAll(new HashSet<>(Arrays.asList(socket.getEnabledCipherSuites()))); + SSLSocketFactoryCompat.cipherSuites = enabledCiphers.toArray(new String[enabledCiphers.size()]); + } + } + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public SSLSocketFactoryCompat(X509TrustManager tm) { + try { + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(null, (tm != null) ? new X509TrustManager[]{tm} : null, null); + defaultFactory = sslContext.getSocketFactory(); + } catch (GeneralSecurityException e) { + throw new AssertionError(); // The system has no TLS. Just give up. + } + } + + private void upgradeTLS(SSLSocket ssl) { + // Android 5.0+ (API level21) provides reasonable default settings + // but it still allows SSLv3 + // https://developer.android.com/about/versions/android-5.0-changes.html#ssl + if (protocols != null) { + ssl.setEnabledProtocols(protocols); + } + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP && cipherSuites != null) { + ssl.setEnabledCipherSuites(cipherSuites); + } + } + + @Override + public String[] getDefaultCipherSuites() { + return cipherSuites; + } + + @Override + public String[] getSupportedCipherSuites() { + return cipherSuites; + } + + @Override + public Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException { + Socket ssl = defaultFactory.createSocket(s, host, port, autoClose); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + @Override + public Socket createSocket(String host, int port) throws IOException { + Socket ssl = defaultFactory.createSocket(host, port); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + @Override + public Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException { + Socket ssl = defaultFactory.createSocket(host, port, localHost, localPort); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + @Override + public Socket createSocket(InetAddress host, int port) throws IOException { + Socket ssl = defaultFactory.createSocket(host, port); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + @Override + public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException { + Socket ssl = defaultFactory.createSocket(address, port, localAddress, localPort); + if (ssl instanceof SSLSocket) + upgradeTLS((SSLSocket) ssl); + return ssl; + } + + //定义一个信任所有证书的TrustManager + public static final X509TrustManager trustAllCert = new X509TrustManager() { + @Override + public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { + } + + @Override + public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { + } + + @Override + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return new java.security.cert.X509Certificate[]{}; + } + }; +} diff --git a/TVBox_Java/xpath/XPathRule.java b/TVBox_Java/xpath/XPathRule.java new file mode 100644 index 0000000..7238fdc --- /dev/null +++ b/TVBox_Java/xpath/XPathRule.java @@ -0,0 +1,687 @@ +package com.github.catvod.xpath; + +import com.github.catvod.crawler.SpiderDebug; + +import org.json.JSONObject; + +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +public class XPathRule { + /** + * user-agent + */ + private String ua; + /** + * 获取分类和首页推荐的Url + */ + private String homeUrl; + /** + * 分类节点 xpath + */ + private String cateNode; + /** + * 分类节点名 xpath + */ + private String cateName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateNameR; + /** + * 分类节点id xpath + */ + private String cateId; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateIdR; + /** + * 手动指定 分类 如果有则不从homeUrl中获取分类 + */ + private LinkedHashMap cateManual = new LinkedHashMap<>(); + + /** + * 筛选 + */ + private JSONObject filter; + + /** + * 更新推荐视频节点 xpath + */ + private String homeVodNode; + /** + * 更新推荐视频名称 xpath + */ + private String homeVodName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern homeVodNameR; + /** + * 更新推荐视频id xpath + */ + private String homeVodId; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern homeVodIdR; + /** + * 更新推荐视频图片 xpath + */ + private String homeVodImg; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern homeVodImgR; + /** + * 更新推荐视频简介 xpath + */ + private String homeVodMark; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern homeVodMarkR; + /** + * 分类页地址 + */ + private String cateUrl; + /** + * 分类叶视频节点 xpath + */ + private String cateVodNode; + /** + * 分类叶视频名称 xpath + */ + private String cateVodName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateVodNameR; + /** + * 分类叶视频视频id xpath + */ + private String cateVodId; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateVodIdR; + /** + * 分类叶视频视频图片 xpath + */ + private String cateVodImg; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateVodImgR; + /** + * 分类叶视频视频简介 xpath + */ + private String cateVodMark; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern cateVodMarkR; + + /** + * 详情页面 + */ + private String dtUrl; + /** + * 详情节点 xpath + */ + private String dtNode; + /** + * 详情 视频名 xpath + */ + private String dtName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtNameR; + /** + * 详情视频图片 xpath + */ + private String dtImg; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtImgR; + /** + * 详情视频分类 xpath + */ + private String dtCate; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtCateR; + /** + * 详情视频年份 xpath + */ + private String dtYear; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtYearR; + /** + * 详情视频地区 xpath + */ + private String dtArea; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtAreaR; + /** + * 详情视频简介 xpath + */ + private String dtMark; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtMarkR; + /** + * 详情演员 xpath + */ + private String dtActor; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtActorR; + /** + * 详情导演 xpath + */ + private String dtDirector; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtDirectorR; + /** + * 详情 说明 长 xpath + */ + private String dtDesc; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern dtDescR; + + /** + * 详情播放来源节点 + */ + private String dtFromNode; + /** + * 详情播放来源名称 xpath + */ + private String dtFromName; + /** + * 详情 + */ + private Pattern dtFromNameR; + /** + * 详情播放地址列表节点 xpath + */ + private String dtUrlNode; + /** + * 详情播放地址节点 xpath + */ + private String dtUrlSubNode; + /** + * 详情播放地址id xpath + */ + private String dtUrlId; + /** + * 详情 + */ + private Pattern dtUrlIdR; + /** + * 详情播放地址名称 xpath + */ + private String dtUrlName; + /** + * 详情 + */ + private Pattern dtUrlNameR; + /** + * 播放页面url + */ + private String playUrl; + /** + * 播放解析调用ua + */ + private String playUa; + + /** + * 搜索页地址 + */ + private String searchUrl; + + /** + * 搜索页视频节点 xpath + */ + private String scVodNode; + /** + * 搜索页视频名称 xpath + */ + private String scVodName; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern scVodNameR; + /** + * 搜索页视频id xpath + */ + private String scVodId; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern scVodIdR; + /** + * 搜索页视频图片 xpath + */ + private String scVodImg; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern scVodImgR; + /** + * 搜索页视频简介 xpath + */ + private String scVodMark; + /** + * 正则对取到的数据进行二次处理 + */ + private Pattern scVodMarkR; + + private static Pattern getPattern(JSONObject json, String key) { + String v = json.optString(key).trim(); + if (v.isEmpty()) + return null; + else { + try { + return Pattern.compile(v); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + return null; + } + + private static String doReplaceRegex(Pattern pattern, String src) { + if (pattern == null) + return src; + try { + Matcher matcher = pattern.matcher(src); + if (matcher.find()) { + return matcher.group(1).trim(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return src; + } + + public static XPathRule fromJson(String json) { + try { + JSONObject jsonObj = new JSONObject(json); + XPathRule rule = new XPathRule(); + rule.ua = jsonObj.optString("ua"); + rule.homeUrl = jsonObj.optString("homeUrl").trim(); + rule.cateNode = jsonObj.optString("cateNode").trim(); + rule.cateName = jsonObj.optString("cateName").trim(); + rule.cateNameR = getPattern(jsonObj, "cateNameR"); + rule.cateId = jsonObj.optString("cateId").trim(); + rule.cateIdR = getPattern(jsonObj, "cateIdR"); + JSONObject navs = jsonObj.optJSONObject("cateManual"); + if (navs != null) { + Iterator keys = navs.keys(); + while (keys.hasNext()) { + String name = keys.next(); + rule.cateManual.put(name.trim(), navs.getString(name).trim()); + } + } + rule.filter = jsonObj.optJSONObject("filter"); + rule.homeVodNode = jsonObj.optString("homeVodNode").trim(); + rule.homeVodName = jsonObj.optString("homeVodName").trim(); + rule.homeVodNameR = getPattern(jsonObj, "homeVodNameR"); + rule.homeVodId = jsonObj.optString("homeVodId").trim(); + rule.homeVodIdR = getPattern(jsonObj, "homeVodIdR"); + rule.homeVodImg = jsonObj.optString("homeVodImg").trim(); + rule.homeVodImgR = getPattern(jsonObj, "homeVodImgR"); + rule.homeVodMark = jsonObj.optString("homeVodMark").trim(); + rule.homeVodMarkR = getPattern(jsonObj, "homeVodMarkR"); + rule.cateUrl = jsonObj.optString("cateUrl").trim(); + rule.cateVodNode = jsonObj.optString("cateVodNode").trim(); + rule.cateVodName = jsonObj.optString("cateVodName").trim(); + rule.cateVodNameR = getPattern(jsonObj, "cateVodNameR"); + rule.cateVodId = jsonObj.optString("cateVodId").trim(); + rule.cateVodIdR = getPattern(jsonObj, "cateVodIdR"); + rule.cateVodImg = jsonObj.optString("cateVodImg").trim(); + rule.cateVodImgR = getPattern(jsonObj, "cateVodImgR"); + rule.cateVodMark = jsonObj.optString("cateVodMark").trim(); + rule.cateVodMarkR = getPattern(jsonObj, "cateVodMarkR"); + rule.dtUrl = jsonObj.optString("dtUrl"); + rule.dtNode = jsonObj.optString("dtNode"); + rule.dtName = jsonObj.optString("dtName"); + rule.dtNameR = getPattern(jsonObj, "dtNameR"); + rule.dtImg = jsonObj.optString("dtImg"); + rule.dtImgR = getPattern(jsonObj, "dtImgR"); + rule.dtCate = jsonObj.optString("dtCate"); + rule.dtCateR = getPattern(jsonObj, "dtCateR"); + rule.dtYear = jsonObj.optString("dtYear"); + rule.dtYearR = getPattern(jsonObj, "dtYearR"); + rule.dtArea = jsonObj.optString("dtArea"); + rule.dtAreaR = getPattern(jsonObj, "dtAreaR"); + rule.dtMark = jsonObj.optString("dtMark"); + rule.dtMarkR = getPattern(jsonObj, "dtMarkR"); + rule.dtActor = jsonObj.optString("dtActor"); + rule.dtActorR = getPattern(jsonObj, "dtActorR"); + rule.dtDirector = jsonObj.optString("dtDirector"); + rule.dtDirectorR = getPattern(jsonObj, "dtDirectorR"); + rule.dtDesc = jsonObj.optString("dtDesc"); + rule.dtDescR = getPattern(jsonObj, "dtDescR"); + rule.dtFromNode = jsonObj.optString("dtFromNode"); + rule.dtFromName = jsonObj.optString("dtFromName"); + rule.dtFromNameR = getPattern(jsonObj, "dtFromNameR"); + rule.dtUrlNode = jsonObj.optString("dtUrlNode"); + rule.dtUrlSubNode = jsonObj.optString("dtUrlSubNode"); + rule.dtUrlId = jsonObj.optString("dtUrlId"); + rule.dtUrlIdR = getPattern(jsonObj, "dtUrlIdR"); + rule.dtUrlName = jsonObj.optString("dtUrlName"); + rule.dtUrlNameR = getPattern(jsonObj, "dtUrlNameR"); + rule.playUrl = jsonObj.optString("playUrl"); + rule.playUa = jsonObj.optString("playUa"); + rule.searchUrl = jsonObj.optString("searchUrl"); + rule.scVodNode = jsonObj.optString("scVodNode").trim(); + rule.scVodName = jsonObj.optString("scVodName").trim(); + rule.scVodNameR = getPattern(jsonObj, "scVodNameR"); + rule.scVodId = jsonObj.optString("scVodId").trim(); + rule.scVodIdR = getPattern(jsonObj, "scVodIdR"); + rule.scVodImg = jsonObj.optString("scVodImg").trim(); + rule.scVodImgR = getPattern(jsonObj, "scVodImgR"); + rule.scVodMark = jsonObj.optString("scVodMark").trim(); + rule.scVodMarkR = getPattern(jsonObj, "scVodMarkR"); + return rule; + } catch (Exception e) { + SpiderDebug.log(e); + } + return null; + } + + public String getUa() { + return ua; + } + + public String getHomeUrl() { + return homeUrl; + } + + public String getCateNode() { + return cateNode; + } + + public String getCateName() { + return cateName; + } + + public String getCateNameR(String src) { + return doReplaceRegex(cateNameR, src); + } + + public String getCateId() { + return cateId; + } + + public String getCateIdR(String src) { + return doReplaceRegex(cateIdR, src); + } + + public LinkedHashMap getCateManual() { + return cateManual; + } + + public JSONObject getFilter() { + return filter; + } + + public String getHomeVodNode() { + return homeVodNode; + } + + public String getHomeVodName() { + return homeVodName; + } + + public String getHomeVodNameR(String src) { + return doReplaceRegex(homeVodNameR, src); + } + + public String getHomeVodId() { + return homeVodId; + } + + public String getHomeVodIdR(String src) { + return doReplaceRegex(homeVodIdR, src); + } + + public String getHomeVodImg() { + return homeVodImg; + } + + public String getHomeVodImgR(String src) { + return doReplaceRegex(homeVodImgR, src); + } + + public String getHomeVodMark() { + return homeVodMark; + } + + public String getHomeVodMarkR(String src) { + return doReplaceRegex(homeVodMarkR, src); + } + + public String getCateUrl() { + return cateUrl; + } + + public String getCateVodNode() { + return cateVodNode; + } + + public String getCateVodName() { + return cateVodName; + } + + public String getCateVodNameR(String src) { + return doReplaceRegex(cateVodNameR, src); + } + + public String getCateVodId() { + return cateVodId; + } + + public String getCateVodIdR(String src) { + return doReplaceRegex(cateVodIdR, src); + } + + public String getCateVodImg() { + return cateVodImg; + } + + public String getCateVodImgR(String src) { + return doReplaceRegex(cateVodImgR, src); + } + + public String getCateVodMark() { + return cateVodMark; + } + + public String getCateVodMarkR(String src) { + return doReplaceRegex(cateVodNameR, src); + } + + public String getDetailUrl() { + return dtUrl; + } + + public String getDetailNode() { + return dtNode; + } + + public String getDetailName() { + return dtName; + } + + public String getDetailNameR(String src) { + return doReplaceRegex(dtNameR, src); + } + + public String getDetailImg() { + return dtImg; + } + + public String getDetailImgR(String src) { + return doReplaceRegex(dtImgR, src); + } + + public String getDetailCate() { + return dtCate; + } + + public String getDetailCateR(String src) { + return doReplaceRegex(dtCateR, src); + } + + public String getDetailYear() { + return dtYear; + } + + public String getDetailYearR(String src) { + return doReplaceRegex(dtYearR, src); + } + + public String getDetailArea() { + return dtArea; + } + + public String getDetailAreaR(String src) { + return doReplaceRegex(dtAreaR, src); + } + + public String getDetailMark() { + return dtMark; + } + + public String getDetailMarkR(String src) { + return doReplaceRegex(dtMarkR, src); + } + + public String getDetailActor() { + return dtActor; + } + + public String getDetailActorR(String src) { + return doReplaceRegex(dtActorR, src); + } + + public String getDetailDirector() { + return dtDirector; + } + + public String getDetailDirectorR(String src) { + return doReplaceRegex(dtDirectorR, src); + } + + public String getDetailDesc() { + return dtDesc; + } + + public String getDetailDescR(String src) { + return doReplaceRegex(dtDescR, src); + } + + public String getDetailFromNode() { + return dtFromNode; + } + + public String getDetailFromName() { + return dtFromName; + } + + public String getDetailFromNameR(String src) { + return doReplaceRegex(dtFromNameR, src); + } + + public String getDetailUrlNode() { + return dtUrlNode; + } + + public String getDetailUrlSubNode() { + return dtUrlSubNode; + } + + public String getDetailUrlId() { + return dtUrlId; + } + + public String getDetailUrlIdR(String src) { + return doReplaceRegex(dtUrlIdR, src); + } + + public String getDetailUrlName() { + return dtUrlName; + } + + public String getDetailUrlNameR(String src) { + return doReplaceRegex(dtUrlNameR, src); + } + + public String getPlayUrl() { + return playUrl; + } + + public String getPlayUa() { + return playUa; + } + + public String getSearchUrl() { + return searchUrl; + } + + public String getSearchVodNode() { + return scVodNode; + } + + public String getSearchVodName() { + return scVodName; + } + + public String getSearchVodNameR(String src) { + return doReplaceRegex(scVodNameR, src); + } + + public String getSearchVodId() { + return scVodId; + } + + public String getSearchVodIdR(String src) { + return doReplaceRegex(scVodIdR, src); + } + + public String getSearchVodImg() { + return scVodImg; + } + + public String getSearchVodImgR(String src) { + return doReplaceRegex(scVodImgR, src); + } + + public String getSearchVodMark() { + return scVodMark; + } + + public String getSearchVodMarkR(String src) { + return doReplaceRegex(scVodMarkR, src); + } +} diff --git a/TVBox_Java/xpath/p.json b/TVBox_Java/xpath/p.json new file mode 100644 index 0000000..68ce241 --- /dev/null +++ b/TVBox_Java/xpath/p.json @@ -0,0 +1,1326 @@ +{ + "player": { + "dpp": { + "sh": "DP播放", + "pu": "https://pic.zxzjtv.com/dplayer.php?url=", + "sn": 1, + "or": 999 + } + }, + "filter": { + "1": [ + { + "key": "3", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "警匪", + "v": "警匪" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "动画", + "v": "动画" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "青春", + "v": "青春" + }, + { + "n": "情色", + "v": "情色" + } + ] + }, + { + "key": "1", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "11", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "4", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "法语", + "v": "法语" + }, + { + "n": "泰语", + "v": "泰语" + }, + { + "n": "德语", + "v": "德语" + }, + { + "n": "印度语", + "v": "印度语" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "俄语", + "v": "俄语" + }, + { + "n": "西班牙语", + "v": "西班牙语" + }, + { + "n": "意大利语", + "v": "意大利语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "2", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "2": [ + { + "key": "3", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "4", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "法语", + "v": "法语" + } + ] + }, + { + "key": "11", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "2", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "3", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "11", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "2", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [ + { + "key": "3", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "11", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "2", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "6": [ + { + "key": "3", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "情感", + "v": "情感" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "热血", + "v": "热血" + }, + { + "n": "推理", + "v": "推理" + }, + { + "n": "搞笑", + "v": "搞笑" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "萝莉", + "v": "萝莉" + }, + { + "n": "校园", + "v": "校园" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "机战", + "v": "机战" + }, + { + "n": "运动", + "v": "运动" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "少年", + "v": "少年" + }, + { + "n": "少女", + "v": "少女" + }, + { + "n": "社会", + "v": "社会" + }, + { + "n": "原创", + "v": "原创" + }, + { + "n": "亲子", + "v": "亲子" + }, + { + "n": "益智", + "v": "益智" + }, + { + "n": "励志", + "v": "励志" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "1", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "11", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "4", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "2", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "5": [ + { + "key": "3", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "11", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "2", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/TVBox_Java/xpath/test.json b/TVBox_Java/xpath/test.json new file mode 100644 index 0000000..a6d46e4 --- /dev/null +++ b/TVBox_Java/xpath/test.json @@ -0,0 +1,791 @@ +{ + "siteUrl": "https://www.smdyy.cc", + "regexCategory": "/list/(\\d+).html", + "regexVid": "/kan/(\\d+).html", + "regexPlay": "/play/(\\d+)-(\\d+)-(\\d+).html", + "regexPage": "/show/(\\S+).html", + "player": { + "duoduozy": { + "show": "高清线路", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "sohu": { + "show": "优选7", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "qq": { + "show": "优选3", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "bilibili": { + "show": "bilibili", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "youku": { + "show": "优选1", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "qiyi": { + "show": "优选2", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "letv": { + "show": "优选6", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "xigua": { + "show": "西瓜视频", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "mgtv": { + "show": "优选4", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "tkm3u8": { + "show": "备用", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + }, + "pptv": { + "show": "优选5", + "or": 999, + "ps": "0", + "parse": "https://player.6080kan.cc/player/play.php?url=" + } + }, + "filter": { + "1": [ + { + "key": "tid", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "1" + }, + { + "n": "动作片", + "v": "6" + }, + { + "n": "喜剧片", + "v": "7" + }, + { + "n": "爱情片", + "v": "8" + }, + { + "n": "科幻片", + "v": "9" + }, + { + "n": "恐怖片", + "v": "10" + }, + { + "n": "剧情片", + "v": "11" + }, + { + "n": "战争片", + "v": "12" + }, + { + "n": "犯罪片", + "v": "20" + }, + { + "n": "惊悚片", + "v": "21" + }, + { + "n": "冒险片", + "v": "22" + }, + { + "n": "悬疑片", + "v": "23" + }, + { + "n": "武侠片", + "v": "24" + }, + { + "n": "奇幻片", + "v": "25" + }, + { + "n": "纪录片", + "v": "26" + }, + { + "n": "动画片", + "v": "27" + } + ] + }, + { + "key": "1", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "11", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "4", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + } + ] + } + ], + "2": [ + { + "key": "tid", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "2" + }, + { + "n": "国产剧", + "v": "13" + }, + { + "n": "港台剧", + "v": "14" + }, + { + "n": "日韩剧", + "v": "15" + }, + { + "n": "欧美剧", + "v": "16" + }, + { + "n": "泰国剧", + "v": "28" + } + ] + }, + { + "key": "1", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "11", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "4", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + } + ] + } + ], + "3": [ + { + "key": "3", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "3" + }, + { + "n": "情感", + "v": "情感" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "热血", + "v": "热血" + }, + { + "n": "推理", + "v": "推理" + }, + { + "n": "搞笑", + "v": "搞笑" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "萝莉", + "v": "萝莉" + }, + { + "n": "校园", + "v": "校园" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "机战", + "v": "机战" + }, + { + "n": "运动", + "v": "运动" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "少年", + "v": "少年" + }, + { + "n": "少女", + "v": "少女" + }, + { + "n": "社会", + "v": "社会" + }, + { + "n": "原创", + "v": "原创" + }, + { + "n": "亲子", + "v": "亲子" + }, + { + "n": "益智", + "v": "益智" + }, + { + "n": "励志", + "v": "励志" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "1", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": " 内地", + "v": " 内地" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "11", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "4", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + } + ] + } + ] + } +} + + + + diff --git a/TVBox_Java/加进去报错的Java源代码/Alist2.java b/TVBox_Java/加进去报错的Java源代码/Alist2.java new file mode 100644 index 0000000..03a8d50 --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/Alist2.java @@ -0,0 +1,187 @@ +package com.github.catvod.spider; + +import android.content.Context; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONObject; + +import okhttp3.Call; + +public class Alist extends Spider { + private String ext; + + public String categoryContent(String tid, String pg, boolean filter, HashMap hashMap) { + try { + String url = this.ext + "/api/public/path"; + JSONObject params = new JSONObject(); + params.put("path", tid); + + JSONArray jSONArray2 = new JSONArray(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, params.toString(), new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(String response) { + try { + JSONObject retval = new JSONObject(response); + JSONArray list = retval.getJSONObject("data").getJSONArray("files"); + for (int i =0; i < list.length(); ++i){ + JSONObject o = list.getJSONObject(i); + String pic = o.getString("thumbnail"); + if(pic.isEmpty()){ + pic = "http://img1.3png.com/281e284a670865a71d91515866552b5f172b.png"; + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", tid + (tid.charAt(tid.length()-1) == '/' ? "" : "/") + o.getString("name")); + jSONObject2.put("vod_name", o.getString("name")); + jSONObject2.put("vod_pic", pic); + jSONObject2.put("vod_tag",o.getInt("type")==1 ? "folder" : "file" ); + jSONObject2.put("vod_remarks", o.getInt("type")==1 ? "文件夹" : "文件"); + jSONArray2.put(jSONObject2); + + } + }catch (Exception e){ + e.printStackTrace(); + } + } + }); + + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("page", 1); + jSONObject3.put("pagecount", 1); + jSONObject3.put("limit", jSONArray2.length()); + jSONObject3.put("total", jSONArray2.length()); + jSONObject3.put("list", jSONArray2); + return jSONObject3.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + public String detailContent(List ids) { + try + { + String filename = ids.get(0); + String url = this.ext + "/api/public/path"; + JSONObject params = new JSONObject(); + params.put("path", filename); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, params.toString(), new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(String response) { + try { + JSONObject retval = new JSONObject(response); + JSONArray files = retval.getJSONObject("data").getJSONArray("files"); + for (int i =0; i < files.length(); ++i){ + JSONObject o = files.getJSONObject(i); + String url = o.getString("url"); + if(url.indexOf("//") ==0){ + url = "http:"+url; + } + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", filename + "/" + o.getString("name")); + jSONObject2.put("vod_name", o.getString("name")); + jSONObject2.put("vod_pic", o.getString("thumbnail")); + jSONObject2.put("vod_tag",o.getInt("type")==1 ? "folder" : "file" ); + jSONObject2.put("vod_play_from", "播放"); + jSONObject2.put("vod_play_url", o.getString("name")+"$"+url); + list.put(jSONObject2); + + } + }catch (Exception e){ + e.printStackTrace(); + } + } + }); + + result.put("list", list); + return result.toString(); + } + catch (Exception e){ + e.printStackTrace(); + } + return ""; + + } + + + String fileTime(long time, String fmt) { + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(time); + Date date = calendar.getTime(); + SimpleDateFormat sdf = new SimpleDateFormat(fmt); + return sdf.format(date); + } + + public String homeContent(boolean z) { + try { + JSONArray classes = new JSONArray(); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", "/"); + newCls.put("type_name", "Alist"); + newCls.put("type_flag", "1"); // 1 列表形式的文件夹 2 缩略图 0 或者不存在 表示正常 + classes.put(newCls); + + JSONArray jSONArray3 = new JSONArray(); + + JSONObject jSONObject4 = new JSONObject(); + jSONObject4.put("class", classes); + if(z) { + jSONObject4.put("filters", new JSONObject("{}")); + } + return jSONObject4.toString(); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + public void init(Context context, String ext){ + Alist.super.init(context); + this.ext = ext; + } + + public String playerContent(String str, String str2, List list) { + try{ + JSONObject result = new JSONObject(); + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", str2); + return result.toString(); + }catch (Exception e){ + e.printStackTrace(); + } + return ""; + } + + public String searchContent(String str, boolean z) { + try { + return ""; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + +} diff --git a/TVBox_Java/加进去报错的Java源代码/Bdys01_SSSVIP.java b/TVBox_Java/加进去报错的Java源代码/Bdys01_SSSVIP.java new file mode 100644 index 0000000..4dea140 --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/Bdys01_SSSVIP.java @@ -0,0 +1,604 @@ +package com.github.catvod.spider; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; +import android.text.TextUtils; +import android.util.Base64; + +import java.io.InputStream; +import java.io.ByteArrayOutputStream; + + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.gZip; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.TreeMap; + +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; + +import okhttp3.Call; +import okhttp3.Response; + + + + +public class Bdys01 extends Spider { + private static final String siteUrl = "https://www.bdys01.com"; + private static final String siteHost = "www.bdys01.com"; + private String cookie=""; + private String referer=""; + private String rspurl=""; + + /** + * 筛选配置 + */ + private JSONObject filterConfig; + + + @Override + public void init(Context context) { + super.init(context); + try { + filterConfig = new JSONObject("{\"0\":[{\"key\":\"s\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"all\"},{\"n\":\"动作\",\"v\":\"dongzuo\"},{\"n\":\"爱情\",\"v\":\"aiqing\"},{\"n\":\"喜剧\",\"v\":\"xiju\"},{\"n\":\"科幻\",\"v\":\"kehuan\"},{\"n\":\"恐怖\",\"v\":\"kongbu\"},{\"n\":\"战争\",\"v\":\"zhanzheng\"},{\"n\":\"武侠\",\"v\":\"wuxia\"},{\"n\":\"魔幻\",\"v\":\"mohuan\"},{\"n\":\"剧情\",\"v\":\"juqing\"},{\"n\":\"动画\",\"v\":\"donghua\"},{\"n\":\"惊悚\",\"v\":\"jingsong\"},{\"n\":\"3D\",\"v\":\"3D\"},{\"n\":\"灾难\",\"v\":\"zainan\"},{\"n\":\"悬疑\",\"v\":\"xuanyi\"},{\"n\":\"警匪\",\"v\":\"jingfei\"},{\"n\":\"文艺\",\"v\":\"wenyi\"},{\"n\":\"青春\",\"v\":\"qingchun\"},{\"n\":\"冒险\",\"v\":\"maoxian\"},{\"n\":\"犯罪\",\"v\":\"fanzui\"},{\"n\":\"纪录\",\"v\":\"jilu\"},{\"n\":\"古装\",\"v\":\"guzhuang\"},{\"n\":\"奇幻\",\"v\":\"qihuan\"},{\"n\":\"国语\",\"v\":\"guoyu\"},{\"n\":\"综艺\",\"v\":\"zongyi\"},{\"n\":\"历史\",\"v\":\"lishi\"},{\"n\":\"运动\",\"v\":\"yundong\"},{\"n\":\"原创压制\",\"v\":\"yuanchuang\"},{\"n\":\"美剧\",\"v\":\"meiju\"},{\"n\":\"韩剧\",\"v\":\"hanju\"},{\"n\":\"国产电视剧\",\"v\":\"guoju\"},{\"n\":\"日剧\",\"v\":\"riju\"},{\"n\":\"英剧\",\"v\":\"yingju\"},{\"n\":\"德剧\",\"v\":\"deju\"},{\"n\":\"俄剧\",\"v\":\"eju\"},{\"n\":\"巴剧\",\"v\":\"baju\"},{\"n\":\"加剧\",\"v\":\"jiaju\"},{\"n\":\"西剧\",\"v\":\"anish\"},{\"n\":\"意大利剧\",\"v\":\"yidaliju\"},{\"n\":\"泰剧\",\"v\":\"taiju\"},{\"n\":\"港台剧\",\"v\":\"gangtaiju\"},{\"n\":\"法剧\",\"v\":\"faju\"},{\"n\":\"澳剧\",\"v\":\"aoju\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"不限\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"澳大利亚\",\"v\":\"澳大利亚\"},{\"n\":\"比利时\",\"v\":\"比利时\"},{\"n\":\"瑞典\",\"v\":\"瑞典\"},{\"n\":\"荷兰\",\"v\":\"荷兰\"},{\"n\":\"丹麦\",\"v\":\"丹麦\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"更新时间\",\"v\":\"0\"},{\"n\":\"豆瓣评分\",\"v\":\"1\"}]}],\"1\":[{\"key\":\"s\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"all\"},{\"n\":\"动作\",\"v\":\"dongzuo\"},{\"n\":\"爱情\",\"v\":\"aiqing\"},{\"n\":\"喜剧\",\"v\":\"xiju\"},{\"n\":\"科幻\",\"v\":\"kehuan\"},{\"n\":\"恐怖\",\"v\":\"kongbu\"},{\"n\":\"战争\",\"v\":\"zhanzheng\"},{\"n\":\"武侠\",\"v\":\"wuxia\"},{\"n\":\"魔幻\",\"v\":\"mohuan\"},{\"n\":\"剧情\",\"v\":\"juqing\"},{\"n\":\"动画\",\"v\":\"donghua\"},{\"n\":\"惊悚\",\"v\":\"jingsong\"},{\"n\":\"3D\",\"v\":\"3D\"},{\"n\":\"灾难\",\"v\":\"zainan\"},{\"n\":\"悬疑\",\"v\":\"xuanyi\"},{\"n\":\"警匪\",\"v\":\"jingfei\"},{\"n\":\"文艺\",\"v\":\"wenyi\"},{\"n\":\"青春\",\"v\":\"qingchun\"},{\"n\":\"冒险\",\"v\":\"maoxian\"},{\"n\":\"犯罪\",\"v\":\"fanzui\"},{\"n\":\"纪录\",\"v\":\"jilu\"},{\"n\":\"古装\",\"v\":\"guzhuang\"},{\"n\":\"奇幻\",\"v\":\"qihuan\"},{\"n\":\"国语\",\"v\":\"guoyu\"},{\"n\":\"综艺\",\"v\":\"zongyi\"},{\"n\":\"历史\",\"v\":\"lishi\"},{\"n\":\"运动\",\"v\":\"yundong\"},{\"n\":\"原创压制\",\"v\":\"yuanchuang\"},{\"n\":\"美剧\",\"v\":\"meiju\"},{\"n\":\"韩剧\",\"v\":\"hanju\"},{\"n\":\"国产电视剧\",\"v\":\"guoju\"},{\"n\":\"日剧\",\"v\":\"riju\"},{\"n\":\"英剧\",\"v\":\"yingju\"},{\"n\":\"德剧\",\"v\":\"deju\"},{\"n\":\"俄剧\",\"v\":\"eju\"},{\"n\":\"巴剧\",\"v\":\"baju\"},{\"n\":\"加剧\",\"v\":\"jiaju\"},{\"n\":\"西剧\",\"v\":\"anish\"},{\"n\":\"意大利剧\",\"v\":\"yidaliju\"},{\"n\":\"泰剧\",\"v\":\"taiju\"},{\"n\":\"港台剧\",\"v\":\"gangtaiju\"},{\"n\":\"法剧\",\"v\":\"faju\"},{\"n\":\"澳剧\",\"v\":\"aoju\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"不限\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"澳大利亚\",\"v\":\"澳大利亚\"},{\"n\":\"比利时\",\"v\":\"比利时\"},{\"n\":\"瑞典\",\"v\":\"瑞典\"},{\"n\":\"荷兰\",\"v\":\"荷兰\"},{\"n\":\"丹麦\",\"v\":\"丹麦\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"更新时间\",\"v\":\"0\"},{\"n\":\"豆瓣评分\",\"v\":\"1\"}]}],\"a\":[{\"key\":\"s\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"all\"},{\"n\":\"动作\",\"v\":\"dongzuo\"},{\"n\":\"爱情\",\"v\":\"aiqing\"},{\"n\":\"喜剧\",\"v\":\"xiju\"},{\"n\":\"科幻\",\"v\":\"kehuan\"},{\"n\":\"恐怖\",\"v\":\"kongbu\"},{\"n\":\"战争\",\"v\":\"zhanzheng\"},{\"n\":\"武侠\",\"v\":\"wuxia\"},{\"n\":\"魔幻\",\"v\":\"mohuan\"},{\"n\":\"剧情\",\"v\":\"juqing\"},{\"n\":\"动画\",\"v\":\"donghua\"},{\"n\":\"惊悚\",\"v\":\"jingsong\"},{\"n\":\"3D\",\"v\":\"3D\"},{\"n\":\"灾难\",\"v\":\"zainan\"},{\"n\":\"悬疑\",\"v\":\"xuanyi\"},{\"n\":\"警匪\",\"v\":\"jingfei\"},{\"n\":\"文艺\",\"v\":\"wenyi\"},{\"n\":\"青春\",\"v\":\"qingchun\"},{\"n\":\"冒险\",\"v\":\"maoxian\"},{\"n\":\"犯罪\",\"v\":\"fanzui\"},{\"n\":\"纪录\",\"v\":\"jilu\"},{\"n\":\"古装\",\"v\":\"guzhuang\"},{\"n\":\"奇幻\",\"v\":\"qihuan\"},{\"n\":\"国语\",\"v\":\"guoyu\"},{\"n\":\"综艺\",\"v\":\"zongyi\"},{\"n\":\"历史\",\"v\":\"lishi\"},{\"n\":\"运动\",\"v\":\"yundong\"},{\"n\":\"原创压制\",\"v\":\"yuanchuang\"},{\"n\":\"美剧\",\"v\":\"meiju\"},{\"n\":\"韩剧\",\"v\":\"hanju\"},{\"n\":\"国产电视剧\",\"v\":\"guoju\"},{\"n\":\"日剧\",\"v\":\"riju\"},{\"n\":\"英剧\",\"v\":\"yingju\"},{\"n\":\"德剧\",\"v\":\"deju\"},{\"n\":\"俄剧\",\"v\":\"eju\"},{\"n\":\"巴剧\",\"v\":\"baju\"},{\"n\":\"加剧\",\"v\":\"jiaju\"},{\"n\":\"西剧\",\"v\":\"anish\"},{\"n\":\"意大利剧\",\"v\":\"yidaliju\"},{\"n\":\"泰剧\",\"v\":\"taiju\"},{\"n\":\"港台剧\",\"v\":\"gangtaiju\"},{\"n\":\"法剧\",\"v\":\"faju\"},{\"n\":\"澳剧\",\"v\":\"aoju\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"不限\",\"v\":\"\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"澳大利亚\",\"v\":\"澳大利亚\"},{\"n\":\"比利时\",\"v\":\"比利时\"},{\"n\":\"瑞典\",\"v\":\"瑞典\"},{\"n\":\"荷兰\",\"v\":\"荷兰\"},{\"n\":\"丹麦\",\"v\":\"丹麦\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2005\",\"v\":\"2005\"},{\"n\":\"2004\",\"v\":\"2004\"},{\"n\":\"2003\",\"v\":\"2003\"},{\"n\":\"2002\",\"v\":\"2002\"},{\"n\":\"2001\",\"v\":\"2001\"},{\"n\":\"2000\",\"v\":\"2000\"}]},{\"key\":\"order\",\"name\":\"排序\",\"value\":[{\"n\":\"更新时间\",\"v\":\"0\"},{\"n\":\"豆瓣评分\",\"v\":\"1\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url,String ref) { + HashMap headers = new HashMap<>(); + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + if(!ref.equals("google")){ + headers.put("Authority", "www.bdys01.com"); + if(ref.length()>0){ + if(ref.equals("origin")){ + headers.put("Origin", "https://www.bdys01.com"); + } else { + headers.put("Referer", ref); + } + } + if(cookie.length()>0){ + headers.put("Cookie", cookie); + } + } + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + protected HashMap getHeaders2(String url) { + HashMap headers = new HashMap<>(); + String ss = url.replace("https://","").split("/")[0]; + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Authority", ss); + headers.put("Origin", "www.bdys01.com"); + headers.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"); + return headers; + } + + + protected void getCookie(){ + cookie=""; + String cookieurl="https://www.bdys01.com/zzzzz"; + Map> cookies = new HashMap<>(); + OkHttpUtil.string(cookieurl,getHeaders(cookieurl,""),cookies); + for( Map.Entry> entry : cookies.entrySet() ){ + if(entry.getKey().equals("set-cookie")){ + cookie = "Messi YYDS Forever 8K ;" + TextUtils.join(";",entry.getValue()); + break; + } + } + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + getCookie(); + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl,referer))); + referer=siteUrl+"/"; + // 分类节点 + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + String catestr ="{\"全部\": \"a\",\"电影\": \"0\",\"电视剧\": \"1\"}"; + JSONObject catedef = new JSONObject(catestr); + Iterator it = catedef.keys(); + while(it.hasNext()){ + JSONObject jsonObject = new JSONObject(); + String key =(String) it.next(); + jsonObject.put("type_name", key); + jsonObject.put("type_id", catedef.getString(key)); + classes.put(jsonObject); + } + result.put("class", classes); + if (filter) { + result.put("filters", filterConfig); + } + try { + // 取首页推荐视频列表 + Element homeList = doc.select("div.row.row-cards").get(0); + Elements list = homeList.select("div.col-4.rows-md-7"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("h3.card-title").text(); + String cover = vod.selectFirst("img.w-100" ).attr("data-src"); + String remark = vod.selectFirst("p.text-muted").text(); + String id =vod.selectFirst("a.d-block.cover").attr("href"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/s/" ; + if (extend != null && extend.size() > 0 ) { + String urlformat= ""; + if(tid.equals("a")){ + urlformat= url +"{s}/"+ pg +"?&area={area}&year={year}&order={order}"; + }else { + urlformat= url +"{s}/"+ pg +"?&type="+tid+"&area={area}&year={year}&order={order}"; + } + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + urlformat=urlformat.replace("{"+key+"}",URLEncoder.encode(value)); + } + } + for (int i=0 ;i<4;i++) { + if (urlformat.contains("{s}")) { + urlformat = urlformat.replace("{s}", "all"); + } else if (urlformat.contains("{area}")) { + urlformat = urlformat.replace("&area={area}", ""); + } else if (urlformat.contains("{year}")) { + urlformat = urlformat.replace("&year={year}", ""); + } else if (urlformat.contains("{order}")) { + urlformat = urlformat.replace("{order}", "0"); + } + } + url = urlformat; + } else { + if(tid.equals("a")){ + url += "all/" + pg + "?&order=0"; + }else { + url += "all/" + pg + "?&type=" + tid + "&order=0"; + } + } + referer=siteUrl+"/"; + String html = OkHttpUtil.string(url, getHeaders(url,referer)); + referer = url; + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + // 取当前分类页的视频列表 + Elements list = doc.select("div.col-lg-8"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst("h3.mb-0").text(); + String cover = vod.selectFirst("img.w-100").attr("src"); + String remark = vod.selectFirst("p.mb-0").text(); + String idtt = vod.selectFirst("a.d-block").attr("href"); + String id =""; + if(idtt.contains("JSESSIONID")) { + int end = idtt.indexOf(";"); + id = idtt.substring(0,end); + }else{ + id =idtt; + } + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + int page =Integer.parseInt(pg); + result.put("page", page); + result.put("pagecount", videos.length()== 24 ? page + 1 : page); + result.put("limit", 24); + result.put("total",Integer.MAX_VALUE ); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + String url = siteUrl + ids.get(0); + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url,referer))); + referer=url; + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + String cover = doc.selectFirst("div.col-md-auto img").attr("src"); + String title = doc.selectFirst("h1.d-none.d-md-block").text(); + String desc = doc.select("div.card.collapse > div.card-body").text(); + String year = doc.select("span.badge.bg-purple-lt").text().replace("更新时间:","").split("-")[0]; + String category = "", area = "", remark = "", director = "", actor = ""; + Element details = doc.select("div.col.mb-2").get(0); + Elements allp = details.select("p"); + for (int i = 0; i < allp.size(); i++) { + Element text = allp.get(i); + String info = text.selectFirst("strong").text(); + if (info.equals("类型:")) { + List categorys = new ArrayList<>(); + Elements aa = text.select("a"); + for (int j = 0; j < aa.size(); j++) { + categorys.add(aa.get(j).text()); + } + category ="类型:"+TextUtils.join(",", categorys); + } else if (info.contains("地区")) { + int start= text.text().indexOf("[")+1; + int end = text.text().indexOf("]"); + area = text.text().substring(start,end); + } else if (info.contains("豆瓣")) { + remark = "豆瓣:"+text.text(); + } else if (info.contains("导演:")) { + director = text.selectFirst("a").text(); + } else if (info.contains("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor =TextUtils.join(",", actors); + } + } + String vid = ids.get(0); + vodList.put("vod_id", vid); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + Map vod_play = new TreeMap<>(); + // 取播放列表数据 + Elements playListA = doc.select("a.btn.btn-square"); + String sourceName = "播放列表"; + String playList = ""; + List vodItems = new ArrayList<>(); + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + String idtt = vod.attr("href"); + String playURL =""; + if(idtt.contains("JSESSIONID")) { + int end = idtt.indexOf(";"); + playURL = idtt.substring(0,end); + }else{ + playURL =idtt; + } + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + vod_play.put(sourceName, playList); + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @TargetApi(Build.VERSION_CODES.KITKAT) + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + String url = siteUrl + id ; + String htmlplay = OkHttpUtil.string(url, getHeaders(url,referer)); + Document doc = Jsoup.parse(htmlplay); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + String pid=""; + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).toString(); + if (scContent.contains("var pid =")) { + int start = scContent.indexOf("var pid ="); + int end = scContent.lastIndexOf("var time") + 1; + String pidtmp = scContent.substring(start, end); + start = pidtmp.indexOf("=")+2; + end = pidtmp.lastIndexOf(";") ; + pid = pidtmp.substring(start, end); + break; + } + } + long t = System.currentTimeMillis(); + String key = Misc.MD5(pid+"-"+t, StandardCharsets.UTF_8).substring(0,16); + String sg = encrypt(pid+"-"+t,key); + String geturl = siteUrl+"/lines?t="+t+"&sg="+sg+"&pid="+pid; + String urlsrc = OkHttpUtil.string(geturl, getHeaders(geturl,"")); + JSONObject urlsrcobj = new JSONObject(urlsrc); + JSONObject urldb = urlsrcobj.getJSONObject("data"); + List urldblist = new ArrayList<>(); + if(!urldb.isNull("url3")){ + String url3 = urldb.optString("url3"); + urldblist.add(url3); + } + if(!urldb.isNull("m3u8")){ + String m3u8 = urldb.optString("m3u8").replace("www.bde4.cc","www.bdys01.com"); + urldblist.add(m3u8); + } + if(!urldb.isNull("m3u8_2")){ + String m3u8_2 =urldb.optString("m3u8_2"); + String[] m2=m3u8_2.split(","); + for(int i=0; i< m2.length ;i++){ + urldblist.add(m2[i].replace("www.bde4.cc","www.bdys01.com")); + } + } + if(urldblist.isEmpty()){ + rspurl=""; + t = System.currentTimeMillis(); + key = Misc.MD5(pid+"-"+t, StandardCharsets.UTF_8).substring(0,16); + sg = encrypt(pid+"-"+t,key); + geturl = siteUrl+"/god/"+pid; + HashMap hashMap = new HashMap(); + hashMap.put("t", Long.toString(t)); + hashMap.put("sg", sg); + hashMap.put("verifyCode", "666"); + OkHttpUtil.post(OkHttpUtil.defaultClient(), geturl, hashMap,getHeaders(geturl,"origin") ,new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + JSONObject rspobj = new JSONObject(str); + if(rspobj.isNull("url")){ + rspurl=""; + }else { + rspurl = rspobj.getString("url"); + } + + } catch (JSONException e) { + e.printStackTrace(); + } + } + }); + if(rspurl.isEmpty()){ + t = System.currentTimeMillis(); + key = Misc.MD5(pid+"-"+t, StandardCharsets.UTF_8).substring(0,16); + sg = encrypt(pid+"-"+t,key); + geturl = siteUrl+"/god/"+pid+"?type=1"; + HashMap hashMap2 = new HashMap(); + hashMap2.put("t", Long.toString(t)); + hashMap2.put("sg", sg); + hashMap2.put("verifyCode", "888"); + OkHttpUtil.post(OkHttpUtil.defaultClient(), geturl, hashMap2,getHeaders(geturl,"origin") ,new OKCallBack.OKCallBackString() { + @Override + protected void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + rspurl = new JSONObject(str).getString("url"); + } catch (JSONException e) { + e.printStackTrace(); + } + } + }); + } + String realurl =""; + if(rspurl.contains("rkey")){ + t = System.currentTimeMillis(); + realurl =rspurl.replace("?rkey",t+".mp4?ver=6010&rkey"); + }else if (rspurl.contains("ixigua")) { + realurl = rspurl; + }else{ + t = System.currentTimeMillis(); + realurl = rspurl.replace("http:","https:") +"/"+t+".mp4"; + } + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", realurl); + result.put("header", ""); + return result.toString(); + } + int index =new Random().nextInt(urldblist.size()); + String videourl = urldblist.get(index); + if(videourl.contains("mp4")){ + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", videourl); + result.put("header", ""); + return result.toString(); + } + Map> respHeaders = new HashMap<>(); + OkHttpUtil.stringNoRedirect(videourl, getHeaders(videourl,""), respHeaders); + String redirect = OkHttpUtil.getRedirectLocation(respHeaders); + String realm3u8=""; + OKCallBack.OKCallBackDefault callBack = new OKCallBack.OKCallBackDefault() { + @Override + protected void onFailure(Call call, Exception e) { + } + @Override + protected void onResponse(Response response) { + } + }; + OkHttpUtil.get(OkHttpUtil.defaultClient(), redirect, null, getHeaders2(redirect), callBack); + if (callBack.getResult().code() == 200) { + InputStream picsrc = callBack.getResult().body().byteStream(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + int nRead; + byte[] data = new byte[4]; + while ((nRead = picsrc.read(data, 0, data.length)) != -1) { + buffer.write(data, 0, nRead); + } + buffer.flush(); + byte[] targetArray = buffer.toByteArray(); + picsrc.close(); + byte[] dep = Arrays.copyOfRange(targetArray,3354,targetArray.length); + String pp = gZip.KS(dep); + String[] m3u8ori = pp.split("\n"); + for(int i=0;i0){ + for (int i = 0; i < 1; i++) { + Element sourcess = sourceList.get(i); + String sourceName = sourcess.select("h3.LC20lb.MBeuO.DKV0Md").text(); + String list1 = sourcess.attr("href"); + if(list1.contains("/s/")||list1.contains("play")||list1.contains("performer")||list1.contains("search")||list1.contains("jsessionid")){ + continue; + } + if (sourceName.contains(key)) { + Document ddrklink = Jsoup.parse(OkHttpUtil.string(list1, getHeaders(list1,referer))); + JSONObject v = new JSONObject(); + String cover = ddrklink.selectFirst("div.col-md-auto img").attr("src"); + String title = ddrklink.selectFirst("h2.d-sm-block.d-md-none").text(); + String id =list1.replace("https://www.bdys01.com",""); + v.put("vod_name", title); + v.put("vod_remarks", ""); + 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 ""; + } + + protected String encrypt(String src, String KEY) { + try { + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding"); + SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES"); + cipher.init(Cipher.ENCRYPT_MODE, keySpec); + return bytesToHexStr(cipher.doFinal(src.getBytes())).toUpperCase(); + } catch (Exception exception) { + SpiderDebug.log(exception); + } + return null; + } + + protected String bytesToHexStr(byte[] bytes) { + StringBuilder hexStr = new StringBuilder(); + for (byte b : bytes) { + String hex = Integer.toHexString(b & 0xFF); + if (hex.length() == 1) { + hex = '0' + hex; + } + hexStr.append(hex); + } + return hexStr.toString(); + } + +} diff --git a/TVBox_Java/加进去报错的Java源代码/Bttwoo.java b/TVBox_Java/加进去报错的Java源代码/Bttwoo.java new file mode 100644 index 0000000..638c380 --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/Bttwoo.java @@ -0,0 +1,386 @@ +package com.github.catvod.spider; + +import android.text.TextUtils; +import android.util.Base64; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.CBC; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +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; + +/* loaded from: classes.dElements */ +public class Bttwoo extends Spider { + private final String O = "{}"; + private final Pattern G = Pattern.compile("https://www.bttwoo.com/(\\S+)"); + private final Pattern n = Pattern.compile("https://www.bttwoo.com/movie/(\\d+).html"); + private final Pattern Ur = Pattern.compile("https://www.bttwoo.com/v_play/(\\S+).html"); + private final Pattern eA = Pattern.compile("https://www.bttwoo.com/\\S+/page/(\\d+)"); + private final Pattern o = Pattern.compile("=\"(.*?)\";var"); + private final Pattern F = Pattern.compile("parse\\(\"(.*?)\"\\);var iv"); + private final Pattern Cp = Pattern.compile("iv=md5\\.enc\\.Utf8\\.parse\\((.*?)\\);var decrypted"); + private final Pattern JC = Pattern.compile("url: \"(.*?)\""); + + protected HashMap header(String str) { + HashMap hashMap = new HashMap<>(); + hashMap.put("method", "GET"); + if (!TextUtils.isEmpty(str)) { + hashMap.put("Referer", str); + } + hashMap.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + return hashMap; + } + + public String categoryContent(String str, String str2, boolean z, HashMap hashMap) { + int i; + try { + String str3 = "https://www.bttwoo.com/" + str + "/page/" + str2; + String h = OkHttpUtil.string(str3, header(str3)); + Document ue = Jsoup.parse(h); + JSONObject jSONObject = new JSONObject(); + Matcher matcher = this.eA.matcher(ue.select("div.pagenavi_txt > a.extend").attr("href")); + int i2 = 1; + int parseInt = matcher.find() ? Integer.parseInt(matcher.group(1).trim()) : 1; + + Elements B1 = ue.select("div.pagenavi_txt > a "); + int i3 = 0; + if (B1.size() > 0) { + i = Integer.parseInt(str2); + for (int i4 = 0; i4 < B1.size(); i4++) { + Element O = B1.get(i4).selectFirst("a"); + if (O != null) { + O.text().trim(); + if (O.hasClass("current")) { + Matcher matcher2 = this.eA.matcher(O.attr("href")); + if (matcher2.find()) { + i = Integer.parseInt(matcher2.group(1).trim()); + } + } + } + } + } else { + i = 1; +// i = Integer.parseInt(str2); + } + JSONArray jSONArray = new JSONArray(); + if (!h.contains("没有找到您想要的结果哦")) { + Elements B12 = ue.select("div.bt_img > ul > li"); + while (i3 < B12.size()) { + Element hq = B12.get(i3); + String pE = hq.selectFirst("h3.dytit > a").text(); + String Pd = hq.selectFirst("a > img ").attr("data-original"); + Element O2 = hq.selectFirst("div.jidi > span"); + String pE2 = O2 != null ? O2.text() : ""; + Matcher matcher3 = this.n.matcher(hq.selectFirst("h3.dytit > a").attr("href")); + if (matcher3.find()) { + String group = matcher3.group(i2); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", group); + jSONObject2.put("vod_name", pE); + jSONObject2.put("vod_pic", Pd); + jSONObject2.put("vod_remarks", pE2); + jSONArray.put(jSONObject2); + } + i3++; + i2 = 1; + } + } + System.out.println("page: "+i); + jSONObject.put("page", i); + jSONObject.put("pagecount", parseInt); + jSONObject.put("limit", 25); + jSONObject.put("total", parseInt <= 1 ? jSONArray.length() : parseInt * 25); + jSONObject.put("list", jSONArray); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public String detailContent(List list) { + String str =""; + Exception e; + Document ue = null; + JSONObject jSONObject = null; + String Pd = ""; + String pE = ""; + String pE2 =""; + Elements B1 = null; + String str2 =" "; + String str3 = ""; + String str4 = ""; + String str5 = ""; + String str6 = ""; + String str7 = ""; + int i = 0; + Element hq = null; + String str8; + String str9 = "$$$"; + String str10 = ""; + try { + String str11 = "https://www.bttwoo.com/movie/" + list.get(0) + ".html"; + ue = Jsoup.parse(OkHttpUtil.string(str11, header(str11))); + jSONObject = new JSONObject(); + Pd = ue.selectFirst("div.dyimg > img").attr("src"); + pE = ue.selectFirst("div.moviedteail_tt > h1").text(); + pE2 = Jsoup.parse(ue.selectFirst("meta[name=description]").attr("content")).text(); + B1 = ue.select("ul.moviedteail_list > li"); + str2 = str10; + str3 = str2; + str4 = str3; + str5 = str4; + str6 = str5; + str7 = str6; +// i = 0; + } catch (Exception e2) { + e = e2; + str = str10; + return "1111"; + } + while (true) { + str = str10; + if (i >= B1.size()) { + break; + } + try { + Element hq2 = B1.get(i); + Elements exVar = B1; + String pE3 = hq2.text(); + JSONObject jSONObject3 = jSONObject; + if (pE3.contains("类型:")) { + str2 = hq2.text(); + } else if (pE3.contains("年份:")) { + str3 = hq2.text(); + } else if (pE3.contains("地区:")) { + str4 = hq2.text(); + } else if (pE3.contains("上映:")) { + str5 = hq2.text(); + } else { + str8 = str9; + if (pE3.contains("导演:")) { + ArrayList arrayList = new ArrayList(); + Elements B12 = hq2.select("a"); + for (int i2 = 0; i2 < B12.size(); i2++) { + arrayList.add(B12.get(i2).text()); + } + str7 = TextUtils.join(",", arrayList); + } else if (pE3.contains("主演:")) { + ArrayList arrayList2 = new ArrayList(); + Elements B13 = hq2.select("a"); + for (int i3 = 0; i3 < B13.size(); i3++) { + arrayList2.add(B13.get(i3).text()); + } + str6 = TextUtils.join(",", arrayList2); + } + } + str8 = str9; + i++; + str10 = str; + B1 = exVar; + jSONObject = jSONObject3; + str9 = str8; + } catch (Exception e3) { + e = e3; + SpiderDebug.log(e); + return str; + } + } + String str12 = str9; + JSONObject jSONObject4 = jSONObject; + JSONObject jSONObject2 = new JSONObject(); + try{ + jSONObject2.put("vod_id", list.get(0)); + jSONObject2.put("vod_name", pE); + jSONObject2.put("vod_pic", Pd); + jSONObject2.put("type_name", str2); + jSONObject2.put("vod_year", str3); + jSONObject2.put("vod_area", str4); + jSONObject2.put("vod_remarks", str5); + jSONObject2.put("vod_actor", str6); + jSONObject2.put("vod_director", str7); + jSONObject2.put("vod_content", pE2); + TreeMap treeMap = new TreeMap(); + Elements B14 = ue.select("div.mi_paly_box > div > div.ypxingq_t"); + Elements B15 = ue.select("div.paly_list_btn"); + + for (int i4 = 0; i4 < B14.size(); i4++) { + String pE4 = B14.get(i4).text(); + Elements B16 = B15.get(i4).select("a"); + ArrayList arrayList3 = new ArrayList(); + for (int i5 = 0; i5 < B16.size(); i5++) { + String name = B16.get(i5).text(); + Matcher matcher = this.Ur.matcher(B16.get(i5).attr("href")); + if (matcher.find()) { + arrayList3.add(name + "$" + matcher.group(1)); + } + } + String join = arrayList3.size() > 0 ? TextUtils.join("#", arrayList3) : str; + if (join.length() != 0) { + treeMap.put(pE4, join); + } + } + if (treeMap.size() > 0) { + String join2 = TextUtils.join(str12, treeMap.keySet()); + String join3 = TextUtils.join(str12, treeMap.values()); + jSONObject2.put("vod_play_from", join2); + jSONObject2.put("vod_play_url", join3); + } + JSONArray jSONArray = new JSONArray(); + jSONArray.put(jSONObject2); + jSONObject4.put("list", jSONArray); + + }catch (Exception e4){ + SpiderDebug.log(e4); + } + + return jSONObject4.toString(); + } + + public String homeContent(boolean z) { + int i; + try { + Document ue = Jsoup.parse(OkHttpUtil.string("https://www.bttwoo.com/", header("https://www.bttwoo.com"))); + Elements B1 = ue.select("ul.navlist > li > a"); + JSONArray jSONArray = new JSONArray(); + Iterator it = B1.iterator(); + while (true) { + i = 0; + if (!it.hasNext()) { + break; + } + Element next = it.next(); + String pE = next.text(); + if (pE.equals("最新电影")) { + pE = "最新"; + } + if (pE.equals("热门下载")) { + pE = "热门放映"; + } + if (pE.equals("最新") || pE.equals("本月热门") || pE.equals("热门放映") || pE.equals("国产剧") || pE.equals("日韩剧") || pE.equals("美剧")) { + i = 1; + } + if (i != 0) { + Matcher matcher = this.G.matcher(next.attr("href")); + if (matcher.find()) { + String trim = matcher.group(1).trim(); + JSONObject jSONObject = new JSONObject(); + jSONObject.put("type_id", trim); + jSONObject.put("type_name", pE); + jSONArray.put(jSONObject); + } + } + } + JSONObject jSONObject2 = new JSONObject(); + if (z) { + jSONObject2.put("filters", new JSONObject("{}")); + } + jSONObject2.put("class", jSONArray); + try { + Elements B12 = ue.select("div.leibox > ul > li "); + JSONArray jSONArray2 = new JSONArray(); + while (i < B12.size()) { + Element hq = B12.get(i); + String pE2 = hq.selectFirst("h3.dytit > a").text(); + String Pd = hq.selectFirst("a > img").attr("data-original"); + Element O = hq.selectFirst("div.jidi > span "); + String pE3 = O != null ? O.text() : ""; + Matcher matcher2 = this.n.matcher(hq.selectFirst("h3.dytit > a").attr("href")); + if (matcher2.find()) { + String group = matcher2.group(1); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put("vod_id", group); + jSONObject3.put("vod_name", pE2); + jSONObject3.put("vod_pic", Pd); + jSONObject3.put("vod_remarks", pE3); + jSONArray2.put(jSONObject3); + } + i++; + } + jSONObject2.put("list", jSONArray2); + } catch (Exception e) { + SpiderDebug.log(e); + } + return jSONObject2.toString(); + } catch (Exception e2) { + SpiderDebug.log(e2); + return ""; + } + } + + public String playerContent(String str, String str2, List list) { + try { + String str3 = "https://www.bttwoo.com/v_play/" + str2 + ".html"; + Document ue = Jsoup.parse(OkHttpUtil.string(str3, header(str3))); + JSONObject jSONObject = new JSONObject(); + Matcher matcher = this.o.matcher(ue.toString()); + Matcher matcher2 = this.F.matcher(ue.toString()); + Matcher matcher3 = this.Cp.matcher(ue.toString()); + if (matcher.find() && matcher2.find() && matcher3.find()) { + // Matcher matcher4 = this.JC.matcher(AES.decryptToString(Base64.decode(matcher.group(1), 0), matcher2.group(1).getBytes(), matcher3.group(1).getBytes(),AES.AES_CBC_PKCS7Padding)); + Matcher matcher4 = this.JC.matcher(CBC.DECRYPT(Base64.decode(matcher.group(1), 0), matcher2.group(1).getBytes(), matcher3.group(1).getBytes())); + if (matcher4.find()) { + String group = matcher4.group(1); + HashMap hashMap = new HashMap(); + hashMap.put("User-Agent", " Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"); + jSONObject.put("url", group); + jSONObject.put("header", new JSONObject(hashMap).toString()); + jSONObject.put("parse", "0"); + jSONObject.put("palyUrl", ""); + } + } + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + public String searchContent(String str, boolean z) { + if (z) { + return ""; + } + try { + String str2 = "https://www.bttwoo.com/xssearch?q=" + URLEncoder.encode(str) + "&f=_all&p=1"; + Document ue = Jsoup.parse(OkHttpUtil.string(str2, header(str2))); + JSONObject jSONObject = new JSONObject(); + JSONArray jSONArray = new JSONArray(); + Elements B1 = ue.select("div.mi_ne_kd > ul > li"); + for (int i = 0; i < B1.size(); i++) { + Element hq = B1.get(i); + String trim = hq.selectFirst("img").attr("alt").trim(); + String Pd = hq.selectFirst("img ").attr("data-original"); + Element O = hq.selectFirst("div.jidi > span"); + String pE = O != null ? O.text() : ""; + Matcher matcher = this.n.matcher(hq.selectFirst("a").attr("href")); + if (matcher.find()) { + String group = matcher.group(1); + JSONObject jSONObject2 = new JSONObject(); + jSONObject2.put("vod_id", group); + jSONObject2.put("vod_name", trim); + jSONObject2.put("vod_pic", Pd); + jSONObject2.put("vod_remarks", pE); + jSONArray.put(jSONObject2); + } + } + jSONObject.put("list", jSONArray); + return jSONObject.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } +} diff --git a/TVBox_Java/加进去报错的Java源代码/Dy1010.java b/TVBox_Java/加进去报错的Java源代码/Dy1010.java new file mode 100644 index 0000000..dd034c4 --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/Dy1010.java @@ -0,0 +1,479 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.AES; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +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.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static com.github.catvod.utils.AES.AES_CBC_PKCS7Padding; +import static com.github.catvod.utils.AES.decryptToString; + +/** + * 双十电影 + *

    + * Author: 忍一忍我很大 + */ +public class Dy1010 extends Spider { + private static final String siteUrl = "http://www.1010dy1.com"; + private static final String siteHost = "www.1010dy1.com"; + /** + * 播放源配置 + */ + private JSONObject playerConfig; + /** + * 筛选配置 + */ + private JSONObject filterConfig; + + private Pattern regexCategory = Pattern.compile("/type/(\\w+)/"); + private Pattern regexVid = Pattern.compile("/detail/(\\w+)/"); + private Pattern regexPlay = Pattern.compile("/play/(\\w+)-(\\d+)-(\\d+)/"); + private Pattern regexPage = Pattern.compile("/show/\\d+/page/(\\d+)/"); + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject("{\"xg_app_player\":{\"show\":\"app全局解析\",\"or\":999,\"ps\":\"1\",\"parse\":\"\"},\"duoduozy\":{\"show\":\"多多云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"renrenmi\":{\"show\":\"快速云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"xigua\":{\"show\":\"西瓜云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"mgtv\":{\"show\":\"芒果云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"qq\":{\"show\":\"腾讯云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"youku\":{\"show\":\"优酷云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"qiyi\":{\"show\":\"爱奇艺\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"pptv\":{\"show\":\"PPTV\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"letv\":{\"show\":\"乐视云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"sohu\":{\"show\":\"搜狐云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"bilibili\":{\"show\":\"哔哩云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"dbm3u8\":{\"show\":\"百度云\",\"des\":\"在线播放\",\"ps\":\"0\",\"parse\":\"\"},\"tkm3u8\":{\"show\":\"天空云\",\"des\":\"天空播放器\",\"ps\":\"0\",\"parse\":\"\"},\"dplayer\":{\"show\":\"DPlayer-H5播放器\",\"des\":\"dplayer.js.org\",\"ps\":\"0\",\"parse\":\"\"},\"videojs\":{\"show\":\"videojs-H5播放器\",\"des\":\"videojs.com\",\"ps\":\"0\",\"parse\":\"\"},\"iva\":{\"show\":\"iva-H5播放器\",\"des\":\"videojj.com\",\"ps\":\"0\",\"parse\":\"\"},\"iframe\":{\"show\":\"iframe外链数据\",\"des\":\"iframe外链数据\",\"ps\":\"0\",\"parse\":\"\"},\"link\":{\"show\":\"外链数据\",\"des\":\"外部网站播放链接\",\"ps\":\"0\",\"parse\":\"\"},\"swf\":{\"show\":\"Flash文件\",\"des\":\"swf\",\"ps\":\"0\",\"parse\":\"\"},\"flv\":{\"show\":\"Flv文件\",\"des\":\"flv\",\"ps\":\"0\",\"parse\":\"\"},\"bdxm3u8\":{\"show\":\"北斗云\",\"des\":\"在线播放\",\"ps\":\"0\",\"parse\":\"\"},\"lym3u8\":{\"show\":\"老鸭资源\",\"des\":\"在线播放\",\"ps\":\"0\",\"parse\":\"\"},\"aliplayer\":{\"show\":\"阿里云播放器\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"hnm3u8\":{\"show\":\"红牛云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"kbm3u8\":{\"show\":\"快播云\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"},\"wjm3u8\":{\"show\":\"无尽备用\",\"or\":999,\"ps\":\"0\",\"parse\":\"\"}}"); + filterConfig = new JSONObject("{\"1\":[{\"key\":\"class\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"灾难\",\"v\":\"灾难\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"冒险\",\"v\":\"冒险\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"2000\",\"v\":\"2000\"},{\"n\":\"1997\",\"v\":\"1997\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}],\"2\":[{\"key\":\"class\",\"name\":\"类型\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"国产\",\"v\":\"国产\"},{\"n\":\"港台\",\"v\":\"港台\"},{\"n\":\"日韩\",\"v\":\"日韩\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"海外\",\"v\":\"海外\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"偶像\",\"v\":\"偶像\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"网剧\",\"v\":\"网剧\"}]},{\"key\":\"area\",\"name\":\"地区\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"大陆\",\"v\":\"大陆\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"香港\",\"v\":\"香港\"},{\"n\":\"台湾\",\"v\":\"台湾\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"新加坡\",\"v\":\"新加坡\"},{\"n\":\"其他\",\"v\":\"其他\"}]},{\"key\":\"year\",\"name\":\"年份\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2018\",\"v\":\"2018\"},{\"n\":\"2017\",\"v\":\"2017\"},{\"n\":\"2016\",\"v\":\"2016\"},{\"n\":\"2015\",\"v\":\"2015\"},{\"n\":\"2014\",\"v\":\"2014\"},{\"n\":\"2013\",\"v\":\"2013\"},{\"n\":\"2012\",\"v\":\"2012\"},{\"n\":\"2011\",\"v\":\"2011\"},{\"n\":\"2010\",\"v\":\"2010\"},{\"n\":\"2009\",\"v\":\"2009\"},{\"n\":\"2008\",\"v\":\"2008\"},{\"n\":\"2007\",\"v\":\"2007\"},{\"n\":\"2006\",\"v\":\"2006\"},{\"n\":\"1997\",\"v\":\"1997\"},{\"n\":\"1980\",\"v\":\"1980\"}]},{\"key\":\"by\",\"name\":\"排序\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"时间\",\"v\":\"time\"},{\"n\":\"人气\",\"v\":\"hits\"},{\"n\":\"评分\",\"v\":\"score\"}]}]}"); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param url + * @return + */ + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("Referer", "http://www.1010dy1.com/"); + headers.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.169.400 QQBrowser/11.0.5130.400"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders(siteUrl))); + // 分类节点 + Elements elements = doc.select("ul.stui-header__menu > li > a"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + Matcher mather = regexCategory.matcher(ele.attr("href")); + if (!mather.find()) + continue; + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("div.stui-pannel_bd:nth-child(1) ul.stui-vodlist li div.stui-vodlist__box"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + Matcher matcher = regexVid.matcher(vod.selectFirst(".stui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String title = vod.selectFirst(".stui-vodlist__thumb").attr("title"); + String cover = vod.selectFirst(".stui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + String url = siteUrl + "/show/"; + if (extend != null && extend.size() > 0 && extend.containsKey("tid") && extend.get("tid").length() > 0) { + url += extend.get("tid"); + } else { + url += tid; + } + if (extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + url += "/" + key + "/" + URLEncoder.encode(value); + } + } + } + url += "/page/" + pg + "/"; + // 获取分类数据的url + //String url = siteUrl + "/show/" + tid + "/page/" + pg + "/"; + String html = OkHttpUtil.string(url, getHeaders(url)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 0; + int page = -1; + // 取页码相关信息 + Elements pageInfo = doc.select(".stui-page li"); + if (pageInfo.size() == 0) { + page = Integer.parseInt(pg); + pageCount = page; + } else { + for (int i = 0; i < pageInfo.size(); i++) { + Element li = pageInfo.get(i); + Element a = li.selectFirst("a"); + if (a == null) + continue; + String name = a.text(); + if (page == -1 && li.hasClass("active")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + page = Integer.parseInt(matcher.group(1)); + } else { + page = 0; + } + } + if (name.equals("尾页")) { + Matcher matcher = regexPage.matcher(a.attr("href")); + if (matcher.find()) { + pageCount = Integer.parseInt(matcher.group(1)); + } else { + pageCount = 0; + } + break; + } + } + } + + JSONArray videos = new JSONArray(); + if (!html.contains("没有找到您想要的结果哦")) { + Elements list = doc.select("ul.stui-vodlist li div.stui-vodlist__box"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.selectFirst(".title").text(); + String cover = vod.selectFirst(".stui-vodlist__thumb").attr("data-original"); + String remark = vod.selectFirst("span.pic-text").text(); + Matcher matcher = regexVid.matcher(vod.selectFirst(".stui-vodlist__thumb").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 30); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 30); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/detail/" + ids.get(0) + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("a.stui-vodlist__thumb img").attr("data-original"); + String title = doc.selectFirst("a.stui-vodlist__thumb").attr("title"); + String desc = Jsoup.parse(doc.selectFirst("meta[name=description]").attr("content")).text(); + String category = "", area = "", year = "", remark = "", director = "", actor = ""; + Elements span_text_muted = doc.select("div.stui-content__detail span.text-muted"); + for (int i = 0; i < span_text_muted.size(); i++) { + Element text = span_text_muted.get(i); + String info = text.text(); + if (info.equals("类型:")) { + category = text.nextElementSibling().text(); + } else if (info.equals("年份:")) { + year = text.nextElementSibling().text(); + } else if (info.equals("地区:")) { + area = text.nextElementSibling().text(); + } else if (info.equals("更新:")) { + remark = text.nextSibling().outerHtml().trim(); + } else if (info.equals("导演:")) { + List directors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + directors.add(aa.get(j).text()); + } + director = TextUtils.join(",", directors); + } else if (info.equals("主演:")) { + List actors = new ArrayList<>(); + Elements aa = text.parent().select("a"); + for (int j = 0; j < aa.size(); j++) { + actors.add(aa.get(j).text()); + } + actor = TextUtils.join(",", actors); + } + } + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("type_name", category); + vodList.put("vod_year", year); + vodList.put("vod_area", area); + vodList.put("vod_remarks", remark); + vodList.put("vod_actor", actor); + vodList.put("vod_director", director); + vodList.put("vod_content", desc); + + Map vod_play = new TreeMap<>(new Comparator() { + @Override + public int compare(String o1, String o2) { + try { + int sort1 = playerConfig.getJSONObject(o1).getInt("or"); + int sort2 = playerConfig.getJSONObject(o2).getInt("or"); + + if (sort1 == sort2) { + return 1; + } + return sort1 - sort2 > 0 ? 1 : -1; + } catch (JSONException e) { + SpiderDebug.log(e); + } + return 1; + } + }); + + Elements sources = doc.select("div.playlist"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.selectFirst("h3.title").text().trim(); + String tabHref = source.attr("href"); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("show").equals(sourceName)) { + sourceName = playerConfig.getJSONObject(flag).getString("show"); + found = true; + break; + } + } + if (!found) + continue; + String playList = ""; + Elements playListA = source.select("ul.stui-content__playlist > li > a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String playURL = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3); + vodItems.add(vod.text() + "$" + playURL); + } + if (vodItems.size() > 0) + playList = TextUtils.join("#", vodItems); + + if (playList.length() == 0) + continue; + + vod_play.put(sourceName, playList); + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private final Pattern regexUrl = Pattern.compile("(?<=urls = \").+?(?=\";)"); + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + JSONObject headers = new JSONObject(); + headers.put("Origin", " https://dp.1010dy.cc"); + //headers.put("Referer", " http://www.1010dy1.com/"); + //headers.put("Icy-MetaData", "1"); + //headers.put("scheme", " https"); + headers.put("User-Agent", " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"); + headers.put("Accept", " */*"); + //headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-GB;q=0.8,en-US;q=0.7,en;q=0.6"); + //headers.put("Accept-Encoding", " gzip, deflate"); + headers.put("Connection", " close"); + // 播放页 url + String url = siteUrl + "/play/" + id + "/"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(url))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + if (playerConfig.has(player.getString("from"))) { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"); + hashMap.put("Referer", url); + String jxurl = "https://dp.1010dy.cc/?url=" + player.getString("url")+"&next="+player.getString("link_next")+"&id="+player.getString("id")+"&nid="+player.getString("nid")+"&from="+player.getString("from"); + String doc1 = OkHttpUtil.string(jxurl, hashMap); + Matcher matcher = regexUrl.matcher(doc1); + if (!matcher.find()) { + return ""; + } + String data = matcher.group(0); + byte[] decode = Base64.decode(data, Base64.DEFAULT); + String iv = "c487ebl2e38a0faO"; + String key = "Of84ff0clf252cba"; + String directUrl = decryptToString(decode, key.getBytes(), iv.getBytes(),AES_CBC_PKCS7Padding); + if (player.getString("from").equals("duoduozy")) { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", directUrl); + result.put("header", headers.toString()); + } else { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", directUrl); + result.put("header", ""); + } + } + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 搜索 + * + * @param key + * @param quick 是否播放页的快捷搜索 + * @return + */ + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(url))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/加进去报错的Java源代码/Jianying.java b/TVBox_Java/加进去报错的Java源代码/Jianying.java new file mode 100644 index 0000000..73a70a7 --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/Jianying.java @@ -0,0 +1,296 @@ +package com.github.catvod.spider; + +import android.annotation.TargetApi; +import android.content.Context; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.CBC; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.List; +import okhttp3.Call; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.select.Elements; + + +public class Jianying extends Spider { + public static String token; + + + public void init(Context context, String str) { + super.init(context, str); + token = str; + } + + private HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + headers.put("accept", "application/json, text/plain, */*"); + headers.put("accept-encoding", "gzip, deflate, br"); + headers.put("connection", "keep-alive"); + headers.put("Authorization", token); + headers.put("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"); + return headers; + } + + public String homeContent(boolean filter) { + try { + String url = "https://admin.syrme.top/v1/api/video/index"; + JSONObject jSONObject = new JSONObject(); + JSONArray classes = new JSONArray(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, jSONObject.toString(), getHeaders(url), new OKCallBack.OKCallBackString() { + + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + JSONArray list = new JSONObject(str).getJSONArray("data"); + for (int i = 0; i < list.length(); i++) { + JSONObject vObj = list.getJSONObject(i); + String name = vObj.getString("title"); + if (!name.equals("轮播")) { + String id = vObj.getString("title"); + JSONObject newCls = new JSONObject(); + newCls.put("type_id", id); + newCls.put("type_name", name); + classes.put(newCls); + } + } + } catch (JSONException unused) { + } + } + }); + JSONObject result = new JSONObject(); + result.put("class", classes); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + public String homeVideoContent() { + try { + JSONArray videos = new JSONArray(); + JSONObject jSONObject = new JSONObject(); + String url = "https://admin.syrme.top/v1/api/video/index"; + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, jSONObject.toString(), getHeaders(url), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + JSONArray jsonArray = new JSONObject(str).getJSONArray("data"); + JSONArray list = jsonArray.getJSONObject(1).getJSONArray("video_list"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = list.getJSONObject(i); + String id = vObj.getString("ID"); + String title = vObj.getString("title"); + String cover = vObj.getString("image"); + String mark = vObj.getString("score"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", mark); + videos.put(v); + } + } catch (JSONException unused) { + } + } + }); + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + int parseInt = Integer.parseInt(pg); + if (parseInt == 0) { + parseInt = 1; + } + String url = "https://admin.syrme.top/v1/api/video/search?q=" + tid + "&page=" + pg + "&size=" + 24; + JSONObject jSONObject = new JSONObject(); + JSONArray list = new JSONArray(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, jSONObject.toString(), getHeaders(url), new OKCallBack.OKCallBackString() { + + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str4) { + try { + JSONArray data = new JSONObject(str4).getJSONArray("data"); + for (int i = 0; i < data.length(); i++) { + JSONObject vObj = data.getJSONObject(i); + JSONObject vodAtom = new JSONObject(); + vodAtom.put("vod_id", vObj.getString("ID")); + vodAtom.put("vod_name", vObj.getString("title")); + vodAtom.put("vod_pic", vObj.optString("image")); + String mark = vObj.optString("score"); + if (mark.equals("null")) { + mark = ""; + } + vodAtom.put("vod_remarks", mark); + list.put(vodAtom); + } + } catch (JSONException unused) { + } + } + }); + JSONObject result = new JSONObject(); + result.put("page", parseInt); + if (list.length() == 24) { + parseInt++; + } + result.put("pagecount", parseInt); + result.put("limit", 24); + result.put("total", Integer.MAX_VALUE); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + public String detailContent(List ids) { + try { + String url = "https://admin.syrme.top/v1/api/video/id?id=" + ids.get(0); + JSONObject jSONObject = new JSONObject(); + JSONObject vodAtom = new JSONObject(); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, jSONObject.toString(), getHeaders(url), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str) { + try { + JSONObject vObj = new JSONObject(str).getJSONObject("data"); + vodAtom.put("vod_id", vObj.getString("ID")); + vodAtom.put("vod_name", vObj.getString("title")); + vodAtom.put("vod_pic", vObj.getString("image")); + vodAtom.put("type_name", vObj.getString("video_type")); + vodAtom.put("vod_year", vObj.getString("year")); + vodAtom.put("vod_area", vObj.getString("video_tags")); + String optString = vObj.optString("score"); + String des = ""; + if (optString.equals("null")) { + optString = des; + } + vodAtom.put("vod_remarks", optString); + vodAtom.put("vod_actor", vObj.getString("authors")); + vodAtom.put("vod_director", vObj.getString("director")); + String optString2 = vObj.optString("content"); + if (!optString2.equals("null")) { + des = optString2; + } + vodAtom.put("vod_content", des); + vodAtom.put("vod_play_from", "简影"); + vodAtom.put("vod_play_url", vObj.optString("url_content").replace("\n", "#")); + } catch (JSONException unused) { + } + } + }); + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vodAtom); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @TargetApi(26) + public String playerContent(String flag, String id, List vipFlags) { + try { + JSONObject result = new JSONObject(); + String time = LocalDateTime.now(ZoneId.of("Asia/Shanghai")).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")).replace("-", "丨"); + String key = "ba0-1024-11eb-ad"; + String enData = CBC.hexs(time, key, key); + String basic = ""; + int i = 0; + while (i < enData.length()) { + int i2 = i + 8; + basic = basic + enData.substring(i, i2) + "-"; + i = i2; + } + String sid = basic.substring(0, basic.length() - 1); + JSONObject headers = new JSONObject(); + headers.put("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", " */*"); + headers.put("Accept-Language", " zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7"); + headers.put("Accept-Encoding", " gzip, deflate"); + + result.put("parse", 0); + result.put("url", id + "?sid=" + sid); + result.put("playUrl", ""); + result.put("header", headers.toString()); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + public String searchContent(String str, boolean quick) { + if (quick) { + return ""; + } + try { + JSONArray videos = new JSONArray(); + try { + String url = "https://admin.syrme.top/v1/api/video/search?q=" + str + "&page=1&size=24"; + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), url, new JSONObject().toString(), getHeaders(url), new OKCallBack.OKCallBackString() { + @Override + public void onFailure(Call call, Exception exc) { + } + + public void onResponse(String str3) { + try { + JSONArray jsonArray = new JSONObject(str3).getJSONArray("data"); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject vObj = jsonArray.getJSONObject(i); + JSONObject v = new JSONObject(); + v.put("vod_id", vObj.getString("ID")); + v.put("vod_name", vObj.getString("title")); + v.put("vod_pic", vObj.optString("image")); + String mark = vObj.optString("score"); + if (mark.equals("null")) { + mark = ""; + } + v.put("vod_remarks", mark); + videos.put(v); + } + } catch (JSONException unused) { + } + } + }); + } catch (Exception unused) { + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} \ No newline at end of file diff --git a/TVBox_Java/加进去报错的Java源代码/NianYing.java b/TVBox_Java/加进去报错的Java源代码/NianYing.java new file mode 100644 index 0000000..954637a --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/NianYing.java @@ -0,0 +1,326 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.utils.okhttp.OkHttpUtil; +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +public class Nianying extends Spider { + + private static String host = "http://cms111.nbhut.com/api.php/Chengcheng/vod"; + + public HashMap headers() { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", "Dalvik/2.1.0 (Linux; U; Android 11; M2105K81AC Build/RKQ1.200826.002)"); + return hashMap; + } + + + @Override + public void init(Context context) { + super.init(context); + } + + @Override + public void init(Context context, String extend) { + super.init(context, extend); + } + + + @Override + public String homeContent(boolean filter) { + try { + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + LinkedHashMap linkedHashMap = new LinkedHashMap<>(); + linkedHashMap.put("movie", "电影"); + linkedHashMap.put("tvplay", "剧集"); + linkedHashMap.put("comic", "动漫"); + linkedHashMap.put("tvshow", "综艺"); + for (String str : linkedHashMap.keySet()) { + JSONObject item = new JSONObject(); + item.put("type_id", str); + item.put("type_name", linkedHashMap.get(str)); + classes.put(item); + } + result.put("class", classes); + + if (filter) { + JSONObject filterBox = new JSONObject(); + result.put("filters", filterBox); + String json = OkHttpUtil.string(host + "/?ac=flitter", headers()); + JSONObject sourceData = new JSONObject(decrypt(json)); + for (String tid : linkedHashMap.keySet()) { + JSONArray filterArr = new JSONArray(); + filterBox.put(tid, filterArr); + JSONArray typeJSON = sourceData.optJSONArray(tid); + for (int j = 0; j < typeJSON.length(); j++) { + JSONObject item = typeJSON.optJSONObject(j); + String itemName = item.optString("name"); + String itemField = item.optString("field"); + JSONArray itemValues = item.optJSONArray("values"); + JSONObject jOne = new JSONObject(); + jOne.put("key", itemField); + jOne.put("name", itemName); + filterArr.put(jOne); + JSONArray values = new JSONArray(); + jOne.put("value", values); + + JSONObject all = new JSONObject(); + all.put("n", "全部"); + all.put("v", ""); + values.put(all); + for (int k = 0; k < itemValues.length(); k++) { + String k1 = itemValues.optString(k); + JSONObject kvo = new JSONObject(); + kvo.put("n", k1); + kvo.put("v", k1); + values.put(kvo); + } + } + } + } + + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + return ""; + } + } + + private String decrypt(String data) { + return data; + } + + @Override + public String homeVideoContent() { + JSONObject result = new JSONObject(); + try { + String url = host + "/?ac=list&class=tvplay&page=1"; + String encodeData = OkHttpUtil.string(url, headers()); + JSONObject json = new JSONObject(decrypt(encodeData)); + JSONArray data = json.optJSONArray("data"); + JSONArray list = new JSONArray(); + for (int i = 0; i < data.length(); i++) { + JSONObject item = data.getJSONObject(i); + JSONObject vod = new JSONObject(); + String nextlink = item.getString("nextlink"); + String vod_id = nextlink.substring(nextlink.indexOf("ids=") + 4); + vod.put("vod_id", vod_id); + vod.put("vod_name", item.getString("title")); + vod.put("vod_pic", item.getString("pic")); + vod.put("vod_remarks", item.getString("state")); + list.put(vod); + } + result.put("list", list); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + JSONObject result = new JSONObject(); + try { + String url = host + "/"; + Map params = new HashMap<>(); + if (extend != null) { + params.putAll(extend); + } + params.put("class", tid); + params.put("page", pg); + params.put("ac", "list"); + + List ps = new LinkedList<>(); + for (Map.Entry entry : params.entrySet()) { + ps.add(entry.getKey() + "=" + entry.getValue()); + } + url = url + "?" + TextUtils.join("&", ps); + String encodeData = OkHttpUtil.string(url, headers()); + JSONObject json = new JSONObject(decrypt(encodeData)); + JSONArray list = json.optJSONArray("data"); + JSONArray vods = new JSONArray(); + for (int i = 0; i < list.length(); i++) { + JSONObject item = list.getJSONObject(i); + JSONObject vod = new JSONObject(); + String nextlink = item.getString("nextlink"); + String vod_id = nextlink.substring(nextlink.indexOf("ids=") + 4); + vod.put("vod_id", vod_id); + vod.put("vod_name", item.getString("title")); + vod.put("vod_pic", item.getString("pic")); + vod.put("vod_remarks", item.getString("state")); + vods.put(vod); + } + int parseInt = Integer.parseInt(pg); + result.put("page", parseInt); + if (vods.length() == 20) { + parseInt++; + } + result.put("pagecount", parseInt); + result.put("limit", 20); + result.put("total", Integer.MAX_VALUE); + result.put("list", vods); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } + + @Override + public String detailContent(List ids) { + JSONObject result = new JSONObject(); + try { + String url = host + "/?ac=detail&ids=" + ids.get(0); + String encodeData = OkHttpUtil.string(url, headers()); + JSONObject vodInfo = new JSONObject(decrypt(encodeData)); + JSONObject vod = new JSONObject(); + vod.put("vod_id", vodInfo.getString("id")); + vod.put("vod_name", vodInfo.getString("title")); + vod.put("vod_pic", vodInfo.getString("img_url")); + vod.put("vod_year", vodInfo.optString("pubtime")); + vod.put("vod_remarks", vodInfo.optString("season_num")); + vod.put("vod_content", vodInfo.optString("intro").trim()); + + JSONArray type = vodInfo.optJSONArray("type"); + if (type != null && type.length() > 0) { + vod.put("type_name", type.toString().replace("[\"", "").replace("\"]", "")); + } + JSONArray area = vodInfo.optJSONArray("area"); + if (area != null && area.length() > 0) { + vod.put("vod_area", area.toString().replace("[\"", "").replace("\"]", "")); + } + + JSONArray actor = vodInfo.optJSONArray("actor"); + if (actor != null && actor.length() > 0) { + vod.put("vod_actor", actor.toString().replace("[\"", "").replace("\"]", "")); + } + + JSONArray director = vodInfo.optJSONArray("director"); + if (director != null && director.length() > 0) { + vod.put("vod_director", director.toString().replace("[\"", "").replace("\"]", "")); + } + + JSONObject videolist = vodInfo.getJSONObject("videolist"); + Iterator keys = videolist.keys(); + Map map = new TreeMap<>((o1, o2) -> { + if (o1.contains("m3u8")) { + if (o2.contains("lzm3u8")) { + return 1; + } + return 1; + } + if (o1.contains("ddzy")) { + return -1; + } + return 1; + }); + while (keys.hasNext()) { + String source = keys.next(); + JSONArray urls = videolist.optJSONArray(source); + List sourceValues = new ArrayList<>(); + for (int i = 0; i < urls.length(); i++) { + JSONObject item = urls.getJSONObject(i); + String title = item.optString("title"); + String urlv = item.optString("url"); + if (urlv.contains("url=")) { + urlv = urlv.replace("http://ry.nbhut.com/4.7.php?url=", ""); + } + sourceValues.add(title + "$" + urlv); + } + + map.put(source, TextUtils.join("#", sourceValues)); + } + + String join = TextUtils.join("$$$", map.keySet()); + String join2 = TextUtils.join("$$$", map.values()); + vod.put("vod_play_from", join); + vod.put("vod_play_url", join2); + JSONArray vods = new JSONArray(); + vods.put(vod); + result.put("list", vods); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } + + + /** + * @param flag + * @param id + * @param vipFlags + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + JSONObject result = new JSONObject(); + try { + result.put("parse", "0"); + if (Misc.isVideoFormat(id)) { + result.put("url", id); + } else if (Misc.isVip(id)) { + result.put("url", id); + result.put("parse", "1"); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } + + @Override + public String searchContent(String key, boolean quick) { + JSONObject result = new JSONObject(); + try { + String url = host + "/?ac=list&wd=" + key + "&page=1"; + String encodeData = OkHttpUtil.string(url, headers()); + JSONObject json = new JSONObject(decrypt(encodeData)); + JSONArray list = json.optJSONArray("data"); + JSONArray vods = new JSONArray(); + for (int i = 0; i < list.length(); i++) { + JSONObject item = list.getJSONObject(i); + JSONObject vod = new JSONObject(); + String nextlink = item.getString("nextlink"); + String vod_id = nextlink.substring(nextlink.indexOf("ids=") + 4); + vod.put("vod_id", vod_id); + vod.put("vod_name", item.getString("title")); + vod.put("vod_pic", item.getString("pic")); + vod.put("vod_remarks", item.getString("state")); + vods.put(vod); + } + result.put("list", vods); + } catch (Exception e) { + + } + return result.toString(); + } + + @Override + public boolean isVideoFormat(String url) { + return super.isVideoFormat(url); + } + + @Override + public boolean manualVideoCheck() { + return super.manualVideoCheck(); + } + +} diff --git a/TVBox_Java/加进去报错的Java源代码/Tkys.java b/TVBox_Java/加进去报错的Java源代码/Tkys.java new file mode 100644 index 0000000..11ef8b6 --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/Tkys.java @@ -0,0 +1,410 @@ +package com.github.catvod.spider; + + + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; +import com.github.catvod.crawler.Spider; + +import org.json.JSONArray; +import org.json.JSONException; +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.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; + + +public class Tkys extends Spider { + + private static final String siteUrl = new String("https://www.tkys.tv"); + private static final String siteHost = new String("www.tkys.tv"); + + protected JSONObject playerConfig; + protected JSONObject filterConfig; + + protected Pattern regexCategory = Pattern.compile("/vodtype/(\\d+).html"); + protected Pattern regexVoddetail = Pattern.compile("/voddetail/(\\d+).html"); + protected Pattern regexPlay = Pattern.compile("/vodplay/(\\S+).html"); + protected Pattern regexPage = Pattern.compile("/vodshow/\\d+--------(\\d+)---.html"); + protected Pattern regexBtToken = Pattern.compile("token = \"(.*?)\""); + protected Pattern regexEnurl = Pattern.compile("getVideoInfo\\(\"(.*?)\""); + + + private final String filterString = ""; + private final String playerString = "{\"mgtv\":{\"show\":\"芒果-官方\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://play.tkys.tv/?url=\"},\"qiyi\":{\"show\":\"奇艺-官方\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://jx.tiankongyingshi.tv/m3u8222222.php?url=\"},\"qq\":{\"show\":\"QQ-官方\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://jx.tiankongyingshi.tv/m3u8222222.php?url=\"},\"sohu\":{\"show\":\"搜狐-官方\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://play.tkys.tv/?url=\"},\"xx\":{\"show\":\"蓝光C\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://jx.tiankongyingshi.tv/m3u8222222.php?url=\"},\"youku\":{\"show\":\"优酷-官方\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://jx.tiankongyingshi.tv/m3u8222222.php?url=\"},\"bilibili\":{\"show\":\"BL-官方\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://jx.tiankongyingshi.tv/m3u8222222.php?url=\"},\"dbm3u8\":{\"show\":\"备用1(请勿相信片中广告!!)\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://jx.tiankongyingshi.tv/m3u8222222.php?url=\"},\"wjm3u8\":{\"show\":\"备用2(请勿相信片中广告!!)\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://jx.tiankongyingshi.tv/m3u8222222.php?url=\"},\"kbm3u8\":{\"show\":\"备用3(有广告,误信)\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://jx.tiankongyingshi.tv/m3u8222222.php?url=\"},\"tkqp\":{\"show\":\"app专用\",\"des\":\"天空自切\",\"ps\":\"1\",\"parse\":\"https://jxqd.tkys.tv/dnmdsb2.php?url=\"},\"wuduzy\":{\"show\":\"蓝光B(维护中)\",\"des\":\"五毒\",\"ps\":\"1\",\"parse\":\"https://jx.yyy4080.com/351755?url=\"},\"miaoparty\":{\"show\":\"蓝光MZ\",\"des\":\"\",\"ps\":\"1\",\"parse\":\"https://jxqd.tkys.tv/dnmdsb2.php?url=\"},\"wuduby\":{\"show\":\"蓝光备用\",\"des\":\"五毒备用\",\"ps\":\"0\",\"parse\":\"https://jx.tiankongyingshi.tv/m3u8.php?url=\"},\"iframe\":{\"show\":\"iframe外链数据\",\"des\":\"iframe外链数据\",\"ps\":\"0\",\"parse\":\"\"},\"link\":{\"show\":\"外链数据\",\"des\":\"外部网站播放链接\",\"ps\":\"0\",\"parse\":\"\"}}"; + + @Override + public void init(Context context) { + super.init(context); + try { + playerConfig = new JSONObject(playerString); + filterConfig = new JSONObject(filterString); + } catch (JSONException e) { + SpiderDebug.log(e); + } + } + + /** + * 爬虫headers + * + * @param refererUrl + * @return + */ + protected HashMap getHeaders(String refererUrl) { + HashMap headers = new HashMap<>(); + headers.put("method", "GET"); + if (!TextUtils.isEmpty(refererUrl)) { + headers.put("Referer", refererUrl); + } + headers.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"); + headers.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); + return headers; + } + + /** + * 获取分类数据 + 首页最近更新视频列表数据 + * + * @param filter 是否开启筛选 关联的是 软件设置中 首页数据源里的筛选开关 + * @return + */ + @Override + public String homeContent(boolean filter) { + try { + String url = siteUrl + '/'; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(siteUrl))); + Elements elements = doc.select("ul.nav-menu>li>a[href*='vodtype']"); + JSONArray classes = new JSONArray(); + for (Element ele : elements) { + String name = ele.text(); + String href = ele.attr("href"); + Matcher mather = regexCategory.matcher(href); + if (!mather.find()) + continue; + // 把分类的id和名称取出来加到列表里 + String id = mather.group(1).trim(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type_id", id); + jsonObject.put("type_name", name); + classes.put(jsonObject); + } + + JSONObject result = new JSONObject(); + if (filter) { + result.put("filters", filterConfig); + } + result.put("class", classes); + try { + // 取首页推荐视频列表 + Elements list = doc.select("ul.myui-vodlist > li > div.myui-vodlist__box > a"); + JSONArray videos = new JSONArray(); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.attr("data-original"); + String remark = ""; + Element remarkEle = vod.selectFirst("span.pic-text"); + if (remarkEle != null) { + remark = remarkEle.text(); + } + Matcher matcher = regexVoddetail.matcher(vod.attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + result.put("list", videos); + } catch (Exception e) { + SpiderDebug.log(e); + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + /** + * 获取分类信息数据 + * + * @param tid 分类id + * @param pg 页数 + * @param filter 同homeContent方法中的filter + * @param extend 筛选参数{k:v, k1:v1} + * @return + */ + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + try { + int page = 1; + TreeMap ext = new TreeMap<>(); + if (!TextUtils.isEmpty(pg) && Integer.parseInt(pg.trim()) > 1) { + page = Integer.parseInt(pg.trim()); + ext.put("page", page + ""); + } + if (extend != null && extend.size() > 0) { + ext.putAll(extend); + } + ext.put("id", tid); + List kv = new ArrayList<>(); + for (Map.Entry entry : ext.entrySet()) { + if ("".equals(entry.getValue())) { + continue; + } + kv.add(entry.getKey() + "/" + entry.getValue()); + } + String params = TextUtils.join("/", kv); + + String url = siteUrl + "/vodshow/" + params + ".html"; + + String html = OkHttpUtil.string(url, getHeaders(siteUrl)); + Document doc = Jsoup.parse(html); + JSONObject result = new JSONObject(); + int pageCount = 1; + + // 取页码相关信息 + Elements pageInfo = doc.select("ul.myui-page li.visible-xs > a"); + if (pageInfo.size() > 0) { + String text = pageInfo.text(); + pageCount = Integer.parseInt(text.split("/")[1]); + } + + JSONArray videos = new JSONArray(); + // 取当前分类页的视频列表 + Elements list = doc.select("ul.myui-vodlist > li > div > a"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = vod.attr("title"); + String cover = vod.attr("data-original"); + String remark = ""; + Element remarkEle = vod.selectFirst("span.pic-text"); + if (remarkEle != null) { + remark = remarkEle.text(); + } + + Matcher matcher = regexVoddetail.matcher(vod.attr("href")); + if (matcher.find()) { + String vodId = matcher.group(1); + JSONObject v = new JSONObject(); + v.put("vod_id", vodId); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", remark); + videos.put(v); + } + } + result.put("page", page); + result.put("pagecount", pageCount); + result.put("limit", 48); + result.put("total", pageCount <= 1 ? videos.length() : pageCount * 48); + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 视频详情信息 + * + * @param ids 视频id + * @return + */ + @Override + public String detailContent(List ids) { + try { + // 视频详情url + String url = siteUrl + "/voddetail/" + ids.get(0) + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(siteUrl))); + JSONObject result = new JSONObject(); + JSONObject vodList = new JSONObject(); + + // 取基本数据 + String cover = doc.selectFirst("div.myui-content__thumb > a > img").attr("data-original"); + String title = doc.selectFirst("div.myui-content__detail > h1").text(); + String desc = doc.selectFirst("#desc span.data").text(); + + vodList.put("vod_id", ids.get(0)); + vodList.put("vod_name", title); + vodList.put("vod_pic", cover); + vodList.put("vod_content", desc); + + Map vod_play = new LinkedHashMap<>(); + + // 取播放列表数据 + Elements sources = doc.select("a[href*='playlist']"); + Elements sourceList = doc.select("div[id*='playlist']"); + + for (int i = 0; i < sources.size(); i++) { + Element source = sources.get(i); + String sourceName = source.text(); + boolean found = false; + for (Iterator it = playerConfig.keys(); it.hasNext(); ) { + String flag = it.next(); + if (playerConfig.getJSONObject(flag).getString("show").equals(sourceName)) { +// sourceName = flag; + found = true; + break; + } + } + if (found) { + String playList = ""; + Elements playListA = sourceList.get(i).select("a"); + List vodItems = new ArrayList<>(); + + for (int j = 0; j < playListA.size(); j++) { + Element vod = playListA.get(j); + Matcher matcher = regexPlay.matcher(vod.attr("href")); + if (matcher.find()) { + String playURL = matcher.group(1); + String playUrlName = vod.text(); + vodItems.add(playUrlName + "$" + playURL); + } + } + if (vodItems.size() > 0) { + playList = TextUtils.join("#", vodItems); + vod_play.put(sourceName, playList); + } + } + } + + if (vod_play.size() > 0) { + String vod_play_from = TextUtils.join("$$$", vod_play.keySet()); + String vod_play_url = TextUtils.join("$$$", vod_play.values()); + vodList.put("vod_play_from", vod_play_from); + vodList.put("vod_play_url", vod_play_url); + } + JSONArray list = new JSONArray(); + list.put(vodList); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + /** + * 获取视频播放信息 + * + * @param flag 播放源 + * @param id 视频id + * @param vipFlags 所有可能需要vip解析的源 + * @return + */ + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + // 播放页 url + String url = siteUrl + "/vodplay/" + id + ".html"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders(siteUrl))); + Elements allScript = doc.select("script"); + JSONObject result = new JSONObject(); + Map playHeader = new HashMap<>(); + playHeader.put("User-Agent", " Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"); + result.put("header", new JSONObject(playHeader).toString()); + result.put("parse", "0"); + result.put("playUrl", ""); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { // 取直链 + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + String videoUrl = player.optString("url"); + String from = player.optString("from"); + if (from.equals("")) { + from = "tkqp"; + } + if (Misc.isVideoFormat(videoUrl)) { + result.put("url", videoUrl); + return result.toString(); + } + + JSONObject playJxConfig = playerConfig.optJSONObject(from); + String parseUrl = playJxConfig.optString("parse"); + + Map paramsMap = new HashMap<>(); + paramsMap.put("url", videoUrl); + String parseHtml = OkHttpUtil.string(parseUrl + videoUrl, getHeaders(siteUrl)); + + Matcher tokenMatcher = regexBtToken.matcher(parseHtml); + Matcher enurlMatcher = regexEnurl.matcher(parseHtml); + + if (tokenMatcher.find() && enurlMatcher.find()) { + String token = tokenMatcher.group(1); + String enurl = enurlMatcher.group(1); + byte[] decode = Base64.decode(enurl, Base64.DEFAULT); + String realurl = AES.decryptOfAesCbcPkcs7(decode, "7692AA70EEF92B42".getBytes(), token.getBytes()); + result.put("url", realurl); + return result.toString(); + } + break; + } + } + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String searchContent(String key, boolean quick) { + try { + long currentTime = System.currentTimeMillis(); + String url = siteUrl + "/index.php/ajax/suggest?mid=1&wd=" + URLEncoder.encode(key) + "&limit=10×tamp=" + currentTime; + JSONObject searchResult = new JSONObject(OkHttpUtil.string(url, getHeaders(siteUrl))); + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (searchResult.getInt("total") > 0) { + JSONArray lists = new JSONArray(searchResult.getString("list")); + for (int i = 0; i < lists.length(); i++) { + JSONObject vod = lists.getJSONObject(i); + String id = vod.getString("id"); + String title = vod.getString("name"); + String cover = vod.getString("pic"); + JSONObject v = new JSONObject(); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", cover); + v.put("vod_remarks", ""); + videos.put(v); + } + } + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} diff --git a/TVBox_Java/加进去报错的Java源代码/XYQBiu.java b/TVBox_Java/加进去报错的Java源代码/XYQBiu.java new file mode 100644 index 0000000..a8ea061 --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/XYQBiu.java @@ -0,0 +1,1167 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; +import android.util.Base64; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.utils.Misc; +import com.github.catvod.utils.okhttp.OKCallBack; +import com.github.catvod.utils.okhttp.OkHttpUtil; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.select.Elements; + +import java.net.URLEncoder; +import java.net.URLDecoder; +import java.net.InetAddress; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Iterator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import okhttp3.Call; +import okhttp3.Headers; +import okhttp3.Response; + +public class XYQBiu extends Spider { + + private String btcookie = ""; + + @Override + public void init(Context context) { + super.init(context); + } + + public void init(Context context, String extend) { + super.init(context, extend); + this.ext = extend; + } + + @Override + public String homeContent(boolean filter) { + try { + fetchRule(); + JSONObject result = new JSONObject(); + JSONArray classes = new JSONArray(); + + String[] fenleis = getRuleVal("class_name", "").split("&"); + String[] fenleisval = getRuleVal("class_value", "").split("&"); + for (int i = 0; i < fenleis.length; i++) { + JSONObject fenjson = new JSONObject(); + fenjson.put("type_id", fenleisval[i].replaceAll("&&", "&")); + fenjson.put("type_name", fenleis[i]); + classes.put(fenjson); + } + result.put("class", classes); + String getclan = getRuleVal("filterdata", ""); + InetAddress addr = InetAddress.getLocalHost(); + String locadd = "http://" + addr.getHostAddress() + ":9978/file/"; + String filepath = null; + JSONObject filterdata = null; + if (getclan.startsWith("clan://") || getclan.startsWith("http")) { + if (getclan.startsWith("clan://")) { + if (getclan.startsWith("clan://localhost/")) { + filepath = getclan.replace("clan://localhost/", locadd); + } else { + filepath = getclan.replace("clan://", locadd); + } + } else { + filepath = getclan; + } + try { + String filtejson = OkHttpUtil.string(filepath, null); + filterdata = new JSONObject(filtejson); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + } else { + filterdata = rule.optJSONObject("filterdata"); + } + if (filter && filterdata != null) { + result.put("filters", filterdata); + } + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + +// protected HashMap getHeaders(String url) { +// HashMap headers = new HashMap<>(); +// String ua = getRuleVal("UserAgent", "okhttp/3.12.11").trim(); +// if (ua.isEmpty()) { +// ua = "okhttp/3.12.11"; +// } else if (ua.equals("PC_UA")) { +// ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; +// } else if (ua.equals("MOBILE_UA")) { +// ua = "Mozilla/5.0 (Linux; Android 11; Mi 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36"; + } +// headers.put("User-Agent", ua); + +// if (!getRuleVal("Referer").isEmpty()) { +// String webref = getRuleVal("Referer").trim(); +// if (webref.startsWith("http")) { +// headers.put("Referer", webref); +// } +// } +// return headers; +// } + + protected HashMap getHeaders(String url) { + HashMap headers = new HashMap<>(); + String ua = getRuleVal("SUserAgent", "").trim(); + if (ua.contains("$")) { + String[] split = ua.split("#"); + for (String split2 : split) { + String[] split3 = split2.split("\\$"); + String str2 = split3[0]; + JSONObject obj = split3[1]; + if (obj.equals("PC_UA")) { + obj = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; + } else if (ua.equals("MOBILE_UA")) { + obj = "Mozilla/5.0 (Linux; Android 11; Mi 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36"; + } + if (!btcookie.isEmpty() && (str2.equals("cookie") || str2.equals("Cookie"))) { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(obj); + stringBuilder.append(";"); + stringBuilder.append(btcookie); + obj = stringBuilder.toString(); + } + headers.put(str2, obj); + } + if (!(btcookie.isEmpty() || btcookie.length() <= 1 || ua.contains("Cookie$") || ua.contains("cookie$"))) { + headers.put("Cookie", btcookie); + } + } else if (ua.isEmpty()) { + return sHeaders(url); + } else { + JSONObject obj2; + if (ua.equals("PC_UA")) { + obj2 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; + } else if (ua.equals("MOBILE_UA")) { + obj2 = "Mozilla/5.0 (Linux; Android 11; Mi 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36"; + } else { + String obj22 = ua; + } + if (!btcookie.isEmpty() && btcookie.length() > 1) { + headers.put("Cookie", btcookie); + } + headers.put("User-Agent", obj22); + } + return headers; + } + + protected HashMap sHeaders(String url) { + HashMap headers = new HashMap<>(); + String ua = getRuleVal("UserAgent", "").trim(); + if (ua.contains("$")) { + String[] split = ua.split("#"); + for (String split2 : split) { + String[] split3 = split2.split("\\$"); + String str2 = split3[0]; + JSONObject obj = split3[1]; + if (obj.equals("PC_UA")) { + obj = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; + } else if (ua.equals("MOBILE_UA")) { + obj = "Mozilla/5.0 (Linux; Android 11; Mi 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36"; + } + if (!btcookie.isEmpty() && (str2.equals("cookie") || str2.equals("Cookie"))) { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(obj); + stringBuilder.append(";"); + stringBuilder.append(btcookie); + obj = stringBuilder.toString(); + } + headers.put(str2, obj); + } + if (!(btcookie.isEmpty() || btcookie.length() <= 1 || ua.contains("Cookie$") || ua.contains("cookie$"))) { + headers.put("Cookie", btcookie); + } + } else { + JSONObject obj2; + if (ua.isEmpty()) { + obj2 = "okhttp/3.12.11"; + } else if (ua.equals("PC_UA")) { + obj2 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; + } else if (ua.equals("MOBILE_UA")) { + obj2 = "Mozilla/5.0 (Linux; Android 11; Mi 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36"; + } else { + String obj22 = ua; + } + if (!btcookie.isEmpty() && btcookie.length() > 1) { + headers.put("Cookie", btcookie); + } + headers.put("User-Agent", obj22); + } + return headers; + } + + @Override + public String homeVideoContent() { + try { + fetchRule(); + if (getRuleVal("homeContent").equals("1")) { + JSONArray videos = new JSONArray(); + String[] fenleis = getRuleVal("class_value", "").split("&"); + for (String fenlei : fenleis) { + JSONObject data = category(fenlei.replaceAll("&&", "&"), "1", false, new HashMap<>()); + if (data != null) { + JSONArray vids = data.optJSONArray("list"); + if (vids != null) { + for (int i = 0; i < vids.length() && i < 5; i++) { + videos.put(vids.getJSONObject(i)); + } + } + } + if (videos.length() >= 20) + break; + } + JSONObject result = new JSONObject(); + result.put("list", videos); + return result.toString(); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + private JSONObject category(String tid, String pg, boolean filter, HashMap extend) { + try { + fetchRule(); + String fistpg = String.valueOf(Integer.parseInt(getRuleVal("firstpage", "1"))); + ////页码 + if (fistpg.equals("0")) { + pg = String.valueOf(Integer.parseInt(pg) - 1 * 1); + } else { + pg = String.valueOf(Integer.parseInt(pg) - 1 + Integer.parseInt(getRuleVal("firstpage", "1"))); + } + //web链接 + String webUrl = getRuleVal("class_url"); + if (webUrl.contains("firstPage=")) { + if (pg.equals("1")) { + webUrl = webUrl.split("\\[firstPage=")[1].split("\\]")[0]; + } else { + webUrl = webUrl.split("\\[firstPage=")[0]; + } + } + //筛选开始 + if (filter && extend != null && extend.size() > 0) { + for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { + String key = it.next(); + String value = extend.get(key); + if (value.length() > 0) { + webUrl = webUrl.replace("{" + key + "}", URLEncoder.encode(value)); + } + } + } + webUrl = webUrl.replaceAll("\\{cateId\\}", tid).replaceAll("\\{catePg\\}", pg); + Matcher m = Pattern.compile("\\{(.*?)\\}").matcher(webUrl); + while (m.find()) { + String n = m.group(0).replace("{", "").replace("}", ""); + webUrl = webUrl.replace(m.group(0), "").replace("/" + n + "/", ""); + } + //筛选结束 + String html = null; + String btwatUrl = ""; + //取网页 + if (webUrl.contains(";post")) { + OKCallBack.OKCallBackString callBack = new OKCallBack.OKCallBackString() { + + public void onResponse(String response) { + } + + @Override + protected void onFailure(Call call, Exception exc) { + } + }; + String posturl = webUrl.split("\\?")[0].replaceAll("??", "?").trim(); + String postbody = webUrl.split("\\?")[1].split(";")[0].replaceAll("??", "?").trim(); + if (!postbody.isEmpty() && postbody != null) { + if (postbody.startsWith("{") && postbody.endsWith("}")) { + JSONObject jsbody = new JSONObject(postbody); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), posturl, jsbody.toString(), sHeaders(posturl), callBack); + } else { + LinkedHashMap params = new LinkedHashMap(); + String[] userbody = postbody.split("&"); + for (String userbd : userbody) { + int loca = userbd.indexOf("="); + params.put(userbd.substring(0, loca), userbd.substring(loca + 1)); + } + OkHttpUtil.post(OkHttpUtil.defaultClient(), posturl, params, sHeaders(posturl), callBack); + } + } else { + OkHttpUtil.post(OkHttpUtil.defaultClient(), posturl, null, sHeaders(posturl), callBack); + } + html = convertUnicodeToCh(callBack.getResult().replaceAll("\r|\n", "")); + btwatUrl = posturl; + } else { + html = convertUnicodeToCh(fetch(webUrl)); + btwatUrl = webUrl; + } + + html = jumpbtwaf(html,convertUnicodeToCh(fetch(webUrl)));//5秒盾 + String parseContent = html; + String mark = ""; + String pic = ""; + boolean fenleiJson = getRuleVal("cat_mode").equals("0"); + boolean picneetproxy = getRuleVal("PicNeedProxy").equals("1"); + + JSONArray videos = new JSONArray(); + JSONObject result = new JSONObject(); + if (fenleiJson) { + JSONObject data = new JSONObject(parseContent); + JSONArray vodArray = null; + String[] keylen = getRuleVal("catjsonlist", "data").split("\\."); + if (keylen.length == 1) { + vodArray = data.getJSONArray(keylen[0]); + } else if (keylen.length == 2) { + vodArray = data.getJSONObject(keylen[0]).getJSONArray(keylen[1]); + } else if (keylen.length == 3) { + vodArray = data.getJSONObject(keylen[0]).getJSONObject(keylen[1]).getJSONArray(keylen[2]); + } + //JSONArray vodArray = data.getJSONArray(getRuleVal("catjsonlist","list")); + for (int j = 0; j < vodArray.length(); j++) { + try { + JSONObject vod = vodArray.getJSONObject(j); + String name = vod.optString(getRuleVal("catjsonname")).trim(); + String id = vod.optString(getRuleVal("catjsonid")).trim(); + id = getRuleVal("cat_prefix", "") + id + getRuleVal("cat_suffix", ""); + if (!getRuleVal("catjsonpic").isEmpty()) { + try { + pic = vod.optString(getRuleVal("catjsonpic")).trim(); + pic = Misc.fixUrl(webUrl, pic); + if (picneetproxy) { + pic = fixCover(pic, webUrl); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + try { + mark = vod.optString(getRuleVal("catjsonstitle")).trim(); + } catch (Exception e) { + SpiderDebug.log(e); + } + JSONObject v = new JSONObject(); + v.put("vod_id", name + "$$$" + pic + "$$$" + id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } else { + boolean shifouercijiequ = getRuleVal("cat_YN_twice").equals("1"); + if (shifouercijiequ) { + String jiequqian = getRuleVal("cat_twice_pre"); + String jiequhou = getRuleVal("cat_twice_suf"); + parseContent = subContent(html, jiequqian, jiequhou).get(0); + } + String jiequshuzuqian = getRuleVal("cat_arr_pre"); + String jiequshuzuhou = getRuleVal("cat_arr_suf"); + + ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); + for (int i = 0; i < jiequContents.size(); i++) { + try { + String jiequContent = jiequContents.get(i); + String title = subContent(jiequContent, getRuleVal("cat_title").split("&&")[0], getRuleVal("cat_title").split("&&")[1]).get(0).replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + if (!getRuleVal("cat_pic").isEmpty()) { + try { + pic = subContent(jiequContent, getRuleVal("cat_pic").split("&&")[0], getRuleVal("cat_pic").split("&&")[1]).get(0); + pic = Misc.fixUrl(webUrl, pic); + if (picneetproxy) { + pic = fixCover(pic, webUrl); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + String link = subContent(jiequContent, getRuleVal("cat_url").split("&&")[0], getRuleVal("cat_url").split("&&")[1]).get(0); + link = getRuleVal("cat_prefix", "") + link + getRuleVal("cat_suffix", ""); + if (!getRuleVal("cat_subtitle").isEmpty()) { + try { + mark = subContent(jiequContent, getRuleVal("cat_subtitle").split("&&")[0], getRuleVal("cat_subtitle").split("&&")[1]).get(0).replaceAll("\\s+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + JSONObject v = new JSONObject(); + v.put("vod_id", title + "$$$" + pic + "$$$" + link); + v.put("vod_name", title); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } catch (Throwable th) { + th.printStackTrace(); + break; + } + } + } + + result.put("page", pg); + result.put("pagecount", Integer.MAX_VALUE); + result.put("limit", 90); + result.put("total", Integer.MAX_VALUE); + result.put("list", videos); + return result; + } catch (Exception e) { + SpiderDebug.log(e); + } + return null; + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { + JSONObject obj = category(tid, pg, filter, extend); + return obj != null ? obj.toString() : ""; + } + + @Override + public String detailContent(List ids) { + try { + fetchRule(); + String[] idInfo = ids.get(0).split("\\$\\$\\$"); + String webUrl = idInfo[2]; + + String cover = idInfo[1], vodtitle = idInfo[0], area = ""; + String desc = ""; + String director = ""; + String actor = ""; + String remark = ""; + String year = ""; + String category = ""; + + ArrayList playList = new ArrayList<>(); + ArrayList playFrom = new ArrayList<>(); + boolean isMagnet = false; + boolean zhijiebofang = getRuleVal("force_play").equals("1"); + boolean picneetproxy = getRuleVal("PicNeedProxy").equals("1"); + try { + if (picneetproxy) { + cover = fixCover(cover, webUrl); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + if (zhijiebofang) { + //直接播放 + playFrom.add(idInfo[0]); + playList.add(idInfo[0] + "$" + idInfo[2]); + if (idInfo[2].startsWith("magnet")) { + isMagnet = true; + } + } else { + //非直接播放 + String html = fetch(webUrl).trim(); + html = jumpbtwaf(webUrl,html);//5秒盾 + html = convertUnicodeToCh(html); + String parseContent = html; + boolean bfshifouercijiequ = getRuleVal("list_YN_twice").equals("1"); + if (bfshifouercijiequ) { + String jiequqian = getRuleVal("list_twice_pre"); + String jiequhou = getRuleVal("list_twice_suf"); + parseContent = subContent(html, jiequqian, jiequhou).get(0); + } + + String jiequshuzuqian = getRuleVal("list_arr_pre"); + String jiequshuzuhou = getRuleVal("list_arr_suf"); + boolean bfyshifouercijiequ = getRuleVal("epi_YN_twice").equals("1"); + ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); + for (int i = 0; i < jiequContents.size(); i++) { + try { + String jiequContent = jiequContents.get(i); + String parseJqContent = bfyshifouercijiequ ? subContent(jiequContent, getRuleVal("epi_twice_pre"), getRuleVal("epi_twice_suf")).get(0) : jiequContent; + ArrayList lastParseContents = subContent(parseJqContent, getRuleVal("epi_arr_pre"), getRuleVal("epi_arr_suf")); + List vodItems = new ArrayList<>(); + for (int j = 0; j < lastParseContents.size(); j++) { + String title = subContent(lastParseContents.get(j), getRuleVal("epi_title").split("&&")[0], getRuleVal("epi_title").split("&&")[1]).get(0); + String link = subContent(lastParseContents.get(j), getRuleVal("epi_url").split("&&")[0], getRuleVal("epi_url").split("&&")[1]).get(0); + link = getRuleVal("epiurl_prefix", "") + link + getRuleVal("epiurl_suffix", ""); + vodItems.add(title + "$" + link); + if (link.startsWith("magnet")) { + isMagnet = true; + break; + } + } + playList.add(TextUtils.join("#", vodItems)); + if (isMagnet) { + break; + } + } catch (Throwable th) { + th.printStackTrace(); + break; + } + } + + //线路代码 + String xlparseContent = html; + //没有线路规则代码时 + if (!getRuleVal("tab_title").isEmpty() && !getRuleVal("tab_arr_pre").isEmpty()) { + //代码取线路名 + boolean xlshifouercijiequ = getRuleVal("tab_YN_twice").equals("1"); + if (xlshifouercijiequ) { + String xljiequqian = getRuleVal("tab_twice_pre"); + String xljiequhou = getRuleVal("tab_twice_suf"); + xlparseContent = subContent(html, xljiequqian, xljiequhou).get(0); + } + + String xljiequshuzuqian = getRuleVal("tab_arr_pre"); + String xljiequshuzuhou = getRuleVal("tab_arr_suf"); + ArrayList xljiequContents = subContent(xlparseContent, xljiequshuzuqian, xljiequshuzuhou); + for (int i = 0; i < playList.size(); i++) { + try { + String xltitle = subContent(xljiequContents.get(i), getRuleVal("tab_title").split("&&")[0], getRuleVal("tab_title").split("&&")[1]).get(0).replaceAll("\\s+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + playFrom.add(xltitle); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } else { + for (int i = 0; i < playList.size(); i++) { + playFrom.add("播放列表" + (i + 1)); + } + } + + if (!getRuleVal("proj_actor").isEmpty()) { + try { + actor = subContent(html, getRuleVal("proj_actor").split("&&")[0], getRuleVal("proj_actor").split("&&")[1]).get(0).replaceAll("\\s+", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + if (!getRuleVal("proj_plot").isEmpty()) { + try { + desc = subContent(html, getRuleVal("proj_plot").split("&&")[0], getRuleVal("proj_plot").split("&&")[1]).get(0); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } + //非直接播放结束 + JSONObject vod = new JSONObject(); + vod.put("vod_id", ids.get(0)); + vod.put("vod_name", vodtitle); + vod.put("vod_pic", cover); + vod.put("type_name", category); + vod.put("vod_year", year); + vod.put("vod_area", area); + vod.put("vod_remarks", remark); + vod.put("vod_actor", actor); + vod.put("vod_director", director); + vod.put("vod_content", desc); + + String vod_play_from = TextUtils.join("$$$", playFrom); + String vod_play_url = TextUtils.join("$$$", playList); + vod.put("vod_play_from", vod_play_from); + vod.put("vod_play_url", vod_play_url); + + JSONObject result = new JSONObject(); + JSONArray list = new JSONArray(); + list.put(vod); + result.put("list", list); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + @Override + public String playerContent(String flag, String id, List vipFlags) { + try { + fetchRule(); + String webUrl = id; + //WebView嗅探请求头 +// JSONObject webheaders = new JSONObject(); +// String webua = getRuleVal("UserAgent", "okhttp/3.12.11").trim(); +// if (webua.isEmpty()) { +// webua = "okhttp/3.12.11"; +// } else if (webua.equals("PC_UA")) { +// webua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; +// } else if (webua.equals("MOBILE_UA")) { +// webua = "Mozilla/5.0 (Linux; Android 11; Mi 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36"; +// } +// webheaders.put("User-Agent", webua); + +// if (!getRuleVal("Referer").isEmpty()) { +// String webref = getRuleVal("Referer").trim(); +// if (webref.startsWith("http")) { +// webheaders.put("Referer", webref); +// } else if (webref.equals("WebView")) { +// webheaders.put("Referer", webUrl); + } + } + + JSONObject webheaders = new JSONObject(); + String webua = getRuleVal("UserAgent", "").trim(); + String str4 = "\\$"; + if (webua.contains("$")) { + String[] split = webua.split("#"); + for (String str32 : split) { + String[] head = str32.split(str4); + String str5 = head[0]; + obj = head[0]; + if (obj.equals("PC_UA")) { + obj = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; + } else if (webua.equals("MOBILE_UA")) { + obj = "Mozilla/5.0 (Linux; Android 11; Mi 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36"; + } + if (!btcookie.isEmpty() && (str5.equals("cookie") || str5.equals("Cookie"))) { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(obj); + stringBuilder.append(";"); + stringBuilder.append(btcookie); + obj = stringBuilder.toString(); + } + if ((str5.equals("Referer") || str5.equals("referer")) && webref.equals("WebView")) { + obj = str2; + } + webheaders.put(str5, obj); + } + if (btcookie.isEmpty() || btcookie.length() <= 1 || webua.contains("Cookie$") || webua.contains("cookie$")) { + webua = str4; + } else { + webheaders.put("Cookie", btcookie); + webua = str4; + } + } else { + if (webua.isEmpty()) { + obj = "okhttp/3.12.11"; + } else if (webua.equals("PC_UA")) { + obj = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"; + } else if (webua.equals("MOBILE_UA")) { + obj = "Mozilla/5.0 (Linux; Android 11; Mi 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36"; + } else { + str32 = webua; + } + if (!btcookie.isEmpty() && btcookie.length() > 1) { + webheaders.put("Cookie", btcookie); + } + webheaders.put("User-Agent", obj); + webua = str4; + } + + if (!getRuleVal("Referer").isEmpty()) { + String webref = getRuleVal("Referer").trim(); + if (webref.startsWith("http")) { + webheaders.put("Referer", webref); + } else if (webref.equals("WebView")) { + webheaders.put("Referer", webUrl); + } + } + + //嗅探请求头结束 + + JSONObject result = new JSONObject(); + boolean enforceplay = (getRuleVal("force_play").equals("1") || getRuleVal("force_play").equals("2")); + //强制视频链接 + if (enforceplay) { + webUrl = getRuleVal("play_prefix", "") + webUrl + getRuleVal("play_suffix", ""); + //请求头代码 + if (!getRuleVal("play_header").isEmpty()) { + JSONObject uaresult = rule.optJSONObject("play_header"); + if (uaresult != null) { + result.put("header", uaresult.toString()); + } else { + String[] usera = getRuleVal("play_header").split("#"); + JSONObject strua = new JSONObject(); + for (String user : usera) { + String[] head = user.split("\\$"); + strua.put(head[0], " " + head[1]); + } + result.put("header", strua.toString()); + } + } else { + result.put("header", webheaders.toString()); + } + //视频格式识别 + if (webUrl.contains("#isVideo=true#") || Misc.isVideoFormat(webUrl)) { + if (webUrl.contains("#isVideo=true#")) { + webUrl = webUrl.replaceAll("#isVideo=true#", ""); + } + result.put("parse", 0); + result.put("playUrl", ""); + } else if (Misc.isVip(webUrl)) { + result.put("parse", 1); + result.put("jx", "1"); + result.put("url", webUrl); + return result.toString(); + } else { + //不是视频就转嗅探 + result.put("parse", 1); + result.put("playUrl", ""); + } + result.put("url", webUrl); + return result.toString(); + } + //直接播放代码结束 + + //普通链接开始 + //分析mac链接解析 + boolean enMacPlayer = getRuleVal("Anal_MacPlayer").equals("1"); + String videoUrl = null; + String fromflag = null; + + if (enMacPlayer && enforceplay == false) { + try { + Document doc = Jsoup.parse(fetch(webUrl)); + Elements allScript = doc.select("script"); + for (int i = 0; i < allScript.size(); i++) { + String scContent = allScript.get(i).html().trim(); + if (scContent.startsWith("var player_")) { + int start = scContent.indexOf('{'); + int end = scContent.lastIndexOf('}') + 1; + String json = scContent.substring(start, end); + JSONObject player = new JSONObject(json); + String videoUrlTmp = player.getString("url"); + + fromflag = player.getString("from"); + if (player.has("encrypt")) { + int encrypt = player.getInt("encrypt"); + if (encrypt == 1) { + videoUrlTmp = URLDecoder.decode(videoUrlTmp); + } else if (encrypt == 2) { + videoUrlTmp = new String(Base64.decode(videoUrlTmp, Base64.DEFAULT)); + videoUrlTmp = URLDecoder.decode(videoUrlTmp); + } + } + videoUrl = videoUrlTmp; + break; + } + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + + + //视频不为null时进行处理解析 + if (videoUrl != null) { + if (Misc.isVip(videoUrl)) { // 使用jx:1 + try { + result.put("parse", 1); + result.put("jx", "1"); + result.put("url", videoUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + } else if (fromflag.matches("duoduozy|ddzy")) { + + result.put("header", webheaders.toString()); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", webUrl); + return result.toString(); + } else if (Misc.isVideoFormat(videoUrl)) { + try { + result.put("parse", 0); + result.put("playUrl", ""); + result.put("url", videoUrl); + result.put("header", ""); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } + //视频不为null代码结束 + + result.put("header", webheaders.toString()); + result.put("parse", 1); + result.put("playUrl", ""); + result.put("url", webUrl); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + @Override + public boolean manualVideoCheck() { + fetchRule(); + if (getRuleVal("ManualSniffer").equals("1")) { + return true; + } else { + return false; + } + } + + //private String[] videoFormatList = getRuleVal("videoformat",".m3u8#.mp4#.flv").split("#"); + + @Override + public boolean isVideoFormat(String url) { + fetchRule(); + String[] videoFormatList = getRuleVal("VideoFormat", ".m3u8#.mp4#.flv#.mp3#.m4a").split("#"); + String[] videoFilterList = getRuleVal("VideoFilter", "=http#.html").split("#"); + url = url.toLowerCase(); + + if (url.contains("=http") || url.contains("=https") || url.contains("=https%3a%2f") || url.contains("=http%3a%2f")) { + return false; + } + for (String format : videoFormatList) { + if (url.contains(format)) { + for (String videoFilter : videoFilterList) { + if (url.contains(videoFilter)) { + return false; + } + } + return true; + } + } + return false; + } + + @Override + public String searchContent(String key, boolean quick) { + try { + fetchRule(); + String webUrlTmp = getRuleVal("search_url").replaceAll("\\{wd\\}", key); + String webUrl = webUrlTmp.split(";")[0]; + String webContent = null; + + if (webUrlTmp.contains(";post")) { + OKCallBack.OKCallBackString callBack = new OKCallBack.OKCallBackString() { + + public void onResponse(String response) { + } + + @Override + protected void onFailure(Call call, Exception exc) { + } + }; + + String postbody = getRuleVal("sea_PtBody").replaceAll("\\{wd\\}", key).trim(); + if (!postbody.isEmpty() && postbody != null) { + if (postbody.startsWith("{") && postbody.endsWith("}")) { + JSONObject jsbody = new JSONObject(postbody); + OkHttpUtil.postJson(OkHttpUtil.defaultClient(), webUrl, jsbody.toString(), getHeaders(webUrl), callBack); + } else { + LinkedHashMap params = new LinkedHashMap(); + //params.put(postbody, key); + String[] userbody = postbody.split("&"); + for (String userbd : userbody) { + int loca = userbd.indexOf("="); + //int end = userbd.lastIndexOf('=') + 1; + //String[] bdhead = userbd.split("="); + params.put(userbd.substring(0, loca), userbd.substring(loca + 1)); + } + OkHttpUtil.post(OkHttpUtil.defaultClient(), webUrl, params, getHeaders(webUrl), callBack); + } + } else { + OkHttpUtil.post(OkHttpUtil.defaultClient(), webUrl, null, getHeaders(webUrl), callBack); + } + webContent = convertUnicodeToCh(callBack.getResult().replaceAll("\r|\n", "")); + } else { + webContent = convertUnicodeToCh(fetch(webUrl)); + } + + String mark = ""; + String pic = ""; + boolean ssmoshiJson = getRuleVal("search_mode").equals("0"); + boolean picneetproxy = getRuleVal("PicNeedProxy").equals("1"); + + JSONObject result = new JSONObject(); + JSONArray videos = new JSONArray(); + if (ssmoshiJson) { + JSONObject data = new JSONObject(webContent); + JSONArray vodArray = null; + String[] keylen = getRuleVal("jsonlist", "list").split("\\."); + if (keylen.length == 1) { + vodArray = data.getJSONArray(keylen[0]); + } else if (keylen.length == 2) { + vodArray = data.getJSONObject(keylen[0]).getJSONArray(keylen[1]); + } else if (keylen.length == 3) { + vodArray = data.getJSONObject(keylen[0]).getJSONObject(keylen[1]).getJSONArray(keylen[2]); + } + //JSONArray vodArray = data.getJSONArray(getRuleVal("jsonlist","list")); + for (int j = 0; j < vodArray.length(); j++) { + try { + JSONObject vod = vodArray.getJSONObject(j); + String name = vod.optString(getRuleVal("jsonname")).trim(); + String id = vod.optString(getRuleVal("jsonid")).trim(); + id = getRuleVal("cat_prefix", "") + id + getRuleVal("cat_suffix", ""); + if (!getRuleVal("jsonpic").isEmpty()) { + try { + pic = vod.optString(getRuleVal("jsonpic")).trim(); + pic = Misc.fixUrl(webUrl, pic); + if (picneetproxy) { + pic = fixCover(pic, webUrl); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + try { + mark = vod.optString(getRuleVal("jsonstitle")).trim(); + } catch (Exception e) { + SpiderDebug.log(e); + } + JSONObject v = new JSONObject(); + v.put("vod_id", name + "$$$" + pic + "$$$" + id); + v.put("vod_name", name); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } catch (Exception e) { + SpiderDebug.log(e); + } + } + } else { + String parseContent = webContent; + boolean shifouercijiequ = getRuleVal("sea_YN_twice").equals("1"); + if (shifouercijiequ) { + String jiequqian = getRuleVal("sea_twice_pre"); + String jiequhou = getRuleVal("sea_twice_suf"); + parseContent = subContent(webContent, jiequqian, jiequhou).get(0); + } + String jiequshuzuqian = getRuleVal("sea_arr_pre"); + String jiequshuzuhou = getRuleVal("sea_arr_suf"); + ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); + for (int i = 0; i < jiequContents.size(); i++) { + try { + String jiequContent = jiequContents.get(i); + String title = subContent(jiequContent, getRuleVal("sea_title").split("&&")[0], getRuleVal("sea_title").split("&&")[1]).get(0).replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + if (!getRuleVal("sea_pic").isEmpty()) { + try { + pic = subContent(jiequContent, getRuleVal("sea_pic").split("&&")[0], getRuleVal("sea_pic").split("&&")[1]).get(0); + pic = Misc.fixUrl(webUrl, pic); + if (picneetproxy) { + pic = fixCover(pic, webUrl); + } + } catch (Exception e) { + SpiderDebug.log(e); + } + } + String link = subContent(jiequContent, getRuleVal("sea_url").split("&&")[0], getRuleVal("sea_url").split("&&")[1]).get(0); + link = getRuleVal("search_prefix") + link + getRuleVal("search_suffix"); + try { + mark = subContent(jiequContent, getRuleVal("sea_subtitle").split("&&")[0], getRuleVal("sea_subtitle").split("&&")[1]).get(0).replaceAll("\\s+", "").replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "").replaceAll("[(/>)<]", ""); + } catch (Exception e) { + SpiderDebug.log(e); + } + JSONObject v = new JSONObject(); + v.put("vod_id", title + "$$$" + pic + "$$$" + link); + v.put("vod_name", title); + v.put("vod_pic", pic); + v.put("vod_remarks", mark); + videos.put(v); + } catch (Throwable th) { + th.printStackTrace(); + break; + } + } + } + result.put("list", videos); + return result.toString(); + } catch ( + Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + protected String ext = null; + protected JSONObject rule = null; + + protected void fetchRule() { + if (rule == null) { + if (ext != null) { + try { + if (ext.startsWith("http")) { + String json = OkHttpUtil.string(ext, null); + rule = new JSONObject(json); + } else { + rule = new JSONObject(ext); + } + } catch (JSONException e) { + } + } + } + } + + protected String fetch(String webUrl) { + SpiderDebug.log(webUrl); + return OkHttpUtil.string(webUrl, getHeaders(webUrl)).replaceAll("\r|\n", ""); + } + + private static String convertUnicodeToCh(String str) { + Pattern pattern = Pattern.compile("(\\\\u(\\w{4}))"); + Matcher matcher = pattern.matcher(str); + + // 迭代,将str中的所有unicode转换为正常字符 + while (matcher.find()) { + String unicodeFull = matcher.group(1); // 匹配出的每个字的unicode,比如\u67e5 + String unicodeNum = matcher.group(2); // 匹配出每个字的数字,比如\u67e5,会匹配出67e5 + + // 将匹配出的数字按照16进制转换为10进制,转换为char类型,就是对应的正常字符了 + char singleChar = (char) Integer.parseInt(unicodeNum, 16); + + // 替换原始字符串中的unicode码 + str = str.replace(unicodeFull, singleChar + ""); + } + return str; + } + + private String getRuleVal(String key, String defaultVal) { + String v = rule.optString(key); + if (v.isEmpty() || v.equals("空") || v.equals("&&")) + return defaultVal; + return v; + } + + private String getRuleVal(String key) { + return getRuleVal(key, ""); + } + + private ArrayList subContent(String content, String startFlag, String endFlag) { + ArrayList result = new ArrayList<>(); + if (startFlag.isEmpty() && endFlag.isEmpty()) { + result.add(content); + return result; + } + try { + Pattern pattern = Pattern.compile(escapeExprSpecialWord(startFlag) + "(.*?)" + escapeExprSpecialWord(endFlag)); + Matcher matcher = pattern.matcher(content); + while (matcher.find()) { + result.add(matcher.group(1).trim()); + } + } catch (Throwable th) { + th.printStackTrace(); + } + if (result.isEmpty()) result.add(""); + return result; + } + + public static String escapeExprSpecialWord(String keyword) { + if (!keyword.isEmpty()) { + String[] fbsArr = {"\\", "$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|"}; + for (String key : fbsArr) { + if (keyword.contains(key)) { + keyword = keyword.replace(key, "\\" + key); + } + } + } + return keyword; + } + + protected String fixCover(String cover, String site) { + try { + return "proxy://do=XYQBiu&site=" + site + "&pic=" + cover; + } catch (Exception e) { + SpiderDebug.log(e); + } + return cover; + } + + private static HashMap XYQPicHeader = null; + + public static Object[] loadPic(Map prmap) { + try { + //pic = new String(Base64.decode(pic, Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP), "UTF-8"); + String site = prmap.get("site"); + String pic = prmap.get("pic"); + + if (XYQPicHeader == null) { + XYQPicHeader = new HashMap<>(); + XYQPicHeader.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"); + XYQPicHeader.put("referer", site); + } + OKCallBack.OKCallBackDefault callBack = new OKCallBack.OKCallBackDefault() { + @Override + protected void onFailure(Call call, Exception e) { + + } + + @Override + protected void onResponse(Response response) { + + } + }; + OkHttpUtil.get(OkHttpUtil.defaultClient(), pic, null, XYQPicHeader, callBack); + if (callBack.getResult().code() == 200) { + Headers headers = callBack.getResult().headers(); + String type = headers.get("Content-Type"); + if (type == null) { + type = "application/octet-stream"; + } + Object[] result = new Object[3]; + result[0] = 200; + result[1] = type; + System.out.println(pic); + System.out.println(type); + result[2] = callBack.getResult().body().byteStream(); + return result; + } + } catch (Throwable th) { + th.printStackTrace(); + } + return null; + } + + private String jumpbtwaf(String webUrl, String html) { + for (int i = 0; i < 3; i++) { + if (html.contains("检测中") && html.contains("跳转中") && html.contains("btwaf")) { + String btwaf = subContent(html, "btwaf=", "\"").get(0); + String bturl = webUrl + "?btwaf=" + btwaf; + + Map> cookies = new HashMap<>(); + OkHttpUtil.string(bturl, sHeaders(webUrl), cookies); + for (Map.Entry> entry : cookies.entrySet()) { + if (entry.getKey().equals("set-cookie") || entry.getKey().equals("Set-Cookie")) { + btcookie = TextUtils.join(";", entry.getValue()); + break; + } + } + html = convertUnicodeToCh(fetch(webUrl)); + } + if (!html.contains("检测中") && !html.contains("btwaf")) { + return html; + } + } + return null; + } + + private String jumpbtwaf1(String webUrl, String html) { + for (int i = 0; i < 3; i++) { + if (html.contains("检测中") && html.contains("跳转中") && html.contains("btwaf")) { + String btwaf = subContent(html, "btwaf=", "\"").get(0); + String bturl = webUrl + "?btwaf=" + btwaf; + + Map> cookies = new HashMap<>(); + OkHttpUtil.string(bturl, getHeaders(webUrl), cookies); + for (Map.Entry> entry : cookies.entrySet()) { + if (entry.getKey().equals("set-cookie") || entry.getKey().equals("Set-Cookie")) { + btcookie = TextUtils.join(";", entry.getValue()); + break; + } + } + html = convertUnicodeToCh(fetch(webUrl)); + } + if (!html.contains("检测中") && !html.contains("btwaf")) { + return html; + } + } + return null; + } +} \ No newline at end of file diff --git a/TVBox_Java/加进去报错的Java源代码/Yisou.java b/TVBox_Java/加进去报错的Java源代码/Yisou.java new file mode 100644 index 0000000..fb74e3f --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/Yisou.java @@ -0,0 +1,90 @@ +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.Iterator; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +public class Yisou extends Spider { + private static final Pattern aliyun = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)"); + private PushAgent yisou; + + + public String detailContent(List list) { + try { + return yisou.detailContent(list); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } + + + public void init(Context context, String str) { + super.init(context, str); + yisou = new PushAgent(); + yisou.init(context,str); + } + + + public String playerContent(String str, String str2, List list) { + return yisou.playerContent(str, str2, list); + } + + private Pattern regexVid = Pattern.compile("(\\S+)"); + public String searchContent(String key, boolean quick) { + try { + if (quick) + return ""; + String url = "https://yiso.fun/info?searchKey=" + URLEncoder.encode(key)+"&from=ali"; + Document doc = Jsoup.parse(OkHttpUtil.string(url, null)); + JSONObject result = new JSONObject(); + + JSONArray videos = new JSONArray(); + // Elements list = doc.select("ul.newsList>li>div.li_con"); + Elements list = doc.select("div.col-md-8>div.row-cards"); + for (int i = 0; i < list.size(); i++) { + Element vod = list.get(i); + String title = ""; + Elements titlelist = vod.select("h3.card-title>a>span"); + for(int k = 0; k < titlelist.size(); k++){ + title+=titlelist.get(k).text() + } + String cover = ""; + String remark = vod.selectFirst("div.align-items-center>p.text-muted").text(); + Matcher matcher = regexVid.matcher(vod.select("h3.card-title>a").attr("href")); + if (!matcher.find()) + continue; + String id = matcher.group(1); + JSONObject v = new JSONObject(); + //v.put("vod_id", vod.select("h3.card-title>a").attr("href")); + v.put("vod_id", id); + v.put("vod_name", title); + v.put("vod_pic", "https://inews.gtimg.com/newsapp_bt/0/13263837859/1000"); + v.put("vod_remarks", remark); + videos.put(v); + } + + result.put("list", videos); + return result.toString(); + } catch (Exception e) { + SpiderDebug.log(e); + } + return ""; + } +} \ No newline at end of file diff --git a/TVBox_Java/加进去报错的Java源代码/kansj.java b/TVBox_Java/加进去报错的Java源代码/kansj.java new file mode 100644 index 0000000..1a4a0cc --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/kansj.java @@ -0,0 +1,227 @@ +package com.github.catvod.spider; + +import android.content.Context; +import com.github.catvod.crawler.Spider; +import com.github.catvod.spider.merge.Ms; +import com.github.catvod.spider.merge.W; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class KanSJ extends Spider { + private static short[] $ = {648, 660, 660, 656, 730, 719, 719, 651, 641, 654, 660, 662, 718, 666, 659, 665, 666, 643, 665, 718, 643, 654, 2987, 2991, 2977, 2944, 2987, 2983, 3030, 2977, 2981, 2997, 2967, 2977, 2997, 2991, 2948, 3029, 2978, 2999, 2979, 2980, 2983, 2999, 2995, 2983, 2983, 3026, 2977, 2984, 2983, 2978, 2981, 2980, 2959, 2999, 2989, 2980, 2945, 2999, 2978, 2967, 2948, 2999, 3028, 2983, 2985, 3031, 2979, 2958, 2975, 2951, 2966, 3024, 2976, 2955, 2986, 2964, 2957, 2967, 2956, 2958, 2965, 2967, 2966, 2975, 2967, 2985, 2986, 3017, 2987, 3039, 2996, 2962, 2975, 2962, 2996, 2961, 2967, 2996, 2967, 2960, 3017, 3007, 2972, 2947, 2967, 3028, 3031, 2955, 2994, 2953, 2976, 2963, 2988, 3029, 2975, 2979, 3039, 2997, 2991, 2951, 2984, 3031, 2958, 3007, 2958, 2967, 3025, 3004, 2997, 3007, 2952, 2993, 2958, 2958, 2960, 2956, 2961, 2980, 3006, 3006, 2992, 2990, 2953, 3025, 2945, 2997, 2996, 3017, 2983, 2980, 2987, 2981, 2957, 2996, 2997, 2996, 2987, 2986, 2979, 2984, 2984, 2946, 2965, 3027, 2972, 3007, 2983, 3038, 2966, 2992, 2974, 2974, 2998, 2987, 2986, 2993, 2995, 3006, 2965, 2946, 2975, 2953, 2957, 3004, 2954, 2965, 2991, 2996, 2976, 3028, 3006, 2985, 2974, 2972, 3038, 2985, 2954, 3024, 2972, 2961, 2967, 2995, 2996, 2957, 2966, 3039, 2994, 2958, 2988, 2980, 2978, 2963, 3026, 2975, 2955, 3039, 3031, 3004, 3006, 2958, 3026, 2976, 2945, 2954, 2967, 2999, 2997, 3028, 2981, 2961, 2991, 2978, 2983, 2999, 2983, 2980, 2388, 2384, 2384, 2394, 2429, 2430, 2384, 2395, 2392, 2397, 2392, 2391, 2395, 2430, 2418, 2408, 2417, 2418, 2416, 2398, 2336, 2414, 2345, 2395, 2392, 2376, 2396, 2399, 2392, 2392, 2378, 2394, 2392, 2420, 2392, 2414, 2430, 2430, 2387, 2426, 2392, 2430, 2396, 2392, 2392, 2422, 2398, 2395, 2392, 2390, 2409, 2413, 2397, 2368, 2392, 2350, 2380, 2378, 2385, 2387, 2408, 2423, 2422, 2382, 2368, 2412, 2412, 2378, 2408, 2390, 2398, 2400, 2408, 2423, 2386, 2422, 2349, 2415, 2337, 2403, 2344, 2398, 2346, 2386, 2344, 2385, 2394, 2409, 2398, 2408, 2358, 2336, 2419, 2391, 2351, 2411, 2427, 2382, 2371, 2390, 2430, 2382, 2349, 2423, 2431, 2384, 2381, 2344, 2384, 2417, 2422, 2346, 2382, 2399, 2416, 2398, 2411, 2413, 2421, 2387, 2416, 2429, 2424, 2398, 2398, 2354, 2377, 2392, 2399, 2429, 2429, 2380, 2428, 2419, 2412, 2395, 2387, 2385, 2337, 2392, 2396, 2414, 2386, 2379, 2399, 2387, 2396, 2414, 2410, 2376, 2345, 2344, 2347, 2403, 2423, 2391, 2430, 2397, 2400, 2421, 2369, 2385, 2396, 2337, 2414, 2413, 2371, 2379, 2428, 2401, 2346, 2386, 2416, 2379, 2420, 2382, 2414, 2417, 2396, 2369, 2371, 2426, 2350, 2385, 2377, 2414, 2351, 2369, 2411, 2377, 2394, 2409, 2379, 2398, 2378, 2423, 2344, 2390, 2396, 2418, 2396, 2390, 2350, 2419, 2386, 2427, 2346, 2383, 2421, 2428, 2385, 2430, 2382, 2394, 2382, 2409, 2395, 2389, 2368, 2389, 2392, 2430, 2388, 2395, 2392, 2392, 2396, 2394, 2430, 2368, 2395, 2383, 2412, 2412, 2385, 2422, 2399, 2418, 2418, 2351, 2368, 2376, 2381, 2390, 2391, 2400, 2428, 2431, 2346, 2377, 2428, 2381, 2351, 2422, 2385, 2348, 2392, 2409, 2417, 2371, 2398, 2431, 2401, 2394, 2344, 2409, 2344, 2376, 2376, 2417, 2429, 2346, 2424, 2415, 2388, 2337, 2427, 2344, 2427, 2385, 2401, 2418, 2430, 2395, 2385, 2337, 2398, 2416, 2349, 2431, 2350, 2395, 2413, 2424, 2385, 2394, 2371, 2416, 2427, 2399, 2368, 2428, 2371, 2429, 2409, 2387, 2431, 2384, 2429, 2346, 2377, 2399, 2383, 2408, 2416, 2384, 2389, 2379, 2347, 2411, 2428, 2427, 2387, 2348, 2409, 2411, 2387, 2409, 2399, 2400, 2431, 2385, 2421, 2346, 2379, 2383, 2408, 2380, 2371, 2336, 2392, 2403, 2377, 2412, 2420, 2385, 2379, 2379, 2397, 2348, 2387, 2384, 2394, 2351, 2368, 2392, 2350, 2415, 2395, 2394, 2430, 2348, 2350, 2347, 2349, 2381, 2337, 2383, 2428, 2430, 2336, 2394, 2401, 2381, 2429, 2385, 2403, 2400, 2427, 2368, 2389, 2394, 2414, 2369, 2424, 2397, 2368, 2399, 2381, 2421, 2382, 2345, 2358, 2351, 2423, 2423, 2417, 2344, 2430, 2377, 2422, 2376, 2387, 2395, 2392, 2377, 2408, 2427, 2408, 2348, 2430, 2418, 2369, 2394, 2417, 2354, 2422, 2358, 2397, 2411, 2409, 2381, 2350, 2418, 2408, 2416, 2424, 2347, 2426, 2381, 2412, 2423, 2349, 2348, 2369, 2388, 2394, 2420, 2368, 2381, 2416, 2386, 2378, 2417, 2419, 2420, 2388, 2412, 2419, 2384, 2383, 2377, 2394, 2354, 2358, 2390, 2349, 2346, 2424, 2396, 2411, 2379, 2409, 2412, 2389, 2427, 2428, 2416, 2415, 2401, 2384, 2351, 2395, 2336, 2369, 2408, 2392, 2337, 2349, 2344, 2420, 2378, 2377, 2427, 2337, 2412, 2381, 2380, 2409, 2427, 2410, 2394, 2376, 2376, 2397, 2415, 2428, 2396, 2394, 2401, 2421, 2386, 2431, 2409, 2408, 2345, 2344, 2408, 2358, 2358, 2401, 2392, 2369, 2427, 2346, 2421, 2389, 2354, 2428, 2354, 2377, 2350, 2397, 2369, 2344, 2337, 2382, 2337, 2428, 2418, 2354, 2421, 2389, 2413, 2369, 2422, 2380, 2397, 2417, 2400, 2386, 2396, 2395, 2347, 2426, 2351, 2403, 2385, 2390, 2336, 2430, 2351, 2392, 2358, 2351, 2431, 2385, 2430, 2401, 2347, 2397, 2387, 2385, 2344, 2354, 2415, 2423, 2368, 2420, 2419, 2385, 2416, 2416, 2385, 2347, 2376, 2410, 2422, 2377, 2401, 2392, 2418, 2396, 2392, 2420, 2391, 2424, 2379, 2400, 2345, 2389, 2348, 2421, 2371, 2381, 2390, 2409, 2378, 2388, 2395, 2350, 2348, 2351, 2397, 2416, 2414, 2386, 2431, 2430, 2421, 2391, 2336, 2392, 2394, 2398, 2421, 2430, 2428, 2382, 2391, 2349, 2347, 2385, 2384, 2391, 2430, 2389, 2414, 2423, 2420, 2416, 2337, 2397, 2428, 2358, 2412, 2383, 2348, 2403, 2384, 2354, 2424, 2386, 2378, 2427, 2381, 2421, 2411, 2388, 2399, 2398, 2399, 2350, 2336, 2426, 2336, 2409, 2390, 2416, 2371, 2380, 2431, 2348, 2383, 2369, 2347, 2412, 2345, 2354, 2414, 2387, 2392, 2395, 2418, 2351, 2398, 2429, 2424, 2427, 2378, 2423, 2380, 2427, 2381, 2411, 2378, 2390, 2337, 2414, 2415, 2345, 2344, 2394, 2379, 2422, 2415, 2349, 2418, 2381, 2377, 2387, 2368, 2392, 2427, 2379, 2401, 2399, 2348, 2418, 2349, 2384, 2428, 2379, 2395, 2368, 2384, 2401, 2422, 2419, 2418, 2347, 2427, 2423, 2398, 2389, 2378, 2396, 2368, 2382, 2411, 2350, 2388, 2389, 2354, 2416, 2426, 2411, 2347, 2426, 2348, 2382, 2391, 2337, 2371, 2376, 2382, 2418, 2428, 2388, 2403, 2426, 2417, 2395, 2346, 2378, 2388, 2384, 2376, 2387, 2392, 2397, 2398, + 2403, 2383, 2351, 2379, 2385, 2415, 2401, 2358, 2351, 2397, 2394, 2403, 2389, 2415, 2378, 2411, 2413, 2385, 2380, 2423, 2400, 2431, 2386, 2400, 2394, 2417, 2344, 2336, 2413, 2394, 2348, 2417, 2401, 2400, 2383, 2400, 2412, 2369, 2388, 2392, 2421, 2386, 2429, 2376, 2384, 2403, 2379, 2378, 2416, 2381, 2384, 2390, 2416, 2379, 2368, 2358, 2348, 2385, 2414, 2415, 2383, 2416, 2337, 2371, 2394, 2383, 2415, 2368, 2420, 2385, 2376, 2350, 2423, 2345, 2369, 2398, 2368, 2399, 2429, 2387, 2346, 2410, 2350, 2376, 2340, 2340, 2346, 2350, 2336, 2305, 2346, 2342, 2391, 2336, 2340, 2356, 2326, 2336, 2356, 2350, 2309, 2388, 2339, 2358, 2338, 2341, 2342, 2358, 2354, 2342, 2342, 2387, 2336, 2345, 2342, 2339, 2340, 2341, 2318, 2358, 2348, 2341, 2304, 2358, 2340, 2325, 2318, 2315, 2323, 2342, 2312, 2348, 2390, 2345, 2319, 2305, 2348, 2385, 2355, 2327, 2317, 2318, 2327, 2388, 2322, 2358, 2304, 2399, 2384, 2341, 2399, 2336, 2313, 2305, 2380, 2314, 2376, 2348, 2305, 2384, 2352, 2333, 2380, 2312, 2359, 2324, 2305, 2355, 2305, 2316, 2327, 2340, 2327, 2327, 2325, 2306, 2358, 2385, 2317, 2390, 2319, 2339, 2307, 2359, 2309, 2342, 2309, 2319, 2399, 2384, 2380, 2318, 2322, 2324, 2333, 2340, 2307, 2304, 2356, 2326, 2309, 2314, 2376, 2335, 2325, 2399, 2387, 2359, 2337, 2350, 2308, 2352, 2323, 2337, 2386, 2313, 2313, 2307, 2356, 2388, 2325, 2335, 2347, 2326, 2312, 2398, 2338, 2346, 2304, 2339, 2325, 2340, 2380, 2334, 2355, 2307, 2306, 2353, 2336, 2340, 2385, 2317, 2316, 2322, 2399, 2315, 2325, 2398, 2337, 2304, 2355, 2359, 2357, 2305, 2380, 2347, 2305, 2346, 2357, 2385, 2386, 2347, 2306, 2324, 2367, 2315, 2317, 2389, 2307, 2319, 2314, 2350, 2398, 2359, 2339, 2376, 2335, 2337, 2312, 2323, 2358, 2338, 2376, 2366, 2327, 2324, 2340, 2346, 2306, 2312, 2321, 2353, 2390, 2333, 2333, 2320, 2350, 2339, 2342, 2358, 2342, 2341, 7332, 7328, 7328, 7338, 7309, 7326, 7328, 7339, 7336, 7341, 7336, 7335, 7339, 7310, 7298, 7320, 7297, 7298, 7296, 7342, 7376, 7326, 7385, 7339, 7336, 7352, 7340, 7343, 7336, 7336, 7354, 7338, 7336, 7300, 7340, 7326, 7310, 7310, 7331, 7309, 7336, 7310, 7340, 7336, 7336, 7302, 7342, 7339, 7336, 7330, 7324, 7330, 7358, 7385, 7338, 7310, 7323, 7356, 7387, 7343, 7377, 7323, 7321, 7334, 7300, 7334, 7330, 7303, 7308, 7388, 7338, 7341, 7315, 7322, 7329, 7326, 7304, 7309, 7366, 7391, 7307, 7377, 7321, 7366, 7325, 7307, 7353, 7391, 7310, 7362, 7313, 7376, 7335, 7362, 7354, 7298, 7330, 7300, 7300, 7325, 7388, 7341, 7320, 7353, 7358, 7340, 7335, 7385, 7376, 7322, 7339, 7324, 7329, 7315, 7327, 7391, 7330, 7391, 7315, 7332, 7331, 7387, 7339, 7330, 7321, 7324, 7307, 7366, 7342, 7327, 7315, 7310, 7377, 7356, 7297, 7313, 7304, 7385, 7345, 7300, 7308, 7309, 7384, 7333, 7308, 7327, 7340, 7324, 7320, 7299, 7385, 7352, 7312, 7336, 7334, 7322, 7333, 7390, 7331, 7335, 7384, 7388, 7356, 7344, 7333, 7320, 7334, 7354, 7390, 7312, 7358, 7327, 7385, 7358, 7339, 7332, 7376, 7343, 7366, 7389, 7325, 7377, 7313, 7329, 7323, 7298, 7325, 7391, 7313, 7308, 7358, 7353, 7347, 7387, 7342, 7344, 7299, 7385, 7377, 7353, 7366, 7340, 7358, 7296, 7384, 7336, 7357, 7376, 7296, 7300, 7326, 7328, 7313, 7391, 7296, 7376, 7345, 7345, 7353, 7353, 7336, 7310, 7332, 7339, 7336, 7336, 7340, 7338, 7310, 7344, 7339, 7389, 7343, 7322, 7327, 7390, 7358, 7302, 7341, 7389, 7303, 7330, 7359, 7302, 7324, 7340, 7384, 7311, 7303, 7384, 7339, 7321, 7326, 7384, 7312, 7299, 7308, 7334, 7332, 7301, 7389, 7311, 7356, 7355, 7343, 7302, 7307, 7300, 7340, 7330, 7333, 7391, 7301, 7340, 7390, 7298, 7312, 7308, 7299, 7329, 7352, 7324, 7384, 7307, 7377, 7304, 7389, 7310, 7312, 7387, 7301, 7357, 7329, 7306, 7357, 7352, 7336, 7341, 7325, 7341, 7331, 7356, 7298, 7333, 7320, 7341, 7309, 7311, 7315, 7389, 7311, 7309, 7332, 7333, 7312, 7389, 7299, 7332, 7301, 7366, 7338, 7327, 7387, 7343, 7331, 7385, 7330, 7386, 7315, 7330, 7345, 7352, 7330, 7359, 7297, 7332, 7321, 7357, 7306, 7303, 7309, 7333, 7333, 7299, 7298, 7309, 7355, 7327, 7344, 7312, 7323, 7309, 7300, 7312, 7335, 7355, 7307, 7358, 7386, 7347, 7310, 7297, 7332, 7326, 7306, 7326, 7335, 7323, 7300, 7298, 7344, 7326, 7352, 7335, 7356, 7315, 7390, 7312, 7386, 7338, 7327, 7311, 7385, 7362, 7321, 7335, 7329, 7297, 7340, 7306, 7298, 7390, 7353, 7347, 7339, 7306, 7386, 7301, 7377, 7324, 7326, 7352, 7331, 7339, 7336, 7335, 7302, 7352, 7386, 7296, 7321, 7376, 7327, 7304, 7377, 7302, 7353, 7298, 7313, 7342, 7391, 7377, 7296, 7354, 7303, 7359, 7315, 7341, 7336, 7354, 7303, 7320, 7334, 7342, 7341, 7309, 7310, 7341, 7341, 7376, 7307, 7328, 7312, 7327, 7304, 7385, 7354, 7390, 7333, 7385, 7326, 7296, 7313, 7385, 7306, 7297, 7306, 7312, 7385, 7385, 7338, 7298, 7300, 7302, 7355, 7390, 7322, 7323, 7296, 7327, 7353, 7355, 7313, 7297, 7332, 7377, 7313, 7339, 7320, 7391, 7296, 7353, 7308, 7358, 7332, 7300, 7302, 7345, 7353, 7313, 7356, 7338, 7352, 7352, 7341, 7331, 7344, 7347, 7328, 7354, 7331, 7376, 7389, 7390, 7385, 7334, 7359, 7323, 7343, 7359, 7302, 7387, 7389, 7324, 7325, 7299, 7362, 7385, 7299, 7324, 7390, 7307, 7311, 7336, 7307, 7343, 7341, 7320, 7307, 7387, 7324, 7343, 7313, 7312, 7332, 7391, 7311, 7345, 7330, 7300, 7358, 7308, 7308, 7335, 7341, 7333, 7331, 7328, 7327, 7354, 7352, 7386, 7308, 7311, 7301, 7391, 7354, 7331, 7328, 7344, 7331, 7310, 7387, 7297, 7362, 7321, 7345, 7353, 7386, 7387, 7354, 7309, 7330, 7331, 7341, 7335, 7297, 7336, 7339, 7357, 7336, 7298, 7339, 7309, 7339, 7311, 7306, 7352, 7329, 7385, 7358, 7322, 7298, 7390, 7301, 7329, 7321, 7323, 7359, 7322, 7310, 7344, 7307, 7347, 7299, 7342, 7331, 7355, 7325, 7339, 7345, 7330, 7384, 7331, 7330, 7307, 7385, 7387, 7366, 7307, 7390, 7366, 7356, 7335, 7310, 7362, 7339, 7310, 7359, 7357, 7342, 7386, 7358, 7356, 7338, 7309, 7384, 7324, 7347, 7352, 7301, 7388, 7345, 7331, 7376, 7344, 7336, 7389, 7343, 7331, 7334, 7327, 7303, 7312, 7325, 7385, 7315, 7389, 7336, 7310, 7355, 7297, 7359, 7331, 7297, 7321, 7332, 7301, 7336, 7298, 7340, 7336, 7303, 7298, 7315, 7388, 7302, 7313, 7345, 7376, 7388, 7324, 7384, 7309, 7362, 7300, 7339, 7335, 7296, 7385, 7300, 7315, 7300, 7308, 7334, 7343, 7352, 7329, + 7355, 7357, 7309, 7302, 7321, 7324, 7315, 7334, 7320, 7333, 7341, 7297, 7385, 7322, 7366, 7312, 7355, 7327, 7313, 7329, 7388, 7384, 7324, 7386, 7345, 7344, 7296, 7390, 7376, 7330, 7326, 7308, 7356, 7390, 7341, 7341, 7302, 7355, 7313, 7307, 7353, 7306, 7340, 7347, 7343, 7342, 7313, 7330, 7328, 7321, 7300, 7341, 7354, 7385, 7331, 7312, 7301, 7384, 7296, 7326, 7331, 7339, 7336, 7328, 7334, 7341, 7296, 7391, 7354, 7387, 7353, 7359, 7296, 7302, 7302, 7358, 7304, 7312, 7326, 7376, 7362, 7301, 7353, 7376, 7321, 7327, 7320, 7334, 7333, 7336, 7340, 7326, 7328, 7366, 7315, 7334, 7386, 7388, 7296, 7356, 7312, 7330, 7320, 7334, 7377, 7323, 7296, 7315, 7311, 7386, 7343, 7343, 7329, 7321, 7376, 7344, 7321, 7315, 7335, 7315, 7324, 7310, 7313, 7345, 7312, 7301, 7306, 7333, 7386, 7385, 7310, 7388, 7354, 7315, 7377, 7308, 7359, 7356, 7328, 7320, 7311, 7299, 7304, 7355, 7320, 7306, 7354, 7338, 7310, 7380, 7912, 2474, 2444, 2458, 2445, 2514, 2494, 2456, 2458, 2449, 2443, 1998, 2027, 2022, 2044, 2019, 2017, 1957, 1976, 1956, 1979, 1956, 1978, 1962, 1954, 1990, 2019, 2020, 2047, 2034, 1969, 1962, 2015, 1969, 1962, 1995, 2020, 2030, 2040, 2021, 2019, 2030, 1962, 1979, 1978, 1969, 1962, 2010, 1992, 1999, 1991, 1978, 1978, 1962, 1992, 2047, 2019, 2022, 2030, 1957, 2011, 1985, 2011, 1979, 1956, 1979, 1971, 1978, 1971, 1979, 1970, 1956, 1978, 1978, 1979, 1955, 7368, 7377, 7386, 7393, 7372, 7387, 7379, 7391, 7372, 7381, 7373, 3653, 3676, 3671, 3692, 3651, 3674, 3664, 426, 431, 427, 431, 434, 2808, 2785, 2794, 2769, 2784, 2799, 2787, 2795, 1500, 1485, 1483, 1481, 1461, 1452, 1447, 1436, 1450, 1447, 4758, 4743, 4737, 4739, 4741, 4745, 4755, 4744, 4754, 110, 117, 110, 123, 118, 1261, 1256, 1266, 1269, 5796, 5803, 5798, 5812, 5812, 13384, 13396, 13392, 13379, 13679, 13666, 13675, 13694, 7533, 7550, 7529, 7533, 14304, 14334, 14335, 14327, 14335, 14251, 14250, 14267, 14254, 14246, 14243, 14305, 14271, 14247, 14271, 14304, 14254, 14271, 14271, 14304, 14265, 14246, 14251, 14250, 14240, 14320, 14313, 14267, 14246, 14251, 14322, 3727, 3786, 3781, 3784, 3802, 3802, 3732, 13109, 13170, 13153, 13174, 13170, 13102, 1531, 1444, 1464, 1468, 1455, 1504, 921, 975, 984, 898, -1690, -1665, -1676, -1713, -1696, -1668, -1679, -1687, -1713, -1691, -1694, -1668, -4962, -4985, -4980, -4937, -4968, -4988, -4983, -4975, -4937, -4978, -4966, -4985, -4987, -16281, -16258, -16267, -16306, -16270, -16258, -16257, -16283, -16268, -16257, -16283, -4343, -4336, -4325, -4320, -4325, -4330, -4339, -4326, -4324, -4341, -4336, -4339, -15761, -15754, -15747, -15802, -15752, -15750, -15763, -15754, -15765, -3997, -3974, -3983, -4022, -3993, -3984, -3976, -3980, -3993, -3970, -3994, -2459, -2436, -2441, -2484, -2446, -2463, -2442, -2446, -3375, -3384, -3389, -3336, -3362, -3390, -3386, -3371, -7980, -7987, -7994, -7939, -7982, -7989, -7999, -6424, -6415, -6406, -6463, -6416, -6401, -6413, -6405, -5794, -5817, -5812, -5769, -5823, -5812, -7819, -7824, -7830, -7827, -5561, -5543, -5544, -5552, -5544, -5604, -5602, -5562, -5608, -5632, -5608, -5561, -5608, -5606, -5625, -5602, -5631, -5620, -5619, -5561, -5602, -5625, -5620, -5561, -5545, -5623, -5621, -5547, -5620, -5619, -5604, -5623, -5631, -5628, -5554, -5631, -5620, -5605, -5547, -6431, -6420, -6427, -6416, -6454, -6405, -6412, -6408, -6416, -14907, -14884, -14889, -14868, -14896, -14881, -14894, -14912, -14912, -6217, -6204, -6498, 32013, 32045, 32116, 32034, 32047, 32038, 32051, 32009, 32063, 32050, 32116, 32108, 32116, 32103, 32116, 32122, 32116, 32034, 32047, 32038, 32051, 32009, 32056, 32055, 32059, 32051, 32116, 32108, 32116, 2147, 8743, 32116, 32043, 32122, 32045, 32116, 32034, 32047, 32038, 32051, 32009, 32063, 32050, 32116, 32108, 32116, 32100, 32116, 32122, 32116, 32034, 32047, 32038, 32051, 32009, 32056, 32055, 32059, 32051, 32116, 32108, 32116, 2147, -2928, 12081, 32116, 32043, 32122, 32045, 32116, 32034, 32047, 32038, 32051, 32009, 32063, 32050, 32116, 32108, 32116, 32101, 32102, 32116, 32122, 32116, 32034, 32047, 32038, 32051, 32009, 32056, 32055, 32059, 32051, 32116, 32108, 32116, 6323, -5441, 12081, 32116, 32043, 32122, 32045, 32116, 32034, 32047, 32038, 32051, 32009, 32063, 32050, 32116, 32108, 32116, 32100, 32111, 32116, 32122, 32116, 32034, 32047, 32038, 32051, 32009, 32056, 32055, 32059, 32051, 32116, 32108, 32116, 5745, 728, 12081, 32116, 32043, 32122, 32045, 32116, 32034, 32047, 32038, 32051, 32009, 32063, 32050, 32116, 32108, 32116, 32101, 32101, 32116, 32122, 32116, 32034, 32047, 32038, 32051, 32009, 32056, 32055, 32059, 32051, 32116, 32108, 32116, 4985, 11942, 12081, 32116, 32043, 32122, 32045, 32116, 32034, 32047, 32038, 32051, 32009, 32063, 32050, 32116, 32108, 32116, 32101, 32116, 32122, 32116, 32034, 32047, 32038, 32051, 32009, 32056, 32055, 32059, 32051, 32116, 32108, 32116, 938, -212, 32116, 32043, 32122, 32045, 32116, 32034, 32047, 32038, 32051, 32009, 32063, 32050, 32116, 32108, 32116, 32098, 32116, 32122, 32116, 32034, 32047, 32038, 32051, 32009, 32056, 32055, 32059, 32051, 32116, 32108, 32116, 12286, 4733, 32116, 32043, 32011, 29529, 29526, 29531, 29513, 29513, 26445, 26388, 26375, 26388, 26380, 26477, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26434, 26447, 26438, 26451, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 6989, 12477, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 12970, 13649, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 12970, 13649, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 5383, 2035, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 5383, 2035, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 1894, 1824, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 1894, 1824, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13726, 10346, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13726, 10346, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 7911, 14669, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 7911, 14669, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13649, 2035, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13649, 2035, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 1326, 10687, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 1326, 10687, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -5040, 13340, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -5040, 13340, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 5529, 6236, 26388, 26394, 26388, 26432, + 26388, 26380, 26388, 5529, 6236, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13726, 4621, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13726, 4621, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 15985, 14669, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 15985, 14669, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 3152, 10390, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 3152, 10390, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13988, -3745, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13988, -3745, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 156, 1326, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 156, 1326, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 1894, 1824, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 1894, 1824, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 1946, 4775, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 1946, 4775, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 2044, 1964, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 2044, 1964, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 6649, 13902, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 6649, 13902, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -3996, 275, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -3996, 275, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 689, -6836, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 689, -6836, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 14488, 4611, 14407, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 14488, 4611, 14407, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13522, -4109, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13522, -4109, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13488, 13508, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13488, 13508, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -5914, 13726, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -5914, 13726, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13994, 103, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13994, 103, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13833, 7635, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13833, 7635, 26388, 26443, 26475, 26443, 26394, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26455, 26436, 26451, 26455, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 12294, 13324, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 14003, 12294, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 14003, 12294, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 10523, 12747, 15889, -3728, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 15889, -3728, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 10523, 12747, -337, 2329, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -337, 2329, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 10523, 12747, 13510, 2376, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13510, 2376, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 6328, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 6328, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 3043, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 3043, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -6713, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -6713, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 723, 26, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 723, 26, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -3873, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -3873, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 14465, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 14465, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 3014, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 3014, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13382, 14736, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13382, 14736, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 1593, 15889, 13599, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 1593, 15889, 13599, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -4535, 5339, 5487, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -4535, 5339, 5487, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13718, 1481, 15889, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13718, 1481, 15889, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13888, 10720, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13888, 10720, 26388, 26443, 26475, 26443, 26394, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26447, 26451, 26455, 26436, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 14658, 10699, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26374, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26383, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26383, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26382, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26382, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26369, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26369, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26368, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26368, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26371, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26371, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26370, 26388, 26394, 26388, 26432, 26388, 26380, + 26388, 26372, 26374, 26375, 26370, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26373, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26373, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26374, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26383, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26383, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26382, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26382, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26369, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26369, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26368, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26368, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26371, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26371, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26370, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26370, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26373, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26373, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26374, 26388, 26443, 26475, 26443, 26475, 26394, 26388, 26372, 26388, 26380, 26477, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26434, 26447, 26438, 26451, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 6989, 12477, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13522, -4109, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13522, -4109, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 1326, 10687, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 1326, 10687, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -3996, 275, 14144, 14329, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -3996, 275, 14144, 14329, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 12970, 13649, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 12970, 13649, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 15488, 14747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 15488, 14747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 5529, 6236, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 5529, 6236, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13726, 10346, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13726, 10346, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 15985, 14669, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 15985, 14669, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13649, 2035, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13649, 2035, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13488, 13508, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13488, 13508, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 6649, 13902, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 6649, 13902, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 10583, 103, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 10583, 103, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 2035, 345, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 2035, 345, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 12912, 1326, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 12912, 1326, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 6247, 13649, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 6247, 13649, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13888, 10720, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13888, 10720, 26388, 26443, 26475, 26443, 26394, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26455, 26436, 26451, 26455, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 12294, 13324, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 14003, 12294, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 14003, 12294, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 10523, 12747, 15889, -3728, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 15889, -3728, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 10523, 12747, 13510, 2376, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 10523, 12747, 13510, 2376, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 10523, 12747, -337, 2329, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 10523, 12747, -337, 2329, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -3873, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -3873, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 723, 26, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 723, 26, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 6328, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 6328, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 3014, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 3014, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -6713, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -6713, 12747, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 646, 13718, 12375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 646, 13718, 12375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, + 26380, 26388, 13888, 10720, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13888, 10720, 26388, 26443, 26475, 26443, 26394, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26447, 26451, 26455, 26436, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 14658, 10699, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26374, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26383, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26383, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26382, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26382, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26369, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26369, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26368, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26368, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26371, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26371, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26370, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26370, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26373, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26373, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26374, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26383, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26383, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26382, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26382, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26369, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26369, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26368, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26368, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26371, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26371, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26370, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26370, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26373, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26373, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26374, 26388, 26443, 26475, 26443, 26475, 26394, 26388, 26370, 26388, 26380, 26477, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26434, 26447, 26438, 26451, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 6989, 12477, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 2035, 1577, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 2035, 1577, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 7911, 14669, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 7911, 14669, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 6107, -4234, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 6107, -4234, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 1182, 4912, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 1182, 4912, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 808, 7207, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 808, 7207, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13988, -3745, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13988, -3745, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -7381, -6977, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -7381, -6977, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 3863, 12763, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 3863, 12763, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13726, 10346, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13726, 10346, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 12, 1326, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 12, 1326, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -5914, 13726, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -5914, 13726, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 1326, 10687, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 1326, 10687, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 15143, 14658, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 15143, 14658, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 15143, 15941, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 15143, 15941, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 7688, 10284, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 7688, 10284, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13481, 13613, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13481, + 13613, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 10628, 15462, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 10628, 15462, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 4604, 332, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 4604, 332, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13703, 14561, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13703, 14561, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13888, 10720, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13888, 10720, 26388, 26443, 26475, 26443, 26394, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26455, 26436, 26451, 26455, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 12294, 13324, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 10523, 12747, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 14003, 12294, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 723, 26, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 723, 26, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 3089, 6328, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 3089, 6328, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 13888, 10720, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 13888, 10720, 26388, 26443, 26475, 26443, 26394, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26447, 26451, 26455, 26436, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 14658, 10699, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26374, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26383, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26383, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26382, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26382, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26369, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26369, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26368, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26368, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26371, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26371, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26370, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26370, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26373, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26373, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26374, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26383, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26383, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26382, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26382, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26369, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26369, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26368, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26368, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26371, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26371, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26370, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26370, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26373, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26373, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26374, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26374, 26374, 26388, 26443, 26475, 26394, 26388, 26373, 26388, 26380, 26477, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26434, 26447, 26438, 26451, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 6989, 12477, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -2241, 7926, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -2241, 7926, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 2035, 1577, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 2035, 1577, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -4983, -5314, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -4983, -5314, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 923, 1427, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 923, 1427, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 755, 2318, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 755, 2318, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -3899, 10598, 26388, 26394, 26388, 26432, 26388, 26380, 26388, + -3899, 10598, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 6328, -23, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 6328, -23, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 6556, 15528, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 6556, 15528, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 452, -6836, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 452, -6836, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 4649, 2573, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 4649, 2573, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 2318, 1337, 10660, 13726, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 2318, 1337, 10660, 13726, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, -5612, 6649, 26388, 26394, 26388, 26432, 26388, 26380, 26388, -5612, 6649, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 2932, -6278, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 2932, -6278, 26388, 26443, 26475, 26443, 26394, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26455, 26436, 26451, 26455, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 12294, 13324, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 14003, 12294, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 14003, 12294, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 2329, 13510, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 2329, 13510, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 723, -3873, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 723, -3873, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 3089, 6328, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 3089, 6328, 26388, 26443, 26475, 26443, 26394, 26445, 26388, 26461, 26451, 26447, 26388, 26380, 26388, 26447, 26451, 26455, 26436, 26388, 26394, 26388, 26456, 26455, 26459, 26451, 26388, 26380, 26388, 14658, 10699, 26388, 26394, 26388, 26432, 26455, 26458, 26435, 26451, 26388, 26380, 26477, 26445, 26388, 26456, 26388, 26380, 26388, 13918, -2082, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26372, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26372, 26374, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26383, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26383, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26382, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26382, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26369, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26369, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26368, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26368, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26371, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26371, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26370, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26370, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26373, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26373, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26372, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26372, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26375, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26375, 26388, 26443, 26394, 26445, 26388, 26456, 26388, 26380, 26388, 26372, 26374, 26375, 26374, 26388, 26394, 26388, 26432, 26388, 26380, 26388, 26372, 26374, 26375, 26374, 26388, 26443, 26475, 26443, 26475, 26443, 26475, 26443, 32682, 32677, 32672, 32696, 32681, 32702, 32703, -20332, -20339, -20346, -20291, -20336, -20345, -20337, -20349, -20336, -20343, -20335, -18297, -18274, -18283, -18258, -18303, -18280, -18286, -17123, -17148, -17137, -17100, -17147, -17142, -17146, -17138, -17081, -17058, -17067, -17042, -17064, -17067, -23479, -23476, -23466, -23471, -21468, -21446, -21445, -21453, -21445, -21377, -21379, -21467, -21381, -21405, -21381, -21468, -21381, -21383, -21404, -21379, -21406, -21393, -21394, -21468, -21379, -21404, -21393, -21468, -21452, -21398, -21400, -21450, -21395, -21406, -21401, -21377, -21394, -21383, 17424, 17420, 17420, 17416, 17419, 17474, 17495, 17495, 17439, 17425, 17420, 17437, 17433, 17494, 17435, 17431, 17429, 17495, 17417, 17425, 17433, 17431, 17426, 17425, 17495, 17426, 17433, 17418, 17495, 17418, 17433, 17423, 17495, 17434, 17418, 17433, 17430, 17435, 17424, 17495, 17429, 17433, 17425, 17430, 17495, 17427, 17419, 17426, 17494, 17420, 17408, 17420, 28358, 28356, 28376, 28362, 29761, 29776, 29763, 29762, 29780, 24884, 24883, 24877, 7291, 7266, 7273, 7250, 7295, 7272, 7264, 7276, 7295, 7270, 7294, 8669, 8644, 8655, 8692, 8667, 8642, 8648, 9490, 9483, 9472, 9531, 9482, 9477, 9481, 9473, 14750, 14727, 14732, 14775, 14721, 14732, 6377, 6380, 6390, 6385, 12849, 12847, 12846, 12838, 12846, 12906, 12904, 12848, 12910, 12918, 12910, 12849, 12910, 12908, 12913, 12904, 12919, 12922, 12923, 12849, 12904, 12913, 12922, 12849, 12833, 12927, 12925, 12835, 12922, 12923, 12906, 12927, 12919, 12914, 12856, 12905, 12922, 12835, 9754, 9804, 9819, 9729, 9741}; + private String T9 = "http://kantv.zsyzcy.cn"; + private String I = ""; + private String PL = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqbQ2AO1Ehyap6FmLrkqjhsqpyqOL/M9RtytRwqRqv/Yzeq21mToFuJ3yE9SIaN1hYhq7ZSYnWhhvjwBXXVHo7gSR/ABMCkRSRMLENNds5zYA8pVxxPMLWUXsdyokZlsIRF2XOxz8Ol6zwqURkp9ThJBDu4ym91ZXh4FglqQS2CwIDAQAB"; + private String sO = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOptDYA7USHJqnoWYuuSqOGyqnKo4v8z1G3K1HCpGq/9jN6rbWZOgW4nfIT1Iho3WFiGrtlJidaGG+PAFddUejuBJH8AEwKRFJEwsQ012znNgDylXHE8wtZRex3KiRmWwhEXZc7HPw6XrPCpRGSn1OEkEO7jKb3VleHgWCWpBLYLAgMBAAECgYBVuuHoFkk6YQTONyef3PeT6oH5AphZGfxC1p1QQhd3avM8b1bHxkgBH8Gi4f7BtaHCZibFYeZdpJfId3PFVqiILR2rebJ5prJpFyfHl3RVqUZ9AzPumHRRD5JIC6YA7vBCg5724T8Veg9CxTdHzybYLCwXaDYFTlW0/6nnh1gPoQJBAPqbq5gkXCh+o/DrpT7kqia2cTun45XMCmYTiKShjmMujIVPC+/O43aErRpuLbeivxI6B9XqA841mSPb8uTUpbsCQQDveECxlKfpq01q//xAXb3lL+e+P7DX18W8ek+lLtXoUDhyKEB2c6zHO9g6A/6fHgx2DJH1+vnYmjHiiH2QsoPxAkEAmNaRy0L5lZTOpSMB756DiwKfglN9ACGlgeWN42HINgLwnmi8De/uV5zI+aKSbTlrMFGF79c9pOiZUf5VX2u0+wJABk6GdabSnUbTrSO8wv01CRov4kTPJYAbRxF5k4IeRBYIxojk2bnGLSEYWr7ML+icr2c5WN8ZQWkeMzchB3SMIQJADGzV6RHvx/6DCzLvSrtHUnyfKyCh19tC5hxyVyuXMAlKdQIzRSiTIOiRY/5HwvVi8ZCVvYmHQ7n0XGYFdJ3s7Q=="; + private String x = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCriltAoK1NhfK6Tpjip3uQg87B8Gnf+m/Kf7Wz+oPsfTfkpCppreQ6j1hDdPbAbh87+iuszCdgSqbm/xr84PFIcWtF5nndS3rxLqo9EMgDrC+yTdeVGC6jku8lr9FgTPRf+LfMR65LesXlj2dhmI9PD/xFotQE/YpsCMeovV1zzwIDAQAB"; + private String L = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKuKW0CgrU2F8rpOmOKne5CDzsHwad/6b8p/tbP6g+x9N+SkKmmt5DqPWEN09sBuHzv6K6zMJ2BKpub/Gvzg8Uhxa0Xmed1LevEuqj0QyAOsL7JN15UYLqOS7yWv0WBM9F/4t8xHrkt6xeWPZ2GYj08P/EWi1AT9imwIx6i9XXPPAgMBAAECgYB4Fsv7WoD4nKVouE1fn1Bpw1yjeOMl4fURFobmEKL6lE7kyejHQu1b8a4gy2lTHcTQADtDJUkLqDdfz4fdMLy4jMl/Cv2FJ0K3zKXQKVhMpTcndLLjkdRvYyrdmyNRbW3ZghMwcwNrmkYwQNUz7y3Cvf0+pNHhEck7PZBc3l8uwQJBANoQ3ip9va8oPkxG68iSnVzDASnqOGDdgDD9bIyva0S7L0wix0chcy00CkmoR7srivPRxhM8xBq6iPeWMmoXPxUCQQDJYZISJ9470OVrFVo24utj+0ju7bfAbFDqb2uFxyM6fXKmWeeNDLJIvSQ3efl6SJIYJg2h+pXP32SdKJDNhABTAkBdBfcQH0Wsk7lHprVsgYbZjGJRtBXK1JKb02/b7/UNg+BgVTG3WUCd1uZQl5XJ9YA4FJOvnyt0z4AgRhVJhpMlAkEAnkz5oxX95u1d+mBNi0mzmeOFQHRTdopuzOqLDh0s/yRvxH51u3XYi79KweU7DDoRxbPcEZFGxKIpmDS0Jyl1iwJBAIODi6S2PViooWayw9+lP9pvqOLAEwI/zO35iUyKqO8rizf3FFHp9YpzNzugxXylcL30g5Sz8eVUIqfjaRqcSCg="; + private String VX = "1"; + private String o2 = null; + + private static String $(int i, int i2, int i3) { + char[] cArr = new char[i2 - i]; + for (int i4 = 0; i4 < i2 - i; i4++) { + cArr[i4] = (char) ($[i + i4] ^ i3); + } + return new String(cArr); + } + + private HashMap T9(String str) { + HashMap hashMap = new HashMap<>(); + hashMap.put("User-Agent", "Dalvik/2.1.0 (Linux; U; Android 10; PBEM00 Build/QKQ1.190918.001)"); + return hashMap; + } + + public String categoryContent(String str, String str2, boolean z, HashMap hashMap) { + String $2 = "vod_remarks"; + String $3 = "vod_pic"; + String $4 = "limit"; + String $5 = "vod_name"; + String $6 = "page"; + String $7 = "vod_id"; + String $8 = "pagecount"; + String $9 = "total"; + String $10 = "list"; + String $11 = "class"; + String $12 = "year"; + String $13 = "type"; + String $14 = "area"; + try { + JSONObject jSONObject = new JSONObject(); + String str3 = this.T9 + "/1080detail.php/app/video?&tid=" + str; + HashMap hashMap2 = hashMap == null ? new HashMap<>() : hashMap; + if (!hashMap2.containsKey($14)) { + hashMap2.put($14, ""); + } + if (!hashMap2.containsKey($13)) { + hashMap2.put($13, ""); + } + if (!hashMap2.containsKey($12)) { + hashMap2.put($12, ""); + } + if (!hashMap2.containsKey($11)) { + hashMap2.put($11, ""); + } + String str4 = (((str3 + "&class=" + hashMap2.get($13)) + "&area=" + hashMap2.get($14)) + "&year=" + hashMap2.get($12)) + "&pg=" + str2; + JSONObject jSONObject2 = new JSONObject(W.AJ(str4, T9(str4))); + JSONArray jSONArray = jSONObject2.getJSONArray($10); + JSONArray jSONArray2 = new JSONArray(); + for (int i = 0; i < jSONArray.length(); i++) { + JSONObject jSONObject3 = jSONArray.getJSONObject(i); + JSONObject jSONObject4 = new JSONObject(); + jSONObject4.put($7, jSONObject3.getString($7)); + jSONObject4.put($5, jSONObject3.getString($5)); + jSONObject4.put($3, jSONObject3.getString($3)); + jSONObject4.put($2, jSONObject3.getString($2)); + jSONArray2.put(jSONObject4); + } + int i2 = jSONObject2.getInt($9); + int i3 = jSONObject2.getInt($8); + jSONObject.put($6, jSONObject2.getInt($6)); + jSONObject.put($8, i3); + jSONObject.put($4, jSONObject2.getInt($4)); + jSONObject.put($9, i2); + jSONObject.put($10, jSONArray2); + return jSONObject.toString(); + } catch (Throwable unused) { + return ""; + } + } + + public String detailContent(List list) { + String $2 = "vod_play_url"; + String $3 = "vod_play_from"; + String $4 = "vod_content"; + String $5 = "vod_director"; + String $6 = "vod_actor"; + String $7 = "vod_remarks"; + String $8 = "vod_area"; + String $9 = "vod_year"; + String $10 = "vod_pic"; + String $11 = "vod_name"; + String $12 = "vod_id"; + String $13 = "list"; + try { + JSONObject jSONObject = new JSONObject(); + JSONObject jSONObject2 = new JSONObject(); + String str = this.T9 + "/1080tv.php/provide/vod/?ac=detail&ids=" + list.get(0); + JSONObject jSONObject3 = new JSONObject(W.AJ(str, T9(str))).getJSONArray($13).getJSONObject(0); + jSONObject.put($12, jSONObject3.getString($12)); + jSONObject.put($11, jSONObject3.getString($11)); + jSONObject.put($10, jSONObject3.getString($10)); + jSONObject.put("type_name", jSONObject3.getString("vod_class")); + jSONObject.put($9, jSONObject3.getString($9)); + jSONObject.put($8, jSONObject3.getString($8)); + jSONObject.put($7, jSONObject3.getString($7)); + jSONObject.put($6, jSONObject3.getString($6)); + jSONObject.put($5, jSONObject3.getString($5)); + jSONObject.put($4, jSONObject3.getString($4)); + jSONObject.put($3, jSONObject3.getString($3)); + jSONObject.put($2, Ms.T9(jSONObject3.getString($2).replace("\/", "/"), this.L)); + JSONArray jSONArray = new JSONArray(); + jSONArray.put(jSONObject); + jSONObject2.put($13, jSONArray); + return jSONObject2.toString(); + } catch (Throwable unused) { + return ""; + } + } + + public String homeContent(boolean z) { + try { + JSONObject jSONObject = new JSONObject(); + jSONObject.put("class", new JSONArray("[{"type_id":"1","type_name":"电影"},{"type_id":"2","type_name":"电视剧"},{"type_id":"30","type_name":"日韩剧"},{"type_id":"29","type_name":"欧美剧"},{"type_id":"33","type_name":"港台剧"},{"type_id":"3","type_name":"综艺"},{"type_id":"4","type_name":"动漫"}]")); + if (z) { + jSONObject.put("filters", new JSONObject("{"1":[{"key":"type","name":"类型","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"中国大陆","v":"大陆"},{"n":"中国香港","v":"香港"},{"n":"中国台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"2":[{"key":"type","name":"类型","value":[{"n":"全部","v":""},{"n":"古装","v":"古装"},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"中国大陆","v":"大陆"},{"n":"中国台湾","v":"中国台湾"},{"n":"中国香港","v":"中国香港"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"4":[{"key":"type","name":"类型","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国","v":"内地"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}],"3":[{"key":"type","name":"类型","value":[{"n":"全部","v":""},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"游戏互动","v":"游戏互动"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}]}]}")); + } + return jSONObject.toString(); + } catch (Throwable unused) { + return ""; + } + } + + public String homeVideoContent() { + String $2 = "vod_remarks"; + String $3 = "vod_pic"; + String $4 = "vod_name"; + String $5 = "vod_id"; + String $6 = "list"; + try { + String str = this.T9 + "/1080tv.php/provide/vod/?ac=filter"; + JSONObject jSONObject = new JSONObject(W.AJ(str, T9(str))); + JSONArray jSONArray = new JSONArray(); + JSONArray jSONArray2 = jSONObject.getJSONArray($6); + JSONObject jSONObject2 = new JSONObject(); + for (int i = 0; i < jSONArray2.length(); i++) { + JSONObject jSONObject3 = jSONArray2.getJSONObject(i); + jSONObject2.put($5, jSONObject3.getString($5)); + jSONObject2.put($4, jSONObject3.getString($4)); + jSONObject2.put($3, jSONObject3.getString($3)); + jSONObject2.put($2, jSONObject3.getString($2)); + jSONArray.put(jSONObject2); + } + JSONObject jSONObject4 = new JSONObject(); + jSONObject4.put($6, jSONArray); + return jSONObject4.toString(); + } catch (Throwable unused) { + return ""; + } + } + + public void init(Context context) { + KanSJ.super.init(context); + } + + public String playerContent(String str, String str2, List list) { + try { + JSONObject jSONObject = new JSONObject(W.AJ("https://gitea.com/qiaoji/jar/raw/branch/main/ksj.txt", null)); + JSONObject jSONObject2 = new JSONObject(); + String str3 = jSONObject.getString("tvjx") + str2; + String T9 = Ms.T9(W.AJ(str3, T9(str3)), this.sO); + jSONObject2.put("parse", 0); + jSONObject2.put("url", T9); + return jSONObject2.toString(); + } catch (Throwable unused) { + return ""; + } + } + + public String searchContent(String str, boolean z) { + String $2 = "vod_remarks"; + String $3 = "vod_pic"; + String $4 = "vod_name"; + String $5 = "vod_id"; + String $6 = "list"; + try { + JSONObject jSONObject = new JSONObject(); + String str2 = this.T9 + "/1080tv.php/provide/vod/?ac=detail&wd=" + URLEncoder.encode(str) + "&pg=1"; + String AJ = W.AJ(str2, T9(str2)); + JSONArray jSONArray = new JSONArray(); + JSONArray jSONArray2 = new JSONObject(AJ).getJSONArray($6); + for (int i = 0; i < jSONArray2.length(); i++) { + JSONObject jSONObject2 = jSONArray2.getJSONObject(i); + JSONObject jSONObject3 = new JSONObject(); + jSONObject3.put($5, jSONObject2.getString($5)); + jSONObject3.put($4, jSONObject2.getString($4)); + jSONObject3.put($3, jSONObject2.getString($3)); + jSONObject3.put($2, jSONObject2.getString($2)); + jSONArray.put(jSONObject3); + } + jSONObject.put($6, jSONArray); + return jSONObject.toString(); + } catch (Throwable unused) { + return ""; + } + } +} \ No newline at end of file diff --git a/TVBox_Java/加进去报错的Java源代码/错误.txt b/TVBox_Java/加进去报错的Java源代码/错误.txt new file mode 100644 index 0000000..652f452 --- /dev/null +++ b/TVBox_Java/加进去报错的Java源代码/错误.txt @@ -0,0 +1 @@ +java文件加入后报错,但Java文件应该没问题。很大可能是Java文件里的调用的问题。很可能是调用的文件没有或者没有添加相关的代码。 diff --git a/TVBox_PY/py_3qu.py b/TVBox_PY/py_3qu.py new file mode 100644 index 0000000..a897313 --- /dev/null +++ b/TVBox_PY/py_3qu.py @@ -0,0 +1,191 @@ +# coding=utf-8 +# !/usr/bin/python +import sys +import re +sys.path.append('..') +from base.spider import Spider +import urllib.parse +import json + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "快播影视" + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def homeContent(self, filter): + result = {} + cateManual = { + "电影": "movie", + "剧集": "serie", + "综艺": "variety", + "动漫": "anime" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + def homeVideoContent(self): + result = { + 'list': [] + } + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + url = 'https://www.3qu.live/videos/{0}?page={1}'.format(tid, pg) + rsp = self.fetch(url,headers=header) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//div[@class='main-content-box']/div/div/div/div/div/div/a") + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + picl = a.xpath('./@style')[0] + pica = re.findall(r"url\(\'(.*)\'\);", picl)[0] + pic = 'https://www.3qu.live{0}'.format(pica) + sidh = a.xpath("./@href")[0] + sid = self.regStr(sidh,'/videos/(\\S+).html') + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": "" + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 100 + result['total'] = 99999 + return result + + def detailContent(self, array): + tid = array[0] + url = 'https://www.3qu.live/videos/{0}.html'.format(tid) + header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + rsp = self.fetch(url,headers=header) + root = self.html(self.cleanText(rsp.text)) + divContent = root.xpath("//div[@class='video-detail row']")[0] + title = divContent.xpath(".//div[@class='info-box']/a/h1/text()")[0] + pica = divContent.xpath(".//div[@class='thumb-box']/img/@src")[0] + pic = 'https://www.3qu.live{0}'.format(pica) + vod = { + "vod_id": tid, + "vod_name": title, + "vod_pic": pic, + "type_name": "", + "vod_year": "", + "vod_area": "", + "vod_remarks": "", + "vod_actor": "", + "vod_director": "", + "vod_content": "" + } + infoArray = divContent.xpath(".//div[@class='info-box']/ul/li") + for info in infoArray: + content = info.xpath('string(.)') + flag = "类型" in content + if flag == True: + infon = content.strip().split(' ') + for inf in infon: + if inf.startswith('类型'): + vod['type_name'] = inf.replace("类型:", "") + if inf.startswith('地区'): + vod['vod_area'] = inf.replace("地区:", "") + if inf.startswith('语言'): + vod['vod_remarks'] = inf.replace("语言:", "") + if content.startswith('演员'): + vod['vod_actor'] = content.replace("演员:", "") + if content.startswith('年份'): + yearl = content.split(' ') + year = yearl[0].replace("年份:", "") + vod['vod_year'] = year + if content.startswith('导演'): + vod['vod_director'] = content.replace("导演:", "") + if content.startswith('简介'): + vod['vod_content'] = content.replace("简介:", "") + vodList = root.xpath(".//div[@class='tab-content']/div[@id='playlist']/a") + playUrl = '' + for vl in vodList: + name = vl.xpath("./text()")[0] + did = vl.xpath("./@data-id")[0] + playUrl = playUrl + '{0}${1}_{2}#'.format(name,tid,did) + vod['vod_play_from'] = '快播影视' + vod['vod_play_url'] = playUrl + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + header = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + url = 'https://www.3qu.live/api/v1/search?page=1&q={0}&type=all&period=0'.format(key) + rsp = self.fetch(url, headers=header) + jRoot = json.loads(rsp.text) + videos = [] + vodList = jRoot['data']['videos'] + for vod in vodList: + id = vod['id'] + title = vod['name'] + img = vod['coverURL'] + pic = 'https://www.3qu.live{0}'.format(img) + videos.append({ + "vod_id": id, + "vod_name": title, + "vod_pic": pic, + "vod_remarks": "" + }) + result = { + 'list': videos + } + return result + + def playerContent(self, flag, id, vipFlags): + result = {} + ids = id.split("_") + header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + url = 'https://www.3qu.live/api/v1/videos/{0}/{1}/playUrl'.format(ids[0],ids[1]) + rsp = self.fetch(url,headers=header) + jRoot = json.loads(rsp.text) + apiurl = jRoot['data']['url'] + url = 'https://www.3qu.live{0}'.format(apiurl) + result["parse"] = 0 + result["playUrl"] = '' + result["url"] =url + result["header"] = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def localProxy(self, param): + action = { + 'url': '', + 'header': '', + 'param': '', + 'type': 'string', + 'after': '' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_77.py b/TVBox_PY/py_77.py new file mode 100644 index 0000000..b4c15fa --- /dev/null +++ b/TVBox_PY/py_77.py @@ -0,0 +1,175 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): + def getName(self): + return "77" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def homeContent(self,filter): + result = {} + url = 'http://api.kunyu77.com/api.php/provide/filter' + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + classes = [] + jData = jo['data'] + for cKey in jData.keys(): + classes.append({ + 'type_name':jData[cKey][0]['cat'], + 'type_id':cKey + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + url = 'http://api.kunyu77.com/api.php/provide/homeBlock?type_id=0' + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + blockList = jo['data']['blocks'] + videos = [] + for block in blockList: + vodList = block['contents'] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['title'], + "vod_pic":vod['videoCover'], + "vod_remarks":vod['msg'] + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + if 'type_id' not in extend.keys(): + extend['type_id'] = tid + extend['pagenum'] = pg + filterParams = ["type_id", "pagenum"] + params = ["", ""] + for idx in range(len(filterParams)): + fp = filterParams[idx] + if fp in extend.keys(): + params[idx] = '&'+filterParams[idx]+'='+extend[fp] + suffix = ''.join(params) + url = 'http://api.kunyu77.com/api.php/provide/searchFilter?pagesize=24{0}'.format(suffix) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['data']['result'] + videos = [] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['title'], + "vod_pic":vod['videoCover'], + "vod_remarks":vod['msg'] + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'http://api.kunyu77.com/api.php/provide/videoDetail?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids={0}'.format(tid) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + node = jo['data'] + vod = { + "vod_id":node['id'], + "vod_name":node['videoName'], + "vod_pic":node['videoCover'], + "type_name":node['subCategory'], + "vod_year":node['year'], + "vod_area":node['area'], + "vod_remarks":node['msg'], + "vod_actor":node['actor'], + "vod_director":node['director'], + "vod_content":node['brief'].strip() + } + listUrl = 'http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids={0}'.format(tid) + listRsp = self.fetch(listUrl,headers=self.header) + listJo = json.loads(listRsp.text) + playMap = {} + episodes = listJo['data']['episodes'] + for ep in episodes: + playurls = ep['playurls'] + for playurl in playurls: + source = playurl['playfrom'] + if source not in playMap.keys(): + playMap[source] = [] + playMap[source].append(playurl['title'].strip() + '$' + playurl['playurl']) + + playFrom = [] + playList = [] + for key in playMap.keys(): + playFrom.append(key) + playList.append('#'.join(playMap[key])) + + vod_play_from = '$$$' + vod_play_from = vod_play_from.join(playFrom) + vod_play_url = '$$$' + vod_play_url = vod_play_url.join(playList) + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + + def searchContent(self,key,quick): + url = 'http://api.kunyu77.com/api.php/provide/searchVideo?searchName={0}'.format(key) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['data'] + videos = [] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['videoName'], + "vod_pic":vod['videoCover'], + "vod_remarks":vod['msg'] + }) + result = { + 'list':videos + } + return result + + config = { + "player": {}, + "filter": {} + } + header = { + "User-Agent":"Dalvik/2.1.0" + } + def playerContent(self,flag,id,vipFlags): + result = {} + url = 'http://api.kunyu77.com/api.php/provide/parserUrl?url={0}'.format(id) + jo = self.fetch(url,headers=self.header).json() + result = { + 'parse':0, + 'jx':0, + 'playUrl':'', + 'url':id, + 'header':'' + } + if flag in vipFlags: + result['parse'] = 1 + result['jx'] = 1 + return result + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_ali.py b/TVBox_PY/py_ali.py new file mode 100644 index 0000000..def9c1b --- /dev/null +++ b/TVBox_PY/py_ali.py @@ -0,0 +1,405 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import requests +import time +import re + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "阿里云盘" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def homeContent(self,filter): + result = {} + return result + def homeVideoContent(self): + result = {} + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + return result + def searchContent(self,key,quick): + result = {} + return result + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def playerContent(self,flag,id,vipFlags): + if flag == 'AliYun': + return self.originContent(flag,id,vipFlags) + elif flag == 'AliYun原画': + return self.fhdContent(flag,id,vipFlags) + else: + return {} + def fhdContent(self,flag,id,vipFlags): + self.login() + ids = id.split('+') + shareId = ids[0] + shareToken = ids[1] + fileId = ids[2] + category = ids[3] + url = self.getDownloadUrl(shareId,shareToken,fileId,category) + print(url) + + noRsp = requests.get(url,headers=self.header, allow_redirects=False,verify = False) + realUrl = '' + if 'Location' in noRsp.headers: + realUrl = noRsp.headers['Location'] + if 'location' in noRsp.headers and len(realUrl) == 0 : + realUrl = noRsp.headers['location'] + newHeader = { + "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", + "referer":"https://www.aliyundrive.com/", + } + result = { + 'parse':'0', + 'playUrl':'', + 'url':realUrl, + 'header':newHeader + } + return result + def originContent(self,flag,id,vipFlags): + self.login() + ids = id.split('+') + shareId = ids[0] + shareToken = ids[1] + fileId = ids[2] + url = '{0}?do=push_agent&api=python&type=m3u8&share_id={1}&file_id={2}'.format(self.localProxyUrl,shareId,fileId) + + result = { + 'parse':'0', + 'playUrl':'', + 'url':url, + 'header':'' + } + + # shareToken = self.getToken(shareId,'') + # self.getMediaSlice(shareId,shareToken,fileId) + + + # map = { + # 'share_id':'p1GJYEqgeb2', + # 'file_id':'62ed1b95b1048d60ffc246669f5e0999e90b8c2f', + # 'media_id':'1' + # } + + # self.proxyMedia(map) + + return result + + def detailContent(self,array): + tid = array[0] + # shareId = self.regStr(href,'www.aliyundrive.com\\/s\\/([^\\/]+)(\\/folder\\/([^\\/]+))?') + # todo ========================================================================================= + m = re.search('www.aliyundrive.com\\/s\\/([^\\/]+)(\\/folder\\/([^\\/]+))?', tid) + col = m.groups() + shareId = col[0] + fileId = col[2] + + infoUrl = 'https://api.aliyundrive.com/adrive/v3/share_link/get_share_by_anonymous' + + infoForm = {'share_id':shareId} + infoRsp = requests.post(infoUrl,json = infoForm,headers=self.header) + infoJo = json.loads(infoRsp.text) + + infoJa = [] + if 'file_infos' in infoJo: + infoJa = infoJo['file_infos'] + if len(infoJa) <= 0 : + return '' + fileInfo = {} + # todo + fileInfo = infoJa[0] + print(fileId) + if fileId == None or len(fileId) <= 0: + fileId = fileInfo['file_id'] + + vodList = { + 'vod_id':tid, + 'vod_name':infoJo['share_name'], + 'vod_pic':infoJo['avatar'], + 'vod_content':tid, + 'vod_play_from':'AliYun原画$$$AliYun' + } + fileType = fileInfo['type'] + if fileType != 'folder': + if fileType != 'file' or fileInfo['category'] != video: + return '' + fileId = 'root' + + shareToken = self.getToken(shareId,'') + hashMap = {} + self.listFiles(hashMap,shareId,shareToken,fileId) + + sortedMap = sorted(hashMap.items(), key=lambda x: x[0]) + arrayList = [] + playList = [] + + for sm in sortedMap: + arrayList.append(sm[0]+'$'+sm[1]) + playList.append('#'.join(arrayList)) + playList.append('#'.join(arrayList)) + vodList['vod_play_url'] = '$$$'.join(playList) + + result = { + 'list':[vodList] + } + return result + + authorization = '' + timeoutTick = 0 + localTime = 0 + expiresIn = 0 + shareTokenMap = {} + expiresMap = {} + localMedia = {} + header = { + "Referer":"https://www.aliyundrive.com/", + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36" + } + localProxyUrl = 'http://127.0.0.1:UndCover/proxy' + + def redirectResponse(tUrl): + rsp = requests.get(tUrl, allow_redirects=False,verify = False) + if 'Location' in rsp.headers: + return redirectResponse(rsp.headers['Location']) + else: + return rsp + + def getDownloadUrl(self,shareId,token,fileId,category): + lShareId = shareId + lFileId = fileId + params = { + "share_id": lShareId, + "category": "live_transcoding", + "file_id": lFileId, + "template_id": "" + } + customHeader = self.header.copy() + customHeader['x-share-token'] = token + customHeader['authorization'] = self.authorization + url = 'https://api.aliyundrive.com/v2/file/get_share_link_video_preview_play_info' + if category == 'video': + rsp = requests.post(url,json = params,headers=customHeader) + rspJo = json.loads(rsp.text) + lShareId = rspJo['share_id'] + lFileId = rspJo['file_id'] + jo = { + + } + if category == 'video': + jo['share_id'] = lShareId + jo['file_id'] = lFileId + jo['expire_sec'] = 600 + if category == 'audio': + jo['share_id'] = lShareId + jo['file_id'] = lFileId + jo['get_audio_play_info'] = True + downloadUrl = 'https://api.aliyundrive.com/v2/file/get_share_link_download_url' + downloadRsp = requests.post(downloadUrl,json = jo,headers=customHeader) + resultJo = json.loads(downloadRsp.text) + return resultJo['download_url'] + + def getMediaSlice(self,shareId,token,fileId): + params = { + "share_id": shareId, + "category": "live_transcoding", + "file_id": fileId, + "template_id": "" + } + customHeader = self.header.copy() + customHeader['x-share-token'] = token + customHeader['authorization'] = self.authorization + url = 'https://api.aliyundrive.com/v2/file/get_share_link_video_preview_play_info' + + rsp = requests.post(url,json = params,headers=customHeader) + rspJo = json.loads(rsp.text) + + quality = ['FHD','HD','SD'] + videoList = rspJo['video_preview_play_info']['live_transcoding_task_list'] + highUrl = '' + for q in quality: + if len(highUrl) > 0: + break + for video in videoList: + if(video['template_id'] == q): + highUrl = video['url'] + break + if len(highUrl) == 0: + highUrl = videoList[0]['url'] + + noRsp = requests.get(highUrl,headers=self.header, allow_redirects=False,verify = False) + m3u8Url = '' + if 'Location' in noRsp.headers: + m3u8Url = noRsp.headers['Location'] + if 'location' in noRsp.headers and len(m3u8Url) == 0 : + m3u8Url = noRsp.headers['location'] + m3u8Rsp = requests.get(m3u8Url,headers=self.header) + m3u8Content = m3u8Rsp.text + + tmpArray = m3u8Url.split('/')[0:-1] + host = '/'.join(tmpArray) + '/' + + m3u8List = [] + mediaMap = {} + slices = m3u8Content.split("\n") + count = 0 + for slice in slices: + tmpSlice = slice + if 'x-oss-expires' in tmpSlice: + count = count + 1 + mediaMap[str(count)] = host+tmpSlice + + tmpSlice = "{0}?do=push_agent&api=python&type=media&share_id={1}&file_id={2}&media_id={3}".format(self.localProxyUrl,shareId,fileId,count) + m3u8List.append(tmpSlice) + + self.localMedia[fileId] = mediaMap + + return '\n'.join(m3u8List) + + def proxyMedia(self,map): + shareId = map['share_id'] + fileId = map['file_id'] + mediaId = map['media_id'] + shareToken = self.getToken(shareId,'') + + refresh = False + url = '' + ts = 0 + if fileId in self.localMedia: + fileMap = self.localMedia[fileId] + if mediaId in fileMap: + url = fileMap[mediaId] + if len(url) > 0: + ts = int(self.regStr(url,"x-oss-expires=(\\d+)&")) + + # url = self.localMedia[fileId][mediaId] + + # ts = int(self.regStr(url,"x-oss-expires=(\\d+)&")) + + self.localTime = int(time.time()) + + if ts - self.localTime <= 60: + self.getMediaSlice(shareId,shareToken,fileId) + url = self.localMedia[fileId][mediaId] + + action = { + 'url':url, + 'header':self.header, + 'param':'', + 'type':'stream', + 'after':'' + } + print(action) + return [200, "video/MP2T", action, ""] + + def proxyM3U8(self,map): + shareId = map['share_id'] + fileId = map['file_id'] + + shareToken = self.getToken(shareId,'') + content = self.getMediaSlice(shareId,shareToken,fileId) + + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + + return [200, "application/octet-stream", action, content] + + def localProxy(self,param): + typ = param['type'] + if typ == "m3u8": + return self.proxyM3U8(param) + if typ == "media": + return self.proxyMedia(param) + return None + + def getToken(self,shareId,sharePwd): + self.localTime = int(time.time()) + shareToken = '' + if shareId in self.shareTokenMap: + shareToken = self.shareTokenMap[shareId] + # todo + expire = self.expiresMap[shareId] + if len(shareToken) > 0 and expire - self.localTime > 600: + return shareToken + params = { + 'share_id':shareId, + 'share_pwd':sharePwd + } + url = 'https://api.aliyundrive.com/v2/share_link/get_share_token' + rsp = requests.post(url,json = params,headers=self.header) + jo = json.loads(rsp.text) + newShareToken = jo['share_token'] + self.expiresMap[shareId] = self.localTime + int(jo['expires_in']) + self.shareTokenMap[shareId] = newShareToken + + print(self.expiresMap) + print(self.shareTokenMap) + + return newShareToken + + def listFiles(self,map,shareId,shareToken,fileId): + url = 'https://api.aliyundrive.com/adrive/v3/file/list' + newHeader = self.header.copy() + newHeader['x-share-token'] = shareToken + params = { + 'image_thumbnail_process':'image/resize,w_160/format,jpeg', + 'image_url_process':'image/resize,w_1920/format,jpeg', + 'limit':200, + 'order_by':'updated_at', + 'order_direction':'DESC', + 'parent_file_id':fileId, + 'share_id':shareId, + 'video_thumbnail_process':'video/snapshot,t_1000,f_jpg,ar_auto,w_300' + } + maker = '' + arrayList = [] + for i in range(1,51): + if i >= 2 and len(maker) == 0: + break + params['marker'] = maker + rsp = requests.post(url,json = params,headers=newHeader) + jo = json.loads(rsp.text) + ja = jo['items'] + for jt in ja: + if jt['type'] == 'folder': + arrayList.append(jt['file_id']) + else: + if 'video' in jt['mime_type'] or 'video' in jt['category']: + repStr = jt['name'].replace("#", "_").replace("$", "_") + map[repStr] = shareId + "+" + shareToken + "+" + jt['file_id'] + "+" + jt['category'] + # print(repStr,shareId + "+" + shareToken + "+" + jt['file_id']) + maker = jo['next_marker'] + i = i + 1 + + for item in arrayList: + self.listFiles(map,shareId,shareToken,item) + + def login(self): + self.localTime = int(time.time()) + url = 'https://api.aliyundrive.com/token/refresh' + if len(self.authorization) == 0 or self.timeoutTick - self.localTime <= 600: + form = { + 'refresh_token':'4acb3ad2f2254ba1b566279f7cd98ba3' + } + rsp = requests.post(url,json = form,headers=self.header) + jo = json.loads(rsp.text) + self.authorization = jo['token_type'] + ' ' + jo['access_token'] + self.expiresIn = int(jo['expires_in']) + self.timeoutTick = self.localTime + self.expiresIn + + # print(self.authorization) + # print(self.timeoutTick) + # print(self.localTime) + # print(self.expiresIn) diff --git a/TVBox_PY/py_ali_subtitle.py b/TVBox_PY/py_ali_subtitle.py new file mode 100644 index 0000000..99ca2ae --- /dev/null +++ b/TVBox_PY/py_ali_subtitle.py @@ -0,0 +1,445 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import requests +import time +import re + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "阿里云盘" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def homeContent(self,filter): + result = {} + return result + def homeVideoContent(self): + result = {} + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + return result + def searchContent(self,key,quick): + result = {} + return result + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def playerContent(self,flag,id,vipFlags): + if flag == 'AliYun': + return self.originContent(flag,id,vipFlags) + elif flag == 'AliYun原画': + return self.fhdContent(flag,id,vipFlags) + else: + return {} + def fhdContent(self,flag,id,vipFlags): + if not self.login(): + return {} + ids = id.split('+') + shareId = ids[0] + shareToken = ids[1] + fileId = ids[2] + category = ids[3] + subtitle = ids[4] + url = self.getDownloadUrl(shareId,shareToken,fileId,category) + + noRsp = requests.get(url,headers=self.header, allow_redirects=False,verify = False) + realUrl = '' + if 'Location' in noRsp.headers: + realUrl = noRsp.headers['Location'] + if 'location' in noRsp.headers and len(realUrl) == 0 : + realUrl = noRsp.headers['location'] + newHeader = { + "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", + "referer":"https://www.aliyundrive.com/", + } + subtitleUrl = self.subtitleContent(id) + result = { + 'parse':'0', + 'playUrl':'', + 'url':realUrl, + 'header':newHeader, + 'subt':subtitleUrl + } + return result + def subtitleContent(self,id): + ids = id.split('+') + shareId = ids[0] + shareToken = ids[1] + fileId = ids[2] + category = ids[3] + subtitle = ids[4] + if len(subtitle) == 0: + return "" + + customHeader = self.header.copy() + customHeader['x-share-token'] = shareToken + customHeader['authorization'] = self.authorization + + jo = { + "expire_sec": 600, + "share_id": shareId, + "file_id": subtitle, + "image_url_process": "image/resize,w_1920/format,jpeg", + "image_thumbnail_process": "image/resize,w_1920/format,jpeg", + "get_streams_url": True + # , + # "drive_id": "183237630" + } + + downloadUrl = 'https://api.aliyundrive.com/v2/file/get_share_link_download_url' + resultJo = requests.post(downloadUrl,json = jo,headers=customHeader).json() + print(resultJo) + noRsp = requests.get(resultJo['download_url'],headers=self.header, allow_redirects=False,verify = False) + realUrl = '' + if 'Location' in noRsp.headers: + realUrl = noRsp.headers['Location'] + if 'location' in noRsp.headers and len(realUrl) == 0 : + realUrl = noRsp.headers['location'] + return realUrl + + def originContent(self,flag,id,vipFlags): + if not self.login(): + return {} + ids = id.split('+') + shareId = ids[0] + shareToken = ids[1] + fileId = ids[2] + subtitle = ids[4] + url = '{0}?do=push_agent&api=python&type=m3u8&share_id={1}&file_id={2}'.format(self.localProxyUrl,shareId,fileId) + subtitleUrl = self.subtitleContent(id) + newHeader = { + "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", + "referer":"https://www.aliyundrive.com/", + } + result = { + 'parse':'0', + 'playUrl':'', + 'url':url, + 'header':newHeader, + 'subt':subtitleUrl + } + return result + + def detailContent(self,array): + tid = array[0] + m = re.search('www.aliyundrive.com\\/s\\/([^\\/]+)(\\/folder\\/([^\\/]+))?', tid) + col = m.groups() + shareId = col[0] + fileId = col[2] + + infoUrl = 'https://api.aliyundrive.com/adrive/v3/share_link/get_share_by_anonymous' + + infoForm = {'share_id':shareId} + infoRsp = requests.post(infoUrl,json = infoForm,headers=self.header) + infoJo = json.loads(infoRsp.text) + + infoJa = [] + if 'file_infos' in infoJo: + infoJa = infoJo['file_infos'] + if len(infoJa) <= 0 : + return '' + fileInfo = {} + + fileInfo = infoJa[0] + + if fileId == None or len(fileId) <= 0: + fileId = fileInfo['file_id'] + + vodList = { + 'vod_id':tid, + 'vod_name':infoJo['share_name'], + 'vod_pic':infoJo['avatar'], + 'vod_content':tid, + 'vod_play_from':'AliYun$$$AliYun原画' + } + fileType = fileInfo['type'] + if fileType != 'folder': + if fileType != 'file' or fileInfo['category'] != video: + return '' + fileId = 'root' + + shareToken = self.getToken(shareId,'') + hashMap = {} + self.listFiles(hashMap,shareId,shareToken,fileId) + + sortedMap = sorted(hashMap.items(), key=lambda x: x[0]) + arrayList = [] + playList = [] + + for sm in sortedMap: + arrayList.append(sm[0]+'$'+sm[1]) + playList.append('#'.join(arrayList)) + playList.append('#'.join(arrayList)) + vodList['vod_play_url'] = '$$$'.join(playList) + + result = { + 'list':[vodList] + } + return result + + authorization = '' + timeoutTick = 0 + localTime = 0 + expiresIn = 0 + shareTokenMap = {} + expiresMap = {} + localMedia = {} + header = { + "Referer":"https://www.aliyundrive.com/", + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36" + } + localProxyUrl = 'http://127.0.0.1:UndCover/proxy' + + def redirectResponse(tUrl): + rsp = requests.get(tUrl, allow_redirects=False,verify = False) + if 'Location' in rsp.headers: + return redirectResponse(rsp.headers['Location']) + else: + return rsp + + def getDownloadUrl(self,shareId,token,fileId,category): + lShareId = shareId + lFileId = fileId + params = { + "share_id": lShareId, + "category": "live_transcoding", + "file_id": lFileId, + "template_id": "" + } + customHeader = self.header.copy() + customHeader['x-share-token'] = token + customHeader['authorization'] = self.authorization + url = 'https://api.aliyundrive.com/v2/file/get_share_link_video_preview_play_info' + if category == 'video': + rsp = requests.post(url,json = params,headers=customHeader) + rspJo = json.loads(rsp.text) + lShareId = rspJo['share_id'] + lFileId = rspJo['file_id'] + jo = { + + } + if category == 'video': + jo['share_id'] = lShareId + jo['file_id'] = lFileId + jo['expire_sec'] = 600 + if category == 'audio': + jo['share_id'] = lShareId + jo['file_id'] = lFileId + jo['get_audio_play_info'] = True + downloadUrl = 'https://api.aliyundrive.com/v2/file/get_share_link_download_url' + downloadRsp = requests.post(downloadUrl,json = jo,headers=customHeader) + resultJo = json.loads(downloadRsp.text) + return resultJo['download_url'] + + def getMediaSlice(self,shareId,token,fileId): + params = { + "share_id": shareId, + "category": "live_transcoding", + "file_id": fileId, + "template_id": "" + } + customHeader = self.header.copy() + customHeader['x-share-token'] = token + customHeader['authorization'] = self.authorization + url = 'https://api.aliyundrive.com/v2/file/get_share_link_video_preview_play_info' + + rsp = requests.post(url,json = params,headers=customHeader) + rspJo = json.loads(rsp.text) + + quality = ['FHD','HD','SD'] + videoList = rspJo['video_preview_play_info']['live_transcoding_task_list'] + highUrl = '' + for q in quality: + if len(highUrl) > 0: + break + for video in videoList: + if(video['template_id'] == q): + highUrl = video['url'] + break + if len(highUrl) == 0: + highUrl = videoList[0]['url'] + + noRsp = requests.get(highUrl,headers=self.header, allow_redirects=False,verify = False) + m3u8Url = '' + if 'Location' in noRsp.headers: + m3u8Url = noRsp.headers['Location'] + if 'location' in noRsp.headers and len(m3u8Url) == 0 : + m3u8Url = noRsp.headers['location'] + m3u8Rsp = requests.get(m3u8Url,headers=self.header) + m3u8Content = m3u8Rsp.text + + tmpArray = m3u8Url.split('/')[0:-1] + host = '/'.join(tmpArray) + '/' + + m3u8List = [] + mediaMap = {} + slices = m3u8Content.split("\n") + count = 0 + for slice in slices: + tmpSlice = slice + if 'x-oss-expires' in tmpSlice: + count = count + 1 + mediaMap[str(count)] = host+tmpSlice + + tmpSlice = "{0}?do=push_agent&api=python&type=media&share_id={1}&file_id={2}&media_id={3}".format(self.localProxyUrl,shareId,fileId,count) + m3u8List.append(tmpSlice) + + self.localMedia[fileId] = mediaMap + + return '\n'.join(m3u8List) + + def proxyMedia(self,map): + shareId = map['share_id'] + fileId = map['file_id'] + mediaId = map['media_id'] + shareToken = self.getToken(shareId,'') + + refresh = False + url = '' + ts = 0 + if fileId in self.localMedia: + fileMap = self.localMedia[fileId] + if mediaId in fileMap: + url = fileMap[mediaId] + if len(url) > 0: + ts = int(self.regStr(url,"x-oss-expires=(\\d+)&")) + + self.localTime = int(time.time()) + + if ts - self.localTime <= 60: + self.getMediaSlice(shareId,shareToken,fileId) + url = self.localMedia[fileId][mediaId] + + action = { + 'url':url, + 'header':self.header, + 'param':'', + 'type':'stream', + 'after':'' + } + return [200, "video/MP2T", action, ""] + + def proxyM3U8(self,map): + shareId = map['share_id'] + fileId = map['file_id'] + + shareToken = self.getToken(shareId,'') + content = self.getMediaSlice(shareId,shareToken,fileId) + + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + + return [200, "application/octet-stream", action, content] + + def localProxy(self,param): + if not self.login(): + return {} + typ = param['type'] + if typ == "m3u8": + return self.proxyM3U8(param) + if typ == "media": + return self.proxyMedia(param) + return None + + def getToken(self,shareId,sharePwd): + self.localTime = int(time.time()) + shareToken = '' + if shareId in self.shareTokenMap: + shareToken = self.shareTokenMap[shareId] + # todo + expire = self.expiresMap[shareId] + if len(shareToken) > 0 and expire - self.localTime > 600: + return shareToken + params = { + 'share_id':shareId, + 'share_pwd':sharePwd + } + url = 'https://api.aliyundrive.com/v2/share_link/get_share_token' + rsp = requests.post(url,json = params,headers=self.header) + jo = json.loads(rsp.text) + newShareToken = jo['share_token'] + self.expiresMap[shareId] = self.localTime + int(jo['expires_in']) + self.shareTokenMap[shareId] = newShareToken + + # print(self.expiresMap) + # print(self.shareTokenMap) + + return newShareToken + + def listFiles(self,map,shareId,shareToken,fileId,subtitle={}): + url = 'https://api.aliyundrive.com/adrive/v3/file/list' + newHeader = self.header.copy() + newHeader['x-share-token'] = shareToken + params = { + 'image_thumbnail_process':'image/resize,w_160/format,jpeg', + 'image_url_process':'image/resize,w_1920/format,jpeg', + 'limit':200, + 'order_by':'updated_at', + 'order_direction':'DESC', + 'parent_file_id':fileId, + 'share_id':shareId, + 'video_thumbnail_process':'video/snapshot,t_1000,f_jpg,ar_auto,w_300' + } + maker = '' + arrayList = [] + for i in range(1,51): + if i >= 2 and len(maker) == 0: + break + params['marker'] = maker + rsp = requests.post(url,json = params,headers=newHeader) + jo = json.loads(rsp.text) + ja = jo['items'] + for jt in ja: + if jt['type'] == 'folder': + arrayList.append(jt['file_id']) + else: + if 'video' in jt['mime_type'] or 'video' in jt['category']: + repStr = jt['name'].replace("#", "_").replace("$", "_").replace(jt['file_extension'],'')[0:-1] + map[repStr] = shareId + "+" + shareToken + "+" + jt['file_id'] + "+" + jt['category'] + "+" + elif 'others' == jt['category'] and ('srt' == jt['file_extension'] or 'ass' == jt['file_extension']): + repStr = jt['name'].replace("#", "_").replace("$", "_").replace(jt['file_extension'],'')[0:-1] + subtitle[repStr] = jt['file_id'] + maker = jo['next_marker'] + i = i + 1 + + for item in arrayList: + self.listFiles(map,shareId,shareToken,item,subtitle) + for key in map.keys(): + for subKey in subtitle.keys(): + if key in subKey and map[key][-1] == "+": + map[key]=map[key]+subtitle[subKey] + break + + def login(self): + self.localTime = int(time.time()) + url = 'https://api.aliyundrive.com/token/refresh' + if len(self.authorization) == 0 or self.timeoutTick - self.localTime <= 600: + form = { + 'refresh_token':'4acb3ad2f2254ba1b566279f7cd98ba3' + } + rsp = requests.post(url,json = form,headers=self.header) + jo = json.loads(rsp.text) + if rsp.status_code == 200: + self.authorization = jo['token_type'] + ' ' + jo['access_token'] + self.expiresIn = int(jo['expires_in']) + self.timeoutTick = self.localTime + self.expiresIn + return True + return False + else: + return True + + # print(self.authorization) + # print(self.timeoutTick) + # print(self.localTime) + # print(self.expiresIn) \ No newline at end of file diff --git a/TVBox_PY/py_bili.py b/TVBox_PY/py_bili.py new file mode 100644 index 0000000..7597b37 --- /dev/null +++ b/TVBox_PY/py_bili.py @@ -0,0 +1,175 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "哔哩" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "Zard": "Zard", + "玩具汽车": "玩具汽车", + "儿童": "儿童", + "幼儿": "幼儿", + "儿童玩具": "儿童玩具", + "昆虫": "昆虫", + "动物世界": "动物世界", + "纪录片": "纪录片", + "相声小品": "相声小品", + "搞笑": "搞笑", + "假窗-白噪音": "窗+白噪音", + "演唱会": "演唱会" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + cookies = '' + def getCookie(self): + rsp = self.fetch("https://www.bilibili.com/") + self.cookies = rsp.cookies + return rsp.cookies + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&duration=4&page={1}'.format(tid,pg) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url,cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] != 0: + rspRetry = self.fetch(url,cookies=self.getCookie()) + content = rspRetry.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("","").replace("","") + img = 'https:' + vod['pic'].strip() + remark = str(vod['duration']).strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def cleanSpace(self,str): + return str.replace('\n','').replace('\t','').replace('\r','').replace(' ','') + def detailContent(self,array): + aid = array[0] + url = "https://api.bilibili.com/x/web-interface/view?aid={0}".format(aid) + + rsp = self.fetch(url,headers=self.header) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + title = jo['title'].replace("","").replace("","") + pic = jo['pic'] + desc = jo['desc'] + typeName = jo['tname'] + vod = { + "vod_id":aid, + "vod_name":title, + "vod_pic":pic, + "type_name":typeName, + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":desc + } + ja = jo['pages'] + playUrl = '' + for tmpJo in ja: + cid = tmpJo['cid'] + part = tmpJo['part'] + playUrl = playUrl + '{0}${1}_{2}#'.format(part,aid,cid) + + vod['vod_play_from'] = 'B站' + vod['vod_play_url'] = playUrl + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + # https://www.555dianying.cc/vodplay/static/js/playerconfig.js + result = {} + + ids = id.split("_") + url = 'https://api.bilibili.com:443/x/player/playurl?avid={0}&cid=%20%20{1}&qn=112'.format(ids[0],ids[1]) + rsp = self.fetch(url) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + ja = jo['durl'] + + maxSize = -1 + position = -1 + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer":"https://www.bilibili.com", + "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_bilibili.py b/TVBox_PY/py_bilibili.py new file mode 100644 index 0000000..7597b37 --- /dev/null +++ b/TVBox_PY/py_bilibili.py @@ -0,0 +1,175 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "哔哩" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "Zard": "Zard", + "玩具汽车": "玩具汽车", + "儿童": "儿童", + "幼儿": "幼儿", + "儿童玩具": "儿童玩具", + "昆虫": "昆虫", + "动物世界": "动物世界", + "纪录片": "纪录片", + "相声小品": "相声小品", + "搞笑": "搞笑", + "假窗-白噪音": "窗+白噪音", + "演唱会": "演唱会" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + cookies = '' + def getCookie(self): + rsp = self.fetch("https://www.bilibili.com/") + self.cookies = rsp.cookies + return rsp.cookies + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&duration=4&page={1}'.format(tid,pg) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url,cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] != 0: + rspRetry = self.fetch(url,cookies=self.getCookie()) + content = rspRetry.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("","").replace("","") + img = 'https:' + vod['pic'].strip() + remark = str(vod['duration']).strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def cleanSpace(self,str): + return str.replace('\n','').replace('\t','').replace('\r','').replace(' ','') + def detailContent(self,array): + aid = array[0] + url = "https://api.bilibili.com/x/web-interface/view?aid={0}".format(aid) + + rsp = self.fetch(url,headers=self.header) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + title = jo['title'].replace("","").replace("","") + pic = jo['pic'] + desc = jo['desc'] + typeName = jo['tname'] + vod = { + "vod_id":aid, + "vod_name":title, + "vod_pic":pic, + "type_name":typeName, + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":desc + } + ja = jo['pages'] + playUrl = '' + for tmpJo in ja: + cid = tmpJo['cid'] + part = tmpJo['part'] + playUrl = playUrl + '{0}${1}_{2}#'.format(part,aid,cid) + + vod['vod_play_from'] = 'B站' + vod['vod_play_url'] = playUrl + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + # https://www.555dianying.cc/vodplay/static/js/playerconfig.js + result = {} + + ids = id.split("_") + url = 'https://api.bilibili.com:443/x/player/playurl?avid={0}&cid=%20%20{1}&qn=112'.format(ids[0],ids[1]) + rsp = self.fetch(url) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + ja = jo['durl'] + + maxSize = -1 + position = -1 + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer":"https://www.bilibili.com", + "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_bilibili2.py b/TVBox_PY/py_bilibili2.py new file mode 100644 index 0000000..cf15ec4 --- /dev/null +++ b/TVBox_PY/py_bilibili2.py @@ -0,0 +1,379 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "哔哩哔哩" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "动态":"动态", + "热门":"热门", + "排行榜":"排行榜", + "频道":"频道", + "历史记录":"历史记录", + "zane妈":"zane妈", + "相声小品": "相声小品", + "林芊妤":"林芊妤", + "Zard": "Zard", + "玩具汽车": "玩具汽车", + "儿童": "儿童", + "幼儿": "幼儿", + "儿童玩具": "儿童玩具", + "昆虫": "昆虫", + "动物世界": "动物世界", + "纪录片": "纪录片", + "搞笑": "搞笑", + "假窗-白噪音": "窗+白噪音", + "演唱会": "演唱会" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + cookies = '' + def getCookie(self): + import requests + import http.cookies + ### 这里加cookie + raw_cookie_line = "" + simple_cookie = http.cookies.SimpleCookie(raw_cookie_line) + cookie_jar = requests.cookies.RequestsCookieJar() + cookie_jar.update(simple_cookie) + return cookie_jar + def get_dynamic(self,pg): + result = {} + if int(pg) > 1: + return result + offset = '' + videos = [] + for i in range(0,10): + url= 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/all?timezone_offset=-480&type=all&page={0}&offset={1}'.format(pg,offset) + rsp = self.fetch(url,cookies=self.getCookie()) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + offset = jo['data']['offset'] + vodList = jo['data']['items'] + for vod in vodList: + if vod['type'] == 'DYNAMIC_TYPE_AV': + ivod = vod['modules']['module_dynamic']['major']['archive'] + aid = str(ivod['aid']).strip() + title = ivod['title'].strip().replace("","").replace("","") + img = ivod['cover'].strip() + remark = str(ivod['duration_text']).strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def second_to_time(self,a): + #将秒数转化为 时分秒的格式 + if a < 3600: + return time.strftime("%M:%S", time.gmtime(a)) + else: + return time.strftime("%H:%M:%S", time.gmtime(a)) + def get_history(self,pg): + result = {} + url = 'http://api.bilibili.com/x/v2/history?pn=%s' % pg + rsp = self.fetch(url,cookies=self.getCookie()) + content = rsp.text + jo = json.loads(content) #解析api接口,转化成json数据对象 + if jo['code'] == 0: + videos = [] + vodList = jo['data'] + for vod in vodList: + if vod['duration'] > 0: #筛选掉非视频的历史记录 + aid = str(vod["aid"]).strip() #获取 aid + #获取标题 + title = vod["title"].replace("", "").replace("", "").replace(""", + '"') + #封面图片 + img = vod["pic"].strip() + + #获取已观看时间 + if str(vod['progress'])=='-1': + process=str(self.second_to_time(vod['duration'])).strip() + else: + process = str(self.second_to_time(vod['progress'])).strip() + #获取视频总时长 + total_time= str(self.second_to_time(vod['duration'])).strip() + #组合 已观看时间 / 总时长 ,赋值给 remark + remark = process+' / '+total_time + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def get_hot(self,pg): + result = {} + url= 'https://api.bilibili.com/x/web-interface/popular?ps=20&pn={0}'.format(pg) + rsp = self.fetch(url,cookies=self.getCookie()) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("","").replace("","") + img = vod['pic'].strip() + remark = str(vod['duration']).strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def get_rank(self): + result = {} + url= 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=0&type=all' + rsp = self.fetch(url,cookies=self.getCookie()) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("","").replace("","") + img = vod['pic'].strip() + remark = str(vod['duration']).strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + def get_channel(self,pg,cid): + result = {} + if int(pg) > 1: + return result + offset = '' + videos = [] + for i in range(0,5): + url= 'https://api.bilibili.com/x/web-interface/web/channel/multiple/list?channel_id={0}&sort_type=hot&offset={1}&page_size=30'.format(cid,offset) + rsp = self.fetch(url,cookies=self.getCookie()) + content = rsp.text + print(content) + jo = json.loads(content) + if jo['code'] == 0: + offset = jo['data']['offset'] + vodList = jo['data']['list'] + for vod in vodList: + if vod['card_type'] == 'rank': + rankVods = vod['items'] + for ivod in rankVods: + aid = str(ivod['id']).strip() + title = ivod['name'].strip().replace("","").replace("","") + img = ivod['cover'].strip() + remark = str(ivod['duration']).strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + elif vod['card_type'] == 'archive': + aid = str(vod['id']).strip() + title = vod['name'].strip().replace("","").replace("","") + img = vod['cover'].strip() + remark = str(vod['duration']).strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def categoryContent(self,tid,pg,filter,extend): + print(tid,pg,filter,extend) + result = {} + if tid == "热门": + return self.get_hot(pg=pg) + if tid == "排行榜" : + return self.get_rank() + if tid == '动态': + return self.get_dynamic(pg=pg) + if tid == '历史记录': + return self.get_history(pg=pg) + if tid == '频道': + cid = '9222' + if 'cid' in extend: + cid = extend['cid'] + return self.get_channel(pg=pg,cid=cid) + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&page={1}'.format(tid,pg) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url,cookies=self.getCookie()) + content = rsp.text + jo = json.loads(content) + if jo['code'] != 0: + rspRetry = self.fetch(url,cookies=self.getCookie()) + content = rspRetry.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = tid + ":" + vod['title'].strip().replace("","").replace("","") + img = 'https:' + vod['pic'].strip() + remark = str(vod['duration']).strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def cleanSpace(self,str): + return str.replace('\n','').replace('\t','').replace('\r','').replace(' ','') + def detailContent(self,array): + aid = array[0] + url = "https://api.bilibili.com/x/web-interface/view?aid={0}".format(aid) + + rsp = self.fetch(url,headers=self.header,cookies=self.getCookie()) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + title = jo['title'].replace("","").replace("","") + pic = jo['pic'] + desc = jo['desc'] + typeName = jo['tname'] + vod = { + "vod_id":aid, + "vod_name":title, + "vod_pic":pic, + "type_name":typeName, + "vod_year":"", + "vod_area":"bilidanmu", + "vod_remarks":"", + "vod_actor":jo['owner']['name'], + "vod_director":jo['owner']['name'], + "vod_content":desc + } + ja = jo['pages'] + playUrl = '' + for tmpJo in ja: + cid = tmpJo['cid'] + part = tmpJo['part'] + playUrl = playUrl + '{0}${1}_{2}#'.format(part,aid,cid) + + vod['vod_play_from'] = 'B站' + vod['vod_play_url'] = playUrl + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + search = self.categoryContent(tid=key,pg=1,filter=None,extend=None) + result = { + 'list':search['list'] + } + return result + def playerContent(self,flag,id,vipFlags): + # https://www.555dianying.cc/vodplay/static/js/playerconfig.js + result = {} + + ids = id.split("_") + url = 'https://api.bilibili.com:443/x/player/playurl?avid={0}&cid=%20%20{1}&qn=112'.format(ids[0],ids[1]) + rsp = self.fetch(url,cookies=self.getCookie()) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + ja = jo['durl'] + + maxSize = -1 + position = -1 + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer":"https://www.bilibili.com", + "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": {"频道":[{"key":"cid","name":"分类","value":[{'n': '搞笑', 'v': 1833}, {'n': '美食', 'v': 20215}, {'n': '鬼畜', 'v': 68}, {'n': '天官赐福', 'v': 2544632}, {'n': '英雄联盟', 'v': 9222}, {'n': '美妆', 'v': 832569}, {'n': '必剪创作', 'v': 15775524}, {'n': '单机游戏', 'v': 17683}, {'n': '搞笑', 'v': 1833}, {'n': '科普', 'v': 5417}, {'n': '影视剪辑', 'v': 318570}, {'n': 'vlog', 'v': 2511282}, {'n': '声优', 'v': 1645}, {'n': '动漫杂谈', 'v': 530918}, {'n': 'COSPLAY', 'v': 88}, {'n': '漫展', 'v': 22551}, {'n': 'MAD', 'v': 281}, {'n': '手书', 'v': 608}, {'n': '英雄联盟', 'v': 9222}, {'n': '王者荣耀', 'v': 1404375}, {'n': '单机游戏', 'v': 17683}, {'n': '我的世界', 'v': 47988}, {'n': '守望先锋', 'v': 926988}, {'n': '恐怖游戏', 'v': 17941}, {'n': '英雄联盟', 'v': 9222}, {'n': '王者荣耀', 'v': 1404375}, {'n': '守望先锋', 'v': 926988}, {'n': '炉石传说', 'v': 318756}, {'n': 'DOTA2', 'v': 47034}, {'n': 'CS:GO', 'v': 99842}, {'n': '鬼畜', 'v': 68}, {'n': '鬼畜调教', 'v': 497221}, {'n': '诸葛亮', 'v': 51330}, {'n': '二次元鬼畜', 'v': 29415}, {'n': '王司徒', 'v': 987568}, {'n': '万恶之源', 'v': 21}, {'n': '美妆', 'v': 832569}, {'n': '服饰', 'v': 313718}, {'n': '减肥', 'v': 20805}, {'n': '穿搭', 'v': 1139735}, {'n': '发型', 'v': 13896}, {'n': '化妆教程', 'v': 261355}, {'n': '电音', 'v': 14426}, {'n': '欧美音乐', 'v': 17034}, {'n': '中文翻唱', 'v': 8043}, {'n': '洛天依', 'v': 8564}, {'n': '翻唱', 'v': 386}, {'n': '日文翻唱', 'v': 85689}, {'n': '科普', 'v': 5417}, {'n': '技术宅', 'v': 368}, {'n': '历史', 'v': 221}, {'n': '科学', 'v': 1364}, {'n': '人文', 'v': 40737}, {'n': '科幻', 'v': 5251}, {'n': '手机', 'v': 7007}, {'n': '手机评测', 'v': 143751}, {'n': '电脑', 'v': 1339}, {'n': '摄影', 'v': 25450}, {'n': '笔记本', 'v': 1338}, {'n': '装机', 'v': 413678}, {'n': '课堂教育', 'v': 3233375}, {'n': '公开课', 'v': 31864}, {'n': '演讲', 'v': 2739}, {'n': 'PS教程', 'v': 335752}, {'n': '编程', 'v': 28784}, {'n': '英语学习', 'v': 360005}, {'n': '喵星人', 'v': 1562}, {'n': '萌宠', 'v': 6943}, {'n': '汪星人', 'v': 9955}, {'n': '大熊猫', 'v': 22919}, {'n': '柴犬', 'v': 30239}, {'n': '吱星人', 'v': 6947}, {'n': '美食', 'v': 20215}, {'n': '甜点', 'v': 35505}, {'n': '吃货', 'v': 6942}, {'n': '厨艺', 'v': 239855}, {'n': '烘焙', 'v': 218245}, {'n': '街头美食', 'v': 1139423}, {'n': 'A.I.Channel', 'v': 3232987}, {'n': '虚拟UP主', 'v': 4429874}, {'n': '神楽めあ', 'v': 7562902}, {'n': '白上吹雪', 'v': 7355391}, {'n': '彩虹社', 'v': 1099778}, {'n': 'hololive', 'v': 8751822}, {'n': 'EXO', 'v': 191032}, {'n': '防弹少年团', 'v': 536395}, {'n': '肖战', 'v': 1450880}, {'n': '王一博', 'v': 902215}, {'n': '易烊千玺', 'v': 15186}, {'n': 'BLACKPINK', 'v': 1749296}, {'n': '宅舞', 'v': 9500}, {'n': '街舞', 'v': 5574}, {'n': '舞蹈教学', 'v': 157087}, {'n': '明星舞蹈', 'v': 6012204}, {'n': '韩舞', 'v': 159571}, {'n': '古典舞', 'v': 161247}, {'n': '旅游', 'v': 6572}, {'n': '绘画', 'v': 2800}, {'n': '手工', 'v': 11265}, {'n': 'vlog', 'v': 2511282}, {'n': 'DIY', 'v': 3620}, {'n': '手绘', 'v': 1210}, {'n': '综艺', 'v': 11687}, {'n': '国家宝藏', 'v': 105286}, {'n': '脱口秀', 'v': 4346}, {'n': '日本综艺', 'v': 81265}, {'n': '国内综艺', 'v': 641033}, {'n': '人类观察', 'v': 282453}, {'n': '影评', 'v': 111377}, {'n': '电影解说', 'v': 1161117}, {'n': '影视混剪', 'v': 882598}, {'n': '影视剪辑', 'v': 318570}, {'n': '漫威', 'v': 138600}, {'n': '超级英雄', 'v': 13881}, {'n': '影视混剪', 'v': 882598}, {'n': '影视剪辑', 'v': 318570}, {'n': '诸葛亮', 'v': 51330}, {'n': '韩剧', 'v': 53056}, {'n': '王司徒', 'v': 987568}, {'n': '泰剧', 'v': 179103}, {'n': '郭德纲', 'v': 8892}, {'n': '相声', 'v': 5783}, {'n': '张云雷', 'v': 1093613}, {'n': '秦霄贤', 'v': 3327368}, {'n': '孟鹤堂', 'v': 1482612}, {'n': '岳云鹏', 'v': 24467}, {'n': '假面骑士', 'v': 2069}, {'n': '特摄', 'v': 2947}, {'n': '奥特曼', 'v': 963}, {'n': '迪迦奥特曼', 'v': 13784}, {'n': '超级战队', 'v': 32881}, {'n': '铠甲勇士', 'v': 11564}, {'n': '健身', 'v': 4344}, {'n': '篮球', 'v': 1265}, {'n': '体育', 'v': 41103}, {'n': '帕梅拉', 'v': 257412}, {'n': '极限运动', 'v': 8876}, {'n': '足球', 'v': 584}, {'n': '星海', 'v': 178862}, {'n': '张召忠', 'v': 116480}, {'n': '航母', 'v': 57834}, {'n': '航天', 'v': 81618}, {'n': '导弹', 'v': 14958}, {'n': '战斗机', 'v': 24304}]}]} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] diff --git a/TVBox_PY/py_bilibili3.py b/TVBox_PY/py_bilibili3.py new file mode 100644 index 0000000..8fe3f1d --- /dev/null +++ b/TVBox_PY/py_bilibili3.py @@ -0,0 +1,1476 @@ +# coding=utf-8 +# !/usr/bin/python +import sys + +sys.path.append('..') +from base.spider import Spider +import json +import requests +from requests import session, utils +import os +import time +import base64 +from time import strftime +from time import gmtime + + + + +class Spider(Spider): # 元类 默认的元类 type + box_video_type = '' + vod_area='bilidanmu' + + def getName(self): + return "哔哩3_带直播" + + + def __init__(self): + + + self.getCookie() + + + + url = 'http://api.bilibili.com/x/v3/fav/folder/created/list-all?up_mid=%s&jsonp=jsonp' % (self.userid) + + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + + + + fav_list=[] + + + if jo['code'] == 0: + for fav in jo['data'].get('list'): + + fav_dict = {'n':fav['title'].replace("", "").replace("", "").replace(""", '"').strip() ,'v':fav['id']} + fav_list.append(fav_dict) + + + if self.config["filter"].get('收藏夹'): + for i in self.config["filter"].get('收藏夹'): + if i['key']=='mlid': + i['value']=fav_list + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + + def isVideoFormat(self, url): + pass + + def second_to_time(self,a): + #将秒数转化为 时分秒的格式 + if a < 3600: + return time.strftime("%M:%S", time.gmtime(a)) + else: + return time.strftime("%H:%M:%S", time.gmtime(a)) + + def manualVideoCheck(self): + + pass + + #用户userid + userid='' + + def get_live_userInfo(self,uid): + + url = 'https://api.live.bilibili.com/live_user/v1/Master/info?uid=%s'%uid + + + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + + if jo['code'] == 0: + + return jo['data']["info"]["uname"] + + + + def homeContent(self, filter): + result = {} + cateManual = { + "动态": "动态", + "历史记录": '历史记录', + "收藏夹": '收藏夹', + "热门": "热门", + "排行榜": "排行榜", + "频道": "频道", + "直播": "直播", + "舞蹈": "舞蹈", + "宅舞": "宅舞", + "少女": "少女", + 'cosplay':'cosplay', + 'mmd':'mmd', + + "鬼畜": "鬼畜", + "狗狗": "汪星人", + '科技': '科技', + + "音声": "音声", + "演唱会": "演唱会", + "番剧": "1", + "国创": "4", + "电影": "2", + "综艺": "7", + "电视剧": "5", + "纪录片": "3", + + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + def homeVideoContent(self): + self.box_video_type = '热门' + return self.get_hot(pg='1') + + cookies = '' + + # def getCookie(self): + # # 在cookies_str中填入会员或大会员cookie,以获得更好的体验。 + # cookies_str = "buvid3=CFF74DA7-E79E-4B53-BB96-FC74AB8CD2F3184997infoc; LIVE_BUVID=AUTO4216125328906835; rpdid=|(umRum~uY~R0J'uYukYukkkY; balh_is_closed=; balh_server_inner=__custom__; PVID=4; video_page_version=v_old_home; i-wanna-go-back=-1; CURRENT_BLACKGAP=0; blackside_state=0; fingerprint=8965144a609d60190bd051578c610d72; buvid_fp_plain=undefined; CURRENT_QUALITY=120; hit-dyn-v2=1; nostalgia_conf=-1; buvid_fp=CFF74DA7-E79E-4B53-BB96-FC74AB8CD2F3184997infoc; CURRENT_FNVAL=4048; DedeUserID=85342; DedeUserID__ckMd5=f070401c4c699c83; b_ut=5; hit-new-style-dyn=0; buvid4=15C64651-E8B7-100C-4B1F-C7CFD2DB473007906-022110820-jYQRaMeS%2BRXRfw14q70%2FLQ%3D%3D; b_nut=1667910208; b_lsid=3CE4AE79_184578915C0; is-2022-channel=1; innersign=0; SESSDATA=a5e4d58d%2C1683641322%2C2c39a%2Ab1; bili_jct=2f3126b5954e37f593130f2fef082cd8; sid=p7tjqv22; bp_video_offset_85342=726936847258746900" + # cookies_dic = dict([co.strip().split('=') for co in cookies_str.split(';')]) + # rsp = session() + # cookies_jar = utils.cookiejar_from_dict(cookies_dic) + # rsp.cookies = cookies_jar + # content = self.fetch("http://api.bilibili.com/x/web-interface/nav", cookies=rsp.cookies) + # res = json.loads(content.text) + # if res["code"] == 0: + # self.cookies = rsp.cookies + # else: + + # rsp = self.fetch("https://www.bilibili.com/") + # self.cookies = rsp.cookies + # return rsp.cookies + def getCookie(self): + + #在下方cookies_str 后面 双引号里面放置你的cookies + cookies_str = "" + if cookies_str: + cookies = dict([co.strip().split('=') for co in cookies_str.split(';')]) + bili_jct = cookies['bili_jct'] + SESSDATA = cookies['SESSDATA'] + DedeUserID = cookies['DedeUserID'] + + cookies_jar={"bili_jct":bili_jct, + 'SESSDATA': SESSDATA, + 'DedeUserID':DedeUserID + + } + rsp = session() + rsp.cookies = cookies_jar + content = self.fetch("http://api.bilibili.com/x/web-interface/nav", cookies=rsp.cookies) + res = json.loads(content.text) + + if res["code"] == 0: + self.cookies = rsp.cookies + self.userid = res["data"].get('mid') + + return rsp.cookies + rsp = self.fetch("https://www.bilibili.com/") + self.cookies = rsp.cookies + + + return rsp.cookies + + + + + def get_hot(self, pg): + self.box_video_type = '热门' + result = {} + url = 'https://api.bilibili.com/x/web-interface/popular?ps=20&pn={0}'.format(pg) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['pic'].strip() + remark = str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid+'&hot', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def str2sec(self,x): + ''' + 字符串时分秒转换成秒 + ''' + x=str(x) + try: + h, m, s = x.strip().split(':') #.split()函数将其通过':'分隔开,.strip()函数用来除去空格 + return int(h)*3600 + int(m)*60 + int(s) #int()函数转换成整数运算 + except: + m, s = x.strip().split(':') #.split()函数将其通过':'分隔开,.strip()函数用来除去空格 + return int(m)*60 + int(s) #int()函数转换成整数运算 + + + def get_rank(self): + self.box_video_type = '排行榜' + result = {} + url = 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=0&type=all' + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['pic'].strip() + remark = str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid+'&rank', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + + def filter_duration(self, vodlist, key): + # 按时间过滤 + if key == '0': + return vodlist + else: + + + vod_list_new = [i for i in vodlist if self.time_diff1[key][0] <= self.str2sec(str(i["vod_remarks"])) < self.time_diff1[key][1]] + return vod_list_new + + + + + chanel_offset='' + def get_channel(self, pg, cid,extend,order,duration_diff): + result = {} + self.box_video_type = '频道' + + + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&page={1}&duration={2}&order={3}'.format( + cid, pg,duration_diff,order) + rsp = self.fetch(url, cookies=self.cookies) + + content = rsp.text + jo = json.loads(content) + if jo.get('code') == 0: + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = 'https:' + vod['pic'].strip() + remark = str( self.second_to_time(self.str2sec(vod['duration']))).strip() + videos.append({ + "vod_id": aid+'&channale', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + + }) + + + #videos=self.filter_duration(videos, duration_diff) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + + + + dynamic_offset = '' + + def get_dynamic(self, pg): + self.box_video_type = '动态' + result = {} + + if str(pg) == '1': + url = 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/all?timezone_offset=-480&type=all&page=%s' % pg + else: + # print('偏移',self.dynamic_offset) + url = 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/all?timezone_offset=-480&type=all&offset=%s&page=%s' % ( + self.dynamic_offset, pg) + + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + self.dynamic_offset = jo['data'].get('offset') + videos = [] + vodList = jo['data']['items'] + for vod in vodList: + if vod['type'] == 'DYNAMIC_TYPE_AV': + #up=vod['modules']["module_author"]['name'] + ivod = vod['modules']['module_dynamic']['major']['archive'] + aid = str(ivod['aid']).strip() + title = ivod['title'].strip().replace("", "").replace("", "") + img = ivod['cover'].strip() + #remark = str(ivod['duration_text']).strip() + remark =str( self.second_to_time(self.str2sec(ivod['duration_text']))).strip() + videos.append({ + "vod_id": aid+'&dynamic', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + + time_diff1={'1':[0,300], + '2':[300,900],'3':[900,1800],'4':[1800,3600], + '5':[3600,99999999999999999999999999999999] + + } + + time_diff='0' + + + def get_fav_detail(self,pg,mlid,order): + result = {} + self.box_video_type = '收藏夹' + + + + url = 'http://api.bilibili.com/x/v3/fav/resource/list?media_id=%s&order=%s&pn=%s&ps=20&platform=web&type=0'%(mlid,order,pg) + rsp = self.fetch(url, cookies=self.cookies) + + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['medias'] + + for vod in vodList: + #print(vod) + #只展示类型为 视频的条目 + #过滤去掉收藏夹中的 已失效视频;如果不喜欢可以去掉这个 if条件 + if vod.get('type') in [2] and vod.get('title') != '已失效视频': + + aid = str(vod['id']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = vod['cover'].strip() + remark = str( self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid+'&fav', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + + }) + + + + #videos=self.filter_duration(videos, duration_diff) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + + return result + + def get_fav(self,pg,order,extend): + self.box_video_type = '收藏夹' + + #获取自己的up_mid(也就是用户uid) + + + mlid='' + + fav_config=self.config["filter"].get('收藏夹') + + #默认显示第一个收藏夹内容 + if fav_config: + for i in fav_config: + if i['key']=='mlid': + if len(i['value'])>0: + mlid=i['value'][0]['v'] + + + + + #print(self.config["filter"].get('收藏夹')) + + if 'mlid' in extend: + mlid = extend['mlid'] + if mlid: + return self.get_fav_detail(pg=pg,mlid=mlid,order=order) + else: + return {} + + + + def get_history(self,pg): + result = {} + self.box_video_type = '历史记录' + url = 'http://api.bilibili.com/x/v2/history?pn=%s' % pg + rsp = self.fetch(url,cookies=self.cookies) + content = rsp.text + jo = json.loads(content) #解析api接口,转化成json数据对象 + if jo['code'] == 0: + videos = [] + vodList = jo['data'] + for vod in vodList: + if vod['duration'] > 0: #筛选掉非视频的历史记录 + aid = str(vod["aid"]).strip() #获取 aid + #获取标题 + title = vod["title"].replace("", "").replace("", "").replace(""", + '"') + #封面图片 + img = vod["pic"].strip() + + #获取已观看时间 + if str(vod['progress'])=='-1': + process=str(self.second_to_time(vod['duration'])).strip() + else: + process = str(self.second_to_time(vod['progress'])).strip() + #获取视频总时长 + total_time= str(self.second_to_time(vod['duration'])).strip() + #组合 已观看时间 / 总时长 ,赋值给 remark + remark = process+' / '+total_time + videos.append({ + "vod_id":aid+'&history', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + + def get_live(self,pg,parent_area_id): + result = {} + self.box_video_type = '直播' + + + url = 'https://api.live.bilibili.com/room/v3/area/getRoomList?page=%s&sort_type=online&parent_area_id=%s'%(pg,parent_area_id) + rsp = self.fetch(url, cookies=self.cookies) + + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + + for vod in vodList: + + + + aid = str(vod['roomid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = vod.get('cover').strip() + remark = '直播间人数:'+str( vod['online']).strip() + videos.append({ + "vod_id": aid+'&live', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + + }) + + + + #videos=self.filter_duration(videos, duration_diff) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + + return result + + + + + def categoryContent(self, tid, pg, filter, extend): + + result = {} + + if len(self.cookies) <= 0: + self.getCookie() + + if tid == "热门": + self.box_video_type = '热门' + return self.get_hot(pg=pg) + elif tid == "排行榜": + self.box_video_type = '排行榜' + return self.get_rank() + elif tid == "收藏夹": + self.box_video_type = '收藏夹' + order = 'mtime' + if 'order' in extend: + order = extend['order'] + + return self.get_fav(pg=pg, order=order,extend=extend) + + elif tid == '直播': + self.box_video_type = '直播' + parent_area_id = '0' + if 'parent_area_id' in extend: + parent_area_id = extend['parent_area_id'] + return self.get_live(pg=pg,parent_area_id=parent_area_id) + + + + elif tid == '频道': + self.box_video_type = '频道' + + cid = '搞笑' + if 'cid' in extend: + cid = extend['cid'] + + duration_diff='0' + if 'duration' in extend: + duration_diff = extend['duration'] + + order = 'totalrank' + if 'order' in extend: + order = extend['order'] + + + + + + + return self.get_channel(pg=pg, cid=cid,extend=extend,order=order,duration_diff=duration_diff) + + + elif tid == '动态': + self.box_video_type = '动态' + return self.get_dynamic(pg=pg) + + elif tid == '历史记录': + self.box_video_type = '历史记录' + return self.get_history(pg=pg) + elif tid.isdigit(): + self.box_video_type = '影视' + url = 'https://api.bilibili.com/pgc/season/index/result?order=2&season_status=-1&style_id=-1&sort=0&area=-1&pagesize=20&type=1&st={0}&season_type={0}&page={1}'.format( + tid, pg) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'].strip() + img = vod['cover'].strip() + remark = vod['index_show'].strip() + videos.append({ + "vod_id": aid+'&movie', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark # 视频part数量 + + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + + + + else: + duration_diff='0' + if 'duration' in extend: + duration_diff = extend['duration'] + + order = 'totalrank' + if 'order' in extend: + order = extend['order'] + + + + + self.box_video_type = '其他' + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&page={1}&duration={2}&order={3}'.format( + tid, pg,duration_diff,order) + rsp = self.fetch(url, cookies=self.cookies) + + content = rsp.text + jo = json.loads(content) + + if jo.get('code') == 0: + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = 'https:' + vod['pic'].strip() + #remark = str(vod['duration']).strip() + remark =str( self.second_to_time(self.str2sec(vod['duration']))).strip() + videos.append({ + "vod_id": aid+'&other', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + + }) + + + #videos=self.filter_duration(videos, duration_diff) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def cleanSpace(self, str): + return str.replace('\n', '').replace('\t', '').replace('\r', '').replace(' ', '') + + def detailContent(self, array): + # if int(array[0])< 1000000: + result={} + arrays = array[0].split("&") + if arrays[-1] == 'movie': + self.box_video_type='影视' + aid = arrays[0] + url = "http://api.bilibili.com/pgc/view/web/season?season_id={0}".format(aid) + rsp = self.fetch(url, headers=self.header) + jRoot = json.loads(rsp.text) + if jRoot['code'] == 0: + jo = jRoot['result'] + id = jo['season_id'] + title = jo['title'] + pic = jo['cover'] + areas = jo['areas'][0]['name'] + typeName = jo['share_sub_title'] + dec = jo['evaluate'] + remark = jo['new_ep']['desc'] + vod = { + "vod_id": id, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": "", + # "vod_area":areas, + "vod_area": self.vod_area, #弹幕是否显示的开关 + "vod_remarks": remark, + "vod_actor": "", + "vod_director": "", + "vod_content": dec + } + ja = jo['episodes'] + playUrl = '' + for tmpJo in ja: + eid = tmpJo['id'] + cid = tmpJo['cid'] + part = tmpJo['title'].replace("#", "-") + playUrl = playUrl + '{0}${1}_{2}#'.format(part, eid, cid) + + vod['vod_play_from'] = 'B站' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + + elif arrays[-1] == 'live': + self.box_video_type='直播' + aid = arrays[0] + + + url = "https://api.live.bilibili.com/room/v1/Room/get_info?room_id=%s"%aid + rsp = self.fetch(url, headers=self.header,cookies=self.cookies) + jRoot = json.loads(rsp.text) + if jRoot.get('code')==0: + jo = jRoot['data'] + title = jo['title'].replace("", "").replace("", "") + pic = jo.get("user_cover") + desc = jo.get('description') + + dire = self.get_live_userInfo(jo["uid"]) + typeName = jo.get("area_name") + remark = '在线人数:'+str(jo['online']).strip() + + vod = { + "vod_id": aid, + "vod_name": '(' + dire + ")" + title, + "vod_pic": pic, + "type_name": typeName, + + "vod_area": self.vod_area, + #"vod_area":"", + "vod_remarks": remark, + "vod_actor": "直播间id-"+aid, + "vod_director": dire, + "vod_content": desc + '\n主播:' + dire, + 'vod_play_from':'B站', + 'vod_play_url':'flv线路原画$platform=web&quality=4_'+aid+'#flv线路高清$platform=web&quality=3_'+aid+'#h5线路原画$platform=h5&quality=4_'+aid+'#h5线路高清$platform=h5&quality=3_'+aid + # 'vod_play_url':aid + } + + + result = { + 'list': [ + vod + ] + } + + else : + self.box_video_type='其他' + aid = arrays[0] + url = "https://api.bilibili.com/x/web-interface/view?aid={0}".format(aid) + rsp = self.fetch(url, headers=self.header) + jRoot = json.loads(rsp.text) + if jRoot['code'] == 0: + jo = jRoot['data'] + title = jo['title'].replace("", "").replace("", "") + pic = jo['pic'] + desc = jo['desc'] + timeStamp = jo['pubdate'] + timeArray = time.localtime(timeStamp) + year = str(time.strftime("%Y", timeArray)) + dire = jo['owner']['name'] + typeName = jo['tname'] + remark = str(jo['duration']).strip() + + vod = { + "vod_id": aid, + "vod_name": '(' + dire + ")" + title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": year, + "vod_area": self.vod_area, + # "vod_area":"", + "vod_remarks": remark, + "vod_actor": '', + + "vod_director": dire, + "vod_content": desc + '\nup主:' + dire + } + ja = jo['pages'] + playUrl = '' + for tmpJo in ja: + cid = tmpJo['cid'] + part = tmpJo['part'].replace("#", "-") + playUrl = playUrl + '{0}${1}_{2}#'.format(part, aid, cid) + + vod['vod_play_from'] = 'B站' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + self.box_video_type = '搜索' + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&page=1'.format(key) + + rsp = self.fetch(url, cookies=self.cookies, headers=header) + content = rsp.text + jo = json.loads(content) + if jo['code'] != 0: + rspRetry = self.fetch(url, cookies=self.cookies, headers=header) + content = rspRetry.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = 'https:' + vod['pic'].strip() + remark = str(vod['duration']).strip() + videos.append({ + "vod_id": aid+'&search', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + + def playerContent(self, flag, id, vipFlags): + result = {} + if self.box_video_type == '影视': + ids = id.split("_") + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + url = 'https://api.bilibili.com/pgc/player/web/playurl?qn=116&ep_id={0}&cid={1}'.format(ids[0], ids[1]) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies, headers=header) + jRoot = json.loads(rsp.text) + if jRoot['message'] != 'success': + print("需要大会员权限才能观看") + return {} + jo = jRoot['result'] + ja = jo['durl'] + maxSize = -1 + position = -1 + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + result["contentType"] = 'video/x-flv' + self.box_video_type = '影视' + + elif self.box_video_type == '直播': + + ids = id.split("_") + + + url = 'https://api.live.bilibili.com/room/v1/Room/playUrl?cid=%s&%s'%(ids[1],ids[0]) + + #raise Exception(url) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies) + jRoot = json.loads(rsp.text) + + + if jRoot['code'] == 0: + + + jo = jRoot['data'] + ja = jo['durl'] + + + url = '' + if len(ja) > 0: + + url = ja[0]['url'] + + result["parse"] = 0 + # result['type'] ="m3u8" + result["playUrl"] = '' + + result["url"] = url + result["header"] = { + "Referer": "https://live.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + + + self.box_video_type = '直播' + if ids[0]=="h5": + result["contentType"] = '' + else: + result["contentType"] = 'video/x-flv' + + else: + + ids = id.split("_") + url = 'https://api.bilibili.com:443/x/player/playurl?avid={0}&cid={1}&qn=116'.format(ids[0], ids[1]) + + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + ja = jo['durl'] + + maxSize = -1 + position = -1 + + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + result["contentType"] = 'video/x-flv' + self.box_video_type = '其他' + return result + + config = { + "player": {}, + "filter": { + + + + "舞蹈": [{ + "key": "order", + "name": "排序", + "value": [ + + { + "n": "综合排序", + "v": "totalrank" + }, + + { + "n": "最新发布", + "v": "pubdate" + }, + + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最多收藏", + "v": "stow" + }, + + + + { + "n": "最多弹幕", + "v": "dm" + }, + + + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "5~30分钟", + "v": "2" + }, + { + "n": "5分钟以下", + "v": "1" + } + ] + }], + + + + "少女": [{ + "key": "order", + "name": "排序", + "value": [ + + { + "n": "综合排序", + "v": "totalrank" + }, + + { + "n": "最新发布", + "v": "pubdate" + }, + + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最多收藏", + "v": "stow" + }, + + + + { + "n": "最多弹幕", + "v": "dm" + }, + + + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "5~30分钟", + "v": "2" + }, + { + "n": "5分钟以下", + "v": "1" + } + ] + }], + + "mmd": [{ + "key": "order", + "name": "排序", + "value": [ + + { + "n": "综合排序", + "v": "totalrank" + }, + + { + "n": "最新发布", + "v": "pubdate" + }, + + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最多收藏", + "v": "stow" + }, + + + + { + "n": "最多弹幕", + "v": "dm" + }, + + + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "5~30分钟", + "v": "2" + }, + { + "n": "5分钟以下", + "v": "1" + } + ] + }], + + "直播": [{ + "key": "parent_area_id", + "name": "直播分区", + "value": [ + + { + "n": "全部分区", + "v": "0" + }, + + { + "n": "娱乐", + "v": "1" + }, + { + "n": "电台", + "v": "5" + }, + { + "n": "网游", + "v": "2" + }, + { + "n": "手游", + "v": "3" + }, + + + + { + "n": "单机游戏", + "v": "6" + }, + + { + "n": "虚拟主播", + "v": "9" + },{'n': '生活', 'v': 10}, + {'n': '知识', 'v': 11}, + {'n': '赛事', 'v': 13} + + + + ] + }, + ], + + + "音声": [{ + "key": "order", + "name": "排序", + "value": [ + + { + "n": "综合排序", + "v": "totalrank" + }, + + { + "n": "最新发布", + "v": "pubdate" + }, + + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最多收藏", + "v": "stow" + }, + + + + { + "n": "最多弹幕", + "v": "dm" + }, + + + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "5~30分钟", + "v": "2" + }, + { + "n": "5分钟以下", + "v": "1" + } + ] + }], + + "收藏夹": [{ + "key": "order", + "name": "排序", + "value": [ + + { + "n": "收藏时间", + "v": "mtime" + }, + + { + "n": "播放量", + "v": "view" + }, + + { + "n": "投稿时间", + "v": "pubtime" + } + + + + ] + }, + { + "key": "mlid", + "name": "收藏夹分区", + "value": [ + ] + }], + "cosplay": [{ + "key": "order", + "name": "排序", + "value": [ + + { + "n": "综合排序", + "v": "totalrank" + }, + + { + "n": "最新发布", + "v": "pubdate" + }, + + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最多收藏", + "v": "stow" + }, + + + + { + "n": "最多弹幕", + "v": "dm" + }, + + + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "5~30分钟", + "v": "2" + }, + { + "n": "5分钟以下", + "v": "1" + } + ] + }], + + + + + + + + + + + + + + + + + + + + + + "频道": [{ + "key": "order", + "name": "排序", + "value": [ + + { + "n": "综合排序", + "v": "totalrank" + }, + + { + "n": "最新发布", + "v": "pubdate" + }, + + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最多收藏", + "v": "stow" + }, + + + + { + "n": "最多弹幕", + "v": "dm" + }, + + + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "5~30分钟", + "v": "2" + }, + { + "n": "5分钟以下", + "v": "1" + } + ] + }, {"key": "cid", "name": "分类", + "value":[{'n': '搞笑', 'v': '搞笑'}, {'n': '美食', 'v': '美食'}, {'n': '鬼畜', 'v': '鬼畜'}, {'n': '美妆', 'v': '美妆'}, {'n': 'mmd', 'v': 'mmd'}, {'n': '科普', 'v': '科普'}, {'n': 'COSPLAY', 'v': 'COSPLAY'}, {'n': '漫展', 'v': '漫展'}, {'n': 'MAD', 'v': 'MAD'}, {'n': '手书', 'v': '手书'}, {'n': '穿搭', 'v': '穿搭'}, {'n': '发型', 'v': '发型'}, {'n': '化妆教程', 'v': '化妆教程'}, {'n': '电音', 'v': '电音'}, {'n': '欧美音乐', 'v': '欧美音乐'}, {'n': '中文翻唱', 'v': '中文翻唱'}, {'n': '洛天依', 'v': '洛天依'}, {'n': '翻唱', 'v': '翻唱'}, {'n': '日文翻唱', 'v': '日文翻唱'}, {'n': '科普', 'v': '科普'}, {'n': '技术宅', 'v': '技术宅'}, {'n': '历史', 'v': '历史'}, {'n': '科学', 'v': '科学'}, {'n': '人文', 'v': '人文'}, {'n': '科幻', 'v': '科幻'}, {'n': '手机', 'v': '手机'}, {'n': '手机评测', 'v': '手机评测'}, {'n': '电脑', 'v': '电脑'}, {'n': '摄影', 'v': '摄影'}, {'n': '笔记本', 'v': '笔记本'}, {'n': '装机', 'v': '装机'}, {'n': '课堂教育', 'v': '课堂教育'}, {'n': '公开课', 'v': '公开课'}, {'n': '演讲', 'v': '演讲'}, {'n': 'PS教程', 'v': 'PS教程'}, {'n': '编程', 'v': '编程'}, {'n': '英语学习', 'v': '英语学习'}, {'n': '喵星人', 'v': '喵星人'}, {'n': '萌宠', 'v': '萌宠'}, {'n': '汪星人', 'v': '汪星人'}, {'n': '大熊猫', 'v': '大熊猫'}, {'n': '柴犬', 'v': '柴犬'},{'n': '田园犬', 'v': '田园犬'}, {'n': '吱星人', 'v': '吱星人'}, {'n': '美食', 'v': '美食'}, {'n': '甜点', 'v': '甜点'}, {'n': '吃货', 'v': '吃货'}, {'n': '厨艺', 'v': '厨艺'}, {'n': '烘焙', 'v': '烘焙'}, {'n': '街头美食', 'v': '街头美食'}, {'n': 'A.I.Channel', 'v': 'A.I.Channel'}, {'n': '虚拟UP主', 'v': '虚拟UP主'}, {'n': '神楽めあ', 'v': '神楽めあ'}, {'n': '白上吹雪', 'v': '白上吹雪'}, {'n': '婺源', 'v': '婺源'}, {'n': 'hololive', 'v': 'hololive'}, {'n': 'EXO', 'v': 'EXO'}, {'n': '防弹少年团', 'v': '防弹少年团'}, {'n': '肖战', 'v': '肖战'}, {'n': '王一博', 'v': '王一博'}, {'n': '易烊千玺', 'v': '易烊千玺'}, {'n': '赵今麦', 'v': '赵今麦'}, {'n': '宅舞', 'v': '宅舞'}, {'n': '街舞', 'v': '街舞'}, {'n': '舞蹈教学', 'v': '舞蹈教学'}, {'n': '明星舞蹈', 'v': '明星舞蹈'}, {'n': '韩舞', 'v': '韩舞'}, {'n': '古典舞', 'v': '古典舞'}, {'n': '旅游', 'v': '旅游'}, {'n': '绘画', 'v': '绘画'}, {'n': '手工', 'v': '手工'}, {'n': 'vlog', 'v': 'vlog'}, {'n': 'DIY', 'v': 'DIY'}, {'n': '手绘', 'v': '手绘'}, {'n': '综艺', 'v': '综艺'}, {'n': '国家宝藏', 'v': '国家宝藏'}, {'n': '脱口秀', 'v': '脱口秀'}, {'n': '日本综艺', 'v': '日本综艺'}, {'n': '国内综艺', 'v': '国内综艺'}, {'n': '人类观察', 'v': '人类观察'}, {'n': '影评', 'v': '影评'}, {'n': '电影解说', 'v': '电影解说'}, {'n': '影视混剪', 'v': '影视混剪'}, {'n': '影视剪辑', 'v': '影视剪辑'}, {'n': '漫威', 'v': '漫威'}, {'n': '超级英雄', 'v': '超级英雄'}, {'n': '影视混剪', 'v': '影视混剪'}, {'n': '影视剪辑', 'v': '影视剪辑'}, + {'n': '诸葛亮', 'v': '诸葛亮'}, {'n': '韩剧', 'v': '韩剧'}, {'n': '王司徒', 'v': '王司徒'}, {'n': '泰剧', 'v': '泰剧'}, + {'n': '郭德纲', 'v': '郭德纲'}, {'n': '相声', 'v': '相声'}, {'n': '张云雷', 'v': '张云雷'}, {'n': '秦霄贤', 'v': '秦霄贤'}, {'n': '孟鹤堂', 'v': '孟鹤堂'}, {'n': '岳云鹏', 'v': '岳云鹏'}, {'n': '假面骑士', 'v': '假面骑士'}, {'n': '特摄', 'v': '特摄'}, {'n': '奥特曼', 'v': '奥特曼'}, {'n': '迪迦奥特曼', 'v': '迪迦奥特曼'}, {'n': '超级战队', 'v': '超级战队'}, {'n': '铠甲勇士', 'v': '铠甲勇士'}, {'n': '健身', 'v': '健身'}, {'n': '篮球', 'v': '篮球'}, {'n': '体育', 'v': '体育'}, {'n': '帕梅拉', 'v': '帕梅拉'}, {'n': '极限运动', 'v': '极限运动'}, {'n': '足球', 'v': '足球'}, {'n': '星海', 'v': '星海'}, {'n': '张召忠', 'v': '张召忠'}, {'n': '航母', 'v': '航母'}, {'n': '航天', 'v': '航天'}, {'n': '导弹', 'v': '导弹'}, {'n': '战斗机', 'v': '战斗机'}] +} + ], + } + } + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + + def localProxy(self, param): + + + return [200, "video/MP2T", action, ""] + + +if __name__ == '__main__': + a=Spider() + + + print(a.categoryContent('5','1',filter={},extend='1')) + + + #print(a.get_live(pg=1,parent_area_id='0')) + + a.box_video_type='直播' + print(a.get_hot(pg=1)) + print(a.detailContent(['43000&movie'])) + + + print(a.playerContent('flag', 'flv线路$web_43000#h5线路$h5_43000', 'vipFlags')) + + + + #print(a.get_fav(pg='1',order='mtime',extend={})) + diff --git a/TVBox_PY/py_bilibili4.py b/TVBox_PY/py_bilibili4.py new file mode 100644 index 0000000..c645ae4 --- /dev/null +++ b/TVBox_PY/py_bilibili4.py @@ -0,0 +1,875 @@ +# coding=utf-8 +# !/usr/bin/python +import sys + +sys.path.append('..') +from base.spider import Spider +import json +import requests +from requests import session, utils +import time +import base64 + + +class Spider(Spider): + + def getName(self): + return "哔哩哔哩" + + # 主页 + def homeContent(self, filter): + result = {} + cateManual = { + "动态": "动态", + "热门": "热门", + "推荐": "推荐", + "历史记录": "历史记录", + # "稍后再看":"稍后再看", #意义不大,隐藏该项 + "收藏": "收藏", + "动画": "1", + "音乐": "3", + "舞蹈": "129", + "游戏": "4", + "鬼畜": "119", + "知识": "36", + "科技": "188", + "运动": "234", + "生活": "160", + "美食": "211", + "动物": "217", + "汽车": "223", + "时尚": "155", + "娱乐": "5", + "影视": "181", + "每周必看": "每周必看", + "入站必刷": "入站必刷", + "频道": "频道", + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + # 用户cookies + cookies = '' + userid = '' + csrf = '' + + def getCookie(self): + import http.cookies + # ----↓↓↓↓↓↓↓----在下方raw_cookie_line后的双引号内填写----↓↓↓↓↓↓↓---- + raw_cookie_line = "" + simple_cookie = http.cookies.SimpleCookie(raw_cookie_line) + cookie_jar = requests.cookies.RequestsCookieJar() + cookie_jar.update(simple_cookie) + rsp = session() + rsp.cookies = cookie_jar + content = self.fetch("http://api.bilibili.com/x/web-interface/nav", cookies=rsp.cookies) + res = json.loads(content.text) + if res["code"] == 0: + self.cookies = rsp.cookies + self.userid = res["data"].get('mid') + self.csrf = rsp.cookies['bili_jct'] + return cookie_jar + + def __init__(self): + self.getCookie() + url = 'https://api.bilibili.com/x/v3/fav/folder/created/list-all?up_mid=%s&jsonp=jsonp' % self.userid + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + fav_list = [] + if jo['code'] == 0: + for fav in jo['data'].get('list'): + fav_dict = { + 'n': fav['title'].replace("", "").replace("", "").replace(""", + '"').strip(), + 'v': fav['id']} + fav_list.append(fav_dict) + if self.config["filter"].get('收藏'): + for i in self.config["filter"].get('收藏'): + if i['key'] == 'mlid': + i['value'] = fav_list + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def post_history(self, aid, cid): + url = 'http://api.bilibili.com/x/v2/history/report?aid={0}&cid={1}&csrf={2}'.format(aid, cid, self.csrf) + requests.post(url=url, cookies=self.cookies) + + # 将超过10000的数字换成成以万和亿为单位 + def zh(self, num): + if int(num) >= 100000000: + p = round(float(num) / float(100000000), 1) + p = str(p) + '亿' + else: + if int(num) >= 10000: + p = round(float(num) / float(10000), 1) + p = str(p) + '万' + else: + p = str(num) + return p + + # 将秒数转化为 时分秒的格式 + def second_to_time(self, a): + if a < 3600: + return time.strftime("%M:%S", time.gmtime(a)) + else: + return time.strftime("%H:%M:%S", time.gmtime(a)) + + # 字符串时分秒以及分秒形式转换成秒 + def str2sec(self, x): + x = str(x) + try: + h, m, s = x.strip().split(':') # .split()函数将其通过':'分隔开,.strip()函数用来除去空格 + return int(h) * 3600 + int(m) * 60 + int(s) # int()函数转换成整数运算 + except: + m, s = x.strip().split(':') # .split()函数将其通过':'分隔开,.strip()函数用来除去空格 + return int(m) * 60 + int(s) # int()函数转换成整数运算 + + # 按时间过滤 + def filter_duration(self, vodlist, key): + if key == '0': + return vodlist + else: + vod_list_new = [i for i in vodlist if + self.time_diff1[key][0] <= self.str2sec(str(i["vod_remarks"])) < self.time_diff1[key][1]] + return vod_list_new + + time_diff1 = {'1': [0, 300], + '2': [300, 900], '3': [900, 1800], '4': [1800, 3600], + '5': [3600, 99999999999999999999999999999999] + } + time_diff = '0' + + def homeVideoContent(self): + result = {} + url = 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=0&type=all' + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'][0:50] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['pic'].strip() + remark = "观看:" + self.zh(vod['stat']['view']) + "  " + str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + + dynamic_offset = '' + + def get_dynamic(self, pg): + result = {} + if str(pg) == '1': + url = 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/all?timezone_offset=-480&type=all&page=%s' % pg + else: + # print('偏移',self.dynamic_offset) + url = 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/all?timezone_offset=-480&type=all&offset=%s&page=%s' % (self.dynamic_offset, pg) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + self.dynamic_offset = jo['data'].get('offset') + videos = [] + vodList = jo['data']['items'] + for vod in vodList: + if vod['type'] == 'DYNAMIC_TYPE_AV': + up = vod['modules']["module_author"]['name'] + ivod = vod['modules']['module_dynamic']['major']['archive'] + aid = str(ivod['aid']).strip() + title = ivod['title'].strip().replace("", "").replace("", "") + img = ivod['cover'].strip() + # remark = str(ivod['duration_text']).strip() + remark = str(self.second_to_time(self.str2sec(ivod['duration_text']))).strip() + ' ' + str( + up).strip() # 显示分钟数+up主名字 + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_hot(self, pg): + result = {} + url = 'https://api.bilibili.com/x/web-interface/popular?ps=10&pn={0}'.format(pg) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'][0:50] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['pic'].strip() + remark = "观看:" + self.zh(vod['stat']['view']) + "  " + str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_rcmd(self, pg): + result = {} + url = 'https://api.bilibili.com/x/web-interface/index/top/feed/rcmd?y_num={0}&fresh_type=3&feed_version=SEO_VIDEO&fresh_idx_1h=1&fetch_row=1&fresh_idx=1&brush=0&homepage_ver=1&ps=10'.format( + pg) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['item'] + for vod in vodList: + if vod['duration'] > 0: + aid = str(vod['id']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['pic'].strip() + remark = "观看:" + self.zh(vod['stat']['view']) + "  " + str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_rank(self): + result = {} + url = 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=0&type=all' + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'][0:50] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['pic'].strip() + remark = "观看:" + self.zh(vod['stat']['view']) + "  " + str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_history(self, pg): + result = {} + url = 'https://api.bilibili.com/x/v2/history?pn=%s&ps=10' % pg + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) # 解析api接口,转化成json数据对象 + if jo['code'] == 0: + videos = [] + vodList = jo['data'] + for vod in vodList: + if vod['duration'] > 0: # 筛选掉非视频的历史记录 + aid = str(vod["aid"]).strip() + title = vod["title"].replace("", "").replace("", "").replace(""", + '"') + img = vod["pic"].strip() + # 获取已观看时间 + if str(vod['progress']) == '-1': + process = str(self.second_to_time(vod['duration'])).strip() + else: + process = str(self.second_to_time(vod['progress'])).strip() + # 获取视频总时长 + total_time = str(self.second_to_time(vod['duration'])).strip() + # 组合 已观看时间 / 总时长 ,赋值给 remark + remark = process + ' / ' + total_time + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_fav(self, pg, order, extend): + mlid = '' + fav_config = self.config["filter"].get('收藏') + # 默认显示第一个收藏内容 + if fav_config: + for i in fav_config: + if i['key'] == 'mlid': + if len(i['value']) > 0: + mlid = i['value'][0]['v'] + # print(self.config["filter"].get('收藏')) + if 'mlid' in extend: + mlid = extend['mlid'] + if mlid: + return self.get_fav_detail(pg=pg, mlid=mlid, order=order) + else: + return {} + + def get_fav_detail(self, pg, mlid, order): + result = {} + url = 'https://api.bilibili.com/x/v3/fav/resource/list?media_id=%s&order=%s&pn=%s&ps=10&platform=web&type=0' % (mlid, order, pg) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['medias'] + for vod in vodList: + # print(vod) + # 只展示类型为 视频的条目 + # 过滤去掉收藏中的 已失效视频;如果不喜欢可以去掉这个 if条件 + if vod.get('type') in [2] and vod.get('title') != '已失效视频': + aid = str(vod['id']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", + '"') + img = vod['cover'].strip() + remark = "观看:" + self.zh(vod['cnt_info']['play']) + "  " + str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + # videos=self.filter_duration(videos, duration_diff) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_zone(self, tid): + result = {} + url = 'https://api.bilibili.com/x/web-interface/ranking/v2?rid={0}&type=all'.format(tid) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'][0:50] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['pic'].strip() + remark = "观看:" + self.zh(vod['stat']['view']) + "  " + str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_weekly(self): + result = {} + url1 = 'https://api.bilibili.com/x/web-interface/popular/series/list' + rsp1 = self.fetch(url1, cookies=self.cookies) + content1 = rsp1.text + jo1 = json.loads(content1) + number = jo1['data']['list'][0]['number'] + url = 'https://api.bilibili.com/x/web-interface/popular/series/one?number=' + str(number) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip() + img = vod['pic'].strip() + remark = "观看:" + self.zh(vod['stat']['view']) + "  " + str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_must_watch(self): + result = {} + url = 'https://api.bilibili.com/x/web-interface/popular/precious?page_size=100&page=1' + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip() + img = vod['pic'].strip() + remark = "观看:" + self.zh(vod['stat']['view']) + "  " + str(self.second_to_time(vod['duration'])).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_toview(self, pg): + result = {} + url = 'https://api.bilibili.com/x/v2/history/toview' + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) # 解析api接口,转化成json数据对象 + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + if vod['duration'] > 0: + aid = str(vod["aid"]).strip() + title = vod["title"].replace("", "").replace("", "").replace(""", + '"') + img = vod["pic"].strip() + if str(vod['progress']) == '-1': + process = str(self.second_to_time(vod['duration'])).strip() + else: + process = str(self.second_to_time(vod['progress'])).strip() + # 获取视频总时长 + total_time = str(self.second_to_time(vod['duration'])).strip() + # 组合 已观看时间 / 总时长 ,赋值给 remark + remark = process + ' / ' + total_time + videos.append({ + "vod_id": aid + '&toview', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + chanel_offset = '' + + def get_channel(self, pg, cid, extend, order, duration_diff): + result = {} + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&page={1}&duration={2}&order={3}&page_size=10'.format( + cid, pg, duration_diff, order) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo.get('code') == 0: + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = 'https:' + vod['pic'].strip() + remark = "观看:" + self.zh(vod['play']) + "  " + str(self.second_to_time(self.str2sec(vod['duration']))).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + # videos=self.filter_duration(videos, duration_diff) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + if len(self.cookies) <= 0: + self.getCookie() + if tid == "动态": + return self.get_dynamic(pg=pg) + elif tid == "热门": + return self.get_hot(pg=pg) + elif tid == '推荐': + return self.get_rcmd(pg=pg) + elif tid == '历史记录': + return self.get_history(pg=pg) + elif tid == "每周必看": + return self.get_weekly() + elif tid == "入站必刷": + return self.get_must_watch() + elif tid == '稍后再看': + return self.get_toview(pg=pg) + elif tid in ("1", "3", "129", "4", "119", "36", "188", "234", "160", "211", "217", "223", "155", "5", "181"): + return self.get_zone(tid=tid) + + elif tid == "收藏": + order = 'mtime' + if 'order' in extend: + order = extend['order'] + return self.get_fav(pg=pg, order=order, extend=extend) + + elif tid == '频道': + cid = '搞笑' + if 'cid' in extend: + cid = extend['cid'] + duration_diff = '0' + if 'duration' in extend: + duration_diff = extend['duration'] + order = 'totalrank' + if 'order' in extend: + order = extend['order'] + return self.get_channel(pg=pg, cid=cid, extend=extend, order=order, duration_diff=duration_diff) + + else: + duration_diff = '0' + if 'duration' in extend: + duration_diff = extend['duration'] + order = 'totalrank' + if 'order' in extend: + order = extend['order'] + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&page={1}&duration={2}&order={3}&page_size=10'.format( + tid, pg, duration_diff, order) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo.get('code') == 0: + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", + '"') + img = 'https:' + vod['pic'].strip() + # remark = str(vod['duration']).strip() + remark = "观看:" + self.zh(vod['play']) + "  " + str(self.second_to_time(self.str2sec(vod['duration']))).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + # videos=self.filter_duration(videos, duration_diff) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def cleanSpace(self, str): + return str.replace('\n', '').replace('\t', '').replace('\r', '').replace(' ', '') + + def detailContent(self, array): + aid = array[0] + url = "https://api.bilibili.com/x/web-interface/view?aid={0}".format(aid) + rsp = self.fetch(url, headers=self.header, cookies=self.cookies) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + title = jo['title'].replace("", "").replace("", "") + pic = jo['pic'] + desc = jo['desc'] + typeName = jo['tname'] + date = time.strftime("%Y%m%d", time.localtime(jo['pubdate'])) # 投稿时间本地年月日表示 + stat = jo['stat'] + # 演员项展示视频状态,包括以下内容: + status = "播放: " + self.zh(stat['view']) + " 弹幕: " + self.zh(stat['danmaku']) + " 点赞: " + self.zh(stat['like']) + " 收藏: " + self.zh(stat['favorite']) + " 投币: " + self.zh(stat['coin']) + remark = str(jo['duration']).strip() + vod = { + "vod_id": aid, + "vod_name": '[' + jo['owner']['name'] + "]" + title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": date, + "vod_area": "bilidanmu", + "vod_remarks": remark, # 不会显示 + 'vod_tags': 'mv', # 不会显示 + "vod_actor": status, + "vod_director": jo['owner']['name'], + "vod_content": desc + } + ja = jo['pages'] + playUrl = '' + for tmpJo in ja: + cid = tmpJo['cid'] + part = tmpJo['part'].replace("#", "-") + playUrl = playUrl + '{0}${1}_{2}#'.format(part, aid, cid) + + vod['vod_play_from'] = 'B站' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&page=1'.format(key) + + rsp = self.fetch(url, cookies=self.cookies, headers=self.header) + content = rsp.text + jo = json.loads(content) + if jo['code'] != 0: + rspRetry = self.fetch(url, cookies=self.cookies, headers=self.header) + content = rspRetry.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + '[' + key + ']' + img = 'https:' + vod['pic'].strip() + remark = str(self.second_to_time(self.str2sec(vod['duration']))).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + + def playerContent(self, flag, id, vipFlags): + result = {} + ids = id.split("_") + if len(ids) < 2: + return result + url = 'https://api.bilibili.com:443/x/player/playurl?avid={0}&cid={1}&qn=116'.format(ids[0], ids[1]) + if len(self.cookies) <= 0: + self.getCookie() + self.post_history(ids[0], ids[1]) # 回传播放历史记录 + rsp = self.fetch(url, cookies=self.cookies) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + ja = jo['durl'] + maxSize = -1 + position = -1 + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": { + + "收藏": [{ + "key": "order", + "name": "排序", + "value": [ + + { + "n": "收藏时间", + "v": "mtime" + }, + + { + "n": "播放量", + "v": "view" + }, + + { + "n": "投稿时间", + "v": "pubtime" + } + + ] + }, + { + "key": "mlid", + "name": "收藏分区", + "value": [ + ] + }], + + "频道": [{ + "key": "order", + "name": "排序", + "value": [ + + { + "n": "综合排序", + "v": "totalrank" + }, + + { + "n": "最新发布", + "v": "pubdate" + }, + + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最多收藏", + "v": "stow" + }, + + { + "n": "最多弹幕", + "v": "dm" + }, + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "5~30分钟", + "v": "2" + }, + { + "n": "5分钟以下", + "v": "1" + } + ] + }, {"key": "cid", "name": "分类", + "value": [{'n': '搞笑', 'v': '搞笑'}, {'n': '美食', 'v': '美食'}, {'n': '鬼畜', 'v': '鬼畜'}, + {'n': '美妆', 'v': '美妆'}, {'n': 'mmd', 'v': 'mmd'}, {'n': '科普', 'v': '科普'}, + {'n': 'COSPLAY', 'v': 'COSPLAY'}, {'n': '漫展', 'v': '漫展'}, {'n': 'MAD', 'v': 'MAD'}, + {'n': '手书', 'v': '手书'}, {'n': '穿搭', 'v': '穿搭'}, {'n': '发型', 'v': '发型'}, + {'n': '化妆教程', 'v': '化妆教程'}, {'n': '电音', 'v': '电音'}, {'n': '欧美音乐', 'v': '欧美音乐'}, + {'n': '中文翻唱', 'v': '中文翻唱'}, {'n': '洛天依', 'v': '洛天依'}, {'n': '翻唱', 'v': '翻唱'}, + {'n': '日文翻唱', 'v': '日文翻唱'}, {'n': '科普', 'v': '科普'}, {'n': '技术宅', 'v': '技术宅'}, + {'n': '历史', 'v': '历史'}, {'n': '科学', 'v': '科学'}, {'n': '人文', 'v': '人文'}, + {'n': '科幻', 'v': '科幻'}, {'n': '手机', 'v': '手机'}, {'n': '手机评测', 'v': '手机评测'}, + {'n': '电脑', 'v': '电脑'}, {'n': '摄影', 'v': '摄影'}, {'n': '笔记本', 'v': '笔记本'}, + {'n': '装机', 'v': '装机'}, {'n': '课堂教育', 'v': '课堂教育'}, {'n': '公开课', 'v': '公开课'}, + {'n': '演讲', 'v': '演讲'}, {'n': 'PS教程', 'v': 'PS教程'}, {'n': '编程', 'v': '编程'}, + {'n': '英语学习', 'v': '英语学习'}, {'n': '喵星人', 'v': '喵星人'}, {'n': '萌宠', 'v': '萌宠'}, + {'n': '汪星人', 'v': '汪星人'}, {'n': '大熊猫', 'v': '大熊猫'}, {'n': '柴犬', 'v': '柴犬'}, + {'n': '田园犬', 'v': '田园犬'}, {'n': '吱星人', 'v': '吱星人'}, {'n': '美食', 'v': '美食'}, + {'n': '甜点', 'v': '甜点'}, {'n': '吃货', 'v': '吃货'}, {'n': '厨艺', 'v': '厨艺'}, + {'n': '烘焙', 'v': '烘焙'}, {'n': '街头美食', 'v': '街头美食'}, + {'n': 'A.I.Channel', 'v': 'A.I.Channel'}, {'n': '虚拟UP主', 'v': '虚拟UP主'}, + {'n': '神楽めあ', 'v': '神楽めあ'}, {'n': '白上吹雪', 'v': '白上吹雪'}, {'n': '婺源', 'v': '婺源'}, + {'n': 'hololive', 'v': 'hololive'}, {'n': 'EXO', 'v': 'EXO'}, + {'n': '防弹少年团', 'v': '防弹少年团'}, {'n': '肖战', 'v': '肖战'}, {'n': '王一博', 'v': '王一博'}, + {'n': '易烊千玺', 'v': '易烊千玺'}, {'n': '赵今麦', 'v': '赵今麦'}, {'n': '宅舞', 'v': '宅舞'}, + {'n': '街舞', 'v': '街舞'}, {'n': '舞蹈教学', 'v': '舞蹈教学'}, {'n': '明星舞蹈', 'v': '明星舞蹈'}, + {'n': '韩舞', 'v': '韩舞'}, {'n': '古典舞', 'v': '古典舞'}, {'n': '旅游', 'v': '旅游'}, + {'n': '绘画', 'v': '绘画'}, {'n': '手工', 'v': '手工'}, {'n': 'vlog', 'v': 'vlog'}, + {'n': 'DIY', 'v': 'DIY'}, {'n': '手绘', 'v': '手绘'}, {'n': '综艺', 'v': '综艺'}, + {'n': '国家宝藏', 'v': '国家宝藏'}, {'n': '脱口秀', 'v': '脱口秀'}, {'n': '日本综艺', 'v': '日本综艺'}, + {'n': '国内综艺', 'v': '国内综艺'}, {'n': '人类观察', 'v': '人类观察'}, {'n': '影评', 'v': '影评'}, + {'n': '电影解说', 'v': '电影解说'}, {'n': '影视混剪', 'v': '影视混剪'}, {'n': '影视剪辑', 'v': '影视剪辑'}, + {'n': '漫威', 'v': '漫威'}, {'n': '超级英雄', 'v': '超级英雄'}, {'n': '影视混剪', 'v': '影视混剪'}, + {'n': '影视剪辑', 'v': '影视剪辑'}, + {'n': '诸葛亮', 'v': '诸葛亮'}, {'n': '韩剧', 'v': '韩剧'}, {'n': '王司徒', 'v': '王司徒'}, + {'n': '泰剧', 'v': '泰剧'}, + {'n': '郭德纲', 'v': '郭德纲'}, {'n': '相声', 'v': '相声'}, {'n': '张云雷', 'v': '张云雷'}, + {'n': '秦霄贤', 'v': '秦霄贤'}, {'n': '孟鹤堂', 'v': '孟鹤堂'}, {'n': '岳云鹏', 'v': '岳云鹏'}, + {'n': '假面骑士', 'v': '假面骑士'}, {'n': '特摄', 'v': '特摄'}, {'n': '奥特曼', 'v': '奥特曼'}, + {'n': '迪迦奥特曼', 'v': '迪迦奥特曼'}, {'n': '超级战队', 'v': '超级战队'}, {'n': '铠甲勇士', 'v': '铠甲勇士'}, + {'n': '健身', 'v': '健身'}, {'n': '篮球', 'v': '篮球'}, {'n': '体育', 'v': '体育'}, + {'n': '帕梅拉', 'v': '帕梅拉'}, {'n': '极限运动', 'v': '极限运动'}, {'n': '足球', 'v': '足球'}, + {'n': '星海', 'v': '星海'}, {'n': '张召忠', 'v': '张召忠'}, {'n': '航母', 'v': '航母'}, + {'n': '航天', 'v': '航天'}, {'n': '导弹', 'v': '导弹'}, {'n': '战斗机', 'v': '战斗机'}] + } + ], + } + } + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + + def localProxy(self, param): + + return [200, "video/MP2T", action, ""] diff --git a/TVBox_PY/py_bilifanju.py b/TVBox_PY/py_bilifanju.py new file mode 100644 index 0000000..43b7653 --- /dev/null +++ b/TVBox_PY/py_bilifanju.py @@ -0,0 +1,214 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +from requests import session, utils +import os +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "B站影视" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "番剧": "1", + "国创": "4", + "电影": "2", + "综艺": "7", + "电视剧": "5", + "纪录片": "3" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + cookies = '' + def getCookie(self): + #在cookies_str中填入会员或大会员cookie,以获得更好的体验 + cookies_str = "innersign=0; buvid3=606BE156-AE37-AEA8-7052-9DA0B21766E776404infoc; b_nut=1663302976; i-wanna-go-back=-1; b_ut=7; b_lsid=4106252F6_18344933A90; _uuid=586AAEB7-6B88-A691-F7AC-95C27E57F53C43036infoc; buvid4=B6FF1449-4361-1C76-DEFC-4AFCA1777B7E78304-022091612-PdJr0jKE6N5TamfAEX9uACD1RXvklspbNdlcIQEFLMu0d9wS3G3sdA%3D%3D; buvid_fp=2a9b54d5e06aa54293dc7544e000552d" + cookies_dic = dict([co.strip().split('=') for co in cookies_str.split(';')]) + rsp = session() + cookies_jar = utils.cookiejar_from_dict(cookies_dic) + rsp.cookies = cookies_jar + content = self.fetch("http://api.bilibili.com/x/web-interface/nav", cookies=rsp.cookies) + res = json.loads(content.text) + if res["code"] == 0: + self.cookies = rsp.cookies + else: + rsp = self.fetch("https://www.bilibili.com/") + self.cookies = rsp.cookies + return rsp.cookies + + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://api.bilibili.com/pgc/season/index/result?order=2&season_status=-1&style_id=-1&sort=0&area=-1&pagesize=20&type=1&st={0}&season_type={0}&page={1}'.format(tid,pg) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'].strip() + img = vod['cover'].strip() + remark = vod['index_show'].strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def cleanSpace(self,str): + return str.replace('\n','').replace('\t','').replace('\r','').replace(' ','') + def detailContent(self,array): + aid = array[0] + url = "http://api.bilibili.com/pgc/view/web/season?season_id={0}".format(aid) + rsp = self.fetch(url,headers=self.header) + jRoot = json.loads(rsp.text) + jo = jRoot['result'] + id = jo['season_id'] + title = jo['title'] + pic = jo['cover'] + areas = jo['areas'][0]['name'] + typeName = jo['share_sub_title'] + dec = jo['evaluate'] + remark = jo['new_ep']['desc'] + vod = { + "vod_id":id, + "vod_name":title, + "vod_pic":pic, + "type_name":typeName, + "vod_year":"", + "vod_area":areas, + "vod_remarks":remark, + "vod_actor":"", + "vod_director":"", + "vod_content":dec + } + ja = jo['episodes'] + playUrl = '' + for tmpJo in ja: + eid = tmpJo['id'] + cid = tmpJo['cid'] + part = tmpJo['title'].replace("#", "-") + playUrl = playUrl + '{0}${1}_{2}#'.format(part, eid, cid) + + vod['vod_play_from'] = 'B站影视' + vod['vod_play_url'] = playUrl + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=media_bangumi&keyword={0}'.format(key) # 番剧搜索 + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + rs = jo['data'] + if rs['numResults'] == 0: + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=media_ft&keyword={0}'.format(key) # 影视搜索 + rspRetry = self.fetch(url, cookies=self.cookies) + content = rspRetry.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['eps'][0]['cover'].strip() + remark = vod['index_show'] + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + + def playerContent(self,flag,id,vipFlags): + result = {} + ids = id.split("_") + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + url = 'https://api.bilibili.com/pgc/player/web/playurl?qn=116&ep_id={0}&cid={1}'.format(ids[0],ids[1]) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url,cookies=self.cookies,headers=header) + jRoot = json.loads(rsp.text) + if jRoot['message'] != 'success': + print("需要大会员权限才能观看") + return {} + jo = jRoot['result'] + ja = jo['durl'] + maxSize = -1 + position = -1 + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer":"https://www.bilibili.com", + "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_bilimd.py b/TVBox_PY/py_bilimd.py new file mode 100644 index 0000000..43b7653 --- /dev/null +++ b/TVBox_PY/py_bilimd.py @@ -0,0 +1,214 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +from requests import session, utils +import os +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "B站影视" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "番剧": "1", + "国创": "4", + "电影": "2", + "综艺": "7", + "电视剧": "5", + "纪录片": "3" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + cookies = '' + def getCookie(self): + #在cookies_str中填入会员或大会员cookie,以获得更好的体验 + cookies_str = "innersign=0; buvid3=606BE156-AE37-AEA8-7052-9DA0B21766E776404infoc; b_nut=1663302976; i-wanna-go-back=-1; b_ut=7; b_lsid=4106252F6_18344933A90; _uuid=586AAEB7-6B88-A691-F7AC-95C27E57F53C43036infoc; buvid4=B6FF1449-4361-1C76-DEFC-4AFCA1777B7E78304-022091612-PdJr0jKE6N5TamfAEX9uACD1RXvklspbNdlcIQEFLMu0d9wS3G3sdA%3D%3D; buvid_fp=2a9b54d5e06aa54293dc7544e000552d" + cookies_dic = dict([co.strip().split('=') for co in cookies_str.split(';')]) + rsp = session() + cookies_jar = utils.cookiejar_from_dict(cookies_dic) + rsp.cookies = cookies_jar + content = self.fetch("http://api.bilibili.com/x/web-interface/nav", cookies=rsp.cookies) + res = json.loads(content.text) + if res["code"] == 0: + self.cookies = rsp.cookies + else: + rsp = self.fetch("https://www.bilibili.com/") + self.cookies = rsp.cookies + return rsp.cookies + + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://api.bilibili.com/pgc/season/index/result?order=2&season_status=-1&style_id=-1&sort=0&area=-1&pagesize=20&type=1&st={0}&season_type={0}&page={1}'.format(tid,pg) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'].strip() + img = vod['cover'].strip() + remark = vod['index_show'].strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def cleanSpace(self,str): + return str.replace('\n','').replace('\t','').replace('\r','').replace(' ','') + def detailContent(self,array): + aid = array[0] + url = "http://api.bilibili.com/pgc/view/web/season?season_id={0}".format(aid) + rsp = self.fetch(url,headers=self.header) + jRoot = json.loads(rsp.text) + jo = jRoot['result'] + id = jo['season_id'] + title = jo['title'] + pic = jo['cover'] + areas = jo['areas'][0]['name'] + typeName = jo['share_sub_title'] + dec = jo['evaluate'] + remark = jo['new_ep']['desc'] + vod = { + "vod_id":id, + "vod_name":title, + "vod_pic":pic, + "type_name":typeName, + "vod_year":"", + "vod_area":areas, + "vod_remarks":remark, + "vod_actor":"", + "vod_director":"", + "vod_content":dec + } + ja = jo['episodes'] + playUrl = '' + for tmpJo in ja: + eid = tmpJo['id'] + cid = tmpJo['cid'] + part = tmpJo['title'].replace("#", "-") + playUrl = playUrl + '{0}${1}_{2}#'.format(part, eid, cid) + + vod['vod_play_from'] = 'B站影视' + vod['vod_play_url'] = playUrl + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=media_bangumi&keyword={0}'.format(key) # 番剧搜索 + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + rs = jo['data'] + if rs['numResults'] == 0: + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=media_ft&keyword={0}'.format(key) # 影视搜索 + rspRetry = self.fetch(url, cookies=self.cookies) + content = rspRetry.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['eps'][0]['cover'].strip() + remark = vod['index_show'] + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + + def playerContent(self,flag,id,vipFlags): + result = {} + ids = id.split("_") + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + url = 'https://api.bilibili.com/pgc/player/web/playurl?qn=116&ep_id={0}&cid={1}'.format(ids[0],ids[1]) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url,cookies=self.cookies,headers=header) + jRoot = json.loads(rsp.text) + if jRoot['message'] != 'success': + print("需要大会员权限才能观看") + return {} + jo = jRoot['result'] + ja = jo['durl'] + maxSize = -1 + position = -1 + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer":"https://www.bilibili.com", + "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_bilimy.py b/TVBox_PY/py_bilimy.py new file mode 100644 index 0000000..bfda54e --- /dev/null +++ b/TVBox_PY/py_bilimy.py @@ -0,0 +1,216 @@ +# coding=utf-8 +# !/usr/bin/python +import sys + +sys.path.append('..') +from base.spider import Spider +import json +from requests import session, utils +import os +import time +import base64 + + +class Spider(Spider): + box_video_type = '' + + def getDependence(self): + return ['py_bilibili'] + + def getName(self): + return "我的哔哩" + + def init(self, extend=""): + self.bilibili = extend[0] + print("============{0}============".format(extend)) + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def homeContent(self, filter): + result = {} + cateManual = { + # ————————以下可自定义关键词,结果以搜索方式展示———————— + "宅舞": "宅舞", + "cosplay": "cosplay", + "周杰伦": "周杰伦", + "狗狗": "汪星人", + "猫咪": "喵星人", + "请自定义关键词": "美女", + # ————————以下可自定义UP主,冒号后须填写UID———————— + "徐云流浪中国": "697166795", + # "虫哥说电影": "29296192", + + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + result['class'] = classes + if (filter): + filters = {} + for lk in cateManual: + if not cateManual[lk].isdigit(): + link = cateManual[lk] + filters.update({ + link: [{"key": "order", "name": "排序", + "value": [{"n": "综合排序", "v": "totalrank"}, {"n": "最新发布", "v": "pubdate"}, + {"n": "最多点击", "v": "click"}, {"n": "最多收藏", "v": "stow"}, + {"n": "最多弹幕", "v": "dm"}, ]}, + {"key": "duration", "name": "时长", + "value": [{"n": "全部", "v": "0"}, {"n": "60分钟以上", "v": "4"}, + {"n": "30~60分钟", "v": "3"}, {"n": "5~30分钟", "v": "2"}, + {"n": "5分钟以下", "v": "1"}]}] + }) + result['filters'] = filters + return result + + # 用户cookies,请在py_bilibili里填写,此处不用改 + cookies = '' + + def getCookie(self): + self.cookies = self.bilibili.getCookie() + return self.cookies + + def homeVideoContent(self): + result = {} + return result + + def get_up_videos(self, tid, pg): + result = {} + url = 'https://api.bilibili.com/x/space/arc/search?mid={0}&pn={1}&ps=10'.format(tid, pg) + rsp = self.fetch(url, headers=self.header, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list']['vlist'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].strip().replace("", "").replace("", "") + img = vod['pic'].strip() + remark = "观看:" + self.bilibili.zh(vod['play']) + "  " + str(vod['length']).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def categoryContent(self, tid, pg, filter, extend): + self.box_video_type = "分区" + if tid.isdigit(): + return self.get_up_videos(tid, pg) + else: + result = self.bilibili.categoryContent(tid, pg, filter, extend) + return result + + def cleanSpace(self, str): + return str.replace('\n', '').replace('\t', '').replace('\r', '').replace(' ', '') + + def detailContent(self, array): + if self.box_video_type == "搜索": + mid = array[0] + # 获取UP主视频列表,ps后面为视频数量,默认为20,加快加载速度 + url = 'https://api.bilibili.com/x/space/arc/search?mid={0}&pn=1&ps=20'.format(mid) + rsp = self.fetch(url, headers=self.header) + content = rsp.text + jRoot = json.loads(content) + jo = jRoot['data']['list']['vlist'] + + url2 = "https://api.bilibili.com/x/web-interface/card?mid={0}".format(mid) + rsp2 = self.fetch(url2, headers=self.header) + jRoot2 = json.loads(rsp2.text) + jo2 = jRoot2['data']['card'] + name = jo2['name'].replace("", "").replace("", "") + pic = jo2['face'] + desc = jo2['Official']['desc'] + " " + jo2['Official']['title'] + vod = { + "vod_id": mid, + "vod_name": name + " " + "个人主页", + "vod_pic": pic, + "type_name": "最近投稿", + "vod_year": "", + "vod_area": "bilidanmu", + "vod_remarks": "", # 不会显示 + 'vod_tags': 'mv', # 不会显示 + "vod_actor": "粉丝数:" + self.bilibili.zh(jo2['fans']), + "vod_director": name, + "vod_content": desc + } + playUrl = '' + for tmpJo in jo: + eid = tmpJo['aid'] + url3 = "https://api.bilibili.com/x/web-interface/view?aid=%s" % str(eid) + rsp3 = self.fetch(url3) + jRoot3 = json.loads(rsp3.text) + cid = jRoot3['data']['cid'] + part = tmpJo['title'].replace("#", "-") + playUrl = playUrl + '{0}${1}_{2}#'.format(part, eid, cid) + + vod['vod_play_from'] = 'B站' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + else: + return self.bilibili.detailContent(array) + + def searchContent(self, key, quick): + self.box_video_type = "搜索" + if len(self.cookies) <= 0: + self.getCookie() + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=bili_user&keyword={0}'.format(key) + rsp = self.fetch(url, headers=self.header, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['mid']) # str(vod["res"][0]["aid"]) + title = "UP主:" + vod['uname'].strip() + " ☜" + key + img = 'https:' + vod['upic'].strip() + remark = "粉丝数" + self.bilibili.zh(vod['fans']) + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + + def playerContent(self, flag, id, vipFlags): + return self.bilibili.playerContent(flag, id, vipFlags) + + config = { + "player": {}, + "filter": { + } + } + + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + + def localProxy(self, param): + return [200, "video/MP2T", action, ""] diff --git a/TVBox_PY/py_bilivd.py b/TVBox_PY/py_bilivd.py new file mode 100644 index 0000000..f7100cf --- /dev/null +++ b/TVBox_PY/py_bilivd.py @@ -0,0 +1,231 @@ +# coding=utf-8 +# !/usr/bin/python +import sys + +sys.path.append('..') +from base.spider import Spider +import json +import requests +from requests import session, utils +import os +import time +import base64 + + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "哔哩" + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def homeContent(self, filter): + result = {} + cateManual = { + "Zard": "Zard", + "玩具汽车": "玩具汽车", + "儿童": "儿童", + "幼儿": "幼儿", + "儿童玩具": "儿童玩具", + "昆虫": "昆虫", + "动物世界": "动物世界", + "纪录片": "纪录片", + "相声小品": "相声小品", + "搞笑": "搞笑", + "假窗-白噪音": "窗+白噪音", + "演唱会": "演唱会" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + def homeVideoContent(self): + result = { + 'list': [] + } + return result + + cookies = '' + + def getCookie(self): + # 在cookies_str中填入会员或大会员cookie,以获得更好的体验。 + cookies_str = "innersign=0; buvid3=606BE156-AE37-AEA8-7052-9DA0B21766E776404infoc; b_nut=1663302976; i-wanna-go-back=-1; b_ut=7; b_lsid=4106252F6_18344933A90; _uuid=586AAEB7-6B88-A691-F7AC-95C27E57F53C43036infoc; buvid4=B6FF1449-4361-1C76-DEFC-4AFCA1777B7E78304-022091612-PdJr0jKE6N5TamfAEX9uACD1RXvklspbNdlcIQEFLMu0d9wS3G3sdA%3D%3D; buvid_fp=2a9b54d5e06aa54293dc7544e000552d" + cookies_dic = dict([co.strip().split('=') for co in cookies_str.split(';')]) + rsp = session() + cookies_jar = utils.cookiejar_from_dict(cookies_dic) + rsp.cookies = cookies_jar + content = self.fetch("http://api.bilibili.com/x/web-interface/nav", cookies=rsp.cookies) + res = json.loads(content.text) + if res["code"] == 0: + self.cookies = rsp.cookies + else: + rsp = self.fetch("https://www.bilibili.com/") + self.cookies = rsp.cookies + return rsp.cookies + + def categoryContent(self, tid, pg, filter, extend): + result = {} + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}&page={1}'.format(tid, pg) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = 'https:' + vod['pic'].strip() + remark = str(vod['duration']).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def cleanSpace(self, str): + return str.replace('\n', '').replace('\t', '').replace('\r', '').replace(' ', '') + + def detailContent(self, array): + aid = array[0] + url = "https://api.bilibili.com/x/web-interface/view?aid={0}".format(aid) + rsp = self.fetch(url, headers=self.header) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + title = jo['title'].replace("", "").replace("", "") + pic = jo['pic'] + desc = jo['desc'] + timeStamp = jo['pubdate'] + timeArray = time.localtime(timeStamp) + year = str(time.strftime("%Y", timeArray)) + dire = jo['owner']['name'] + typeName = jo['tname'] + remark = str(jo['duration']).strip() + vod = { + "vod_id": aid, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": year, + "vod_area": "", + "vod_remarks": remark, + "vod_actor": "", + "vod_director": dire, + "vod_content": desc + } + ja = jo['pages'] + playUrl = '' + for tmpJo in ja: + cid = tmpJo['cid'] + part = tmpJo['part'].replace("#", "-") + playUrl = playUrl + '{0}${1}_{2}#'.format(part, aid, cid) + + vod['vod_play_from'] = 'B站视频' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword={0}'.format(key) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies,headers=header) + content = rsp.text + jo = json.loads(content) + if jo['code'] != 0: + rspRetry = self.fetch(url, cookies=self.getCookie()) + content = rspRetry.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + for vod in vodList: + aid = str(vod['aid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = 'https:' + vod['pic'].strip() + remark = str(vod['duration']).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + + def playerContent(self, flag, id, vipFlags): + result = {} + + ids = id.split("_") + url = 'https://api.bilibili.com:443/x/player/playurl?avid={0}&cid={1}&qn=116'.format(ids[0], ids[1]) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + ja = jo['durl'] + + maxSize = -1 + position = -1 + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer": "https://www.bilibili.com", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self, param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_biliys.py b/TVBox_PY/py_biliys.py new file mode 100644 index 0000000..d19b4a5 --- /dev/null +++ b/TVBox_PY/py_biliys.py @@ -0,0 +1,541 @@ +# coding=utf-8 +# !/usr/bin/python +import sys + +sys.path.append('..') +from base.spider import Spider +import json +from requests import session, utils +import os +import time +import base64 + + +class Spider(Spider): + def getDependence(self): + return ['py_bilibili'] + + def getName(self): + return "哔哩影视" + + def init(self, extend=""): + self.bilibili = extend[0] + print("============{0}============".format(extend)) + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + # 主页 + def homeContent(self, filter): + result = {} + cateManual = { + "番剧": "1", + "国创": "4", + "电影": "2", + "电视剧": "5", + "纪录片": "3", + "综艺": "7", + "全部": "全部", + "追番": "追番", + "追剧": "追剧", + "时间表": "时间表", + # ————————以下可自定义关键字,结果以影视类搜索展示———————— + # "喜羊羊": "喜羊羊" + + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + # 用户cookies + cookies = '' + userid = '' + + def getCookie(self): + self.cookies = self.bilibili.getCookie() + self.userid = self.bilibili.userid + return self.cookies + + # 将超过10000的数字换成成以万和亿为单位 + def zh(self, num): + if int(num) >= 100000000: + p = round(float(num) / float(100000000), 1) + p = str(p) + '亿' + else: + if int(num) >= 10000: + p = round(float(num) / float(10000), 1) + p = str(p) + '万' + else: + p = str(num) + return p + + def homeVideoContent(self): + result = {} + videos = self.get_rank(1)['list'][0:5] + for i in [4, 2, 5, 3, 7]: + videos += self.get_rank2(i)['list'][0:5] + result['list'] = videos + return result + + def get_rank(self, tid): + result = {} + url = 'https://api.bilibili.com/pgc/web/rank/list?season_type={0}&day=3'.format(tid) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['result']['list'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'].strip() + img = vod['cover'].strip() + remark = vod['new_ep']['index_show'] + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_rank2(self, tid): + result = {} + url = 'https://api.bilibili.com/pgc/season/rank/web/list?season_type={0}&day=3'.format(tid) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'].strip() + img = vod['cover'].strip() + remark = vod['new_ep']['index_show'] + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_zhui(self, pg, mode): + result = {} + if len(self.cookies) <= 0: + self.getCookie() + url = 'https://api.bilibili.com/x/space/bangumi/follow/list?type={2}&follow_status=0&pn={1}&ps=10&vmid={0}'.format(self.userid, pg, mode) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'] + img = vod['cover'].strip() + remark = vod['new_ep']['index_show'].strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_all(self, tid, pg, order, season_status, extend): + result = {} + if len(self.cookies) <= 0: + self.getCookie() + url = 'https://api.bilibili.com/pgc/season/index/result?order={2}&pagesize=10&type=1&season_type={0}&page={1}&season_status={3}'.format(tid, pg, order, season_status) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'] + img = vod['cover'].strip() + remark = vod['index_show'].strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_timeline(self, tid, pg): + result = {} + url = 'https://api.bilibili.com/pgc/web/timeline/v2?season_type={0}&day_before=2&day_after=4'.format(tid) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos1 = [] + vodList = jo['result']['latest'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = vod['title'].strip() + img = vod['cover'].strip() + remark = vod['pub_index'] + ' ' + vod['follows'].replace('系列', '') + videos1.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + videos2 = [] + for i in range(0, 7): + vodList = jo['result']['timeline'][i]['episodes'] + for vod in vodList: + if str(vod['published']) == "0": + aid = str(vod['season_id']).strip() + title = str(vod['title']).strip() + img = str(vod['cover']).strip() + date = str(time.strftime("%m-%d %H:%M", time.localtime(vod['pub_ts']))) + remark = date + " " + vod['pub_index'] + videos2.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos2 + videos1 + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + if len(self.cookies) <= 0: + self.getCookie() + if tid == "1": + return self.get_rank(tid=tid) + elif tid in {"2", "3", "4", "5", "7"}: + return self.get_rank2(tid=tid) + elif tid == "全部": + tid = '1' # 全部界面默认展示最多播放的番剧 + order = '2' + season_status = '-1' + if 'tid' in extend: + tid = extend['tid'] + if 'order' in extend: + order = extend['order'] + if 'season_status' in extend: + season_status = extend['season_status'] + return self.get_all(tid, pg, order, season_status, extend) + elif tid == "追番": + return self.get_zhui(pg, 1) + elif tid == "追剧": + return self.get_zhui(pg, 2) + elif tid == "时间表": + tid = 1 + if 'tid' in extend: + tid = extend['tid'] + return self.get_timeline(tid, pg) + else: + result = self.searchContent(key=tid, quick="false") + return result + + def cleanSpace(self, str): + return str.replace('\n', '').replace('\t', '').replace('\r', '').replace(' ', '') + + def detailContent(self, array): + aid = array[0] + url = "https://api.bilibili.com/pgc/view/web/season?season_id={0}".format(aid) + rsp = self.fetch(url, headers=self.header) + jRoot = json.loads(rsp.text) + jo = jRoot['result'] + id = jo['season_id'] + title = jo['title'] + pic = jo['cover'] + # areas = jo['areas']['name'] 改bilidanmu显示弹幕 + typeName = jo['share_sub_title'] + date = jo['publish']['pub_time'][0:4] + dec = jo['evaluate'] + remark = jo['new_ep']['desc'] + stat = jo['stat'] + # 演员和导演框展示视频状态,包括以下内容: + status = "弹幕: " + self.zh(stat['danmakus']) + " 点赞: " + self.zh(stat['likes']) + " 投币: " + self.zh( + stat['coins']) + " 追番追剧: " + self.zh(stat['favorites']) + if 'rating' in jo: + score = "评分: " + str(jo['rating']['score']) + ' ' + jo['subtitle'] + else: + score = "暂无评分" + ' ' + jo['subtitle'] + vod = { + "vod_id": id, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": date, + "vod_area": "bilidanmu", + "vod_remarks": remark, + "vod_actor": status, + "vod_director": score, + "vod_content": dec + } + ja = jo['episodes'] + playUrl = '' + for tmpJo in ja: + aid = tmpJo['aid'] + cid = tmpJo['cid'] + part = tmpJo['title'].replace("#", "-") + playUrl = playUrl + '{0}${1}_{2}#'.format(part, aid, cid) + + vod['vod_play_from'] = 'B站' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + if len(self.cookies) <= 0: + self.getCookie() + url1 = 'https://api.bilibili.com/x/web-interface/search/type?search_type=media_bangumi&keyword={0}'.format( + key) # 番剧搜索 + rsp1 = self.fetch(url1, cookies=self.cookies) + content1 = rsp1.text + jo1 = json.loads(content1) + rs1 = jo1['data'] + url2 = 'https://api.bilibili.com/x/web-interface/search/type?search_type=media_ft&keyword={0}'.format( + key) # 影视搜索 + rsp2 = self.fetch(url2, cookies=self.cookies) + content2 = rsp2.text + jo2 = json.loads(content2) + rs2 = jo2['data'] + videos = [] + if rs1['numResults'] == 0: + vodList = jo2['data']['result'] + elif rs2['numResults'] == 0: + vodList = jo1['data']['result'] + else: + vodList = jo1['data']['result'] + jo2['data']['result'] + for vod in vodList: + aid = str(vod['season_id']).strip() + title = key + '➢' + vod['title'].strip().replace("", "").replace("", "") + img = vod['cover'].strip() # vod['eps'][0]['cover'].strip()原来的错误写法 + remark = vod['index_show'] + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + + def playerContent(self, flag, id, vipFlags): + result = {} + ids = id.split("_") + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + url = 'https://api.bilibili.com/pgc/player/web/playurl?qn=116&aid={0}&cid={1}'.format(ids[0], ids[1]) + if len(self.cookies) <= 0: + self.getCookie() + self.bilibili.post_history(ids[0], ids[1]) # 回传播放历史记录 + rsp = self.fetch(url, cookies=self.cookies, headers=header) + jRoot = json.loads(rsp.text) + if jRoot['message'] != 'success': + print("需要大会员权限才能观看") + return {} + jo = jRoot['result'] + ja = jo['durl'] + maxSize = -1 + position = -1 + for i in range(len(ja)): + tmpJo = ja[i] + if maxSize < int(tmpJo['size']): + maxSize = int(tmpJo['size']) + position = i + + url = '' + if len(ja) > 0: + if position == -1: + position = 0 + url = ja[position]['url'] + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer": "https://www.bilibili.com", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": { + "全部": [ + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "番剧", + "v": "1" + }, + { + "n": "国创", + "v": "4" + }, + + { + "n": "电影", + "v": "2" + }, + { + "n": "电视剧", + "v": "5" + }, + { + "n": "记录片", + "v": "3" + }, + { + "n": "综艺", + "v": "7" + } + + ] + }, + { + "key": "order", + "name": "排序", + "value": [ + + { + "n": "播放数量", + "v": "2" + }, + + { + "n": "更新时间", + "v": "0" + }, + + { + "n": "最高评分", + "v": "4" + }, + { + "n": "弹幕数量", + "v": "1" + }, + { + "n": "追看人数", + "v": "3" + }, + + { + "n": "开播时间", + "v": "5" + }, + { + "n": "上映时间", + "v": "6" + }, + + ] + }, + { + "key": "season_status", + "name": "付费", + "value": [ + { + "n": "全部", + "v": "-1" + }, + { + "n": "免费", + "v": "1" + }, + + { + "n": "付费", + "v": "2%2C6" + }, + + { + "n": "大会员", + "v": "4%2C6" + }, + + ] + }, + ], + + + "时间表": [{ + "key": "tid", + "name": "分类", + "value": [ + + { + "n": "番剧", + "v": "1" + }, + + { + "n": "国创", + "v": "4" + }, + + ] + }, + ], + } + } + + + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + + def localProxy(self, param): + return [200, "video/MP2T", action, ""] diff --git a/TVBox_PY/py_bilizb.py b/TVBox_PY/py_bilizb.py new file mode 100644 index 0000000..7da84e4 --- /dev/null +++ b/TVBox_PY/py_bilizb.py @@ -0,0 +1,665 @@ +# coding=utf-8 +# !/usr/bin/python +import sys + +sys.path.append('..') +from base.spider import Spider +import json +import requests +from requests import session, utils +import time +import base64 + + +class Spider(Spider): + def getDependence(self): + return ['py_bilibili'] + + def getName(self): + return "哔哩直播" + + def homeContent(self, filter): + result = {} + cateManual = { + "推荐": "推荐", + "网游": "2", + "手游": "3", + "单机": "6", + "娱乐": "1", + "生活": "10", + "知识": "11", + "赛事": "13", + "电台": "5", + "虚拟": "9", + "我的关注": "我的关注", + "观看记录": "观看记录", + + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + # 用户cookies + cookies = '' + userid = '' + + def getCookie(self): + self.cookies = self.bilibili.getCookie() + return self.cookies + + def init(self, extend=""): + self.bilibili = extend[0] + print("============{0}============".format(extend)) + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + # 将超过10000的数字换成成以万和亿为单位 + def zh(self, num): + if int(num) >= 100000000: + p = round(float(num) / float(100000000), 1) + p = str(p) + '亿' + else: + if int(num) >= 10000: + p = round(float(num) / float(10000), 1) + p = str(p) + '万' + else: + p = str(num) + return p + + uname = '' + + def get_live_userInfo(self, uid): + url = 'https://api.live.bilibili.com/live_user/v1/Master/info?uid=%s' % uid + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + return jo['data']["info"]["uname"] + + def homeVideoContent(self): + return self.get_hot(1) + + def get_recommend(self, pg): + result = {} + url = 'https://api.live.bilibili.com/xlive/web-interface/v1/webMain/getList?platform=web&page=%s' % pg + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['recommend_room_list'] + for vod in vodList: + aid = str(vod['roomid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = vod['keyframe'].strip() + remark = vod['watched_show']['text_small'].strip() + " " + vod['uname'].strip() + videos.append({ + "vod_id": aid + '&live', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_hot(self, pg): + result = {} + url = 'https://api.live.bilibili.com/room/v1/room/get_user_recommend?page=%s' % pg + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data'] + for vod in vodList: + aid = str(vod['roomid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = vod['user_cover'].strip() + remark = vod['watched_show']['text_small'].strip() + " " + vod['uname'].strip() + videos.append({ + "vod_id": aid + '&live', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_live(self, pg, parent_area_id, area_id): + result = {} + url = 'https://api.live.bilibili.com/xlive/web-interface/v1/second/getList?platform=web&parent_area_id=%s&area_id=%s&sort_type=online&page=%s' % ( + parent_area_id, area_id, pg) + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['roomid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = vod.get('cover').strip() + remark = vod['watched_show']['text_small'].strip() + " " + vod['uname'].strip() + videos.append({ + "vod_id": aid + '&live', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_fav(self, pg): + result = {} + url = 'https://api.live.bilibili.com/xlive/web-ucenter/v1/xfetter/GetWebList?page=%s&page_size=10' % pg + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['rooms'] + for vod in vodList: + aid = str(vod['room_id']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = vod['cover_from_user'].strip() + remark = vod['uname'].strip() + videos.append({ + "vod_id": aid + '&live', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def get_history(self): + result = {} + url = 'https://api.bilibili.com/x/web-interface/history/cursor?ps=30&type=live' + rsp = self.fetch(url, cookies=self.cookies) + content = rsp.text + jo = json.loads(content) + if jo['code'] == 0: + videos = [] + vodList = jo['data']['list'] + for vod in vodList: + aid = str(vod['history']['oid']).strip() + title = vod['title'].replace("", "").replace("", "").replace(""", '"') + img = vod['cover'].strip() + remark = str(vod['live_status']).replace("0", "未开播").replace("1", "") +" " + vod['author_name'].strip() + videos.append({ + "vod_id": aid + '&live', + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = 1 + result['pagecount'] = 1 + result['limit'] = 90 + result['total'] = 999999 + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + if len(self.cookies) <= 0: + self.getCookie() + if tid.isdigit(): + parent_area_id = tid + area_id = 0 + if 'area_id' in extend: + area_id = extend['area_id'] + return self.get_live(pg=pg, parent_area_id=parent_area_id, area_id=area_id) + if tid == "推荐": + return self.get_recommend(pg) + if tid == "我的关注": + return self.get_fav(pg) + if tid == "观看记录": + return self.get_history() + return result + + def cleanSpace(self, str): + return str.replace('\n', '').replace('\t', '').replace('\r', '').replace(' ', '') + + def detailContent(self, array): + arrays = array[0].split("&") + aid = arrays[0] + url = "https://api.live.bilibili.com/room/v1/Room/get_info?room_id=%s" % aid + rsp = self.fetch(url, headers=self.header, cookies=self.cookies) + jRoot = json.loads(rsp.text) + if jRoot.get('code') == 0: + jo = jRoot['data'] + title = jo['title'].replace("", "").replace("", "") + pic = jo.get("user_cover") + desc = jo.get('description') + dire = self.get_live_userInfo(jo["uid"]) + typeName = jo.get("area_name") + live_status = str(jo.get('live_status')).replace("0", "未开播").replace("1", "").replace("2", "") + live_time = str(jo.get('live_time'))[5: 16] + remark = '在线人数:' + str(jo['online']).strip() + vod = { + "vod_id": aid, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": "", + "vod_area": "bilidanmu", + "vod_remarks": remark, + "vod_actor": "主播:" + dire + "  " + "房间号:" + aid + "  " + live_status, + "vod_director": "关注:" + self.zh(jo.get('attention')) + "  " + "开播时间:" + live_time, + "vod_content": desc, + } + playUrl = 'flv线路原画$platform=web&quality=4_' + aid + '#flv线路高清$platform=web&quality=3_' + aid + '#h5线路原画$platform=h5&quality=4_' + aid + '#h5线路高清$platform=h5&quality=3_' + aid + + vod['vod_play_from'] = 'B站' + vod['vod_play_url'] = playUrl + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + url = 'https://api.bilibili.com/x/web-interface/search/type?search_type=live&keyword={0}&page=1'.format(key) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies, headers=self.header) + content = rsp.text + jo = json.loads(content) + if jo['code'] != 0: + rspRetry = self.fetch(url, cookies=self.cookies, headers=self.header) + content = rspRetry.text + jo = json.loads(content) + videos1 = [] + if jo['data']['pageinfo']['live_room']['numResults'] != 0: + vodList = jo['data']['result']['live_room'] + for vod in vodList: + aid = str(vod['roomid']).strip() + title = vod['title'].strip() + "⇦" + key + img = 'https:' + vod['user_cover'].strip() + remark = vod['watched_show']['text_small'].strip() + " " + vod['uname'].strip() + videos1.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + videos2 = [] + if jo['data']['pageinfo']['live_user']['numResults'] != 0: + vodList = jo['data']['result']['live_user'] + for vod in vodList: + aid = str(vod['roomid']).strip() + title = vod['uname'].strip().replace("", "").replace("", "") + "⇦" + key + img = 'https:' + vod['uface'].strip() + remark = str(vod['live_status']).replace("0", "未开播").replace("1", "") + " 关注:" + self.zh(vod['attentions']) + videos2.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + videos = videos1 + videos2 + result = { + 'list': videos + } + return result + + def playerContent(self, flag, id, vipFlags): + result = {} + ids = id.split("_") + + url = 'https://api.live.bilibili.com/room/v1/Room/playUrl?cid=%s&%s' % (ids[1], ids[0]) + + # raise Exception(url) + if len(self.cookies) <= 0: + self.getCookie() + rsp = self.fetch(url, cookies=self.cookies) + jRoot = json.loads(rsp.text) + if jRoot['code'] == 0: + + jo = jRoot['data'] + ja = jo['durl'] + + url = '' + if len(ja) > 0: + url = ja[0]['url'] + + result["parse"] = 0 + # result['type'] ="m3u8" + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "Referer": "https://live.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + + if "h5" in ids[0]: + result["contentType"] = '' + else: + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": { + "1": [ + { + "key": "area_id", + "name": "全部分类", + "value": [ + { + "n": "舞见", + "v": "207" + }, + { + "n": "视频唱见", + "v": "21" + }, + { + "n": "萌宅领域", + "v": "530" + }, + + { + "n": "视频聊天", + "v": "145" + }, + + { + "n": "情感", + "v": "706" + }, + { + "n": "户外", + "v": "123" + }, + { + "n": "日常", + "v": "399" + }, + ] + }, + ], + "2": [ + { + "key": "area_id", + "name": "热门分类", + "value": [ + { + "n": "英雄联盟", + "v": "86" + }, + { + "n": "DOTA2", + "v": "92" + }, + { + "n": "CS:GO", + "v": "89" + }, + + { + "n": "APEX英雄", + "v": "240" + }, + + { + "n": "永劫无间", + "v": "666" + }, + { + "n": "穿越火线", + "v": "88" + }, + { + "n": "守望先锋", + "v": "87" + }, + ] + }, + ], + "3": [ + { + "key": "area_id", + "name": "热门分类", + "value": [ + { + "n": "王者荣耀", + "v": "35" + }, + { + "n": "和平精英", + "v": "256" + }, + { + "n": "LOL手游", + "v": "395" + }, + + { + "n": "原神", + "v": "321" + }, + + { + "n": "第五人格", + "v": "163" + }, + { + "n": "明日方舟", + "v": "255" + }, + { + "n": "哈利波特:魔法觉醒", + "v": "474" + }, + ] + }, + ], + "6": [ + { + "key": "area_id", + "name": "热门分类", + "value": [ + { + "n": "主机游戏", + "v": "236" + }, + { + "n": "战神", + "v": "579" + }, + { + "n": "我的世界", + "v": "216" + }, + + { + "n": "独立游戏", + "v": "283" + }, + + { + "n": "怀旧游戏", + "v": "237" + }, + { + "n": "大多数", + "v": "726" + }, + { + "n": "弹幕互动玩法", + "v": "460" + }, + ] + }, + ], + "5": [ + { + "key": "area_id", + "name": "全部分类", + "value": [ + { + "n": "唱见电台", + "v": "190" + }, + { + "n": "聊天电台", + "v": "192" + }, + { + "n": "配音", + "v": "193" + }, + ] + }, + ], + "9": [ + { + "key": "area_id", + "name": "全部分类", + "value": [ + { + "n": "虚拟主播", + "v": "371" + }, + { + "n": "3D虚拟主播", + "v": "697" + }, + ] + }, + ], + "10": [ + { + "key": "area_id", + "name": "全部分类", + "value": [ + { + "n": "生活分享", + "v": "646" + }, + { + "n": "运动", + "v": "628" + }, + { + "n": "搞笑", + "v": "624" + }, + + { + "n": "手工绘画", + "v": "627" + }, + + { + "n": "萌宠", + "v": "369" + }, + { + "n": "美食", + "v": "367" + }, + { + "n": "时尚", + "v": "378" + }, + { + "n": "影音馆", + "v": "33" + }, + ] + }, + ], + "11": [ + { + "key": "area_id", + "name": "全部分类", + "value": [ + { + "n": "社科法律心理", + "v": "376" + }, + { + "n": "人文历史", + "v": "702" + }, + { + "n": "校园学习", + "v": "372" + }, + + { + "n": "职场·技能", + "v": "377" + }, + + { + "n": "科技", + "v": "375" + }, + { + "n": "科学科普", + "v": "710" + }, + ] + }, + ], + "13": [ + { + "key": "area_id", + "name": "全部分类", + "value": [ + { + "n": "游戏赛事", + "v": "561" + }, + { + "n": "体育赛事", + "v": "562" + }, + { + "n": "赛事综合", + "v": "563" + }, + ] + }, + ], + } + } + header = { + "Referer": "https://www.bilibili.com", + "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + } + + def localProxy(self, param): + + return [200, "video/MP2T", action, ""] diff --git a/TVBox_PY/py_cctv.py b/TVBox_PY/py_cctv.py new file mode 100644 index 0000000..0fa51f2 --- /dev/null +++ b/TVBox_PY/py_cctv.py @@ -0,0 +1,149 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "央视" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "等着我": "TOPC1451378757637200", + "我爱发明": "TOPC1569314345479107", + "动物世界": "TOPC1451378967257534", + "探索发现": "TOPC1451557893544236", + "创新进行时": "TOPC1570875218228998", + "我爱发明2021": "TOPC1451557970755294", + "经典咏流传 第五季":"VIDAIiNbDQzOjE5mLl3T4t2B220403" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + extend['id'] = tid + extend['p'] = pg + filterParams = ["id", "p", "d"] + params = ["", "", ""] + for idx in range(len(filterParams)): + fp = filterParams[idx] + if fp in extend.keys(): + params[idx] = '{0}={1}'.format(filterParams[idx],extend[fp]) + suffix = '&'.join(params) + url = 'https://api.cntv.cn/NewVideo/getVideoListByColumn?{0}&n=20&sort=desc&mode=0&serviceId=tvcctv&t=json'.format(suffix) + if not tid.startswith('TOPC'): + url = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?{0}&n=20&sort=desc&mode=0&serviceId=tvcctv&t=json'.format(suffix) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['data']['list'] + videos = [] + for vod in vodList: + guid = vod['guid'] + title = vod['title'] + img = vod['image'] + brief = vod['brief'] + videos.append({ + "vod_id":guid+"###"+img, + "vod_name":title, + "vod_pic":img, + "vod_remarks":'' + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + aid = array[0].split('###') + tid = aid[0] + url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={0}".format(tid) + + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + title = jo['title'].strip() + link = jo['hls_url'].strip() + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":aid[1], + "type_name":'', + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":"" + } + vod['vod_play_from'] = 'CCTV' + vod['vod_play_url'] = title+"$"+link + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + result = {} + rsp = self.fetch(id,headers=self.header) + content = rsp.text.strip() + arr = content.split('\n') + urlPrefix = self.regStr(id,'(http[s]?://[a-zA-z0-9.]+)/') + + subUrl = arr[-1].split('/') + subUrl[3] = '1200' + subUrl[-1] = '1200.m3u8' + hdUrl = urlPrefix + '/'.join(subUrl) + + url = urlPrefix + arr[-1] + + hdRsp = self.fetch(hdUrl,headers=self.header) + if hdRsp.status_code == 200: + url = hdUrl + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {"TOPC1451557970755294": [{"key": "d", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}]}]} + } + header = { + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36" + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_cctv_1.py b/TVBox_PY/py_cctv_1.py new file mode 100644 index 0000000..552e394 --- /dev/null +++ b/TVBox_PY/py_cctv_1.py @@ -0,0 +1,227 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "央视" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { +"等着我": "TOPC1451378757637200", +"我爱发明": "TOPC1569314345479107", +"我爱发明2021": "TOPC1451557970755294", +"动物世界": "TOPC1451378967257534", +"自然传奇": "TOPC1451558150787467", +"探索发现": "TOPC1451557893544236", +"地理中国": "TOPC1451557421544786", +"人与自然": "TOPC1451525103989666", +"远方的家": "TOPC1451541349400938", +"动画大放映": "TOPC1451559025546574", +"动画乐园": "TOPC1451378857272262", +"动漫世界": "TOPC1451559448233349", +"新闻联播": "TOPC1451528971114112", +"焦点访谈": "TOPC1451558976694518", +"海峡两岸": "TOPC1451540328102649", +"今日关注": "TOPC1451540389082713", +"今日亚洲": "TOPC1451540448405749", +"今日环球": "TOPC1571034705435323", +"防务新观察": "TOPC1451526164984187", +"共同关注": "TOPC1451558858788377", +"深度国际": "TOPC1451540709098112", +"环球视线": "TOPC1451558926200436", +"世界周刊": "TOPC1451558687534149", +"东方时空": "TOPC1451558532019883", +"新闻调查": "TOPC1451558819463311", +"环球记者连线": "TOPC1451559225116905", +"中国舆论场": "TOPC1458109953138295", +"国际时讯": "TOPC1451558887804404", +"卢健访谈": "TOPC1609904361007481", +"新闻1+1": "TOPC1451559066181661", +"朝闻天下": "TOPC1451558496100826", +"新闻直播间": "TOPC1451559129520755", +"晚间新闻": "TOPC1451528792881669", +"第一时间": "TOPC1451530259915198", +"新闻30分": "TOPC1451559097947700", +"中国新闻": "TOPC1451539894330405", +"讲武堂": "TOPC1451526241359341", +"国宝发现": "TOPC1571034869935436", +"国宝档案": "TOPC1451540268188575", +"天下财经": "TOPC1451531385787654", +"央视财经评论": "TOPC1451538686034772", +"生财有道": "TOPC1451534118159896", +"中国经济大讲堂": "TOPC1514182710380601", +"正点财经": "TOPC1453100395512779", +"走进科学": "TOPC1451558190239536", +"解码科技史": "TOPC1570876640457386", +"法律讲堂": "TOPC1451542824484472", +"今日说法": "TOPC1451464665008914", +"一线": "TOPC1451543462858283", +"百家讲坛": "TOPC1451557052519584", +"名家书场": "TOPC1579401761622774", +"星光大道": "TOPC1451467630488780", +"非常6+1": "TOPC1451467940101208", +"中国节拍": "TOPC1570025984977611", +"一鸣惊人": "TOPC1451558692971175", +"金牌喜剧班": "TOPC1611826337610628", +"九州大戏台": "TOPC1451558399948678", +"乡村大舞台": "TOPC1563179546003162", +"家庭幽默大赛": "TOPC1451375222891702", +"综艺盛典": "TOPC1451985071887935", +"环球综艺": "TOPC1571300682556971", +"中国好歌曲": "TOPC1451984949453678", +"广场舞金曲": "TOPC1528685010104859", +"今日影评": "TOPC1470713254980521", +"聆听时刻": "TOPC1570026397101703", +"影视留声机": "TOPC1451542346007956", +"全球中文音乐榜": "TOPC1451542061864640", +"曲苑杂谈": "TOPC1451984417763860", +"锦绣梨园": "TOPC1451558363250650", +"梨园周刊": "TOPC1574909786070351", +"角儿来了": "TOPC1508747509633692", +"宝贝亮相吧": "TOPC1579401989187953", +"曲藏": "TOPC1597825254395109", +"外国人在中国": "TOPC1451541113743615", +"华人世界": "TOPC1451539822927345", +"动物传奇": "TOPC1451984181884527", +"武林大会": "TOPC1451551891055866", +"棋牌乐": "TOPC1451550531682936", +"天下足球": "TOPC1451551777876756", +"体育世界": "TOPC1451551371554333", +"健康之路": "TOPC1451557646802924", +"味道中国": "TOPC1482483166133803", +"美食中国": "TOPC1571034804976375", +"田间示范秀": "TOPC1563178908227191", +"三农群英会": "TOPC1600745974233265", +"乡村振兴面对面": "TOPC1568966531726705", +"超级新农人": "TOPC1597627647957699", +"印象乡村": "TOPC1563178734372977", +"农业气象": "TOPC1568949200635957", +"中国三农报道": "TOPC1600746045741952", +"大地讲堂": "TOPC1568966472372643", +"振兴路上": "TOPC1632709936747979", +"谁知盘中餐": "TOPC1568966325430648", +"我的美丽乡村": "TOPC1570787364956444", +"乡土中国": "TOPC1563178586782832", +"乡里乡亲": "TOPC1568966155566515"} + + + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + extend['id'] = tid + extend['p'] = pg + filterParams = ["id", "p", "d"] + params = ["", "", ""] + for idx in range(len(filterParams)): + fp = filterParams[idx] + if fp in extend.keys(): + params[idx] = '{0}={1}'.format(filterParams[idx],extend[fp]) + suffix = '&'.join(params) + url = 'https://api.cntv.cn/NewVideo/getVideoListByColumn?{0}&n=20&sort=desc&mode=0&serviceId=tvcctv&t=json'.format(suffix) + print(url) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['data']['list'] + videos = [] + for vod in vodList: + guid = vod['guid'] + title = vod['title'] + img = vod['image'] + brief = vod['brief'] + videos.append({ + "vod_id":guid+"###"+img, + "vod_name":title, + "vod_pic":img, + "vod_remarks":'' + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + aid = array[0].split('###') + tid = aid[0] + url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={0}".format(tid) + + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + title = jo['title'].strip() + link = jo['hls_url'].strip() + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":aid[1], + "type_name":'', + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":"" + } + vod['vod_play_from'] = 'CCTV' + vod['vod_play_url'] = title+"$"+link + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + result = {} + rsp = self.fetch(id,headers=self.header) + content = rsp.text.strip() + arr = content.split('\n') + urlPrefix = self.regStr(id,'(http[s]?://[a-zA-z0-9.]+)/') + url = urlPrefix + arr[-1] + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {"TOPC1451557970755294": [{"key": "d", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}]}]} + } + header = { + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36" + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] diff --git a/TVBox_PY/py_cctv_full.py b/TVBox_PY/py_cctv_full.py new file mode 100644 index 0000000..e716003 --- /dev/null +++ b/TVBox_PY/py_cctv_full.py @@ -0,0 +1,218 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "央视大全" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "央视大全": "CCTV" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + month = "" + year = "" + if 'month' in extend.keys(): + month = extend['month'] + if 'year' in extend.keys(): + year = extend['year'] + if year == '': + month = '' + prefix = year + month + extend['p'] = pg + filterMap = { + "fl":"", + "fc":"", + "cid":"", + "p":"1" + } + suffix = "" + for key in filterMap.keys(): + if key in extend.keys(): + filterMap[key] = extend[key] + suffix = suffix + '&' + key + '=' + filterMap[key] + url = 'https://api.cntv.cn/lanmu/columnSearch?{0}&n=20&serviceId=tvcctv&t=json'.format(suffix) + jo = self.fetch(url,headers=self.header).json() + vodList = jo['response']['docs'] + videos = [] + for vod in vodList: + lastVideo = vod['lastVIDE']['videoSharedCode'] + if len(lastVideo) == 0: + lastVideo = '_' + guid = prefix+'###'+vod['column_name']+'###'+lastVideo+'###'+vod['column_logo'] + # guid = prefix+'###'+vod['column_website']+'###'+vod['column_logo'] + title = vod['column_name'] + img = vod['column_logo'] + videos.append({ + "vod_id":guid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":'' + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + aid = array[0].split('###') + tid = aid[0] + logo = aid[3] + lastVideo = aid[2] + title = aid[1] + date = aid[0] + if lastVideo == '_': + return {} + + lastUrl = 'https://api.cntv.cn/video/videoinfoByGuid?guid={0}&serviceId=tvcctv'.format(lastVideo) + lastJo = self.fetch(lastUrl,headers=self.header).json() + topicId = lastJo['ctid'] + url = "https://api.cntv.cn/NewVideo/getVideoListByColumn?id={0}&d={1}&p=1&n=100&sort=desc&mode=0&serviceId=tvcctv&t=json".format(topicId,date) + jo = self.fetch(url,headers=self.header).json() + vodList = jo['data']['list'] + videoList = [] + for video in vodList: + videoList.append(video['title']+"$"+video['guid']) + if len(videoList) == 0: + return {} + if len(date) == 0: + date = time.strftime("%Y", time.localtime(time.time())) + vod = { + "vod_id":array[0], + "vod_name":date +" "+title, + "vod_pic":logo, + "type_name":lastJo['channel'], + "vod_year":date, + "vod_area":"", + "vod_remarks":date, + "vod_actor":"", + "vod_director":topicId, + "vod_content":"当前页面默认只展示最新100期的内容,可在分类页面选择年份和月份进行往期节目查看。年份和月份仅影响当前页面内容,不参与分类过滤。视频默认播放可以获取到的最高帧率。" + } + + vod['vod_play_from'] = 'CCTV' + vod['vod_play_url'] = "#".join(videoList) + result = { + 'list':[ + vod + ] + } + return result + # def detailContent(self,array): + # aid = array[0].split('###') + # tid = aid[0] + # logo = aid[2] + # webSite = aid[1] + # date = aid[0] + # rsp = self.fetch(webSite,headers=self.header) + # topicId = '' + # root = self.html(rsp.text) + # topicId = self.regStr(rsp.text,"(TOPC[0-9]{16})") + # title = root.xpath('.//title/text()')[0] + # if len(topicId) <= 0: + # return {} + # url = "https://api.cntv.cn/NewVideo/getVideoListByColumn?id={0}&d={1}&p=1&n=100&sort=desc&mode=0&serviceId=tvcctv&t=json".format(topicId,date) + # jo = self.fetch(url,headers=self.header).json() + # vodList = jo['data']['list'] + # videoList = [] + # for video in vodList: + # videoList.append(video['title']+"$"+video['guid']) + # if len(videoList) == 0: + # return {} + # if len(date) == 0: + # date = '近期' + # vod = { + # "vod_id":array[0], + # "vod_name":date +" "+title, + # "vod_pic":logo, + # "type_name":'', + # "vod_year":date, + # "vod_area":"", + # "vod_remarks":date, + # "vod_actor":"", + # "vod_director":"", + # "vod_content":"详情页面默认只展示最新100期的内容,可以在分类页面选择年份和月份进行往期节目查看。年份和月份仅影响视频详情内容,不参与分类过滤。视频默认播放最高帧率。" + # } + + # vod['vod_play_from'] = 'CCTV' + # vod['vod_play_url'] = "#".join(videoList) + # result = { + # 'list':[ + # vod + # ] + # } + # return result + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + result = {} + url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={0}".format(id) + jo = self.fetch(url,headers=self.header).json() + link = jo['hls_url'].strip() + rsp = self.fetch(link,headers=self.header) + content = rsp.text.strip() + arr = content.split('\n') + urlPrefix = self.regStr(link,'(http[s]?://[a-zA-z0-9.]+)/') + + subUrl = arr[-1].split('/') + subUrl[3] = '1200' + subUrl[-1] = '1200.m3u8' + hdUrl = urlPrefix + '/'.join(subUrl) + + url = urlPrefix + arr[-1] + + hdRsp = self.fetch(hdUrl,headers=self.header) + if hdRsp.status_code == 200: + url = hdUrl + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {"CCTV":[{"key":"cid","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"EPGC1386744804340101"},{"n":"CCTV-2财经","v":"EPGC1386744804340102"},{"n":"CCTV-3综艺","v":"EPGC1386744804340103"},{"n":"CCTV-4中文国际","v":"EPGC1386744804340104"},{"n":"CCTV-5体育","v":"EPGC1386744804340107"},{"n":"CCTV-6电影","v":"EPGC1386744804340108"},{"n":"CCTV-7国防军事","v":"EPGC1386744804340109"},{"n":"CCTV-8电视剧","v":"EPGC1386744804340110"},{"n":"CCTV-9纪录","v":"EPGC1386744804340112"},{"n":"CCTV-10科教","v":"EPGC1386744804340113"},{"n":"CCTV-11戏曲","v":"EPGC1386744804340114"},{"n":"CCTV-12社会与法","v":"EPGC1386744804340115"},{"n":"CCTV-13新闻","v":"EPGC1386744804340116"},{"n":"CCTV-14少儿","v":"EPGC1386744804340117"},{"n":"CCTV-15音乐","v":"EPGC1386744804340118"},{"n":"CCTV-16奥林匹克","v":"EPGC1634630207058998"},{"n":"CCTV-17农业农村","v":"EPGC1563932742616872"},{"n":"CCTV-5+体育赛事","v":"EPGC1468294755566101"}]},{"key":"fc","name":"分类","value":[{"n":"全部","v":""},{"n":"新闻","v":"新闻"},{"n":"体育","v":"体育"},{"n":"综艺","v":"综艺"},{"n":"健康","v":"健康"},{"n":"生活","v":"生活"},{"n":"科教","v":"科教"},{"n":"经济","v":"经济"},{"n":"农业","v":"农业"},{"n":"法治","v":"法治"},{"n":"军事","v":"军事"},{"n":"少儿","v":"少儿"},{"n":"动画","v":"动画"},{"n":"纪实","v":"纪实"},{"n":"戏曲","v":"戏曲"},{"n":"音乐","v":"音乐"},{"n":"影视","v":"影视"}]},{"key":"fl","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"month","name":"月份","value":[{"n":"全部","v":""},{"n":"12","v":"12"},{"n":"11","v":"11"},{"n":"10","v":"10"},{"n":"09","v":"09"},{"n":"08","v":"08"},{"n":"07","v":"07"},{"n":"06","v":"06"},{"n":"05","v":"05"},{"n":"04","v":"04"},{"n":"03","v":"03"},{"n":"02","v":"02"},{"n":"01","v":"01"}]}]} + } + header = { + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", + "Origin": "https://tv.cctv.com", + "Referer": "https://tv.cctv.com/" + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_changzhang.py b/TVBox_PY/py_changzhang.py new file mode 100644 index 0000000..73b8eab --- /dev/null +++ b/TVBox_PY/py_changzhang.py @@ -0,0 +1,244 @@ +# coding=utf-8 +# !/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import base64 +from Crypto.Cipher import AES + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "厂长资源" + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def homeContent(self, filter): + result = {} + cateManual = { + "豆瓣电影Top250": "dbtop250", + "最新电影": "zuixindianying", + "电视剧": "dsj", + "国产剧": "gcj", + "美剧": "meijutt", + "韩剧": "hanjutv", + "番剧": "fanju", + "动漫": "dm" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + result['class'] = classes + return result + + def homeVideoContent(self): + rsp = self.fetch("https://czspp.com") + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//div[@class='mi_btcon']//ul/li") + videos = [] + for a in aList: + name = a.xpath('./a/img/@alt')[0] + pic = a.xpath('./a/img/@data-original')[0] + mark = a.xpath("./div[@class='hdinfo']/span/text()")[0] + sid = a.xpath("./a/@href")[0] + sid = self.regStr(sid, "/movie/(\\S+).html") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result = { + 'list': videos + } + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + url = 'https://czspp.com/{0}/page/{1}'.format(tid, pg) + rsp = self.fetch(url) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//div[contains(@class,'mi_cont')]//ul/li") + videos = [] + for a in aList: + name = a.xpath('./a/img/@alt')[0] + pic = a.xpath('./a/img/@data-original')[0] + mark = a.xpath("./div[@class='hdinfo']/span/text()")[0] + sid = a.xpath("./a/@href")[0] + sid = self.regStr(sid, "/movie/(\\S+).html") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, array): + tid = array[0] + url = 'https://czspp.com/movie/{0}.html'.format(tid) + rsp = self.fetch(url) + root = self.html(self.cleanText(rsp.text)) + node = root.xpath("//div[@class='dyxingq']")[0] + pic = node.xpath(".//div[@class='dyimg fl']/img/@src")[0] + title = node.xpath('.//h1/text()')[0] + detail = root.xpath(".//div[@class='yp_context']//p/text()")[0] + vod = { + "vod_id": tid, + "vod_name": title, + "vod_pic": pic, + "type_name": "", + "vod_year": "", + "vod_area": "", + "vod_remarks": "", + "vod_actor": "", + "vod_director": "", + "vod_content": detail + } + infoArray = node.xpath(".//ul[@class='moviedteail_list']/li") + for info in infoArray: + content = info.xpath('string(.)') + if content.startswith('类型'): + tpyen = '' + for inf in info: + tn = inf.text + tpyen = tpyen +'/'+'{0}'.format(tn) + vod['type_name'] = tpyen.strip('/') + if content.startswith('地区'): + tpyeare = '' + for inf in info: + tn = inf.text + tpyeare = tpyeare +'/'+'{0}'.format(tn) + vod['vod_area'] = tpyeare.strip('/') + if content.startswith('豆瓣'): + vod['vod_remarks'] = content + if content.startswith('主演'): + tpyeact = '' + for inf in info: + tn = inf.text + tpyeact = tpyeact +'/'+'{0}'.format(tn) + vod['vod_actor'] = tpyeact.strip('/') + if content.startswith('导演'): + tpyedire = '' + for inf in info: + tn = inf.text + tpyedire = tpyedire +'/'+'{0}'.format(tn) + vod['vod_director'] = tpyedire .strip('/') + vod_play_from = '$$$' + playFrom = ['厂长'] + vod_play_from = vod_play_from.join(playFrom) + vod_play_url = '$$$' + playList = [] + vodList = root.xpath("//div[@class='paly_list_btn']") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('./text()')[0] + tId = self.regStr(href, '/v_play/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + url = 'https://czspp.com/xssearch?q={0}'.format(key) + rsp = self.fetch(url) + root = self.html(self.cleanText(rsp.text)) + vodList = root.xpath("//div[contains(@class,'mi_ne_kd')]/ul/li/a") + videos = [] + for vod in vodList: + name = vod.xpath('./img/@alt')[0] + pic = vod.xpath('./img/@data-original')[0] + href = vod.xpath('./@href')[0] + tid = self.regStr(href, 'movie/(\\S+).html') + res = vod.xpath('./div[@class="jidi"]/span/text()') + if len(res) == 0: + remark = '全1集' + else: + remark = vod.xpath('./div[@class="jidi"]/span/text()')[0] + videos.append({ + "vod_id": tid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + config = { + "player": {}, + "filter": {} + } + header = { + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36" + } + def parseCBC(self, enc, key, iv): + keyBytes = key.encode("utf-8") + ivBytes = iv.encode("utf-8") + cipher = AES.new(keyBytes, AES.MODE_CBC, ivBytes) + msg = cipher.decrypt(enc) + paddingLen = msg[len(msg) - 1] + return msg[0:-paddingLen] + + def playerContent(self, flag, id, vipFlags): + url = 'https://czspp.com/v_play/{0}.html'.format(id) + pat = '\\"([^\\"]+)\\";var [\\d\\w]+=function dncry.*md5.enc.Utf8.parse\\(\\"([\\d\\w]+)\\".*md5.enc.Utf8.parse\\(([\\d]+)\\)' + rsp = self.fetch(url) + html = rsp.text + content = self.regStr(html, pat) + if content == '': + return {} + key = self.regStr(html, pat, 2) + iv = self.regStr(html, pat, 3) + decontent = self.parseCBC(base64.b64decode(content), key, iv).decode() + urlPat = 'video: \\{url: \\\"([^\\\"]+)\\\"' + vttPat = 'subtitle: \\{url:\\\"([^\\\"]+\\.vtt)\\\"' + str3 = self.regStr(decontent, urlPat) + str4 = self.regStr(decontent, vttPat) + self.loadVtt(str3) + result = { + 'parse': '0', + 'playUrl': '', + 'url': str3, + 'header': '' + } + if len(str4) > 0: + result['subf'] = '/vtt/utf-8' + # result['subt'] = Proxy.localProxyUrl() + "?do=czspp&url=" + URLEncoder.encode(str4) + result['subt'] = '' + return result + + def loadVtt(self, url): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def localProxy(self, param): + action = {} + return [200, "video/MP2T", action, ""] diff --git a/TVBox_PY/py_chuangyi.py b/TVBox_PY/py_chuangyi.py new file mode 100644 index 0000000..a164d4c --- /dev/null +++ b/TVBox_PY/py_chuangyi.py @@ -0,0 +1,216 @@ +# coding=utf-8 +# !/usr/bin/python +import sys +import re +sys.path.append('..') +from base.spider import Spider +import urllib.parse + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "创艺影视" + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def homeContent(self, filter): + result = {} + cateManual = { + "电影": "1", + "剧集": "2", + "动漫": "4", + "综艺": "3", + "纪录片": "30" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + def homeVideoContent(self): + result = { + 'list': [] + } + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + header = {"User-Agent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"} + url = 'https://www.30dian.cn/vodtype/{0}-{1}.html'.format(tid, pg) + rsp = self.fetch(url,headers=header) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//div[@class='myui-panel myui-panel-bg clearfix']/div/div/ul/li") + videos = [] + for a in aList: + name = a.xpath('./div/a/@title')[0] + pic = a.xpath('./div/a/@data-original')[0] + mark = a.xpath("./div/a/span/span[@class='tag']/text()")[0] + sid = a.xpath("./div/a/@href")[0].replace("/", "").replace("voddetail", "").replace(".html", "") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 999 + result['limit'] = 5 + result['total'] = 9999 + return result + + def detailContent(self, array): + tid = array[0] + url = 'https://www.30dian.cn/voddetail/{0}.html'.format(tid) + header = {"User-Agent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"} + rsp = self.fetch(url,headers=header) + root = self.html(self.cleanText(rsp.text)) + divContent = root.xpath("//div[@class='col-lg-wide-75 col-md-wide-7 col-xs-1 padding-0']")[0] + title = divContent.xpath(".//div[@class='myui-content__detail']/h1/text()")[0] + pic = divContent.xpath(".//div[@class='myui-content__thumb']/a/img/@data-original")[0] + det = divContent.xpath(".//div[@class='col-pd text-collapse content']/span[@class='data']")[0] + if det.text is None: + detail = det.xpath(".//p/text()")[0] + else: + detail = det.text + vod = { + "vod_id": tid, + "vod_name": title, + "vod_pic": pic, + "type_name": "", + "vod_year": "", + "vod_area": "", + "vod_remarks": "", + "vod_actor": "", + "vod_director": "", + "vod_content": detail + } + infoArray = divContent.xpath(".//div[@class='myui-content__detail']/p[contains(@class,'data')]") + for info in infoArray: + content = info.xpath('string(.)') + flag = "分类" in content + if flag == True: + infon = content.replace("\t","").replace("\n","").strip().split('\r') + for inf in infon: + if inf.startswith('分类'): + vod['type_name'] = inf.replace("分类:", "") + if inf.startswith('地区'): + vod['vod_area'] = inf.replace("地区:", "") + if inf.startswith('年份'): + vod['vod_year'] = inf.replace("年份:", "") + if content.startswith('主演'): + vod['vod_actor'] = content.replace("\xa0", "/").replace("主演:", "").strip('/') + if content.startswith('更新'): + vod['vod_remarks'] = content.replace("更新:", "") + if content.startswith('导演'): + vod['vod_director'] = content.replace("\xa0", "").replace("导演:", "").strip('/') + + vod_play_from = '$$$' + playFrom = [] + vodHeader = divContent.xpath(".//div[@class='myui-panel_hd']/div/ul/li/a[contains(@href,'playlist')]/text()") + for v in vodHeader: + playFrom.append(v.replace(" ", "")) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = divContent.xpath(".//div[contains(@id,'playlist')]") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./ul/li/a') + if len(aList) <= 0: + name = '无法找到播放源' + tId = '00000' + vodItems.append(name + "$" + tId) + else: + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath("./text()")[0].replace(" ", "") + tId = self.regStr(href, '/vodplay/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + url = 'https://www.30dian.cn/vodsearch/-------------.html?wd={0}'.format(key) + header = { + "User-Agent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"} + rsp = self.fetch(url, headers=header) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//ul[contains(@class,'myui-vodlist__media clearfix')]/li") + videos = [] + for a in aList: + name = a.xpath(".//div[@class='detail']/h4/a/text()")[0] + pic = a.xpath(".//a[contains(@class,'myui-vodlist__thumb')]//@data-original")[0] + mark = a.xpath(".//span[@class='tag']/text()")[0] + sid = a.xpath(".//div[@class='detail']/h4/a/@href")[0] + sid = self.regStr(sid,'/voddetail/(\\S+).html') + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result = { + 'list': videos + } + return result + + def playerContent(self, flag, id, vipFlags): + result = {} + header = { + "User-Agent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"} + if id == '00000': + return {} + url = 'https://www.30dian.cn/vodplay/{0}.html'.format(id) + rsp = self.fetch(url,headers=header) + root = self.html(self.cleanText(rsp.text)) + scripts = root.xpath("//div[@class='embed-responsive clearfix']/script[@type='text/javascript']/text()")[0] + ukey = re.findall(r"url(.*)url_next", scripts)[0].replace('"', "").replace(',', "").replace(':', "") + purl = urllib.parse.unquote(ukey) + result["parse"] = 0 + result["playUrl"] = '' + result["url"] =purl + result["header"] = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def localProxy(self, param): + action = { + 'url': '', + 'header': '', + 'param': '', + 'type': 'string', + 'after': '' + } + return [200, "video/MP2T", action, ""] diff --git a/TVBox_PY/py_coke.py b/TVBox_PY/py_coke.py new file mode 100644 index 0000000..96bf2aa --- /dev/null +++ b/TVBox_PY/py_coke.py @@ -0,0 +1,232 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import requests +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "Cokemv" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def homeContent(self,filter): + result = {} + cateManual = { + "抖音电影":"5", + "电视剧":"2", + "电影":"1", + "动漫":"4", + "综艺":"3" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + rsp = self.fetch("https://cokemv.me/") + root = self.html(rsp.text) + aList = root.xpath("//div[@class='main']//div[contains(@class,'module-items')]/a") + + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('.//img/@data-original')[0] + mark = a.xpath(".//div[@class='module-item-note']/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/voddetail/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + + urlParams = ["", "", "", "", "", "", "", "", "", "", "", ""] + urlParams[0] = tid + urlParams[8] = pg + for key in extend: + urlParams[int(key)] = extend[key] + params = '-'.join(urlParams) + url = 'https://cokemv.me/vodshow/{0}.html'.format(params) + rsp = self.fetch(url) + root = self.html(rsp.text) + aList = root.xpath("//div[contains(@class, 'module-items')]/a") + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('.//img/@data-original')[0] + mark = a.xpath(".//div[contains(@class,'module-item-note')]/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/voddetail/(\\d+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'https://cokemv.me/voddetail/{0}.html'.format(tid) + rsp = self.fetch(url) + root = self.html(rsp.text) + divContent = root.xpath("//div[@class='module-info-main']")[0] + title = divContent.xpath('.//h1/text()')[0] + year = divContent.xpath('.//div/div/div[1]/a/text()')[0] + area = divContent.xpath('.//div/div/div[2]/a/text()')[0] + typ = divContent.xpath('.//div/div/div[3]/a/text()') + type = ', '.join(typ) + dir = divContent.xpath(".//div[@class='module-info-items']/div[2]/div[1]/a/text()")[0] + act = divContent.xpath(".//div[@class='module-info-items']/div[4]/div/a/text()") + actor = ', '.join(act) + pic = root.xpath(".//div[@class='module-poster-bg']//img/@data-original")[0] + detail = root.xpath(".//div[@class='module-info-introduction-content']/p/text()")[0] + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":pic, + "type_name":type, + "vod_year":year, + "vod_area":area, + "vod_remarks":"", + "vod_actor":actor, + "vod_director":dir, + "vod_content":detail + } + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath("//div[@class='module-tab-item tab-item']/span/text()") + for v in vodHeader: + playFrom.append(v) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = root.xpath("//div[@class='module-play-list']") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./div/a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('.//span/text()')[0] + tId = self.regStr(href,'/vodplay/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + + def verifyCode(self, url): + retry = 5 + header = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"} + while retry: + try: + session = requests.session() + img = session.get('https://cokemv.me/index.php/verify/index.html?', headers=header).content + code = session.post('https://api.nn.ci/ocr/b64/text', data=base64.b64encode(img).decode()).text + res = session.post(url=f"https://cokemv.me/index.php/ajax/verify_check?type=search&verify={code}", headers=header).json() + if res["msg"] == "ok": + return session + except Exception as e: + print(e) + finally: + retry = retry - 1 + + def searchContent(self, key, quick): + url = 'https://cokemv.me/vodsearch/-------------.html?wd={0}'.format(key) + session = self.verifyCode(url) + rsp = session.get(url) + root = self.html(rsp.text) + vodList = root.xpath("//div[@class='module-card-item module-item']/a[@class='module-card-item-poster']") + videos = [] + for vod in vodList: + name = vod.xpath(".//img/@alt")[0] + pic = vod.xpath(".//img/@data-original")[0] + mark = vod.xpath(".//div[@class='module-item-note']/text()")[0] + sid = vod.xpath("./@href")[0] + sid = self.regStr(sid,"/voddetail/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + + config = { + "player": {"cokemv0555":{"show":"COKEMV","des":"","ps":"0","parse":""},"cokeqie01":{"show":"極速路線","des":"","ps":"0","parse":""},"xin":{"show":"高速路線","des":"","ps":"0","parse":""},"90mm":{"show":"COKEMV(測試)","des":"","ps":"0","parse":""},"toutiao":{"show":"海外路線","des":"","ps":"0","parse":""},"age01":{"show":"動漫一線","des":"","ps":"0","parse":""},"mahua":{"show":"海外(禁國內)","des":"","ps":"0","parse":""},"age02":{"show":"動漫二線","des":"","ps":"0","parse":""}}, + "filter": {"5":[{"key":3,"name":"剧情","value":[{"n":"全部","v":""},{"n":"喜劇","v":"喜劇"},{"n":"愛情","v":"愛情"},{"n":"恐怖","v":"恐怖"},{"n":"動作","v":"動作"},{"n":"科幻","v":"科幻"},{"n":"劇情","v":"劇情"},{"n":"戰爭","v":"戰爭"},{"n":"犯罪","v":"犯罪"},{"n":"動畫","v":"動畫"},{"n":"奇幻","v":"奇幻"},{"n":"恐怖","v":"恐怖"},{"n":"懸疑","v":"懸疑"},{"n":"微電影","v":"微電影"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"國語","v":"國語"},{"n":"英語","v":"英語"},{"n":"粵語","v":"粵語"},{"n":" 閩南語","v":"閩南語"},{"n":"韓語","v":"韓語"},{"n":"日語","v":"日語"},{"n":"法語","v":"法語"},{"n":"德語","v":"德語"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}],"2":[{"key":0,"name":"类型","value":[{"n":"全部","v":"2"},{"n":"大陸劇","v":"13"},{"n":"香港劇","v":"14"},{"n":"韓國劇","v":"15"},{"n":"歐美劇","v":"16"},{"n":"日本劇","v":"20"},{"n":"台灣劇","v":"21"},{"n":"泰國劇","v":"22"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"韩国","v":"韩国"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"加拿大","v":"加拿大"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}],"1":[{"key":0,"name":"类型","value":[{"n":"全部","v":"1"},{"n":"動作片","v":"6"},{"n":"喜劇片","v":"7"},{"n":"愛情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"恐怖片","v":"10"},{"n":"劇情片","v":"11"},{"n":"戰爭片","v":"12"},{"n":"犯罪片","v":"23"},{"n":"奇幻片","v":"24"},{"n":"懸疑片","v":"25"},{"n":"記錄片","v":"27"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"韩国","v":"韩国"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"加拿大","v":"加拿大"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"法语","v":"法语"},{"n":"德语","v":"德语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}],"4":[{"key":0,"name":"类型","value":[{"n":"全部","v":"4"},{"n":"動畫電影","v":"41"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}],"3":[{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"韩国","v":" 韩国"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩 语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":" 时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}]} + } + header = { + "origin":"https://cokemv.me", + "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", + "Accept":" */*", + "Accept-Language":"zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7", + "Accept-Encoding":"gzip, deflate" + } + def playerContent(self,flag,id,vipFlags): + url = 'https://cokemv.me/vodplay/{0}.html'.format(id) + rsp = self.fetch(url) + root = self.html(rsp.text) + scripts = root.xpath("//script/text()") + jo = {} + result = {} + for script in scripts: + if(script.startswith("var player_")): + target = script[script.index('{'):] + jo = json.loads(target) + break; + parseUrl = "" + playerConfig = self.config['player'] + if jo['from'] in self.config['player']: + playerConfig = self.config['player'][jo['from']] + videoUrl = jo['url'] + playerUrl = playerConfig['parse'] + result["parse"] = playerConfig['ps'] + result["playUrl"] = playerUrl + result["url"] = videoUrl + result["header"] = json.dumps(self.header) + return result + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_cokemv.py b/TVBox_PY/py_cokemv.py new file mode 100644 index 0000000..96bf2aa --- /dev/null +++ b/TVBox_PY/py_cokemv.py @@ -0,0 +1,232 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import requests +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "Cokemv" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def homeContent(self,filter): + result = {} + cateManual = { + "抖音电影":"5", + "电视剧":"2", + "电影":"1", + "动漫":"4", + "综艺":"3" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + rsp = self.fetch("https://cokemv.me/") + root = self.html(rsp.text) + aList = root.xpath("//div[@class='main']//div[contains(@class,'module-items')]/a") + + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('.//img/@data-original')[0] + mark = a.xpath(".//div[@class='module-item-note']/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/voddetail/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + + urlParams = ["", "", "", "", "", "", "", "", "", "", "", ""] + urlParams[0] = tid + urlParams[8] = pg + for key in extend: + urlParams[int(key)] = extend[key] + params = '-'.join(urlParams) + url = 'https://cokemv.me/vodshow/{0}.html'.format(params) + rsp = self.fetch(url) + root = self.html(rsp.text) + aList = root.xpath("//div[contains(@class, 'module-items')]/a") + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('.//img/@data-original')[0] + mark = a.xpath(".//div[contains(@class,'module-item-note')]/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/voddetail/(\\d+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'https://cokemv.me/voddetail/{0}.html'.format(tid) + rsp = self.fetch(url) + root = self.html(rsp.text) + divContent = root.xpath("//div[@class='module-info-main']")[0] + title = divContent.xpath('.//h1/text()')[0] + year = divContent.xpath('.//div/div/div[1]/a/text()')[0] + area = divContent.xpath('.//div/div/div[2]/a/text()')[0] + typ = divContent.xpath('.//div/div/div[3]/a/text()') + type = ', '.join(typ) + dir = divContent.xpath(".//div[@class='module-info-items']/div[2]/div[1]/a/text()")[0] + act = divContent.xpath(".//div[@class='module-info-items']/div[4]/div/a/text()") + actor = ', '.join(act) + pic = root.xpath(".//div[@class='module-poster-bg']//img/@data-original")[0] + detail = root.xpath(".//div[@class='module-info-introduction-content']/p/text()")[0] + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":pic, + "type_name":type, + "vod_year":year, + "vod_area":area, + "vod_remarks":"", + "vod_actor":actor, + "vod_director":dir, + "vod_content":detail + } + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath("//div[@class='module-tab-item tab-item']/span/text()") + for v in vodHeader: + playFrom.append(v) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = root.xpath("//div[@class='module-play-list']") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./div/a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('.//span/text()')[0] + tId = self.regStr(href,'/vodplay/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + + def verifyCode(self, url): + retry = 5 + header = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"} + while retry: + try: + session = requests.session() + img = session.get('https://cokemv.me/index.php/verify/index.html?', headers=header).content + code = session.post('https://api.nn.ci/ocr/b64/text', data=base64.b64encode(img).decode()).text + res = session.post(url=f"https://cokemv.me/index.php/ajax/verify_check?type=search&verify={code}", headers=header).json() + if res["msg"] == "ok": + return session + except Exception as e: + print(e) + finally: + retry = retry - 1 + + def searchContent(self, key, quick): + url = 'https://cokemv.me/vodsearch/-------------.html?wd={0}'.format(key) + session = self.verifyCode(url) + rsp = session.get(url) + root = self.html(rsp.text) + vodList = root.xpath("//div[@class='module-card-item module-item']/a[@class='module-card-item-poster']") + videos = [] + for vod in vodList: + name = vod.xpath(".//img/@alt")[0] + pic = vod.xpath(".//img/@data-original")[0] + mark = vod.xpath(".//div[@class='module-item-note']/text()")[0] + sid = vod.xpath("./@href")[0] + sid = self.regStr(sid,"/voddetail/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + + config = { + "player": {"cokemv0555":{"show":"COKEMV","des":"","ps":"0","parse":""},"cokeqie01":{"show":"極速路線","des":"","ps":"0","parse":""},"xin":{"show":"高速路線","des":"","ps":"0","parse":""},"90mm":{"show":"COKEMV(測試)","des":"","ps":"0","parse":""},"toutiao":{"show":"海外路線","des":"","ps":"0","parse":""},"age01":{"show":"動漫一線","des":"","ps":"0","parse":""},"mahua":{"show":"海外(禁國內)","des":"","ps":"0","parse":""},"age02":{"show":"動漫二線","des":"","ps":"0","parse":""}}, + "filter": {"5":[{"key":3,"name":"剧情","value":[{"n":"全部","v":""},{"n":"喜劇","v":"喜劇"},{"n":"愛情","v":"愛情"},{"n":"恐怖","v":"恐怖"},{"n":"動作","v":"動作"},{"n":"科幻","v":"科幻"},{"n":"劇情","v":"劇情"},{"n":"戰爭","v":"戰爭"},{"n":"犯罪","v":"犯罪"},{"n":"動畫","v":"動畫"},{"n":"奇幻","v":"奇幻"},{"n":"恐怖","v":"恐怖"},{"n":"懸疑","v":"懸疑"},{"n":"微電影","v":"微電影"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"國語","v":"國語"},{"n":"英語","v":"英語"},{"n":"粵語","v":"粵語"},{"n":" 閩南語","v":"閩南語"},{"n":"韓語","v":"韓語"},{"n":"日語","v":"日語"},{"n":"法語","v":"法語"},{"n":"德語","v":"德語"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}],"2":[{"key":0,"name":"类型","value":[{"n":"全部","v":"2"},{"n":"大陸劇","v":"13"},{"n":"香港劇","v":"14"},{"n":"韓國劇","v":"15"},{"n":"歐美劇","v":"16"},{"n":"日本劇","v":"20"},{"n":"台灣劇","v":"21"},{"n":"泰國劇","v":"22"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"韩国","v":"韩国"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"加拿大","v":"加拿大"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}],"1":[{"key":0,"name":"类型","value":[{"n":"全部","v":"1"},{"n":"動作片","v":"6"},{"n":"喜劇片","v":"7"},{"n":"愛情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"恐怖片","v":"10"},{"n":"劇情片","v":"11"},{"n":"戰爭片","v":"12"},{"n":"犯罪片","v":"23"},{"n":"奇幻片","v":"24"},{"n":"懸疑片","v":"25"},{"n":"記錄片","v":"27"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"韩国","v":"韩国"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"加拿大","v":"加拿大"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"法语","v":"法语"},{"n":"德语","v":"德语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}],"4":[{"key":0,"name":"类型","value":[{"n":"全部","v":"4"},{"n":"動畫電影","v":"41"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}],"3":[{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"韩国","v":" 韩国"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩 语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":" 时间排序","v":"time"},{"n":"人气排序","v":"hits"},{"n":"评分排序","v":"score"}]}]} + } + header = { + "origin":"https://cokemv.me", + "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", + "Accept":" */*", + "Accept-Language":"zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7", + "Accept-Encoding":"gzip, deflate" + } + def playerContent(self,flag,id,vipFlags): + url = 'https://cokemv.me/vodplay/{0}.html'.format(id) + rsp = self.fetch(url) + root = self.html(rsp.text) + scripts = root.xpath("//script/text()") + jo = {} + result = {} + for script in scripts: + if(script.startswith("var player_")): + target = script[script.index('{'):] + jo = json.loads(target) + break; + parseUrl = "" + playerConfig = self.config['player'] + if jo['from'] in self.config['player']: + playerConfig = self.config['player'][jo['from']] + videoUrl = jo['url'] + playerUrl = playerConfig['parse'] + result["parse"] = playerConfig['ps'] + result["playUrl"] = playerUrl + result["url"] = videoUrl + result["header"] = json.dumps(self.header) + return result + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_cyys.py b/TVBox_PY/py_cyys.py new file mode 100644 index 0000000..1d0ae57 --- /dev/null +++ b/TVBox_PY/py_cyys.py @@ -0,0 +1,242 @@ +# coding=utf-8 +# !/usr/bin/python +import sys +import re +sys.path.append('..') +from base.spider import Spider +import urllib.parse +import base64 +from Crypto.Cipher import AES + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "创艺影视" + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def homeContent(self, filter): + result = {} + cateManual = { + "电影": "1", + "剧集": "2", + "动漫": "4", + "综艺": "3", + "纪录片": "30" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + def homeVideoContent(self): + result = { + 'list': [] + } + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + header = {"User-Agent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"} + url = 'https://www.30dian.cn/vodtype/{0}-{1}.html'.format(tid, pg) + rsp = self.fetch(url,headers=header) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//div[@class='myui-panel myui-panel-bg clearfix']/div/div/ul/li") + videos = [] + for a in aList: + name = a.xpath('./div/a/@title')[0] + pic = a.xpath('./div/a/@data-original')[0] + mark = a.xpath("./div/a/span/span[@class='tag']/text()")[0] + sid = a.xpath("./div/a/@href")[0].replace("/", "").replace("voddetail", "").replace(".html", "") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 999 + result['limit'] = 5 + result['total'] = 9999 + return result + + def detailContent(self, array): + tid = array[0] + url = 'https://www.30dian.cn/voddetail/{0}.html'.format(tid) + header = {"User-Agent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"} + rsp = self.fetch(url,headers=header) + root = self.html(self.cleanText(rsp.text)) + divContent = root.xpath("//div[@class='col-lg-wide-75 col-md-wide-7 col-xs-1 padding-0']")[0] + title = divContent.xpath(".//div[@class='myui-content__detail']/h1/text()")[0] + pic = divContent.xpath(".//div[@class='myui-content__thumb']/a/img/@data-original")[0] + det = divContent.xpath(".//div[@class='col-pd text-collapse content']/span[@class='data']")[0] + if det.text is None: + detail = det.xpath(".//p/text()")[0] + else: + detail = det.text + vod = { + "vod_id": tid, + "vod_name": title, + "vod_pic": pic, + "type_name": "", + "vod_year": "", + "vod_area": "", + "vod_remarks": "", + "vod_actor": "", + "vod_director": "", + "vod_content": detail + } + infoArray = divContent.xpath(".//div[@class='myui-content__detail']/p[contains(@class,'data')]") + for info in infoArray: + content = info.xpath('string(.)') + flag = "分类" in content + if flag == True: + infon = content.replace("\t","").replace("\n","").strip().split('\r') + for inf in infon: + if inf.startswith('分类'): + vod['type_name'] = inf.replace("分类:", "") + if inf.startswith('地区'): + vod['vod_area'] = inf.replace("地区:", "") + if inf.startswith('年份'): + vod['vod_year'] = inf.replace("年份:", "") + if content.startswith('主演'): + vod['vod_actor'] = content.replace("\xa0", "/").replace("主演:", "").strip('/') + if content.startswith('更新'): + vod['vod_remarks'] = content.replace("更新:", "") + if content.startswith('导演'): + vod['vod_director'] = content.replace("\xa0", "").replace("导演:", "").strip('/') + + vod_play_from = '$$$' + playFrom = [] + vodHeader = divContent.xpath(".//div[@class='myui-panel_hd']/div/ul/li/a[contains(@href,'playlist')]/text()") + for v in vodHeader: + playFrom.append(v.replace(" ", "")) + vod_play_from = vod_play_from.join(playFrom) + vod_play_url = '$$$' + playList = [] + vodList = divContent.xpath(".//div[contains(@id,'playlist')]") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./ul/li/a') + if len(aList) <= 0: + name = '无法找到播放源' + tId = '00000' + vodItems.append(name + "$" + tId) + else: + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath("./text()")[0].replace(" ", "") + tId = self.regStr(href, '/vodplay/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + url = 'https://www.30dian.cn/vodsearch/-------------.html?wd={0}'.format(key) + header = { + "User-Agent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"} + rsp = self.fetch(url, headers=header) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//ul[contains(@class,'myui-vodlist__media clearfix')]/li") + videos = [] + for a in aList: + name = a.xpath(".//div[@class='detail']/h4/a/text()")[0] + pic = a.xpath(".//a[contains(@class,'myui-vodlist__thumb')]//@data-original")[0] + mark = a.xpath(".//span[@class='tag']/text()")[0] + sid = a.xpath(".//div[@class='detail']/h4/a/@href")[0] + sid = self.regStr(sid,'/voddetail/(\\S+).html') + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result = { + 'list': videos + } + return result + def parseCBC(self, enc, key, iv): + keyBytes = key.encode("utf-8") + ivBytes = iv.encode("utf-8") + cipher = AES.new(keyBytes, AES.MODE_CBC, ivBytes) + msg = cipher.decrypt(enc) + paddingLen = msg[len(msg) - 1] + return msg[0:-paddingLen] + + def playerContent(self, flag, id, vipFlags): + result = {} + header = { + "User-Agent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"} + if id == '00000': + return {} + url = 'https://www.30dian.cn/vodplay/{0}.html'.format(id) + rsp = self.fetch(url,headers=header) + root = self.html(self.cleanText(rsp.text)) + scripts = root.xpath("//div[@class='embed-responsive clearfix']/script[@type='text/javascript']/text()")[0] + ukey = re.findall(r"url(.*)url_next", scripts)[0].replace('"', "").replace(',', "").replace(':', "") + pf = re.findall(r'\"from\":\"(.*?)\"', scripts)[0] + purl = urllib.parse.unquote(ukey) + if purl.startswith('http'): + purl = purl + if pf == 'wjm3u8': + prsp = self.fetch(purl, headers=header) + purle = prsp.text.strip('\n').split('\n')[-1] + purls = re.findall(r"http.*://.*?/", purl)[0].strip('/') + purl = purls + purle + else: + scrurl = 'https://vip.30dian.cn/?url={0}'.format(purl) + script = self.fetch(scrurl,headers=header) + html = script.text + pat = 'var le_token = \\"([\\d\\w]+)\\"' + cpat = 'getVideoInfo\\(\\"(.*)\\"\\)' + content = self.regStr(html, cpat) + iv = self.regStr(html, pat) + key = 'A42EAC0C2B408472' + purl = self.parseCBC(base64.b64decode(content), key, iv).decode() + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = purl + result["header"] = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def localProxy(self, param): + action = { + 'url': '', + 'header': '', + 'param': '', + 'type': 'string', + 'after': '' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_czspp.py b/TVBox_PY/py_czspp.py new file mode 100644 index 0000000..999a063 --- /dev/null +++ b/TVBox_PY/py_czspp.py @@ -0,0 +1,300 @@ +# coding=utf-8 +# !/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import base64 +import hashlib +import requests +from Crypto.Cipher import AES +import urllib + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "厂长资源" + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def homeContent(self, filter): + result = {} + cateManual = { + "豆瓣电影Top250": "dbtop250", + "最新电影": "zuixindianying", + "电视剧": "dsj", + "国产剧": "gcj", + "美剧": "meijutt", + "韩剧": "hanjutv", + "番剧": "fanju", + "动漫": "dm" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + result['class'] = classes + return result + + def homeVideoContent(self): + url = "https://czspp.com" + header = { + "Connection": "keep-alive", + "Referer": url, + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" + } + session = self.getCookie(url,header) + rsp = session.get(url, headers=header) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//div[@class='mi_btcon']//ul/li") + videos = [] + for a in aList: + name = a.xpath('./a/img/@alt')[0] + pic = a.xpath('./a/img/@data-original')[0] + mark = a.xpath("./div[@class='hdinfo']/span/text()")[0] + sid = a.xpath("./a/@href")[0] + sid = self.regStr(sid, "/movie/(\\S+).html") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result = { + 'list': videos + } + return result + + def getCookie(self,url,header): + session = requests.session() + rsp = session.get(url) + nurl = 'https://czspp.com' + self.regStr(rsp.text, 'src=\"(.*?)\"') + nrsp = session.get(nurl, headers=header) + key = self.regStr(nrsp.text, 'var key=\"(.*?)\"') + avalue = self.regStr(nrsp.text, 'value=\"(.*?)\"') + c = '' + for i in range(0, len(avalue)): + a = avalue[i] + b = ord(a) + c = c + str(b) + value = hashlib.md5(c.encode()).hexdigest() + session.get('https://czspp.com/a20be899_96a6_40b2_88ba_32f1f75f1552_yanzheng_ip.php?type=96c4e20a0e951f471d32dae103e83881&key={0}&value={1}'.format(key,value), headers=header) + return session + + def categoryContent(self, tid, pg, filter, extend): + result = {} + url = 'https://czspp.com/{0}/page/{1}'.format(tid,pg) + header = { + "Connection": "keep-alive", + "Referer": url, + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" + } + session = self.getCookie(url,header) + rsp = session.get(url, headers=header) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//div[contains(@class,'bt_img mi_ne_kd mrb')]/ul/li") + videos = [] + for a in aList: + name = a.xpath('./a/img/@alt')[0] + pic = a.xpath('./a/img/@data-original')[0] + mark = a.xpath(".//div[@class='jidi']/span/text()") + if mark ==[]: + mark = a.xpath("./div[@class='hdinfo']/span/text()") + mark = mark[0] + sid = a.xpath("./a/@href")[0] + sid = self.regStr(sid, "/movie/(\\S+).html") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, array): + tid = array[0] + url = 'https://czspp.com/movie/{0}.html'.format(tid) + header = { + "Connection": "keep-alive", + "Referer": url, + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" + } + session = self.getCookie(url, header) + rsp = session.get(url, headers=header) + root = self.html(self.cleanText(rsp.text)) + node = root.xpath("//div[@class='dyxingq']")[0] + pic = node.xpath(".//div[@class='dyimg fl']/img/@src")[0] + title = node.xpath('.//h1/text()')[0] + detail = root.xpath(".//div[@class='yp_context']//p/text()")[0] + vod = { + "vod_id": tid, + "vod_name": title, + "vod_pic": pic, + "type_name": "", + "vod_year": "", + "vod_area": "", + "vod_remarks": "", + "vod_actor": "", + "vod_director": "", + "vod_content": detail + } + infoArray = node.xpath(".//ul[@class='moviedteail_list']/li") + for info in infoArray: + content = info.xpath('string(.)') + if content.startswith('地区'): + tpyeare = '' + for inf in info: + tn = inf.text + tpyeare = tpyeare +'/'+'{0}'.format(tn) + vod['vod_area'] = tpyeare.strip('/') + if content.startswith('年份'): + vod['vod_year'] = content.replace("年份:","") + if content.startswith('主演'): + tpyeact = '' + for inf in info: + tn = inf.text + tpyeact = tpyeact +'/'+'{0}'.format(tn) + vod['vod_actor'] = tpyeact.strip('/') + if content.startswith('导演'): + tpyedire = '' + for inf in info: + tn = inf.text + tpyedire = tpyedire +'/'+'{0}'.format(tn) + vod['vod_director'] = tpyedire .strip('/') + vod_play_from = '$$$' + playFrom = ['厂长'] + vod_play_from = vod_play_from.join(playFrom) + vod_play_url = '$$$' + playList = [] + vodList = root.xpath("//div[@class='paly_list_btn']") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('./text()')[0].replace('\xa0','') + tId = self.regStr(href, '/v_play/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + url = 'https://czspp.com/xssearch?q={0}'.format(urllib.parse.quote(key)) + header = { + "Connection": "keep-alive", + "Referer": url, + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" + } + session = self.getCookie(url, header) + rsp = session.get(url, headers=header) + root = self.html(self.cleanText(rsp.text)) + vodList = root.xpath("//div[contains(@class,'mi_ne_kd')]/ul/li/a") + videos = [] + for vod in vodList: + name = vod.xpath('./img/@alt')[0] + pic = vod.xpath('./img/@data-original')[0] + href = vod.xpath('./@href')[0] + tid = self.regStr(href, 'movie/(\\S+).html') + res = vod.xpath('./div[@class="jidi"]/span/text()') + if len(res) == 0: + remark = '全1集' + else: + remark = vod.xpath('./div[@class="jidi"]/span/text()')[0] + videos.append({ + "vod_id": tid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + }) + result = { + 'list': videos + } + return result + config = { + "player": {}, + "filter": {} + } + header = { + "Referer": "https://czspp.com/", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36" + } + def parseCBC(self, enc, key, iv): + keyBytes = key.encode("utf-8") + ivBytes = iv.encode("utf-8") + cipher = AES.new(keyBytes, AES.MODE_CBC, ivBytes) + msg = cipher.decrypt(enc) + paddingLen = msg[len(msg) - 1] + return msg[0:-paddingLen] + + def playerContent(self, flag, id, vipFlags): + result = {} + url = 'https://czspp.com/v_play/{0}.html'.format(id) + header = { + "Connection": "keep-alive", + "Referer": url, + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" + } + session = self.getCookie(url, header) + pat = '\\"([^\\"]+)\\";var [\\d\\w]+=function dncry.*md5.enc.Utf8.parse\\(\\"([\\d\\w]+)\\".*md5.enc.Utf8.parse\\(([\\d]+)\\)' + rsp = session.get(url, headers=header) + html = rsp.text + content = self.regStr(html, pat) + if content == '': + str3 = url + pars = 1 + header = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" + } + else: + key = self.regStr(html, pat, 2) + iv = self.regStr(html, pat, 3) + decontent = self.parseCBC(base64.b64decode(content), key, iv).decode() + urlPat = 'video: \\{url: \\\"([^\\\"]+)\\\"' + vttPat = 'subtitle: \\{url:\\\"([^\\\"]+\\.vtt)\\\"' + str3 = self.regStr(decontent, urlPat) + str4 = self.regStr(decontent, vttPat) + self.loadVtt(str3) + pars = 0 + header = '' + if len(str4) > 0: + result['subf'] = '/vtt/utf-8' + result['subt'] = '' + result = { + 'parse': pars, + 'playUrl': '', + 'url': str3, + 'header': header + } + return result + + + def loadVtt(self, url): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def localProxy(self, param): + action = {} + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_douban.py b/TVBox_PY/py_douban.py new file mode 100644 index 0000000..7ccd3f1 --- /dev/null +++ b/TVBox_PY/py_douban.py @@ -0,0 +1,128 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +host_url = 'https://frodo.douban.com/api/v2' +apikey = "?apikey=0ac44ae016490db2204ce0a042db2916" + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "豆瓣" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "热门电影": "hot_gaia", + "热播剧集": "tv_hot", + "热播综艺": "show_hot", + "电影筛选": "movie", + "电视筛选": "tv", + "电影榜单": "rank_list_movie", + "电视榜单": "rank_list_tv" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + url = host_url + '/subject_collection/subject_real_time_hotest/items' + apikey + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + joList = jo.get("subject_collection_items") + lists = [] + for item in joList: + rating = item['rating']['value'] if item['rating'] else "" + lists.append({ + "vod_id": f'msearch:{item.get("type", "")}__{item.get("id", "")}', + "vod_name": item['title'], + "vod_pic": item['pic']['normal'], + "vod_remarks": rating + }) + result = { + 'list':lists + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + if extend: + sort = extend.pop('sort') if "sort" in extend else "T" + tags = ",".join(item for item in extend.values()) + else: + sort = "T" + tags = "" + if tid == "hot_gaia": + urlpath = f"/movie/{tid}" + getdata = "items" + sort = extend.get("sort", "recommend") + area = extend.get("area", "全部") + sort = sort + "&area=" + area + elif tid == "tv_hot" or tid == "show_hot": + urlpath = f"/subject_collection/{tid}/items" + getdata = "subject_collection_items" + elif tid.startswith("rank_list"): + id = "movie_real_time_hotest" if tid == "rank_list_movie" else "tv_real_time_hotest" + urlpath = f"/subject_collection/{id}/items" + getdata = "subject_collection_items" + else: + urlpath = f"/{tid}/recommend" + getdata = "items" + + url = host_url + urlpath + apikey + '&sort=' + sort + '&tags=' + tags + '&start=' + pg + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + jolist = jo[getdata] + + videos = [] + for vod in jolist: + rating = vod.get("rating", "").get("value", "") if vod.get("rating", "") else "" + pic = vod.get("pic", "").get("normal", "") if vod.get("pic", "") else "" + videos.append({ + "vod_id": f'msearch:{vod.get("type", "")}__{vod.get("id", "")}', + "vod_name": vod['title'], + "vod_pic": pic, + "vod_remarks": rating + }) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self,array): + pass + def searchContent(self,key,quick): + pass + def playerContent(self,flag,id,vipFlags): + pass + + config = { + "player": {}, + "filter": {"hot_gaia":[{"key":"sort","name":"排序","value":[{"n":"热度","v":"recommend"},{"n":"最新","v":"time"},{"n":"评分","v":"rank"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"全部"},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"}]}],"tv_hot":[{"key":"type","name":"分类","value":[{"n":"综合","v":"tv_hot"},{"n":"国产剧","v":"tv_domestic"},{"n":"欧美剧","v":"tv_american"},{"n":"日剧","v":"tv_japanese"},{"n":"韩剧","v":"tv_korean"},{"n":"动画","v":"tv_animation"}]}],"show_hot":[{"key":"type","name":"分类","value":[{"n":"综合","v":"show_hot"},{"n":"国内","v":"show_domestic"},{"n":"国外","v":"show_foreign"}]}],"movie":[{"key":"类型","name":"类型","value":[{"n":"全部类型","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"动画","v":"动画"},{"n":"悬疑","v":"悬疑"},{"n":"犯罪","v":"犯罪"},{"n":"惊悚","v":"惊悚"},{"n":"冒险","v":"冒险"},{"n":"音乐","v":"音乐"},{"n":"历史","v":"历史"},{"n":"奇幻","v":"奇幻"},{"n":"恐怖","v":"恐怖"},{"n":"战争","v":"战争"},{"n":"传记","v":"传记"},{"n":"歌舞","v":"歌舞"},{"n":"武侠","v":"武侠"},{"n":"情色","v":"情色"},{"n":"灾难","v":"灾难"},{"n":"西部","v":"西部"},{"n":"纪录片","v":"纪录片"},{"n":"短片","v":"短片"}]},{"key":"地区","name":"地区","value":[{"n":"全部地区","v":""},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"中国大陆","v":"中国大陆"},{"n":"美国","v":"美国"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"印度","v":"印度"},{"n":"泰国","v":"泰国"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"加拿大","v":"加拿大"},{"n":"澳大利亚","v":"澳大利亚"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"丹麦","v":"丹麦"}]},{"key":"sort","name":"排序","value":[{"n":"近期热度","v":"T"},{"n":"首映时间","v":"R"},{"n":"高分优先","v":"S"}]},{"key":"年代","name":"年代","value":[{"n":"全部年代","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2010年代","v":"2010年代"},{"n":"2000年代","v":"2000年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"},{"n":"70年代","v":"70年代"},{"n":"60年代","v":"60年代"},{"n":"更早","v":"更早"}]}],"tv":[{"key":"类型","name":"类型","value":[{"n":"不限","v":""},{"n":"电视剧","v":"电视剧"},{"n":"综艺","v":"综艺"}]},{"key":"电视剧形式","name":"电视剧形式","value":[{"n":"不限","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"悬疑","v":"悬疑"},{"n":"动画","v":"动画"},{"n":"武侠","v":"武侠"},{"n":"古装","v":"古装"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"科幻","v":"科幻"},{"n":"恐怖","v":"恐怖"},{"n":"历史","v":"历史"},{"n":"战争","v":"战争"},{"n":"动作","v":"动作"},{"n":"冒险","v":"冒险"},{"n":"传记","v":"传记"},{"n":"剧情","v":"剧情"},{"n":"奇幻","v":"奇幻"},{"n":"惊悚","v":"惊悚"},{"n":"灾难","v":"灾难"},{"n":"歌舞","v":"歌舞"},{"n":"音乐","v":"音乐"}]},{"key":"综艺形式","name":"综艺形式","value":[{"n":"不限","v":""},{"n":"真人秀","v":"真人秀"},{"n":"脱口秀","v":"脱口秀"},{"n":"音乐","v":"音乐"},{"n":"歌舞","v":"歌舞"}]},{"key":"地区","name":"地区","value":[{"n":"全部地区","v":""},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"国外","v":"国外"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"美国","v":"美国"},{"n":"英国","v":"英国"},{"n":"泰国","v":"泰国"},{"n":"中国台湾","v":"中国台湾"},{"n":"意大利","v":"意大利"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"西班牙","v":"西班牙"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"丹麦","v":"丹麦"},{"n":"印度","v":"印度"},{"n":"加拿大","v":"加拿大"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"澳大利亚","v":"澳大利亚"}]},{"key":"sort","name":"排序","value":[{"n":"近期热度","v":"T"},{"n":"首播时间","v":"R"},{"n":"高分优先","v":"S"}]},{"key":"年代","name":"年代","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2010年代","v":"2010年代"},{"n":"2000年代","v":"2000年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"},{"n":"70年代","v":"70年代"},{"n":"60年代","v":"60年代"},{"n":"更早","v":"更早"}]},{"key":"平台","name":"平台","value":[{"n":"全部","v":""},{"n":"腾讯视频","v":"腾讯视频"},{"n":"爱奇艺","v":"爱奇艺"},{"n":"优酷","v":"优酷"},{"n":"湖南卫视","v":"湖南卫视"},{"n":"Netflix","v":"Netflix"},{"n":"HBO","v":"HBO"},{"n":"BBC","v":"BBC"},{"n":"NHK","v":"NHK"},{"n":"CBS","v":"CBS"},{"n":"NBC","v":"NBC"},{"n":"tvN","v":"tvN"}]}],"rank_list_movie":[{"key":"榜单","name":"榜单","value":[{"n":"实时热门电影","v":"movie_real_time_hotest"},{"n":"一周口碑电影榜","v":"movie_weekly_best"},{"n":"豆瓣电影Top250","v":"movie_top250"}]}],"rank_list_tv":[{"key":"榜单","name":"榜单","value":[{"n":"实时热门电视","v":"tv_real_time_hotest"},{"n":"华语口碑剧集榜","v":"tv_chinese_best_weekly"},{"n":"全球口碑剧集榜","v":"tv_global_best_weekly"},{"n":"国内口碑综艺榜","v":"show_chinese_best_weekly"},{"n":"国外口碑综艺榜","v":"show_global_best_weekly"}]}]} + } + header = { + "Host": "frodo.douban.com", + "Connection": "Keep-Alive", + "Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html", + "content-type": "application/json", + "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat" + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_douyu.py b/TVBox_PY/py_douyu.py new file mode 100644 index 0000000..3a5c2bb --- /dev/null +++ b/TVBox_PY/py_douyu.py @@ -0,0 +1,138 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): + def getName(self): + return "斗鱼" + def init(self,extend=""): + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "热门游戏": "热门游戏", + "主机游戏": "主机游戏", + "原创IP": "原创IP" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = {} + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'http://live.yj1211.work/api/live/getRecommendByPlatformArea?platform=douyu&size=20&area={0}&page={1}'.format(tid, pg) + rsp = self.fetch(url) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data'] + for vod in vodList: + aid = (vod['roomId']).strip() + title = vod['roomName'].strip() + img = vod['roomPic'].strip() + remark = (vod['ownerName']).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + aid = array[0] + url = "http://live.yj1211.work/api/live/getRoomInfo?platform=douyu&roomId={0}".format(aid) + rsp = self.fetch(url) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + title = jo['roomName'] + pic = jo['roomPic'] + desc = str(jo['online']) + dire = jo['ownerName'] + typeName = jo['categoryName'] + remark = jo['categoryName'] + vod = { + "vod_id": aid, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": "", + "vod_area": "", + "vod_remarks": remark, + "vod_actor": '在线人数:' + desc, + "vod_director": dire, + "vod_content": "" + } + playUrl = '原画' + '${0}#'.format(aid) + vod['vod_play_from'] = '斗鱼直播' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + def searchContent(self,key,quick): + result = {} + return result + def playerContent(self,flag,id,vipFlags): + result = {} + url = 'http://live.yj1211.work/api/live/getRealUrl?platform=douyu&roomId={0}'.format(id) + rsp = self.fetch(url) + jRoot = json.loads(rsp.text) + if len(jRoot['data']) == 0: + return {} + jo = jRoot['data'] + ja = jo['OD'] + url = ja + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + config = { + "player": {}, + "filter": {} + } + header = {} + def localProxy(self,param): + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_freezb.py b/TVBox_PY/py_freezb.py new file mode 100644 index 0000000..e956f0c --- /dev/null +++ b/TVBox_PY/py_freezb.py @@ -0,0 +1,161 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import re +import math + +class Spider(Spider): + def getName(self): + return "体育直播" + def init(self,extend=""): + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "全部": "" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = {} + return result + + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'http://www.freezb.live/' + rsp = self.fetch(url) + html = self.html(rsp.text) + aList = html.xpath("//tr[@class='match_main']") + videos = [] + img = 'https://s1.ax1x.com/2022/10/07/x3NPUO.png' + for a in aList: + urlList = a.xpath("./td[@class='update_data live_link']/a") + stat = a.xpath("./td[contains(@style, 'font-weight:bold')]/sapn/@title")[0] + time = a.xpath("./td[contains(@style, 'font-weight:bold')]/sapn/text()")[0] + if '比分' not in urlList[0].xpath("./text()")[0] and stat == '直播中': + remark = a.xpath(".//p[@class='raceclass matchcolor']/@title")[0].replace('直播','') + '|' + time + name = a.xpath("string(./td[4])").replace(' ','').replace('\tVS','VS') + if 'VS' not in name: + names = name.split('\t') + remark = names[0] + '|' + time + name = names[-1].replace('vs','VS') + aid = '' + for url in urlList: + title = url.xpath("./text()")[0] + aurl = url.xpath("./@href")[0] + aurl = self.regStr(reg=r'/tv/(.*?).html', src=aurl) + if '比分' not in title: + aid = aid + title + '@@@' + aurl + '#' + videos.append({ + "vod_id": name + '###' + remark.split('|')[0] + '###' + aid, + "vod_name": name, + "vod_pic": img, + "vod_remarks": remark + }) + numvL = len(videos) + pgc = math.ceil(numvL/15) + result['list'] = videos + result['page'] = pg + result['pagecount'] = pgc + result['limit'] = numvL + result['total'] = numvL + return result + + def detailContent(self,array): + aid = array[0] + aids = aid.split('###') + name = aids[0] + typeName = aids[1] + tus = aids[2].strip('#').split('#') + pic = 'https://s1.ax1x.com/2022/10/07/x3NPUO.png' + vod = { + "vod_id": name, + "vod_name": name, + "vod_pic": pic, + "type_name": typeName, + "vod_year": "", + "vod_area": "", + "vod_remarks": '', + "vod_actor": '', + "vod_director":'', + "vod_content": '' + } + purl = '' + for tu in tus: + title = tu.split('@@@')[0] + uid = tu.split('@@@')[1] + url = "http://www.freezb.live/tv/{0}.html".format(uid) + rsp = self.fetch(url) + root = self.html(rsp.text) + phpurl = root.xpath("//div[@class='media']/iframe/@src")[0] + purl = purl + '{0}${1}@@@{2}'.format(title,phpurl,uid) + '#' + vod['vod_play_from'] = '体育直播' + vod['vod_play_url'] = purl + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self,key,quick): + result = {} + return result + + def playerContent(self,flag,id,vipFlags): + result = {} + ids = id.split('@@@') + url = ids[0] + vid = ids[1] + headers = { + "referer": "http://www.freezb.live/tv/{0}.html".format(vid), + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" + } + rsp = self.fetch(url,headers=headers) + aurl = self.regStr(reg=r'\"../(.*?)\"', src=rsp.text) + if aurl =='': + url = self.regStr(reg=r"url: \'(.*?)\'", src=rsp.text) + else: + pheaders = { + "referer": url, + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" + } + purl = self.regStr(reg=r'(.*)/', src=url) + '/' + aurl + prsp = self.fetch(purl, headers=pheaders) + url = self.regStr(reg=r"url: \'(.*?)\'", src=prsp.text) + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_genmov.py b/TVBox_PY/py_genmov.py new file mode 100644 index 0000000..b00249b --- /dev/null +++ b/TVBox_PY/py_genmov.py @@ -0,0 +1,202 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "我爱跟剧" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + # genmov + # https://www.genmov.com/v/yinyue.html + result = {} + cateManual = { + "电影":"dianying", + "连续剧":"lianxuju", + "动漫":"dongman", + "综艺":"zongyi", + "少儿":"shaoer", + "音乐":"yinyue" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + rsp = self.fetch("https://www.genmov.com/",headers=self.header) + root = self.html(rsp.text) + aList = root.xpath("//div[@class='module module-wrapper']//div[@class='module-item']") + videos = [] + for a in aList: + name = a.xpath(".//div[@class='module-item-pic']/a/@title")[0] + pic = a.xpath(".//div[@class='module-item-pic']/img/@data-src")[0] + mark = a.xpath("./div[@class='module-item-text']/text()")[0] + sid = a.xpath(".//div[@class='module-item-pic']/a/@href")[0] + sid = self.regStr(sid,"/video/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + urlParams = ["", "", "", "", "", "", "", "", "", "", "", ""] + urlParams[0] = tid + urlParams[8] = pg + for key in extend: + urlParams[int(key)] = extend[key] + params = '-'.join(urlParams) + url = 'https://www.genmov.com/vodshow/{0}.html'.format(params) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + aList = root.xpath("//div[@class='module-items']/div[@class='module-item']") + videos = [] + for a in aList: + name = a.xpath(".//div[@class='module-item-pic']/a/@title")[0] + pic = a.xpath(".//div[@class='module-item-pic']/img/@data-src")[0] + mark = a.xpath("./div[@class='module-item-text']/text()")[0] + sid = a.xpath(".//div[@class='module-item-pic']/a/@href")[0] + sid = self.regStr(sid,"/video/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + # video-info-header + tid = array[0] + url = 'https://www.genmov.com/video/{0}.html'.format(tid) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + title = root.xpath(".//h1[@class='page-title']/text()")[0] + pic = root.xpath(".//div[@class='video-cover']//img/@data-src")[0] + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":pic, + "type_name":"", + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":"" + } + infoArray = root.xpath(".//div[@class='video-info-items']") + for info in infoArray: + content = info.xpath('string(.)') + # if content.startswith('类型'): + # vod['type_name'] = content + # if content.startswith('年份'): + # vod['vod_year'] = content + # if content.startswith('地区'): + # vod['vod_area'] = content + if content.startswith('集数'): + vod['vod_remarks'] = content + if content.startswith('主演'): + vod['vod_actor'] = content + if content.startswith('导演'): + vod['vod_director'] = content + if content.startswith('剧情'): + vod['vod_content'] = content + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath(".//main[@id='main']//div[@class='module-heading']//div[contains(@class,'module-tab-item')]/span/text()") + for v in vodHeader: + playFrom.append(v) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = root.xpath(".//main[@id='main']//div[contains(@class,'module-list')]//div[@class='sort-item']") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('./span/text()')[0] + tId = self.regStr(href,'/play/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + result = {} + return result + def playerContent(self,flag,id,vipFlags): + # https://www.genmov.com/play/301475-1-1.html + # https://www.genmov.com/static/js/playerconfig.js + url = 'https://www.genmov.com/play/{0}.html'.format(id) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + scripts = root.xpath("//script/text()") + jo = {} + for script in scripts: + if(script.startswith("var player_")): + target = script[script.index('{'):] + jo = json.loads(target) + break; + result = {} + parseUrl = "" + playerConfig = self.config['player'] + if jo['from'] in self.config['player']: + parser = self.config['player'][jo['from']] + originUrl = jo['url'] + parseUrl = parser['parse'] + + result["parse"] = parser['ps'] + result["playUrl"] = parseUrl + result["url"] = originUrl + result["header"] = '' + return result + + cookie = {} + config = { + "player": {"dplayer":{"show":"默认","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"qqy":{"show":"预告专用","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"qiyi":{"show":"爱奇艺","des":"qiyi.com","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"youku":{"show":"优酷","des":"youku.com","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"qq":{"show":"腾讯","des":"qq.com","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"mgtv":{"show":"芒果","des":"mgtv.com","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"letv":{"show":"乐视","des":"","ps":"1","parse":"https://jx.quanmingjiexi.com/?url="},"m1905":{"show":"电影网","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"bilibili":{"show":"哔哩哔哩","des":"","ps":"1","parse":"https://jx.bozrc.com:4433/player/?url="},"sohu":{"show":"搜狐","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"lzm3u8":{"show":"量子资源1","des":"支持手机电脑在线播放","ps":"0","parse":""},"ss4m3u8":{"show":"松鼠资源4","des":"支持手机电脑在线播放","ps":"0","parse":""},"ss3m3u8":{"show":"松鼠资源3","des":"支持手机电脑在线播放","ps":"0","parse":""},"ss2m3u8":{"show":"松鼠资源2","des":"支持手机电脑在线播放","ps":"0","parse":""},"ss1m3u8":{"show":"松鼠资源1","des":"支持手机电脑在线播放","ps":"0","parse":""},"jinyingm3u8":{"show":"金鹰资源②","des":"支持手机电脑在线播放","ps":"0","parse":""},"cmpyun":{"show":"冠军资源①","des":"支持手机电脑在线播放","ps":"0","parse":""},"kcm3u8":{"show":"快车资源①","des":"支持手机电脑在线播放","ps":"0","parse":""},"xlm3u8":{"show":"新浪资源2","des":"支持手机电脑在线播放","ps":"0","parse":""},"ssyun":{"show":"神速资源1","des":"支持手机电脑在线播放","ps":"0","parse":""},"ssm3u8":{"show":"神速资源2","des":"支持手机电脑在线播放","ps":"0","parse":""},"wolong":{"show":"卧龙资源","des":"支持手机电脑在线播放","ps":"1","parse":"https://vip.2ktvb.com/?url="},"ptzy":{"show":"葡萄资源","des":"支持手机电脑在线播放","ps":"0","parse":""},"zgzy":{"show":"猪哥播放器","des":"支持手机电脑在线播放","ps":"0","parse":""},"ukm3u8":{"show":"U酷点播","des":"支持手机电脑在线播放","ps":"0","parse":""},"fsm3u8":{"show":"飞速播放器","des":"支持手机电脑在线播放","ps":"0","parse":""},"mim3u8":{"show":"大米播放器","des":"支持手机电脑在线播放","ps":"0","parse":""},"if101":{"show":"if101播放器","des":"支持手机电脑在线播放","ps":"0","parse":""},"sgm3u8":{"show":"速更播放器","des":"支持手机电脑在线播放","ps":"0","parse":""},"kdm3u8":{"show":"酷点播放器","des":"支持手机电脑在线播放","ps":"0","parse":""},"xiuse":{"show":"秀色播放","des":"支持手机电脑在线播放","ps":"0","parse":""},"swm3u8":{"show":"丝袜播放器","des":"支持手机电脑在线播放","ps":"0","parse":""},"bdxm3u8":{"show":"北斗星m3u8","des":"支持手机电脑在线播放","ps":"0","parse":""},"hjm3u8":{"show":"花椒播放器","des":"支持手机电脑在线播放","ps":"0","parse":""},"kbzy":{"show":"快播云播","des":"支持手机电脑在线播放","ps":"0","parse":""},"88zym3u8":{"show":"88在线","des":"支持手机电脑在线播放","ps":"0","parse":""},"lezy":{"show":"乐库云播","des":"支持手机电脑在线播放","ps":"0","parse":""},"kkyun":{"show":"酷酷云播","des":"支持手机电脑在线播放","ps":"0","parse":""},"kkm3u8":{"show":"KK在线","des":"支持手机电脑在线播放","ps":"0","parse":""},"tpm3u8":{"show":"淘片播放器","des":"支持手机电脑在线播放","ps":"0","parse":""},"ckm3u8":{"show":"ck资源","des":"支持手机电脑在线播放","ps":"0","parse":""},"bjyun":{"show":"八戒云播","des":"支持手机电脑在线播放","ps":"0","parse":""},"gsm3u8":{"show":"光速云资源②","des":"支持手机电脑在线播放","ps":"0","parse":""},"m3u8":{"show":"m3u8在线","des":"支持手机电脑在线播放","ps":"0","parse":""},"videojs":{"show":"videojs-H5播放器","des":"videojs.com","ps":"0","parse":""},"iva":{"show":"iva-H5播放器","des":"videojj.com","ps":"0","parse":""},"iframe":{"show":"外链数据","des":"iframe外链数据","ps":"0","parse":""},"link":{"show":"外链数据","des":"外部网站播放链接","ps":"0","parse":""},"swf":{"show":"Flash文件","des":"swf","ps":"0","parse":""},"flv":{"show":"Flv文件","des":"flv","ps":"0","parse":""},"pptv":{"show":"PPTV","des":"pptv","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"migu":{"show":"咪咕","des":"migu","ps":"0","parse":"https://vip.2ktvb.com/player/sg.php?url="},"cctv":{"show":"cctv","des":"cctv","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"cntv":{"show":"cntv","des":"cntv","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"funshion":{"show":"风行","des":"funshion","ps":"1","parse":"hhttps://vip.2ktvb.com/player/sg.php?url="},"wasu":{"show":"华数","des":"wasu","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"605m3u8":{"show":"605线","des":"支持手机电脑在线播放","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"bjm3u8":{"show":"八戒","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"dbm3u8":{"show":"百度线","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"hnm3u8":{"show":"牛牛线","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"igen":{"show":"爱跟线","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"kbm3u8":{"show":"快播线","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"lajiao":{"show":"辣椒","des":"","ps":"1","parse":"https://lajiaoapi.com/watch?url="},"tkm3u8":{"show":"天空线","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"tsm3u8":{"show":"Ts线","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"wjm3u8":{"show":"无尽线","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"xigua":{"show":"西瓜线","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/sg.php?url="},"xkm3u8":{"show":"想看线","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"jhyun":{"show":"聚合云","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"sdm3u8":{"show":"闪电线","des":"支持手机电脑在线播放","ps":"1","parse":"https://vip.2ktvb.com/player/?url="},"ddzy":{"show":"极速多线","des":"","ps":"1","parse":"https://bo.dd520.cc//xmplayer/?url="},"jscq":{"show":"极速超清","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?xf=languang&url="},"jslg":{"show":"极速蓝光","des":"","ps":"1","parse":"https://vip.2ktvb.com/player/?xf=languang&url="}}, + "filter": {"dianying":[{"key":3,"name":"分类","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"动作","v":"动作"},{"n":"爱情","v":"爱情"},{"n":"惊悚","v":"惊悚"},{"n":"犯罪","v":"犯罪"},{"n":"冒险","v":"冒险"},{"n":"科幻","v":"科幻"},{"n":"悬疑","v":"悬疑"},{"n":"剧情","v":"剧情"},{"n":"动画","v":"动画"},{"n":"仙侠","v":"仙侠"},{"n":"武侠","v":"武侠"},{"n":"战争","v":"战争"},{"n":"歌舞","v":"歌舞"},{"n":"奇幻","v":"奇幻"},{"n":"传记","v":"传记"},{"n":"警匪","v":"警匪"},{"n":"历史","v":"历史"},{"n":"运动","v":" 运动"},{"n":"伦理","v":"伦理"},{"n":"灾难","v":"灾难"},{"n":"西部","v":"西部"},{"n":"魔幻","v":"魔幻"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"记录","v":"记录"},{"n":"情色","v":"情色"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"美国","v":"美国"},{"n":"香港","v":"香港"},{"n":"韩国","v":"韩国"},{"n":"英国","v":"英国"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"法国","v":"法国"},{"n":"意大利","v":"意大利"},{"n":"德国","v":"德国"},{"n":"西班牙","v":"西班牙"},{"n":"泰国","v":"泰国"},{"n":"其它","v":"其它"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"法语","v":"法语"},{"n":"德语","v":"德语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"lianxuju":[{"key":3,"name":"分类","value":[{"n":" 全部","v":""},{"n":"古装","v":"古装"},{"n":"动作","v":"动作"},{"n":"都市","v":"都市"},{"n":"偶像","v":"偶像"},{"n":"家庭","v":"家庭"},{"n":"警匪","v":"警匪"},{"n":"言情","v":"言情"},{"n":"军事","v":"军事"},{"n":"武侠","v":"武侠"},{"n":"悬疑","v":"悬疑"},{"n":"历史","v":"历史"},{"n":"农村","v":"农村"},{"n":"都市","v":"都市"},{"n":"神话","v":"神话"},{"n":"科幻","v":"科幻"},{"n":"少儿","v":"少儿"},{"n":"搞笑","v":"搞笑"},{"n":"谍战","v":"谍战"},{"n":"战争","v":"战争"},{"n":"年代","v":"年代"},{"n":"犯罪","v":"犯 罪"},{"n":"恐怖","v":"恐怖"},{"n":"惊悚","v":"惊悚"},{"n":"爱情","v":"爱情"},{"n":"剧情","v":"剧情"},{"n":"奇幻","v":"奇幻"},{"n":"仙侠","v":"仙侠"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"韩国","v":"韩国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"dongman":[{"key":3,"name":"分类","value":[{"n":"全部","v":""},{"n":"番剧","v":"番剧"},{"n":"国创","v":"国创"},{"n":"热血","v":"热血"},{"n":"科幻","v":"科幻"},{"n":"动画","v":"动画"},{"n":"仙侠","v":"仙侠"},{"n":"修仙","v":"修仙"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"zongyi":[{"key":3,"name":"分类","value":[{"n":"全部","v":""},{"n":"真人秀","v":"真人秀"},{"n":"访谈","v":"访谈"},{"n":"情感","v":"情感"},{"n":"选秀","v":"选秀"},{"n":"旅游","v":"旅游"},{"n":"美食","v":"美食"},{"n":"口秀","v":"口秀"},{"n":"曲艺","v":"曲艺"},{"n":"搞笑","v":"搞笑"},{"n":"游戏","v":"游戏"},{"n":"歌舞","v":"歌舞"},{"n":"生活","v":"生活"},{"n":"音乐","v":"音乐"},{"n":"时尚","v":"时尚"},{"n":"益智","v":"益智"},{"n":"职场","v":"职场"},{"n":"少儿","v":"少儿"},{"n":"纪实","v":"纪实"},{"n":"盛会","v":"盛会"},{"n":"音乐MV","v":"音乐MV"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"韩国","v":"韩国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"其它","v":"其它"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"shaoer":[{"key":3,"name":"分类","value":[{"n":"全部","v":""},{"n":"历险","v":"历险"},{"n":"奇幻","v":"奇幻"},{"n":"教育","v":"教 育"},{"n":"搞笑","v":"搞笑"},{"n":"教育","v":"教育"},{"n":"益智","v":"益智"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"美国","v":"美国"},{"n":"香港","v":"香港"},{"n":"韩国","v":"韩国"},{"n":"英国","v":"英国"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"法国","v":"法国"},{"n":"意大利","v":"意大利"},{"n":"德国","v":"德国"},{"n":"西班牙","v":"西班牙"},{"n":"泰国","v":"泰国"},{"n":"其它","v":"其它"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"法语","v":"法语"},{"n":"德语","v":"德语"},{"n":"其它","v":"其它"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"yinyue":[{"key":3,"name":"分类","value":[{"n":"全部","v":""},{"n":"MV","v":"MV"},{"n":"演唱会","v":"演唱会"},{"n":"音频","v":"音频"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"韩国","v":"韩国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"}]},{"key":4,"name":"语言","value":[{"n":"全部","v":""},{"n":"韩语","v":"韩语"},{"n":"粤语","v":"粤语"},{"n":"日语","v":"日语"},{"n":"英语","v":"英语"},{"n":"泰语","v":"泰语"},{"n":"国语","v":"国语"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}]} + } + header = { + 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.47' + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_gimytv.py b/TVBox_PY/py_gimytv.py new file mode 100644 index 0000000..669fced --- /dev/null +++ b/TVBox_PY/py_gimytv.py @@ -0,0 +1,216 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "剧迷" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + # https://gimytv.co/ + result = {} + cateManual = { + "电影": "movies", + "电视剧": "tvseries", + "综艺": "tv_show", + "动漫": "anime" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + rsp = self.fetch("https://gimytv.co/",headers=self.header) + root = self.html(rsp.text) + aList = root.xpath("//ul[@class='myui-vodlist clearfix']/li/div/a") + videos = [] + for a in aList: + name = a.xpath("./@title")[0] + pic = a.xpath("./@data-original")[0] + mark = a.xpath("./span[contains(@class, 'pic-text')]/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + urlParams = ["", "", "", ""] + urlParams[0] = tid + urlParams[3] = pg + suffix = '' + for key in extend: + if key == 4: + suffix = '/by/'+extend[key] + else: + urlParams[int(key)] = extend[key] + params = '-'.join(urlParams)+suffix + # https://gimytv.co/genre/tvseries--2022-/by/hits_month.html + url = 'https://gimytv.com/genre/{0}.html'.format(params) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + aList = root.xpath("//ul[@class='myui-vodlist clearfix']/li/div/a") + videos = [] + for a in aList: + name = a.xpath("./@title")[0] + pic = a.xpath("./@data-original")[0] + mark = a.xpath("./span[contains(@class, 'pic-text')]/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'https://gimytv.co/{0}.html'.format(tid) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + node = root.xpath("//div[@class='container']")[0] + title = node.xpath(".//div[@class='myui-content__thumb']/a/@title")[0] + pic = node.xpath(".//div[@class='myui-content__thumb']/a/img/@data-original")[0] + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":pic, + "type_name":"", + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":"" + } + infoArray = node.xpath(".//div[@class='myui-content__detail']/p") + for info in infoArray: + content = info.xpath('string(.)') + if content.startswith('分類'): + vod['type_name'] = content + # if content.startswith('年份'): + # vod['vod_year'] = content + # if content.startswith('地区'): + # vod['vod_area'] = content + if content.startswith('狀態'): + vod['vod_remarks'] = content + if content.startswith('主演'): + vod['vod_actor'] = content + if content.startswith('導演'): + vod['vod_director'] = content + # if content.startswith('剧情'): + # vod['vod_content'] = content + vod['vod_content'] = node.xpath(".//div[contains(@class,'col-pd')]/p/text()")[0] + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath(".//div[@class='myui-panel_hd']/div/h3/text()[2]") + for v in vodHeader: + playFrom.append(v.strip()) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = root.xpath(".//ul[contains(@class,'myui-content__list')]") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./li/a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('./text()')[0] + tId = self.regStr(href,'/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + url = "https://gimytv.co/search/-------------.html?wd={0}".format(key) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + aList = root.xpath("//ul[contains(@class,'myui-vodlist__media')]/li") + videos = [] + for a in aList: + name = a.xpath(".//a/@title")[0] + pic = a.xpath(".//a/@data-original")[0] + mark = a.xpath(".//span[contains(@class, 'pic-text')]/text()")[0] + sid = a.xpath(".//a/@href")[0] + sid = self.regStr(sid,"/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def playerContent(self,flag,id,vipFlags): + url = 'https://gimytv.co/{0}.html'.format(id) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + scripts = root.xpath("//script/text()") + jo = {} + for script in scripts: + if(script.startswith("var player_")): + target = script[script.index('{'):] + jo = json.loads(target) + break; + url = jo['url'] + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + cookie = {} + config = { + "player": {}, + "filter": {"movies":[{"key":0,"name":"分类","value":[{"n":"全部","v":""},{"n":"劇情片","v":"drama"},{"n":"動作片","v":"action"},{"n":"科幻片","v":"scifi"},{"n":"喜劇片","v":"comedymovie"},{"n":"愛情片","v":"romance"},{"n":"戰爭片","v":"war"},{"n":"恐怖片","v":"horror"},{"n":"動畫電影","v":"animation"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"美國","v":"美國"},{"n":"歐美","v":"歐美"},{"n":"大陸","v":"大陸"},{"n":"中國大陸","v":"中國大陸"},{"n":"韓國","v":"韓國"},{"n":"香港","v":"香港"},{"n":"日本","v":"日本"},{"n":"英國","v":"英國"}]},{"key":2,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":4,"name":"排序","value":[{"n":"按更新","v":"time"},{"n":"周人气","v":"hits_week"},{"n":"月人气","v":"hits_month"}]}],"tvseries":[{"key":0,"name":"分类","value":[{"n":"全部","v":""},{"n":"陸劇","v":"cn"},{"n":"韓劇","v":"kr"},{"n":"美劇","v":"us"},{"n":"日劇","v":"jp"},{"n":"台劇","v":"tw"},{"n":"港劇","v":"hks"},{"n":"海外劇","v":"ot"},{"n":"紀錄片","v":"documentary"}]},{"key":2,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":4,"name":"排序","value":[{"n":"按更新","v":"time"},{"n":"周人气","v":"hits_week"},{"n":"月人气","v":"hits_month"}]}],"anime":[{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"日本","v":"日本"},{"n":"美國","v":"美國"},{"n":"歐美","v":"歐美"},{"n":"大陸","v":"大陸"},{"n":"臺灣","v":"臺灣"},{"n":"香港","v":"香港"}]},{"key":2,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":4,"name":"排序","value":[{"n":"按更新","v":"time"},{"n":"周人气","v":"hits_week"},{"n":"月人气","v":"hits_month"}]}],"tv_show":[{"key":0,"name":"分类","value":[{"n":"全部","v":""},{"n":"纪录片","v":"28"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"大陸","v":"大陸"},{"n":"中國大陸","v":"中國大陸"},{"n":"韓國","v":"韓國"},{"n":"臺灣","v":"臺灣"},{"n":"美國","v":"美國"},{"n":"歐美","v":"歐美"},{"n":"日本","v":"日本"},{"n":"香港","v":"香港"}]},{"key":2,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":4,"name":"排序","value":[{"n":"按更新","v":"time"},{"n":"周人气","v":"hits_week"},{"n":"月人气","v":"hits_month"}]}]} + } + header = { + 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.47' + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_gitcafe.py b/TVBox_PY/py_gitcafe.py new file mode 100644 index 0000000..7f4c2f1 --- /dev/null +++ b/TVBox_PY/py_gitcafe.py @@ -0,0 +1,136 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import requests +import json + +class Spider(Spider): + def getDependence(self): + return ['py_ali'] + def getName(self): + return "py_gitcafe" + def init(self,extend): + self.ali = extend[0] + print("============py_gitcafe============") + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "华语电视" :"hyds", + "日韩电视" :"rhds", + "欧美电视" :"omds", + "其他电视" :"qtds", + "华语电影" :"hydy", + "日韩电影" :"rhdy", + "欧美电影" :"omdy", + "其他电影" :"qtdy", + "华语动漫" :"hydm", + "日韩动漫" :"rhdm", + "欧美动漫" :"omdm", + "纪录片" :"jlp", + "综艺片" :"zyp", + "教育培训" :"jypx", + "其他视频" :"qtsp", + "华语音乐" :"hyyy", + "日韩音乐" :"rhyy", + "欧美音乐" :"omyy", + "其他音乐" :"qtyy" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if filter: + result['filter'] = self.config['filter'] + return result + def homeVideoContent(self): + result = {} + if len(self.homeData.keys()) == 0: + url = self.baseUrl+'/alipaper/home.json' + self.homeData = self.fetch(url,headers=self.header).json() + cateList = self.homeData['data'] + videos = [] + for cate in cateList: + if cate['info']['code'] in self.category: + vodList = cate['data'] + for vod in vodList: + videos.append({ + "vod_id":"https://www.aliyundrive.com/s/" + vod['key'], + "vod_name":vod['title'], + "vod_pic":'https://txc.gtimg.com/data/375895/2022/0214/d6b96cc3799b6417d30e4715d2973f64.png', + "vod_remarks":'' + }) + result['list']=videos + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = self.baseUrl+'/tool/alipaper/' + form = { + "action": "viewcat", + "cat": tid, + "num":pg + } + + rsp = requests.post(url,headers=self.header,data=form) + vodList = json.loads(self.cleanText(rsp.text)) + videos = [] + for vod in vodList: + videos.append({ + "vod_id": 'https://www.aliyundrive.com/s/'+vod["key"], + "vod_name": vod["title"], + "vod_pic": "https://txc.gtimg.com/data/375895/2022/0214/d6b96cc3799b6417d30e4715d2973f64.png", + "vod_remarks": vod['cat'] + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + category = ['hydm','hyds','hydy','omdm','omds','omdy','rhdm','rhds','rhdy','qtds','qtdy','qtsp','jlp','zyp'] + def detailContent(self,array): + return self.ali.detailContent(array) + def searchContent(self,key,quick): + result = {} + url = self.baseUrl+'/tool/alipaper/' + form = { + "action": "search", + "keyword": key + } + vodList = requests.post(url,headers=self.header,data=form).json() + videos = [] + for vod in vodList: + videos.append({ + "vod_id": 'https://www.aliyundrive.com/s/'+vod["key"], + "vod_name": vod["title"], + "vod_pic": "https://txc.gtimg.com/data/375895/2022/0214/d6b96cc3799b6417d30e4715d2973f64.png", + "vod_remarks": vod['cat'] + }) + result = { + 'list':videos + } + return result + def playerContent(self,flag,id,vipFlags): + return self.ali.playerContent(flag,id,vipFlags) + + homeData = {} + baseUrl = 'https://gitcafe.net' + config = { + "player": {}, + "filter": {} + } + header = { + "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", + "Referer": "https://u.gitcafe.net/" + } + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_huya.py b/TVBox_PY/py_huya.py new file mode 100644 index 0000000..0f126e5 --- /dev/null +++ b/TVBox_PY/py_huya.py @@ -0,0 +1,140 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): + def getName(self): + return "虎牙" + def init(self,extend=""): + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "音乐": "音乐", + "一起看": "一起看", + "三国杀": "三国杀", + "网游竞技": "网游竞技" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = {} + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'http://live.yj1211.work/api/live/getRecommendByPlatformArea?platform=huya&size=20&area={0}&page={1}'.format(tid, pg) + rsp = self.fetch(url) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data'] + for vod in vodList: + aid = (vod['roomId']).strip() + title = vod['roomName'].strip() + img = vod['roomPic'].strip() + remark = (vod['ownerName']).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + aid = array[0] + url = "http://live.yj1211.work/api/live/getRoomInfo?platform=huya&roomId={0}".format(aid) + rsp = self.fetch(url) + jRoot = json.loads(rsp.text) + jo = jRoot['data'] + title = jo['roomName'] + pic = jo['roomPic'] + desc = str(jo['online']) + dire = jo['ownerName'] + typeName = jo['categoryName'] + remark = jo['categoryName'] + vod = { + "vod_id": aid, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": "", + "vod_area": "", + "vod_remarks": remark, + "vod_actor": '在线人数:' + desc, + "vod_director": dire, + "vod_content": "" + } + playUrl = '原画' + '${0}#'.format(aid) + vod['vod_play_from'] = '虎牙直播' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + def searchContent(self,key,quick): + result = {} + return result + def playerContent(self,flag,id,vipFlags): + result = {} + url = 'https://mp.huya.com/cache.php?m=Live&do=profileRoom&roomid={0}'.format(id) + rsp = self.fetch(url) + jRoot = json.loads(rsp.text) + if jRoot['data']['liveStatus'] != 'ON': + return {} + jo = jRoot['data'] + ja = jo['stream']['baseSteamInfoList'][0]['sStreamName'] + url = 'http://txtest-xp2p.p2p.huya.com/src/' + ja + '.xs?ratio=4000' + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = { + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" + } + result["contentType"] = 'video/x-flv' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + config = { + "player": {}, + "filter": {} + } + header = {} + def localProxy(self,param): + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_if101.py b/TVBox_PY/py_if101.py new file mode 100644 index 0000000..c124a6e --- /dev/null +++ b/TVBox_PY/py_if101.py @@ -0,0 +1,86 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import urllib.parse + +class Spider(Spider): + def getName(self): + return "IF101影视" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def homeContent(self,filter): + result = {} + + classes = [{"type_id":20,"type_name":"电影"},{"type_id":21,"type_name":"电视剧"},{"type_id":22,"type_name":"动漫"},{"type_id":23,"type_name":"综艺"},{"type_id":24,"type_name":"体育"},{"type_id":25,"type_name":"纪录片"},{"type_id":26,"type_name":"明星资讯"},{"type_id":28,"type_name":"冒险片"},{"type_id":29,"type_name":"剧情片"},{"type_id":30,"type_name":"动作片"},{"type_id":31,"type_name":"动画电影"},{"type_id":32,"type_name":"同性片"},{"type_id":33,"type_name":"喜剧片"},{"type_id":34,"type_name":"奇幻片"},{"type_id":35,"type_name":"恐怖片"},{"type_id":36,"type_name":"悬疑片"},{"type_id":37,"type_name":"惊悚片"},{"type_id":38,"type_name":"歌舞片"},{"type_id":39,"type_name":"灾难片"},{"type_id":40,"type_name":"爱情片"},{"type_id":41,"type_name":"犯罪片"},{"type_id":42,"type_name":"科幻片"},{"type_id":43,"type_name":"经典片"},{"type_id":44,"type_name":"网络电影"},{"type_id":117,"type_name":"战争片"},{"type_id":119,"type_name":"欧美剧"},{"type_id":120,"type_name":"日剧"},{"type_id":121,"type_name":"韩剧"},{"type_id":122,"type_name":"国产剧"},{"type_id":123,"type_name":"泰剧"},{"type_id":124,"type_name":"港剧"},{"type_id":125,"type_name":"台剧"},{"type_id":126,"type_name":"新马剧"},{"type_id":127,"type_name":"其他剧"},{"type_id":128,"type_name":"欧美综艺"},{"type_id":129,"type_name":"日本综艺"},{"type_id":130,"type_name":"韩国综艺"},{"type_id":131,"type_name":"国产综艺"},{"type_id":132,"type_name":"新马泰综艺"},{"type_id":133,"type_name":"港台综艺"},{"type_id":134,"type_name":"其他综艺"},{"type_id":135,"type_name":"欧美动漫"},{"type_id":136,"type_name":"日本动漫"},{"type_id":137,"type_name":"韩国动漫"},{"type_id":138,"type_name":"国产动漫"},{"type_id":139,"type_name":"新马泰动漫"},{"type_id":140,"type_name":"港台动漫"},{"type_id":142,"type_name":"其他动漫"}] + + result['class'] = classes + return result + def homeVideoContent(self): + rsp = self.fetch("https://api.8a5.cn/parse/if101/py.php?do=homeVideoContent") + alists = json.loads(rsp.text) + alist = alists['list'] + result = { + 'list':alist + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + urlParams = [] + params = '' + for key in extend: + urlParams.append(str(key) + '=' + extend[key]) + params = '&'.join(urlParams) + url = 'https://api.8a5.cn/parse/if101/py.php?do=categoryContent&tid={0}&page={1}&{2}'.format(tid, pg,params) + rsp = self.fetch(url) + alists = json.loads(rsp.text) + alist = alists['list'] + + result['list'] = alist + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self,array): + tid = array[0] + url = 'https://api.8a5.cn/parse/if101/py.php?do=detailContent&id={0}'.format(tid) + rsp = self.fetch(url) + alists = json.loads(rsp.text) + vod = alists['vod'] + result = { + 'list':[ + vod + ] + } + return result + + def searchContent(self,key,quick): + url = 'https://api.8a5.cn/parse/if101/py.php?do=searchContent&wd={0}'.format(key) + rsp = self.fetch(url) + alists = json.loads(rsp.text) + list = alists['list'] + result = { + 'list':list + } + return result + + + def playerContent(self,flag,id,vipFlags): + result = {} + id = 'https://api.8a5.cn/parse/if101/get.php?url=' + urllib.parse.quote(id) + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = id + return result + + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def localProxy(self,param): + return [200, "video/MP2T", action, ""] diff --git a/TVBox_PY/py_ikan.py b/TVBox_PY/py_ikan.py new file mode 100644 index 0000000..c9adeed --- /dev/null +++ b/TVBox_PY/py_ikan.py @@ -0,0 +1,206 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import base64 +import math +import json +import requests + +class Spider(Spider): + def getName(self): + return "爱看影视" + def init(self,extend=""): + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "电影": "1", + "剧集": "2", + "综艺": "3", + "动漫": "4", + "美剧": "16", + "日韩剧": "15", + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = {} + return result + + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://ikan6.vip/vodtype/{0}-{1}/'.format(tid,pg) + rsp = self.fetch(url) + html = self.html(rsp.text) + aList = html.xpath("//ul[contains(@class, 'myui-vodlist')]/li") + videos = [] + numvL = len(aList) + pgc = math.ceil(numvL/15) + for a in aList: + aid = a.xpath("./div[contains(@class, 'myui-vodlist__box')]/a/@href")[0] + aid = self.regStr(reg=r'/voddetail/(.*?)/', src=aid) + img = a.xpath(".//div[contains(@class, 'myui-vodlist__box')]/a/@data-original")[0] + name = a.xpath(".//div[contains(@class, 'myui-vodlist__box')]/a/@title")[0] + remark = a.xpath(".//span[contains(@class, 'pic-text text-right')]/text()")[0] + videos.append({ + "vod_id": aid, + "vod_name": name, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = pgc + result['limit'] = numvL + result['total'] = numvL + return result + + def detailContent(self,array): + aid = array[0] + url = 'https://ikan6.vip/voddetail/{0}/'.format(aid) + rsp = self.fetch(url) + html = self.html(rsp.text) + node = html.xpath("//div[@class='myui-content__detail']")[0] + title = node.xpath("./h1/text()")[0] + pic = html.xpath("//a[@class='myui-vodlist__thumb picture']/img/@src")[0] + cont = html.xpath("//div[@class='col-pd text-collapse content']/span[@class='data']/p/text()")[0].replace('\u3000','') + infoList = node.xpath("./p[@class='data']") + for info in infoList: + content = info.xpath('string(.)').replace('\t','').replace('\r','').replace('\n','').strip() + if content.startswith('导演:'): + dir = content.replace('导演:','').strip() + if content.startswith('主演:'): + act = content.replace('主演:','').replace('\xa0','/').strip() + if content.startswith('分类:'): + infos = content.split(':') + for i in range(0, len(infos)): + if infos[i] == '分类': + typeName = infos[i + 1][:-2] + if infos[i][-2:] == '地区': + area = infos[i + 1][:-2] + if infos[i][-2:] == '年份': + year = infos[i + 1] + vod = { + "vod_id": aid, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": year, + "vod_area": area, + "vod_remarks": '', + "vod_actor": act, + "vod_director": dir, + "vod_content": cont + } + urlList = html.xpath("//div[@class='tab-content myui-panel_bd']/div/ul/li") + playUrl = '' + for url in urlList: + purl = url.xpath("./a/@href")[0] + purl = self.regStr(reg=r'/vodplay/(.*?)/', src=purl) + name = url.xpath("./a/text()")[0] + playUrl = playUrl + '{0}${1}#'.format(name, purl) + vod['vod_play_from'] = '爱看影视' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + + def verifyCode(self): + retry = 10 + header = { + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"} + while retry: + try: + session = requests.session() + img = session.get('https://ikan6.vip/index.php/verify/index.html?', headers=header).content + code = session.post('https://api.nn.ci/ocr/b64/text', data=base64.b64encode(img).decode()).text + res = session.post(url=f"https://ikan6.vip/index.php/ajax/verify_check?type=search&verify={code}", + headers=header).json() + if res["msg"] == "ok": + return session + except Exception as e: + print(e) + finally: + retry = retry - 1 + + def searchContent(self,key,quick): + result = {} + url = 'https://ikan6.vip/vodsearch/-------------/?wd={0}&submit='.format(key) + session = self.verifyCode() + rsp = session.get(url) + root = self.html(rsp.text) + vodList = root.xpath("//ul[@class='myui-vodlist__media clearfix']/li") + videos = [] + for vod in vodList: + name = vod.xpath("./div/h4/a/text()")[0] + pic = vod.xpath("./div[@class='thumb']/a/@data-original")[0] + mark = vod.xpath("./div[@class='thumb']/a/span[@class='pic-text text-right']/text()")[0] + sid = vod.xpath("./div[@class='thumb']/a/@href")[0] + sid = self.regStr(sid,"/voddetail/(\\S+)/") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list': videos + } + + return result + + def playerContent(self,flag,id,vipFlags): + result = {} + url = 'https://ikan6.vip/vodplay/{0}/'.format(id) + rsp = self.fetch(url) + info = json.loads(self.regStr(reg=r'var player_data=(.*?)', src=rsp.text)) + if info['encrypt'] == 1: + str = info['url'].replace('%u', '\\u').encode('utf-8').decode('unicode_escape') + elif info['encrypt'] == 2: + str = base64.b64decode(info['url'].replace('%u', '\\u').encode('utf-8').decode('unicode_escape')).decode( + 'UTF-8') + elif info['encrypt'] == 3: + string = info['url'][8:len(info['url'])] + substr = base64.b64decode(string).decode('UTF-8') + str = substr[8:len(substr) - 8].split('_')[-1] + purl = 'https://weiyunsha.ikan6.vip/tsjmjson/play.php?sign={0}'.format(str) + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = purl + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_jrskbs.py b/TVBox_PY/py_jrskbs.py new file mode 100644 index 0000000..c11dd72 --- /dev/null +++ b/TVBox_PY/py_jrskbs.py @@ -0,0 +1,158 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import re +import math + +class Spider(Spider): + def getName(self): + return "企鹅体育" + def init(self,extend=""): + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "全部": "" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = {} + return result + + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://m.jrskbs.com' + rsp = self.fetch(url) + html = self.html(rsp.text) + aList = html.xpath("//div[contains(@class, 'contentList')]/a") + videos = [] + numvL = len(aList) + pgc = math.ceil(numvL/15) + for a in aList: + aid = a.xpath("./@href")[0] + aid = self.regStr(reg=r'/live/(.*?).html', src=aid) + img = a.xpath(".//div[@class='contentLeft']/p/img/@src")[0] + home = a.xpath(".//div[@class='contentLeft']/p[@class='false false']/text()")[0] + away = a.xpath(".//div[@class='contentRight']/p[@class='false false']/text()")[0] + infoArray = a.xpath(".//div[@class='contentCenter']/p") + remark = '' + for info in infoArray: + content = info.xpath('string(.)').replace(' ','') + remark = remark + '|' + content + videos.append({ + "vod_id": aid, + "vod_name": home + 'vs' + away, + "vod_pic": img, + "vod_remarks": remark.strip('|') + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = pgc + result['limit'] = numvL + result['total'] = numvL + return result + + def detailContent(self,array): + aid = array[0] + url = "http://m.jrskbs.com/live/{0}.html".format(aid) + rsp = self.fetch(url) + root = self.html(rsp.text) + divContent = root.xpath("//div[@class='today']")[0] + home = divContent.xpath(".//p[@class='onePlayer homeTeam']/text()")[0] + away = divContent.xpath(".//div[3]/text()")[0].strip() + title = home + 'vs' + away + pic = divContent.xpath(".//img[@class='gameLogo1 homeTeam_img']/@src")[0] + typeName = divContent.xpath(".//div/p[@class='name1 matchTime_wap']/text()")[0] + remark = divContent.xpath(".//div/p[@class='time1 matchTitle']/text()")[0].replace(' ','') + url = divContent.xpath("//div[@class='liveCotainer']/iframe[@id='pp']/@src")[0] + vod = { + "vod_id": aid, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": "", + "vod_area": "", + "vod_remarks": remark, + "vod_actor": '', + "vod_director":'', + "vod_content": '' + } + playUrl = '{0}${1}#'.format(title, url) + vod['vod_play_from'] = '体育直播' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self,key,quick): + result = {} + return result + + def playerContent(self,flag,id,vipFlags): + result = {} + url = id + rsp = self.fetch(url) + html = rsp.text + strList = re.findall(r"eval\((.*?)\);", html) + fuctList = strList[1].split('+') + scrpit = '' + for fuc in fuctList: + if fuc.endswith(')'): + append = fuc.split(')')[-1] + else: + append = '' + Unicode = int(self.regStr(reg=r'l\((.*?)\)', src=fuc)) + char = chr(Unicode%256) + char = char + append + scrpit = scrpit + char + par= self.regStr(reg=r'/(.*)/', src=scrpit).replace(')','') + pars= par.split('/') + infoList = strList[2].split('+') + str = '' + for info in infoList: + if info.startswith('O'): + Unicode = int(int(self.regStr(reg=r'O\((.*?)\)', src=info))/int(pars[0])/int(pars[1])) + char = chr(Unicode % 256) + str = str +char + url = self.regStr(reg=r"play_url=\'(.*?)\'", src=str) + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_jumi.py b/TVBox_PY/py_jumi.py new file mode 100644 index 0000000..669fced --- /dev/null +++ b/TVBox_PY/py_jumi.py @@ -0,0 +1,216 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "剧迷" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + # https://gimytv.co/ + result = {} + cateManual = { + "电影": "movies", + "电视剧": "tvseries", + "综艺": "tv_show", + "动漫": "anime" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + rsp = self.fetch("https://gimytv.co/",headers=self.header) + root = self.html(rsp.text) + aList = root.xpath("//ul[@class='myui-vodlist clearfix']/li/div/a") + videos = [] + for a in aList: + name = a.xpath("./@title")[0] + pic = a.xpath("./@data-original")[0] + mark = a.xpath("./span[contains(@class, 'pic-text')]/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + urlParams = ["", "", "", ""] + urlParams[0] = tid + urlParams[3] = pg + suffix = '' + for key in extend: + if key == 4: + suffix = '/by/'+extend[key] + else: + urlParams[int(key)] = extend[key] + params = '-'.join(urlParams)+suffix + # https://gimytv.co/genre/tvseries--2022-/by/hits_month.html + url = 'https://gimytv.com/genre/{0}.html'.format(params) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + aList = root.xpath("//ul[@class='myui-vodlist clearfix']/li/div/a") + videos = [] + for a in aList: + name = a.xpath("./@title")[0] + pic = a.xpath("./@data-original")[0] + mark = a.xpath("./span[contains(@class, 'pic-text')]/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'https://gimytv.co/{0}.html'.format(tid) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + node = root.xpath("//div[@class='container']")[0] + title = node.xpath(".//div[@class='myui-content__thumb']/a/@title")[0] + pic = node.xpath(".//div[@class='myui-content__thumb']/a/img/@data-original")[0] + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":pic, + "type_name":"", + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":"" + } + infoArray = node.xpath(".//div[@class='myui-content__detail']/p") + for info in infoArray: + content = info.xpath('string(.)') + if content.startswith('分類'): + vod['type_name'] = content + # if content.startswith('年份'): + # vod['vod_year'] = content + # if content.startswith('地区'): + # vod['vod_area'] = content + if content.startswith('狀態'): + vod['vod_remarks'] = content + if content.startswith('主演'): + vod['vod_actor'] = content + if content.startswith('導演'): + vod['vod_director'] = content + # if content.startswith('剧情'): + # vod['vod_content'] = content + vod['vod_content'] = node.xpath(".//div[contains(@class,'col-pd')]/p/text()")[0] + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath(".//div[@class='myui-panel_hd']/div/h3/text()[2]") + for v in vodHeader: + playFrom.append(v.strip()) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = root.xpath(".//ul[contains(@class,'myui-content__list')]") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./li/a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('./text()')[0] + tId = self.regStr(href,'/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + url = "https://gimytv.co/search/-------------.html?wd={0}".format(key) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + aList = root.xpath("//ul[contains(@class,'myui-vodlist__media')]/li") + videos = [] + for a in aList: + name = a.xpath(".//a/@title")[0] + pic = a.xpath(".//a/@data-original")[0] + mark = a.xpath(".//span[contains(@class, 'pic-text')]/text()")[0] + sid = a.xpath(".//a/@href")[0] + sid = self.regStr(sid,"/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def playerContent(self,flag,id,vipFlags): + url = 'https://gimytv.co/{0}.html'.format(id) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + scripts = root.xpath("//script/text()") + jo = {} + for script in scripts: + if(script.startswith("var player_")): + target = script[script.index('{'):] + jo = json.loads(target) + break; + url = jo['url'] + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + cookie = {} + config = { + "player": {}, + "filter": {"movies":[{"key":0,"name":"分类","value":[{"n":"全部","v":""},{"n":"劇情片","v":"drama"},{"n":"動作片","v":"action"},{"n":"科幻片","v":"scifi"},{"n":"喜劇片","v":"comedymovie"},{"n":"愛情片","v":"romance"},{"n":"戰爭片","v":"war"},{"n":"恐怖片","v":"horror"},{"n":"動畫電影","v":"animation"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"美國","v":"美國"},{"n":"歐美","v":"歐美"},{"n":"大陸","v":"大陸"},{"n":"中國大陸","v":"中國大陸"},{"n":"韓國","v":"韓國"},{"n":"香港","v":"香港"},{"n":"日本","v":"日本"},{"n":"英國","v":"英國"}]},{"key":2,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":4,"name":"排序","value":[{"n":"按更新","v":"time"},{"n":"周人气","v":"hits_week"},{"n":"月人气","v":"hits_month"}]}],"tvseries":[{"key":0,"name":"分类","value":[{"n":"全部","v":""},{"n":"陸劇","v":"cn"},{"n":"韓劇","v":"kr"},{"n":"美劇","v":"us"},{"n":"日劇","v":"jp"},{"n":"台劇","v":"tw"},{"n":"港劇","v":"hks"},{"n":"海外劇","v":"ot"},{"n":"紀錄片","v":"documentary"}]},{"key":2,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":4,"name":"排序","value":[{"n":"按更新","v":"time"},{"n":"周人气","v":"hits_week"},{"n":"月人气","v":"hits_month"}]}],"anime":[{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"日本","v":"日本"},{"n":"美國","v":"美國"},{"n":"歐美","v":"歐美"},{"n":"大陸","v":"大陸"},{"n":"臺灣","v":"臺灣"},{"n":"香港","v":"香港"}]},{"key":2,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":4,"name":"排序","value":[{"n":"按更新","v":"time"},{"n":"周人气","v":"hits_week"},{"n":"月人气","v":"hits_month"}]}],"tv_show":[{"key":0,"name":"分类","value":[{"n":"全部","v":""},{"n":"纪录片","v":"28"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"大陸","v":"大陸"},{"n":"中國大陸","v":"中國大陸"},{"n":"韓國","v":"韓國"},{"n":"臺灣","v":"臺灣"},{"n":"美國","v":"美國"},{"n":"歐美","v":"歐美"},{"n":"日本","v":"日本"},{"n":"香港","v":"香港"}]},{"key":2,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":4,"name":"排序","value":[{"n":"按更新","v":"time"},{"n":"周人气","v":"hits_week"},{"n":"月人气","v":"hits_month"}]}]} + } + header = { + 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.47' + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_kunyu77.py b/TVBox_PY/py_kunyu77.py new file mode 100644 index 0000000..b4c15fa --- /dev/null +++ b/TVBox_PY/py_kunyu77.py @@ -0,0 +1,175 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): + def getName(self): + return "77" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def homeContent(self,filter): + result = {} + url = 'http://api.kunyu77.com/api.php/provide/filter' + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + classes = [] + jData = jo['data'] + for cKey in jData.keys(): + classes.append({ + 'type_name':jData[cKey][0]['cat'], + 'type_id':cKey + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + url = 'http://api.kunyu77.com/api.php/provide/homeBlock?type_id=0' + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + blockList = jo['data']['blocks'] + videos = [] + for block in blockList: + vodList = block['contents'] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['title'], + "vod_pic":vod['videoCover'], + "vod_remarks":vod['msg'] + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + if 'type_id' not in extend.keys(): + extend['type_id'] = tid + extend['pagenum'] = pg + filterParams = ["type_id", "pagenum"] + params = ["", ""] + for idx in range(len(filterParams)): + fp = filterParams[idx] + if fp in extend.keys(): + params[idx] = '&'+filterParams[idx]+'='+extend[fp] + suffix = ''.join(params) + url = 'http://api.kunyu77.com/api.php/provide/searchFilter?pagesize=24{0}'.format(suffix) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['data']['result'] + videos = [] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['title'], + "vod_pic":vod['videoCover'], + "vod_remarks":vod['msg'] + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'http://api.kunyu77.com/api.php/provide/videoDetail?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids={0}'.format(tid) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + node = jo['data'] + vod = { + "vod_id":node['id'], + "vod_name":node['videoName'], + "vod_pic":node['videoCover'], + "type_name":node['subCategory'], + "vod_year":node['year'], + "vod_area":node['area'], + "vod_remarks":node['msg'], + "vod_actor":node['actor'], + "vod_director":node['director'], + "vod_content":node['brief'].strip() + } + listUrl = 'http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&version=1.8.7&ids={0}'.format(tid) + listRsp = self.fetch(listUrl,headers=self.header) + listJo = json.loads(listRsp.text) + playMap = {} + episodes = listJo['data']['episodes'] + for ep in episodes: + playurls = ep['playurls'] + for playurl in playurls: + source = playurl['playfrom'] + if source not in playMap.keys(): + playMap[source] = [] + playMap[source].append(playurl['title'].strip() + '$' + playurl['playurl']) + + playFrom = [] + playList = [] + for key in playMap.keys(): + playFrom.append(key) + playList.append('#'.join(playMap[key])) + + vod_play_from = '$$$' + vod_play_from = vod_play_from.join(playFrom) + vod_play_url = '$$$' + vod_play_url = vod_play_url.join(playList) + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + + def searchContent(self,key,quick): + url = 'http://api.kunyu77.com/api.php/provide/searchVideo?searchName={0}'.format(key) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['data'] + videos = [] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['videoName'], + "vod_pic":vod['videoCover'], + "vod_remarks":vod['msg'] + }) + result = { + 'list':videos + } + return result + + config = { + "player": {}, + "filter": {} + } + header = { + "User-Agent":"Dalvik/2.1.0" + } + def playerContent(self,flag,id,vipFlags): + result = {} + url = 'http://api.kunyu77.com/api.php/provide/parserUrl?url={0}'.format(id) + jo = self.fetch(url,headers=self.header).json() + result = { + 'parse':0, + 'jx':0, + 'playUrl':'', + 'url':id, + 'header':'' + } + if flag in vipFlags: + result['parse'] = 1 + result['jx'] = 1 + return result + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_lezhutv.py b/TVBox_PY/py_lezhutv.py new file mode 100644 index 0000000..c30e0ec --- /dev/null +++ b/TVBox_PY/py_lezhutv.py @@ -0,0 +1,238 @@ +# coding=utf-8 +# !/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import base64 +import hashlib + + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "LeZhuTV" + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def homeContent(self, filter): + result = {} + cateManual = { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "综艺": "3", + "韩剧": "14", + "美剧": "15" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + def homeVideoContent(self): + rsp = self.fetch("http://www.lezhutv.com") + root = self.html(rsp.text) + aList = root.xpath("//ul[@class='tbox_m2']/li") + videos = [] + for a in aList: + name = a.xpath('.//@title')[0] + pic = a.xpath('.//@data-original')[0] + mark = a.xpath(".//span/text()")[0] + sid = a.xpath(".//@href")[0] + sid = self.regStr(sid, "/detail/(\\d+).html") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result = { + 'list': videos + } + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + + ext = extend.get("by","") + url = 'http://www.lezhutv.com/list/{0}_{1}_desc_{2}_0_0___.html'.format(tid,pg,ext) + rsp = self.fetch(url) + root = self.html(rsp.text) + aList = root.xpath("//ul[@class='tbox_m2']/li") + videos = [] + for a in aList: + name = a.xpath('.//@title')[0] + pic = a.xpath('.//@data-original')[0] + mark = a.xpath(".//span/text()")[0] + sid = a.xpath(".//@href")[0] + sid = self.regStr(sid, "/detail/(\\d+).html") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, array): + tid = array[0] + url = 'http://www.lezhutv.com/detail/{0}.html'.format(tid) + rsp = self.fetch(url) + root = self.html(rsp.text) + node = root.xpath(".//div[@class='dbox']")[0] + nodes = root.xpath(".//div[@class='tbox2']")[0] + pic = node.xpath(".//div/@data-original")[0] + title = node.xpath('.//h4/text()')[0] + detail = nodes.xpath(".//div[@class='tbox_js']/text()")[0] + yac = node.xpath(".//p[@class='yac']/text()")[0] + yac = yac.split('/') + yacs = yac[0].strip() + type_name = yac[1].strip() + actor = node.xpath(".//p[@class='act']/text()")[0] + director = node.xpath(".//p[@class='dir']/text()")[0] + + vod = { + "vod_id": tid, + "vod_name": title, + "vod_pic": pic, + "type_name": type_name, + "vod_year": yacs, + "vod_area": "", + "vod_remarks": "", + "vod_actor": actor, + "vod_director": director, + "vod_content": detail + } + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath(".//div[@class='tbox2 tabs']/div/h3/text()") + i=1 + for v in vodHeader: + playFrom.append("线路" + str(i)) + i = i+1 + vod_play_from = vod_play_from.join(playFrom) + vod_play_url = '$$$' + playList = [] + vodList = root.xpath("//div[@class='tbox2 tabs']") + + for vl in vodList: + vodItems = [] + aList = vl.xpath(".//ul/li/a") + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('./text()')[0] + tId = self.regStr(href, '/play/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + url = 'http://www.lezhutv.com/search-pg-1-wd-{0}.html'.format(key) + rsp = self.fetch(url) + root = self.html(rsp.text) + seaArray = root.xpath("//ul[@class='tbox_m']/li") + seaList = [] + for vod in seaArray: + name = vod.xpath('.//@title')[0] + pic = vod.xpath('.//@data-original')[0] + mark = vod.xpath(".//span/text()")[0] + sid = vod.xpath(".//@href")[0] + sid = self.regStr(sid, "/detail/(\\d+).html") + seaList.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result = { + 'list': seaList + } + return result + + config = { + "player":{}, + "filter":{"1":[{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"score"},{"n":"评分","v":"hits"}]}],"2":[{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"score"},{"n":"评分","v":"hits"}]}],"3":[{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"score"},{"n":"评分","v":"hits"}]}],"4":[{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"score"},{"n":"评分","v":"hits"}]}],"14":[{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"score"},{"n":"评分","v":"hits"}]}],"15":[{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"score"},{"n":"评分","v":"hits"}]}]} + } + header = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36" + } + + def get_md5(self,value): + b64 = base64.b64encode((base64.b64encode(value.encode()).decode() + "NTY2").encode()).decode() + md5 = hashlib.md5(b64.encode()).hexdigest() + return "".join(char if char.isdigit() else "zyxwvutsrqponmlkjihgfedcba"["abcdefghijklmnopqrstuvwxyz".find(char)] for char in md5) + + def playerContent(self, flag, id, vipFlags): + result = {} + url = 'http://www.lezhutv.com/play/{0}.html'.format(id) + rsp = self.fetch(url) + root = self.html(rsp.text) + scripts = root.xpath("//script/text()") + scripts = scripts[1].replace('\n', '') + nid = self.regStr(scripts, 'view_path = \'(.*?)\';') + + md5url = 'http://www.lezhutv.com/hls2/index.php?url={0}'.format(nid) + rsp = self.fetch(md5url) + root = self.html(rsp.text) + value = root.xpath(".//input[@id='hdMd5']/@value") + value = ''.join(value) + md5s = self.get_md5(str(value)) + data = { + "id": nid, + "type": "vid", + "siteuser": "", + "md5": md5s, + "referer": url, + "hd": "", + "lg": "" + } + payUrl = 'http://www.lezhutv.com/hls2/url.php' + parseRsp = self.post(payUrl,data,headers=self.header) + parseRsps = json.loads(parseRsp.text) + realUrl = parseRsps['media']['url'] + if len(realUrl) > 0: + result["parse"] = 0 + result["playUrl"] = "" + result["url"] = realUrl + result["header"] = "" + else: + result["parse"] = 1 + result["playUrl"] = "" + result["url"] = url + result["header"] = json.dumps(self.header) + return result + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def localProxy(self, param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_libvio.py b/TVBox_PY/py_libvio.py new file mode 100644 index 0000000..77b5f78 --- /dev/null +++ b/TVBox_PY/py_libvio.py @@ -0,0 +1,234 @@ +# coding=utf-8 +# !/usr/bin/python +import sys + +sys.path.append('..') +from base.spider import Spider +import json + + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "Libvio" + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def homeContent(self, filter): + result = {} + cateManual = { + "电影": "1", + "剧集": "2", + "动漫": "4", + "即将上线": "27", + "日韩剧": "15", + "欧美剧": "16" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + def homeVideoContent(self): + rsp = self.fetch("https://www.libvio.me") + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//div[@class='stui-pannel__bd']/ul/li/div/a") + + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('./@data-original')[0] + mark = a.xpath("./span[2]/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid, "/detail/(\\d+).html") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result = { + 'list': videos + } + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + + urlParams = ["", "", "", "", "", "", "", "", "", "", "", ""] + urlParams[0] = tid + urlParams[8] = pg + for key in extend: + urlParams[int(key)] = extend[key] + params = '-'.join(urlParams) + url = 'https://www.libvio.me/show/{0}.html'.format(params) + print(url) + rsp = self.fetch(url) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//div[@class='stui-pannel__bd clearfix']/ul/li/div/a") + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('./@data-original')[0] + mark = a.xpath("./span[2]/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid, "/detail/(\\d+).html") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, array): + tid = array[0] + url = 'https://www.libvio.me/detail/{0}.html'.format(tid) + rsp = self.fetch(url) + root = self.html(self.cleanText(rsp.text)) + node = root.xpath("//div[@class='stui-pannel__bd']")[0] + pic = node.xpath(".//img/@data-original")[0] + title = node.xpath('.//h1/text()')[0] + detail = node.xpath(".//span[@class='detail-content']/text()")[0] + douban = node.xpath(".//span[@class='douban']/text()")[0] + + vod = { + "vod_id": tid, + "vod_name": title, + "vod_pic": pic, + "type_name": "", + "vod_year": "", + "vod_area": "", + "vod_remarks": "", + "vod_actor": "", + "vod_director": "", + "vod_douban_score": format(douban.rstrip("分")), + "vod_content": detail + } + + infoArray = node.xpath(".//div[@class='stui-content__detail']/p") + for info in infoArray: + content = info.xpath('string(.)') + if content.startswith('类型'): + vod['type_name'] = content + if content.startswith('主演'): + vod['vod_actor'] = content.replace('\n', '').replace('\t', '') + if content.startswith('导演'): + vod['vod_director'] = content.replace('\n', '').replace('\t', '') + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath("//div[@class='stui-pannel__head clearfix']/h3/text()") + for v in vodHeader: + playFrom.append(v) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = root.xpath("//div[@class='stui-vodlist__head']") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./ul/li/a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('./text()')[0] + tId = self.regStr(href, '/play/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + url = 'https://www.libvio.me/index.php/ajax/suggest?mid=1&wd={0}'.format(key) + # getHeader() + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + result = {} + jArray = [] + if jo['total'] > 0: + for j in jo['list']: + jArray.append({ + "vod_id": j['id'], + "vod_name": j['name'], + "vod_pic": j['pic'], + "vod_remarks": "" + }) + result = { + 'list': jArray + } + return result + + config = { + "player":{"LINE405":{"show":"LINE405","des":"更多极速线路请访问APP","ps":"0","parse":""},"duoduozy":{"show":"LINE100","des":"","ps":"0","parse":""},"LINE407":{"show":"LINE400","des":"","ps":"0","parse":""},"LINE408":{"show":"LINE408","des":"","ps":"0","parse":""},"p300":{"show":"LINE300","des":"","ps":"0","parse":""},"p301":{"show":"LINE301","des":"","ps":"0","parse":""},"line402-日语":{"show":"LINE402","des":"","ps":"0","parse":""},"LINE400":{"show":"LINE400","des":"","ps":"0","parse":""},"line401":{"show":"LINE401","des":"","ps":"0","parse":""},"iframe268":{"show":"LINE268","des":"","ps":"0","parse":""},"iframe290":{"show":"LINE290","des":"","ps":"0","parse":""},"iframe291":{"show":"LINE291","des":"","ps":"0","parse":""},"iframe296":{"show":"LINE296","des":"","ps":"0","parse":""},"iframe297":{"show":"LINE297","des":"","ps":"0","parse":""},"iframe307":{"show":"LINE307","des":"","ps":"0","parse":""},"iframe308":{"show":"LINE308","des":"","ps":"0","parse":""},"iframe309":{"show":"LINE309","des":"","ps":"0","parse":""},"line301":{"show":"LINE333","des":"","ps":"0","parse":""},"line302":{"show":"LINE302","des":"","ps":"0","parse":""},"LINE409":{"show":"LINE409","des":"","ps":"0","parse":""},"banquan":{"show":"已下架","des":"","ps":"0","parse":""},"iframe261":{"show":"LINE261","des":"","ps":"0","parse":""},"iframe265":{"show":"LINE265","des":"","ps":"0","parse":""},"iframe278":{"show":"LINE278","des":"","ps":"0","parse":""},"iframe306":{"show":"LINE306","des":"","ps":"0","parse":""},"iframe317":{"show":"LINE317","des":"","ps":"0","parse":""},"iframe257":{"show":"LINE257","des":"","ps":"0","parse":""},"iframe263":{"show":"LINE263","des":"","ps":"0","parse":""},"iframe258":{"show":"LINE258","des":"","ps":"0","parse":""},"iframe267":{"show":"LINE267","des":"","ps":"0","parse":""},"iframe":{"show":"LINE200","des":"","ps":"0","parse":""},"iframe262":{"show":"LINE262","des":"","ps":"0","parse":""},"iframe266":{"show":"LINE266","des":"","ps":"0","parse":""},"LINE406":{"show":"LINE406","des":"","ps":"0","parse":""},"dplayer3":{"show":"播放线路3","des":"","ps":"0","parse":""}}, + "filter":{"1":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"2":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"台湾","v":"中国台湾"},{"n":"香港","v":"中国香港"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"3":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"游戏互动","v":"游戏互动"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"4":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国","v":"中国"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"6":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"7":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"8":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"9":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"10":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"11":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"12":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"13":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"惊悚","v":"惊悚"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"14":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"15":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"惊悚","v":"惊悚"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}],"16":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"美国","v":"美国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]}]} + } + header = { + "Referer": "https://www.libvio.me", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36" + } + + def playerContent(self, flag, id, vipFlags): + result = {} + url = 'https://www.libvio.me/play/{0}.html'.format(id) + rsp = self.fetch(url) + root = self.html(self.cleanText(rsp.text)) + scripts = root.xpath("//script/text()") + jo = {} + for script in scripts: + if (script.startswith("var player_")): + target = script[script.index('{'):] + jo = json.loads(target) + break; + nid = str(jo['nid']) + scriptUrl = 'https://www.libvio.me/static/player/{0}.js'.format(jo['from']) + scriptRsp = self.fetch(scriptUrl) + parseUrl = self.regStr(scriptRsp.text, 'src="(\\S+url=)') + if len(parseUrl) > 0: + path = jo['url'] + '&next=' + jo['link_next'] + '&id=' + jo['id'] + '&nid=' + nid + parseRsp = self.fetch(parseUrl + path,headers=self.header) + realUrl = self.regStr(parseRsp.text, "(?<=urls\\s=\\s').*?(?=')", 0) + if len(realUrl) > 0: + result["parse"] = 0 + result["playUrl"] = "" + result["url"] = realUrl + result["header"] = "" + else: + result["parse"] = 1 + result["playUrl"] = "" + result["url"] = jo['url'] + result["header"] = json.dumps(self.header) + return result + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def localProxy(self, param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_mac.py b/TVBox_PY/py_mac.py new file mode 100644 index 0000000..aeadbff --- /dev/null +++ b/TVBox_PY/py_mac.py @@ -0,0 +1,82 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import requests + +class Spider(Spider): + def getDependence(self): + return ['py_ali'] + def getName(self): + return "py_mac" + def init(self,extend): + self.ali = extend[0] + print("============py_mac============") + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + return result + def homeVideoContent(self): + result = {} + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + return result + header = { + "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", + "Referer": "http://ali.546326.xyz" + } + def detailContent(self,array): + tid = array[0] + #print(tid) + #print(self.getName()) + url="http://ali.546326.xyz/api.php/provide/vod/?ac=detail&ids={0}".format(tid) + vods=requests.get(url=url, headers=self.header, verify=False).json()["list"][0] + playurl = vods['vod_play_url'] + playArray = playurl.split("#") + newArray =[] + for vod in playArray: + if vod: + vds = vod.split("$") + playurl = vds[1].replace(" ","") + pattern = '(https://www.aliyundrive.com/s/[^\"]+)' + url = self.regStr(playurl, pattern) + if len(url) > 0: + newArray.append(playurl) + if len(newArray) == 0: + return "" + #print(newArray) + return self.ali.detailContent(newArray) + + def searchContent(self,key,quick): + url = "http://ali.546326.xyz/api.php/provide/vod/?wd={0}".format(key) + vodList = requests.get(url=url, headers=self.header, verify=False).json()["list"] + videos = [] + for vod in vodList: + videos.append({ + "vod_id": vod["vod_id"], + "vod_name": vod["vod_name"], + "vod_pic": "https://img0.baidu.com/it/u=603086994,1727626977&fm=253&fmt=auto?w=500&h=667",#字段不存在 + "vod_remarks": vod["vod_remarks"] + }) + result = { + 'list':videos + } + return result + + def playerContent(self,flag,id,vipFlags): + return self.ali.playerContent(flag,id,vipFlags) + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_pansou.py b/TVBox_PY/py_pansou.py new file mode 100644 index 0000000..54fab0f --- /dev/null +++ b/TVBox_PY/py_pansou.py @@ -0,0 +1,92 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider + +class Spider(Spider): + def getDependence(self): + return ['py_ali'] + def getName(self): + return "py_pansou" + def init(self,extend): + self.ali = extend[0] + print("============py_pansou============") + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + return result + def homeVideoContent(self): + result = {} + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + return result + + def detailContent(self,array): + tid = array[0] + print(self.getName()) + pattern = '(https:\\/\\/www.aliyundrive.com\\/s\\/[^\\\"]+)' + url = self.regStr(tid,pattern) + if len(url) > 0: + return self.ali.detailContent(array) + + rsp = self.fetch('https://www.alipansou.com'+tid) + url = self.regStr(rsp.text,pattern) + if len(url) == 0: + return "" + url = url.replace('\\','') + newArray = [url] + print(newArray) + return self.ali.detailContent(newArray) + + + def searchContent(self,key,quick): + map = { + '7':'文件夹', + '1':'视频' + } + ja = [] + for tKey in map.keys(): + url = "https://www.alipansou.com/search?k={0}&t={1}".format(key,tKey) + rsp = self.fetch(url) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//van-row/a") + for a in aList: + title = '' + # title = a.xpath('string(.//template/div)') + # title = self.cleanText(title).strip() + + divList = a.xpath('.//template/div') + for div in divList: + t = div.xpath('string(.)') + t = self.cleanText(t).strip() + title = title + t + if key in title: + pic = 'https://www.alipansou.com'+ self.xpText(a,'.//van-card/@thumb') + jo = { + 'vod_id': a.xpath('@href')[0], + 'vod_name': '[{0}]{1}'.format(key,title), + 'vod_pic': pic + } + ja.append(jo) + result = { + 'list':ja + } + return result + + def playerContent(self,flag,id,vipFlags): + return self.ali.playerContent(flag,id,vipFlags) + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_qie.py b/TVBox_PY/py_qie.py new file mode 100644 index 0000000..fb847cc --- /dev/null +++ b/TVBox_PY/py_qie.py @@ -0,0 +1,137 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import math + +class Spider(Spider): + def getName(self): + return "企鹅体育" + def init(self,extend=""): + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "全部": "", + "足球": "Football", + "篮球": "Basketball", + "NBA": "NBA", + "台球": "Billiards", + "搏击": "Fight", + "网排": "Tennis", + "游戏": "Game", + "其他": "Others", + "橄棒冰": "MLB" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = {} + return result + + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://live.qq.com/api/live/vlist?page_size=60&shortName={0}&page={1}'.format(tid, pg) + rsp = self.fetch(url) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + numvL = len(vodList) + pgc = math.ceil(numvL/15) + for vod in vodList: + aid = (vod['room_id']) + title = vod['room_name'].strip() + img = vod['room_src'] + remark = (vod['game_name']).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = pgc + result['limit'] = numvL + result['total'] = numvL + return result + + def detailContent(self,array): + aid = array[0] + url = "https://m.live.qq.com/{0}".format(aid) + rsp = self.fetch(url) + html = self.cleanText(rsp.text) + if self.regStr(reg=r'\"show_status\":\"(\d)\"', src=html) == '1': + title = self.regStr(reg=r'\"room_name\":\"(.*?)\"', src=html) + pic = self.regStr(reg=r'\"room_src\":\"(.*?)\"', src=html) + typeName = self.regStr(reg=r'\"game_name\":\"(.*?)\"', src=html) + remark = self.regStr(reg=r'\"nickname\":\"(.*?)\"', src=html) + purl = self.regStr(reg=r'\"hls_url\":\"(.*?)\"', src=html) + else: + return {} + vod = { + "vod_id": aid, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": "", + "vod_area": "", + "vod_remarks": remark, + "vod_actor": '', + "vod_director":'', + "vod_content": '' + } + playUrl = '{0}${1}#'.format(typeName, purl) + vod['vod_play_from'] = '企鹅体育' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self,key,quick): + result = {} + return result + def playerContent(self,flag,id,vipFlags): + result = {} + url = id + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_voflix.py b/TVBox_PY/py_voflix.py new file mode 100644 index 0000000..1f60675 --- /dev/null +++ b/TVBox_PY/py_voflix.py @@ -0,0 +1,228 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "Voflix" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + # https://meijuchong.cc/ + result = {} + cateManual = { + "电影": "1", + "剧集": "2", + "综艺": "3", + "动漫": "4" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + rsp = self.fetch("https://www.voflix.com/",headers=self.header) + root = self.html(rsp.text) + vodList = root.xpath("//div[@class='module']/div[contains(@class,'tab-list')]//a") + videos = [] + for vod in vodList: + name = vod.xpath("./@title")[0] + pic = vod.xpath(".//img/@data-original")[0] + mark = vod.xpath(".//div[@class='module-item-note']/text()")[0] + sid = vod.xpath("./@href")[0] + sid = self.regStr(sid,"/detail/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + if 'id' not in extend.keys(): + extend['id'] = tid + extend['page'] = pg + filterParams = ["id", "area", "by", "class", "", "", "", "", "page", "", "", "year"] + params = ["", "", "", "", "", "", "", "", "", "", "", ""] + for idx in range(len(filterParams)): + fp = filterParams[idx] + if fp in extend.keys(): + params[idx] = extend[fp] + suffix = '-'.join(params) + url = 'https://www.voflix.com/show/{0}.html'.format(suffix) + + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + vodList = root.xpath("//div[contains(@class, 'module-items')]/a") + videos = [] + for vod in vodList: + name = vod.xpath("./@title")[0] + pic = vod.xpath(".//img/@data-original")[0] + mark = vod.xpath(".//div[contains(@class,'module-item-note')]/text()")[0] + sid = vod.xpath("./@href")[0] + sid = self.regStr(sid,"/detail/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'https://www.voflix.com/detail/{0}.html'.format(tid) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + node = root.xpath("//div[@class='main']")[0] + title = node.xpath(".//div[@class='module-info-heading']/h1/text()")[0] + pic = root.xpath(".//div[@class='module-item-pic']/img/@data-original")[0] + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":pic, + "type_name":"", + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":"" + } + infoArray = node.xpath(".//div[@class='module-info-item']") + for info in infoArray: + content = info.xpath('string(.)') + # if content.startswith('分類'): + # vod['type_name'] = content + # if content.startswith('年份'): + # vod['vod_year'] = content + # if content.startswith('地区'): + # vod['vod_area'] = content + if content.startswith('片长'): + vod['vod_remarks'] = content.replace('\n','').replace('\t','') + if content.startswith('主演'): + vod['vod_actor'] = content.replace('\n','').replace('\t','') + if content.startswith('导演'): + vod['vod_director'] = content.replace('\n','').replace('\t','') + # if content.startswith('剧情'): + # vod['vod_content'] = content.replace('\n','').replace('\t','') + vod['vod_content'] = node.xpath(".//div[contains(@class,'module-info-introduction-content')]/p/text()")[0].replace('\n','').replace('\t','') + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath(".//div[contains(@class,'module-tab-items-box')]/div/span/text()") + for v in vodHeader: + playFrom.append(v.strip()) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = root.xpath(".//div[contains(@class,'module-play-list-content')]") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('.//span/text()')[0] + tId = self.regStr(href,'/play/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + url = "https://www.voflix.com/index.php/ajax/suggest?mid=1&wd={0}".format(key) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['list'] + videos = [] + for vod in vodList: + name = vod['name'] + pic = vod['pic'] + mark = '' + sid = vod['id'] + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def playerContent(self,flag,id,vipFlags): + # https://meijuchong.cc/static/js/playerconfig.js + result = {} + url = 'https://www.voflix.com/play/{0}.html'.format(id) + rsp = self.fetch(url,headers=self.header) + root = self.html(rsp.text) + scripts = root.xpath("//script/text()") + jo = {} + for script in scripts: + if(script.startswith("var player_")): + target = script[script.index('{'):] + jo = json.loads(target) + break; + + parseUrl = 'https://play.shtpin.com/xplay/?url={0}'.format(jo['url']) + parseRsp = self.fetch(parseUrl,headers={'referer':'https://www.voflix.com/'}) + + configStr = self.regStr(parseRsp.text,'var config = ({[\\s\\S]+})') + configJo = json.loads(configStr) + playUrl = 'https://play.shtpin.com/xplay/555tZ4pvzHE3BpiO838.php?tm={0}&url={1}&vkey={2}&token={3}&sign=F4penExTGogdt6U8' + playUrl.format(time.time(),configJo['url'],configJo['vkey'],configJo['token']) + playRsp = self.fetch(playUrl.format(time.time(),configJo['url'],configJo['vkey'],configJo['token']) + ,headers={'referer':'https://www.voflix.com/'}) + playJo = json.loads(playRsp.text) + b64 = playJo['url'][8:] + targetUrl = base64.b64decode(b64)[8:-8].decode() + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = targetUrl + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {"1":[{"key":"id","name":"类型","value":[{"n":"全部","v":"1"},{"n":"动作","v":"6"},{"n":"喜剧","v":"7"},{"n":"爱情","v":"8"},{"n":"科幻","v":"9"},{"n":"恐怖","v":"10"},{"n":"剧情","v":"11"},{"n":"战争","v":"12"},{"n":"动画","v":"23"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"2":[{"key":"id","name":"类型","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"13"},{"n":"港台剧","v":"14"},{"n":"日韩剧","v":"15"},{"n":"欧美剧","v":"16"},{"n":"纪 录片","v":"21"},{"n":"泰国剧","v":"24"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"古装","v":"古装"},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"中国台湾","v":"中国台湾"},{"n":"中国香港","v":"中国香港"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"3":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"游戏互动","v":"游戏互动"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"4":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":" 冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":" 社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国","v":"中国"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}]} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_wmkk.py b/TVBox_PY/py_wmkk.py new file mode 100644 index 0000000..b01572c --- /dev/null +++ b/TVBox_PY/py_wmkk.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# !/usr/bin/python +import sys +import re +sys.path.append('..') +from base.spider import Spider + + + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "完美看看" + + def init(self, extend=""): + print("============{0}============".format(extend)) + pass + + def homeContent(self, filter): + result = {} + cateManual = { + "电影": "1", + "国产剧": "5", + "欧美剧": "2", + "韩剧": "3", + "泰剧": "9", + "日剧": "4", + "动漫": "6", + "综艺": "7", + "纪录片": "10" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + + def homeVideoContent(self): + result = { + 'list': [] + } + return result + + def categoryContent(self, tid, pg, filter, extend): + result = {} + url = 'https://www.wanmeikk.film/category/{0}-{1}.html'.format(tid, pg) + rsp = self.fetch(url) + root = self.html(rsp.text) + aList = root.xpath("//div[@class='stui-pannel_bd']/ul[1]/li") + videos = [] + for a in aList: + name = a.xpath('./div/a/@title')[0] + pic = a.xpath('./div/a/@data-original')[0] + mark = a.xpath("./div/a/span[@class='pic-text text-right']/text()")[0] + sid = a.xpath("./div/a/@href")[0].replace("/", "").replace("project", "").replace(".html", "") + videos.append({ + "vod_id": sid, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, array): + tid = array[0] + url = 'https://www.wanmeikk.film/project/{0}.html'.format(tid) + header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + rsp = self.fetch(url, headers=header) + root = self.html(rsp.content) + divContent = root.xpath("//div[@class='col-lg-wide-75 col-xs-1']")[0] + title = divContent.xpath(".//h1[@class='title']/text()")[0] + pic = divContent.xpath(".//a[@class='stui-vodlist__thumb picture v-thumb']/img/@data-original")[0] + detail = divContent.xpath(".//p[@class='desc detail hidden-xs']/span[@class='detail-content']/text()")[0] + vod = { + "vod_id": tid, + "vod_name": title, + "vod_pic": pic, + "type_name": "", + "vod_year": "", + "vod_area": "", + "vod_remarks": "", + "vod_actor": "", + "vod_director": "", + "vod_content": detail + } + infoArray = divContent.xpath(".//div[@class='stui-content__detail']/p[@class='data']") + for info in infoArray: + content = info.xpath('string(.)') + if content.startswith('类型'): + infon = content.split('\xa0') + for inf in infon: + if inf.startswith('类型'): + vod['type_name'] = inf.replace("类型:", "") + if inf.startswith('地区'): + vod['vod_area'] = inf.replace("地区:", "") + if inf.startswith('年份'): + vod['vod_year'] = inf.replace("年份:", "") + if content.startswith('主演'): + vod['vod_actor'] = content.replace("\xa0", "/").replace("主演:", "") + if content.startswith('导演'): + vod['vod_director'] = content.replace("\xa0", "").replace("导演:", "") + vod_play_url = '$$$' + vod['vod_play_from'] = '完美看看' + purl = divContent.xpath(".//div[@class='stui-pannel_bd col-pd clearfix']/ul/li") + playList = [] + vodItems = [] + for plurl in purl: + plaurl = plurl.xpath(".//a/@href")[0] + name = plurl.xpath(".//a/text()")[0] + tId = self.regStr(plaurl, '/play/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + vod['vod_play_url'] = vod_play_url + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick): + result = {} + return result + + def playerContent(self, flag, id, vipFlags): + result = {} + url = 'https://www.wanmeikk.film/play/{0}.html'.format(id) + rsp = self.fetch(url) + root = self.html(rsp.text) + scripts = root.xpath("//div[@class='stui-player__video embed-responsive embed-responsive-16by9 clearfix']/script/text()")[0] + key = scripts.split("url")[1].replace('"', "").replace(':', "").replace(',', "").replace("'", "") + surl = 'https://www.wanmeikk.film/dplayer.php?url={0}'.format(key) + srsp = self.fetch(surl) + sroot = self.html(srsp.text) + murl = sroot.xpath("//script[@type='text/javascript']/text()")[0] + mp4url = re.findall(r"var urls = '(.*)';", murl)[0] + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = mp4url + result["header"] = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def localProxy(self, param): + action = { + 'url': '', + 'header': '', + 'param': '', + 'type': 'string', + 'after': '' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_xmaomi.py b/TVBox_PY/py_xmaomi.py new file mode 100644 index 0000000..83e6b7f --- /dev/null +++ b/TVBox_PY/py_xmaomi.py @@ -0,0 +1,258 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "x小猫咪" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "电影":"1", + "电视剧":"2", + "综艺":"3", + "动漫":"4", + "纪录":"5" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + tmpRsp = self.fetch("https://xmaomi.net/") + suffix = self.regStr(tmpRsp.text,"window.location.href =\"(\\S+)\"") + url = "https://xmaomi.net"+suffix + # self.cookie = rsp.cookies + rsp = self.fetch(url,cookies=tmpRsp.cookies) + root = self.html(rsp.text) + print(rsp.text[0]) + print(root) + aList = root.xpath("//ul[contains(@class,'hl-vod-list')]/li/a") + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('./@data-original')[0] + mark = a.xpath("./div[@class='hl-pic-text']/span/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + + urlParams = ["", "", "", "", "", "", "", "", "", "", "", ""] + urlParams[0] = tid + urlParams[8] = pg + for key in extend: + urlParams[int(key)] = extend[key] + params = '-'.join(urlParams) + url = 'https://xmaomi.net/vod_____show/{0}.html'.format(params) + tmpRsp = self.fetch(url) + suffix = self.regStr(tmpRsp.text,"window.location.href =\"(\\S+)\"") + url = 'https://xmaomi.net'+suffix + rsp = self.fetch(url,cookies=tmpRsp.cookies) + root = self.html(rsp.text) + print(rsp.text[0]) + print(root) + aList = root.xpath("//ul[contains(@class,'hl-vod-list')]/li/a") + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('./@data-original')[0] + mark = a.xpath("./div[@class='hl-pic-text']/span/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'https://xmaomi.net/{0}.html'.format(tid) + tmpRsp = self.fetch(url) + suffix = self.regStr(tmpRsp.text,"window.location.href =\"(\\S+)\"") + url = "https://xmaomi.net"+suffix + rsp = self.fetch(url,cookies=tmpRsp.cookies) + root = self.html(rsp.text) + print(rsp.text[0]) + print(root) + divContent = root.xpath("//div[contains(@class,'hl-full-box')]")[0] + title = divContent.xpath("./div[@class='hl-item-pic']/span/@title")[0] + pic = divContent.xpath("./div[@class='hl-item-pic']/span/@data-original")[0] + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":pic, + "type_name":"", + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":"" + } + liArray = divContent.xpath(".//li") + for li in liArray: + content = li.xpath('string(.)') + if content.startswith('类型'): + vod['type_name'] = content + if content.startswith('年份'): + vod['vod_year'] = content + if content.startswith('地区'): + vod['vod_area'] = content + if content.startswith('状态'): + vod['vod_remarks'] = content + if content.startswith('主演'): + vod['vod_actor'] = content + if content.startswith('导演'): + vod['vod_director'] = content + if content.startswith('简介'): + vod['vod_content'] = content + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath("//div[contains(@class,'hl-rb-tips')]//span[@class='hl-text-site']/text()") + for v in vodHeader: + playFrom.append(v) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = root.xpath(".//div[contains(@class,'hl-play-source')]//ul") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./li/a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('string(.)') + tId = self.regStr(href,'/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + url = 'https://xmaomi.net/v_search/{0}-------------.html'.format(key) + tmpRsp = self.fetch(url) + suffix = self.regStr(tmpRsp.text,"window.location.href =\"(\\S+)\"") + url = "https://xmaomi.net"+suffix + rsp = self.fetch(url,cookies=tmpRsp.cookies) + root = self.html(rsp.text) + print(rsp.text[0]) + print(root) + aList = root.xpath("//ul[contains(@class,'hl-one-list')]/li//a[contains(@class,'hl-item-thumb')]") + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + print(name) + pic = a.xpath('./@data-original')[0] + print(pic) + mark = a.xpath("./div[@class='hl-pic-text']/span/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def playerContent(self,flag,id,vipFlags): + url = 'https://xmaomi.net/{0}.html'.format(id) + tmpRsp = self.fetch(url) + suffix = self.regStr(tmpRsp.text,"window.location.href =\"(\\S+)\"") + url = "https://xmaomi.net"+suffix + rsp = self.fetch(url,cookies=tmpRsp.cookies) + root = self.html(rsp.text) + print(rsp.text[0]) + print(root) + scripts = root.xpath("//script/text()") + jo = {} + for script in scripts: + if(script.startswith("var player_")): + target = script[script.index('{'):] + jo = json.loads(target) + break; + parseUrl = "" + print(jo) + htmlUrl = 'https://play.fositv.com/?url={0}&tm={1}&key={2}&next=&title='.format(jo['url'],jo['tm'],jo['key']) + htmlRsp = self.fetch(htmlUrl) + htmlRoot = self.html(htmlRsp.text) + configScripts = htmlRoot.xpath("//script/text()") + configJo = {} + for script in configScripts: + if(script.strip().startswith("var config")): + target = script[script.index('{'):(script.index('}')+1)] + configJo = json.loads(target) + break; + param = { + 'url': configJo['url'], + 'time': configJo['time'], + 'key': configJo['key'] + } + postRsp = self.post('https://play.fositv.com/API.php',param) + resultJo = json.loads(postRsp.text) + result = { + 'parse':0, + 'playUrl':'', + 'url':resultJo['url'], + 'header':{ + 'User-Agent':resultJo['ua'] + } + } + return result + + cookie = {} + config = { + "player": {}, + "filter": {"1":[{"key":0,"name":"分类","value":[{"n":"全部","v":"1"},{"n":"动作","v":"101"},{"n":"喜剧","v":"102"},{"n":"爱情","v":"103"},{"n":"科幻","v":"104"},{"n":"剧情","v":"105"},{"n":"悬疑","v":"106"},{"n":"惊悚","v":"107"},{"n":"恐怖","v":"108"},{"n":"犯罪","v":"109"},{"n":"谍战","v":"110"},{"n":"冒险","v":"111"},{"n":"奇幻","v":"112"},{"n":"灾难","v":"113"},{"n":"战争","v":"114"},{"n":"动画","v":"115"},{"n":"歌舞","v":"116"},{"n":"历史","v":"117"},{"n":"传记","v":"118"},{"n":"纪录","v":"119"},{"n":"其他","v":"120"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":" 印度","v":"印度"},{"n":"其他","v":"其他"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"2":[{"key":0,"name":"分类","value":[{"n":"全部","v":"2"},{"n":"武侠","v":"201"},{"n":"喜剧","v":"202"},{"n":"爱情","v":"203"},{"n":"剧情","v":"204"},{"n":"青春","v":"205"},{"n":"悬疑","v":"206"},{"n":"科幻","v":"207"},{"n":"军事","v":"208"},{"n":"警匪","v":"209"},{"n":"谍战","v":"210"},{"n":"奇幻","v":"211"},{"n":"偶 像","v":"212"},{"n":"年代","v":"213"},{"n":"乡村","v":"214"},{"n":"都市","v":"215"},{"n":"家庭","v":"216"},{"n":"古装","v":"217"},{"n":"历史","v":"218"},{"n":"神话","v":"219"},{"n":"其他","v":"220"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印 度"},{"n":"其他","v":"其他"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"3":[{"key":0,"name":"分类","value":[{"n":"全部","v":"3"},{"n":"脱口秀","v":"301"},{"n":"真人秀","v":"302"},{"n":"搞笑","v":"303"},{"n":"访谈","v":"304"},{"n":"生活","v":"305"},{"n":"晚会","v":"306"},{"n":"美食","v":"307"},{"n":"游戏","v":"308"},{"n":"亲子","v":"309"},{"n":"旅游","v":"310"},{"n":"文化","v":"311"},{"n":"体育","v":"312"},{"n":"时尚","v":"313"},{"n":"纪实","v":"314"},{"n":"益智","v":"315"},{"n":"演艺","v":"316"},{"n":"歌舞","v":"317"},{"n":"音乐","v":"318"},{"n":"播报","v":"319"},{"n":"其他","v":"320"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"其他","v":"其他"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"4":[{"key":0,"name":"分类","value":[{"n":"全部","v":"4"},{"n":"热血","v":"401"},{"n":"格斗","v":"402"},{"n":"恋爱","v":"403"},{"n":"美少女","v":"404"},{"n":"校园","v":"405"},{"n":"搞笑","v":"406"},{"n":"LOLI","v":"407"},{"n":"神魔","v":"408"},{"n":"机战","v":"409"},{"n":"科幻","v":"410"},{"n":"真人","v":"411"},{"n":"青春","v":"412"},{"n":"魔法","v":"413"},{"n":"神话","v":"414"},{"n":"冒险","v":"415"},{"n":"运动","v":"416"},{"n":"竞技","v":"417"},{"n":"童话","v":"418"},{"n":"亲子","v":"419"},{"n":"教育","v":"420"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"其他","v":"其他"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],"5":[{"key":0,"name":"分类","value":[{"n":"全部","v":"5"},{"n":"人物","v":"501"},{"n":"军事","v":"502"},{"n":"历史","v":"503"},{"n":"自然","v":"504"},{"n":"探险","v":"505"},{"n":"科技","v":"506"},{"n":"文化","v":"507"},{"n":"刑侦","v":"508"},{"n":"社会","v":"509"},{"n":"旅游","v":"510"},{"n":"其他","v":"511"}]},{"key":1,"name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"其他","v":"其他"}]},{"key":11,"name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":5,"name":"字母","value":[{"n":"字母","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]},{"key":2,"name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}]} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_yangshi.py b/TVBox_PY/py_yangshi.py new file mode 100644 index 0000000..0fa51f2 --- /dev/null +++ b/TVBox_PY/py_yangshi.py @@ -0,0 +1,149 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "央视" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "等着我": "TOPC1451378757637200", + "我爱发明": "TOPC1569314345479107", + "动物世界": "TOPC1451378967257534", + "探索发现": "TOPC1451557893544236", + "创新进行时": "TOPC1570875218228998", + "我爱发明2021": "TOPC1451557970755294", + "经典咏流传 第五季":"VIDAIiNbDQzOjE5mLl3T4t2B220403" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + extend['id'] = tid + extend['p'] = pg + filterParams = ["id", "p", "d"] + params = ["", "", ""] + for idx in range(len(filterParams)): + fp = filterParams[idx] + if fp in extend.keys(): + params[idx] = '{0}={1}'.format(filterParams[idx],extend[fp]) + suffix = '&'.join(params) + url = 'https://api.cntv.cn/NewVideo/getVideoListByColumn?{0}&n=20&sort=desc&mode=0&serviceId=tvcctv&t=json'.format(suffix) + if not tid.startswith('TOPC'): + url = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?{0}&n=20&sort=desc&mode=0&serviceId=tvcctv&t=json'.format(suffix) + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + vodList = jo['data']['list'] + videos = [] + for vod in vodList: + guid = vod['guid'] + title = vod['title'] + img = vod['image'] + brief = vod['brief'] + videos.append({ + "vod_id":guid+"###"+img, + "vod_name":title, + "vod_pic":img, + "vod_remarks":'' + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + aid = array[0].split('###') + tid = aid[0] + url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={0}".format(tid) + + rsp = self.fetch(url,headers=self.header) + jo = json.loads(rsp.text) + title = jo['title'].strip() + link = jo['hls_url'].strip() + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":aid[1], + "type_name":'', + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":"" + } + vod['vod_play_from'] = 'CCTV' + vod['vod_play_url'] = title+"$"+link + + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + result = {} + rsp = self.fetch(id,headers=self.header) + content = rsp.text.strip() + arr = content.split('\n') + urlPrefix = self.regStr(id,'(http[s]?://[a-zA-z0-9.]+)/') + + subUrl = arr[-1].split('/') + subUrl[3] = '1200' + subUrl[-1] = '1200.m3u8' + hdUrl = urlPrefix + '/'.join(subUrl) + + url = urlPrefix + arr[-1] + + hdRsp = self.fetch(hdUrl,headers=self.header) + if hdRsp.status_code == 200: + url = hdUrl + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {"TOPC1451557970755294": [{"key": "d", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}]}]} + } + header = { + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36" + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_yangshiquanji.py b/TVBox_PY/py_yangshiquanji.py new file mode 100644 index 0000000..e716003 --- /dev/null +++ b/TVBox_PY/py_yangshiquanji.py @@ -0,0 +1,218 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "央视大全" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "央视大全": "CCTV" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + month = "" + year = "" + if 'month' in extend.keys(): + month = extend['month'] + if 'year' in extend.keys(): + year = extend['year'] + if year == '': + month = '' + prefix = year + month + extend['p'] = pg + filterMap = { + "fl":"", + "fc":"", + "cid":"", + "p":"1" + } + suffix = "" + for key in filterMap.keys(): + if key in extend.keys(): + filterMap[key] = extend[key] + suffix = suffix + '&' + key + '=' + filterMap[key] + url = 'https://api.cntv.cn/lanmu/columnSearch?{0}&n=20&serviceId=tvcctv&t=json'.format(suffix) + jo = self.fetch(url,headers=self.header).json() + vodList = jo['response']['docs'] + videos = [] + for vod in vodList: + lastVideo = vod['lastVIDE']['videoSharedCode'] + if len(lastVideo) == 0: + lastVideo = '_' + guid = prefix+'###'+vod['column_name']+'###'+lastVideo+'###'+vod['column_logo'] + # guid = prefix+'###'+vod['column_website']+'###'+vod['column_logo'] + title = vod['column_name'] + img = vod['column_logo'] + videos.append({ + "vod_id":guid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":'' + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + aid = array[0].split('###') + tid = aid[0] + logo = aid[3] + lastVideo = aid[2] + title = aid[1] + date = aid[0] + if lastVideo == '_': + return {} + + lastUrl = 'https://api.cntv.cn/video/videoinfoByGuid?guid={0}&serviceId=tvcctv'.format(lastVideo) + lastJo = self.fetch(lastUrl,headers=self.header).json() + topicId = lastJo['ctid'] + url = "https://api.cntv.cn/NewVideo/getVideoListByColumn?id={0}&d={1}&p=1&n=100&sort=desc&mode=0&serviceId=tvcctv&t=json".format(topicId,date) + jo = self.fetch(url,headers=self.header).json() + vodList = jo['data']['list'] + videoList = [] + for video in vodList: + videoList.append(video['title']+"$"+video['guid']) + if len(videoList) == 0: + return {} + if len(date) == 0: + date = time.strftime("%Y", time.localtime(time.time())) + vod = { + "vod_id":array[0], + "vod_name":date +" "+title, + "vod_pic":logo, + "type_name":lastJo['channel'], + "vod_year":date, + "vod_area":"", + "vod_remarks":date, + "vod_actor":"", + "vod_director":topicId, + "vod_content":"当前页面默认只展示最新100期的内容,可在分类页面选择年份和月份进行往期节目查看。年份和月份仅影响当前页面内容,不参与分类过滤。视频默认播放可以获取到的最高帧率。" + } + + vod['vod_play_from'] = 'CCTV' + vod['vod_play_url'] = "#".join(videoList) + result = { + 'list':[ + vod + ] + } + return result + # def detailContent(self,array): + # aid = array[0].split('###') + # tid = aid[0] + # logo = aid[2] + # webSite = aid[1] + # date = aid[0] + # rsp = self.fetch(webSite,headers=self.header) + # topicId = '' + # root = self.html(rsp.text) + # topicId = self.regStr(rsp.text,"(TOPC[0-9]{16})") + # title = root.xpath('.//title/text()')[0] + # if len(topicId) <= 0: + # return {} + # url = "https://api.cntv.cn/NewVideo/getVideoListByColumn?id={0}&d={1}&p=1&n=100&sort=desc&mode=0&serviceId=tvcctv&t=json".format(topicId,date) + # jo = self.fetch(url,headers=self.header).json() + # vodList = jo['data']['list'] + # videoList = [] + # for video in vodList: + # videoList.append(video['title']+"$"+video['guid']) + # if len(videoList) == 0: + # return {} + # if len(date) == 0: + # date = '近期' + # vod = { + # "vod_id":array[0], + # "vod_name":date +" "+title, + # "vod_pic":logo, + # "type_name":'', + # "vod_year":date, + # "vod_area":"", + # "vod_remarks":date, + # "vod_actor":"", + # "vod_director":"", + # "vod_content":"详情页面默认只展示最新100期的内容,可以在分类页面选择年份和月份进行往期节目查看。年份和月份仅影响视频详情内容,不参与分类过滤。视频默认播放最高帧率。" + # } + + # vod['vod_play_from'] = 'CCTV' + # vod['vod_play_url'] = "#".join(videoList) + # result = { + # 'list':[ + # vod + # ] + # } + # return result + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + result = {} + url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={0}".format(id) + jo = self.fetch(url,headers=self.header).json() + link = jo['hls_url'].strip() + rsp = self.fetch(link,headers=self.header) + content = rsp.text.strip() + arr = content.split('\n') + urlPrefix = self.regStr(link,'(http[s]?://[a-zA-z0-9.]+)/') + + subUrl = arr[-1].split('/') + subUrl[3] = '1200' + subUrl[-1] = '1200.m3u8' + hdUrl = urlPrefix + '/'.join(subUrl) + + url = urlPrefix + arr[-1] + + hdRsp = self.fetch(hdUrl,headers=self.header) + if hdRsp.status_code == 200: + url = hdUrl + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {"CCTV":[{"key":"cid","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"EPGC1386744804340101"},{"n":"CCTV-2财经","v":"EPGC1386744804340102"},{"n":"CCTV-3综艺","v":"EPGC1386744804340103"},{"n":"CCTV-4中文国际","v":"EPGC1386744804340104"},{"n":"CCTV-5体育","v":"EPGC1386744804340107"},{"n":"CCTV-6电影","v":"EPGC1386744804340108"},{"n":"CCTV-7国防军事","v":"EPGC1386744804340109"},{"n":"CCTV-8电视剧","v":"EPGC1386744804340110"},{"n":"CCTV-9纪录","v":"EPGC1386744804340112"},{"n":"CCTV-10科教","v":"EPGC1386744804340113"},{"n":"CCTV-11戏曲","v":"EPGC1386744804340114"},{"n":"CCTV-12社会与法","v":"EPGC1386744804340115"},{"n":"CCTV-13新闻","v":"EPGC1386744804340116"},{"n":"CCTV-14少儿","v":"EPGC1386744804340117"},{"n":"CCTV-15音乐","v":"EPGC1386744804340118"},{"n":"CCTV-16奥林匹克","v":"EPGC1634630207058998"},{"n":"CCTV-17农业农村","v":"EPGC1563932742616872"},{"n":"CCTV-5+体育赛事","v":"EPGC1468294755566101"}]},{"key":"fc","name":"分类","value":[{"n":"全部","v":""},{"n":"新闻","v":"新闻"},{"n":"体育","v":"体育"},{"n":"综艺","v":"综艺"},{"n":"健康","v":"健康"},{"n":"生活","v":"生活"},{"n":"科教","v":"科教"},{"n":"经济","v":"经济"},{"n":"农业","v":"农业"},{"n":"法治","v":"法治"},{"n":"军事","v":"军事"},{"n":"少儿","v":"少儿"},{"n":"动画","v":"动画"},{"n":"纪实","v":"纪实"},{"n":"戏曲","v":"戏曲"},{"n":"音乐","v":"音乐"},{"n":"影视","v":"影视"}]},{"key":"fl","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"month","name":"月份","value":[{"n":"全部","v":""},{"n":"12","v":"12"},{"n":"11","v":"11"},{"n":"10","v":"10"},{"n":"09","v":"09"},{"n":"08","v":"08"},{"n":"07","v":"07"},{"n":"06","v":"06"},{"n":"05","v":"05"},{"n":"04","v":"04"},{"n":"03","v":"03"},{"n":"02","v":"02"},{"n":"01","v":"01"}]}]} + } + header = { + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", + "Origin": "https://tv.cctv.com", + "Referer": "https://tv.cctv.com/" + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_yiso.py b/TVBox_PY/py_yiso.py new file mode 100644 index 0000000..4ce5f65 --- /dev/null +++ b/TVBox_PY/py_yiso.py @@ -0,0 +1,63 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import requests + +class Spider(Spider): + def getDependence(self): + return ['py_ali'] + def getName(self): + return "py_yiso" + def init(self,extend): + self.ali = extend[0] + print("============py_yiso============") + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + return result + def homeVideoContent(self): + result = {} + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + return result + header = { + "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", + "Referer": "https://yiso.fun/" + } + def detailContent(self,array): + return self.ali.detailContent(array) + + def searchContent(self,key,quick): + url = "https://yiso.fun/api/search?name={0}&from=ali".format(key) + vodList = requests.get(url=url, headers=self.header, verify=False).json()["data"]["list"] + videos = [] + for vod in vodList: + videos.append({ + "vod_id": vod["url"], + "vod_name": vod["fileInfos"][0]["fileName"], + "vod_pic": "https://inews.gtimg.com/newsapp_bt/0/13263837859/1000", + "vod_remarks": vod['gmtCreate'] + }) + result = { + 'list':videos + } + return result + + def playerContent(self,flag,id,vipFlags): + return self.ali.playerContent(flag,id,vipFlags) + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_yixi.py b/TVBox_PY/py_yixi.py new file mode 100644 index 0000000..788166e --- /dev/null +++ b/TVBox_PY/py_yixi.py @@ -0,0 +1,126 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 + +class Spider(Spider): + def getName(self): + return "一席" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + url = 'https://yixi.tv/api/site/category/?_=1' + jo = self.fetch(url,headers=self.header).json() + category = jo['data']['items'] + classes = [] + classes.append({ + 'type_name':'全部', + 'type_id':'' + }) + for cat in category: + classes.append({ + 'type_name':cat['title'], + 'type_id':cat['id'] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + # url = 'https://yixi.tv/api/site/album/?page=1&page_size=4&_=1' + url = 'https://yixi.tv/api/site/album/22/detail/?page=1&page_size=24&_=1' + jo = self.fetch(url,headers=self.header).json() + videos = [] + vodList = jo['data']['items'] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['title'], + "vod_pic":vod['cover'], + "vod_remarks":vod['time'] + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://yixi.tv/api/site/speech/?page={1}&page_size=12&category_id={0}&order_by=0&_=1'.format(tid,pg) + jo = self.fetch(url,headers=self.header).json() + videos = [] + vodList = jo['data']['items'] + for vod in vodList: + videos.append({ + "vod_id":vod['id'], + "vod_name":vod['title'], + "vod_pic":vod['cover'], + "vod_remarks":vod['time'] + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = "https://yixi.tv/api/site/speech/{0}/detail/?_=1".format(tid) + jo = self.fetch(url,headers=self.header).json() + + vod = { + "vod_id":jo['data']['speech']['id'], + "vod_name":jo['data']['speech']['title'], + "vod_pic":jo['data']['speech']['cover'], + "type_name":jo['data']['speech']['first_category'], + "vod_year":"", + "vod_area":"", + "vod_remarks":jo['data']['speech']['date'], + "vod_actor":"", + "vod_director":"", + "vod_content":jo['data']['speech']['titlelanguage'] + } + + vod['vod_play_from'] = '一席' + pList = [] + for vUrl in jo['data']['speech']['video_url']: + pList.append(vUrl['type_name']+"$"+vUrl['video_url']) + vod['vod_play_url'] = '#'.join(pList) + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = id + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {} + } + header = { + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36" + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_yytv.py b/TVBox_PY/py_yytv.py new file mode 100644 index 0000000..c58a3c9 --- /dev/null +++ b/TVBox_PY/py_yytv.py @@ -0,0 +1,136 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): + def getName(self): + return "体育直播" + def init(self,extend=""): + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "全部": "0", + "足球": "1", + "篮球": "2", + "其他": "5" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = {} + return result + + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://json.cranemarsh.com/all_live_rooms.json' + rsp = self.fetch(url) + pat = 'all_live_rooms\\((.*)\\)' + Root = self.regStr(rsp.text, pat) + jRoot = json.loads(Root) + videos = [] + vodList = jRoot['data'][tid] + for vod in vodList: + aid = vod['roomNum'] + title = vod['title'].strip() + img = vod['cover'].strip() + remark = vod['anchor']['nickName'].strip() + videos.append({ + "vod_id":aid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self,array): + aid = array[0] + url = "https://json.cranemarsh.com/room/{0}/detail.json".format(aid) + rsp = self.fetch(url,headers=self.header) + pat = 'detail\\((.*)\\)' + Root = self.regStr(rsp.text, pat) + jRoot = json.loads(Root) + jo = jRoot['data']['room'] + id = jo['roomNum'] + title = jo['title'] + pic = jo['cover'] + vod = { + "vod_id":id, + "vod_name":title, + "vod_pic":pic, + "type_name":'', + "vod_year":"", + "vod_area":'', + "vod_remarks":'', + "vod_actor":"", + "vod_director":"", + "vod_content":'' + } + ja = jRoot['data']['stream'] + flv = ja['flv'] + hdFlv = ja['hdFlv'] + m3u8 = ja['m3u8'] + hdM3u8 = ja['hdM3u8'] + playUrl = 'FLV' + '$' + flv + '#' + '高清FLV' + '$' + hdFlv + '#' + 'M3U8' + '$' + m3u8 + '#' + '高清M3U8' + '$' + hdM3u8 + '#' + vod['vod_play_from'] = '体育直播' + vod['vod_play_url'] = playUrl + result = { + 'list':[ + vod + ] + } + return result + def searchContent(self,key,quick): + result = {} + return result + def playerContent(self,flag,id,vipFlags): + result = {} + url = id + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} + + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + config = { + "player": {}, + "filter": {} + } + header = {} + def localProxy(self,param): + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_zhaozy.py b/TVBox_PY/py_zhaozy.py new file mode 100644 index 0000000..f2039e0 --- /dev/null +++ b/TVBox_PY/py_zhaozy.py @@ -0,0 +1,85 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider + +class Spider(Spider): + def getDependence(self): + return ['py_ali'] + def getName(self): + return "py_zhaozy" + def init(self,extend): + self.ali = extend[0] + print("============py_zhaozy============") + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + return result + def homeVideoContent(self): + result = {} + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + return result + header = { + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", + "Referer": "https://zhaoziyuan.me/" + } + def detailContent(self,array): + tid = array[0] + print(self.getName()) + pattern = '(https://www.aliyundrive.com/s/[^\"]+)' + url = self.regStr(tid,pattern) + if len(url) > 0: + return self.ali.detailContent(array) + + rsp = self.fetch('https://zhaoziyuan.me/'+tid) + url = self.regStr(rsp.text,pattern) + if len(url) == 0: + return "" + newArray = [url] + print(newArray) + return self.ali.detailContent(newArray) + + def searchContent(self,key,quick): + map = { + '7':'文件夹', + '1':'视频' + } + ja = [] + for tKey in map.keys(): + url = "https://zhaoziyuan.me/so?filename={0}&t={1}".format(key,tKey) + rsp = self.fetch(url,headers=self.header) + root = self.html(self.cleanText(rsp.text)) + aList = root.xpath("//li[@class='clear']//a") + for a in aList: + # title = a.xpath('./h3/text()')[0] + a.xpath('./p/text()')[0] + title = self.xpText(a,'./h3/text()') + self.xpText(a,'./p/text()') + pic = 'https://img0.baidu.com/it/u=603086994,1727626977&fm=253&fmt=auto?w=500&h=667' + jo = { + 'vod_id': self.xpText(a,'@href'), + 'vod_name': '[{0}]{1}'.format(key,title), + 'vod_pic': pic + } + ja.append(jo) + result = { + 'list':ja + } + return result + + def playerContent(self,flag,id,vipFlags): + return self.ali.playerContent(flag,id,vipFlags) + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/py_zxzj.py b/TVBox_PY/py_zxzj.py new file mode 100644 index 0000000..aab5bb7 --- /dev/null +++ b/TVBox_PY/py_zxzj.py @@ -0,0 +1,246 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "在线之家" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def homeContent(self,filter): + result = {} + cateManual = { + "电影":"1", + "美剧":"2", + "韩剧":"3", + "日剧":"4", + "泰剧":"5", + "动漫":"6" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + rsp = self.fetch("https://zxzj.vip/") + root = self.html(rsp.text) + aList = root.xpath("//div[@class='stui-vodlist__box']/a") + + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('./@data-original')[0] + mark = a.xpath("./span[@class='pic-text text-right']/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/detail/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + result = { + 'list':videos + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + if 'id' not in extend.keys(): + extend['id'] = tid + extend['page'] = pg + filterParams = ["id", "area", "by", "class", "lang", "", "", "", "page", "", "", "year"] + params = ["", "", "", "", "", "", "", "", "", "", "", ""] + for idx in range(len(filterParams)): + fp = filterParams[idx] + if fp in extend.keys(): + params[idx] = extend[fp] + suffix = '-'.join(params) + url = 'https://zxzj.vip/vodshow/{0}.html'.format(suffix) + rsp = self.fetch(url) + root = self.html(rsp.text) + aList = root.xpath("//div[@class='stui-vodlist__box']/a") + videos = [] + for a in aList: + name = a.xpath('./@title')[0] + pic = a.xpath('./@data-original')[0] + mark = a.xpath("./span[@class='pic-text text-right']/text()")[0] + sid = a.xpath("./@href")[0] + sid = self.regStr(sid,"/detail/(\\S+).html") + videos.append({ + "vod_id":sid, + "vod_name":name, + "vod_pic":pic, + "vod_remarks":mark + }) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + tid = array[0] + url = 'https://zxzj.vip/detail/{0}.html'.format(tid) + rsp = self.fetch(url) + root = self.html(rsp.text) + node = root.xpath("//div[@class='stui-content']")[0] + + pic = node.xpath(".//img/@data-original")[0] + title = node.xpath('.//h1/text()')[0] + detail = node.xpath(".//span[@class='detail-content']/text()")[0] + + vod = { + "vod_id":tid, + "vod_name":title, + "vod_pic":pic, + "type_name":"", + "vod_year":"", + "vod_area":"", + "vod_remarks":"", + "vod_actor":"", + "vod_director":"", + "vod_content":detail + } + + infoArray = node.xpath(".//div[@class='stui-content__detail']/p") + for info in infoArray: + content = info.xpath('string(.)') + if content.startswith('类型'): + vod['type_name'] = content + # if content.startswith('年份'): + # vod['vod_year'] = content + # if content.startswith('地区'): + # vod['vod_area'] = content + # if content.startswith('更新'): + # vod['vod_remarks'] = content.replace('\n','').replace('\t','') + if content.startswith('主演'): + vod['vod_actor'] = content.replace('\n','').replace('\t','') + if content.startswith('导演'): + vod['vod_director'] = content.replace('\n','').replace('\t','') + # if content.startswith('剧情'): + # vod['vod_content'] = content.replace('\n','').replace('\t','') + + vod_play_from = '$$$' + playFrom = [] + vodHeader = root.xpath("//div[@class='stui-vodlist__head']/h3/text()") + for v in vodHeader: + playFrom.append(v) + vod_play_from = vod_play_from.join(playFrom) + + vod_play_url = '$$$' + playList = [] + vodList = root.xpath("//ul[contains(@class,'stui-content__playlist')]") + for vl in vodList: + vodItems = [] + aList = vl.xpath('./li/a') + for tA in aList: + href = tA.xpath('./@href')[0] + name = tA.xpath('./text()')[0] + tId = self.regStr(href,'/video/(\\S+).html') + vodItems.append(name + "$" + tId) + joinStr = '#' + joinStr = joinStr.join(vodItems) + playList.append(joinStr) + vod_play_url = vod_play_url.join(playList) + + vod['vod_play_from'] = vod_play_from + vod['vod_play_url'] = vod_play_url + + result = { + 'list':[ + vod + ] + } + return result + + def searchContent(self,key,quick): + url = 'https://zxzj.vip/index.php/ajax/suggest?mid=1&wd={0}'.format(key) + # getHeader() + rsp = self.fetch(url) + jo = json.loads(rsp.text) + result = {} + jArray = [] + if int(jo['total']) > 0: + for j in jo['list']: + jArray.append({ + "vod_id": j['id'], + "vod_name": j['name'], + "vod_pic": j['pic'], + "vod_remarks": "" + }) + result = { + 'list':jArray + } + return result + + config = { + "player": { + "dpp": { + "sh": "DP播放", + "pu": "https://jx.zxzj.vip/dplayer.php?url=", + "sn": 1, + "or": 999 + } + }, + "filter": {"1": [{"key": "class", "name": "剧情", "value": [{"n": "全部", "v": ""}, {"n": "喜剧", "v": "喜剧"}, {"n": "爱情", "v": "爱情"}, {"n": "恐怖", "v": "恐怖"}, {"n": "动作", "v": "动作"}, {"n": "科幻", "v": "科幻"}, {"n": "剧情", "v": "剧情"}, {"n": "战争", "v": "战争"}, {"n": "警匪", "v": "警匪"}, {"n": "犯罪", "v": "犯罪"}, {"n": "动画", "v": "动画"}, {"n": "奇幻", "v": "奇幻"}, {"n": "冒险", "v": "冒险"}, {"n": "恐怖", "v": "恐怖"}, {"n": "悬疑", "v": "悬疑"}, {"n": "惊悚", "v": "惊悚"}, {"n": "青春", "v": "青春"}, {"n": "情色", "v": "情色"}]}, {"key": "area", "name": "地区", "value": [{"n": "全部", "v": ""}, {"n": "大陆", "v": "大陆"}, {"n": "香港", "v": "香港"}, {"n": "台湾", "v": "台湾"}, {"n": "欧美", "v": "欧美"}, {"n": "韩国", "v": "韩国"}, {"n": "日本", "v": "日本"}, {"n": "泰国", "v": "泰国"}, {"n": "印度", "v": "印度"}, {"n": "俄罗斯", "v": "俄罗斯"}, {"n": "其他", "v": "其他"}]}, {"key": "year", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}, {"n": "2008", "v": "2008"}, {"n": "2007", "v": "2007"}, {"n": "2006", "v": "2006"}, {"n": "2005", "v": "2005"}, {"n": "2004", "v": "2004"}, {"n": "2003", "v": "2003"}, {"n": "2002", "v": "2002"}, {"n": "2001", "v": "2001"}, {"n": "2000", "v": "2000"}]}, {"key": "lang", "name": "语言", "value": [{"n": "全部", "v": ""}, {"n": "英语", "v": "英语"}, {"n": "韩语", "v": "韩语"}, {"n": "日语", "v": "日语"}, {"n": "法语", "v": "法语"}, {"n": "泰语", "v": "泰语"}, {"n": "德语", "v": "德语"}, {"n": "印度语", "v": "印度语"}, {"n": "国语", "v": "国语"}, {"n": "粤 语", "v": "粤语"}, {"n": "俄语", "v": "俄语"}, {"n": "西班牙语", "v": "西班牙语"}, {"n": "意大利语", "v": "意大利语"}, {"n": "其它", "v": "其它"}]}, {"key": "by", "name": "排序", "value": [{"n": "最新", "v": "time"}, {"n": "最热", "v": "hits"}, {"n": "评分", "v": "score"}]}], "2": [{"key": "class", "name": "剧情", "value": [{"n": "全部", "v": ""}, {"n": "剧 情", "v": "剧情"}, {"n": "喜剧", "v": "喜剧"}, {"n": "爱情", "v": "爱情"}, {"n": "动作", "v": "动作"}, {"n": "悬疑", "v": "悬疑"}, {"n": "恐怖", "v": "恐怖"}, {"n": "奇幻", "v": "奇幻"}, {"n": "惊悚", "v": "惊悚"}, {"n": "犯罪", "v": "犯罪"}, {"n": "科幻", "v": "科幻"}, {"n": "音乐", "v": "音乐"}, {"n": "其他", "v": "其他"}]}, {"key": "year", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}, {"n": "2008", "v": "2008"}, {"n": "2006", "v": "2006"}, {"n": "2005", "v": "2005"}, {"n": "2004", "v": "2004"}]}, {"key": "lang", "name": "语言", "value": [{"n": "全部", "v": ""}, {"n": "英语", "v": "英语"}, {"n": "法语", "v": "法语"}]}, {"key": "by", "name": "排序", "value": [{"n": "最新", "v": "time"}, {"n": "最热", "v": "hits"}, {"n": "评分", "v": "score"}]}], "3": [{"key": "class", "name": "剧情", "value": [{"n": "全部", "v": ""}, {"n": "剧情", "v": "剧情"}, {"n": "喜剧", "v": "喜剧"}, {"n": "爱情", "v": "爱情"}, {"n": "动 作", "v": "动作"}, {"n": "悬疑", "v": "悬疑"}, {"n": "恐怖", "v": "恐怖"}, {"n": "奇幻", "v": "奇幻"}, {"n": "惊悚", "v": "惊悚"}, {"n": "犯罪", "v": "犯罪"}, {"n": "科幻", "v": "科幻"}, {"n": "音乐", "v": "音乐"}, {"n": "其他", "v": "其他"}]}, {"key": "year", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}, {"n": "2008", "v": "2008"}, {"n": "2007", "v": "2007"}, {"n": "2006", "v": "2006"}, {"n": "2005", "v": "2005"}, {"n": "2004", "v": "2004"}, {"n": "2003", "v": "2003"}, {"n": "2002", "v": "2002"}, {"n": "2001", "v": "2001"}, {"n": "2000", "v": "2000"}]}, {"key": "by", "name": "排序", "value": [{"n": "最新", "v": "time"}, {"n": "最热", "v": "hits"}, {"n": "评分", "v": "score"}]}], "4": [{"key": "class", "name": "剧情", "value": [{"n": "全部", "v": ""}, {"n": "剧情", "v": "剧情"}, {"n": "喜剧", "v": "喜剧"}, {"n": "爱情", "v": "爱情"}, {"n": "动作", "v": "动作"}, {"n": "悬疑", "v": "悬疑"}, {"n": "恐怖", "v": "恐怖"}, {"n": "奇幻", "v": "奇幻"}, {"n": "惊悚", "v": "惊悚"}, {"n": "犯罪", "v": "犯罪"}, {"n": "科幻", "v": "科幻"}, {"n": "音乐", "v": "音乐"}, {"n": "其他", "v": "其他"}]}, {"key": "year", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}, {"n": "2008", "v": "2008"}, {"n": "2007", "v": "2007"}, {"n": "2006", "v": "2006"}, {"n": "2005", "v": "2005"}, {"n": "2004", "v": "2004"}, {"n": "2003", "v": "2003"}, {"n": "2002", "v": "2002"}, {"n": "2001", "v": "2001"}, {"n": "2000", "v": "2000"}]}, {"key": "by", "name": "排序", "value": [{"n": "最新", "v": "time"}, {"n": "最热", "v": "hits"}, {"n": "评分", "v": "score"}]}], "5": [{"key": "year", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}, {"n": "2008", "v": "2008"}, {"n": "2007", "v": "2007"}, {"n": "2006", "v": "2006"}, {"n": "2005", "v": "2005"}, {"n": "2004", "v": "2004"}, {"n": "2003", "v": "2003"}, {"n": "2002", "v": "2002"}, {"n": "2001", "v": "2001"}, {"n": "2000", "v": "2000"}]}, {"key": "by", "name": "排序", "value": [{"n": "最新", "v": "time"}, {"n": "最热", "v": "hits"}, {"n": "评分", "v": "score"}]}], "6": [{"key": "class", "name": "剧情", "value": [{"n": "全部", "v": ""}, {"n": "情感", "v": "情感"}, {"n": "科幻", "v": "科幻"}, {"n": "热血", "v": "热血"}, {"n": "推理", "v": " 推理"}, {"n": "搞笑", "v": "搞笑"}, {"n": "冒险", "v": "冒险"}, {"n": "萝莉", "v": "萝莉"}, {"n": "校园", "v": "校园"}, {"n": "动作", "v": "动作"}, {"n": "机战", "v": "机战"}, {"n": "运动", "v": "运动"}, {"n": "战争", "v": "战争"}, {"n": " 少年", "v": "少年"}, {"n": "少女", "v": "少女"}, {"n": "社会", "v": "社会"}, {"n": "原创", "v": "原创"}, {"n": "亲子", "v": "亲子"}, {"n": "益智", "v": "益智"}, {"n": "励志", "v": "励志"}, {"n": "其他", "v": "其他"}]}, {"key": "area", "name": "地区", "value": [{"n": "全部", "v": ""}, {"n": "国产", "v": "国产"}, {"n": "日本", "v": "日本"}, {"n": "欧美", "v": "欧美"}, {"n": "其他", "v": "其他"}]}, {"key": "lang", "name": "语言", "value": [{"n": "全部", "v": ""}, {"n": "国语", "v": "国语"}, {"n": "日语", "v": "日语"}, {"n": "英语", "v": "英语"}, {"n": "其他", "v": "其他"}]}, {"key": "year", "name": "年份", "value": [{"n": "全部", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "2010", "v": "2010"}, {"n": "2009", "v": "2009"}, {"n": "2008", "v": "2008"}, {"n": "2007", "v": "2007"}, {"n": "2006", "v": "2006"}, {"n": "2005", "v": "2005"}, {"n": "2004", "v": "2004"}, {"n": "2003", "v": "2003"}, {"n": "2002", "v": "2002"}, {"n": "2001", "v": "2001"}, {"n": "2000", "v": "2000"}]}, {"key": "by", "name": "排序", "value": [{"n": "最新", "v": "time"}, {"n": "最热", "v": "hits"}, {"n": "评分", "v": "score"}]}]} + } + header = { + "origin":"https://zxzj.vip", + "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", + "Accept":" */*", + "Accept-Language":"zh-CN,zh;q=0.9,en-US;q=0.3,en;q=0.7", + "Accept-Encoding":"gzip, deflate" + } + def playerContent(self,flag,id,vipFlags): + result = {} + url = 'https://zxzj.vip/video/{0}.html'.format(id) + rsp = self.fetch(url) + root = self.html(rsp.text) + scripts = root.xpath("//script/text()") + jo = {} + for script in scripts: + if(script.startswith("var player_")): + target = script[script.index('{'):] + jo = json.loads(target) + break; + parseUrl = '' + # src="(\S+url=) + # playerConfig = self.config['player'] + # if jo['from'] in self.config['player']: + # playerConfig = self.config['player'][jo['from']] + # parseUrl = playerConfig['pu'] + jo['url'] + scriptUrl = 'https://zxzj.vip/static/player/{0}.js'.format(jo['from']) + scriptRsp = self.fetch(scriptUrl) + parseUrl = self.regStr(scriptRsp.text,'src="(\\S+url=)') + if len(parseUrl) > 0: + parseRsp = self.fetch(parseUrl+jo['url']) + realUrl = self.regStr(parseRsp.text,"(?<=urls\\s=\\s').*?(?=')",0) + if len(realUrl) > 0 : + result["parse"] = 0 + result["playUrl"] = "" + result["url"] = realUrl + result["header"] = json.dumps(self.header) + else: + result["parse"] = 1 + result["playUrl"] = "" + result["url"] = jo['url'] + result["header"] = json.dumps(self.header) + return result + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/TVBox_PY/spider_77.py b/TVBox_PY/spider_77.py new file mode 100644 index 0000000..872157b --- /dev/null +++ b/TVBox_PY/spider_77.py @@ -0,0 +1,172 @@ +from spider import Spider, SpiderCategory, SpiderVideo, SpiderEpisode +from proxy import get_proxy_main_url +from urllib.parse import urlparse +from danmaku import get_danmaku_url +import requests +import hashlib +import time + +base_params = { + 'pcode': '010110005', + 'version': '2.0.5', + 'devid': hashlib.md5(str(time.time()).encode()).hexdigest(), + 'sys': 'android', + 'sysver': 11, + 'brand': 'google', + 'model': 'Pixel_3_XL', + 'package': 'com.sevenVideo.app.android' +} + +base_headers = { + 'User-Agent': 'okhttp/3.12.0', +} + + +class Spider77(Spider): + + def name(self): + return '七七' + + def is_searchable(self): + return True + + def list_categories(self): + r = requests.get('http://api.kunyu77.com/api.php/provide/filter', + headers=base_headers.copy()) + data = r.json() + categories = [] + for category_id in data['data']: + category_name = data['data'][category_id][0]['cat'] + categories.append(SpiderCategory(category_id, category_name)) + return categories + + def list_videos(self, category_id, page): + r = requests.get('http://api.kunyu77.com/api.php/provide/searchFilter', + params={ + 'type_id': category_id, + 'pagenum': page, + 'pagesize': 50 + }, + headers=base_headers.copy()) + data = r.json() + videos = [] + for video in data['data']['result']: + videos.append( + SpiderVideo(id=video['id'], + name=video['title'], + cover=video['videoCover'])) + + has_next_page = page < data['data']['pagesize'] + return videos, has_next_page + + def list_episodes(self, video_id): + ts = int(time.time()) + params = base_params.copy() + params['ids'] = video_id + params['sj'] = ts + + headers = base_headers.copy() + headers['t'] = str(ts) + + url = 'http://api.kunyu77.com/api.php/provide/videoDetail' + headers['TK'] = self._get_tk(url, params, ts) + r = requests.get(url, params=params, headers=headers) + detail = r.json()['data'] + + url = 'http://api.kunyu77.com/api.php/provide/videoPlaylist' + headers['TK'] = self._get_tk(url, params, ts) + r = requests.get(url, params=params, headers=headers) + episodes = r.json()['data']['episodes'] + + mepisodes = [] + for episode in episodes: + + sources = [] + danmakus = [] + for playurl in episode['playurls']: + if playurl['playfrom'] in ['ppayun']: + sources.append({ + 'name': playurl['playfrom'], + 'params': { + 'url': playurl['playurl'], + } + }) + + if playurl['playfrom'] in [ + 'qq', 'mgtv', 'qiyi', 'youku', 'bilibili' + ]: + danmakus.append({ + 'name': playurl['playfrom'], + 'url': get_danmaku_url(playurl['playurl']), + }) + + mepisodes.append( + SpiderEpisode( + name=episode['title'], + sources=sources, + cover=detail['videoCover'], + description=detail['brief'], + cast=detail['actor'].split(' '), + director=detail['director'], + area=detail['area'], + year=int(detail['year']), + danmakus=danmakus, + )) + + return mepisodes + + def resolve_play_url(self, episode_params): + headers = base_headers.copy() + + r = requests.get('http://api.kunyu77.com/api.php/provide/parserUrl', + params={'url': episode_params['url']}, + headers=base_headers.copy()) + data = r.json()['data'] + if 'playHeader' in data: + for key in data['playHeader']: + headers[key] = data['playHeader'][key] + + r = requests.get(data['url']) + return get_proxy_main_url(r.json()['url'], headers) + + def search_videos(self, keyword): + url = 'http://api.kunyu77.com/api.php/provide/searchVideo' + + ts = int(time.time()) + params = base_params.copy() + params['sj'] = ts + params['searchName'] = keyword + params['pg'] = 1 + + headers = base_headers.copy() + headers['t'] = str(ts) + headers['TK'] = self._get_tk(url, params, ts) + + r = requests.get(url, params=params, headers=headers) + data = r.json() + videos = [] + for video in data['data']: + videos.append( + SpiderVideo( + id=video['id'], + name=video['videoName'], + cover=video['videoCover'], + description=video['brief'], + cast=video['starName'].split(','), + year=int(video['year']), + )) + return videos + + def _get_tk(self, url, params, ts): + keys = [] + for key in params: + keys.append(key) + keys.sort() + + src = urlparse(url).path + for key in keys: + src += str(params[key]) + src += str(ts) + src += 'XSpeUFjJ' + + return hashlib.md5(src.encode()).hexdigest() diff --git a/TVBox_PY/spider_alipansou.py b/TVBox_PY/spider_alipansou.py new file mode 100644 index 0000000..6b78a82 --- /dev/null +++ b/TVBox_PY/spider_alipansou.py @@ -0,0 +1,58 @@ +from spider import SpiderVideo +from spider_aliyundrive import SpiderAliyunDrive +from bs4 import BeautifulSoup +import requests +import re + + +class SpiderAliPanSou(SpiderAliyunDrive): + + regex_url = re.compile(r'https://www.aliyundrive.com/s/[^"]+') + + def name(self): + return '猫狸盘搜' + + def is_searchable(self): + return True + + def hide(self): + return False + + def list_categories(self): + return [] + + def list_videos(self, category_id, page): + return [], False + + def list_episodes(self, video_id): + r = requests.get('https://www.alipansou.com' + video_id) + m = self.regex_url.search(r.text) + url = m.group().replace('\\', '') + return super().list_episodes(url) + + def search_videos(self, keyword): + r = requests.get('https://www.alipansou.com/search', + params={ + 'k': keyword, + 't': 7, + }) + soup = BeautifulSoup(r.text, 'html.parser') + + items = soup.select('van-row > a') + videos = [] + for item in items: + name = self._remove_html_tags(item.find('template').__str__()) + #if keyword not in name: + # continue + videos.append(SpiderVideo( + id=item.get('href'), + name=name, + )) + + return videos + + def _remove_html_tags(self, text): + """Remove html tags from a string""" + import re + clean = re.compile('<.*?>') + return re.sub(clean, '', text) diff --git a/TVBox_PY/spider_aliyundrive.py b/TVBox_PY/spider_aliyundrive.py new file mode 100644 index 0000000..aab2095 --- /dev/null +++ b/TVBox_PY/spider_aliyundrive.py @@ -0,0 +1,426 @@ +from spider import Spider, SpiderEpisode +from cache import get_cache, set_cache +from proxy import get_proxy_func_url, ProxyFuncResult +from downloader import get_download_url +import requests +import re +import json +import time +import xbmcaddon + +_ADDON = xbmcaddon.Addon() + +base_headers = { + 'User-Agent': + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36', + 'Referer': 'https://www.aliyundrive.com/', +} + + +class SpiderAliyunDrive(Spider): + setting_key_refresh_token = 'aliyundrive_refresh_token' + setting_key_display_file_size_switch = 'aliyundrive_display_file_size_switch' + setting_key_downloder_switch = 'downloader_switch' + regex_share_id = re.compile( + r'www.aliyundrive.com\/s\/([^\/]+)(\/folder\/([^\/]+))?') + cache = {} + + def name(self): + return '阿里云盘' + + def is_searchable(self): + return False + + def hide(self): + return True + + def list_categories(self): + return [] + + def list_videos(self, category_id, page): + return [], False + + def list_episodes(self, video_id): + m = self.regex_share_id.search(video_id) + share_id = m.group(1) + file_id = m.group(3) + + r = requests.post( + 'https://api.aliyundrive.com/adrive/v3/share_link/get_share_by_anonymous', + json={'share_id': share_id}) + share_info = r.json() + + if len(share_info['file_infos']) == 0: + return [] + + file_info = None + if file_id: + for fi in share_info['file_infos']: + if fi['file_id'] == file_id: + file_info = fi + break + if file_info is None: + return [] + else: + file_info = share_info['file_infos'][0] + file_id = file_info['file_id'] + + parent_file_id = None + if file_info['type'] == 'folder': + parent_file_id = file_id + elif file_info['type'] == 'file' and file_info['category'] == 'video': + parent_file_id = 'root' + else: + return [] + + share_token = self._get_share_token(share_id) + + video_file_infos = [] + subtitle_file_infos = [] + self._list_files(video_file_infos, subtitle_file_infos, share_id, + share_token, parent_file_id) + video_file_infos.sort(key=lambda x: x['name']) + + subtitles = [] + for file_info in subtitle_file_infos: + subtitles.append({ + 'name': + file_info['name'], + 'url': + get_proxy_func_url( + SpiderAliyunDrive.__name__, + self.proxy_download_url.__name__, + { + 'share_id': file_info['share_id'], + 'file_id': file_info['file_id'], + 'drive_id': file_info['drive_id'], + }, + ) + }) + + episodes = [] + display_file_size = _ADDON.getSettingBool( + self.setting_key_display_file_size_switch) + for file_info in video_file_infos: + if display_file_size: + name = '[{}] {}'.format( + self._sizeof_fmt(file_info['size']), + file_info['name'], + ) + else: + name = file_info['name'] + + sources = [{ + 'name': '原画', + 'params': { + 'template_id': '', + 'share_id': file_info['share_id'], + 'file_id': file_info['file_id'], + 'drive_id': file_info['drive_id'], + }, + }, { + 'name': '超高清', + 'params': { + 'template_id': 'FHD', + 'share_id': file_info['share_id'], + 'file_id': file_info['file_id'], + 'drive_id': file_info['drive_id'], + }, + }, { + 'name': '高清', + 'params': { + 'template_id': 'HD', + 'share_id': file_info['share_id'], + 'file_id': file_info['file_id'], + 'drive_id': file_info['drive_id'], + }, + }, { + 'name': '标清', + 'params': { + 'template_id': 'SD', + 'share_id': file_info['share_id'], + 'file_id': file_info['file_id'], + 'drive_id': file_info['drive_id'], + }, + }] + + episodes.append( + SpiderEpisode( + name=name, + sources=sources, + cover=share_info['avatar'], + description=video_id, + subtitles=subtitles, + )) + + return episodes + + def resolve_play_url(self, episode_params): + if len(episode_params['template_id']) == 0: + downloader_switch = _ADDON.getSettingBool( + self.setting_key_downloder_switch) + if downloader_switch: + return get_download_url( + spider_class=SpiderAliyunDrive.__name__, + func_name=self.proxy_download_url.__name__, + params=episode_params) + else: + return get_proxy_func_url(SpiderAliyunDrive.__name__, + self.proxy_download_url.__name__, + episode_params) + else: + return get_proxy_func_url(SpiderAliyunDrive.__name__, + self.proxy_preview_m3u8.__name__, + episode_params) + + def search_videos(self, keyword): + return [] + + def _get_refresh_token(self): + token_or_url = _ADDON.getSettingString(self.setting_key_refresh_token) + if token_or_url.startswith('http://') or token_or_url.startswith( + 'https://'): + return requests.get(token_or_url).text.strip() + else: + return token_or_url + + def _get_access_token(self): + key = 'aliyundrive:access_token' + data = self._get_cache(key) + if data: + return data['access_token'] + + r = requests.post('https://api.aliyundrive.com/token/refresh', + json={ + 'refresh_token': self._get_refresh_token(), + }) + data = r.json() + + access_token = '{} {}'.format(data['token_type'], data['access_token']) + expires_at = int(time.time()) + int(data['expires_in'] / 2) + self._set_cache(key, { + 'access_token': access_token, + 'expires_at': expires_at + }) + return access_token + + def _get_share_token(self, share_id, share_pwd=''): + key = 'aliyundrive:share_token' + data = self._get_cache(key) + if data: + if data['share_id'] == share_id and data['share_pwd'] == share_pwd: + return data['share_token'] + + r = requests.post( + 'https://api.aliyundrive.com/v2/share_link/get_share_token', + json={ + 'share_id': share_id, + 'share_pwd': share_pwd + }) + data = r.json() + + share_token = data['share_token'] + expires_at = int(time.time()) + int(data['expires_in'] / 2) + self._set_cache( + key, { + 'share_token': share_token, + 'expires_at': expires_at, + 'share_id': share_id, + 'share_pwd': share_pwd + }) + return share_token + + def _list_files(self, video_file_infos, subtitle_file_infos, share_id, + share_token, parent_file_id): + marker = '' + headers = base_headers.copy() + headers['x-share-token'] = share_token + for page in range(1, 51): + if page >= 2 and len(marker) == 0: + break + + r = requests.post( + 'https://api.aliyundrive.com/adrive/v3/file/list', + json={ + "image_thumbnail_process": + "image/resize,w_160/format,jpeg", + "image_url_process": "image/resize,w_1920/format,jpeg", + "limit": 200, + "order_by": "updated_at", + "order_direction": "DESC", + "parent_file_id": parent_file_id, + "share_id": share_id, + "video_thumbnail_process": + "video/snapshot,t_1000,f_jpg,ar_auto,w_300", + 'marker': marker, + }, + headers=headers) + data = r.json() + + for item in data['items']: + if item['type'] == 'folder': + self._list_files(video_file_infos, subtitle_file_infos, + share_id, share_token, item['file_id']) + elif item['type'] == 'file' and item['category'] == 'video': + video_file_infos.append(item) + elif item['type'] == 'file' and item['file_extension'] in [ + 'srt', 'ass', 'nfo', 'vtt' + ]: + subtitle_file_infos.append(item) + + marker = data['next_marker'] + + def _get_m3u8_cache(self, share_id, file_id, template_id): + key = 'aliyundrive:m3u8' + data = self._get_cache(key) + if data: + if data['share_id'] == share_id and data[ + 'file_id'] == file_id and data[ + 'template_id'] == template_id: + return data['m3u8'], data['media_urls'] + + access_token = self._get_access_token() + share_token = self._get_share_token(share_id) + + headers = base_headers.copy() + headers['x-share-token'] = share_token + headers['Authorization'] = access_token + r = requests.post( + 'https://api.aliyundrive.com/v2/file/get_share_link_video_preview_play_info', + json={ + 'share_id': share_id, + 'category': 'live_transcoding', + 'file_id': file_id, + 'template_id': '', + }, + headers=headers, + ) + + preview_url = '' + for t in r.json( + )['video_preview_play_info']['live_transcoding_task_list']: + if t['template_id'] == template_id: + preview_url = t['url'] + break + + r = requests.get(preview_url, + headers=base_headers.copy(), + allow_redirects=False) + preview_url = r.headers['Location'] + + lines = [] + media_urls = [] + r = requests.get(preview_url, headers=base_headers.copy(), stream=True) + media_id = 0 + for line in r.iter_lines(): + line = line.decode() + if 'x-oss-expires' in line: + media_url = preview_url[:preview_url.rindex('/') + 1] + line + media_urls.append(media_url) + line = get_proxy_func_url( + SpiderAliyunDrive.__name__, + self.proxy_preview_media.__name__, { + 'share_id': share_id, + 'file_id': file_id, + 'template_id': template_id, + 'media_id': media_id + }) + media_id += 1 + lines.append(line) + m3u8 = '\n'.join(lines) + + self._set_cache( + key, { + 'share_id': share_id, + 'file_id': file_id, + 'template_id': template_id, + 'm3u8': m3u8, + 'media_urls': media_urls, + 'expires_at': int(time.time()) + 300, + }) + + return m3u8, media_urls + + def proxy_preview_m3u8(self, params): + share_id = params['share_id'] + file_id = params['file_id'] + template_id = params['template_id'] + m3u8, _ = self._get_m3u8_cache(share_id, file_id, template_id) + return ProxyFuncResult( + body=m3u8, + headers={'Content-Type': 'application/vnd.apple.mpegurl'}) + + def proxy_preview_media(self, params): + share_id = params['share_id'] + file_id = params['file_id'] + template_id = params['template_id'] + media_id = params['media_id'] + + _, media_urls = self._get_m3u8_cache(share_id, file_id, template_id) + media_url = media_urls[media_id] + return ProxyFuncResult(url=media_url, headers=base_headers.copy()) + + def proxy_download_url(self, params): + share_id = params['share_id'] + file_id = params['file_id'] + + key = 'aliyundrive:download_url:{}:{}'.format(share_id, file_id) + data = self._get_cache(key) + if data: + return ProxyFuncResult(url=data['download_url'], + headers=base_headers.copy()) + + access_token = self._get_access_token() + share_token = self._get_share_token(share_id) + + headers = base_headers.copy() + headers['x-share-token'] = share_token + headers['Authorization'] = access_token + r = requests.post( + 'https://api.aliyundrive.com/v2/file/get_share_link_download_url', + json={ + 'share_id': share_id, + 'file_id': file_id, + 'expires_sec': 7200, + }, + headers=headers) + data = r.json() + + r = requests.get(data['download_url'], + headers=base_headers.copy(), + allow_redirects=False) + download_url = r.headers['Location'] + self._set_cache( + key, { + 'download_url': download_url, + 'expires_at': int(time.time()) + 300, + 'share_id': share_id, + 'file_id': file_id, + }) + + return ProxyFuncResult(url=download_url, headers=base_headers.copy()) + + def _sizeof_fmt(self, num, suffix="B"): + for unit in ["", "K", "M", "G", "T", "P", "E", "Z"]: + if num < 1024.0: + return f"{num:3.1f} {unit}{suffix}" + num /= 1024.0 + return f"{num:.1f}Yi{suffix}" + + def _get_cache(self, key): + if key in self.cache: + data = self.cache[key] + if data['expires_at'] >= int(time.time()): + return data + + data = get_cache(key) + if data: + data = json.loads(data) + if data['expires_at'] >= int(time.time()): + return data + + return None + + def _set_cache(self, key, value): + set_cache(key, json.dumps(value)) + self.cache[key] = value diff --git a/TVBox_PY/spider_gitcafe.py b/TVBox_PY/spider_gitcafe.py new file mode 100644 index 0000000..565b302 --- /dev/null +++ b/TVBox_PY/spider_gitcafe.py @@ -0,0 +1,70 @@ +from spider import SpiderCategory, SpiderVideo +from spider_aliyundrive import SpiderAliyunDrive +import requests + + +class SpiderGitCafe(SpiderAliyunDrive): + + def name(self): + return '小纸条' + + def is_searchable(self): + return True + + def hide(self): + return False + + def list_categories(self): + categories = [] + categories.append(SpiderCategory('hydm', '华语动漫')) + categories.append(SpiderCategory("hyds", '华语电视')) + categories.append(SpiderCategory("hydy", '华语电影')) + categories.append(SpiderCategory("omdm", '欧美动漫')) + categories.append(SpiderCategory("omds", '欧美电视')) + categories.append(SpiderCategory("omdy", '欧美电影')) + categories.append(SpiderCategory("rhdm", '日韩动漫')) + categories.append(SpiderCategory("rhds", '日韩电视')) + categories.append(SpiderCategory("rhdy", '日韩电影')) + categories.append(SpiderCategory("qtds", '其他电视')) + categories.append(SpiderCategory("qtdy", '其他电影')) + categories.append(SpiderCategory("qtsp", '其他视频')) + categories.append(SpiderCategory("jlp", '纪录片')) + categories.append(SpiderCategory("zyp", '综艺片')) + return categories + + def list_videos(self, category_id, page): + r = requests.post('https://gitcafe.net/tool/alipaper/', + data={ + 'action': 'viewcat', + 'cat': category_id, + 'num': page, + }) + data = r.json() + + videos = [] + for video in data: + videos.append( + SpiderVideo( + id='https://www.aliyundrive.com/s/' + video['key'], + name=video['title'], + )) + + return videos, len(videos) >= 50 + + def search_videos(self, keyword): + r = requests.post('https://gitcafe.net/tool/alipaper/', + data={ + 'action': 'search', + 'keyword': keyword, + }) + data = r.json() + + videos = [] + for video in data: + videos.append( + SpiderVideo( + id='https://www.aliyundrive.com/s/' + video['key'], + name=video['title'], + )) + + return videos diff --git a/TVBox_PY/spider_zhaoziyuan.py b/TVBox_PY/spider_zhaoziyuan.py new file mode 100644 index 0000000..f8c9b41 --- /dev/null +++ b/TVBox_PY/spider_zhaoziyuan.py @@ -0,0 +1,52 @@ +from spider import SpiderVideo +from spider_aliyundrive import SpiderAliyunDrive +from bs4 import BeautifulSoup +import requests +import re + + +class SpiderZhaoZiYuan(SpiderAliyunDrive): + + regex_url = re.compile(r'https://www.aliyundrive.com/s/[^"]+') + + def name(self): + return '找资源' + + def is_searchable(self): + return True + + def hide(self): + return False + + def list_categories(self): + return [] + + def list_videos(self, category_id, page): + return [], False + + def list_episodes(self, video_id): + r = requests.get('https://zhaoziyuan.la/' + video_id) + print(r.text) + m = self.regex_url.search(r.text) + url = m.group().replace('\\', '') + return super().list_episodes(url) + + def search_videos(self, keyword): + r = requests.get('https://zhaoziyuan.la/so', + params={ + 'filename': keyword, + }) + soup = BeautifulSoup(r.text, 'html.parser') + + items = soup.select('div.news_text > a') + videos = [] + for item in items: + name = item.find('h3').text + #if keyword not in name: + # continue + videos.append(SpiderVideo( + id=item.get('href'), + name=name, + )) + + return videos diff --git a/TVBox_local/1126菜妮丝_已做上传解压处理.zip b/TVBox_local/1126菜妮丝_已做上传解压处理.zip new file mode 100644 index 0000000..1b83402 Binary files /dev/null and b/TVBox_local/1126菜妮丝_已做上传解压处理.zip differ diff --git a/TVBox_local/1126饭太硬_已做上传解压处理.zip b/TVBox_local/1126饭太硬_已做上传解压处理.zip new file mode 100644 index 0000000..b624a40 Binary files /dev/null and b/TVBox_local/1126饭太硬_已做上传解压处理.zip differ diff --git a/TVBox_local/张弘_本地接口.zip b/TVBox_local/张弘_本地接口.zip new file mode 100644 index 0000000..c110419 Binary files /dev/null and b/TVBox_local/张弘_本地接口.zip differ diff --git a/Test/test.json b/Test/test.json new file mode 100644 index 0000000..cf68b4d --- /dev/null +++ b/Test/test.json @@ -0,0 +1,58 @@ +{ +"spider":"https://agit.ai/00700/vvebo/raw/branch/main/spider/vvebo.jar;md5;C5816E74C0E417E5D19D35A3E5DE6E5F", +"wallpaper":"https://agit.ai/00700/vvebo/raw/branch/main/wallpaper/03.png", +"lives":[{"group":"redirect","channels":[{"name":"redirect","urls":["proxy://do=live&type=txt&ext=aHR0cHM6Ly9hZ2l0LmFpLzAwNzAwL3Z2ZWJvL3Jhdy9icmFuY2gvbWFpbi9saXZlLnR4dA=="]}]}], +"rules":[{"host":"*","rule":["douyinvod.com","/video/tos/cn/"]},{"host":"*","rule":["default.365yg.com","/video/tos/cn/"]},{"host":"*","rule":["huoshan.com","/item/video/"]},{"host":"*","rule":["aliyundrive.net","response-content-disposition=",".m3u8"]},{"host":"*","rule":["aliyundrive.net","response-content-disposition=",".mp4"]},{"host":"*","rule":["aliyundrive.net","response-content-disposition=",".mkv"]},{"host":"*","rule":["/m3u8.php?path=",".m3u8"]},{"host":"*","rule":["/API.php?time=","key=","path=",".m3u8"]},{"host":"*","rule":["oss-cn-m3u8","myqcloud.com.zh188.net","?url=",".m3u8"]},{"host":"*","rule":["iesdouyin.com/aweme","video_id="]},{"host":"zjmiao.com","rule":["play.videomiao.vip/API.php","time=","key=","path="]},{"host":"*","rule":["http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a)\\?.*"]},{"host":"*","rule":["http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a)"]}], + +"sites":[ +{"key":"csp_酷云七七","name":"推荐┃酷云七七","type":3,"api":"csp_Kunyu77","searchable":1,"quickSearch":1,"filterable":1}, + + + +{"key":"csp_SP360","name":"官网┃爱优腾芒","type":3,"api":"csp_SP360","searchable":1,"quickSearch":1,"filterable":1}], + +"parses":[ +{"name":"M01","type":0,"url":"https://okjx.cc/?url="}, +{"name":"M02","type":0,"url":"https://www.nxflv.com/?url="}, +{"name":"M03","type":0,"url":"https://jx.aidouer.net/?url=","ext":{"flag":["qq","腾讯","imgo","mgtv","芒果"]}}], + +"flags":["youku","qq","QQ","iqiyi","qiyi","letv","sohu","tudou","pptv","PPTV","mgtv","ltnb","rx","CL4K","xfyun","wuduzy","wasu","bilibili","renrenmi","xmm","xigua","m1905","funshion","优酷","芒果","腾讯","爱奇艺","奇艺","哔哩哔哩","哔哩"], + +"ijk":[ +{"group":"软解码","options":[ +{"category":4,"name":"opensles","value":"0"}, +{"category":4,"name":"overlay-format","value":"842225234"}, +{"category":4,"name":"framedrop","value":"1"}, +{"category":4,"name":"soundtouch","value":"1"}, +{"category":4,"name":"start-on-prepared","value":"1"}, +{"category":1,"name":"http-detect-range-support","value":"0"}, +{"category":1,"name":"fflags","value":"fastseek"}, +{"category":2,"name":"skip_loop_filter","value":"48"}, +{"category":4,"name":"reconnect","value":"1"}, +{"category":4,"name":"max-buffer-size","value":"5242880"}, +{"category":4,"name":"enable-accurate-seek","value":"0"}, +{"category":4,"name":"mediacodec","value":"0"}, +{"category":4,"name":"mediacodec-auto-rotate","value":"0"}, +{"category":4,"name":"mediacodec-handle-resolution-change","value":"0"}, +{"category":4,"name":"mediacodec-hevc","value":"0"}, +{"category":1,"name":"dns_cache_timeout","value":"600000000"}]}, +{"group":"硬解码","options":[ +{"category":4,"name":"opensles","value":"0"}, +{"category":4,"name":"overlay-format","value":"842225234"}, +{"category":4,"name":"framedrop","value":"1"}, +{"category":4,"name":"soundtouch","value":"1"}, +{"category":4,"name":"start-on-prepared","value":"1"}, +{"category":1,"name":"http-detect-range-support","value":"0"}, +{"category":1,"name":"fflags","value":"fastseek"}, +{"category":2,"name":"skip_loop_filter","value":"48"}, +{"category":4,"name":"reconnect","value":"1"}, +{"category":4,"name":"max-buffer-size","value":"5242880"}, +{"category":4,"name":"enable-accurate-seek","value":"0"}, +{"category":4,"name":"mediacodec","value":"1"}, +{"category":4,"name":"mediacodec-auto-rotate","value":"1"}, +{"category":4,"name":"mediacodec-handle-resolution-change","value":"1"}, +{"category":4,"name":"mediacodec-hevc","value":"1"}, +{"category":1,"name":"dns_cache_timeout","value":"600000000"}]}], + +"ads":["mimg.0c1q0l.cn","www.googletagmanager.com","www.google-analytics.com","mc.usihnbcq.cn","mg.g1mm3d.cn","mscs.svaeuzh.cn","cnzz.hhttm.top","tp.vinuxhome.com","cnzz.mmstat.com","www.baihuillq.com","s23.cnzz.com","z3.cnzz.com","c.cnzz.com","stj.v1vo.top","z12.cnzz.com","img.mosflower.cn","tips.gamevvip.com","ehwe.yhdtns.com","xdn.cqqc3.com","www.jixunkyy.cn","sp.chemacid.cn","hm.baidu.com","s9.cnzz.com","z6.cnzz.com","um.cavuc.com","mav.mavuz.com","wofwk.aoidf3.com","z5.cnzz.com","xc.hubeijieshikj.cn","tj.tianwenhu.com","xg.gars57.cn","k.jinxiuzhilv.com","cdn.bootcss.com","ppl.xunzhuo123.com","xomk.jiangjunmh.top","img.xunzhuo123.com","z1.cnzz.com","s13.cnzz.com","xg.huataisangao.cn","z7.cnzz.com","xg.huataisangao.cn","z2.cnzz.com","s96.cnzz.com","q11.cnzz.com","thy.dacedsfa.cn","xg.whsbpw.cn","s19.cnzz.com","z8.cnzz.com","s4.cnzz.com","f5w.as12df.top","ae01.alicdn.com","www.92424.cn","k.wudejia.com","vivovip.mmszxc.top","qiu.xixiqiu.com","cdnjs.hnfenxun.com","cms.qdwght.com"] +} \ No newline at end of file diff --git a/Wallpaper/01.png b/Wallpaper/01.png new file mode 100644 index 0000000..ef6e498 Binary files /dev/null and b/Wallpaper/01.png differ diff --git a/Wallpaper/02.png b/Wallpaper/02.png new file mode 100644 index 0000000..c3496a9 Binary files /dev/null and b/Wallpaper/02.png differ diff --git a/Wallpaper/03.png b/Wallpaper/03.png new file mode 100644 index 0000000..8b27ab1 Binary files /dev/null and b/Wallpaper/03.png differ diff --git a/Wallpaper/04.png b/Wallpaper/04.png new file mode 100644 index 0000000..e8703b7 Binary files /dev/null and b/Wallpaper/04.png differ diff --git a/Wallpaper/05.png b/Wallpaper/05.png new file mode 100644 index 0000000..c341187 Binary files /dev/null and b/Wallpaper/05.png differ diff --git a/Wallpaper/06.jpg b/Wallpaper/06.jpg new file mode 100644 index 0000000..12cb9a7 Binary files /dev/null and b/Wallpaper/06.jpg differ diff --git a/Wallpaper/07.jpg b/Wallpaper/07.jpg new file mode 100644 index 0000000..5c564bd Binary files /dev/null and b/Wallpaper/07.jpg differ diff --git a/Wallpaper/08.jpg b/Wallpaper/08.jpg new file mode 100644 index 0000000..ead887d Binary files /dev/null and b/Wallpaper/08.jpg differ diff --git a/Wallpaper/09.jpg b/Wallpaper/09.jpg new file mode 100644 index 0000000..9ff6982 Binary files /dev/null and b/Wallpaper/09.jpg differ diff --git a/Wallpaper/10.jpg b/Wallpaper/10.jpg new file mode 100644 index 0000000..f276d69 Binary files /dev/null and b/Wallpaper/10.jpg differ diff --git a/Wallpaper/11.jpg b/Wallpaper/11.jpg new file mode 100644 index 0000000..ff99928 Binary files /dev/null and b/Wallpaper/11.jpg differ diff --git a/Wallpaper/12.jpg b/Wallpaper/12.jpg new file mode 100644 index 0000000..25996fc Binary files /dev/null and b/Wallpaper/12.jpg differ diff --git a/Wallpaper/index.php b/Wallpaper/index.php new file mode 100644 index 0000000..2eca415 --- /dev/null +++ b/Wallpaper/index.php @@ -0,0 +1,25 @@ + + + + + + + + \ No newline at end of file diff --git a/XBiu/XBiu示例.txt b/XBiu/XBiu示例.txt new file mode 100644 index 0000000..8c3b92b --- /dev/null +++ b/XBiu/XBiu示例.txt @@ -0,0 +1 @@ +{"key":"csp_xbiu_天空","name": "天空","type": 3,"api": "csp_XBiu","searchable": 1,"quickSearch": 1,"filterable": 0,"ext":"http://tkznp.com/vodshow/area/{area}/id/{cateId}/page/{catePg}/year/{year}.html" diff --git a/XBiu/zxzjXBIU模板.json b/XBiu/zxzjXBIU模板.json new file mode 100644 index 0000000..f0bd33f --- /dev/null +++ b/XBiu/zxzjXBIU模板.json @@ -0,0 +1,384 @@ +{ + // 所有的选填字段都可以不填,程序会自己去猜,不一定能猜得出来,猜不出来的得自己去补规则 + //(必填) 主页地址,建议填list段中的url,程序会从url中提取homeUrl, url中至少要包含{cateId}和{catePg}才能被识别 + // https://www.zxzj.vip/vodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html + // https://www.zxzj.vip/list/{cateId}-{catePg}.html + "homeUrl": "https://www.zxzj.vip/", + //(选填) http请求需要的header,一般就填个UA + "header":{ + "User-Agent":"Mozilla/5.0 (Linux; Android 8.1.0; ALP-AL00 Build/HUAWEIALP-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/10.13 baiduboxapp/10.13.0.11 (Baidu; P1 8.1.0)" + }, + //(选填) 分类名 + "cateManual": { + "电影": "1", + "美剧": "2", + "韩剧": "3", + "日剧": "4", + "泰剧": "5", + "动漫": "6" + }, + //(选填) 列表页 + "list":{ + //(选填) 当前页面解析区域截取,程序会从截取后的数据中查找各字段,这里只是演示,按实际需求填写 + "region":["", ""], + //"url": "https://www.zxzj.vip/list/{cateId}-{catePg}.html", + //(选填) 列表页的页面地址,具体规则和xpath一致,不存在在里会使用homeUrl,但是homeUrl必须是带{cateId}\{catePg}的这个格式 + "url": "https://www.zxzj.vip/vodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html", + // (选填) 有的网站分类的第一页和后面的页url规则不同,可以这样指定具体的catePg 对应的url + //"1": "https://www.zxzj.vip/vodshow/{cateId}-{area}--{class}-----1---{year}.html", + // 视频ID,列表页不能正常显示一般都是这个规则不对 + // 爬虫使用JSONArray来获取相关字段内容,JSONArray中共用到5个参数,具体说明: + // 1 要获取字段的前缀,必填 + // 2 要获取字段的后缀,必填,这两个参数确定后一般要取的字段就出来了 + // 3 获取到字段后该字段正确值的左偏移量,真正的值会加上这个偏移量,默认为0 + // 4 获取到字段后该字段正确值的右偏移量,真正的值会加上这个偏移量,默认为0 + // 5 定位到该字段后,往上回溯的层级(往上数祖先节点,如果当前字段没有匹配到标签的起始位置也要算一个节点),具体是要找到包含当前页各字段的那部分代码(本页要求的如 vod_id, vod_name vod_pic) + "vod_id": ["href=\"/detail/", ".html",0,0,3], + //(选填) 视频名 + "vod_name": ["title=\"", "\""], + //(选填) 图片 + "vod_pic":["data-original=\"", "\""], + //(选填) 副标题 + "vod_remarks":["",""] + }, + //(选填) 详情页 + "detail":{ + //(选填) 当前页面解析区域截取,程序会从截取后的数据中查找各字段,这里只是演示,按实际需求填写 + "region":["", ""], + //(选填) 详情页的url, 不存在时会使用list.vod_id进行推算 + "url": "https://www.zxzj.vip/detail/{vid}.html", + //(选填) 视频名 + "vod_name":["

    ", "

    "], + //(选填) 视频图片 + "vod_pic": ["主演:","

    "], + //(选填) 导演,需要有一个字段说明回溯层级,一般选用导演字段 + "vod_director":[">导演:", "

    ",0,0,2], + //(选填) 地区 + "vod_area":["地区:", "/"], + //(选填) 年份 + "vod_year":["年份:", "/"], + //(选填) 类型 + "vod_type":["类型:", "/"], + //(选填) + "vod_remarks":["更新:","

    "], + //(选填) 视频简介 + "vod_content":["简介:","

    "] + }, + //(选填) 播放列表页 + "playlist":{ + //(选填) 当前页面解析区域截取,程序会从截取后的数据中查找各字段,这里只是演示,按实际需求填写 + "region":["", ""], + //(选填) 当sort为1时会对找到播放列表进行倒序 + "sort": 0, + //(选填) 播放列表页的url, 一般都和详情页的地址一样,有部分网站的播放页和详情页不同时才填这个字段 + "url": "https://www.zxzj.vip/detail/{vid}.html", + //(选填) 播放url的字段规则,这里需要回溯到包含单个播放源全部play_url的html节点 + "vod_play_url": ["i>", "<"], + //(选填) 播放源的名称,如果有的话需要,查找到的播放列表会根据该字段的内容顺序进行排序 + "vod_play_from": [ + // 如果播放源的名称不能保证在页面上是唯一的 + ["

    播放线路4

    ", "播放线路4(别名)"], + "迅雷云盘", "百度网盘", ["DP播放"] , "播放线路3", "CK播放" + ] + }, + //(选填) 播放页,不用去管,用来尝试解析直链的 + "play":{ + //(选填) 当前页面解析区域截取,程序会从截取后的数据中查找各字段,这里只是演示,按实际需求填写 + "region":["", ""], + // (选填) 嗅探关键字,有的网站视频url有特殊关键字的可以在这里指明 + "keywords":[".mp4", ".m3u8", ".flv"] + }, + //(选填) 搜索页 search 不存在时会先去尝试json搜索接口,如果网站不支持再去页面上找搜索页的url + "search":{ + //(选填) 当前页面解析区域截取,程序会从截取后的数据中查找各字段,这里只是演示,按实际需求填写 + "region":["", ""], + // 搜索页的URL + "url": "https://zxzj.vip/vodsearch/-------------.html?wd={wd}", + //(选填) 视频ID + "vod_id": ["/detail/", ".html",0,0,3], + //(选填) 视频名 + "vod_name": ["title=\"", "\""], + //(选填) 图片 + "vod_pic":["data-original=\"", "\""], + //(选填) 副标题 + "vod_remarks":["",""] + }, + // json格式的搜索接口示例 + // "search":{ + // "url": "https://www.llyady.cc/index.php/ajax/suggest?mid=1&wd={wd}", + // "lookback": 3, + // "vod_id": "id", + // "vod_name": "name", + // "vod_pic":"pic" + //} + //(选填) 过滤相关规则,需要配合list.url使用 + // Filters ======================================================= + "filter": { + "1": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "欧美","v": "欧美"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"} + ] + } + ], + "2": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "3": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "4": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "5": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "6": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ] + } + +} \ No newline at end of file diff --git a/XBiu/体育_直播吧.json b/XBiu/体育_直播吧.json new file mode 100644 index 0000000..e74a50f --- /dev/null +++ b/XBiu/体育_直播吧.json @@ -0,0 +1,91 @@ +{ + "author": "dj22.8.28", + "ua": "", + "homeUrl": "https://www.zhibo8.cc/", + + "cateManual": { + "DJ-直播吧": "1" + }, + + // 首页推荐视频的节点 + "homeVodNode": "//a[contains(text(),'手机看直播')]/parent::li", + // 首页推荐视频的名称 + //"homeVodName": "/li[@class='lab_events']/span/text()", + "homeVodName": "/@data-time", + // 首页推荐视频的id + "homeVodId": "/a[1]/@href", + // 二次处理正则 + //"homeVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + // 首页推荐视频的图片 + "homeVodImg": "/img/@src", + // 首页推荐视频的简介 + "homeVodMark": "/text()", + //"home": "dj", + + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "https://www.zhibo8.cc/", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//li[@id='saishi958846']", + //"cateVodName": "/li[@class='lab_events']/span/text()", + "cateVodName": "@data-time", + "cateVodId": "/a[1]/@href", + //"cateVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + "cateVodImg": "/img[1]/@src", + "cateVodMark": "/text()", + //"cateVodMark": "{vid}", + //"cate": "dj", + + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + //"dtUrl": "{vid}", + "dtUrl": "https://www.zhibo8.cc/{vid}", + // 详情节点 + "dtNode": "//ul[@data-stype='zqlq']", + // 视频名 + "dtName": "/li[1]/span/text()", + // 视频图片 + "dtImg": "/li[3]/span/img/@src", + // 视频分类 + "dtCate": "/li[1]/span/text()", + //演员 + "dtActor": "/li[1]/span/text()", + // 导演 + "dtDirector": "concat('DJ - ','Never underestimate the heart of a champion! ')", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "concat(/li[3]/strong/text(),' VS ',/li[5]/strong/text())", + + // 播放源节点 + "dtFromNode": "//div[@class='sub_channel']", + // 播放源名称 + "dtFromName": "concat('【直播源','】')", + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[@class='sub_channel']", + // 播放地址节点 + "dtUrlSubNode": "/a", + "dtUrlSub": "/ff", + // 播放地址 + "dtUrlId": "@data-play", + "dtUrlIdR": "/play/(\\S+)", + //"dtUrlIdR": "\\S+/(\\d+)&id2=", + // 剧集名称 + "dtUrlName": "/strong/text()", + "dtUrlNameR": "", + + //播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl":"http://play.sportsteam333.com/play/{playUrl}#ff", + //"playUrl":"http://play.sportsteam666.com/play/{playUrl}", + //"playUrl": "http://play.sportsteam365.com/play/{playUrl}", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", + + "searchUrl": "http://www.jrskan.com?key={wd}", + "scVodNode": "//div[@class='play_xg']/li", + "scVodName": "//div[@class='name']/a/@title", + "scVodId": "//div[@class='name']/a/@href", + "scVodIdR": "/play/(\\d+).html", + "scVodImg": "//div[@class='pic']/a/img/@src", + "scVodMark": "" +} \ No newline at end of file diff --git a/XBiubiu/1080Kkk.json b/XBiubiu/1080Kkk.json new file mode 100644 index 0000000..4ee396e --- /dev/null +++ b/XBiubiu/1080Kkk.json @@ -0,0 +1,69 @@ +{ + "name": "1080Kkk", + "url": "https://www.1080kkk.com", + "User": "空", + "shouye": "1", + //"fenlei": "电影$/dy/1/page/#电视剧$/dy/2/page/#综艺$/dy/3/page/#动漫$/dy/4/page/#国产剧$/ys/13-----------/page/#韩剧$/ys/24-----------/page/#日剧$/ys/22-----------/page/#美剧$/ys/16-----------/page/#港剧$/ys/14-----------/page/#台剧$/ys/15-----------/page/#海外剧$/ys/23-----------/page/#动作片$/ys/6-----------/page/#喜剧片$/ys/7-----------/page/#爱情片$/ys/8-----------/page/#科幻片$/ys/9-----------/page/#恐怖片$/ys/10-----------/page/犯罪片$/ys/11-----------/page/#战争片$/ys/12-----------/page/#剧情片$/ys/21-----------/page/#记录片$/ys/29-----------/page/动画电影$/ys/20-----------/page/#国产动漫$/ys/25-----------/page/#日本动漫$/ys/26-----------/page/#欧美动漫$/ys/27-----------/page/", + "fenlei": "电影$/ys/1--------#电视剧$/ys/2--------#综艺$/ys/3--------#动漫$/ys/4--------#动画片$/ys/1---动画-----#记录片$/ys/1---记录-----#国产剧$/ys/2----国语----#韩剧$/ys/2----韩语----#日剧$/ys/2----日语----#美剧$/ys/2----英语----#港剧$/ys/2----粤语----#喜剧片$/ys/1---喜剧-----#爱情片$/ys/1---爱情-----#恐怖片$/ys/1---恐怖-----#动作片$/ys/1---动作-----#科幻片$/ys/1---科幻-----#剧情片$/ys/1---剧情-----#战争片$/ys/1---战争-----#警匪片$/ys/1---警匪-----#犯罪片$/ys/1---犯罪-----#奇幻$/ys/1---奇幻-----#武侠$/ys/1---武侠-----#冒险$/ys/1---冒险-----", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/139yingshi.json b/XBiubiu/139yingshi.json new file mode 100644 index 0000000..c44a78c --- /dev/null +++ b/XBiubiu/139yingshi.json @@ -0,0 +1,70 @@ +{ + "name": "139影视", + "url": "https://www.139ys.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#国产剧$/vodshow/guochanju--------#港台剧$/vodshow/gangtaiju--------#日韩剧$/vodshow/rihanju--------#欧美剧$/vodshow/oumeiju--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "class=\"myui-vodlist__detail", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/2022xxj.txt b/XBiubiu/2022xxj.txt new file mode 100644 index 0000000..17367d5 --- /dev/null +++ b/XBiubiu/2022xxj.txt @@ -0,0 +1,72 @@ +//地址 https://ju54321.com https://juyouav.com https://avjs.vip https://juyouav.com https://mdav.vip + +{"name": "新香蕉", +"url": "https://www.2022xxj.com", +"tihuan": "cnzz.com", +"User": "空", + "shouye": "1", + +"fenlei": "水果解说$/avjs/index.php/sgp/AVJS-#中文综合$/xjzy/index.php/xjzy/zhongwenzonghe-#中文无码$/xjzy/index.php/xjzy/zhongwenwuma-#中文近亲$/xjzy/index.php/xjzy/zhongwenjingqing-#中文护士$/xjzy/index.php/xjzy/zhongwenhushi-#中文师生$/xjzy/index.php/xjzy/zhongwenshisheng-#中文强奸$/xjzy/index.php/xjzy/zhongwenqiangjian-#国产自拍$/xjzy/index.php/xjzy/guochanzipai-#美女主播$/xjzy/index.php/xjzy/meinvzhubo-#三级伦理$/xjzy/index.php/xjzy/sanjizonghe- + +#亚洲AV$/cq/index.php/2k/yazhou-#自拍偷拍$/cq/index.php/2k/zipaitoupai-#超清传媒$/cq/index.php/2k/chaoqingchuanmei-#3D动漫$/cq/index.php/2k/3Ddongman-#欧美AV$/cq/index.php/2k/oumei-#乱伦人妻$/cq/index.php/2k/luanlunrenqi-#丝袜制服$/cq/index.php/2k/siwazhifu-#直播录播$/cq/index.php/2k/zhibolubo-#SM另类$/cq/index.php/2k/SMlinglei-#超清三级$/cq/index.php/2k/chaoqingsanji- + +#CN麻豆原创$/gccm/index.php/md/madouyuanchuang-#91制片厂$/gccm/index.php/md/91zhipianchang/-#天美传媒$/gccm/index.php/md/tianmeichuanmei-#蜜桃传媒 $/gccm/index.php/md/mitaochuanmei-#皇家华人$/gccm/index.php/md/huangjiahuaren-#星空传媒$/gccm/index.php/md/xingkongchuanmei-#精东影业$/gccm/index.php/md/jingdongyingye-#乐播传媒$/gccm/index.php/md/lebochuanmei-#乌鸦传媒$/gccm/index.php/md/wuyachuanmei-#兔子先生$/gccm/index.php/md/tuzixiansheng-#杏吧原创$/gccm/index.php/md/xingbayuanchuang-#mini传媒$/gccm/index.php/md/minichuanmei-#大象传媒$/gccm/index.php/md/daxiangchuanmei-#开心鬼传媒$/gccm/index.php/md/kaixinguichuanmei-#PsychoPorn$/gccm/index.php/md/PsychoPorn-#糖心Vlgo$/gccm/index.php/md/tangxinVlgo- + +#99国产自拍$//99re/index.php/99re/guochanzipai-#肛交$/99re/index.php/99re/gangjiao-#口爆颜射$/99re/index.php/99re/koubaoyanshe-#潮吹$/99re/index.php/99re/chaochui-#会员认证作品$//99re/index.php/99re/jiujiurehuiyuanrenzhengzuopin-#制服丝袜$/99re/index.php/99re/zhifusiwa-#一本道$/99re/index.php/99re/yibendao-#高清$/99re/index.php/99re/gaoqing-#日本有码$/99re/index.php/99re/ribenyouma-#加勒比$/99re/index.php/99re/jialebi-#日本无码$/99re/index.php/99re/ribenwuma-#李宗瑞全集$/99re/index.php/99re/lizongruiquanji-#中文字幕$//99re/index.php/99re/zhongwenzimu-#欧美$/99re/index.php/99re/oumei-#东京热$/99re/index.php/99re/dongjingre-#小格式综合$/99re/index.php/99re/xiaogeshizonghe-#女主播系列$/99re/index.php/99re/hanguonvzhuboxilie-#成人动漫$/99re/index.php/99re/chengrendongman-#SM性虐$/99re/index.php/99re/SMxingnue-#韩国综合$/99re/index.php/99re/hanguozonghe- + +#FC国产自拍$/fcw/index.php/fcw/guochanzipai-#VIP专区$/fcw/index.php/fcw/VIPzhuanqu-#偷拍系列$/fcw/index.php/fcw/toupaixilie-#日本有码$/fcw/index.php/fcw/ribenyouma-#日本无码$/fcw/index.php/fcw/ribenwuma-#成人动漫$/fcw/index.php/fcw/chengrendongman-#韩国综合$/fcw/index.php/fcw/hanguozonghe-#VR专区$/fcw/index.php/fcw/VRzhuanqu-#欧美$/fcw/index.php/fcw/oumei-", + +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"list-videos\"", +"jiequhou": "class=\"pagination\"", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"item\">更新", + +//"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "猜你喜欢", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "
    ", +"daoyanqian": "更新:", +"daoyanhou": "
    ", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "片名:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/23.json b/XBiubiu/23.json new file mode 100644 index 0000000..34e57e8 --- /dev/null +++ b/XBiubiu/23.json @@ -0,0 +1,71 @@ +// 修复分类、分类++ +{ + "name": "23影院", + "url": "https://222.186.150.32", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/id/1/page/#剧集$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#纪录片$/vodshow/id/20/page/#动漫$/vodshow/id/4/page/#亲子动漫$/vodshow/class/亲子/id/4/page/#益智动漫$/vodshow/class/益智/id/4/page/#国产剧$/vodshow/id/13/page/#港台剧$/vodshow/id/14/page/#日韩剧$/vodshow/id/15/page/#欧美剧$/vodshow/id/16/page/#泰国剧$/vodshow/id/25/page/#哔哩(剧)$/vodshow/id/39/page/#海外剧$/vodshow/id/51/page/#国产动漫$/vodshow/area/国产/id/4/page/#日本动漫$/vodshow/area/日本/id/4/page/#欧美动漫$/vodshow/area/欧美/id/4/page/#其他动漫$/vodshow/area/其他/id/4/page/#喜剧片$/vodshow/id/7/page/#爱情片$/vodshow/id/8/page/#科幻片$/vodshow/id/9/page/#恐怖片$/vodshow/id/10/page/#剧情片$/vodshow/id/11/page/#战争片$/vodshow/id/12/page/#动作片$/vodshow/id/6/page/#奇幻片$/vodshow/id/52/page/#犯罪片$/vodshow/id/53/page/#悬疑片$/vodshow/id/58/page/#冒险片$/vodshow/id/59/page/", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"aplus-exp\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + //"biaotihou": "\"", + "biaotihou": "23影视网", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "pack-prb\">", + "fubiaotihou": "", + + "zhuangtaiqian": "remarks\">", + "zhuangtaihou": "", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/2345.json b/XBiubiu/2345.json new file mode 100644 index 0000000..70b43c0 --- /dev/null +++ b/XBiubiu/2345.json @@ -0,0 +1,68 @@ +{"name":"2345影视大全", +"url": "https://www.245bt.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电视剧$/frim/2-#国产剧$/frim/16-#网络剧$/frim/17-#港剧$/frim/18-#台剧$/frim/19-#日剧$/frim/20-#韩剧$/frim/21-#美剧$/frim/22-#英剧$/frim/23-#泰剧$/frim/24-#海外剧$/frim/25-#电影$/frim/27-#动作片$/frim/5-#喜剧片$/frim/6-#爱情片$/frim/7-#科幻片$/frim/8-#恐怖片$/frim/9-#战争片$/frim/10-#剧情片$/frim/11-#纪录片$/frim/12-#动画片$/frim/13-#网络电影$/frim/14-#动漫$/frim/3-#综艺$/frim/4-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
  • ", +"jiequshuzuhou": "
  • ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"ljhouzhui": "空", +"fubiaotiqian":"空", +"fubiaotihou": "空", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"box", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"ssljqianzhui":"https://www.245bt.com/detail/", +"ssljhouzhui": ".html", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"description\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""} \ No newline at end of file diff --git a/XBiubiu/2345影视.json b/XBiubiu/2345影视.json new file mode 100644 index 0000000..70b43c0 --- /dev/null +++ b/XBiubiu/2345影视.json @@ -0,0 +1,68 @@ +{"name":"2345影视大全", +"url": "https://www.245bt.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电视剧$/frim/2-#国产剧$/frim/16-#网络剧$/frim/17-#港剧$/frim/18-#台剧$/frim/19-#日剧$/frim/20-#韩剧$/frim/21-#美剧$/frim/22-#英剧$/frim/23-#泰剧$/frim/24-#海外剧$/frim/25-#电影$/frim/27-#动作片$/frim/5-#喜剧片$/frim/6-#爱情片$/frim/7-#科幻片$/frim/8-#恐怖片$/frim/9-#战争片$/frim/10-#剧情片$/frim/11-#纪录片$/frim/12-#动画片$/frim/13-#网络电影$/frim/14-#动漫$/frim/3-#综艺$/frim/4-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
  • ", +"jiequshuzuhou": "
  • ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"ljhouzhui": "空", +"fubiaotiqian":"空", +"fubiaotihou": "空", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"box", +"ssjiequshuzuhou": "
    ", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"ssljqianzhui":"https://www.245bt.com/detail/", +"ssljhouzhui": ".html", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"description\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""} \ No newline at end of file diff --git a/XBiubiu/23yingyuan.json b/XBiubiu/23yingyuan.json new file mode 100644 index 0000000..0f67db1 --- /dev/null +++ b/XBiubiu/23yingyuan.json @@ -0,0 +1,71 @@ +// 修复分类、分类++ +{ + "name": "23影院", + "url": "https://23wm.net", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/id/1/page/#剧集$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#纪录片$/vodshow/id/20/page/#动漫$/vodshow/id/4/page/#亲子动漫$/vodshow/class/亲子/id/4/page/#益智动漫$/vodshow/class/益智/id/4/page/#国产剧$/vodshow/id/13/page/#港台剧$/vodshow/id/14/page/#日韩剧$/vodshow/id/15/page/#欧美剧$/vodshow/id/16/page/#泰国剧$/vodshow/id/25/page/#哔哩(剧)$/vodshow/id/39/page/#海外剧$/vodshow/id/51/page/#国产动漫$/vodshow/area/国产/id/4/page/#日本动漫$/vodshow/area/日本/id/4/page/#欧美动漫$/vodshow/area/欧美/id/4/page/#其他动漫$/vodshow/area/其他/id/4/page/#喜剧片$/vodshow/id/7/page/#爱情片$/vodshow/id/8/page/#科幻片$/vodshow/id/9/page/#恐怖片$/vodshow/id/10/page/#剧情片$/vodshow/id/11/page/#战争片$/vodshow/id/12/page/#动作片$/vodshow/id/6/page/#奇幻片$/vodshow/id/52/page/#犯罪片$/vodshow/id/53/page/#悬疑片$/vodshow/id/58/page/#冒险片$/vodshow/id/59/page/", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"aplus-exp\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + //"biaotihou": "\"", + "biaotihou": "23影视网", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "pack-prb\">", + "fubiaotihou": "", + + "zhuangtaiqian": "remarks\">", + "zhuangtaihou": "", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/23影院.json b/XBiubiu/23影院.json new file mode 100644 index 0000000..b980276 --- /dev/null +++ b/XBiubiu/23影院.json @@ -0,0 +1,61 @@ +{ + "name": "23影院", + "url": "https://www.23wm.net", + "User": "空", + "shouye": "1", + //"fenlei": "电影$/vodshow/1--------1---/page/#剧集$/vodshow/2--------1---/page/#综艺$/vodshow/3--------1---/page/#动漫$/vodshow/4--------1---/page/#纪录片$/vodshow/20--------1---/page/#国产剧$/vodshow/13--------1---/page/#港台剧$/vodshow/14--------1---/page/#日韩剧$/vodshow/15--------1---/page/#欧美剧$/vodshow/16--------1---/page/#哔哩哔哩$/vodshow/39--------1---/page/#喜剧片$/vodshow/7--------1---/page/#爱情片$/vodshow/8--------1---/page/#科幻片$/vodshow/9--------1---/page/#恐怖片$/vodshow/10--------1---/page/#剧情片$/vodshow/11--------1---/page/#", + "fenlei": "电影$/vodshow/1--------#剧集$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/20--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#韩剧$/vodshow/15-韩国-------#日剧$/vodshow/15-日本-------#欧美剧$/vodshow/16--------#泰国剧$/vodshow/25--------#哔哩哔哩$/vodshow/39--------#海外剧$/vodshow/51--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#其他动漫$/vodshow/4-其他-------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#动作片$/vodshow/6--------#奇幻片$/vodshow/52--------#犯罪片$/vodshow/53--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"pack-ykpack\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + //"biaotihou": "\"", + "biaotihou": "23影视网-", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": ".&limit=500", + "sousuohouzhui": "/voddetail/vodsearch/.html/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/2BT.json b/XBiubiu/2BT.json new file mode 100644 index 0000000..77ab405 --- /dev/null +++ b/XBiubiu/2BT.json @@ -0,0 +1,61 @@ +{ "name": "二个BT", + "url": "https://bttwoo.com", + //"tihuan": "aliyundrive", + "User": "空", + "shouye": "1", + "fenlei": "最新电影$/new-movie/page/#本月热门$/hot-month/#电视剧$/dsj/page/#国产剧$/zgjun/page/#美剧$/meiju/page/#日韩剧$/jpsrtv/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "bttwoo.com", + "lianjiehou": "\"", + "sousuoqian": "/xssearch?q=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
  • ", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "bttwoo.com", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"paly_list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "
  • 导演:", + "daoyanhou": "
  • ", + "zhuyanqian": "
  • 主演:", + "zhuyanhou": "
  • ", + "juqingqian": "class=\"yp_context\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "bttwoo.com", + "bflianjiehou": "\"", + "嗅探词":".m3u8#api.13to.com", + "过滤词":"xqmi.top#51.la#baomitu.com#.css#.js#ddzy" +}, diff --git a/XBiubiu/300yingshi.json b/XBiubiu/300yingshi.json new file mode 100644 index 0000000..ec269bc --- /dev/null +++ b/XBiubiu/300yingshi.json @@ -0,0 +1,81 @@ +{ + "author": "220805", + "name": "300影视", + // 填网站链接https://www.300kan.top,www.300kan.top,www.300ys.xyz + "url": "https://300ys.xyz", + // 这个不用动,是个别网站播放需要请求头时才用到 + //"User": "User-Agent:Dart/2.14 (dart:io)", + "User": "空", + // 首页展示 + "shouye": "1", + // 网站列表的分类 + //"fenlei": "电影$/vodshow/38--------#连续剧$/vodshow/39--------#综艺$/vodshow/40--------#动漫$/vodshow/41--------", + "fenlei": "电影$/vodshow/38--------#连续剧$/vodshow/39--------#综艺$/vodshow/40--------#动漫$/vodshow/41--------#大陆剧$/vodshow/39-中国大陆-------#港剧$/vodshow/39-香港-------#美剧$/vodshow/39-美国-------#韩剧$/vodshow/39-韩国-------#日剧$/vodshow/39-日本-------", + // 网站翻页链接的后缀 + "houzhui": "---.html", + // 截取的列表数组是否需要二次截取,0不需要,1需要,空 + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + // 截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "", + // 列表中资源的图片前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-src=\"", + "tupianhou": "\"", + //列表中资源的标题前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", + "biaotihou": "\"", + // 列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", + "lianjiehou": "\"", + // 搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。/vodsearch/-------------.html?wd= + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + // 搜索页影片跳转详情页的中间标识链接部分,不是播放页面 + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + // 截取的播放列表数组是否需要二次截取,0不需要,1需要,空 + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + // 播放截取的列表数组的前,后关键词 + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + // 详情页状态,导演,主演,简介关键词 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "剧情:", + "juqinghou": "", + // 播放页面是否需要二次截取,0不需要,1需要,空 + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + // 播放剧集数组前,后关键词 + "bfyjiequshuzuqian": "", + // 播放剧集标题前,后关键词 + "bfbiaotiqian": "", + "bfbiaotihou": "", + // 播放剧集链接前,后关键词 + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/31kanyingshi.json b/XBiubiu/31kanyingshi.json new file mode 100644 index 0000000..7ce8ab5 --- /dev/null +++ b/XBiubiu/31kanyingshi.json @@ -0,0 +1,68 @@ +{ + "name": "31看影视", + "url": "https://www.31kan.vip", + "author": "dj", + "User": "空", + "shouye": "1", + "fenlei": "热播剧集$/vodshow/2--hits------#热播电影$/vodshow/1--hits------#热播综艺$/vodshow/3--hits------#热播少儿$/vodshow/33--hits------#国产剧$/vodshow/2-大陆-------#港剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#泰剧$/vodshow/2-泰国-------#日剧$/vodshow/2-日本-------#英剧$/vodshow/2-英国-------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/348dianyingwang.json b/XBiubiu/348dianyingwang.json new file mode 100644 index 0000000..f0d5c33 --- /dev/null +++ b/XBiubiu/348dianyingwang.json @@ -0,0 +1,67 @@ +{ + "name": "348电影网", + "url": "https://www.348z.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/id/1/page/#连续剧$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#动漫$/vodshow/id/4/page/#4K$/vodshow/id/37/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"pack-ykpack", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "hidden\">", + "fubiaotihou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/381ck.txt b/XBiubiu/381ck.txt new file mode 100644 index 0000000..9e33824 --- /dev/null +++ b/XBiubiu/381ck.txt @@ -0,0 +1,65 @@ +//http://663ck.cc http://749ck.cc http://hscangku.com http://327ck.cc + +{"name": "黄仓库", +"url": "http://381ck.cc/", +"tihuan": "381ck.cc", +"User": "空", + "shouye": "1", + +"fenlei": "日韩AV$/vodtype/1-#国产系列$/vodtype/2-#欧美$/vodtype/3-#成人动漫$/vodtype/4-#无码中文$/vodtype/8-#有码中文$/vodtype/9-#日本无码$/vodtype/10-#日本有码$/vodtype/7-#国产视频$/vodtype/15-#欧美高清$/vodtype/21-#动漫剧情$/vodtype/22-", +"houzhui": ".html", + +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"zhuangtaiqian": "时间:", +"zhuangtaihou": "", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/3零相声.json b/XBiubiu/3零相声.json new file mode 100644 index 0000000..60cc192 --- /dev/null +++ b/XBiubiu/3零相声.json @@ -0,0 +1,62 @@ +{ + "name": "3030相声小品", + "url": "http://3030.com.cn", + "User": "空", + "shouye": "1", + "fenlei": "相声$/category-2#小品$/category-3#开心麻花$/category-18#日剧$/list/4-#泰剧$/list/5-#动漫$/list/6-", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "class=\"subcate", + "jiequhou": "", + "jiequshuzuqian": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/watch/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"sbox", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "空", + "zhuangtaihou": "空", + "daoyanqian": "空", + "daoyanhou": "空", + "zhuyanqian": "空", + "zhuyanhou": "空", + "juqingqian": "空", + "juqinghou": "空", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"http://3030.com.cn", +"bflianjiehou": "\"" +} diff --git a/XBiubiu/4KV影院.json b/XBiubiu/4KV影院.json new file mode 100644 index 0000000..ed1afb5 --- /dev/null +++ b/XBiubiu/4KV影院.json @@ -0,0 +1,73 @@ +{"name": "4kvm", +"url": "", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$https://www.4kvm.com/movies/page/#电视剧$/", +"houzhui": "", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"poster", +"jiequshuzuhou": "
    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "空", +"ssmoshi": "0", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"ssfubiaotiqian": "空", +"ssfubiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"ssljhouzhui": "空", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"pframe", +"bfjiequshuzuhou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "src=\"", +"bflianjiehou": "\"", +"bfqianzhui": "空", +"bfhouzhui": ""}, \ No newline at end of file diff --git a/XBiubiu/4Kdianyingwang.json b/XBiubiu/4Kdianyingwang.json new file mode 100644 index 0000000..09f88a6 --- /dev/null +++ b/XBiubiu/4Kdianyingwang.json @@ -0,0 +1,74 @@ +{ + "author": "20220612", + "name": "4K电影网", + "url": "https://www.4kdyw.cn", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + + "fenlei": "国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#电视剧(B站)$/vodshow/45--------#纪录片$/vodshow/24--------#纪录片(B站)$/vodshow/46--------#日本动漫$/vodshow/21--------#国产动漫$/vodshow/20--------#欧美动漫$/vodshow/22--------#动漫电影$/vodshow/25--------#番剧(B站)$/vodshow/42--------#国创(B站)$/vodshow/43--------#综艺$/vodshow/3--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/27--------#灾难片$/vodshow/28--------#历史片$/vodshow/29--------#传记片$/vodshow/30--------#歌舞片$/vodshow/47--------#电影(B站)$/vodshow/44--------", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"module-item-pic", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "/div>
    ", + "fubiaotihou": "<", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "
    ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "集数:
    ", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:
    ", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "vod_content\">", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "e;border-radius:0 10px 0 10px;\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "style=\"bottom:0;backgroud-color:white;border-radius:0 10px 0 10px;\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/52kpopl.json b/XBiubiu/52kpopl.json new file mode 100644 index 0000000..42a63ef --- /dev/null +++ b/XBiubiu/52kpopl.json @@ -0,0 +1,73 @@ +{ + "name": "韩剧在线", //填网站名称 + "tihuan": "cnzz.com", +//------填网站链接 + "url": "https://www.52kpop1.com", + "shouye": "1", +//------网站列表的分类 + //"fenlei": "电影$/vodshow/1--------#韩剧$/vodshow/2--------#韩综$/vodshow/3--------#最新推荐$/vodshow/4--------#Running Man$/vodshow/20--------", + "fenlei": "电影$/list/1-#韩剧$/list/2-#韩综$/list/3-#最新推荐$/list/4-#Running Man$/list/20-", +//------网站翻页链接的后缀 + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", +//------截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"stui-vodlist__box\"", +//------ //截取的列表数组的后关键词 + "jiequshuzuhou": "", +//------列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", +//------//列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", +//------搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", +//------搜索页影片跳转详情页的中间标识链接部分 + "sousuohouzhui": "/kan/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", +//播放截取的列表数组的前关键词 + "bfjiequshuzuqian": "class=\"stui-content__playlist", +//播放截取的列表数组的后关键词 + "bfjiequshuzuhou": "", +//------下面的是详情内容可以不动 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", +//------下面的是播放链接关键词第一集 + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/555.json b/XBiubiu/555.json new file mode 100644 index 0000000..7c6402b --- /dev/null +++ b/XBiubiu/555.json @@ -0,0 +1,67 @@ +{"name": "555电影", + "url": "https://www.555dy.fun", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#热播电影$/vodshow/1--hits------#热播剧集$/vodshow/13--------#电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产剧$/vodshow/2-大陆-------#欧美剧$/vodshow/45--------#国漫$/vodshow/4-大陆-------#日漫$/vodshow/4-日本-------#福利$/vodshow/124--------", + + //"fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#Netflix(漫)$/vodshow/4---Netflix-----#热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧美剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#美食片$/vodshow/1---美食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "
    ", + "jiequshuzuqian": "", + "xlbiaotiqian": "", + "xlbiaotihou": "", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "更新:", // + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "style=\"line-height: 20px;\">", //简介: + "juqinghou": "

    ", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/555_2.json b/XBiubiu/555_2.json new file mode 100644 index 0000000..5e49552 --- /dev/null +++ b/XBiubiu/555_2.json @@ -0,0 +1,73 @@ +// 网站改版修正 +{ + "author": "20220613", + "name": "555电影", + "url": "https://www.xawqxh.net", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + + "fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#Netflix(漫)$/vodshow/4---Netflix-----#热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧美剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#美食片$/vodshow/1---美食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#福利库$/vodshow/124--time------", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "fubiaotihou": "", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "fubiaotihou": "", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", + "xlshifouercijiequ": "0", + "xljiequqian": "", + "xljiequhou": "", + "xljiequshuzuqian": "
    ", + "xlbiaotiqian": "", + "xlbiaotihou": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search-pg-1-wd-", +"sousuohou": ".html", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"vbox\"", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"xlshifouercijiequ": "1", +"xljiequqian": "播放地址 -->", +"xljiequhou": "end 播放地址 -->", +"xljiequshuzuqian": "class=\"title\"", +"xljiequshuzuhou": "/h3>", +"xlbiaotiqian": ">", +"xlbiaotihou": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/69meiju.json b/XBiubiu/69meiju.json new file mode 100644 index 0000000..76be80f --- /dev/null +++ b/XBiubiu/69meiju.json @@ -0,0 +1,58 @@ +{"name": "69美剧", +"url": "https://www.69mj.com", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "alt=", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"tupianqianzhui": "https://www.69mj.com", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"module-item-text\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/6d.json b/XBiubiu/6d.json new file mode 100644 index 0000000..5999c87 --- /dev/null +++ b/XBiubiu/6d.json @@ -0,0 +1,60 @@ +{ + "name": "六度TV", + "url": "http://6d.xuangz.cn", + "User": "空", + "shouye": "1", + "fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#美国片$/whole/1_美国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧美剧$/whole/2__欧美剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v_show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"v-thumb stui-vodlist", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +} \ No newline at end of file diff --git a/XBiubiu/77.json b/XBiubiu/77.json new file mode 100644 index 0000000..6b6bd34 --- /dev/null +++ b/XBiubiu/77.json @@ -0,0 +1,63 @@ +{"name": "七七测试", +"url": "", +"ua": "Dalvik/2.1.0 (Linux; U; Android 5.1.1; MI 9 Build/LMY48Z)", +"User": "空", +"fenlei": "热播推荐$http://api.kunyu77.com/api.php/provide/homeBlock?type_id=0pagenum=&#电视剧$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=2&pagenum=#电影$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=1&pagenum=#综艺$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=3&pagenum=#动漫$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=4&pagenum=", +"houzhui": "&pagesize=24", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"video", +"jiequshuzuhou": "cornermark_color", +"tupianqian": "Cover\":\"", +"tupianhou": "\"", +"biaotiqian": "title\":\"", +"biaotihou": "\"", +"lianjieqian": "id\":", +"lianjiehou": "\"", +"ljqianzhui": "http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&pcode=010110004&type_id=1&sj=1661786776&sysver=9&model=OPPO%20R9tm&sys=android&version=1.8.7&brand=OPPO&ids=", +"ljhouzhui": "空", +"fubiaotiqian": "msg\":\"", +"fubiaotihou": "\"", +"sousuoqian": "http://api.kunyu77.com/api.php/provide/searchVideo?searchName=", +"sousuohou": "", +"sousuohouzhui": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "data\":", +"ssjiequhou": "\"ext\"", +"ssjiequshuzuqian": "{", +"ssjiequshuzuhou": "}", +"sstupianqian": "videoCover\":\"", +"sstupianhou": "\"", +"ssbiaotiqian": "videoName\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "id\":", +"sslianjiehou": "\"", +"ssljqianzhui": "http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&pcode=010110004&type_id=1&sj=1661786776&sysver=9&model=OPPO%20R9tm&sys=android&version=1.8.7&brand=OPPO&ids=", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"data\"", +"bfjiequshuzuhou": "}]}}", +"zhuangtaiqian": "albumTitle\":\"", +"zhuangtaihou": "\"", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "albumTitle\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "\"id\"", +"bfyjiequshuzuhou": "\"playurls\"", +"bfbiaotiqian": "title\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "playurl\":\"", +"bflianjiehou": "\"", +"bfqianzhui": ""} diff --git a/XBiubiu/789yingshi.json b/XBiubiu/789yingshi.json new file mode 100644 index 0000000..d6dfed9 --- /dev/null +++ b/XBiubiu/789yingshi.json @@ -0,0 +1,64 @@ +{ + "name": "789影视", + "url": "https://789ys.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/list/2-#电影$/list/1-#综艺$/list/3-#动漫$/list/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/80S.json b/XBiubiu/80S.json new file mode 100644 index 0000000..3c146de --- /dev/null +++ b/XBiubiu/80S.json @@ -0,0 +1,68 @@ +{"name": "80S磁力", +"url": "https://www.80s.tw/", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电视剧$/ju/list/----0--p/#电影$/movie/list/-----p/", +"houzhui": "", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "class=\"me1 clearfix", +"jiequhou": "", +"jiequshuzuqian": "
  • ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"tupianqianzhui": "http://", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "/", +"lianjiehou": "\"", +"ljqianzhui": "https://s.80s.tw/movie/", +"fubiaotiqian": "class=\"tip\">", +"fubiaotihou": "", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "
    ", +"zhuyanqian": "主演:", +"zhuyanhou": "  ", +"juqingqian": "剧情介绍:", +"juqinghou": "", +"bfjiequshuzuqian": "分辨率", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "1", +"bfyjiequqian": "style", +"bfyjiequhou": "", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"mag", +"bflianjiehou": "\"", +"bfqianzhui": "mag"} \ No newline at end of file diff --git a/XBiubiu/87yingyuan.json b/XBiubiu/87yingyuan.json new file mode 100644 index 0000000..a7e1eed --- /dev/null +++ b/XBiubiu/87yingyuan.json @@ -0,0 +1,73 @@ +{ + "author": "20220608", + "name": "87影院", + "url": "https://87dyba.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/5--------#国产剧$/vodshow/201--------#港台剧$/vodshow/202--------#日韩剧$/vodshow/203--------#欧美剧$/vodshow/204--------#海外剧$/vodshow/205--------#国产动漫$/vodshow/4-中国大陆-------#日本动漫$/vodshow/4-日本-------#美国动漫$/vodshow/4-美国-------#韩国动漫$/vodshow/4-韩国-------#台湾动漫$/vodshow/4-中国台湾-------#动作片$/vodshow/101--------#喜剧片$/vodshow/102--------#爱情片$/vodshow/103--------#科幻片$/vodshow/104--------#剧情片$/vodshow/105--------#悬疑片$/vodshow/106--------#惊悚片$/vodshow/107--------#恐怖片$/vodshow/108--------#犯罪片$/vodshow/109--------", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"hl-item-thumb", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "remarks\">", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"hl-plays-list", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "
  • ", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/98bobowang.json b/XBiubiu/98bobowang.json new file mode 100644 index 0000000..ac27f19 --- /dev/null +++ b/XBiubiu/98bobowang.json @@ -0,0 +1,64 @@ +{ + "name": "98播播网", + "url": "https://98bbw.com", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/whole/1/page/#电视剧$/whole/2/page/#国产剧$/whole/2/area/中国大陆/page/#港剧$/whole/2/area/中国香港/page/#韩剧$/whole/3/page/#日剧$/whole/5/page/#美剧$/whole/4/page/#综艺$/whole/22/page/#国产动漫$/whole/26/page/#日本动漫$/whole/25/page/#更新$/label/new", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/show/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/9yiziyuan.json b/XBiubiu/9yiziyuan.json new file mode 100644 index 0000000..cf11841 --- /dev/null +++ b/XBiubiu/9yiziyuan.json @@ -0,0 +1,64 @@ +{ + "name": "9亿资源", + "tihuan": "cnzz.com", + "url": "https://www.9eii.com", + "shouye": "1", + "fenlei": "热播剧集$/vodshow/zuijinrebodianshiju/page/#热播电影$/vodshow/zuijinrebodianying/page/#综艺$/vodshow/zongyi/page/#动漫$/vodshow/dongman/page/#国语配音电影$/vodshow/gypy/page/#国语配音剧集$/vodshow/guoyupeiyinhanju/page/#国语配音动漫$/vodshow/guoyupeiyindongman/page/#国产剧$/vodshow/lianxuju/area/中国大陆/page/#港剧$/vodshow/lianxuju/area/香港/page/#韩剧$/vodshow/lianxuju/area/韩国/page/#美剧$/vodshow/lianxuju/area/美国/page/#泰剧$/vodshow/lianxuju/area/泰国/page/#日剧$/vodshow/lianxuju/area/日本/page/#英剧$/vodshow/lianxuju/area/英国/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/AB影院.json b/XBiubiu/AB影院.json new file mode 100644 index 0000000..c484006 --- /dev/null +++ b/XBiubiu/AB影院.json @@ -0,0 +1,55 @@ +{"name": "AB影院", +"url": "https://abu22.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/vodshow/1--hits------#电视剧$/vodshow/2--hits------#综艺$/vodshow/3--hits------#动漫$/vodshow/4--hits------#纪录片$/vodshow/5--hits------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__item", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=10", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0","jspic": "pic", +"jsname": "name","jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"zhuangtaiqian": "年份:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"stui-content__desc col-pd clearfix\">", +"juqinghou": "", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} diff --git a/XBiubiu/Alist.json b/XBiubiu/Alist.json new file mode 100644 index 0000000..e9dc4ba --- /dev/null +++ b/XBiubiu/Alist.json @@ -0,0 +1,20 @@ +{ + "4k影视": "https://quanzi.laoxianghuijia.cn", + "小兵":"https://6vv.app", + "DISK":"http://124.222.140.243:8080", + "云播放":"https://quanzi.laoxianghuijia.cn", + "星梦":"https://pan.bashroot.top", + "A2":"http://37.16.3.89", + "小江":"https://dyj.me", + "触光":"https://pan.ichuguang.com", + "好汉吧":"https://8023.haohanba.cn", + "米奇":"https://anime.mqmmw.ga", + "晴园":"https://alist.52qy.repl.co", + "小光盘":"https://alist.xiaoguanxiaocheng.life", + "一只鱼":"https://alist.youte.ml", + "七米蓝":"https://al.chirmyram.com", + "非盘":"http://www.feifwp.top", + "嗨翻":"https://pan.hikerfans.com", + "AUNEY":"http://121.227.25.116:8008", + "sangxuesheng":"https://wangpan.sangxuesheng.com" +} \ No newline at end of file diff --git a/XBiubiu/Auete.json b/XBiubiu/Auete.json new file mode 100644 index 0000000..ca2b622 --- /dev/null +++ b/XBiubiu/Auete.json @@ -0,0 +1,88 @@ +{"author": "20220630", +"name": "Auete影视", +"url": "https://auete.com", +"shouye": "1", +//访问请求头,如果不需要自定义请求ua的话,不填写或者直接删除这个字段就可以了。 +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +//播放请求头 +"User": "空", +//直接播放截取的播放页链接网址,0表示:否,1表示:是 +"直接播放": "0", +//分类页是否使用列表方式显示,0表示:否,1表示:是 +"列表显示": "0", +//列表图片是否横图显示,0表示:否,1表示:是 +"横图显示": "0", + +//影视分类和翻页后缀部分,如果分类类型填空,例如:测试$空,则直接取url字段网站的源码。 +"fenlei": "豆瓣TOP250$/Top250/movie#Netflix影视$/Netflix/movies#谍战剧集推荐$/diezhan/index#电影$/Movie/index#电视剧$/Tv/index#综艺$/Zy/index#动漫$/Dm/index#其他$/qita/index#记录片$/qita/Jlp/index#国产剧$/Tv/neidi/index#韩剧$/Tv/hanju/index#美剧$/Tv/oumei/index#日剧$/Tv/riju/index#泰剧$/Tv/yataiju/index#网剧$/Tv/wangju/index#台剧$/Tv/taiju/index#港剧$/Tv/tvbgj/index#英剧$/Tv/yingju/index#经典剧$/qita/Jdj/index#动画$/Dm/donghua/index#日漫$/Dm/riman/index#国漫$/Dm/guoman/index#美漫$/Dm/meiman/index#经典片$/qita/Jdp/index#网大电影$/qita/wlp/index#国产老电影$/qita/laodianying/index#喜剧片$/Movie/xjp/index#动作片$/Movie/dzp/index#爱情片$/Movie/aqp/index#科幻片$/Movie/khp/index#恐怖片$/Movie/kbp/index#惊悚片$/Movie/jsp/index#战争片$/Movie/zzp/index#剧情片$/Movie/jqp/index", +"houzhui": ".html", +"qishiye": "2",//可以自定义列表翻页起始页的页数,如果填上一个空字,则不使用起始页数,直接获取链接的数据。 + +//影视列表展示部分 +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"trans_3", +"jiequshuzuhou": "", +"fubiaotihou": "", +"ssjiequshuzuhou": "", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空",//可以自己定义截取图片的前缀 +"ssbiaotiqian": "text-danger\">", +"ssbiaotihou": "", + +"zhuangtaiqian": "状态: ", +"zhuangtaihou": "", +"daoyanqian": "影片导演:", +"daoyanhou": "

    ", +"zhuyanqian": "影片主演:", +"zhuyanhou": "

    ", +"juqingqian": "

    ", +"juqinghou": "

    ", + +"bfyshifouercijiequ": "1", +"bfyjiequqian": "
      ", +"bfyjiequhou": "
    ", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" //可以自己定义截取播放链接的前缀,不需要的话不填写,或者删除这个字段即可。 +} \ No newline at end of file diff --git a/XBiubiu/COKEMV.json b/XBiubiu/COKEMV.json new file mode 100644 index 0000000..717ec19 --- /dev/null +++ b/XBiubiu/COKEMV.json @@ -0,0 +1,71 @@ +{ + "name": "COKEMV", + "url": "https://cokemv.me", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画电影$/vodshow/41--------#抖音电影$/vodshow/5--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#犯罪片$/vodshow/23--------", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "module-page", + //"jiequhou": "
    ", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "fubiaotihou": "
    ", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-src=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-text\">", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "集数:
    ", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "vod_content\">", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "集数:
    ", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "vod_content\">", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "百人牛牛,美女陪干!不爽就来干", +"jiequhou": "
    ", +"jiequshuzuqian": "class=\"video-pic loading", +"jiequshuzuhou": "player", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", + "xlshifouercijiequ": "0", + "xljiequqian": "", + "xljiequhou": "", + "xljiequshuzuqian": "
    ", + "xljiequshuzuhou": "
    ", + "xlbiaotiqian": ">", + "xlbiaotihou": "", +"sousuoqian": "/gaosearch/-/?wd=", +"sousuohou": "", +"sousuohouzhui": "/gaotype/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "blank\">百人牛牛,美女陪干!不爽就来干", +"ssjiequhou": "
    ", +"ssjiequshuzuqian": "class=\"video-pic loading", +"ssjiequshuzuhou": "player", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"item line\">", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "target=\"_blank\">", +"zhuangtaihou": "类型:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/GIMYyingshi.json b/XBiubiu/GIMYyingshi.json new file mode 100644 index 0000000..d749c7c --- /dev/null +++ b/XBiubiu/GIMYyingshi.json @@ -0,0 +1,64 @@ +{ + "name": "GIMY影视", + "url": "https://gmtv1.xyz", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/genre/tvseries---#电影$/genre/movies---#综艺$/genre/tv_show---#动漫$/genre/anime---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#喜剧片$/genre/comedy+---#爱情片$/genre/romance---#战争片$/genre/war---#奇幻片$/genre/fantasy---#恐怖片$/genre/horror---#纪录片$/genre/documentary+---#动画电影$/genre/animation---#国产剧$/genre/cn---#韩剧$/genre/kr---#美剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/GIMY影视.json b/XBiubiu/GIMY影视.json new file mode 100644 index 0000000..dada255 --- /dev/null +++ b/XBiubiu/GIMY影视.json @@ -0,0 +1,60 @@ +{ + + "author":"202207120", "name": "GIMY影视", + "url": "https://gmtv1.xyz", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/genre/tvseries---#电影$/genre/movies---#综艺$/genre/tvshow---#动漫$/genre/ani---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#喜剧片$/genre/comedy+---#爱情片$/genre/romance---#战争片$/genre/war---#奇幻片$/genre/fantasy---#恐怖片$/genre/horror---#纪录片$/genre/documentary+---#动画电影$/genre/animation---#国产剧$/genre/cn---#韩剧$/genre/kr---#美剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/GimyTV.json b/XBiubiu/GimyTV.json new file mode 100644 index 0000000..241f166 --- /dev/null +++ b/XBiubiu/GimyTV.json @@ -0,0 +1,65 @@ +{ + "name": "Gimy TV 劇迷線上看", + "url": "https://gimytv.app", + "User": "空", + "shouye": "1", + + "fenlei": "陸剧$/genre/cn---#韩剧$/genre/kr---#美剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---#纪录片$/genre/documentary---#综艺$/genre/tv_show---#日漫$/genre/anime-日本--#美漫$/genre/anime-美國--#欧漫$/genre/anime-歐美--#陸漫$/genre/anime-大陸--#台漫$/genre/anime-臺灣--#港漫$/genre/anime-香港--#韩漫$/genre/anime-韓國--#电影$/genre/movies---#动画电影$/genre/animation---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#爱情片$/genre/romance---#奇幻片$/genre/magic---#战争片$/genre/war---#恐怖片$/genre/horror---#喜剧片$/genre/comedymovie---", + "houzhui": "/by/time.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "狀態:", + "zhuangtaihou": "

    ", + "daoyanqian": "導演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/LIBVIO.json b/XBiubiu/LIBVIO.json new file mode 100644 index 0000000..87dcefe --- /dev/null +++ b/XBiubiu/LIBVIO.json @@ -0,0 +1,57 @@ +{"name": "LIBVIO", +"url": "https://www.libvio.com", +"tihuan": "dd520.cc", +"User": "空", +"fenlei": "电视剧$/show/2--------#电影$/show/1--------#综艺$/show/3--------#动漫$/show/4--------#动作片$/show/1---动作-----#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#科幻片$/show/1---科幻-----#奇幻片$/show/1---奇幻-----#恐怖片$/show/1---恐怖-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#冒险片$/show/1---冒险-----#国产剧$/show/2-中国大陆-------#台剧$/show/2-中国台湾-------#港剧$/show/2-中国香港-------#韩剧$/show/2-韩国-------#日剧$/show/2-日本-------#美剧$/show/2-美国-------#英剧$/show/2-英国-------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "data", +"jiequshuzuhou": "
    ", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data\">总集数:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">类型:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/Nikeyingshiwang.json b/XBiubiu/Nikeyingshiwang.json new file mode 100644 index 0000000..e4a7ffb --- /dev/null +++ b/XBiubiu/Nikeyingshiwang.json @@ -0,0 +1,62 @@ +{ + "author": "220805", + "name": "Nike影视网", + "url": "https://www.ajeee.com", + "tihuan": "51.la", + "User": "空", + "shouye": "1", + "fenlei": "电影$/show/Movie/page/#电视剧$/show/Tv/page/#综艺$/show/Variety/page/#动漫$/show/Cartoon/page/#国产剧$/show/Tv/area/大陆/page/#欧美剧$/show/Tv/area/美国/page/#国漫$/show/Cartoon/area/大陆/page/#日漫$/show/Cartoon/area/日本/page/", + //"fenlei": "电视剧$/show/Tv/page/#韩国$/show/Tv/area/韩国/page/#小日本$/show/Tv/area/日本/page/#美国剧$/show/Tv/area/美国/page/#电影$/show/Movie/page/#动作$/show/Movie/class/动作/page/#喜剧$/show/Movie/class/喜剧/page/#爱情$/show/Movie/class/爱情/page/#科幻$/show/Movie/class/科幻/page/#恐怖$/show/Movie/class/恐怖/page/#剧情$/show/Movie/class/剧情/page/#战争$/show/Movie/class/战争/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "
    ", + "jiequshuzuqian": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/OmoFundongman.json b/XBiubiu/OmoFundongman.json new file mode 100644 index 0000000..49878a8 --- /dev/null +++ b/XBiubiu/OmoFundongman.json @@ -0,0 +1,73 @@ +{ + "author": "20220609", + "name": "OmoFun动漫", + "url": "https://www.omofun.tv", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "日漫$/vod/show/id/20/page/#热血$/vod/show/class/热血/id/20/page/#穿越$/vod/show/class/穿越/id/20/page/#奇幻$/vod/show/class/奇幻/id/20/page/#战斗$/vod/show/class/战斗/id/20/page/#搞笑$/vod/show/class/搞笑/id/20/page/#日常$/vod/show/class/日常/id/20/page/#科幻$/vod/show/class/科幻/id/20/page/#萌系$/vod/show/class/萌系/id/20/page/#治愈$/vod/show/class/治愈/id/20/page/#校园$/vod/show/class/校园/id/20/page/#恋爱$/vod/show/class/恋爱/id/20/page/#魔法$/vod/show/class/魔法/id/20/page/#冒险$/vod/show/class/冒险/id/20/page/#机战$/vod/show/class/机战/id/20/page/#催泪$/vod/show/class/催泪/id/20/page/#音乐$/vod/show/class/音乐/id/20/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "
    ", + "fubiaotihou": "
    ", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=天使的心跳", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/detail/id/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list-content", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "备注:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "introduction-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "style=\"max-height", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/TVB云播.json b/XBiubiu/TVB云播.json new file mode 100644 index 0000000..b1e4adc --- /dev/null +++ b/XBiubiu/TVB云播.json @@ -0,0 +1,33 @@ +{ +"作者":"张弘", +"站名":"TVB云播", +"主页url":"http://www.tvyb03.com/", +"热门推荐":"1", +"数组":"class=\"myui-vodlist__box&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"&&", +"搜索url":"http://www.tvyb03.com/{wd}----------{pg}---.html", +"搜索模式": "1", +"搜索数组": "
  • &&
  • ", +"搜索图片": "data-original=\"&&\"", +"搜索标题": "title=\"&&\"", +"搜索链接": "href=\"&&\"", +"搜索后缀":"/vod/detail/id/", +"线路数组":"
    &&
    ", +"线路标题":"title\">&&", +"播放数组":"class=\"myui-content__list scrollbar sort-list clearfix&&", +"状态":"状态:&&", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"class=\"sketch content\">&&", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"\"", +"免嗅":"1", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"类型":"1--动作片$6#喜剧片$7#爱情片$8#科幻片$9#剧情片$10#恐怖片$11#战争片$12||2--国产剧$13#港台剧$14#日韩剧$15#欧美剧$16", +"分类url":"http://www.tvyb03.com/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/page/{catePg}/year/{year}.html", +"筛选":"clan://tvbox/模版.json" +} \ No newline at end of file diff --git a/XBiubiu/UM影院.json b/XBiubiu/UM影院.json new file mode 100644 index 0000000..e1cdf49 --- /dev/null +++ b/XBiubiu/UM影院.json @@ -0,0 +1,59 @@ +{ + "name": "UM影院", + "url": "https://www.umkan.com/", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/index.php/vod/show/id/1/page/#国产剧$/index.php/vod/show/class/国产/id/2/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动画$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "id=\"page", + "jiequshuzuqian": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "class=\"module-item-note\">", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "target=\"_blank\">", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\">", + "juqinghou": "

    ", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/VF影院.json b/XBiubiu/VF影院.json new file mode 100644 index 0000000..e786da0 --- /dev/null +++ b/XBiubiu/VF影院.json @@ -0,0 +1,59 @@ +{ +"name": "VFLIX影视", +"url": "https://www.voflix.com", +"User": "空", +"shouye": "1", +"fenlei": "电影$/show/1--------#电视剧$/show/2--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#泰国剧$/show/24--------#综艺$/show/3--------#动漫$/show/4--------", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/VIP1280.json b/XBiubiu/VIP1280.json new file mode 100644 index 0000000..2740804 --- /dev/null +++ b/XBiubiu/VIP1280.json @@ -0,0 +1,70 @@ +{ + "name": "VIP1280", + "url": "http://www.vip1280.net", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/frim/index1/page/#国产剧$/frim/index2/page/#港台剧$/frim/index3/page/#欧美剧$/frim/index4/page/#日韩剧$/frim/index5/page/#泰剧$/frim/index22/page/#动画片$/frim/index21/page/#记录片$/frim/index12/page/#动作片$/frim/index6/page/#爱情片$/frim/index7/page/#科幻片$/frim/index8/page/#恐怖片$/frim/index9/page/#战争片$/frim/index10/page/#喜剧片$/frim/index11/page/#剧情片$/frim/index20/page/", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "display: none;\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/VIPdianyingwang.json b/XBiubiu/VIPdianyingwang.json new file mode 100644 index 0000000..b81dfd9 --- /dev/null +++ b/XBiubiu/VIPdianyingwang.json @@ -0,0 +1,64 @@ +{ + "name": "VIP电影院", + "url": "https://www.mycleanlab.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/frim/2-#电影$/frim/1-#综艺$/frim/3-#动漫$/frim/4-#国产剧$/frim/13-#港剧$/frim/28-#台剧$/frim/29-#韩剧$/frim/16-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/YYDSyingyuan.json b/XBiubiu/YYDSyingyuan.json new file mode 100644 index 0000000..3f27e97 --- /dev/null +++ b/XBiubiu/YYDSyingyuan.json @@ -0,0 +1,67 @@ +{ + "name": "YYDS影院", + "url": "https://www.yydsvod.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/vod/show/drama--------#电影$/vod/show/movie--------#综艺$/vod/show/varietyshow--------#动漫$/vod/show/animes--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/abuyingshi.json b/XBiubiu/abuyingshi.json new file mode 100644 index 0000000..3ba88c6 --- /dev/null +++ b/XBiubiu/abuyingshi.json @@ -0,0 +1,80 @@ +{ + "name": "AB影院", + // 填网站链接 + "url": "https://abu22.com", + // 这个不用动,是个别网站播放需要请求头时才用到 + "User": "空", + // 首页展示 + "shouye": "1", + // 网站列表的分类 + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产片$/vodshow/2-中国大陆-------#欧美片$/vodshow/2-美国-------#国漫$/vodshow/4-中国大陆-------#日漫$/4-日本-------#纪录片$/vodshow/5--------", + // 网站翻页链接的后缀 + "houzhui": "---.html", + // 截取的列表数组是否需要二次截取,0不需要,1需要 + "shifouercijiequ": "0", + // 二次截取前 + "jiequqian": "空", + // 二次截取后 + "jiequhou": "空", + // 截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"stui-vodlist__item", + // 列表数组的后关键词 + "jiequshuzuhou": "", + // 列表中资源的图片前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "original=\"", + "tupianhou": "\"", + //列表中资源的标题前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", + "biaotihou": "\"", + // 列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", + "lianjiehou": "\"", + // 搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。/vodsearch/-------------.html?wd= + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + // 搜索页影片跳转详情页的中间标识链接部分 + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + // 播放截取的列表数组的前,后关键词 + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + // 详情页状态,导演,主演,简介关键词 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + // 截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + // 播放剧集数组前,后关键词 + "bfyjiequshuzuqian": "", + // 播放剧集标题前,后关键词 + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + // 播放剧集链接前,后关键词 + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/ah视频.json b/XBiubiu/ah视频.json new file mode 100644 index 0000000..c6aba1c --- /dev/null +++ b/XBiubiu/ah视频.json @@ -0,0 +1,86 @@ +{"name": "AH视频", +"url": "https://www.sstv.pw", +"ua": "Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.132 Mobile Safari/537.36", +"User": "", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"免嗅": "1", +"嗅探词": ".mp4#.mp4?#.m3u8", +"过滤词": "larkl", +"fenlei": "电影$/vodshow-1/page/#剧集$/vodshow-2/page/#动漫$/vodshow-4/page/#综艺$/vodshow-3/page/#记录$/vodshow-21/page/", +"houzhui": "/", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "ul", +"jiequhou": "id=\"page", +"jiequshuzuqian": "class=\"list-width", +"jiequshuzuhou": "", +"tupianqian": "original=\" ", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"list-remarks hidden\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "空", +"搜索请求方式": "0", +"ssmoshi": "1", +"sousuoqian": "/so/?wd=", +"sousuohou": "", +"sousuohouzhui": "/index.php/vod/play/id/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
    ", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": ">", +"ssbiaotihou": "", +"ssfubiaotiqian": "", +"ssfubiaotihou": "", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "空", +"ssljhouzhui": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "
      ", +"线路名截取数组前": "data-from=", +"线路名截取数组后": "", +"线路名标题前": "\"", +"线路名标题后": "\">", +"bfshifouercijiequ": "0", +"bfjiequqian": "", +"bfjiequhou": "", +"bfjiequshuzuqian": "class='content-playlist", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "
    ", +"daoyanqian": "

    导演:", +"daoyanhou": "", +"zhuyanqian": "", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "空", +"bfhouzhui": "空", +"bfjiexi": "空"} \ No newline at end of file diff --git a/XBiubiu/aigangju.json b/XBiubiu/aigangju.json new file mode 100644 index 0000000..88e1ee0 --- /dev/null +++ b/XBiubiu/aigangju.json @@ -0,0 +1,67 @@ +{ + "name": "爱港剧", + "url": "http://www.2gangju.cc", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/dianying--------#电视剧$/vodshow/dianshiju--------#综艺$/vodshow/zongyi--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "时间:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "detail-sketch\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/aikan6.json b/XBiubiu/aikan6.json new file mode 100644 index 0000000..ca2a3ab --- /dev/null +++ b/XBiubiu/aikan6.json @@ -0,0 +1,59 @@ +{ + "name": "爱看影视", + "url": "https://ikan6.vip/", + "shouye": "1", + //"fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/20--------#国创$/vodshow/21--------#动漫$/vodshow/4--------#动漫$/vodshow/4--------", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/aikanmeiju.json b/XBiubiu/aikanmeiju.json new file mode 100644 index 0000000..8a41d22 --- /dev/null +++ b/XBiubiu/aikanmeiju.json @@ -0,0 +1,80 @@ +{ + "name": "美剧天堂", + // 填网站链接 + "url": "https://www.akmeiju.cc", + // 这个不用动,是个别网站播放需要请求头时才用到 + "User": "空", + // 首页展示 + "shouye": "1", + // 网站列表的分类 + "fenlei": "电影$/vshow/1/page/#美剧$/vshow/2/page/#魔幻/科幻$/vshow/21/page/#惊悚/恐怖$/vshow/22/page/1/#都市/喜剧$/vshow/23/page/#犯罪/动作$/vshow/24/page/#选秀/综艺$/vshow/32/page/#日韩剧$/vshow/37/page/", + // 网站翻页链接的后缀 + "houzhui": ".html", + // 截取的列表数组是否需要二次截取,0不需要,1需要 + "shifouercijiequ": "0", + // 二次截取前 + "jiequqian": "空", + // 二次截取后 + "jiequhou": "空", + // 截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"myui-vodlist__box", + // 列表数组的后关键词 + "jiequshuzuhou": "", + // 列表中资源的图片前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", + "tupianhou": "\">", + //列表中资源的标题前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", + "biaotihou": "\"", + // 列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", + "lianjiehou": "\"", + // 搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。/vodsearch/-------------.html?wd= + "sousuoqian": "/vsearch?wd=.html", + "sousuohou": "&limit=500", + // 搜索页影片跳转详情页的中间标识链接部分 + "sousuohouzhui": "/vplay/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + // 播放截取的列表数组的前,后关键词 + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + // 详情页状态,导演,主演,简介关键词 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + // 截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + // 播放剧集数组前,后关键词 + "bfyjiequshuzuqian": "", + // 播放剧集标题前,后关键词 + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + // 播放剧集链接前,后关键词 + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/aikanyingshi.json b/XBiubiu/aikanyingshi.json new file mode 100644 index 0000000..7bc34b8 --- /dev/null +++ b/XBiubiu/aikanyingshi.json @@ -0,0 +1,64 @@ +{ + "name": "爱看影视", + "url": "https://ikan6.vip/", + "shouye": "1", + //"fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/20--------#国创$/vodshow/21--------#动漫$/vodshow/4--------#动漫$/vodshow/4--------", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"module-item\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-text\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/baoxian.json b/XBiubiu/baoxian.json new file mode 100644 index 0000000..9058e11 --- /dev/null +++ b/XBiubiu/baoxian.json @@ -0,0 +1,58 @@ +{"name": "宝仙HD", +"url": "https://webdillo.com", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"shouye": "1", +"fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"content_playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic_text text_right\">", +"zhuangtaihou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/beichuanyingshi.json b/XBiubiu/beichuanyingshi.json new file mode 100644 index 0000000..ba9acfe --- /dev/null +++ b/XBiubiu/beichuanyingshi.json @@ -0,0 +1,67 @@ +{ + "name": "北川影视", + "url": "https://www.bcwzg.com", + "User": "Referer:https://j.bcyingshi.ink/", + "shouye": "1", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"module-item\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-text\">", + "fubiaotihou": "", + + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "

    ", +"biaotihou": "

    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "top-0 start-0\">", +"fubiaotihou": "", +"sousuoqian": "/performer/", +"sousuohou": "", +"sousuohouzhui": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "

    ", +"ssbiaotihou": "

    ", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"play-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "摘要:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情简介", +"juqinghou": "
    ", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/buka.json b/XBiubiu/buka.json new file mode 100644 index 0000000..bd0d1c6 --- /dev/null +++ b/XBiubiu/buka.json @@ -0,0 +1,61 @@ +{ + "author": "220805", + "name": "真不卡影院(不支持搜索)", + "url": "http://www.cerrd.com", + "tihuan": "cnzz.com", + "shouye": "1", + //"fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_#午夜剧场$/films/40_", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_#喜剧片$/films/41_#动作$/films/42_#科幻$/films/43_#恐怖$/films/44_#战争$/films/45_#灾难$/films/46_#爱情$/films/47_#剧情$/films/48_#悬疑$/films/49_#犯罪$/films/62_#冒险$/films/64_#伦理$/films/40_#爱情剧$/films/50_#古装剧$/films/51_#剧情剧$/films/52_#警匪剧$/films/53_#战争剧$/films/54_#悬疑剧$/films/55_#科幻剧$/films/56_#冒险剧$/films/59_#惊悚剧$/films/60_#喜剧$/films/61_#犯罪剧$/films/63_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "", + "sousuohouzhui": "/gov-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/bukaiVIP.json b/XBiubiu/bukaiVIP.json new file mode 100644 index 0000000..4cf3b59 --- /dev/null +++ b/XBiubiu/bukaiVIP.json @@ -0,0 +1,64 @@ +{ + "name": "不开VIP", + "url": "https://bukaivip1.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/index.php/vod/show/id/1/page/#连续剧$/index.php/vod/show/id/2/page/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/#纪录片$/index.php/vod/show/id/20/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/vod/search.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/chabeihu.json b/XBiubiu/chabeihu.json new file mode 100644 index 0000000..c1adb47 --- /dev/null +++ b/XBiubiu/chabeihu.json @@ -0,0 +1,64 @@ +{"name": "茶杯狐", + "url": "https://www.cupfox.cc/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/fox/1-#电视剧$/fox/2-#综艺$/fox/3-#动漫$/fox/4-#国产剧$/fox/13-#欧美剧$/fox/18-#伦理片$/fox/20-", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"fed-list-item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": ".html\" >", + "biaotihou": "
    ", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"fed-part-rows\">", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/changzhang.json b/XBiubiu/changzhang.json new file mode 100644 index 0000000..76b08e6 --- /dev/null +++ b/XBiubiu/changzhang.json @@ -0,0 +1,66 @@ +{ + "name": "厂长资源-蓝光", + "url": "https://qianoo.cn", + "tihuan": "aliyundrive", + "User": "空", + "shouye": "1", + //"fenlei": "电视剧$/dsj/page/#电影$/zuixindianying/page/#番剧$/fanju/page/#动漫$/dm/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/", + "fenlei": "本月热门$/benyueremen/page/#高分影视$/gaofenyingshi/page/#豆瓣电影TOP250$/dbtop250/page/#最新电影$/zuixindianying/page/#电视剧$/dsj/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/#日剧$/movie_bt_series/rj/page/#海外剧$/movie_bt_series/hwj/page/#番剧$/fanju/page/#动漫$/dm/page/#韩国电影$/movie_bt_series/hanguodianying/page/#纪录片$/movie_bt/movie_bt_tags/jlpp/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "
  • ", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "qianoo.cn", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "span>", + "fubiaotihou": "", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "qianoo.cn", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"paly_list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "
  • 导演:", + "daoyanhou": "
  • ", + "zhuyanqian": "
  • 主演:", + "zhuyanhou": "
  • ", + "juqingqian": "class=\"yp_context\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "qianoo.cn", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/chenluoyinshi.json b/XBiubiu/chenluoyinshi.json new file mode 100644 index 0000000..cd407b6 --- /dev/null +++ b/XBiubiu/chenluoyinshi.json @@ -0,0 +1,70 @@ +{ + "name": "尘落影院", + "url": "https://v.xuangz.cn", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电视剧$/whole/2_______0_addtime_#电影$/whole/1_______0_id_#综艺$/whole/4_______0_addtime_#动漫$/whole/3_______0_addtime_#全网资源$/whole/5_______0_addtime_", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"movie-item-in", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "hdtag\">", + "fubiaotihou": "", + + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"movie-item-in", + "ssjiequshuzuhou": "", + "bfjiequshuzuhou": "class=\"row", + + "zhuangtaiqian": "状态", + "zhuangtaihou": "", + "daoyanqian": "导演", + "daoyanhou": "", + "zhuyanqian": "主演", + "zhuyanhou": "", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/chinady.json b/XBiubiu/chinady.json new file mode 100644 index 0000000..332c6d6 --- /dev/null +++ b/XBiubiu/chinady.json @@ -0,0 +1,59 @@ +{"name": "中国电影", +"url": "https://www.chinady.ga", +"tihuan": "cnzz.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/vodshow/dianying--------#电视剧$/vodshow/dsj--------#综艺$/vodshow/zy--------#动漫$/vodshow/dm--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "alt=", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"module-item-text\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/chinaq.json b/XBiubiu/chinaq.json new file mode 100644 index 0000000..5419ed7 --- /dev/null +++ b/XBiubiu/chinaq.json @@ -0,0 +1,104 @@ +{ + "name": "中國人線上看", + "url": "https://chinaq.club/", + //访问请求头 + "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36", + //播放请求头 + "User": "空", + + //0表示:记录,1表示:不记录 + "是否记录历史": "0", + //直接播放截取的播放页链接网址,0表示:否,1表示:是 + "直接播放": "0", + //分类页是否使用列表方式显示,0表示:否,1表示:是 + "列表显示": "0", + //列表图片是否横图显示,0表示:否,1表示:是 + "横图显示": "0", + //可以自定义列表翻页起始页的页数 + "qishiye": "1", + + //如果分类类型填空,例如:电视剧$空,则直接取url字段网址的源码。(完成) + "fenlei": "陸劇$/cn/#韓劇$/kr/#台劇$/tw/#日劇$/jp/#綜藝$/show/", + "houzhui": "空", //网站翻页链接的后缀 + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"sizing\">", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + + //如果图片前字段填写完整网络图片地址的话,列表页就自动使用这个网络图片作为列表的图片。 + "tupianqian": "original=\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "ljhouzhui": "空", + + //搜索部分 + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + //0:get方式,1:post方式,注意:如果用post方式,【ssmoshi】要填:1 + "搜索请求方式": "0", + "ssmoshi": "0", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=150", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "sstupianqianzhui": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "ssfubiaotiqian": "空", + "ssfubiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "ssljqianzhui": "空", + "ssljhouzhui": "空", + + //线路名称显示部分,0不启用,1启用 + "是否启用播放线路名": "0", + "线路名是否二次截取": "0", + "线路名截取前": "空", + "线路名截取后": "空", + "线路名截取数组前": "空", + "线路名截取数组后": "空", + "线路名标题前": "空", + "线路名标题后": "空", + + //状态,导演,演员,剧情的截取(已完成) + "zhuangtaiqian": "class=\"description\">", + "zhuangtaihou": "", + "daoyanqian": "【導演】", + "daoyanhou": " /【主演】", + "zhuyanqian": "【主演】", + "zhuyanhou": "", //播放剧集数组后关键词 + + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"", + "bfqianzhui": "空" //可以自己定义截取播放链接的前缀,不需要的话不填写,或者删除这个字段即可。 +} \ No newline at end of file diff --git a/XBiubiu/chok8dianying.json b/XBiubiu/chok8dianying.json new file mode 100644 index 0000000..944eb32 --- /dev/null +++ b/XBiubiu/chok8dianying.json @@ -0,0 +1,69 @@ +{ + "name": "chok8电影", + "url": "https://www.chok8.com/", + "shouye": "1", + + //"fenlei": "电影$/vodtype/dianying-#电视剧$/vodtype/lianxuju-#国产剧$/vodtype/guochanju-#欧美剧$/vodtype/oumeiju-#科幻片$/vodtype/kehuanpian-#恐怖片$/vodtype/kongbupian-#剧情片$/vodtype/juqingpian-#战争片$/vodtype/zhanzhengpian-#动作片$/vodtype/dongzuopian-#喜剧片$vodtype/xijupian-#爱情片$/vodtype/xijupian-#犯罪片$/vodtype/fanzuipian-#港台剧$/vodtype/gangtaiju-#日韩剧$/vodtype/rihanju-#欧美剧$vodtype/16-#动画片$/vodtype/dongman-#综艺$/vodtype/zongyi-#记录片$/vodtype/jilupian-", + "fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#记录片$/vodshow/jilupian--------#国产剧$/vodshow/guochanju--------#日韩剧$/vodshow/rihanju--------#欧美剧$/vodshow/oumeiju--------#港台剧$/vodshow/gangtaiju--------#动作片$/vodshow/dongzuopian--------#喜剧片$/vodshow/xijupian--------#爱情片$/vodshow/aiqingpian--------#科幻片$/vodshow/kehuanpian--------#恐怖片$/vodshow/kongbupian--------#剧情片$/vodshow/juqingpian--------#战争片$/vodshow/zhanzhengpian--------#犯罪片$/vodshow/fanzuipian--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/chuangyiyingshi.json b/XBiubiu/chuangyiyingshi.json new file mode 100644 index 0000000..21383a2 --- /dev/null +++ b/XBiubiu/chuangyiyingshi.json @@ -0,0 +1,68 @@ +{ + "name": "创艺影视", + "url": "https://www.30dian.cn", + "tihuan": "vip.30dian.cn", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#纪录片$/vodshow/30--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "7091fc;\">", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/citydianying.json b/XBiubiu/citydianying.json new file mode 100644 index 0000000..4a80f5e --- /dev/null +++ b/XBiubiu/citydianying.json @@ -0,0 +1,64 @@ +{ + "name": "city电影", + "url": "https://www.citydy.com/", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/show/id-1/page/#电视剧$/show/id-2/page/#日剧$/show/id-2/area/日本/page/#泰剧$/show/id-2/area/泰国/page/#韩剧$/show/id-2/area/韩国/page/#美剧$/show/id-2/area/美国/page/#英剧$/show/id-2/area/英国/page/#综艺$/type/id-3-#动漫$/type/id-4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"img-pic", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/id-", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"play-div-oa", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/ciyuancheng.json b/XBiubiu/ciyuancheng.json new file mode 100644 index 0000000..3ce95d3 --- /dev/null +++ b/XBiubiu/ciyuancheng.json @@ -0,0 +1,75 @@ +// 修复分类 +{ + "author": "20220608", + "name": "次元城", + "url": "https://www.cycacg.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "TV动画$/vodshow/20--------#剧场版$/vodshow/21--------", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + //"jiequhou": "
    ", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-note\">", + "fubiaotihou": "
    ", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list-content", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "备注:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "display: none;\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\">" +} \ No newline at end of file diff --git a/XBiubiu/daludongman.json b/XBiubiu/daludongman.json new file mode 100644 index 0000000..64b7545 --- /dev/null +++ b/XBiubiu/daludongman.json @@ -0,0 +1,72 @@ +{ + "author":"20220530", + "name": "打驴动漫", + "url": "https://www.dqsj.cc", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + "fenlei": "热门新番$/index.php/vod/show/id/23/page/#日本动漫$/index.php/vod/show/id/21/page/#国产动漫$/index.php/vod/show/id/22/page/#欧美动漫$/index.php/vod/show/id/25/page/#动漫电影$/index.php/vod/show/id/24/page/#剧集$/index.php/vod/show/id/27/page/#电影$/index.php/vod/show/id/28/page/#综艺$/index.php/vod/show/id/31/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"module-item-pic\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "class=\"module-item\"", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "src=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-text\">", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item-", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "备注:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "vod_content\">", //剧情前关键词 + "juqinghou": "", //播放剧集数组后关键词 + "bfbiaotiqian": "", //播放剧集标题前关键词 + "bfbiaotihou": "", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/damixingqiu.json b/XBiubiu/damixingqiu.json new file mode 100644 index 0000000..f2558b2 --- /dev/null +++ b/XBiubiu/damixingqiu.json @@ -0,0 +1,74 @@ +{ + "author": "20220612", + "name": "大米星球", + "url": "https://www.dmxq.fun", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + //"User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + + "fenlei": "电影$/vodshow/20--------#电视剧$/vodshow/21--------#动漫$/vodshow/22--------#综艺$/vodshow/23--------#Netflix(剧)$/vodshow/21---Netflix-----#国产剧$/vodshow/21-大陆-------#韩国剧$/vodshow/21-韩国-------#美国剧$/vodshow/21-美国-------#英国剧$/vodshow/21-英国-------#泰国剧$/vodshow/21-泰国-------#日本剧$/vodshow/21-日本-------#香港剧$/vodshow/21-香港-------#台湾剧$/vodshow/21-台湾-------#Netflix(片)$/vodshow/20---Netflix-----#仙侠片$/vodshow/20---仙侠-----#剧情片$/vodshow/20---剧情-----#科幻片$/vodshow/20---科幻-----#动作片$/vodshow/20---动作-----#喜剧片$/vodshow/20---喜剧-----#爱情片$/vodshow/20---爱情-----#冒险片$/vodshow/20---冒险-----#儿童片$/vodshow/20---儿童-----#歌舞片$/vodshow/20---歌舞-----#音乐片$/vodshow/20---音乐-----#奇幻片$/vodshow/20---奇幻-----#动画片$/vodshow/20---动画-----#恐怖片$/vodshow/20---恐怖-----#惊悚片$/vodshow/20---惊悚-----#战争片$/vodshow/20---战争-----#传记片$/vodshow/20---传记-----#纪录片$/vodshow/20---纪录-----#犯罪片$/vodshow/20---犯罪-----#悬疑片$/vodshow/20---悬疑-----#西部片$/vodshow/20---西部-----#灾难片$/vodshow/20---灾难-----#古装片$/vodshow/20---古装-----#武侠片$/vodshow/20---武侠-----#家庭片$/vodshow/20---家庭-----#短片$/vodshow/20---短片-----#运动片$/vodshow/20---运动-----#青春片$/vodshow/20---青春-----#同性片$/vodshow/20---同性-----#励志片$/vodshow/20---励志-----#历史片$/vodshow/20---历史-----", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + "jiequhou": "class=\"fixedGroup", //不需要二次截取就填空 + "jiequshuzuqian": "", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "备注:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "n-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/daxiangTV.json b/XBiubiu/daxiangTV.json new file mode 100644 index 0000000..02fb31b --- /dev/null +++ b/XBiubiu/daxiangTV.json @@ -0,0 +1,69 @@ +{ + "name": "大象TV", + "url": "http://www.daxiangtv.net/", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--time------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#欧美剧$/vodshow/16--------#日韩剧$/vodshow/15--------#海外剧$/vodshow/82--------#海外剧$/vodshow/18--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/dianyinggangCL.json b/XBiubiu/dianyinggangCL.json new file mode 100644 index 0000000..290c026 --- /dev/null +++ b/XBiubiu/dianyinggangCL.json @@ -0,0 +1,68 @@ +{"name": "电影港磁力", +"url": "https://www.dygang.cc", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "最新电影$/ys/index_#国语电影$/gy/index_", +"houzhui": ".htm", +"qishiye": "2", +"shifouercijiequ": "1", +"jiequqian": "class=\"item-title", +"jiequhou": "class=\"table-title ts", +"jiequshuzuqian": "class=\"border1", +"jiequshuzuhou": "class=\"classlinkclass", +"tupianqian": "img src=\"", +"tupianhou": "\"", +"tupianqianzhui": "", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"fubiaotiqian": "", +"fubiaotihou": "", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "◎演 员 ", +"zhuyanhou": "

    ", +"juqingqian": "◎简 介
    ", +"juqinghou": "

    ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"mag", +"bflianjiehou": "\"", +"bfqianzhui": "mag"} \ No newline at end of file diff --git a/XBiubiu/dianyingguan.json b/XBiubiu/dianyingguan.json new file mode 100644 index 0000000..72b7ba9 --- /dev/null +++ b/XBiubiu/dianyingguan.json @@ -0,0 +1,66 @@ +{ + "name": "电影馆", + "url": "https://www.dianyingguan.cn", + "shouye": "1", + "fenlei": "电影$/show/1--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#其他剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"module-item-caption\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "right;\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/doujiaowang.json b/XBiubiu/doujiaowang.json new file mode 100644 index 0000000..a5f06ef --- /dev/null +++ b/XBiubiu/doujiaowang.json @@ -0,0 +1,71 @@ +{ + "name": "豆角网", + "url": "https://m.doujiaow1.com", + "User": "空", + "shouye": "1", + + //"fenlei": "电影$/index.php?m=vod-list-id-1-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#日剧$/index.php?m=vod-list-id-17-pg-#美剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#综艺$/index.php?m=vod-list-id-30-pg-#动漫$/index.php?m=vod-list-id-4-pg-", + "fenlei": "电影$/index.php?m=vod-list-id-1-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#泰剧$/index.php?m=vod-list-id-26-pg-#日剧$/index.php?m=vod-list-id-17-pg-#美剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#动漫剧集$/index.php?m=vod-list-id-37-pg-#动漫电影$/index.php?m=vod-list-id-35-pg-#综艺$/index.php?m=vod-list-id-3-pg-", + "houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"con\"", + "jiequshuzuhou": "
    ", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "sNum\">", + "fubiaotihou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"ulNumList", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/douyu.json b/XBiubiu/douyu.json new file mode 100644 index 0000000..e1ab122 --- /dev/null +++ b/XBiubiu/douyu.json @@ -0,0 +1,74 @@ +{ + "author": "20220611", + "name": "斗鱼", + "url": "https://www.douyu.com/", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + "横图显示": "1", + + "fenlei": "网游竞技$gapi/rkc/directory/mixList/1_1/#单机热游$gapi/rkc/directory/mixList/1_15/#手游休闲$gapi/rkc/directory/mixList/1_9/#娱乐天地$gapi/rkc/directory/mixList/1_2/#科技文化$gapi/rkc/directory/mixList/1_11/#语音互动$gapi/rkc/directory/mixList/1_20/#语音直播$gapi/rkc/directory/mixList/1_18/#正能量$gapi/rkc/directory/mixList/1_13/#颜值$gapi/rkc/directory/mixList/2_201/#音乐$gapi/rkc/directory/mixList/2_175/#舞蹈$gapi/rkc/directory/mixList/2_1008/#二次元$gapi/rkc/directory/mixList/2_174/#户外$gapi/rkc/directory/mixList/2_124/#美食$gapi/rkc/directory/mixList/2_194/#互动交友$gapi/rkc/directory/mixList/2_1555/#一起看$gapi/rkc/directory/mixList/2_208/#趣生活$gapi/rkc/directory/mixList/2_1097/#数码科技$gapi/rkc/directory/mixList/2_134/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#汽车$gapi/rkc/directory/mixList/2_136/#纪录片$gapi/rkc/directory/mixList/2_514/#斗鱼购物$gapi/rkc/directory/mixList/2_1203/#交友$gapi/rkc/directory/mixList/2_1221/#电台$gapi/rkc/directory/mixList/2_1556/#一起玩$gapi/rkc/directory/mixList/2_1575/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/#英雄联盟$gapi/rkc/directory/mixList/2_1/#热门游戏$gapi/rkc/directory/mixList/2_270/#DOTA2$gapi/rkc/directory/mixList/2_3/#穿越火线$gapi/rkc/directory/mixList/2_33/#CFHD$gapi/rkc/directory/mixList/2_1997/#DNF$gapi/rkc/directory/mixList/2_40/#炉石传说$gapi/rkc/directory/mixList/2_2/#CS:GO$gapi/rkc/directory/mixList/2_6/#逆战$gapi/rkc/directory/mixList/2_46/#lol云顶之弈$gapi/rkc/directory/mixList/2_917/#魔兽争霸$gapi/rkc/directory/mixList/2_55/#魔兽怀旧服$gapi/rkc/directory/mixList/2_1055/#网易游戏$gapi/rkc/directory/mixList/2_3567/#守望先锋$gapi/rkc/directory/mixList/2_148/#DOTA$gapi/rkc/directory/mixList/2_217/#魔兽世界$gapi/rkc/directory/mixList/2_5/#天涯明月刀$gapi/rkc/directory/mixList/2_59/#三国杀$gapi/rkc/directory/mixList/2_14/#主机游戏$gapi/rkc/directory/mixList/2_19/#永劫无间$gapi/rkc/directory/mixList/2_1227/#生死狙击2$gapi/rkc/directory/mixList/2_1781/#迷失ARK$gapi/rkc/directory/mixList/2_3528/#艾尔登法环$gapi/rkc/directory/mixList/2_3406/#逃离塔科夫$gapi/rkc/directory/mixList/2_1024/#V Rising$gapi/rkc/directory/mixList/2_3684/#海上狼人杀$gapi/rkc/directory/mixList/2_3556/#怀旧游戏$gapi/rkc/directory/mixList/2_26/#王者荣耀$gapi/rkc/directory/mixList/2_181/#和平精英$gapi/rkc/directory/mixList/2_350/#火影忍者$gapi/rkc/directory/mixList/2_196/#LOL手游$gapi/rkc/directory/mixList/2_1920/#金铲铲之战$gapi/rkc/directory/mixList/2_2556/#重返帝国$gapi/rkc/directory/mixList/2_2915/#COD手游$gapi/rkc/directory/mixList/2_767/#哈利波特:魔法觉醒$gapi/rkc/directory/mixList/2_1192/#CF手游$gapi/rkc/directory/mixList/2_178/#欢乐斗地主$gapi/rkc/directory/mixList/2_416/#原神$gapi/rkc/directory/mixList/2_1223/#天刀手游$gapi/rkc/directory/mixList/2_911/#棋牌娱乐$gapi/rkc/directory/mixList/2_113/#欢乐麻将$gapi/rkc/directory/mixList/2_451/#新游中心$gapi/rkc/directory/mixList/2_229/#QQ飞车$gapi/rkc/directory/mixList/2_331/#阴阳师$gapi/rkc/directory/mixList/2_240/#热门手游$gapi/rkc/directory/mixList/2_30/", //网站列表的分类 + "houzhui": "", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "\"type\":1", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "\"rs16\"", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "\"rs1\":\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "\"rn\":\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "\"rid\":", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": ",\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "\"nn\":\"", + "fubiaotihou": "\"", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/japi/search/api/searchShow?kw=", + "sousuohou": "&page=1&pageSize=50", + "sousuohouzhui": "/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "roomSrc", + "jsname": "roomName", + "jsid": "rid", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "left\">
    ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "Header-logo\" title=\"", //状态前关键词 + "zhuangtaihou": "\"", //状态后关键词 + "daoyanqian": "Title-anchorNameH2\">", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "canonical\" href=\"", //主演前关键词 + "zhuyanhou": "\"", //主演后关键词 + "juqingqian": "is-announceTxt\">", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "

    ", //播放剧集标题前关键词 + "bfbiaotihou": "

    ", //状播放剧集标题后关键词 + "bflianjieqian": "rid=", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/douyu1.json b/XBiubiu/douyu1.json new file mode 100644 index 0000000..d21b8af --- /dev/null +++ b/XBiubiu/douyu1.json @@ -0,0 +1,510 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + aruisi888/tv - NotABug.org: Free code hosting + + + + + + + + + + + +
    + + + +
    +
    +
    +
    + +
    +
    +
    +
    + + + +
    +
    + +
    +
    +
    +
    + + + + + +
    +
    +
    +
    + + +
    + +
    +
    + +
    + +
    + + + + + + + + +
    +

    + + + douyu.json 6.9 KB + + +
    +
    + + Permalink + + History + Raw +
    + + + + + + + + +
    + +

    +
    +
    + + + + + + + + + + +
    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
    1. {
    2. +
    3. "author": "20220611",
    4. +
    5. "name": "斗鱼",
    6. +
    7. "url": "https://www.douyu.com/", //填网站链接
    8. +
    9. "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的
    10. +
    11. "User": "空", //这个不用动,是个别网站播放需要请求头时才用到
    12. +
    13. "shouye": "1",
    14. +
    15. "横图显示": "1",
    16. +
    17. +
    18. "fenlei": "网游竞技$gapi/rkc/directory/mixList/1_1/#单机热游$gapi/rkc/directory/mixList/1_15/#手游休闲$gapi/rkc/directory/mixList/1_9/#娱乐天地$gapi/rkc/directory/mixList/1_2/#科技文化$gapi/rkc/directory/mixList/1_11/#语音互动$gapi/rkc/directory/mixList/1_20/#语音直播$gapi/rkc/directory/mixList/1_18/#正能量$gapi/rkc/directory/mixList/1_13/#颜值$gapi/rkc/directory/mixList/2_201/#音乐$gapi/rkc/directory/mixList/2_175/#舞蹈$gapi/rkc/directory/mixList/2_1008/#二次元$gapi/rkc/directory/mixList/2_174/#户外$gapi/rkc/directory/mixList/2_124/#美食$gapi/rkc/directory/mixList/2_194/#互动交友$gapi/rkc/directory/mixList/2_1555/#一起看$gapi/rkc/directory/mixList/2_208/#趣生活$gapi/rkc/directory/mixList/2_1097/#数码科技$gapi/rkc/directory/mixList/2_134/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#汽车$gapi/rkc/directory/mixList/2_136/#纪录片$gapi/rkc/directory/mixList/2_514/#斗鱼购物$gapi/rkc/directory/mixList/2_1203/#交友$gapi/rkc/directory/mixList/2_1221/#电台$gapi/rkc/directory/mixList/2_1556/#一起玩$gapi/rkc/directory/mixList/2_1575/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/#英雄联盟$gapi/rkc/directory/mixList/2_1/#热门游戏$gapi/rkc/directory/mixList/2_270/#DOTA2$gapi/rkc/directory/mixList/2_3/#穿越火线$gapi/rkc/directory/mixList/2_33/#CFHD$gapi/rkc/directory/mixList/2_1997/#DNF$gapi/rkc/directory/mixList/2_40/#炉石传说$gapi/rkc/directory/mixList/2_2/#CS:GO$gapi/rkc/directory/mixList/2_6/#逆战$gapi/rkc/directory/mixList/2_46/#lol云顶之弈$gapi/rkc/directory/mixList/2_917/#魔兽争霸$gapi/rkc/directory/mixList/2_55/#魔兽怀旧服$gapi/rkc/directory/mixList/2_1055/#网易游戏$gapi/rkc/directory/mixList/2_3567/#守望先锋$gapi/rkc/directory/mixList/2_148/#DOTA$gapi/rkc/directory/mixList/2_217/#魔兽世界$gapi/rkc/directory/mixList/2_5/#天涯明月刀$gapi/rkc/directory/mixList/2_59/#三国杀$gapi/rkc/directory/mixList/2_14/#主机游戏$gapi/rkc/directory/mixList/2_19/#永劫无间$gapi/rkc/directory/mixList/2_1227/#生死狙击2$gapi/rkc/directory/mixList/2_1781/#迷失ARK$gapi/rkc/directory/mixList/2_3528/#艾尔登法环$gapi/rkc/directory/mixList/2_3406/#逃离塔科夫$gapi/rkc/directory/mixList/2_1024/#V Rising$gapi/rkc/directory/mixList/2_3684/#海上狼人杀$gapi/rkc/directory/mixList/2_3556/#怀旧游戏$gapi/rkc/directory/mixList/2_26/#王者荣耀$gapi/rkc/directory/mixList/2_181/#和平精英$gapi/rkc/directory/mixList/2_350/#火影忍者$gapi/rkc/directory/mixList/2_196/#LOL手游$gapi/rkc/directory/mixList/2_1920/#金铲铲之战$gapi/rkc/directory/mixList/2_2556/#重返帝国$gapi/rkc/directory/mixList/2_2915/#COD手游$gapi/rkc/directory/mixList/2_767/#哈利波特:魔法觉醒$gapi/rkc/directory/mixList/2_1192/#CF手游$gapi/rkc/directory/mixList/2_178/#欢乐斗地主$gapi/rkc/directory/mixList/2_416/#原神$gapi/rkc/directory/mixList/2_1223/#天刀手游$gapi/rkc/directory/mixList/2_911/#棋牌娱乐$gapi/rkc/directory/mixList/2_113/#欢乐麻将$gapi/rkc/directory/mixList/2_451/#新游中心$gapi/rkc/directory/mixList/2_229/#QQ飞车$gapi/rkc/directory/mixList/2_331/#阴阳师$gapi/rkc/directory/mixList/2_240/#热门手游$gapi/rkc/directory/mixList/2_30/", //网站列表的分类
    19. +
    20. "houzhui": "", //网站翻页链接的后缀
    21. +
    22. +
    23. "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要
    24. +
    25. "jiequqian": "空", //不需要二次截取就填空
    26. +
    27. "jiequhou": "空", //不需要二次截取就填空
    28. +
    29. "jiequshuzuqian": "\"type\":1", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义
    30. +
    31. "jiequshuzuhou": "\"rs16\"", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义
    32. +
    33. "tupianqian": "\"rs1\":\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义
    34. +
    35. "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义
    36. +
    37. "biaotiqian": "\"rn\":\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义
    38. +
    39. "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义
    40. +
    41. "lianjieqian": "\"rid\":", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义
    42. +
    43. "lianjiehou": ",\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义
    44. +
    45. +
    46. //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。)
    47. +
    48. "fubiaotiqian": "\"nn\":\"",
    49. +
    50. "fubiaotihou": "\"",
    51. +
    52. +
    53. +
    54. //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。
    55. +
    56. "sousuoqian": "/japi/search/api/searchShow?kw=",
    57. +
    58. "sousuohou": "&page=1&pageSize=50",
    59. +
    60. "sousuohouzhui": "/", //搜索页影片跳转详情页的中间标识链接部分
    61. +
    62. "ssmoshi": "0",
    63. +
    64. "sousuoshifouercijiequ": "0",
    65. +
    66. "jspic": "roomSrc",
    67. +
    68. "jsname": "roomName",
    69. +
    70. "jsid": "rid",
    71. +
    72. "ssjiequqian": "空",
    73. +
    74. "ssjiequhou": "空",
    75. +
    76. "ssjiequshuzuqian": "空",
    77. +
    78. "ssjiequshuzuhou": "空",
    79. +
    80. "sstupianqian": "空",
    81. +
    82. "sstupianhou": "空",
    83. +
    84. "ssbiaotiqian": "空",
    85. +
    86. "ssbiaotihou": "空",
    87. +
    88. "sslianjieqian": "空",
    89. +
    90. "sslianjiehou": "空",
    91. +
    92. +
    93. "bfshifouercijiequ": "0",
    94. +
    95. "bfjiequqian": "空",
    96. +
    97. "bfjiequhou": "空",
    98. +
    99. "bfjiequshuzuqian": "left\"><div class=\"Title", //播放截取的列表数组的前关键词
    100. +
    101. "bfjiequshuzuhou": "</a>", //播放截取的列表数组的后关键词
    102. +
    103. +
    104. "zhuangtaiqian": "Header-logo\" title=\"", //状态前关键词
    105. +
    106. "zhuangtaihou": "\"", //状态后关键词
    107. +
    108. "daoyanqian": "Title-anchorNameH2\">", //导演前关键词
    109. +
    110. "daoyanhou": "</h2>", //导演态后关键词
    111. +
    112. "zhuyanqian": "canonical\" href=\"", //主演前关键词
    113. +
    114. "zhuyanhou": "\"", //主演后关键词
    115. +
    116. "juqingqian": "is-announceTxt\">", //剧情前关键词
    117. +
    118. "juqinghou": "</p>", //剧情后关键词
    119. +
    120. +
    121. "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要
    122. +
    123. "bfyjiequqian": "空", //不需要二次截取就填空
    124. +
    125. "bfyjiequhou": "空", //不需要二次截取就填空
    126. +
    127. "bfyjiequshuzuqian": "<h3 class=\"Title", //播放剧集数组前关键词
    128. +
    129. "bfyjiequshuzuhou": "target=\"_blank", //播放剧集数组后关键词
    130. +
    131. "bfbiaotiqian": "header\">", //播放剧集标题前关键词
    132. +
    133. "bfbiaotihou": "</h3>", //状播放剧集标题后关键词
    134. +
    135. "bflianjieqian": "rid=", //播放剧集链接前关键词
    136. +
    137. "bflianjiehou": "\""
    138. +
    139. } //播放剧集链接后关键词
    140. +
    141. Footer
    142. +
    143. +
    + +
    +
    +
    + + + + +
    +
    + +
    + + + + + + + + + + + + + + + + diff --git a/XBiubiu/dunkfun.json b/XBiubiu/dunkfun.json new file mode 100644 index 0000000..2b9c2ac --- /dev/null +++ b/XBiubiu/dunkfun.json @@ -0,0 +1,73 @@ +{ + "author": "20220611", + "name": "dunkfun", + "url": "https://www.dunkfun.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#记录片$/vodshow/26--------#华语剧$/vodshow/15--------#日韩剧$/vodshow/13--------#欧美剧$/vodshow/22--------#港台剧$/vodshow/14--------#泰国剧$/vodshow/16--------#日韩动漫$/vodshow/23--------#欧美动漫$/vodshow/24--------#动画片$/vodshow/25--------#国产动漫$/vodshow/27--------#喜剧片$/vodshow/20--------#犯罪片$/vodshow/28--------#灾难片$/vodshow/29--------#恐怖片$/vodshow/6--------#动作片$/vodshow/7--------#爱情片$/vodshow/8--------#悬疑片$/vodshow/9--------#剧情片$/vodshow/10--------#战争片$/vodshow/11--------#科幻片$/vodshow/12--------", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "lazyload\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "t text-right\">", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "red;\">", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "detail-sketch\">", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/fantuan.json b/XBiubiu/fantuan.json new file mode 100644 index 0000000..c87fdcb --- /dev/null +++ b/XBiubiu/fantuan.json @@ -0,0 +1,59 @@ +{"name": "饭团影视", +"url": "http://www.fantuantva.com", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +//"shouye": "1", +"fenlei": "电影$/t/dianying/page/#大陆剧$/t/lianxuju/page/#国产剧$/t/guochanju/page/#综艺$/t/zongyi/page/#动漫$/t/dongman/page/#动作片$/t/dongzuopian/page/#喜剧片$/t/xijupian/page/#爱情片$/t/aiqingpian/page/#科幻片$/t/kehuanpian/page/#恐怖片$/t/kongbupian/page/#剧情片$/t/juqingpian/page/#战争片$/t/zhanzhengpian/page/#国产剧$/t/guochanju/page/#港台剧$/t/gangtaiju/page/#日韩剧$/t/rihanju/page/#欧美剧$/t/oumeiju/page/#其他剧$/t/qitaju/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"show_play", +"jiequshuzuhou": "
    ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/v/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"con_c2_list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "class=\"col33", +"daoyanhou": "", +"zhuyanqian": "class=\"zy", +"zhuyanhou": "

    ", +"juqingqian": "id=\"content", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/fengchedongman.json b/XBiubiu/fengchedongman.json new file mode 100644 index 0000000..0f7bc60 --- /dev/null +++ b/XBiubiu/fengchedongman.json @@ -0,0 +1,71 @@ +{ + "author":"20220529", + "issue":"起始页码为0,有别于其他网站都是1,无法解决,所以各类别都会少了第一页的内容", + "name": "风车动漫", + "url": "https://www.dm530p.net", + "User": "空", + "shouye": "1", + "fenlei": "日本动漫$/list/?region=日本&pagesize=24&pageindex=#国产动漫$/list/?region=中国&pagesize=24&pageindex=#欧美$/list/?region=欧美&pagesize=24&pageindex=#TV$/list/?genre=TV&pagesize=24&pageindex=#剧场版$/list/?genre=剧场版&pagesize=24&pageindex=#OVA$/list/?genre=OVA&pagesize=24&pageindex=", + "houzhui": "", + + "shifouercijiequ": "1", + "jiequqian": "class=\"lpic\">", + "jiequhou": "/div>", + "jiequshuzuqian": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "red\">", + "fubiaotihou": "", + + + "sousuoqian": "/s_all?ex=1&kw=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/view/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "class=\"lpic\">", + "ssjiequhou": "/div>", + "ssjiequshuzuqian": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"movurl\"", + "bfjiequshuzuhou": "/ul>", + + "zhuangtaiqian": "

    ", + "zhuangtaihou": "

    ", + "daoyanqian": "标签:", + "daoyanhou": "", + "zhuyanqian": "上映:", + "zhuyanhou": "", + "juqingqian": "class=\"info\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/ganfanyingshi.json b/XBiubiu/ganfanyingshi.json new file mode 100644 index 0000000..ab30c97 --- /dev/null +++ b/XBiubiu/ganfanyingshi.json @@ -0,0 +1,74 @@ +// 分类页面 无副标题 +{ + "author": "20200609", + "name": "干饭影视", + "url": "http://www.gfysys.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "国产剧$/vodshow/2-内地-------#韩国剧$/vodshow/2-韩国-------#香港剧$/vodshow/2-香港-------#台湾剧$/vodshow/2-台湾-------#日本剧$/vodshow/2-日本-------#美国剧$/vodshow/2-美国-------#泰国剧$/vodshow/2-泰国-------#英国剧$/vodshow/2-英国-------#国产动漫$/vodshow/4-内地-------#日本动漫$/vodshow/4-日本-------#美国动漫$/vodshow/4-美国-------#韩国动漫$/vodshow/4-韩国-------#综艺$/vodshow/3--------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#犯罪片$/vodshow/1---犯罪-----#奇幻片$/vodshow/1---奇幻-----#武侠片$/vodshow/1---武侠-----#冒险片$/vodshow/1---冒险-----#悬疑片$/vodshow/1---悬疑-----#惊悚片$/vodshow/1---惊悚-----#古装片$/vodshow/1---古装-----", + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"stui-vodlist__thumb", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "red;\">", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "data\">导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "data\">主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "sketch\">", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/guapi.json b/XBiubiu/guapi.json new file mode 100644 index 0000000..936fe3b --- /dev/null +++ b/XBiubiu/guapi.json @@ -0,0 +1,74 @@ +{ + "author": "20220606", + "name": "瓜皮TV", + "url": "https://guapitv.xyz", + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + //"jiequhou": "
    ", + "fubiaotihou": "
    ", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "
    ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", +//------列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", +//------//列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", +//------搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", +//------搜索页影片跳转详情页的中间标识链接部分 + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", +//播放截取的列表数组的前关键词 + "bfjiequshuzuqian": "class=\"myui-content__list", +//播放截取的列表数组的后关键词 + "bfjiequshuzuhou": "", +//------下面的是详情内容可以不动 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", +//------下面的是播放链接关键词第一集 + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/hanjuzaixian.json b/XBiubiu/hanjuzaixian.json new file mode 100644 index 0000000..b5f71e7 --- /dev/null +++ b/XBiubiu/hanjuzaixian.json @@ -0,0 +1,73 @@ +{ + "name": "韩剧在线", //填网站名称 + "tihuan": "cnzz.com", +//------填网站链接 + "url": "https://www.52kpop1.com", + "shouye": "1", +//------网站列表的分类 + //"fenlei": "电影$/vodshow/1--------#韩剧$/vodshow/2--------#韩综$/vodshow/3--------#最新推荐$/vodshow/4--------#Running Man$/vodshow/20--------", + "fenlei": "电影$/list/1-#韩剧$/list/2-#韩综$/list/3-#最新推荐$/list/4-#Running Man$/list/20-", +//------网站翻页链接的后缀 + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", +//------截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"stui-vodlist__box\"", +//------ //截取的列表数组的后关键词 + "jiequshuzuhou": "", +//------列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", +//------//列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", +//------搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", +//------搜索页影片跳转详情页的中间标识链接部分 + "sousuohouzhui": "/kan/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", +//播放截取的列表数组的前关键词 + "bfjiequshuzuqian": "class=\"stui-content__playlist", +//播放截取的列表数组的后关键词 + "bfjiequshuzuhou": "", +//------下面的是详情内容可以不动 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", +//------下面的是播放链接关键词第一集 + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/hdmoli.json b/XBiubiu/hdmoli.json new file mode 100644 index 0000000..561fdbb --- /dev/null +++ b/XBiubiu/hdmoli.json @@ -0,0 +1,59 @@ +{ + "name": "hdmoli", + "url": "https://www.hdmoli.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/mlist/index1-#剧集$/mlist/index2-#爱情片$/mlist/index6-#科幻片$/mlist/index7-#恐怖片$/mlist/index8-#战争片$/mlist/index9-#喜剧片$/mlist/index10-#纪录片$/mlist/index11-#剧情片$/mlist/index12-#犯罪片$/mlist/index30-#动画片$/mlist/index32-", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新周期:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/heidongyingshi.json b/XBiubiu/heidongyingshi.json new file mode 100644 index 0000000..6deb52a --- /dev/null +++ b/XBiubiu/heidongyingshi.json @@ -0,0 +1,64 @@ +{ + "name": "黑洞影视", + "url": "https://www.nulltm.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "t text-right\">", + "fubiaotihou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/heihutv.json b/XBiubiu/heihutv.json new file mode 100644 index 0000000..ab65623 --- /dev/null +++ b/XBiubiu/heihutv.json @@ -0,0 +1,61 @@ +{ + "author": "220805", + "name": "黑狐影院(不支持搜索)", + "url": "http://heihu.tv", //发布页:heihu.info + "tihuan": "cnzz.com", + "shouye": "1", + //"fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#午夜剧场$/list/40_", + "fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#喜剧片$/list/41_#动作$/list/42_#科幻$/list/43_#恐怖$/list/44_#战争$/list/45_#灾难$/list/46_#爱情$/list/47_#剧情$/list/48_#悬疑$/list/49_#犯罪$/list/62_#冒险$/list/64_#伦理$/list/40_#爱情剧$/list/50_#古装剧$/list/51_#剧情剧$/list/52_#警匪剧$/list/53_#战争剧$/list/54_#悬疑剧$/list/55_#科幻剧$/list/56_#冒险剧$/list/59_#惊悚剧$/list/60_#喜剧$/list/61_#犯罪剧$/list/63_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "", + "sousuohouzhui": "/gov-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/honglingjin.json b/XBiubiu/honglingjin.json new file mode 100644 index 0000000..7eaaf85 --- /dev/null +++ b/XBiubiu/honglingjin.json @@ -0,0 +1,68 @@ +{ + "name": "红领巾", + "url": "https://www.honglingjin.tv", + "User": "空", + "shouye": "1", + //"fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/4/#动漫$/list/3/", + "fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/3/#动漫$/list/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail1/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-cover", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/huamaoTV.json b/XBiubiu/huamaoTV.json new file mode 100644 index 0000000..c4423ea --- /dev/null +++ b/XBiubiu/huamaoTV.json @@ -0,0 +1,67 @@ +{ + "name": "花猫TV", + "url": "http://www.huamaotv.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "pic-text\">", + "fubiaotihou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/humao.json b/XBiubiu/humao.json new file mode 100644 index 0000000..449cb68 --- /dev/null +++ b/XBiubiu/humao.json @@ -0,0 +1,65 @@ +{ + "name": "虎猫", + "url": "https://humaosp.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#4K片库$/vodshow/27--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"loading\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/huohuoyingshi.json b/XBiubiu/huohuoyingshi.json new file mode 100644 index 0000000..f3fdc7c --- /dev/null +++ b/XBiubiu/huohuoyingshi.json @@ -0,0 +1,69 @@ +// 修复 日韩剧、欧美剧 错误分类 +{ + "name": "火火影视", + "url": "https://www.huohuo99.com", + "tihuan": "", + "User": "空", + "shouye": "1", + "fenlei": "国产剧$/vodtype/13-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#港台剧$/vodtype/14-#番剧$/vodtype/31-#动画片$/vodtype/24-#综艺$/vodtype/4-#记录片$/vodtype/5-#动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#惊悚片$/vodtype20-#悬疑片$vodtype/23-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"hl-list-item hl", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "remarks\">", + "fubiaotihou": "", + + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/iibb.json b/XBiubiu/iibb.json new file mode 100644 index 0000000..1ef84a6 --- /dev/null +++ b/XBiubiu/iibb.json @@ -0,0 +1,59 @@ +{"name": "iibb电影网", +"url": "http://www.iibb.me/", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/type/1-#电视剧$/type/2-#综艺$/type/4-#动漫$/type/3-#直播$/type/5-#音乐$/type/6-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"movie-item\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "", +"sousuoqian": "/s/", +"sousuohou": "/1.html", +"sousuohouzhui": "/show/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"movie-item", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"dslist-group-item", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"hdtag\">", +"zhuangtaihou": "", +"daoyanqian": "导演", +"daoyanhou": "", +"zhuyanhou": "", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/jipinyingshi.json b/XBiubiu/jipinyingshi.json new file mode 100644 index 0000000..800d60e --- /dev/null +++ b/XBiubiu/jipinyingshi.json @@ -0,0 +1,69 @@ +{ + "name": "极品影视", + "url": "https://www.jpys.me", + "User": "空", + "shouye": "1", + + "fenlei": "大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧美剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/jiumeng.json b/XBiubiu/jiumeng.json new file mode 100644 index 0000000..280aa32 --- /dev/null +++ b/XBiubiu/jiumeng.json @@ -0,0 +1,57 @@ +{ +"name": "旧梦影视", +"url": "http://150.158.130.238:4433", +"User": "User-Agent:Dart/2.14 (dart:io)", "fenlei": "国产剧$/index.php/vod/show/id/24/page/#港台剧$/index.php/vod/show/id/25/page/#日韩剧$/index.php/vod/show/id/26/page/#欧美剧$/index.php/vod/show/id/27/page/#综 艺$/index.php/vod/show/id/6/page/#动 漫$/index.php/vod/show/id/3/page/#B 站$/index.php/vod/show/id/4/page/#动作片$/index.php/vod/show/id/7/page/#喜剧片$/index.php/vod/show/id/8/page/#爱情片$/index.php/vod/show/id/9/page/#科幻片$/index.php/vod/show/id/10/page/#恐怖片$/index.php/vod/show/id/11/page/#剧情片$/index.php/vod/show/id/12/page/#战争片$/index.php/vod/show/id/13/page/", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-main module-page", +"jiequhou": "id=\"page\"", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"zhuangtaiqian": "class=\"module-info-item-content\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演", +"zhuyanhou": "class=\"slash\"", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "title=\"", +"bfbiaotihou": "\"", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/jiuzhouyingshi.json b/XBiubiu/jiuzhouyingshi.json new file mode 100644 index 0000000..6371437 --- /dev/null +++ b/XBiubiu/jiuzhouyingshi.json @@ -0,0 +1,72 @@ +// 分类++ +{ + "name": "九州影视", + "url": "http://www.unss.net/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + //"fenlei": "电视剧$/index.php/vod/show/id/2#电影$/index.php/vod/show/id/1#综艺$/index.php/vod/show/id/3#动漫$/index.php/vod/show/id/4", + "fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/type/id/4/page/#动画片$/index.php/vod/show/id/21/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#泰剧$/index.php/vod/show/id/34/page/#国产动漫$/index.php/vod/show/id/26/page/#日本动漫$/index.php/vod/show/id/27/page/#欧美动漫$/index.php/vod/show/id/28/page/#动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#犯罪片$/index.php/vod/show/id/20/page/", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "
    ", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/jubaibailanguang.json b/XBiubiu/jubaibailanguang.json new file mode 100644 index 0000000..73c6874 --- /dev/null +++ b/XBiubiu/jubaibailanguang.json @@ -0,0 +1,68 @@ +{ + "name": "剧白白-蓝光", + "url": "https://www.jubaibai.cc", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "t text-right\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist sort-list", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "display: none;\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/juhuangTV.json b/XBiubiu/juhuangTV.json new file mode 100644 index 0000000..ac5d0bf --- /dev/null +++ b/XBiubiu/juhuangTV.json @@ -0,0 +1,68 @@ +{"name": "剧荒", +"url": "https://juhuang.tv/", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +//"直接播放": "0", +//"列表显示": "0", +//"横图显示": "0", +"fenlei": "最新电影$/type/1_#电影库$/type/1_type_#最新电视剧$/type/2_type#电视剧库$/type/2_type_#最新综艺$/type/3_type#综艺库$/type/3_type_#最新动漫$/type/4_type#动漫库$/type/4_type_#最新纪录片$/type/21_type#纪录片库$/type/21_type_", +"houzhui": ".html", +"qishiye": "空", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +//"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +//"ljqianzhui": "空", +//"fubiaotiqian": "", +//"fubiaotihou": "", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""} \ No newline at end of file diff --git a/XBiubiu/juzi.json b/XBiubiu/juzi.json new file mode 100644 index 0000000..90f0c4f --- /dev/null +++ b/XBiubiu/juzi.json @@ -0,0 +1,57 @@ +{"name": "橘子tv", +"url": "https://juztv.com", +"tihuan": "cnzz.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#其他片$/vodtype/20-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#其他剧$/vodtype/21-", +"houzhui": "/", +"shifouercijiequ": "1", +"jiequqian": "class=\"stui-vodlist clearfix", +"jiequhou": "", +"jiequshuzuqian": "class=\"stui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"data\" style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/juzitv.json b/XBiubiu/juzitv.json new file mode 100644 index 0000000..90f0c4f --- /dev/null +++ b/XBiubiu/juzitv.json @@ -0,0 +1,57 @@ +{"name": "橘子tv", +"url": "https://juztv.com", +"tihuan": "cnzz.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#其他片$/vodtype/20-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#其他剧$/vodtype/21-", +"houzhui": "/", +"shifouercijiequ": "1", +"jiequqian": "class=\"stui-vodlist clearfix", +"jiequhou": "", +"jiequshuzuqian": "class=\"stui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"data\" style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/kaixinguo.json b/XBiubiu/kaixinguo.json new file mode 100644 index 0000000..e03a56a --- /dev/null +++ b/XBiubiu/kaixinguo.json @@ -0,0 +1,67 @@ +{ + "name": "开心果电影网", + "url": "https://www.kxgdyw.com", + "User": "空", + "shouye": "1", + "fenlei": "连续剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#邵氏电影$/vodshow/64--------#动作片$/vodshow/6--------#恐怖片$/vodshow/10--------#科幻片$/vodshow/9--------#战争片$/vodshow/12--------#爱情片$/vodshow/8--------#喜剧片$/vodshow/7--------#剧情片$/vodshow/11--------#粤语片$/vodshow/36--------#纪录片$/vodshow/23--------#动漫片$/vodshow/21--------#国产剧$/vodshow/13--------#欧美剧$/vodshow/16--------#美剧片$/vodshow/38--------#港台片$/vodshow/14--------#日韩剧$/vodshow/15--------#泰剧片$/vodshow/39--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"hl-item-thumb hl-lazy\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "remarks\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"hl-plays-list", + "bfjiequshuzuhou": "", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/kanpiankuangren.json b/XBiubiu/kanpiankuangren.json new file mode 100644 index 0000000..e1220aa --- /dev/null +++ b/XBiubiu/kanpiankuangren.json @@ -0,0 +1,74 @@ +{ + "author": "20220609", + "name": "看片狂人", + "url": "https://www.kpkuang.xyz", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "豆瓣电影$/vodshow/1--douban_score%2Cscore------#豆瓣连续剧$/vodshow/2--douban_score%2Cscore------#豆瓣综艺$/vodshow/3--douban_score%2Cscore------#豆瓣动漫$/vodshow/4--douban_score%2Cscore------#动画片$/vodshow/31--douban_score%2Cscore------#亲子动漫$/vodshow/4---亲子-----#益智动漫$/vodshow/4---益智-----#记录片$/vodshow/29--------#国产剧$/vodshow/13--------#港剧$/vodshow/14--------#日剧$/vodshow/15--------#欧美剧$/vodshow/16--------#韩剧$/vodshow/23--------#越南剧$/vodshow/22--------#泰剧$/vodshow/21--------#台剧$/vodshow/20--------#海外剧$/vodshow/30--------#国产动漫$/vodshow/4-中国大陆-------#日本动漫$/vodshow/4-日本-------#美国动漫$/vodshow/4-美国-------#韩国动漫$/vodshow/4-韩国-------#台湾动漫$/vodshow/4-台湾-------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", //网站列表的分类 + "houzhui": "-----.html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"fed-list-pics", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "n-bottom\">", + "fubiaotihou": "
      ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/kanpianwang.json b/XBiubiu/kanpianwang.json new file mode 100644 index 0000000..7f38c0a --- /dev/null +++ b/XBiubiu/kanpianwang.json @@ -0,0 +1,62 @@ +{ + "name": "看片网", + "url": "https://www.kanpian.cc/", + "tihuan": "cnzz.com", +"shouye": "1", + "User": "空", + "fenlei": "电影$/shaixuan/dianying--------#电视剧$/shaixuan/lianxuju--------#综艺$/shaixuan/zongyi--------#动漫$/shaixuan/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vodlist_thumb lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", +"fubiaotiqian":"class=\"pic_text text_right text_dy\">", +"fubiaotihou":"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"playlist_full\"", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情介绍", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/kanyikanyingshi.json b/XBiubiu/kanyikanyingshi.json new file mode 100644 index 0000000..271b43a --- /dev/null +++ b/XBiubiu/kanyikanyingshi.json @@ -0,0 +1,66 @@ +{ + "name": "看一看影视", + "url": "https://www.kyikan.cc", + "shouye": "1", + "fenlei": "连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧美剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", + "houzhui": "-order--by--class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php?m=vod-search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "", + + "zhuangtaiqian": "class=\"bz\">", + "zhuangtaihou": "", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": ">介绍:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +} \ No newline at end of file diff --git a/XBiubiu/kbzxb.json b/XBiubiu/kbzxb.json new file mode 100644 index 0000000..5e0cd54 --- /dev/null +++ b/XBiubiu/kbzxb.json @@ -0,0 +1,59 @@ +{ +"name": "扛把子影院", +"url": "https://www.ququmc.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/type/1/#电视剧$/type/2/#动漫$/type/4/#综艺$/type/3/#福利$/type/5/#神曲$/type/6/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian":"class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": ">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search?wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/show/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"thumb", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"remarks-bg\">", +"zhuangtaihou": "", +"daoyanqian": "class=\"text-muted\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"text-muted\">主演:", +"zhuyanhou": "

    ", +"juqingqian":"class=\"detail-sketch\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/kelaTV.json b/XBiubiu/kelaTV.json new file mode 100644 index 0000000..72366cb --- /dev/null +++ b/XBiubiu/kelaTV.json @@ -0,0 +1,64 @@ +{ + "name": "克拉TV", + "url": "https://www.kelatv.com", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/dianying/index-#电视剧$/dianshiju/index-#动漫$/dongman/index-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"layui-col-md2 layui-col-sm4 layui-col-xs6 item\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"video-txt\"", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"layui-tab-item bt-playlist layui-show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "

    状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"bt-content\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/koudaiyingshi.json b/XBiubiu/koudaiyingshi.json new file mode 100644 index 0000000..751dd1b --- /dev/null +++ b/XBiubiu/koudaiyingshi.json @@ -0,0 +1,67 @@ +{ + "name": "口袋影院", + "url": "http://www.koudaitv.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#美剧$/type/15-1--------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "span>", + "fubiaotihou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/kukeyingyuan696.json b/XBiubiu/kukeyingyuan696.json new file mode 100644 index 0000000..e3406a5 --- /dev/null +++ b/XBiubiu/kukeyingyuan696.json @@ -0,0 +1,59 @@ +{"name": "酷客影院(不支持搜)", +"url": "http://www.696m.com", +"User": "空", +"fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/kuyun.json b/XBiubiu/kuyun.json new file mode 100644 index 0000000..ec81e9f --- /dev/null +++ b/XBiubiu/kuyun.json @@ -0,0 +1,64 @@ +{"name": "酷云影院", + "url": "https://www.kuyun5.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vod-show-1--------#电视剧$/vod-show-2--------#综艺$/vod-show-3--------#动漫$/vod-show-4--------#国产剧$/vod-show-12--------#欧美剧$/vod-show-17--------#国漫$/vod-show-4-中国大陆-------#日漫$/vod-show-4-日本-------#理论片$/vod-show-20--------", + + //"fenlei": "动作片$/vod-show-5--------#喜剧片$/vod-show-6--------#爱情片$/vod-show-7--------#科幻片$/vod-show-8--------#恐怖片$/vod-show-9--------#剧情片$/vod-show-10--------#战争片$/vod-show-11--------#纪录片$/vod-show-23--------#国产剧$/vod-show-12--------#香港剧$/vod-show-13--------#台湾剧$/vod-show-14--------#日本剧$/vod-show-15--------#韩国剧$/vod-show-16--------#欧美剧$/vod-show-17--------#海外剧$/vod-show-18--------#综艺$/vod-show-3--------#动漫$/vod-show-4--------#理论片$/vod-show-20--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vodlist_item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"content_desc context clearfix\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/landou.json b/XBiubiu/landou.json new file mode 100644 index 0000000..4f417e6 --- /dev/null +++ b/XBiubiu/landou.json @@ -0,0 +1,57 @@ +{"name": "蓝豆TV", +"url": "http://landoutv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "page", +"jiequshuzuqian": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list", +"bfjiequshuzuhou": "/div>", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/languangyingshi.json b/XBiubiu/languangyingshi.json new file mode 100644 index 0000000..d24dc19 --- /dev/null +++ b/XBiubiu/languangyingshi.json @@ -0,0 +1,73 @@ +{ + "author": "20200609", + "name": "蓝光影院", + "url": "https://www.lgyy.cc", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/5--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#泰国剧$/vodshow/26--------#番剧$/vodshow/17--------#国创$/vodshow/18--------#动画片$/vodshow/27--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#惊悚片$/vodshow/20--------#犯罪片$/vodshow/21--------#冒险片$/vodshow/22--------#悬疑片$/vodshow/23--------#武侠片$/vodshow/24--------#奇幻片$/vodshow/25--------", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "
    ", + "fubiaotihou": "
    ", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=双面赘婿", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list-content", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/n/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/laodianying.json b/XBiubiu/laodianying.json new file mode 100644 index 0000000..ae90c86 --- /dev/null +++ b/XBiubiu/laodianying.json @@ -0,0 +1,70 @@ +{ + "name": "老电影", + "url": "https://www.laodyw.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "国产剧$/guocanju/index_#香港剧$/xianggangju/index_#台湾剧$/taiwanju/index_#韩国剧$/hanguoju/index_#日本剧$/ribenju/index_#欧美剧$/oumeiju/index_#海外剧$/haiwaiju/index_#动漫$/cartoon/index_#综艺$/fun/index_#纪录片$/jilupian/index_#喜剧片$/xijupian/index_#动作片$/dongzuopian/index_#科幻片$/kehuanpian/index_#恐怖片$/kongbupian/index_#爱情片$/aiqingpian/index_#战争片$/zhanzhengpian/index_#犯罪片$/fanzuipian/index_#剧情片$/juqingpian/index_#经典片$/jingdianpian/index_", + "houzhui": "_______1.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "t text-right\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/lezhuyingshi.json b/XBiubiu/lezhuyingshi.json new file mode 100644 index 0000000..983aa7f --- /dev/null +++ b/XBiubiu/lezhuyingshi.json @@ -0,0 +1,68 @@ +{ + "name": "03-乐猪影视", + "url": "http://www.lezhutv.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "span>", + "fubiaotihou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/liliyayingshi.json b/XBiubiu/liliyayingshi.json new file mode 100644 index 0000000..566da64 --- /dev/null +++ b/XBiubiu/liliyayingshi.json @@ -0,0 +1,69 @@ +{ + "name": "利丽娅电影", + "url": "https://www.llyady.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--hits------#国产剧$/vodshow/28--------#日韩剧$/vodshow/29--------#欧美剧$/vodshow/30--------#港台剧$/vodshow/31--------#其他剧$/vodshow/31--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"module-item-caption\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "right;\">", + "fubiaotihou": "", + + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "9e9e9e;\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/liuduTV.json b/XBiubiu/liuduTV.json new file mode 100644 index 0000000..97af7f4 --- /dev/null +++ b/XBiubiu/liuduTV.json @@ -0,0 +1,68 @@ +{ + "name": "六度TV", + "url": "http://6d.xuangz.cn", + "User": "空", + "shouye": "1", + "fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#美国片$/whole/1_美国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧美剧$/whole/2__欧美剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +} \ No newline at end of file diff --git a/XBiubiu/maidouTV.json b/XBiubiu/maidouTV.json new file mode 100644 index 0000000..02cb8f7 --- /dev/null +++ b/XBiubiu/maidouTV.json @@ -0,0 +1,68 @@ +{ +"name": "麦豆TV", +"url": "https://www.mdoutv.cc/", +"tihuan": "cnzz.com", +"shouye": "1", +"User": "空", +"fenlei": "国产剧$/vodtype/13/page/#港台剧$/vodtype/14/page/#日韩剧$/vodtype/15/page/#欧美剧$/vodtype/16/page/#动 漫$/vodtype/4/page/#综 艺$/vodtype/3/page/#喜剧片$/vodshow/1---喜剧--------/page/#爱情片$/vodshow/1---爱情--------/page/#科幻片$/vodshow/1---科幻--------/page/#恐怖片$/vodshow/1---恐怖--------/page/#动作片$/vodshow/1---动作--------/page/#剧情片$/vodshow/1---剧情--------/page/#战争片$/vodshow/1---战争--------/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "", +"jiequhou": "", +"jiequshuzuqian": "class=\"myui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"xlshifouercijiequ": "1", +"xljiequqian": "", +"xljiequhou": "", +"xljiequshuzuqian": "data-toggle=\"tab\"", +"xljiequshuzuhou": "/a>", +"xlbiaotiqian": ">", +"xlbiaotihou": "<", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"sketch content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} + \ No newline at end of file diff --git a/XBiubiu/mandaodongman.json b/XBiubiu/mandaodongman.json new file mode 100644 index 0000000..5dbd37c --- /dev/null +++ b/XBiubiu/mandaodongman.json @@ -0,0 +1,75 @@ +// 跟Auete网站类似,第一页的页码不为1 +// 目前XBiubiu没有像新Biubiu测试版一样,可自定义起始页为其他页码的功能 +// 修复分类列表 +{"author":"20220530", +"name": "漫岛动漫", +"url": "https://www.mandao.tv", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "1", +"fenlei": "日本动漫$/list/lm1_#国产动漫$/list/lm2_#欧美动漫$/list/lm3_#剧场电影$/list/lm4_#次元影视$/list/lm5_", +"houzhui": ".html", +"qishiye": "2",//可以自定义列表翻页起始页的页数,如果填上一个空字,则不使用起始页数,直接获取链接的数据。 + +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"li-hv", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", + +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian": "bz\">", +"fubiaotihou": "

    ", + + + +"sousuoqian": "/search.php?searchword=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/man/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"mb\"", +"ssjiequshuzuhou": "", + +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "类型:", +"daoyanhou": "", +"zhuyanqian": "声优:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": "_self\">", +"bfbiaotihou": "<", +"bflianjieqian": "href='", +"bflianjiehou": "'" +} \ No newline at end of file diff --git a/XBiubiu/mayigaoqing.json b/XBiubiu/mayigaoqing.json new file mode 100644 index 0000000..ce25f8d --- /dev/null +++ b/XBiubiu/mayigaoqing.json @@ -0,0 +1,73 @@ +// 改版修正0711 +{ + "author": "20220704", + "name": "麻衣高清", + "url": "https://www.mayigq.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "剧集$/lists/2--------#动漫$/lists/3--------#动画片$/lists/1---动画-----#综艺$/lists/4--------#记录片$/lists/5--------#国产剧$/lists/2-大陆-------#香港剧$/lists/2-香港-------#台湾剧$/lists/2-台湾-------#美国剧$/lists/2-美国-------#韩国剧$/lists/2-韩国-------#日本剧$/lists/2-日本-------#泰国剧$/lists/2-泰国-------#新加坡剧$/lists/2-新加坡-------#马来西亚剧$/lists/2-马来西亚-------#印度剧$/lists/2-印度-------#英国剧$/lists/2-英国-------#法国剧$/lists/2-法国-------#加拿大剧$/lists/2-加拿大-------#西班牙剧$/lists/2-西班牙-------#俄罗斯剧$/lists/2-俄罗斯-------#其它剧$/lists/2-其它-------#大陆动漫$/lists/3-大陆-------#日本动漫$/lists/3-日本-------#美国动漫$/lists/3-美国-------#韩国动漫$/lists/3-韩国-------#喜剧片$/lists/1---喜剧-----#爱情片$/lists/1---爱情-----#恐怖片$/lists/1---恐怖-----#动作片$/lists/1---动作-----#科幻片$/lists/1---科幻-----#剧情片$/lists/1---剧情-----#战争片$/lists/1---战争-----#警匪片$/lists/1---警匪-----#犯罪片$/lists/1---犯罪-----#奇幻片$/lists/1---奇幻-----#武侠片$/lists/1---武侠-----#冒险片$/lists/1---冒险-----#枪战片$/lists/1---枪战-----#悬疑片$/lists/1---悬疑-----#惊悚片$/lists/1---惊悚-----#青春片$/lists/1---青春-----#文艺片$/lists/1---文艺-----#古装片$/lists/1---古装-----#历史片$/lists/1---历史-----#运动片$/lists/1---运动-----#农村片$/lists/1---农村-----#儿童片$/lists/1---儿童-----", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "mo-byxs-2by3\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "html\">", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "e mo-coxs-center\">", + "fubiaotihou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "年份:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" //播放剧集链接后关键词 +} \ No newline at end of file diff --git a/XBiubiu/meijuchong.json b/XBiubiu/meijuchong.json new file mode 100644 index 0000000..5fd36ca --- /dev/null +++ b/XBiubiu/meijuchong.json @@ -0,0 +1,80 @@ +{ + "author": "220805", + "name": "美剧虫", + // 填网站链接 + "url": "https://meijuchong.cc", + // 这个不用动,是个别网站播放需要请求头时才用到 + //"User": "User-Agent:Dart/2.14 (dart:io)", + "User": "空", + // 首页展示 + "shouye": "1", + // 网站列表的分类 + "fenlei": "欧美剧$/vodtype/1-#海外剧$/vodtype/2-#日韩剧$/vodtype/3-#电影$/vodtype/4-", + // 网站翻页链接的后缀 + "houzhui": ".html", + // 截取的列表数组是否需要二次截取,0不需要,1需要 空 + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + // 截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + // 列表中资源的图片前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "original=\"", + "tupianhou": "\"", + //列表中资源的标题前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", + "biaotihou": "\"", + // 列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", + "lianjiehou": "\"", + // 搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。/vodsearch/-------------.html?wd= + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + // 搜索页影片跳转详情页的中间标识链接部分,不是播放页面 + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + // 截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + // 播放截取的列表数组的前,后关键词 + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + // 详情页状态,导演,主演,简介关键词 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + // 播放页面是否需要二次截取,0不需要,1需要 + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + // 播放剧集数组前,后关键词 + "bfyjiequshuzuqian": "", + // 播放剧集标题前,后关键词 + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + // 播放剧集链接前,后关键词 + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/milai.json b/XBiubiu/milai.json new file mode 100644 index 0000000..977960a --- /dev/null +++ b/XBiubiu/milai.json @@ -0,0 +1,56 @@ +{ +"name": "米来影视", +"url": "http://www.qdytv.com/", "User": "User-Agent:Dart/2.14 (dart:io)", "fenlei": "电影$/show/id/1/page#电视剧$/show/id/2/page#综艺$/show/id/3/page#动漫$/show/id/4/page#纪录片$/show/id/20/page", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"sketch content\">", +"juqinghou": "", +"bfjiequshuzuqian": "class=\"myui-content__list", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/miniku.json b/XBiubiu/miniku.json new file mode 100644 index 0000000..90a4e65 --- /dev/null +++ b/XBiubiu/miniku.json @@ -0,0 +1,121 @@ +{ + + "name": "迷你库", + + "url": "http://www.miniku.cc/", + + "tihuan": "cnzz.com#/player/#/mytheme/", + + "fenlei": "电影$/vodtype/1/page/#电视剧$/vodtype/2/page/#综艺$/vodtype/3/page/#动漫$/vodtype/4/page/#日韩$/vodtype/21/page/#欧美$/vodtype/20/page/#哔哩$/vodtype/22/page/", + + "houzhui": ".html", + + "shouye": "1", + + "shifouercijiequ": "0", + + "jiequqian": "空", + + "jiequhou": "空", + + "jiequshuzuqian": "class=\"myui-vodlist__thumb", + + "jiequshuzuhou": "", + + "tupianqian": "data-original=\"", + + "tupianhou": "\"", + + "biaotiqian": "title=\"", + + "biaotihou": "\"", + + "fubiaotiqian": "class=\"pic-text text-right\">", + + "fubiaotihou": "", + + "lianjieqian": "href=\"", + + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + + "sousuohou": "&limit=500", + + "sousuohouzhui": "/voddetail/", + + "ssmoshi": "0", + + "sousuoshifouercijiequ": "0", + + "jspic": "pic", + + "jsname": "name", + + "jsid": "id", + + "ssjiequqian": "空", + + "ssjiequhou": "空", + + "ssjiequshuzuqian": "空", + + "ssjiequshuzuhou": "空", + + "sstupianqian": "空", + + "sstupianhou": "空", + + "ssbiaotiqian": "空", + + "ssbiaotihou": "空", + + "sslianjieqian": "空", + + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + + "bfjiequqian": "空", + + "bfjiequhou": "空", + + "zhuangtaiqian": "更新:", + + "zhuangtaihou": "

    ", + + "daoyanqian": "导演:", + + "daoyanhou": "

    ", + + "zhuyanqian": "主演:", + + "zhuyanhou": "

    ", + + "juqingqian": "简介:", + + "juqinghou": "", + + "bfyshifouercijiequ": "0", + + "bfyjiequqian": "空", + + "bfyjiequhou": "空", + + "bfyjiequshuzuqian": "", + + "bfbiaotiqian": ">", + + "bfbiaotihou": "<", + + "bflianjieqian": "href=\"", + + "bflianjiehou": "\"" + +} \ No newline at end of file diff --git a/XBiubiu/miziyingshi.json b/XBiubiu/miziyingshi.json new file mode 100644 index 0000000..1baccf0 --- /dev/null +++ b/XBiubiu/miziyingshi.json @@ -0,0 +1,73 @@ +// 🥒套娃模板 class=module-items +{ + "author": "20220625", + "name": "米子影视", + "url": "https://www.mizi6.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + "fenlei": "电影$/vodshow/id/1/page/#电视剧$/vodshow/id/2/page/#综艺$/vodshow/id/4/page/#动漫$/vodshow/id/3/page/#记录片$/vodshow/id/5/page/#亲子动漫$/vodshow/class/亲子/id/3/page/#动画片$/vodshow/id/17/page/#国产剧$/vodshow/id/13/page/#日韩剧$/vodshow/id/15/page/#欧美剧$/vodshow/id/16/page/#港台剧$/vodshow/id/14/page/#海外剧$/vodshow/id/23/page/#国产动漫$/vodshow/area/中国大陆/id/3/page/#日本动漫$/vodshow/area/日本/id/3/page/#欧美动漫$/vodshow/area/欧美/id/3/page/#动作片$/vodshow/id/6/page/#喜剧片$/vodshow/id/7/page/#爱情片$/vodshow/id/8/page/#科幻片$/vodshow/id/9/page/#恐怖片$/vodshow/id/10/page/#剧情片$/vodshow/id/11/page/#战争片$/vodshow/id/12/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + "jiequhou": "class=\"fixedGroup", //不需要二次截取就填空 + "jiequshuzuqian": "", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/yingshi/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 (全部) + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", + "tupianqian": "lay-src=\"", + "tupianhou": "\"", + "biaotiqian": "class=\"name\">", + "biaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"zu", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/naifeiyingyuan.json b/XBiubiu/naifeiyingyuan.json new file mode 100644 index 0000000..5a90c71 --- /dev/null +++ b/XBiubiu/naifeiyingyuan.json @@ -0,0 +1,70 @@ +{ + "name": "奈菲影院", + "url": "https://www.1985.one/", + "shouye": "1", + + //"fenlei": "电影$/vodshow/id/1/page/#国产剧$/vodshow/id/2/page/#日韩剧$/vodshow/29--------#欧美剧$/vodshow/30--------#港台剧$/vodshow/31--------#其他剧$/vodshow/31--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "fenlei": "电影$/vodshow/id/1/page/#连续剧$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#动漫$/vodshow/id/4/page/", + //"houzhui": "---.html", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item-", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"module-item-text\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/nailuoyingyuan.json b/XBiubiu/nailuoyingyuan.json new file mode 100644 index 0000000..9f43e40 --- /dev/null +++ b/XBiubiu/nailuoyingyuan.json @@ -0,0 +1,73 @@ +// 网站改版修正 +{ + "author": "20220625", + "name": "奈落影院", + "url": "https://newfii.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#港台剧$/vodshow/14--------#海外剧$/vodshow/21--------#记录片$/vodshow/27--------#童漫$/vodshow/24--------#动画片$/vodshow/20--------#国漫$/vodshow/22--------#日漫$/vodshow/25--------#欧漫$/vodshow/23--------#番剧(B站)$/vodshow/35--------#国创(B站)$/vodshow/36--------#综艺$/vodshow/4--------#科幻片$/vodshow/6--------#动作片$/vodshow/7--------#喜剧片$/vodshow/8--------#爱情片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"module-item\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-text\">", + "fubiaotihou": "", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list-content", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/panghuyingyuan.json b/XBiubiu/panghuyingyuan.json new file mode 100644 index 0000000..0b4a538 --- /dev/null +++ b/XBiubiu/panghuyingyuan.json @@ -0,0 +1,66 @@ +{"name": "胖虎影视", +"url": "http://www.panghuys.com", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/vodshow/1/page/#国产电影$/vodshow/1/area/%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86/page/#电视剧$/vodshow/2/page/#国产剧$/vodshow/13/page/#综艺$/vodshow/3/page/#动漫$/vodshow/4/page/#动作片$/vodshow/6/page/#喜剧片$/vodshow/7/page/#剧情片$/vodshow/24/page/#爱情片$/vodshow/8/page/#科幻片$/vodshow/9/page/#恐怖片$/vodshow/10/page/#冒险片$/vodshow/11/page/#战争片$/vodshow/12/page/#其他片$/vodshow/32/page/#日韩剧$/vodshow/14/page/#港台剧$/vodshow/15/page/#欧美剧$/vodshow/16/page/#其他剧$/vodshow/20/page/", +"houzhui": ".html", +//"fenlei": "电影$/vodshow/1--------#国产电影$/vodshow/1-%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86-------#电视剧$/vodshow/2--------#国产剧$/vodshow/13--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#剧情片$/vodshow/24--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#冒险片$/vodshow/11--------#战争片$/vodshow/12--------#其他片$/vodshow/32--------#日韩剧$/vodshow/14--------#港台剧$/vodshow/15--------#欧美剧$/vodshow/16--------#其他剧$/vodshow/20--------", +//"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items module-poster-items-base", +"jiequhou": "page", +"jiequshuzuqian": "", + "xlbiaotiqian": "", + "xlbiaotihou": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"module-item-note\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/piaohuabobo.json b/XBiubiu/piaohuabobo.json new file mode 100644 index 0000000..e2d53d9 --- /dev/null +++ b/XBiubiu/piaohuabobo.json @@ -0,0 +1,70 @@ +// 网站改版修正 +{ + "name": "飘花播播", + "url": "https://www.piaohuabo.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#剧集$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/21--------#国产剧$/vodshow/13--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#港台剧$/vodshow/14--------#海外剧$/vodshow/20--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup\"", + "jiequshuzuqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\">", +"biaotiqian": "title=\"", +"biaotihou":"\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"content_playlist list_scroll clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"content_desc context clearfix\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian":"空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/qicui.json b/XBiubiu/qicui.json new file mode 100644 index 0000000..d8fb5c6 --- /dev/null +++ b/XBiubiu/qicui.json @@ -0,0 +1,66 @@ +{ + "name": "奇粹影院", + "url": "http://www.ikuwoo.cn", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "热播电影$/index.php/vod/show/by/hits/id/1/page/#热播剧集$/index.php/vod/show/by/hits/id/2/page/#热播综艺$/index.php/vod/show/by/hits/id/3/page/#动漫$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + //"jiequhou": "
    ", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "daoyanqian": "导演:", + "daoyanhou": "
    ", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "module-info-introduction-content\">", + "juqinghou": "

    ", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/qinianyingshi.json b/XBiubiu/qinianyingshi.json new file mode 100644 index 0000000..fc3661a --- /dev/null +++ b/XBiubiu/qinianyingshi.json @@ -0,0 +1,70 @@ +{ + "name": "七年影视", + //"url": "https://www.lipinvip.com", + "url": "https://www.vtuapp.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--time------#国产剧$/vodshow/12--------#网剧$/vodshow/20--------#欧美剧$/vodshow/15--------#日韩剧$/vodshow/14--------#港台剧$/vodshow/13--------#海外剧$/vodshow/18--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/qiuqianyingshi.json b/XBiubiu/qiuqianyingshi.json new file mode 100644 index 0000000..b942274 --- /dev/null +++ b/XBiubiu/qiuqianyingshi.json @@ -0,0 +1,70 @@ +{"name": "秋千影视", +"url":"https://grqq.com/", +"ua": "", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/vodtype/1-#电视剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-#4K$/vodtype/44-#美女写真$/vodtype/37-#纪录片$/vodtype/4-#音乐MV$/vodtype/33-#影视短片$/vodtype/25-#热舞美女$/vodtype/32-#少儿$/vodtype/36-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/vodsearch/-------------.html?wd=", +"sousuohou": "&submit=", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "lazyload", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空",//可以自己定义截取图片的前缀 +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "空", //可以自己定义截取链接的前缀 +//播放页部分 +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"col-pd text-collapse content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" } + diff --git a/XBiubiu/qiyouyingshibuzhichisousuo.json b/XBiubiu/qiyouyingshibuzhichisousuo.json new file mode 100644 index 0000000..5f8ba94 --- /dev/null +++ b/XBiubiu/qiyouyingshibuzhichisousuo.json @@ -0,0 +1,61 @@ +{ + "author": "220805", + "name": "奇优影院(不支持搜)", + "url": "http://1e6e.com", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + //"fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#午夜剧场$/list/6_", + "fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#喜剧片$/list/41_#动作$/list/42_#科幻$/list/43_#恐怖$/list/44_#战争$/list/45_#灾难$/list/46_#爱情$/list/47_#剧情$/list/48_#悬疑$/list/49_#犯罪$/list/62_#冒险$/list/64_#伦理$/list/40_#爱情剧$/list/50_#古装剧$/list/51_#剧情剧$/list/52_#警匪剧$/list/53_#战争剧$/list/54_#悬疑剧$/list/55_#科幻剧$/list/56_#冒险剧$/list/59_#惊悚剧$/list/60_#喜剧$/list/61_#犯罪剧$/list/63_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php?searchword=", + "sousuohou": ";post;utf-8", + "sousuohouzhui": "/view/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/quannengyingshi.json b/XBiubiu/quannengyingshi.json new file mode 100644 index 0000000..7814b89 --- /dev/null +++ b/XBiubiu/quannengyingshi.json @@ -0,0 +1,80 @@ +{ + "author": "20220715", + "name": "全能影视", + // 填网站链接 + "url": "http://www.dgytlt.com", + // 这个不用动,是个别网站播放需要请求头时才用到 + //"User": "User-Agent:Dart/2.14 (dart:io)", + "User": "空", + // 首页展示 + "shouye": "1", + // 网站列表的分类 + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产剧$/vodshow/13--------#欧美剧$/vodshow/16--------#国漫$/vodshow/4-中国大陆-------#日漫$/vodshow/4-日本-------#纪录片$/vodshow/23--------", + //"fenlei": "电影$/vodshow/1--------#剧集$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动作$/vodshow/6--------#喜剧$/vodshow/7--------#爱情$/vodshow/8--------#科幻$/vodshow/9--------#恐怖$/vodshow/10--------#剧情$/vodshow/11--------#战争$/vodshow/12--------#国剧$/vodshow/13--------#港剧$/vodshow/14--------#韩剧$/vodshow/15--------#美剧$/vodshow/16--------#台剧$/vodshow/20--------#日剧$/vodshow/21--------#其他$/vodshow/22--------", + // 网站翻页链接的后缀 + "houzhui": "---.html", + // 截取的列表数组是否需要二次截取,0不需要,1需要 + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + // 截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + // 列表中资源的图片前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "original=\"", + "tupianhou": "\"", + //列表中资源的标题前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", + "biaotihou": "\"", + // 列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", + "lianjiehou": "\"", + // 搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。/vodsearch/-------------.html?wd= + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + // 搜索页影片跳转详情页的中间标识链接部分,不是播放页面 + "sousuohouzhui": "/video/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + // 播放截取的列表数组的前,后关键词 + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + // 详情页状态,导演,主演,简介关键词 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + // 截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + // 播放剧集数组前,后关键词 + "bfyjiequshuzuqian": "", + // 播放剧集标题前,后关键词 + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + // 播放剧集链接前,后关键词 + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/qukanba.json b/XBiubiu/qukanba.json new file mode 100644 index 0000000..80358e2 --- /dev/null +++ b/XBiubiu/qukanba.json @@ -0,0 +1,73 @@ +{ + "author":"20220605", + "name": "去看吧", + "url": "https://qkan8.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "高清原碟$/index.php/vod/show/id/33/page/#日漫$/index.php/vod/show/id/21/page/#女頻$/index.php/vod/show/id/50/page/#劇場$/index.php/vod/show/id/24/page/#国漫$/index.php/vod/show/id/51/page/#美漫$/index.php/vod/show/id/22/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"fed-list-pics", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": ".html\">", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "center\">", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"fed-play-item", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "fed-text-center\">", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "声优:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "1", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "class=\"fed-part-rows\">", //不需要二次截取就填空 + "bfyjiequhou": "", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/renrenyingshi.json b/XBiubiu/renrenyingshi.json new file mode 100644 index 0000000..e72db2c --- /dev/null +++ b/XBiubiu/renrenyingshi.json @@ -0,0 +1,67 @@ +{ + "name": "人人影视", + "url": "https://www.rr520.cc/", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/show/2--------#电影$/show/1--------#综艺$/show/3--------#动漫$/show/4--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#国产动漫$/show/4-国产-------#日本动漫$/show/4-日本-------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/rongxingyingshi.json b/XBiubiu/rongxingyingshi.json new file mode 100644 index 0000000..08ee902 --- /dev/null +++ b/XBiubiu/rongxingyingshi.json @@ -0,0 +1,65 @@ +{ + "name": "融兴影视", + "url": "https://www.rongxingvr.cn", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/46--------#动漫$/vodshow/4--------#4K专区$/vodshow/43--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#武侠片$/vodshow/1---武侠-----", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/rongyaoGlory.json b/XBiubiu/rongyaoGlory.json new file mode 100644 index 0000000..8257168 --- /dev/null +++ b/XBiubiu/rongyaoGlory.json @@ -0,0 +1,73 @@ +{ + "author": "20220607", + "name": "荣耀Glory", + "url": "http://app.lmvideos.cn", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vod/type/id/1/page/#电视剧$/vod/type/id/2/page/#综艺$/vod/type/id/3/page/#动漫$/vod/type/id/4/page/#记录片$/vod/type/id/29/page/#音乐MV$/vod/type/id/32/page/#4K电影$/vod/type/id/30/page/#4K剧集$/vod/type/id/31/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"stui-vodlist__thumb", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "t text-right\">", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/play/id/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-play__list", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": ">当前", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "

    简介:", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/ruixingjiasu.json b/XBiubiu/ruixingjiasu.json new file mode 100644 index 0000000..cd5f555 --- /dev/null +++ b/XBiubiu/ruixingjiasu.json @@ -0,0 +1,82 @@ +{ + "name": "锐行加速", + // 填网站链接 + //"url": "http://www.rxjiasu.com", + "url": "https://www.cjtyy.top", + // 这个不用动,是个别网站播放需要请求头时才用到 + "User": "空", + // 首页展示 + "shouye": "1", + // 网站列表的分类 + "fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/39/page/#动漫$/index.php/vod/show/id/4/page/#国产剧$/index.php/vod/show/id/13/page/#欧美剧$/index.php/vod/show/id/16/page/#国漫$/index.php/vod/show/id/40/page/#日漫$/index.php/vod/show/id/29/page/#BliBli$/index.php/vod/show/id/42/page/", + //"fenlei": "电影$/index.php/vod/show/id/1/page/#剧集$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/39/page/#国漫$/index.php/vod/show/id/40/page/#日漫$/index.php/vod/show/id/29/page/#Bli国创$/index.php/vod/show/id/43/page/#Bli番剧$/index.php/vod/show/id/44/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#动作$/index.php/vod/show/id/6/page/#喜剧$/index.php/vod/show/id/7/page/#爱情$/index.php/vod/show/id/8/page/#科幻$/index.php/vod/show/id/9/page/#恐怖$/index.php/vod/show/id/10/page/#剧情$/index.php/vod/show/id/11/page/#战争$/index.php/vod/show/id/12/page/#惊悚$/index.php/vod/show/id/20/page/#犯罪$/index.php/vod/show/id/21/page/#冒险$/index.php/vod/show/id/22/page/#悬疑$/index.php/vod/show/id/23/page/#动画$/index.php/vod/show/id/24/page/#武侠$/index.php/vod/show/id/25/page/#奇幻$/index.php/vod/show/id/26/page/#记录$/index.php/vod/show/id/27/page/", + // 网站翻页链接的后缀 + "houzhui": ".html", + // 截取的列表数组是否需要二次截取,0不需要,1需要 + "shifouercijiequ": "0", + // 二次截取前 + "jiequqian": "空", + // 二次截取后 + "jiequhou": "空", + // 截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"module-item-pic", + // 列表数组的后关键词 + "jiequshuzuhou": "", + // 列表中资源的图片前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-src=\"", + "tupianhou": "\"", + //列表中资源的标题前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", + "biaotihou": "\"", + // 列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", + "lianjiehou": "\"", + // 搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。/vodsearch/-------------.html?wd= + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + // 搜索页影片跳转详情页的中间标识链接部分 + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + // 播放截取的列表数组的前,后关键词 + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + // 详情页状态,导演,主演,简介关键词 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + // 截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + // 播放剧集数组前,后关键词 + "bfyjiequshuzuqian": "", + // 播放剧集标题前,后关键词 + "bfbiaotiqian": "", + "bfbiaotihou": "", + // 播放剧集链接前,后关键词 + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/ruruyingshi.json b/XBiubiu/ruruyingshi.json new file mode 100644 index 0000000..6f9733f --- /dev/null +++ b/XBiubiu/ruruyingshi.json @@ -0,0 +1,67 @@ +{ + "name": "如如影视", + "url": "https://www.wei333.com", + "User": "空", + "shouye": "1", + //"fenlei": "电影$/movie/?v1-#电视剧$/dsj/?v2-#综艺$/zong/?v3-#动漫$/dong/?v4-#伦理$/lun/?v5", + "fenlei": "电影$/movie/?v1-#电视剧$/dsj/?v2-#综艺$/zong/?v3-#动漫$/dong/?v4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + //"jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/saohuodianying.json b/XBiubiu/saohuodianying.json new file mode 100644 index 0000000..dc10b79 --- /dev/null +++ b/XBiubiu/saohuodianying.json @@ -0,0 +1,74 @@ +// 修复 Playlist +{ + "name": "骚火电影", + "url": "https://shdy2.com", + //"url": "https://shdy3.com", + //"url": "https://saohuo.vip/", + "User": "空", + "shouye": "1", + + //"fenlei": "国产剧$/list/20-#电影$/list/1-#电视剧$/list/2-#动漫$/list/3-#美剧$/list/23-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#动画片$/list/13-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-#香港剧$/list/21-#韩剧$/list/22-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-", + "fenlei": "国产剧$/list/20-#TVB剧$/list/21-#韩剧$/list/22-#美剧$/list/23-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-#动漫$/list/4-#亲子动漫$/list/46-#电影$/list/1-#动画片$/list/13-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"v_img\">", + "jiequshuzuhou": "/div>", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "v_note\">", + "fubiaotihou": "<", + + + "sousuoqian": "/search.php?searchword=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
    ", + "ssjiequshuzuhou": "/div>", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "1", + "bfjiequqian": "id=\"play_link\">", + "bfjiequhou": "", + "bfjiequshuzuqian": "", + + "zhuangtaiqian": "h1>

    ", + "zhuangtaihou": "/ 导演", + "daoyanqian": "导演:", + "daoyanhou": "/ 主演", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "show_part\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/shenma6080kan.json b/XBiubiu/shenma6080kan.json new file mode 100644 index 0000000..4bbb6e4 --- /dev/null +++ b/XBiubiu/shenma6080kan.json @@ -0,0 +1,63 @@ +{ + "name": "神马影视", + "url": "https://www.6080kan.cc", + "shouye": "1", + "fenlei": "热播剧集$/show/2--hits------#热播电影$/show/1--hits------#综艺$/show/3--------#动漫$/show/4--------#少儿片库$/show/33--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#记录片$/show/26--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------#惊悚片$/show/21--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#泰国剧$/show/28--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"loading\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/kan/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/shenmayingyuan.json b/XBiubiu/shenmayingyuan.json new file mode 100644 index 0000000..a90f763 --- /dev/null +++ b/XBiubiu/shenmayingyuan.json @@ -0,0 +1,65 @@ +{ + "name": "神马影院", + "tihuan": "cnzz.com", + "url": "https://www.smtv8.com", + "shouye": "1", + //"fenlei": "喜剧片$/xijupian/index_#动作片$/dongzuopian/index_#科幻片$/kehuanpian/index_#恐怖片$/kongbupian/index_#爱情片$/aiqingpian/index_#战争片$/zhanzhengpian/index_#犯罪片$/fanzuipian/index_#剧情片$/juqingpian/index_#记录片$/jilupian/index_#经典片$/jingdianpian/index_#微拍福利$/weipaifuli/index_#国产剧$/guocanju/index_#香港剧$/xianggangju/index_#台湾剧$/taiwanju/index_#韩国剧$/hanguoju/index_#日本剧$/ribenju/index_#欧美剧$/oumeiju/index_#海外剧$/haiwaiju/index_#综艺$/fun/index_#动漫$/cartoon/index_", + "fenlei": "国产剧$/guocanju/index_#韩国剧$/hanguoju/index_#日本剧$/ribenju/index_#欧美剧$/oumeiju/index_#香港剧$/xianggangju/index_#台湾剧$/taiwanju/index_#海外剧$/haiwaiju/index_#综艺$/fun/index_#动漫$/cartoon/index_#记录片$/jilupian/index_#喜剧片$/xijupian/index_#动作片$/dongzuopian/index_#科幻片$/kehuanpian/index_#恐怖片$/kongbupian/index_#爱情片$/aiqingpian/index_#战争片$/zhanzhengpian/index_#犯罪片$/fanzuipian/index_#剧情片$/juqingpian/index_#经典片$/jingdianpian/index_", + "houzhui": "_______.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"link-hover\"", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "i>", + "fubiaotihou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"urlli clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"bz\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +} \ No newline at end of file diff --git a/XBiubiu/shenmujiekou.json b/XBiubiu/shenmujiekou.json new file mode 100644 index 0000000..253a946 --- /dev/null +++ b/XBiubiu/shenmujiekou.json @@ -0,0 +1,69 @@ +//网站改版修正 +{ + "name": "神马接口", + "tihuan": "cnzz.com", + "url": "https://www.smdyy.cc", + "shouye": "1", + "fenlei": "热播剧集$/show/2--hits------#热播电影$/show/1--hits------#综艺$/show/3--------#动漫$/show/4--------#少儿片库$/show/33--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#记录片$/show/26--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------#惊悚片$/show/21--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#泰国剧$/show/28--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "display: none;\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/shizhongxin.json b/XBiubiu/shizhongxin.json new file mode 100644 index 0000000..713719f --- /dev/null +++ b/XBiubiu/shizhongxin.json @@ -0,0 +1,67 @@ +{ + "name": "视中心影院", + "url": "https://www.ksksi.com", + "shouye": "1", + //"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/2-内地-------#港台剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/5--------#午夜$/vodshow/32--------", + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/2-内地-------#港台剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/5--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"module-item\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-text\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "1", + "bfjiequqian": "class=\"module-heading\"", + "bfjiequhou": "type=\"text/javascript\"", + "bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "
  • ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "span>", + "biaotihou": "", + "fubiaotihou": "
    ", + + "zhuangtaiqian": "空", + "zhuangtaihou": "空", + "daoyanqian": "空", + "daoyanhou": "空", + "zhuyanqian": "空", + "zhuyanhou": "空", + "juqingqian": "text-indent: 2em;\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/shuangshidianying.json b/XBiubiu/shuangshidianying.json new file mode 100644 index 0000000..9ad61be --- /dev/null +++ b/XBiubiu/shuangshidianying.json @@ -0,0 +1,70 @@ +{ + "name": "双十电影", + "url": "https://www.1010dy.vip/", + "tihuan": "", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/show/1/page/#陆剧$/show/2/area/大陆/page/#韩剧$/show/2/area/韩国/page/#港剧$/show/2/area/香港/page/#台剧$/show/2/area/台湾/page/#日剧$/show/2/area/日本/page/#美剧$/show/2/area/美国/page/#泰剧$/show/2/area/泰国/page/#英剧$/show/2/area/英国/page/#新加坡剧$/show/2/area/新加坡/page/#其他剧$/show/2/area/其他/page/#大陆动漫$/show/3/area/大陆/page/#日本动漫$/show/3/area/日本/page/#欧美动漫$/show/3/area/欧美/page/#综艺$/show/4/page/#喜剧片$/show/1/class/喜剧/page/#爱情片$/show/1/class/爱情/page/#恐怖片$/show/1/class/恐怖/page/#动作片$/show/1/class/动作/page/#科幻片$/show/1/class/科幻/page/#剧情片$/show/1/class/剧情/page/#战争片$/show/1/class/战争/page/#犯罪片$/show/1/class/犯罪/page/#灾难片$/show/1/class/灾难/page/#奇幻片$/show/1/class/奇幻/page/#悬疑片$/show/1/class/悬疑/page/#惊悚片$/show/1/class/惊悚/page/#冒险片$/show/1/class/冒险/page/", + "houzhui": "/", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "playlist clearfix\">", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/siguyingyuan.json b/XBiubiu/siguyingyuan.json new file mode 100644 index 0000000..a4e6f1f --- /dev/null +++ b/XBiubiu/siguyingyuan.json @@ -0,0 +1,64 @@ +{ + "name": "思古影视", + "url": "https://www.siguyy.net", + "User": "空", + "shouye": "1", + "fenlei": "电影$/show/m--------#电视剧$/show/tv--------#综艺$/show/va--------#动漫$/show/ct--------", + "houzhui": "---.htm", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "剧情简介','", + "juqinghou": "','", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/sile.json b/XBiubiu/sile.json new file mode 100644 index 0000000..591427f --- /dev/null +++ b/XBiubiu/sile.json @@ -0,0 +1,67 @@ +{ + "name": "思乐影视", + "url": "https://www.4ltv.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/show/1------#电影$/show/2------#综艺$/show/3------#动漫$/show/4------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "class=\"module-item\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-text\">", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "gengxinhou": "", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "class=\"module-item-text\">", + "fubiaotihou": "", + +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\">", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"video-info-itemtitle\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "", + "bfyjiequhou": "", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/susouTV.json b/XBiubiu/susouTV.json new file mode 100644 index 0000000..6b148b0 --- /dev/null +++ b/XBiubiu/susouTV.json @@ -0,0 +1,61 @@ +{ + "name": "速搜影视", + "shouye": "1", + "url": "https://www.sstv.pw", + "fenlei": "电影$/vodshow-1/page/#剧集$/vodshow-2/page/#综艺$/vodshow-3/page/#动漫$/vodshow-4/page/#纪录片$/vodshow-21/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"aplus-exp ecimgbor", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "tupianqianzhui": "", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "class=\"pack-prb hidden\">", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "年代:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/tegou.json b/XBiubiu/tegou.json new file mode 100644 index 0000000..ac6bbad --- /dev/null +++ b/XBiubiu/tegou.json @@ -0,0 +1,68 @@ +{ + "author":"20220605", + "name": "特狗影视", + "url": "https://www.tegouys.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "儿童电影$/vodshow/class/儿童/id/1/page/#亲子综艺$/vodshow/class/亲子/id/3/page/#合家欢动漫$/vodshow/class/合家欢/id/4/page/#曲艺综艺$/vodshow/class/曲艺/id/3/page/#电影$/vodshow/id/1/page/#国产剧$/vodshow/area/内地/id/2/page/#香港剧$/vodshow/area/香港/id/2/page/#韩国剧$/vodshow/area/韩国/id/2/page/#美国剧$/vodshow/area/美国/id/2/page/#日本剧$/vodshow/area/日本/id/2/page/#泰国剧$/vodshow/area/泰国/id/2/page/#台湾剧$/vodshow/area/台湾/id/2/page/#英国剧$/vodshow/area/英国/id/2/page/#其它剧$/vodshow/area/其它/id/2/page/#综艺$/vodshow/id/3/page/#国产动漫$/vodshow/area/内地/id/4/page/#日本动漫$/vodshow/area/日本/id/4/page/#欧美动漫$/vodshow/area/欧美/id/4/page/#其它动漫$/vodshow/area/其它/id/4/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"myui-vodlist__box\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "class=\"text-red\">", //状态前关键词 + "zhuangtaihou": "/", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 diff --git a/XBiubiu/tiankongziyuan.json b/XBiubiu/tiankongziyuan.json new file mode 100644 index 0000000..b9fd164 --- /dev/null +++ b/XBiubiu/tiankongziyuan.json @@ -0,0 +1,67 @@ +{ + "name": "天空资源", + "url": "https://www.tkys.tv", + "tihuan": "cnzz.com", + "shouye": "1", + "fenlei": "电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodshow/area/内地/id/2/page/#港剧$/vodshow/area/香港/id/2/page/#韩剧$/vodshow/area/韩国/id/2/page/#美剧$/vodshow/area/美国/id/2/page/#泰剧$/vodshow/area/泰国/id/2/page/#日剧$/vodshow/area/日本/id/2/page/#台剧$/vodshow/area/台湾/id/2/page/#英剧$/vodshow/area/英国/id/2/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/tingbook.json b/XBiubiu/tingbook.json new file mode 100644 index 0000000..110adcf --- /dev/null +++ b/XBiubiu/tingbook.json @@ -0,0 +1,59 @@ +{"name": "听书网", +"url": "https://www.tingbook.cc", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "玄幻$/book/1-#武侠$/book/2-#都市$/book/3-#言情$/book/4-#科幻$/book/5-#推理$/book/6-#恐怖$/book/7-#惊悚$/book/8-#历史$/book/9-#军事$/book/10-#网游$/book/11-#官商$/book/12-#评书$/book/13-#相声$/book/14-#文学$/book/15-#儿童$/book/16-#穿越$/book/28-#娱乐$/book/29-#笑话$/book/30-#戏曲$/book/31-#其它$/book/32-#百家讲坛$/book/33-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-12 col-m-24 col3-\"", +"jiequshuzuhou": "

    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"tupianqianzhui": "https://www.tingbook.cc", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"zhuangtaiqian": "> ", +"zhuangtaihou": "", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"sousuohouzhui": "/show/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"col-12 col-m-24 col3-", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "https://www.tingbook.cc", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"tx-title2 f-16 f-bold", +"bfjiequshuzuhou": "", +"daoyanqian": "作者:", +"daoyanhou": "  ", +"zhuyanqian": "播音:", +"zhuyanhou": "

    ", +"juqingqian": "播音,", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "title=\"", +"bfbiaotihou": "\"", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/tingshu.json b/XBiubiu/tingshu.json new file mode 100644 index 0000000..9d84366 --- /dev/null +++ b/XBiubiu/tingshu.json @@ -0,0 +1,59 @@ +{"name": "听书网", +"url": "https://www.tingbook.cc", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "玄幻$/book/1-#武侠$/book/2-#都市$/book/3-#言情$/book/4-#科幻$/book/5-#推理$/book/6-#恐怖$/book/7-#惊悚$/book/8-#历史$/book/9-#军事$/book/10-#网游$/book/11-#官商$/book/12-#评书$/book/13-#相声$/book/14-#文学$/book/15-#儿童$/book/16-#穿越$/book/28-#娱乐$/book/29-#笑话$/book/30-#戏曲$/book/31-#其它$/book/32-#百家讲坛$/book/33-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-12 col-m-24 col3-\"", +"jiequshuzuhou": "

    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"tupianqianzhui": "https://www.tingbook.cc", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"zhuangtaiqian": "> ", +"zhuangtaihou": "", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"sousuohouzhui": "/show/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"col-12 col-m-24 col3-", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "https://www.tingbook.cc", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"tx-title2 f-16 f-bold", +"bfjiequshuzuhou": "", +"daoyanqian": "作者:", +"daoyanhou": "  ", +"zhuyanqian": "播音:", +"zhuyanhou": "

    ", +"juqingqian": "播音,", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "title=\"", +"bfbiaotihou": "\"", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} diff --git a/XBiubiu/tuowu.json b/XBiubiu/tuowu.json new file mode 100644 index 0000000..c51778d --- /dev/null +++ b/XBiubiu/tuowu.json @@ -0,0 +1,69 @@ +{ + "author": "20220807", + "name": "tootw", + "url": "https://tootw.com", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/vod/show/id/1/page/#剧集$/vod/show/id/2/page/#综艺$/vod/show/id/3/page/#动漫$/vod/show/id/4/page/#MV$/vod/show/id/34/page/#纪录片$/vod/show/id/5/page/#豆瓣$/vod/show/id/68/page/#奥斯卡$/vod/show/id/72/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "class=\"module-item-pic", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "fubiaotihou": "", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"sousuoqian": "/vod-search-wd-", +"sousuohou": ".html", +"sousuohouzhui": "/vod-read-id-", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +//"jspic": "pic", +//"jsname": "name", +//"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"image", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "", +"bfjiequhou": "", +"bfjiequshuzuqian": "class=\"list-unstyled row text-center ff-playurl-line ff-playurl", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"tab-pane fade vod-nav-content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "class=\"col-xs-", +"bfyjiequshuzuhou": "", +"bfbiaotiqian": "class=\"btn btn-default btn-block btn-sm\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/vidhub.json b/XBiubiu/vidhub.json new file mode 100644 index 0000000..0625eeb --- /dev/null +++ b/XBiubiu/vidhub.json @@ -0,0 +1,57 @@ +{"name": "vidhub", +"url": "https://vidhub.cc", +"tihuan": "cnzz.com", +"User": "Mozilla/5.0 (Linux; Android 4.0.1) AppleWebKit/536.0 (KHTML, like Gecko) Chrome/30.0.822.0 Safari/536.0 ", +"fenlei": "电影$/vodshow/1-------#连续剧$/vodshow/2-------#动漫$/vodshow/4-------#综艺$/vodshow/3-------", +"houzhui": "----.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "alt=", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/voflix.json b/XBiubiu/voflix.json new file mode 100644 index 0000000..9e3b55c --- /dev/null +++ b/XBiubiu/voflix.json @@ -0,0 +1 @@ +{"author": "20220731","name":"voflix","url":"https://www.voflix.com/","User":"空","shouye":"1","fenlei":"电影$/show/1-----------#国产剧$/show/13-----------#电视剧$/show/2-----------#综艺$/show/3-----------#动画$/show/4-----------","houzhui":".html","shifouercijiequ":"1","jiequqian":"module-page","jiequhou":"class=\"fixedGroup","jiequshuzuqian":"","daoyanqian":"导演:","daoyanhou":"","zhuyanqian":"主演:","zhuyanhou":"","juqingqian":"简介:","juqinghou":"/div>","bfjiequshuzuqian":"class=\"module-list","bfjiequshuzuhou":"","bfyshifouercijiequ":"0","bfyjiequqian":"空","bfyjiequhou":"空","bfyjiequshuzuqian":"","bfbiaotiqian":"","bfbiaotihou":"","bflianjieqian":"href=\"","bflianjiehou":"\""} \ No newline at end of file diff --git a/XBiubiu/waipian.json b/XBiubiu/waipian.json new file mode 100644 index 0000000..87c6ee5 --- /dev/null +++ b/XBiubiu/waipian.json @@ -0,0 +1,69 @@ +{"name": "歪片星球", +"url": "https://waipian7.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"tihuan": "cnzz.com", +"shouye": "1", +"fenlei": "国产剧$/show-juji-中国大陆----------/page/#香港剧$/show-juji-中国香港----------/page/#韩国剧$/show-juji-韩国----------/page/#美国剧$/show-juji-美国----------/page/#综艺$/show-zongyi--------#动漫$/show-dongman--------#剧情片$/show-dianying---剧情--------/page/#科幻片$/show-dianying---科幻--------/page/#恐怖片$/show-dianying---恐怖--------/page/#动作片$/show-dianying---动作--------/page/#喜剧片$/show-dianying---喜剧--------/page/#战争片$/show-dianying---战争--------/page/#爱情片$/show-dianying---爱情--------/page/", +"houzhui": "", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "id=\"page", +"jiequshuzuqian": "", +"sstupianqian": "data-src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", + "xlshifouercijiequ": "", + "xljiequqian": "", + "xljiequhou": "", + "xljiequshuzuqian": "data-dropdown-value=", + "xljiequshuzuhou": "/span>", + "xlbiaotiqian": ">", + "xlbiaotihou": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "module-info-introduction-content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/wanmeikankanyingyuan.json b/XBiubiu/wanmeikankanyingyuan.json new file mode 100644 index 0000000..50db30e --- /dev/null +++ b/XBiubiu/wanmeikankanyingyuan.json @@ -0,0 +1,68 @@ +{ + "name": "完美看看影视", + "url": "https://www.wanmeikk.me/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/category/1-#国产剧$/category/5-#欧美剧$/category/2-#韩剧$/category/3-#动漫$/category/6-#泰剧$/category/9-#纪录片$/category/10-", //列表的分类 + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "display: none;\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/wannengyingshi.json b/XBiubiu/wannengyingshi.json new file mode 100644 index 0000000..bcbee06 --- /dev/null +++ b/XBiubiu/wannengyingshi.json @@ -0,0 +1,69 @@ +{ +"name": "万能影视", +"url": "https://wnvod.net/", +"tihuan": "cnzz.com", +"shouye": "1", +"User": "空", +"fenlei": "国产剧$/vodshow/2---国产--------/page/#港台剧$/vodshow/2---港台--------/page/#日韩剧$/vodshow/2---日韩--------/page/#欧美剧$/vodshow/2---欧美--------/page/#动 漫$/vodtype/4/page/#综 艺$/vodtype/3/page/#喜剧片$/vodshow/1---喜剧--------/page/#爱情片$/vodshow/1---爱情--------/page/#科幻片$/vodshow/1---科幻--------/page/#恐怖片$/vodshow/1---恐怖--------/page/#动作片$/vodshow/1---动作--------/page/#剧情片$/vodshow/1---剧情--------/page/#战争片$/vodshow/1---战争--------/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "", +"jiequhou": "", +"jiequshuzuqian": "class=\"myui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"xlshifouercijiequ": "0", +"xljiequqian": "", +"xljiequhou": "", +"xljiequshuzuqian": "data-toggle=\"tab\"", +"xljiequshuzuhou": "/a>", +"xlbiaotiqian": ">", +"xlbiaotihou": "<", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", + +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"sketch content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} + \ No newline at end of file diff --git a/XBiubiu/weiqidongman.json b/XBiubiu/weiqidongman.json new file mode 100644 index 0000000..0b6788f --- /dev/null +++ b/XBiubiu/weiqidongman.json @@ -0,0 +1,72 @@ +{ + "author":"20220530", + "name": "维奇动漫", + "url": "https://www.uiviki.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + "fenlei": "连载动漫$/anime-classify-lianzai-#日本动漫$/anime-classify-riman-#国产动漫$/anime-classify-guoman-#动漫预告$/anime-classify-yugao-", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"vodlist-thumb\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "/span>", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-echo=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-left\">", + "fubiaotihou": "<", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/anime-so/wd/", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "空", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vodlist-thumb\"", + "ssjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "info\">状态:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "info\">监督:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "starring\">声优:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "剧情简介", //剧情前关键词 + "juqinghou": "", //播放剧集数组后关键词 + "bfbiaotiqian": "title=\"", //播放剧集标题前关键词 + "bfbiaotihou": "\"", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/woaigengju.json b/XBiubiu/woaigengju.json new file mode 100644 index 0000000..8f610f1 --- /dev/null +++ b/XBiubiu/woaigengju.json @@ -0,0 +1,80 @@ +{ + "author": "20220715", + "name": "我爱跟剧", + // 填网站链接 + "url": "https://www.genmov.com", + // 这个不用动,是个别网站播放需要请求头时才用到 + //"User": "User-Agent:Dart/2.14 (dart:io)", + "User": "空", + // 首页展示 + "shouye": "1", + // 网站列表的分类 + //"fenlei": "电影$/vodshow/1-----------#剧集$/vodshow/2-----------#综艺$/vodshow/3-----------#动漫$/vodshow/4-----------", + "fenlei": "电影$/vodshow/1-----------#剧集$/vodshow/2-----------#综艺$/vodshow/3-----------#动漫$/vodshow/4-----------#伦理$/vodshow/1---伦理--------#喜剧$/vodshow/1---喜剧--------#爱情$/vodshow/1---爱情--------#恐怖$/vodshow/1---恐怖--------#动作$/vodshow/1---动作--------#科幻$/vodshow/1---科幻--------#剧情$/vodshow/1---剧情--------#战争$/vodshow/1---战争--------#犯罪$/vodshow/1---犯罪--------#奇幻$/vodshow/1---奇幻--------#武侠$/vodshow/1---武侠--------#冒险$/vodshow/1---冒险--------#悬疑$/vodshow/1---悬疑--------#内地$/vodshow/2---内地--------#韩国$/vodshow/2---韩国--------#香港$/vodshow/2---香港--------#台湾$/vodshow/2---台湾--------#日本$/vodshow/2---日本--------#美国$/vodshow/2---美国--------#泰国$/vodshow/2---泰国--------#英国$/vodshow/2---英国--------", + // 网站翻页链接的后缀 + "houzhui": ".html", + // 截取的列表数组是否需要二次截取,0不需要,1需要, + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + // 截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "", + // 列表中资源的图片前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-src=\"", + "tupianhou": "\"", + //列表中资源的标题前,后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", + "biaotihou": "\"", + // 列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", + "lianjiehou": "\"", + // 搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。/vodsearch/-------------.html?wd= + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + // 搜索页影片跳转详情页的中间标识链接部分,不是播放页面 + "sousuohouzhui": "/video/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + // 播放截取的列表数组的前,后关键词 + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + // 详情页状态,导演,主演,简介关键词 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + // 截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + // 播放剧集数组前,后关键词 + "bfyjiequshuzuqian": "", + // 播放剧集标题前,后关键词 + "bfbiaotiqian": "", + "bfbiaotihou": "", + // 播放剧集链接前,后关键词 + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/wuguiyingyuan.json b/XBiubiu/wuguiyingyuan.json new file mode 100644 index 0000000..9ccf39b --- /dev/null +++ b/XBiubiu/wuguiyingyuan.json @@ -0,0 +1,64 @@ +{ + "name": "乌龟影院", + "url": "https://www.wuguiyy.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/wukongyingshi.json b/XBiubiu/wukongyingshi.json new file mode 100644 index 0000000..2d4cd3c --- /dev/null +++ b/XBiubiu/wukongyingshi.json @@ -0,0 +1,73 @@ +{ + "author": "20220615", + "name": "悟空影视", + "url": "https://www.01vo.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "体育$/vodshow/36--------#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/25--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/31--------#日本动漫$/vodshow/32--------#欧美动漫$/vodshow/33--------#动漫片$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/24--------", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"module-item-pic", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "class=\"module-item\"", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-src=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-text\">", + "fubiaotihou": "<", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "上映:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "剧情:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "remarks\">", + "fubiaotihou": "", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/xiaoqiangmi.json b/XBiubiu/xiaoqiangmi.json new file mode 100644 index 0000000..0a46794 --- /dev/null +++ b/XBiubiu/xiaoqiangmi.json @@ -0,0 +1,68 @@ +{ + "name": "小强迷", + "url": "http://xqmi.top", + "User": "空", + "shouye": "1", + //"fenlei": "动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/show/id/4/page/", + "fenlei": "电影$/index.php/vod/show/by/time/id/1/page/#电视剧$/index.php/vod/show/by/time/id/2/page/#综艺$/index.php/vod/show/by/time/id/3/page/#动漫$/index.php/vod/show/by/time/id/4/page/#国产剧$/index.php/vod/show/by/time/id/13/page/#港台剧$/index.php/vod/show/by/time/id/14/page/#日韩剧$/index.php/vod/show/by/time/id/15/page/#欧美剧$/index.php/vod/show/by/time/id/16/page/#国产动漫$/index.php/vod/show/area/国产/by/time/id/4/page/#日本动漫$/index.php/vod/show/area/日本/by/time/id/4/page/#动作片$/index.php/vod/show/by/time/id/6/page/#喜剧片$/index.php/vod/show/by/time/id/7/page/#爱情片$/index.php/vod/show/by/time/id/8/page/#科幻片$/index.php/vod/show/by/time/id/9/page/#恐怖片$/index.php/vod/show/by/time/id/10/page/#剧情片$/index.php/vod/show/by/time/id/11/page/#战争片$/index.php/vod/show/by/time/id/12/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": " lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\">", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/xiaoshagua.json b/XBiubiu/xiaoshagua.json new file mode 100644 index 0000000..7a2b3c2 --- /dev/null +++ b/XBiubiu/xiaoshagua.json @@ -0,0 +1,69 @@ +// 网站改版修正 +{ + "name": "小傻瓜", + "url": "https://www.xiaoshaguays.com", + "shouye": "1", + + "fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/#动画片$/index.php/vod/show/class/动画/id/1/page/#纪录片$/index.php/vod/show/id/5/page/#陆剧$/index.php/vod/show/area/大陆/id/2/page/#韩剧$/index.php/vod/show/area/韩国/id/2/page/#美剧$/index.php/vod/show/area/美国/id/2/page/#日剧$/index.php/vod/show/area/日本/id/2/page/#港剧$/index.php/vod/show/area/香港/id/2/page/#台剧$/index.php/vod/show/area/台湾/id/2/page/#泰剧$/index.php/vod/show/area/泰国/id/2/page/#陆漫$/index.php/vod/show/area/国产/id/4/page/#日漫$/index.php/vod/show/area/日本/id/4/page/#美漫$/index.php/vod/show/area/欧美/id/4/page/#其他漫$/index.php/vod/show/area/其他/id/4/page/#喜剧片$/index.php/vod/show/class/喜剧/id/1/page/#爱情片$/index.php/vod/show/class/爱情/id/1/page/#恐怖片$/index.php/vod/show/class/恐怖/id/1/page/#动作片$/index.php/vod/show/class/动作/id/1/page/#科幻片$/index.php/vod/show/class/科幻/id/1/page/#剧情片$/index.php/vod/show/class/剧情/id/1/page/#战争片$/index.php/vod/show/class/战争/id/1/page/#警匪片$/index.php/vod/show/class/警匪/id/1/page/#犯罪片$/index.php/vod/show/class/犯罪/id/1/page/#奇幻片$/index.php/vod/show/class/奇幻/id/1/page/#武侠片$/index.php/vod/show/class/武侠/id/1/page/#冒险片$/index.php/vod/show/class/冒险/id/1/page/#枪战片$/index.php/vod/show/class/枪战/id/1/page/#恐怖片$/index.php/vod/show/class/恐怖/id/1/page/#悬疑片$/index.php/vod/show/class/悬疑/id/1/page/#惊悚片$/index.php/vod/show/class/惊悚/id/1/page/#经典片$/index.php/vod/show/class/经典/id/1/page/#青春片$/index.php/vod/show/class/青春/id/1/page/#文艺片$/index.php/vod/show/class/文艺/id/1/page/#微电影$/index.php/vod/show/class/微电影/id/1/page/#古装片$/index.php/vod/show/class/古装/id/1/page/#历史片$/index.php/vod/show/class/历史/id/1/page/#运动片$/index.php/vod/show/class/运动/id/1/page/#农村片$/index.php/vod/show/class/农村/id/1/page/#儿童片$/index.php/vod/show/class/儿童/id/1/page/#网络电影$/index.php/vod/show/class/网络电影/id/1/page/", + "houzhui": ".html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/vod/search.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-card-item module-item", + "ssjiequshuzuhou": "referrerpolicy", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list-content", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "fubiaotihou": "", + + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/yingpiandetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/Moviedsetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/bangumi/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list-", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "备注:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "introduction-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-left\">", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "

    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/xuanmaoyingshi.json b/XBiubiu/xuanmaoyingshi.json new file mode 100644 index 0000000..220889a --- /dev/null +++ b/XBiubiu/xuanmaoyingshi.json @@ -0,0 +1,69 @@ +{ + "name": "炫猫影视", + "url": "https://www.xuanmao520.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + //"fenlei": "电影$/index.php/vod/type/id/1/#剧集$/index.php/vod/type/id/2/#综艺$/index.php/vod/type/id/3/#动漫$/index.php/vod/type/id/4/", + "fenlei": "电影$/vod/show/id/1/page/#电视剧$/vod/show/id/2/page/#综艺$/vod/show/id/3/page/#动漫$/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/xuniyingyuan.json b/XBiubiu/xuniyingyuan.json new file mode 100644 index 0000000..70df5a3 --- /dev/null +++ b/XBiubiu/xuniyingyuan.json @@ -0,0 +1,73 @@ +{ + "author": "20220606", + "name": "虚拟影院", + "url": "https://vxlan.top", + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + + "fenlei": "电影$/index.php/vod/type/id/1/page/#连续剧$/index.php/vod/type/id/2/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/type/id/4/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#国产动漫$/index.php/vod/show/area/国产/id/4/page/#日本动漫$/index.php/vod/show/area/日本/id/4/page/#欧美动漫$/index.php/vod/show/area/欧美/id/4/page/#其他动漫$/index.php/vod/show/area/其他/id/4/page/#动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"pic\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "
    ", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"zu-", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/yanaifei.json b/XBiubiu/yanaifei.json new file mode 100644 index 0000000..ac5b97a --- /dev/null +++ b/XBiubiu/yanaifei.json @@ -0,0 +1,73 @@ +// 分类++ +{ + "name": "鸭奈飞", + //"url": "https://netflix.mom", + "url": "https://yanetflix.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + //"fenlei": "电影$/vodshow/dianying--time------#连续剧$/vodshow/lianxuju--time------#综艺$/vodshow/zongyi--time------#动漫$/vodshow/dongman--time------", + "fenlei": "电影$/vodshow/dianying--time------#连续剧$/vodshow/lianxuju--time------#综艺$/vodshow/zongyi--time------#动漫$/vodshow/dongman--time------#动画片$/vodshow/donghuapian--time------#纪录片$/vodshow/jilupian--time------#国产剧$/vodshow/guochanju--time------#日韩剧$/vodshow/rihanju--time------#欧美剧$/vodshow/oumeiju--time------#港台剧$/vodshow/gangtaiju--time------#泰国剧$/vodshow/taiguoju--time------#海外剧$/vodshow/haiwaiju--time------#大陆动漫$/vodshow/daludongman--time------#日本动漫$/vodshow/ribendongman--time------#欧美动漫$/vodshow/oumeidongman--time------#动作片$/vodshow/dongzuopian--time------#喜剧片$/vodshow/xijupian--time------#爱情片$/vodshow/aiqingpian--time------#科幻片$/vodshow/kehuanpian--time------#恐怖片$/vodshow/kongbupian--time------#剧情片$/vodshow/juqingpian--time------#战争片$/vodshow/zhanzhengpian--time------#悬疑片$/vodshow/xuanyipian--time------#冒险片$/vodshow/maoxianpian--time------#犯罪片$/vodshow/fanzuipian--time------#奇幻片$/vodshow/qihuanpian--time------#惊悚片$/vodshow/jingsongpian--time------#灾难片$/vodshow/zainanpian--time------#古装片$/vodshow/guzhuangpian--time------", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "
    ", + "fubiaotihou": "
    ", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list", +"bfjiequshuzuhou": "class=\"module\"", +"zhuangtaiqian": "class=\"module-item-note\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} diff --git a/XBiubiu/yingshigongchang.json b/XBiubiu/yingshigongchang.json new file mode 100644 index 0000000..c69897d --- /dev/null +++ b/XBiubiu/yingshigongchang.json @@ -0,0 +1,72 @@ +// 分类 ++ +{ + "name": "影视工厂", + "url": "http://www.ysgc.cc", + "User": "空", + "shouye": "1", + + //"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#番剧$/vodshow/26--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#武侠片$/vodshow/1---武侠-----", + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画片$/vodshow/1---动画-----#纪录片$/vodshow/24--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#海外剧$/vodshow/20--------#番剧(B站)$/vodshow/26--------#国创(B站)$/vodshow/27--------#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#悬疑片$/vodshow/1---悬疑-----#惊悚片$/vodshow/1---惊悚-----#犯罪片$/vodshow/1---犯罪-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#奇幻片$/vodshow/1---奇幻-----#武侠片$/vodshow/1---武侠-----#古装片$/vodshow/1---古装-----#冒险片$/vodshow/1---冒险-----#历史片$/vodshow/1---历史-----#歌舞片$/vodshow/1---歌舞-----#家庭片$/vodshow/1---家庭-----#网络片$/vodshow/1---网络-----", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "a\" style=\"display: none;\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/yingshizhiguang.json b/XBiubiu/yingshizhiguang.json new file mode 100644 index 0000000..4c9e34c --- /dev/null +++ b/XBiubiu/yingshizhiguang.json @@ -0,0 +1,60 @@ +{ + "name": "影视之光", + "url": "http://vip.8kvod.com:888", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/t/1/page/#连续剧$/t/2/page/#综艺$/t/3/page/#动漫$/t/4/page/#动作片$/t/6/page/#喜剧片$/t/7/page/#爱情片$/t/8/page/#科幻片$/t/9/page/#恐怖片$/t/10/page/#剧情片$/t/11/page/#动画片$/t/29/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/k/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "剧情简介','", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "/\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/yingzhazha.json b/XBiubiu/yingzhazha.json new file mode 100644 index 0000000..dbb2478 --- /dev/null +++ b/XBiubiu/yingzhazha.json @@ -0,0 +1,70 @@ +// 分类++ +{ + "name": "影渣渣", + "url": "https://www.yingzhazha.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育赛事$/vodshow/22--------#电视直播$/vodshow/28--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#海外剧$/vodshow/23--------#泰剧$/vodshow/37--------#国产动漫$/vodshow/20--------#日本动漫$/vodshow/25--------#欧美动漫$/vodshow/26--------#海外动漫$/vodshow/34--------#其他动漫$/vodshow/21--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#纪录片$/vodshow/24--------#动画电影$/vodshow/27--------#犯罪片$/vodshow/35--------#悬疑片$/vodshow/41--------#奇幻片$/vodshow/42--------#冒险片$/vodshow/43--------#惊悚片$/vodshow/44--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "class=\"module-item\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "item-text\">", + "fubiaotihou": "", + + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y\">", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/zb8.json b/XBiubiu/zb8.json new file mode 100644 index 0000000..2474f2b --- /dev/null +++ b/XBiubiu/zb8.json @@ -0,0 +1,23 @@ + +{"name": "直播8", +"url": "https://www.zhibo8.net", +"User": "空", +"直接播放": "1", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"match-item\"", +"jiequshuzuhou": "", +"tupianqian": "https://img0.baidu.com/it/u=959607043,1054237520&fm=253&fmt=auto&app=138&f=JPEG?w=417&h=500", +"tupianhou": "\"", +"biaotiqian": "class=\"col-home flex\">", +"biaotihou": "", +"tupianqianzhui": "空", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"col-time\">", +"fubiaotihou": ""} diff --git a/XBiubiu/zhenbuka.json b/XBiubiu/zhenbuka.json new file mode 100644 index 0000000..2399b4f --- /dev/null +++ b/XBiubiu/zhenbuka.json @@ -0,0 +1,73 @@ +{ + "author":"20220606", + "name": "真的卡影院", + "url": "https://www.zhendeka.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#动画电影$/vodshow/1---动画-----#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", //网站列表的分类 + "houzhui": "---/", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"p1 m1", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "alt=\"", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/zhenbukabuzhichisousuo.json b/XBiubiu/zhenbukabuzhichisousuo.json new file mode 100644 index 0000000..2a62580 --- /dev/null +++ b/XBiubiu/zhenbukabuzhichisousuo.json @@ -0,0 +1,65 @@ +{ + "name": "真不卡影院-不支持搜索", + "url": "https://www.zhenbuka3.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/zhenbukasobods.json b/XBiubiu/zhenbukasobods.json new file mode 100644 index 0000000..2963759 --- /dev/null +++ b/XBiubiu/zhenbukasobods.json @@ -0,0 +1,64 @@ +{"name": "*真不卡影院2", + "url": "https://www.sobods.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + //"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产剧$/vodshow/13--------#欧美剧$/vodshow/16--------#国漫$/vodshow/4-国产-------#日漫$/vodshow/4-日本-------#理论片$/vodshow/20--------", + +"fenlei": "动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#理论片$/vodshow/20--------#国漫$/vodshow/4-国产-------#日漫$/vodshow/4-日本-------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/zhenbukayingyuan.json b/XBiubiu/zhenbukayingyuan.json new file mode 100644 index 0000000..6620ce8 --- /dev/null +++ b/XBiubiu/zhenbukayingyuan.json @@ -0,0 +1,66 @@ +{"name": "*真不卡影院", + "url": "https://www.zbkyy.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodtype/1-#电视剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodtype/12-#欧美剧$/vodtype/17-#国漫$/vodshow/4-大陆----------#日漫$/vodshow/4-日本----------#午夜剧场$/vodshow/20-----------", + "houzhui": "/", + + // "fenlei": "电影$/vodtype/1-#连续剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-#理论片$/vodtype/20-#动作片$/vodtype/5-#喜剧片$/vodtype/6-#爱情片$/vodtype/7-#科幻片$/vodtype/8-#恐怖片$/vodtype/9-#剧情片$/vodtype/10-#战争片$/vodtype/11-#纪录片$/vodtype/22-#国产剧$/vodtype/12-#香港剧$/vodtype/13-#台湾剧$/vodtype/14-#日本剧$/vodtype/15-#韩国剧$/vodtype/16-#欧美剧$/vodtype/17-#海外剧$/vodtype/18-", +//"houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__thumb", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/zhenbukayingyuanbuzhichisousuo.json b/XBiubiu/zhenbukayingyuanbuzhichisousuo.json new file mode 100644 index 0000000..2d17e41 --- /dev/null +++ b/XBiubiu/zhenbukayingyuanbuzhichisousuo.json @@ -0,0 +1,60 @@ +{ + "author": "220805", + "name": "真不卡影院(不支持搜索)", + "url": "http://www.cerrd.com", + "tihuan": "cnzz.com", + "shouye": "1", + //"fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_#午夜剧场$/films/40_", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_#喜剧片$/films/41_#动作$/films/42_#科幻$/films/43_#恐怖$/films/44_#战争$/films/45_#灾难$/films/46_#爱情$/films/47_#剧情$/films/48_#悬疑$/films/49_#犯罪$/films/62_#冒险$/films/64_#伦理$/films/40_#爱情剧$/films/50_#古装剧$/films/51_#剧情剧$/films/52_#警匪剧$/films/53_#战争剧$/films/54_#悬疑剧$/films/55_#科幻剧$/films/56_#冒险剧$/films/59_#惊悚剧$/films/60_#喜剧$/films/61_#犯罪剧$/films/63_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "", + "sousuohouzhui": "/gov-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/zhibo8.json b/XBiubiu/zhibo8.json new file mode 100644 index 0000000..b472e0b --- /dev/null +++ b/XBiubiu/zhibo8.json @@ -0,0 +1,22 @@ +{"name": "直播8", +"url": "https://www.zhibo8.net", +"User": "空", +"直接播放": "1", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"match-item\"", +"jiequshuzuhou": "", +"tupianqian": "https://img0.baidu.com/it/u=959607043,1054237520&fm=253&fmt=auto&app=138&f=JPEG?w=417&h=500", +"tupianhou": "\"", +"biaotiqian": "class=\"col-home flex\">", +"biaotihou": "", +"tupianqianzhui": "空", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"col-time\">", +"fubiaotihou": " "} diff --git a/XBiubiu/zhoumo.json b/XBiubiu/zhoumo.json new file mode 100644 index 0000000..f3ec4d6 --- /dev/null +++ b/XBiubiu/zhoumo.json @@ -0,0 +1,65 @@ +{ + "name": "周末电影", + "url": "https://www.zzzlike.vip", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/七七好看.json b/XBiubiu/七七好看.json new file mode 100644 index 0000000..c9bb5ee --- /dev/null +++ b/XBiubiu/七七好看.json @@ -0,0 +1,63 @@ +{"name": "七七测试", +"url": "", +"ua": "Dalvik/2.1.0 (Linux; U; Android 5.1.1; MI 9 Build/LMY48Z)", +"User": "空", +"fenlei": "热播推荐$http://api.kunyu77.com/api.php/provide/homeBlock?type_id=0pagenum=&#电视剧$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=2&pagenum=#电影$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=1&pagenum=#综艺$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=3&pagenum=#动漫$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=4&pagenum=", +"houzhui": "&pagesize=24", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"video", +"jiequshuzuhou": "cornermark_color", +"tupianqian": "Cover\":\"", +"tupianhou": "\"", +"biaotiqian": "title\":\"", +"biaotihou": "\"", +"lianjieqian": "id\":", +"lianjiehou": "\"", +"ljqianzhui": "http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&pcode=010110004&type_id=1&sj=1661786776&sysver=9&model=OPPO%20R9tm&sys=android&version=1.8.7&brand=OPPO&ids=", +"ljhouzhui": "空", +"fubiaotiqian": "msg\":\"", +"fubiaotihou": "\"", +"sousuoqian": "http://api.kunyu77.com/api.php/provide/searchVideo?searchName=", +"sousuohou": "", +"sousuohouzhui": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "data\":", +"ssjiequhou": "\"ext\"", +"ssjiequshuzuqian": "{", +"ssjiequshuzuhou": "}", +"sstupianqian": "videoCover\":\"", +"sstupianhou": "\"", +"ssbiaotiqian": "videoName\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "id\":", +"sslianjiehou": "\"", +"ssljqianzhui": "http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&pcode=010110004&type_id=1&sj=1661786776&sysver=9&model=OPPO%20R9tm&sys=android&version=1.8.7&brand=OPPO&ids=", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"data\"", +"bfjiequshuzuhou": "}]}}", +"zhuangtaiqian": "albumTitle\":\"", +"zhuangtaihou": "\"", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "albumTitle\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "\"id\"", +"bfyjiequshuzuhou": "\"playurls\"", +"bfbiaotiqian": "title\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "playurl\":\"", +"bflianjiehou": "\"", +"bfqianzhui": ""}, \ No newline at end of file diff --git a/XBiubiu/七小影院.json b/XBiubiu/七小影院.json new file mode 100644 index 0000000..b84446e --- /dev/null +++ b/XBiubiu/七小影院.json @@ -0,0 +1,69 @@ +{"name": "shabiwangzhi", +"url": "http://www.qxsyy.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/show/1--------#电视剧$/type/2-", +"houzhui": "---.html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\">", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"/vod/", +"lianjiehou": ".html", +"ljqianzhui": "http://www.qxsyy.com/play/", +"ljhouzhui": "-1-1.html", +"fubiaotiqian": "", +"fubiaotihou": "", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""}, \ No newline at end of file diff --git a/XBiubiu/七年影视.json b/XBiubiu/七年影视.json new file mode 100644 index 0000000..1a9eac5 --- /dev/null +++ b/XBiubiu/七年影视.json @@ -0,0 +1,58 @@ +{"author": "张弘20220731", + "name": "七年影视〔时间排序〕", + "url": "https://www.bjdpjz.top/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/vodshow/1--time------#电视剧$/vodshow/2--time------#综艺$/vodshow/3--time------#动漫$/vodshow/4--time------#科幻片$/vodshow/8--time------#动作片$/vodshow/5--time------#福利片$/vodshow/17--time------#喜剧片$/vodshow/6--time------#爱情片$/vodshow/7--time------#恐怖片$/vodshow/9--time------#剧情片$/vodshow/10--time------#战争片$/vodshow/11--time------#网络电影$/vodshow/16--time------#动画电影$/vodshow/19--time------#国产剧$/vodshow/12--time------#网剧$/vodshow/20--time------#欧美剧$/vodshow/15--time------#日韩剧$/vodshow/14--time------#港台剧$/vodshow/13--time------#海外剧$/vodshow/18--time------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/中国电影.json b/XBiubiu/中国电影.json new file mode 100644 index 0000000..74ade75 --- /dev/null +++ b/XBiubiu/中国电影.json @@ -0,0 +1,57 @@ +{"name": "中国电影", +"url": "https://www.zgdy.cn", +"tihuan": "cnzz.com", +"User": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; M2007J3SC Build/QKQ1.200419.002)", +"fenlei": "电影$/v/dianying/page#电视剧$/v/dsj/page#动漫$/v/dm/page#综艺$/v/zy/page", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "module-item-pic", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/vodsearch/-------------.html?wd=", +"sousuohou": "&submit", +"sousuohouzhui": "/vod/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"module-item-pic\"", +"ssjiequshuzuhou": "alt=", +"sstupianqian": "data-src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"立刻播放", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"tag-link\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/乐猪.json b/XBiubiu/乐猪.json new file mode 100644 index 0000000..7ddc7dd --- /dev/null +++ b/XBiubiu/乐猪.json @@ -0,0 +1 @@ +{"线路1":{"status":1,"or":900,"show":"线路1","des":"aa.com","ps":"1","parse":"http://www.lezhutv.com/hls2/index.php?url=","tip":"无需安装任何插件"},"线路2":{"status":1,"or":890,"show":"线路2","des":"ab.com","ps":"1","parse":"http://www.lezhutv.com/hls2/index.php?url=","tip":"无需安装任何插件"},"线路3":{"status":1,"or":880,"show":"线路3","des":"ac.com","ps":"1","parse":"http://www.lezhutv.com/hls2/index.php?url=","tip":"无需安装任何插件"},"线路4":{"status":1,"or":870,"show":"线路4","des":"ad.com","ps":"1","parse":"http://www.lezhutv.com/hls2/index.php?url=","tip":"无需安装任何插件"},"线路5":{"status":1,"or":760,"show":"线路5","des":"ae.com","ps":"1","parse":"http://www.lezhutv.com/hls2/index.php?url=","tip":"无需安装任何插件"},"线路6":{"status":1,"or":750,"show":"线路6","des":"af.com","ps":"1","parse":"http://www.lezhutv.com/hls2/index.php?url=","tip":"无需安装任何插件"},"线路7":{"status":1,"or":740,"show":"线路7","des":"ag.com","ps":"1","parse":"http://www.lezhutv.com/hls2/index.php?url=","tip":"无需安装任何插件"}} \ No newline at end of file diff --git a/XBiubiu/乐猪影视.json b/XBiubiu/乐猪影视.json new file mode 100644 index 0000000..af26978 --- /dev/null +++ b/XBiubiu/乐猪影视.json @@ -0,0 +1,65 @@ +{ + "name": "乐猪影视", + "url": "http://www.lezhutv.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "", + "fubiaotihou": "", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "分类":"电影$1#连续剧$2#综艺$3#动漫$4#韩剧$14#美剧$15", + "分类url":"http://www.lezhutv.com/list/{cateId}_{catePg}_desc_{by}_0_0___.html", + "筛选":"1" +} \ No newline at end of file diff --git a/XBiubiu/二个BT.json b/XBiubiu/二个BT.json new file mode 100644 index 0000000..840bc61 --- /dev/null +++ b/XBiubiu/二个BT.json @@ -0,0 +1,60 @@ +{ "name": "二个BT", + "url": "https://bttwoo.com", + "tihuan": "aliyundrive", + "User": "空", + "fenlei": "最新电影$/new-movie/page/#本月热门$/hot-month/#电视剧$/dsj/page/#国产剧$/zgjun/page/#美剧$/meiju/page/#日韩剧$/jpsrtv/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "bttwoo.com", + "lianjiehou": "\"", + "sousuoqian": "/xssearch?q=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
  • ", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "bttwoo.com", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"paly_list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "
  • 导演:", + "daoyanhou": "
  • ", + "zhuyanqian": "
  • 主演:", + "zhuyanhou": "
  • ", + "juqingqian": "class=\"yp_context\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "bttwoo.com", + "bflianjiehou": "\"", + "嗅探词":".m3u8#api.13to.com", + "过滤词":"xqmi.top#51.la#baomitu.com#.css#.js#ddzy" +}, diff --git a/XBiubiu/京东影业.json b/XBiubiu/京东影业.json new file mode 100644 index 0000000..2b2708a --- /dev/null +++ b/XBiubiu/京东影业.json @@ -0,0 +1,67 @@ +{ + "author": "", + "name": "麻豆传媒", + "shouye":"1", + "qishiye":"1", + "url": "https://qq.jdav1.shop", //填网站链接https://wnvod.net/vodtype/1.html + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "fenlei":"今日更新$/map/-#麻豆传媒$/smtype/madou-#天美传媒$/smtype/tianmei-#果冻传媒$/smtype/guodong-#蜜桃影像$/smtype/mitao-#星空传媒$/smtype/xingkong-#精东影业$/smtype/jingdongyingye-#国产原创$/smtype/yuanchuang-", //网站列表的分类 + "houzhui":".html", //网站翻页链接的后缀 + "shifouercijiequ":"0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian":"空", //不需要二次截取就填空 + "jiequhou":"空", //不需要二次截取就填空 + "jiequshuzuqian":"", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian":"src=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou":"\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian":"title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou":"\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian":"href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou":"\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/smdetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"detail-tab", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": " ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "空", //状态前关键词 + "zhuangtaihou": "空", //状态后关键词 + "daoyanqian": "空", //导演前关键词 + "daoyanhou": "空", //导演态后关键词 + "zhuyanqian": "空", //主演前关键词 + "zhuyanhou": "空", //主演后关键词 + "juqingqian": "空", //剧情前关键词 + "juqinghou": "空", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "
  • ", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/人人影视.json b/XBiubiu/人人影视.json new file mode 100644 index 0000000..abb8eed --- /dev/null +++ b/XBiubiu/人人影视.json @@ -0,0 +1,61 @@ +{ + "name": "人人影视", + "url": "https://www.rr520.cc/", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/show/2--------#电影$/show/1--------#综艺$/show/3--------#动漫$/show/4--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#国产动漫$/show/4-国产-------#日本动漫$/show/4-日本-------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/体育_直播吧.json b/XBiubiu/体育_直播吧.json new file mode 100644 index 0000000..e74a50f --- /dev/null +++ b/XBiubiu/体育_直播吧.json @@ -0,0 +1,91 @@ +{ + "author": "dj22.8.28", + "ua": "", + "homeUrl": "https://www.zhibo8.cc/", + + "cateManual": { + "DJ-直播吧": "1" + }, + + // 首页推荐视频的节点 + "homeVodNode": "//a[contains(text(),'手机看直播')]/parent::li", + // 首页推荐视频的名称 + //"homeVodName": "/li[@class='lab_events']/span/text()", + "homeVodName": "/@data-time", + // 首页推荐视频的id + "homeVodId": "/a[1]/@href", + // 二次处理正则 + //"homeVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + // 首页推荐视频的图片 + "homeVodImg": "/img/@src", + // 首页推荐视频的简介 + "homeVodMark": "/text()", + //"home": "dj", + + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "https://www.zhibo8.cc/", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//li[@id='saishi958846']", + //"cateVodName": "/li[@class='lab_events']/span/text()", + "cateVodName": "@data-time", + "cateVodId": "/a[1]/@href", + //"cateVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + "cateVodImg": "/img[1]/@src", + "cateVodMark": "/text()", + //"cateVodMark": "{vid}", + //"cate": "dj", + + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + //"dtUrl": "{vid}", + "dtUrl": "https://www.zhibo8.cc/{vid}", + // 详情节点 + "dtNode": "//ul[@data-stype='zqlq']", + // 视频名 + "dtName": "/li[1]/span/text()", + // 视频图片 + "dtImg": "/li[3]/span/img/@src", + // 视频分类 + "dtCate": "/li[1]/span/text()", + //演员 + "dtActor": "/li[1]/span/text()", + // 导演 + "dtDirector": "concat('DJ - ','Never underestimate the heart of a champion! ')", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "concat(/li[3]/strong/text(),' VS ',/li[5]/strong/text())", + + // 播放源节点 + "dtFromNode": "//div[@class='sub_channel']", + // 播放源名称 + "dtFromName": "concat('【直播源','】')", + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[@class='sub_channel']", + // 播放地址节点 + "dtUrlSubNode": "/a", + "dtUrlSub": "/ff", + // 播放地址 + "dtUrlId": "@data-play", + "dtUrlIdR": "/play/(\\S+)", + //"dtUrlIdR": "\\S+/(\\d+)&id2=", + // 剧集名称 + "dtUrlName": "/strong/text()", + "dtUrlNameR": "", + + //播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl":"http://play.sportsteam333.com/play/{playUrl}#ff", + //"playUrl":"http://play.sportsteam666.com/play/{playUrl}", + //"playUrl": "http://play.sportsteam365.com/play/{playUrl}", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", + + "searchUrl": "http://www.jrskan.com?key={wd}", + "scVodNode": "//div[@class='play_xg']/li", + "scVodName": "//div[@class='name']/a/@title", + "scVodId": "//div[@class='name']/a/@href", + "scVodIdR": "/play/(\\d+).html", + "scVodImg": "//div[@class='pic']/a/img/@src", + "scVodMark": "" +} \ No newline at end of file diff --git a/XBiubiu/剧白白.json b/XBiubiu/剧白白.json new file mode 100644 index 0000000..25a5f4b --- /dev/null +++ b/XBiubiu/剧白白.json @@ -0,0 +1,68 @@ +{ + "author":"张弘20220731", + "name": "剧白白", + "url": "https://www.jubaibai.cc", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "奈飞影片$/vodshow/class/Netflix/id/dianying/page/#奈飞电视剧$/vodshow/class/Netflix/id/dianshiju/page/#奈飞综艺$/vodshow/class/Netflix/id/zongyi/page/#奈飞动漫$/vodshow/class/Netflix/id/dongman/page/#奈飞记录片$/vodshow/class/Netflix/id/jilupian/page/#电影$/vodshow/id/dianying/page/#电视剧$/vodshow/id/dianshiju/page/#综艺$/vodshow/id/zongyi/page/#动漫$/vodshow/id/dongman/page/#纪录片$/vodshow/id/jilupian/page/#国产电视剧$/vodshow/area/中国大陆/id/dianshiju/page#香港电视剧$/vodshow/area/中国香港/id/dianshiju/page#台湾电视剧$/vodshow/area/中国台湾/id/dianshiju/page#日本电视剧$/vodshow/area/日本/id/dianshiju/page#韩国电视剧$/vodshow/area/韩国/id/dianshiju/page#美国电视剧$/vodshow/area/美国/id/dianshiju/page#英国电视剧$/vodshow/area/英国/id/dianshiju/page#法国电视剧$/vodshow/area/法国/id/dianshiju/page#德国电视剧$/vodshow/area/德国/id/dianshiju/page#泰国电视剧$/vodshow/area/泰国/id/dianshiju/page#印度电视剧$/vodshow/area/印度/id/dianshiju/page#新加坡电视剧$/vodshow/area/新加坡/id/dianshiju/page#马来西亚电视剧$/vodshow/area/马来西亚/id/dianshiju/page#国产电影$/vodshow/area/中国大陆/id/dianying/page#香港电影$/vodshow/area/中国香港/id/dianying/page#台湾电影$/vodshow/area/中国台湾/id/dianying/page#日本电影$/vodshow/area/日本/id/dianying/page#韩国电影$/vodshow/area/韩国/id/dianying/page#美国电影$/vodshow/area/美国/id/dianying/page#英国电影$/vodshow/area/英国/id/dianying/page#法国电影$/vodshow/area/法国/id/dianying/page#德国电影$/vodshow/area/德国/id/dianying/page#泰国电影$/vodshow/area/泰国/id/dianying/page#印度电影$/vodshow/area/印度/id/dianying/page#新加坡电影$/vodshow/area/新加坡/id/dianying/page#马来西亚电影$/vodshow/area/马来西亚/id/dianying/page#加拿大电影$/vodshow/area/加拿大/id/dianying/page#西班牙电影$/vodshow/area/西班牙/id/dianying/page#俄罗斯电影$/vodshow/area/俄罗斯/id/dianying/page#其他电影$/vodshow/area/其他/id/dianying/page#爱情剧$/vodshow/class/爱情/id/dianshiju/page/#言情剧$/vodshow/class/言情/id/dianshiju/page/#都市剧$/vodshow/class/都市/id/dianshiju/page/#家庭剧$/vodshow/class/家庭/id/dianshiju/page/#纪录片$/vodshow/class/纪录片/id/dianshiju/page/#爱情电视剧$/vodshow/class/爱情/id/dianshiju/page/#言情电视剧$/vodshow/class/言情/id/dianshiju/page/#都市电视剧$/vodshow/class/都市/id/dianshiju/page/#家庭电视剧$/vodshow/class/家庭/id/dianshiju/page/#纪录影片$/vodshow/class/纪录影片/id/dianshiju/page/#战争电视剧$/vodshow/class/战争/id/dianshiju/page/#喜剧电视剧$/vodshow/class/喜剧/id/dianshiju/page/#古装电视剧$/vodshow/class/古装/id/dianshiju/page/#武侠电视剧$/vodshow/class/武侠/id/dianshiju/page/#偶像电视剧$/vodshow/class/偶像/id/dianshiju/page/#历史电视剧$/vodshow/class/历史/id/dianshiju/page/#悬疑电视剧$/vodshow/class/悬疑/id/dianshiju/page/#恐怖电视剧$/vodshow/class/恐怖/id/dianshiju/page/#动作电视剧$/vodshow/class/动作/id/dianshiju/page/#科幻电视剧$/vodshow/class/科幻/id/dianshiju/page/#剧情电视剧$/vodshow/class/剧情/id/dianshiju/page/#犯罪电视剧$/vodshow/class/犯罪/id/dianshiju/page/#奇幻电视剧$/vodshow/class/奇幻/id/dianshiju/page/#冒险电视剧$/vodshow/class/冒险/id/dianshiju/page/#惊悚电视剧$/vodshow/class/惊悚/id/dianshiju/page/#儿童电视剧$/vodshow/class/儿童/id/dianshiju/page/#喜剧影片$/vodshow/class/喜剧/id/dianying/page/#爱情影片$/vodshow/class/爱情/id/dianying/page/#恐怖影片$/vodshow/class/恐怖/id/dianying/page/#动作影片$/vodshow/class/动作/id/dianying/page/#科幻影片$/vodshow/class/科幻/id/dianying/page/#剧情影片$/vodshow/class/剧情/id/dianying/page/#战争影片$/vodshow/class/战争/id/dianying/page/#犯罪影片$/vodshow/class/犯罪/id/dianying/page/#动画影片$/vodshow/class/动画/id/dianying/page/#奇幻影片$/vodshow/class/奇幻/id/dianying/page/#武侠影片$/vodshow/class/武侠/id/dianying/page/#冒险影片$/vodshow/class/冒险/id/dianying/page/#悬疑影片$/vodshow/class/悬疑/id/dianying/page/#惊悚影片$/vodshow/class/惊悚/id/dianying/page/#古装影片$/vodshow/class/古装/id/dianying/page/#历史影片$/vodshow/class/历史/id/dianying/page/#运动影片$/vodshow/class/运动/id/dianying/page/#儿童影片$/vodshow/class/儿童/id/dianying/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "xlshifouercijiequ": "0", + "xljiequqian": "空", + "xljiequhou": "空", + "xljiequshuzuqian": "class=\"stui-vodlist__box\"", + "xljiequshuzuhou": "", + "xlbiaotiqian": "title=\"", + "xlbiaotihou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist sort-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data hidden-xs\">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/剧荒.json b/XBiubiu/剧荒.json new file mode 100644 index 0000000..fc22cdb --- /dev/null +++ b/XBiubiu/剧荒.json @@ -0,0 +1,68 @@ +{"name": "剧荒", +"url": "https://juhuang.tv/", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +//"直接播放": "0", +//"列表显示": "0", +//"横图显示": "0", +"分类页l": "https://juhuang.tv/type/{cateId}_type_{catePg}.html[firstPage=https://juhuang.tv/type/{cateId}_type.html]", + "分类": "剧集$2#电影$1#综艺$3#动漫$4", +//"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic"", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +//"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +//"ljqianzhui": "空", +//"fubiaotiqian": "", +//"fubiaotihou": "", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""} \ No newline at end of file diff --git a/XBiubiu/剧荒影视.json b/XBiubiu/剧荒影视.json new file mode 100644 index 0000000..ac5d0bf --- /dev/null +++ b/XBiubiu/剧荒影视.json @@ -0,0 +1,68 @@ +{"name": "剧荒", +"url": "https://juhuang.tv/", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +//"直接播放": "0", +//"列表显示": "0", +//"横图显示": "0", +"fenlei": "最新电影$/type/1_#电影库$/type/1_type_#最新电视剧$/type/2_type#电视剧库$/type/2_type_#最新综艺$/type/3_type#综艺库$/type/3_type_#最新动漫$/type/4_type#动漫库$/type/4_type_#最新纪录片$/type/21_type#纪录片库$/type/21_type_", +"houzhui": ".html", +"qishiye": "空", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +//"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +//"ljqianzhui": "空", +//"fubiaotiqian": "", +//"fubiaotihou": "", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:
    ", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""} \ No newline at end of file diff --git a/XBiubiu/剧荒电影.json b/XBiubiu/剧荒电影.json new file mode 100644 index 0000000..0b2349a --- /dev/null +++ b/XBiubiu/剧荒电影.json @@ -0,0 +1,91 @@ +{ + "author": "JMG0828", + "name": "剧荒电影", + "url": "https://www.juhuang.tv", +// "User": "", + + "shouye": "1", + "qishiye": "1", + +//"是否记录历史": "0", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", + +// "分类页": "https://juhuang.tv/type/{cateId}_type_{catePg}.html", + "分类页": "https://juhuang.tv/type/{cateId}_type_{catePg}.html||https://juhuang.tv/type/{cateId}_type.html", + + "分类": "", + "小类": "1--印度$30#欧美$20#日韩$6#华语$7||2--英剧$27#泰剧$24#韩剧$13#华语$14#日剧$15#美剧$16", + + + "shifouercijiequ": "0", + "jiequqian": "", + "jiequhou": "", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "class=\"loading", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "ljhouzhui": "空", + "fubiaotiqian": "", + "fubiaotihou": "", + + "sousuoqian": "https://so.juhuang.tv/?s=", + "sousuohou": "", + "sousuohouzhui": "/play/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-pic", + "ssjiequshuzuhou": "class=\"loading", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"sort-item", + "bfjiequshuzuhou": "class=\"rightGG_1", + + "xlshifouercijiequ": "0", + "xljiequqian": "", + "xljiequhou": "", + "xljiequshuzuqian": "", + "xljiequshuzuhou": "", + "xlbiaotiqian": "", + "xlbiaotihou": "", + +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", + +"bfyshifouercijiequ": "0", +"bfyjiequqian":"空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"嗅探词":"365yg.com#juhuang.mp4", +"过滤词":"51.la#baomitu.com#.css#.js#ddzy" +} \ No newline at end of file diff --git a/XBiubiu/厂长资源.json b/XBiubiu/厂长资源.json new file mode 100644 index 0000000..87ec658 --- /dev/null +++ b/XBiubiu/厂长资源.json @@ -0,0 +1,61 @@ +{ + "author":"20220720", + "name": "厂长资源-蓝光", + "url": "https://qianoo.cn", + "tihuan": "aliyundrive", + "User": "空", + "shouye": "1", + "fenlei": "本月热门$/benyueremen/page/#高分影视$/gaofenyingshi/page/#豆瓣影片TOP250$/dbtop250/page/#最新影片$/zuixindianying/page/#电影$/movie_bt/movie_bt_series/dyy/page/#电视剧$/movie_bt/movie_bt_series/dianshiju/page/#动画$/movie_bt/movie_bt_series/dohua/page/#国产剧$/movie_bt/movie_bt_series/guochanju/page/#香港剧$/movie_bt/movie_bt_series/gj/page/#台湾剧$/movie_bt/movie_bt_series/tj/page/#日本剧$/movie_bt/movie_bt_series/rj/page/#韩国剧$/movie_bt/movie_bt_series/hj/page/#美国剧$/movie_bt/movie_bt_series/mj/page/#海外剧$/movie_bt/movie_bt_series/hwj/page/#国语影片$/movie_bt/movie_bt_series/huayudianying/page/#韩国影片$/movie_bt_series/hanguodianying/page/#日本影片$/movie_bt/movie_bt_series/ribendianying/page/#美国影片$/movie_bt/movie_bt_series/meiguodianying/page/#法国影片$/movie_bt/movie_bt_series/faguodianying/page/#英国影片$/movie_bt/movie_bt_series/yingguodianying/page/#俄罗斯影片$/movie_bt/movie_bt_series/eluosidianying/page/#加拿大影片$/movie_bt/movie_bt_series/jianadadianying/page/#印度影片$/movie_bt/movie_bt_series/yindudianying/page/#传记剧$/movie_bt/movie_bt_tags/chuanji/movie_bt_series/dianshiju/page/#儿童剧$/movie_bt/movie_bt_tags/etet/movie_bt_series/dianshiju/page/#冒险剧$/movie_bt/movie_bt_tags/maoxian/movie_bt_series/dianshiju/page/剧情剧#$/movie_bt/movie_bt_tags/juqing/movie_bt_series/dianshiju/page/#动作剧$/movie_bt/movie_bt_tags/dozuo/movie_bt_series/dianshiju/page/#动漫剧$/movie_bt/movie_bt_tags/doman/movie_bt_series/dianshiju/page/#动画剧$/movie_bt/movie_bt_tags/dhh/movie_bt_series/dianshiju/page/#历史剧$/movie_bt/movie_bt_tags/lishi/movie_bt_series/dianshiju/page/#古装剧$/movie_bt/movie_bt_tags/guzhuang/movie_bt_series/dianshiju/page/#同性剧$/movie_bt/movie_bt_tags/tongxing/movie_bt_series/dianshiju/page/#喜剧剧$/movie_bt/movie_bt_tags/xiju/movie_bt_series/dianshiju/page/#奇幻剧$/movie_bt/movie_bt_tags/qihuan/movie_bt_series/dianshiju/page/#家庭剧$/movie_bt/movie_bt_tags/jiating/movie_bt_series/dianshiju/page/#恐怖剧$/movie_bt/movie_bt_tags/kubu/movie_bt_series/dianshiju/page/#悬疑剧$/movie_bt/movie_bt_tags/xuanyi/movie_bt_series/dianshiju/page/#情色剧$/movie_bt/movie_bt_tags/qingse/movie_bt_series/dianshiju/page/#惊悚剧$/movie_bt/movie_bt_tags/kingsong/movie_bt_series/dianshiju/page/#战争剧$/movie_bt/movie_bt_tags/zhanzhen/movie_bt_series/dianshiju/page/#歌舞剧$/movie_bt/movie_bt_tags/gw/movie_bt_series/dianshiju/page/#武侠剧$/movie_bt/movie_bt_tags/wuxia/movie_bt_series/dianshiju/page/#灾难剧$/movie_bt/movie_bt_tags/zainan/movie_bt_series/dianshiju/page/#爱情剧$/movie_bt/movie_bt_tags/aiqing/movie_bt_series/dianshiju/page/#犯罪剧$/movie_bt/movie_bt_tags/fanzui/movie_bt_series/dianshiju/page/#真人秀剧$/movie_bt/movie_bt_tags/zrx/movie_bt_series/dianshiju/page/#短片剧$/movie_bt/movie_bt_tags/dp/movie_bt_series/dianshiju/page/#科幻剧$/movie_bt/movie_bt_tags/kh/movie_bt_series/dianshiju/page/#记录剧$/movie_bt/movie_bt_tags/jlpp/movie_bt_series/dianshiju/page/#西部剧$/movie_bt/movie_bt_tags/xb/movie_bt_series/dianshiju/page/#运动剧$/movie_bt/movie_bt_tags/yd/movie_bt_series/dianshiju/page/#音乐剧$/movie_bt/movie_bt_tags/yy/movie_bt_series/dianshiju/page/#鬼怪剧$/movie_bt/movie_bt_tags/鬼怪/movie_bt_series/dianshiju/page/#传记片$/movie_bt/movie_bt_tags/chuanji/movie_bt_series/dyy/page/#儿童片$/movie_bt/movie_bt_tags/etet/movie_bt_series/dyy/page/#冒险片$/movie_bt/movie_bt_tags/maoxian/movie_bt_series/dyy/page/剧情片#$/movie_bt/movie_bt_tags/juqing/movie_bt_series/dyy/page/#动作片$/movie_bt/movie_bt_tags/dozuo/movie_bt_series/dyy/page/#动漫片$/movie_bt/movie_bt_tags/doman/movie_bt_series/dyy/page/#动画片$/movie_bt/movie_bt_tags/dhh/movie_bt_series/dyy/page/#历史片$/movie_bt/movie_bt_tags/lishi/movie_bt_series/dyy/page/#古装片$/movie_bt/movie_bt_tags/guzhuang/movie_bt_series/dyy/page/#同性片$/movie_bt/movie_bt_tags/tongxing/movie_bt_series/dyy/page/#喜剧片$/movie_bt/movie_bt_tags/xiju/movie_bt_series/dyy/page/#奇幻片$/movie_bt/movie_bt_tags/qihuan/movie_bt_series/dyy/page/#家庭片$/movie_bt/movie_bt_tags/jiating/movie_bt_series/dyy/page/#恐怖片$/movie_bt/movie_bt_tags/kubu/movie_bt_series/dyy/page/#悬疑片$/movie_bt/movie_bt_tags/xuanyi/movie_bt_series/dyy/page/#情色片$/movie_bt/movie_bt_tags/qingse/movie_bt_series/dyy/page/#惊悚片$/movie_bt/movie_bt_tags/kingsong/movie_bt_series/dyy/page/#战争片$/movie_bt/movie_bt_tags/zhanzhen/movie_bt_series/dyy/page/#歌舞片$/movie_bt/movie_bt_tags/gw/movie_bt_series/dyy/page/#武侠片$/movie_bt/movie_bt_tags/wuxia/movie_bt_series/dyy/page/#灾难片$/movie_bt/movie_bt_tags/zainan/movie_bt_series/dyy/page/#爱情片$/movie_bt/movie_bt_tags/aiqing/movie_bt_series/dyy/page/#犯罪片$/movie_bt/movie_bt_tags/fanzui/movie_bt_series/dyy/page/#真人秀片$/movie_bt/movie_bt_tags/zrx/movie_bt_series/dyy/page/#短片片$/movie_bt/movie_bt_tags/dp/movie_bt_series/dyy/page/#科幻片$/movie_bt/movie_bt_tags/kh/movie_bt_series/dyy/page/#记录片$/movie_bt/movie_bt_tags/jlpp/movie_bt_series/dyy/page/#西部片$/movie_bt/movie_bt_tags/xb/movie_bt_series/dyy/page/#运动片$/movie_bt/movie_bt_tags/yd/movie_bt_series/dyy/page/#音乐片$/movie_bt/movie_bt_tags/yy/movie_bt_series/dyy/page/#鬼怪片$/movie_bt/movie_bt_tags/鬼怪/movie_bt_series/dyy/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "qianoo.cn", + "lianjiehou": "\"", + "sousuoqian": "/xssearch?q=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
  • ", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "qianoo.cn", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"paly_list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "
  • 导演:", + "daoyanhou": "
  • ", + "zhuyanqian": "
  • 主演:", + "zhuyanhou": "
  • ", + "juqingqian": "class=\"yp_context\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "qianoo.cn", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/口袋影院.json b/XBiubiu/口袋影院.json new file mode 100644 index 0000000..e7da6a5 --- /dev/null +++ b/XBiubiu/口袋影院.json @@ -0,0 +1,59 @@ +{ + "name": "口袋影院", + "url": "http://www.koudaitv.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#美剧$/type/15-1--------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/听书网.json b/XBiubiu/听书网.json new file mode 100644 index 0000000..130ed25 --- /dev/null +++ b/XBiubiu/听书网.json @@ -0,0 +1,60 @@ + +{"name": "听书网", +"url": "https://www.tingbook.cc", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "玄幻$/book/1-#武侠$/book/2-#都市$/book/3-#言情$/book/4-#科幻$/book/5-#推理$/book/6-#恐怖$/book/7-#惊悚$/book/8-#历史$/book/9-#军事$/book/10-#网游$/book/11-#官商$/book/12-#评书$/book/13-#相声$/book/14-#文学$/book/15-#儿童$/book/16-#穿越$/book/28-#娱乐$/book/29-#笑话$/book/30-#戏曲$/book/31-#其它$/book/32-#百家讲坛$/book/33-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-12 col-m-24 col3-\"", +"jiequshuzuhou": "

    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"tupianqianzhui": "https://www.tingbook.cc", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"zhuangtaiqian": "> ", +"zhuangtaihou": "", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"sousuohouzhui": "/show/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"col-12 col-m-24 col3-", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "https://www.tingbook.cc", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"tx-title2 f-16 f-bold", +"bfjiequshuzuhou": "", +"daoyanqian": "作者:", +"daoyanhou": "  ", +"zhuyanqian": "播音:", +"zhuyanhou": "

    ", +"juqingqian": "播音,", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "title=\"", +"bfbiaotihou": "\"", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} diff --git a/XBiubiu/咪诱视频.json b/XBiubiu/咪诱视频.json new file mode 100644 index 0000000..86fecf4 --- /dev/null +++ b/XBiubiu/咪诱视频.json @@ -0,0 +1,72 @@ +{ +"name":"咪诱视频", +"url":"https://www.ym4196.top", +"直接播放":"1", +"列表显示":"0", +"横图显示":"0", +"shouye":"1", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"
    ", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"搜索url":"https://www.ym4196.top/index.php/vod/search.html?wd={wd}", +"搜索链接前缀":"https://www.ym4196.top", +"搜索链接后缀":"", +"分类":"咪诱视频$1", +"分类url":"https://www.ym4196.top/index.php/vod/type/id/{cateId}/page/{catePg}.html", + "筛选":{ +"1":[ +{ +"key":"cateId", +"name":"免费一区", +"value":[ +{"n":"全部","v":"1"}, +{"n":"国产情色","v":"6"}, +{"n":"主播直播","v":"7"}, +{"n":"动漫里番","v":"8"}, +{"n":"日韩综合","v":"9"}, +{"n":"欧美性爱","v":"10"}, +{"n":"中文字幕","v":"11"}, +{"n":"强奸乱伦","v":"12"}, +{"n":"制服黑丝","v":"20"} +] +}, +{ +"key":"cateId", +"name":"免费二区", +"value":[ +{"n":"全部","v":"2"}, +{"n":"巨乳美乳","v":"13"}, +{"n":"变态调教","v":"14"}, +{"n":"自拍偷拍","v":"15"}, +{"n":"熟女人妻","v":"16"}, +{"n":"日本无码","v":"22"}, +{"n":"少女萝莉","v":"23"}, +{"n":"三级伦理","v":"24"} +] +}, +{ +"key":"cateId", +"name":"VIP视频", +"value":[ +{"n":"全部","v":"26"}, +{"n":"猎奇系列","v":"27"}, +{"n":"孕妇系列","v":"28"}, +{"n":"恋足系列","v":"29"}, +{"n":"人妻系列","v":"30"}, +{"n":"绿帽系列","v":"31"}, +{"n":"国产精品","v":"32"}, +{"n":"户外系列","v":"33"}, +{"n":"人兽系列","v":"34"} +] +} +] +} +} \ No newline at end of file diff --git a/XBiubiu/哔哩.json b/XBiubiu/哔哩.json new file mode 100644 index 0000000..7d1a516 --- /dev/null +++ b/XBiubiu/哔哩.json @@ -0,0 +1,1545 @@ +{ + "classes": [ + { + "type_name": "云星日记", + "type_id": "鬼畜搞笑" + }, + { + "type_name": "小姐姐", + "type_id": "小姐姐超清" + }, + { + "type_name": "英雄联盟", + "type_id": "英雄联盟超清" + }, + { + "type_name": "王者荣耀", + "type_id": "王者荣耀超清" + }, + { + "type_name": "纪录片", + "type_id": "纪录片超清" + }, + { + "type_name": "电影解说", + "type_id": "电影解说超清" + }, + { + "type_name": "说案", + "type_id": "说案" + }, + { + "type_name": "广场舞", + "type_id": "广场舞超清" + }, + { + "type_name": "白噪音", + "type_id": "白噪音超清" + }, + { + "type_name": "美食", + "type_id": "美食超清" + }, + { + "type_name": "萌宠成长记", + "type_id": "萌宠成长记" + }, + { + "type_name": "体育", + "type_id": "体育超清" + }, + { + "type_name": "相声小品", + "type_id": "相声小品超清" + }, + { + "type_name": "足球", + "type_id": "足球比赛合集超清" + }, + { + "type_name": "篮球", + "type_id": "篮球超清" + }, + { + "type_name": "动物世界", + "type_id": "动物世界超清" + }, + { + "type_name": "二人转", + "type_id": "东北二人转超清" + }, + { + "type_name": "歌曲MV", + "type_id": "歌曲MV超清" + }, + { + "type_name": "影视MV", + "type_id": "影视MV超清" + } + ], + + "filter": { + "云星日记": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "TVBox": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "说案": [ { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "说案" + }, + { + "n": "汤圆", + "v": "汤圆说案" + }, + { + "n": "唐唐", + "v": "唐唐说案" + },{ + "n": "罗翔", + "v": "罗翔说刑法" + }, + { + "n": "何家弘", + "v": "何家弘说案" + }, + { + "n": "韩诺", + "v": "韩诺说案" + }, + { + "n": "老V", + "v": "老V说案" + }, + { + "n": "禁播档案‼️", + "v": "禁播档案" }]}, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XBiubiu/哔哩哔哩.json b/XBiubiu/哔哩哔哩.json new file mode 100644 index 0000000..9409add --- /dev/null +++ b/XBiubiu/哔哩哔哩.json @@ -0,0 +1,6572 @@ +{ +"classes":[ +{ +"type_name":"选美", +"type_id":"选美" +}, +{ +"type_name":"模特", +"type_id":"模特" +}, +{ +"type_name":"泳装秀", +"type_id":"泳装秀" +}, +{ +"type_name":"内衣秀", +"type_id":"内衣秀" +}, +{ +"type_name":"音乐", +"type_id":"音乐" +}, +{ +"type_name":"4K音乐", +"type_id":"4K音乐" +}, +{ +"type_name":"舞蹈", +"type_id":"舞蹈" +}, +{ +"type_name":"MV", +"type_id":"MV" +}, +{ +"type_name":"4K MV", +"type_id":"4K MV" +}, +{ +"type_name":"女团", +"type_id":"女团" +}, +{ +"type_name":"直播平台", +"type_id":"直播平台" +}, +{ +"type_name":"演唱会", +"type_id":"演唱会" +}, +{ +"type_name":"戏曲", +"type_id":"戏曲" +}, +{ +"type_name":"课程辅导", +"type_id":"课程辅导" +}, +{ +"type_name":"演讲", +"type_id":"演讲" +}, +{ +"type_name":"解说", +"type_id":"解说" +}, +{ +"type_name":"说案", +"type_id":"说案" +}, +{ +"type_name":"风景", +"type_id":"风景" +}, +{ +"type_name":"美食", +"type_id":"美食" +}, +{ +"type_name":"球星", +"type_id":"球星" +}, +{ +"type_name":"相声小品", +"type_id":"相声小品" +}, +{ +"type_name":"动物世界", +"type_id":"动物世界" +}, +{ +"type_name":"儿童少儿", +"type_id":"儿童少儿" +} +], +"filter": +{ +"选美":[ +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"模特":[ +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"泳装秀":[ +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"内衣秀":[ +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"美食":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"美食", +"v":"美食" +}, +{ +"n":"舌尖上的中国", +"v":"舌尖上的中国" +}, +{ +"n":"舌尖上的湖北", +"v":"舌尖上的湖北" +}, +{ +"n":"川菜", +"v":"川菜" +}, +{ +"n":"湘菜", +"v":"湘菜" +}, +{ +"n":"苏菜", +"v":"苏菜" +}, +{ +"n":"粤菜", +"v":"粤菜" +}, +{ +"n":"闽菜", +"v":"闽菜" +}, +{ +"n":"徽菜", +"v":"徽菜" +}, +{ +"n":"鲁菜", +"v":"鲁菜" +}, +{ +"n":"浙菜", +"v":"浙菜" +}, +{ +"n":"火锅", +"v":"火锅" +}, +{ +"n":"家常菜", +"v":"家常菜" +}, +{ +"n":"下酒菜", +"v":"下酒菜" +}, +{ +"n":"蒸菜", +"v":"蒸菜" +}, +{ +"n":"卤菜", +"v":"卤菜" +}, +{ +"n":"凉菜", +"v":"凉菜" +}, +{ +"n":"点心", +"v":"点心" +}, +{ +"n":"日料", +"v":"日料" +}, +{ +"n":"小吃", +"v":"小吃" +}, +{ +"n":"早餐食谱", +"v":"早餐食谱" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K美食", +"v":"4K美食" +}, +{ +"n":"4K舌尖上的中国", +"v":"4K舌尖上的中国" +}, +{ +"n":"4K舌尖上的湖北", +"v":"4K舌尖上的湖北" +}, +{ +"n":"4K川菜", +"v":"4K川菜" +}, +{ +"n":"4K湘菜", +"v":"4K湘菜" +}, +{ +"n":"4K苏菜", +"v":"4K苏菜" +}, +{ +"n":"4K粤菜", +"v":"4K粤菜" +}, +{ +"n":"4K闽菜", +"v":"4K闽菜" +}, +{ +"n":"4K徽菜", +"v":"4K徽菜" +}, +{ +"n":"4K鲁菜", +"v":"4K鲁菜" +}, +{ +"n":"4K浙菜", +"v":"4K浙菜" +}, +{ +"n":"4K火锅", +"v":"4K火锅" +}, +{ +"n":"4K家常菜", +"v":"4K家常菜" +}, +{ +"n":"4K下酒菜", +"v":"4K下酒菜" +}, +{ +"n":"4K蒸菜", +"v":"4K蒸菜" +}, +{ +"n":"4K卤菜", +"v":"4K卤菜" +}, +{ +"n":"4K凉菜", +"v":"4K凉菜" +}, +{ +"n":"4K点心", +"v":"4K点心" +}, +{ +"n":"4K日料", +"v":"4K日料" +}, +{ +"n":"4K小吃", +"v":"4K小吃" +}, +{ +"n":"4K早餐食谱", +"v":"4K早餐食谱" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"直播平台":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"抖音", +"v":"抖音" +}, +{ +"n":"抖音美女", +"v":"抖音美女" +}, +{ +"n":"抖音小姐姐", +"v":"抖音小姐姐" +}, +{ +"n":"抖音舞蹈", +"v":"抖音舞蹈" +}, +{ +"n":"抖音音乐", +"v":"抖音音乐" +}, +{ +"n":"抖音MV", +"v":"抖音MV" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K抖音", +"v":"4K抖音" +}, +{ +"n":"4K抖音美女", +"v":"4K抖音美女" +}, +{ +"n":"4K抖音小姐姐", +"v":"4K抖音小姐姐" +}, +{ +"n":"4K抖音舞蹈", +"v":"4K抖音舞蹈" +}, +{ +"n":"4K抖音音乐", +"v":"4K抖音音乐" +}, +{ +"n":"4K抖音MV", +"v":"4K抖音MV" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"快手", +"v":"快手" +}, +{ +"n":"快手美女", +"v":"快手美女" +}, +{ +"n":"快手小姐姐", +"v":"快手小姐姐" +}, +{ +"n":"快手舞蹈", +"v":"快手舞蹈" +}, +{ +"n":"快手音乐", +"v":"快手音乐" +}, +{ +"n":"快手MV", +"v":"快手MV" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K快手", +"v":"4K快手" +}, +{ +"n":"4K快手美女", +"v":"4K快手美女" +}, +{ +"n":"4K快手小姐姐", +"v":"4K快手小姐姐" +}, +{ +"n":"4K快手舞蹈", +"v":"4K快手舞蹈" +}, +{ +"n":"4K快手音乐", +"v":"4K快手音乐" +}, +{ +"n":"4K快手MV", +"v":"4K快手MV" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"斗鱼直播", +"v":"斗鱼直播" +}, +{ +"n":"斗鱼美女", +"v":"斗鱼美女" +}, +{ +"n":"斗鱼小姐姐", +"v":"斗鱼小姐姐" +}, +{ +"n":"斗鱼舞蹈", +"v":"斗鱼舞蹈" +}, +{ +"n":"斗鱼音乐", +"v":"斗鱼音乐" +}, +{ +"n":"MV", +"v":"斗鱼MV" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K斗鱼直播", +"v":"4K斗鱼直播" +}, +{ +"n":"4K斗鱼美女", +"v":"4K斗鱼美女" +}, +{ +"n":"4K斗鱼小姐姐", +"v":"4K斗鱼小姐姐" +}, +{ +"n":"4K斗鱼舞蹈", +"v":"4K斗鱼舞蹈" +}, +{ +"n":"4K斗鱼音乐", +"v":"4K斗鱼音乐" +}, +{ +"n":"4K斗鱼MV", +"v":"4K斗鱼MV" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"腾讯直播", +"v":"腾讯直播" +}, +{ +"n":"腾讯演唱会", +"v":"腾讯演唱会" +}, +{ +"n":"腾讯音乐会", +"v":"腾讯音乐会" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K腾讯直播", +"v":"4K腾讯直播" +}, +{ +"n":"4K腾讯演唱会", +"v":"4K腾讯演唱会" +}, +{ +"n":"4K腾讯音乐会", +"v":"4K腾讯音乐会" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"搞笑":[ +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"鬼畜":[ +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"舞蹈":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"舞蹈", +"v":"舞蹈" +}, +{ +"n":"宅舞", +"v":"宅舞" +}, +{ +"n":"街舞", +"v":"街舞" +}, +{ +"n":"明星舞蹈", +"v":"明星舞蹈" +}, +{ +"n":"韩舞", +"v":"韩舞" +}, +{ +"n":"古典舞", +"v":"古典舞" +}, +{ +"n":"翻跳", +"v":"翻跳" +}, +{ +"n":"中国舞", +"v":"中国舞" +}, +{ +"n":"古风舞", +"v":"古风舞" +}, +{ +"n":"现代舞", +"v":"现代舞" +}, +{ +"n":"爵士舞", +"v":"爵士舞" +}, +{ +"n":"芭蕾", +"v":"芭蕾" +}, +{ +"n":"编舞", +"v":"编舞" +}, +{ +"n":"POPPING", +"v":"POPPING" +}, +{ +"n":"极乐净土", +"v":"极乐净土" +}, +{ +"n":"桃源恋歌", +"v":"桃源恋歌" +}, +{ +"n":"新宝岛", +"v":"新宝岛" +}, +{ +"n":"拉丁舞", +"v":"拉丁舞" +}, +{ +"n":"蹦迪", +"v":"蹦迪" +}, +{ +"n":"民族舞", +"v":"民族舞" +}, +{ +"n":"抖肩舞", +"v":"抖肩舞" +}, +{ +"n":"齐舞", +"v":"齐舞" +}, +{ +"n":"机械舞", +"v":"机械舞" +}, +{ +"n":"广场舞", +"v":"广场舞" +}, +{ +"n":"BDF", +"v":"BDF" +}, +{ +"n":"练习室", +"v":"练习室" +}, +{ +"n":"美女舞蹈", +"v":"美女舞蹈" +}, +{ +"n":"牛仔裤", +"v":"牛仔裤" +}, +{ +"n":"黑丝", +"v":"黑丝" +}, +{ +"n":"超短裤", +"v":"超短裤" +}, +{ +"n":"超短裙", +"v":"超短裙" +}, +{ +"n":"舞蹈综合", +"v":"舞蹈综合" +}, +{ +"n":"舞蹈教程", +"v":"舞蹈教程" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K舞蹈", +"v":"4K舞蹈" +}, +{ +"n":"4K宅舞", +"v":"4K宅舞" +}, +{ +"n":"4K街舞", +"v":"4K街舞" +}, +{ +"n":"4K明星舞蹈", +"v":"4K明星舞蹈" +}, +{ +"n":"4K韩舞", +"v":"4K韩舞" +}, +{ +"n":"4K古典舞", +"v":"4K古典舞" +}, +{ +"n":"4K翻跳", +"v":"4K翻跳" +}, +{ +"n":"4K中国舞", +"v":"4K中国舞" +}, +{ +"n":"4K古风舞", +"v":"4K古风舞" +}, +{ +"n":"4K现代舞", +"v":"4K现代舞" +}, +{ +"n":"4K爵士舞", +"v":"4K爵士舞" +}, +{ +"n":"4K芭蕾", +"v":"4K芭蕾" +}, +{ +"n":"4K编舞", +"v":"4K编舞" +}, +{ +"n":"4K POPPING", +"v":"4K POPPING" +}, +{ +"n":"4K极乐净土", +"v":"4K极乐净土" +}, +{ +"n":"4K桃源恋歌", +"v":"4K桃源恋歌" +}, +{ +"n":"4K新宝岛", +"v":"4K新宝岛" +}, +{ +"n":"4K拉丁舞", +"v":"4K拉丁舞" +}, +{ +"n":"4K蹦迪", +"v":"4K蹦迪" +}, +{ +"n":"4K民族舞", +"v":"4K民族舞" +}, +{ +"n":"4K抖肩舞", +"v":"4K抖肩舞" +}, +{ +"n":"4K齐舞", +"v":"4K齐舞" +}, +{ +"n":"4K机械舞", +"v":"4K机械舞" +}, +{ +"n":"4K广场舞", +"v":"4K广场舞" +}, +{ +"n":"4KBDF", +"v":"4KBDF" +}, +{ +"n":"4K练习室", +"v":"4K练习室" +}, +{ +"n":"4K美女舞蹈", +"v":"4K美女舞蹈" +}, +{ +"n":"4K牛仔裤", +"v":"4K牛仔裤" +}, +{ +"n":"4K黑丝", +"v":"4K黑丝" +}, +{ +"n":"4K超短裤", +"v":"4K超短裤" +}, +{ +"n":"4K超短裙", +"v":"4K超短裙" +}, +{ +"n":"4K舞蹈综合", +"v":"4K舞蹈综合" +}, +{ +"n":"4K舞蹈教程", +"v":"4K舞蹈教程" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"音乐":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"音乐", +"v":"音乐" +}, +{ +"n":"原创音乐", +"v":"原创音乐" +}, +{ +"n":"翻唱", +"v":"翻唱" +}, +{ +"n":"演奏", +"v":"演奏" +}, +{ +"n":"VOCALOID·UTAU", +"v":"VOCALOID·UTAU" +}, +{ +"n":"音乐现场", +"v":"音乐现场" +}, +{ +"n":"原声音乐", +"v":"原声音乐" +}, +{ +"n":"乐评盘点", +"v":"乐评盘点" +}, +{ +"n":"音乐教学", +"v":"音乐教学" +}, +{ +"n":"音乐综合", +"v":"音乐综合" +} +] +}, +{ +"key":"tid", +"name":"原创音乐", +"value":[ +{ +"n":"说唱", +"v":"说唱" +}, +{ +"n":"HIPHOP", +"v":"HIPHOP" +}, +{ +"n":"中国风", +"v":"中国风" +}, +{ +"n":"古风", +"v":"古风" +}, +{ +"n":"电音", +"v":"电音" +}, +{ +"n":"摇滚", +"v":"摇滚" +}, +{ +"n":"民谣", +"v":"民谣" +}, +{ +"n":"爵士", +"v":"爵士" +}, +{ +"n":"纯音乐", +"v":"纯音乐" +}, +{ +"n":"BEAT", +"v":"BEAT" +}, +{ +"n":"REMIX", +"v":"REMIX" +}, +{ +"n":"人声本家", +"v":"人声本家" +}, +{ +"n":"国人原创", +"v":"国人原创" +}, +{ +"n":"原创歌曲", +"v":"原创歌曲" +}, +{ +"n":"编曲", +"v":"编曲" +}, +{ +"n":"改编", +"v":"改编" +}, +{ +"n":"吉他", +"v":"吉他" +}, +{ +"n":"电子音乐", +"v":"电子音乐" +}, +{ +"n":"钢琴", +"v":"钢琴" +} +] +}, +{ +"key":"tid", +"name":"翻唱", +"value":[ +{ +"n":"国人男声", +"v":"国人男声" +}, +{ +"n":"国人女生", +"v":"国人女生" +}, +{ +"n":"中文翻唱", +"v":"中文翻唱" +}, +{ +"n":"英文翻唱", +"v":"英文翻唱" +}, +{"n":"古风", +"v":"古风" +}, +{ +"n":"VOCALOID", +"v":"VOCALOID" +}, +{ +"n":"燃向", +"v":"燃向" +}, +{ +"n":"中文填词", +"v":"中文填词" +}, +{ +"n":"灵魂歌手", +"v":"灵魂歌手" +}, +{ +"n":"治愈向", +"v":"治愈向" +}, +{ +"n":"COVER", +"v":"COVER" +}, +{ +"n":"初投稿", +"v":"初投稿" +}, +{ +"n":"吉他弹唱", +"v":"吉他弹唱" +}, +{ +"n":"原创PV", +"v":"原创PV" +}, +{ +"n":"魔道祖师", +"v":"魔道祖师" +}, +{ +"n":"欧美", +"v":"欧美" +}, +{ +"n":"新人向", +"v":"新人向" +}, +{ +"n":"耳机福利", +"v":"福利耳机" +} +] +}, +{ +"key":"tid", +"name":"演奏", +"value":[ +{ +"n":"创意演奏", +"v":"创意演奏" +}, +{ +"n":"钢琴", +"v":"钢琴" +}, +{ +"n":"街头表演", +"v":"街头表演" +}, +{ +"n":"翻弹", +"v":"翻弹" +}, +{ +"n":"乐队", +"v":"乐队" +}, +{ +"n":"民乐", +"v":"民乐" +}, +{ +"n":"合奏", +"v":"合奏" +}, +{ +"n":"吉他", +"v":"吉他" +}, +{ +"n":"指弹", +"v":"指弹" +}, +{ +"n":"小提琴", +"v":"小提琴" +}, +{ +"n":"架子鼓", +"v":"架子鼓" +}, +{ +"n":"COVER", +"v":"COVER" +}, +{ +"n":"木吉他", +"v":"木吉他" +}, +{ +"n":"钢琴曲", +"v":"钢琴曲" +}, +{ +"n":"BGM", +"v":"BGM" +}, +{ +"n":"卡祖笛", +"v":"卡祖笛" +}, +{ +"n":"电吉他", +"v":"电吉他" +}, +{ +"n":"LAUNCHPAD", +"v":"LAUNCHPAD" +}, +{ +"n":"贝斯", +"v":"贝斯" +}, +{ +"n":"口琴", +"v":"口琴" +}, +{ +"n":"指弹吉他", +"v":"指弹吉他" +}, +{ +"n":"琵琶", +"v":"琵琶" +}, +{ +"n":"扬琴", +"v":"扬琴" +}, +{ +"n":"古典音乐", +"v":"古典音乐" +}, +{ +"n":"古筝", +"v":"古筝" +}, +{ +"n":"二胡", +"v":"二胡" +}, +{ +"n":"BEATBOX", +"v":"BEATBOX" +}, +{ +"n":"古典", +"v":"古典" +} +] +}, +{ +"key":"tid", +"name":"VOCALOID·UTAU", +"value":[ +{ +"n":"洛天依", +"v":"洛天依" +}, +{ +"n":"乐正绫", +"v":"乐正绫" +}, +{ +"n":"言和", +"v":"言和" +}, +{ +"n":"乐正龙牙", +"v":"乐正龙牙" +}, +{ +"n":"墨清弦", +"v":"墨清弦" +}, +{ +"n":"徽羽摩柯", +"v":"徽羽摩柯" +}, +{ +"n":"Vsinger", +"v":"Vsinger" +}, +{ +"n":"心华", +"v":"心华" +}, +{ +"n":"星尘", +"v":"星尘" +}, +{ +"n":"嫣汐", +"v":"嫣汐" +}, +{ +"n":"初音未来", +"v":"初音未来" +}, +{ +"n":"镜音铃", +"v":"镜音铃" +}, +{ +"n":"巡音流歌", +"v":"巡音流歌" +}, +{ +"n":"KAITO", +"v":"KAITO" +}, +{ +"n":"flower", +"v":"flower" +}, +{ +"n":"元筱", +"v":"元筱" +}, +{ +"n":"VOCALOID中文曲", +"v":"VOCALOID中文曲" +}, +{ +"n":"莲华", +"v":"莲华" +}, +{ +"n":"南北组", +"v":"南北组" +}, +{ +"n":"镜音双子", +"v":"镜音双子" +}, +{ +"n":"MUTA中文曲", +"v":"MUTA中文曲" +}, +{ +"n":"UTAU中华组", +"v":"UTAU中华组" +}, +{ +"n":"XStudio", +"v":"XStudio" +}, +{ +"n":"初音", +"v":"初音" +}, +{ +"n":"IA", +"v":"IA" +}, +{ +"n":"GUMI", +"v":"GUMI" +}, +{ +"n":"SynthV", +"v":"SynthV" +}, +{ +"n":"UTAU", +"v":"UTAU" +}, +{ +"n":"幻晓伊", +"v":"幻晓伊" +}, +{ +"n":"五维介质", +"v":"五维介质" +}, +{ +"n":"可不", +"v":"可不" +}, +{ +"n":"ACE虚拟歌姬", +"v":"ACE虚拟歌姬" +}, +{ +"n":"deepvocal", +"v":"deepvocal" +}, +{ +"n":"SYNTHV", +"v":"SYNTHV" +} +] +}, +{ +"key":"tid", +"name":"音乐现场", +"value":[ +{ +"n":"华语现场", +"v":"华语现场" +}, +{ +"n":"欧美现场", +"v":"欧美现场" +}, +{ +"n":"日语现场", +"v":"日语现场" +}, +{ +"n":"韩语现场", +"v":"韩语现场" +}, +{ +"n":"国语现场", +"v":"国语现场" +}, +{ +"n":"粤语现场", +"v":"粤语现场" +}, +{ +"n":"live", +"v":"live" +}, +{ +"n":"音乐剧", +"v":"音乐剧" +}, +{ +"n":"演唱会", +"v":"演唱会" +}, +{ +"n":"音乐节", +"v":"音乐节" +} +] +}, +{ +"key":"tid", +"name":"音乐综合", +"value":[ +{ +"n":"经典老歌", +"v":"经典老歌" +}, +{ +"n":"精选歌单", +"v":"精选歌单" +}, +{ +"n":"影视音乐", +"v":"影视音乐" +}, +{ +"n":"游戏音乐", +"v":"游戏音乐" +}, +{ +"n":"中国戏曲", +"v":"中国戏曲" +}, +{ +"n":"黑胶唱片", +"v":"黑胶唱片" +}, +{ +"n":"ACG音乐", +"v":"ACG音乐" +}, +{ +"n":"音乐剧", +"v":"音乐剧" +}, +{ +"n":"交响乐", +"v":"交响乐" +}, +{ +"n":"循环", +"v":"循环音乐" +}, +{ +"n":"OST", +"v":"OST音乐" +}, +{ +"n":"BGM", +"v":"BGM音乐" +}, +{ +"n":"4K", +"v":"4K音乐" +}, +{ +"n":"DJ", +"v":"DJ音乐" +}, +{ +"n":"电音", +"v":"电音" +}, +{ +"n":"舞曲", +"v":"舞曲" +}, +{ +"n":"夜店", +"v":"夜店舞曲" +}, +{ +"n":"国外舞曲", +"v":"国外舞曲" +}, +{ +"n":"亚洲舞曲", +"v":"亚洲舞曲" +}, +{ +"n":"欧美舞曲", +"v":"欧美舞曲" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"4K音乐":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K音乐", +"v":"4K音乐" +}, +{ +"n":"4K原创音乐", +"v":"4K原创音乐" +}, +{ +"n":"4K翻唱", +"v":"4K翻唱" +}, +{ +"n":"4K演奏", +"v":"4K演奏" +}, +{ +"n":"4K VOCALOID·UTAU", +"v":"4K VOCALOID·UTAU" +}, +{ +"n":"4K音乐现场", +"v":"4K音乐现场" +}, +{ +"n":"4K原声音乐", +"v":"4K原声音乐" +}, +{ +"n":"4K乐评盘点", +"v":"4K乐评盘点" +}, +{ +"n":"4K音乐教学", +"v":"4K音乐教学" +}, +{ +"n":"4K音乐综合", +"v":"4K音乐综合" +} +] +}, +{ +"key":"tid", +"name":"4K原创音乐", +"value":[ +{ +"n":"4K说唱", +"v":"4K说唱" +}, +{ +"n":"4K HIPHOP", +"v":"4K HIPHOP" +}, +{ +"n":"4K中国风", +"v":"4K中国风" +}, +{ +"n":"4K古风", +"v":"4K古风" +}, +{ +"n":"4K电音", +"v":"4K电音" +}, +{ +"n":"4K摇滚", +"v":"4K摇滚" +}, +{ +"n":"4K民谣", +"v":"4K民谣" +}, +{ +"n":"4K爵士", +"v":"4K爵士" +}, +{ +"n":"4K纯音乐", +"v":"4K纯音乐" +}, +{ +"n":"4K BEAT", +"v":"4K BEAT" +}, +{ +"n":"4K REMIX", +"v":"4K REMIX" +}, +{ +"n":"4K人声本家", +"v":"4K人声本家" +}, +{ +"n":"4K国人原创", +"v":"4K国人原创" +}, +{ +"n":"4K原创歌曲", +"v":"4K原创歌曲" +}, +{ +"n":"4K编曲", +"v":"4K编曲" +}, +{ +"n":"4K改编", +"v":"4K改编" +}, +{ +"n":"4K吉他", +"v":"4K吉他" +}, +{ +"n":"4K电子音乐", +"v":"4K电子音乐" +}, +{ +"n":"4K钢琴", +"v":"4K钢琴" +} +] +}, +{ +"key":"tid", +"name":"4k翻唱", +"value":[ +{ +"n":"4K国人男声", +"v":"4K国人男声" +}, +{ +"n":"4K国人女生", +"v":"4K国人女生" +}, +{ +"n":"4K中文翻唱", +"v":"4K中文翻唱" +}, +{ +"n":"4K英文翻唱", +"v":"4K英文翻唱" +}, +{"n":"4K古风", +"v":"4K古风" +}, +{ +"n":"4K VOCALOID", +"v":"4K VOCALOID" +}, +{ +"n":"4K燃向", +"v":"4K燃向" +}, +{ +"n":"4K中文填词", +"v":"4K中文填词" +}, +{ +"n":"4K灵魂歌手", +"v":"4K灵魂歌手" +}, +{ +"n":"4K治愈向", +"v":"4K治愈向" +}, +{ +"n":"4K COVER", +"v":"4K COVER" +}, +{ +"n":"4K初投稿", +"v":"4K初投稿" +}, +{ +"n":"4K吉他弹唱", +"v":"4K吉他弹唱" +}, +{ +"n":"4K原创PV", +"v":"4K原创PV" +}, +{ +"n":"4K魔道祖师", +"v":"4K魔道祖师" +}, +{ +"n":"4K欧美", +"v":"4K欧美" +}, +{ +"n":"4K新人向", +"v":"4K新人向" +}, +{ +"n":"4K耳机福利", +"v":"4K福利耳机" +} +] +}, +{ +"key":"tid", +"name":"4K演奏", +"value":[ +{ +"n":"4K创意演奏", +"v":"4K创意演奏" +}, +{ +"n":"4K钢琴", +"v":"4K钢琴" +}, +{ +"n":"4K街头表演", +"v":"4K街头表演" +}, +{ +"n":"4K翻弹", +"v":"4K翻弹" +}, +{ +"n":"4K乐队", +"v":"4K乐队" +}, +{ +"n":"4K民乐", +"v":"4K民乐" +}, +{ +"n":"4K合奏", +"v":"4K合奏" +}, +{ +"n":"4K吉他", +"v":"4K吉他" +}, +{ +"n":"4K指弹", +"v":"4K指弹" +}, +{ +"n":"4K小提琴", +"v":"4K小提琴" +}, +{ +"n":"4K架子鼓", +"v":"4K架子鼓" +}, +{ +"n":"4K COVER", +"v":"4K COVER" +}, +{ +"n":"4K木吉他", +"v":"4K木吉他" +}, +{ +"n":"4K钢琴曲", +"v":"4K钢琴曲" +}, +{ +"n":"4K BGM", +"v":"4K BGM" +}, +{ +"n":"4K卡祖笛", +"v":"4K卡祖笛" +}, +{ +"n":"4K电吉他", +"v":"4K电吉他" +}, +{ +"n":"4K LAUNCHPAD", +"v":"4K LAUNCHPAD" +}, +{ +"n":"4K贝斯", +"v":"4K贝斯" +}, +{ +"n":"4K口琴", +"v":"4K口琴" +}, +{ +"n":"4K指弹吉他", +"v":"4K指弹吉他" +}, +{ +"n":"4K琵琶", +"v":"4K琵琶" +}, +{ +"n":"4K扬琴", +"v":"4K扬琴" +}, +{ +"n":"4K古典音乐", +"v":"4K古典音乐" +}, +{ +"n":"4K古筝", +"v":"4K古筝" +}, +{ +"n":"4K二胡", +"v":"4K二胡" +}, +{ +"n":"4K BEATBOX", +"v":"4K BEATBOX" +}, +{ +"n":"4K古典", +"v":"4K古典" +} +] +}, +{ +"key":"tid", +"name":"4k VOCALOID·UTAU", +"value":[ +{ +"n":"4K洛天依", +"v":"4K洛天依" +}, +{ +"n":"4K乐正绫", +"v":"4K乐正绫" +}, +{ +"n":"4K言和", +"v":"4K言和" +}, +{ +"n":"4K乐正龙牙", +"v":"4K乐正龙牙" +}, +{ +"n":"4K墨清弦", +"v":"4K墨清弦" +}, +{ +"n":"4K徽羽摩柯", +"v":"4K徽羽摩柯" +}, +{ +"n":"4K Vsinger", +"v":"4K Vsinger" +}, +{ +"n":"4K心华", +"v":"4K心华" +}, +{ +"n":"4K星尘", +"v":"4K星尘" +}, +{ +"n":"4K嫣汐", +"v":"4K嫣汐" +}, +{ +"n":"4K初音未来", +"v":"4K初音未来" +}, +{ +"n":"4K镜音铃", +"v":"4K镜音铃" +}, +{ +"n":"4K巡音流歌", +"v":"4K巡音流歌" +}, +{ +"n":"4K KAITO", +"v":"4K KAITO" +}, +{ +"n":"4K flower", +"v":"4K flower" +}, +{ +"n":"4K元筱", +"v":"4K元筱" +}, +{ +"n":"4K VOCALOID中文曲", +"v":"4K VOCALOID中文曲" +}, +{ +"n":"4K莲华", +"v":"4K莲华" +}, +{ +"n":"4K南北组", +"v":"4K南北组" +}, +{ +"n":"4K镜音双子", +"v":"4K镜音双子" +}, +{ +"n":"4K MUTA中文曲", +"v":"4K MUTA中文曲" +}, +{ +"n":"4K UTAU中华组", +"v":"4K UTAU中华组" +}, +{ +"n":"4K XStudio", +"v":"4K XStudio" +}, +{ +"n":"4K初音", +"v":"4K初音" +}, +{ +"n":"4K IA", +"v":"4K IA" +}, +{ +"n":"4K GUMI", +"v":"4K GUMI" +}, +{ +"n":"4K SynthV", +"v":"4K SynthV" +}, +{ +"n":"4K UTAU", +"v":"4K UTAU" +}, +{ +"n":"4K幻晓伊", +"v":"4K幻晓伊" +}, +{ +"n":"4K五维介质", +"v":"4K五维介质" +}, +{ +"n":"4K可不", +"v":"4K可不" +}, +{ +"n":"4K ACE虚拟歌姬", +"v":"4K ACE虚拟歌姬" +}, +{ +"n":"4K deepvocal", +"v":"4K deepvocal" +}, +{ +"n":"4K SYNTHV", +"v":"4K SYNTHV" +} +] +}, +{ +"key":"tid", +"name":"4K音乐现场", +"value":[ +{ +"n":"4K华语现场", +"v":"4K华语现场" +}, +{ +"n":"4K欧美现场", +"v":"4K欧美现场" +}, +{ +"n":"4K日语现场", +"v":"4K日语现场" +}, +{ +"n":"4K韩语现场", +"v":"4K韩语现场" +}, +{ +"n":"4K国语现场", +"v":"4K国语现场" +}, +{ +"n":"4K粤语现场", +"v":"4K粤语现场" +}, +{ +"n":"4K live", +"v":"4K live" +}, +{ +"n":"4K音乐剧", +"v":"4K音乐剧" +}, +{ +"n":"4K演唱会", +"v":"4K演唱会" +}, +{ +"n":"4K音乐节", +"v":"4K音乐节" +} +] +}, +{ +"key":"tid", +"name":"4K音乐综合", +"value":[ +{ +"n":"4K经典老歌", +"v":"4K经典老歌" +}, +{ +"n":"4K精选歌单", +"v":"4K精选歌单" +}, +{ +"n":"4K影视音乐", +"v":"4K影视音乐" +}, +{ +"n":"4K游戏音乐", +"v":"4K游戏音乐" +}, +{ +"n":"4K中国戏曲", +"v":"4K中国戏曲" +}, +{ +"n":"4K黑胶唱片", +"v":"4K黑胶唱片" +}, +{ +"n":"4K ACG音乐", +"v":"4K ACG音乐" +}, +{ +"n":"4K音乐剧", +"v":"4K音乐剧" +}, +{ +"n":"4K交响乐", +"v":"4K交响乐" +}, +{ +"n":"4K循环", +"v":"4K循环音乐" +}, +{ +"n":"4K OST", +"v":"4K OST音乐" +}, +{ +"n":"4K BGM", +"v":"4K BGM音乐" +}, +{ +"n":"4K", +"v":"4K音乐" +}, +{ +"n":"4K DJ", +"v":"4K DJ音乐" +}, +{ +"n":"4K电音", +"v":"4K电音" +}, +{ +"n":"4K舞曲", +"v":"4K舞曲" +}, +{ +"n":"4K夜店", +"v":"4K夜店舞曲" +}, +{ +"n":"4K国外舞曲", +"v":"4K国外舞曲" +}, +{ +"n":"4K亚洲舞曲", +"v":"4K亚洲舞曲" +}, +{ +"n":"4K欧美舞曲", +"v":"4K欧美舞曲" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"MV":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"MV", +"v":"MV" +}, +{ +"n":"MV合集", +"v":"MV合集" +}, +{ +"n":"全网第一", +"v":"全网第一" +}, +{"n":"4K60FPS", +"v":"4K60FPS" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"韩国女星MV", +"v":"韩国女星 MV合集" +}, +{ +"n":"李孝利MV", +"v":"李孝利 MV合集" +}, +{ +"n":"李知恩MV", +"v":"李知恩 MV合集" +}, +{ +"n":"林允儿MV", +"v":"林允儿 MV合集" +}, +{ +"n":"金泫雅MV", +"v":"金泫雅 MV合集" +}, +{ +"n":"金泰妍MV", +"v":"金泰妍 MV合集" +}, +{ +"n":"李宣美MV", +"v":"李宣美 MV合集" +}, +{ +"n":"崔雪莉MV", +"v":"崔雪莉 MV合集" +}, +{ +"n":"安喜延MV", +"v":"安喜延 MV合集" +}, +{ +"n":"金亚荣MV", +"v":"金亚荣 MV合集" +}, +{ +"n":"李知恩MV", +"v":"李知恩 MV合集" +}, +{ +"n":"李贞贤MV", +"v":"李贞贤 MV合集" +}, +{ +"n":"洪真英MV", +"v":"洪真英 MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"日本女星MV", +"v":"日本女星 MV合集" +}, +{ +"n":"YUI MV", +"v":"YUI MV合集" +}, +{ +"n":"幸田来未MV", +"v":"幸田来未 MV合集" +}, +{ +"n":"安室奈美惠MV", +"v":"安室奈美惠 MV合集" +}, +{ +"n":"滨崎步MV", +"v":"滨崎步 MV合集" +}, +{ +"n":"古谷仁美MV", +"v":"古谷仁美 MV合集" +}, +{ +"n":"宇多田光MV", +"v":"宇多田光 MV合集" +}, +{ +"n":"伊藤由奈MV", +"v":"伊藤由奈 MV合集" +}, +{ +"n":"玉置成实MV", +"v":"玉置成实 MV合集" +}, +{ +"n":"仓木麻衣MV", +"v":"仓木麻衣 MV合集" +}, +{ +"n":"AngelaAki MV", +"v":"Angela MV合集" +}, +{ +"n":"中岛美雪MV", +"v":"中岛美雪 MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"女星MV", +"v":"女星 MV合集" +}, +{ +"n":"戴佩妮MV", +"v":"戴佩妮 MV合集" +}, +{ +"n":"邓紫棋MV", +"v":"邓紫棋 MV合集" +}, +{ +"n":"张韶涵MV", +"v":"张韶涵 MV合集" +}, +{ +"n":"蔡健雅MV", +"v":"蔡健雅 MV合集" +}, +{ +"n":"莫文蔚MV", +"v":"莫文蔚 MV合集" +}, +{ +"n":"刘若英MV", +"v":"刘若英 MV合集" +}, +{ +"n":"邓丽君MV", +"v":"邓丽君 MV合集" +}, +{ +"n":"蔡依林MV", +"v":"蔡依林 MV合集" +}, +{ +"n":"李宇春MV", +"v":"李宇春 MV合集" +}, +{ +"n":"徐佳莹MV", +"v":"徐佳莹 MV合集" +}, +{ +"n":"杨千嬅MV", +"v":"杨千嬅 MV合集" +}, +{ +"n":"张靓颖MV", +"v":"张靓颖 MV合集" +}, +{ +"n":"杨丞琳MV", +"v":"杨丞琳 MV合集" +}, +{ +"n":"萧亚轩MV", +"v":"萧亚轩 MV合集" +}, +{ +"n":"容祖儿MV", +"v":"容祖儿 MV合集" +}, +{ +"n":"梅艳芳MV", +"v":"梅艳芳 MV合集" +}, +{ +"n":"孙燕姿MV", +"v":"孙燕姿 MV合集" +}, +{ +"n":"袁娅维MV", +"v":"袁娅维 MV合集" +}, +{ +"n":"王菲MV", +"v":"王菲 MV合集" +}, +{ +"n":"梁静茹MV", +"v":"梁静茹 MV合集" +}, +{ +"n":"周慧敏MV", +"v":"周慧敏 MV合集" +}, +{ +"n":"张惠妹MV", +"v":"张惠妹 MV合集" +}, +{ +"n":"周笔畅MV", +"v":"周笔畅 MV合集" +}, +{ +"n":"谭维维MV", +"v":"谭维维 MV合集" +}, +{ +"n":"陈慧娴MV", +"v":"陈慧娴 MV合集" +}, +{ +"n":"郭静MV", +"v":"郭静 MV合集" +}, +{ +"n":"那英MV", +"v":"那英 MV合集" +}, +{ +"n":"韩红MV", +"v":"韩红 MV合集" +}, +{ +"n":"林忆莲MV", +"v":"林忆莲 MV合集" +}, +{ +"n":"李玟MV", +"v":"李玟 MV合集" +}, +{ +"n":"徐小凤MV", +"v":"徐小凤 MV合集" +}, +{ +"n":"卓依婷MV", +"v":"卓依婷 MV合集" +}, +{ +"n":"郁可唯MV", +"v":"郁可唯 MV合集" +}, +{ +"n":"田震MV", +"v":"田震 MV合集" +}, +{ +"n":"凤飞飞MV", +"v":"凤飞飞 MV合集" +}, +{ +"n":"谭晶MV", +"v":"谭晶 MV合集" +}, +{ +"n":"叶倩文MV", +"v":"叶倩文 MV合集" +}, +{ +"n":"王心凌MV", +"v":"王心凌 MV合集" +}, +{ +"n":"郭采洁MV", +"v":"郭采洁 MV合集" +}, +{ +"n":"阿黛尔MV", +"v":"阿黛尔 MV合集" +}, +{ +"n":"LadyGaga MV", +"v":"LadyGaga MV合集" +}, +{ +"n":"布兰妮MV", +"v":"布兰妮 MV合集" +}, +{ +"n":"洛天依MV", +"v":"洛天依 MV合集" +}, +{ +"n":"初音未来MV", +"v":"初音未来 MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"男星MV", +"v":"男星 MV合集" +}, +{ +"n":"周杰伦MV", +"v":"周杰伦 MV合集" +}, +{ +"n":"陈奕迅MV", +"v":"陈奕迅 MV合集" +}, +{ +"n":"刘德华MV", +"v":"刘德华 MV合集" +}, +{ +"n":"郭富城MV", +"v":"郭富城 MV合集" +}, +{ +"n":"张学友MV", +"v":"张学友 MV合集" +}, +{ +"n":"黎明MV", +"v":"黎明 MV合集" +}, +{ +"n":"李宗盛MV", +"v":"李宗盛 MV合集" +}, +{ +"n":"朴树MV", +"v":"朴树 MV合集" +}, +{ +"n":"林子祥MV", +"v":"林子祥 MV合集" +}, +{ +"n":"任贤齐MV", +"v":"任贤齐 MV合集" +}, +{ +"n":"张信哲MV", +"v":"张信哲 MV合集" +}, +{ +"n":"孙楠MV", +"v":"孙楠 MV合集" +}, +{ +"n":"张宇MV", +"v":"张宇 MV合集" +}, +{ +"n":"周华健MV", +"v":"周华健 MV合集" +}, +{ +"n":"薛之谦MV", +"v":"薛之谦 MV合集" +}, +{ +"n":"许嵩MV", +"v":"许嵩 MV合集" +}, +{ +"n":"周深MV", +"v":"周深 MV合集" +}, +{ +"n":"毛不易MV", +"v":"毛不易 MV合集" +}, +{ +"n":"汪苏泷MV", +"v":"汪苏泷 MV合集" +}, +{ +"n":"杨宗纬MV", +"v":"杨宗纬 MV合集" +}, +{ +"n":"胡彦斌MV", +"v":"胡彦斌 MV合集" +}, +{ +"n":"李荣浩MV", +"v":"李荣浩 MV合集" +}, +{ +"n":"林志炫MV", +"v":"林志炫 MV合集" +}, +{ +"n":"陶喆MV", +"v":"陶喆 MV合集" +}, +{ +"n":"胡夏MV", +"v":"胡夏 MV合集" +}, +{ +"n":"李玉刚MV", +"v":"李玉刚 MV合集" +}, +{ +"n":"弦子MV", +"v":"弦子 MV合集" +}, +{ +"n":"陈小春MV", +"v":"陈小春 MV合集" +}, +{ +"n":"鹿晗MV", +"v":"鹿晗 MV合集" +}, +{ +"n":"许巍MV", +"v":"许巍 MV合集" +}, +{ +"n":"林俊杰MV", +"v":"林俊杰 MV合集" +}, +{ +"n":"赵雷MV", +"v":"赵雷 MV合集" +}, +{ +"n":"谭咏麟MV", +"v":"谭咏麟 MV合集" +}, +{ +"n":"周传雄MV", +"v":"周传雄 MV合集" +}, +{ +"n":"张国荣MV", +"v":"张国荣 MV合集" +}, +{ +"n":"李健MV", +"v":"李健 MV合集" +}, +{ +"n":"华晨宇MV", +"v":"华晨宇 MV合集" +}, +{ +"n":"大张伟MV", +"v":"大张伟 MV合集" +}, +{"n":"王俊凯MV", +"v":"王俊凯 MV合集" +}, +{ +"n":"易烊千玺MV", +"v":"易烊千玺 MV合集" +}, +{ +"n":"王源MV", +"v":"王源 MV合集" +}, +{ +"n":"田馥甄MV", +"v":"田馥甄 MV合集" +}, +{ +"n":"小虎队MV", +"v":"小虎队 MV合集" +}, +{ +"n":"张杰MV", +"v":"张杰 MV合集" +}, +{ +"n":"伍佰MV", +"v":"伍佰 MV合集" +}, +{ +"n":"刀郎MV", +"v":"刀郎 MV合集" +}, +{ +"n":"潘玮柏MV", +"v":"潘玮柏 MV合集" +}, +{ +"n":"林宥嘉MV", +"v":"林宥嘉 MV合集" +}, +{ +"n":"蔡徐坤MV", +"v":"蔡徐坤 MV合集" +}, +{ +"n":"李圣杰MV", +"v":"李圣杰 MV合集" +}, +{ +"n":"萧敬腾MV", +"v":"萧敬腾 MV合集" +}, +{ +"n":"焦迈奇MV", +"v":"焦迈奇 MV合集" +}, +{ +"n":"尤长靖MV", +"v":"尤长靖 MV合集" +}, +{ +"n":"郑中基MV", +"v":"郑中基 MV合集" +}, +{ +"n":"张艺兴MV", +"v":"张艺兴 MV合集" +}, +{ +"n":"王嘉尔MV", +"v":"王嘉尔 MV合集" +}, +{ +"n":"刘宪华MV", +"v":"刘宪华 MV合集" +}, +{ +"n":"张敬轩MV", +"v":"张敬轩 MV合集" +}, +{ +"n":"李克勤MV", +"v":"李克勤 MV合集" +}, +{ +"n":"阿杜MV", +"v":"阿杜 MV合集" +}, +{ +"n":"崔健MV", +"v":"崔健 MV合集" +}, +{ +"n":"庾澄庆MV", +"v":"庾澄庆 MV合集" +}, +{ +"n":"汪峰MV", +"v":"汪峰 MV合集" +}, +{ +"n":"杨坤MV", +"v":"杨坤 MV合集" +}, +{ +"n":"张震岳MV", +"v":"张震岳 MV合集" +}, +{ +"n":"齐秦MV", +"v":"齐秦 MV合集" +}, +{ +"n":"张雨生MV", +"v":"张雨生 MV合集" +}, +{ +"n":"黄品源MV", +"v":"黄品源 MV合集" +}, +{ +"n":"丁当MV", +"v":"丁当 MV合集" +}, +{ +"n":"郑智化MV", +"v":"郑智化 MV合集" +}, +{ +"n":"谢霆锋MV", +"v":"谢霆锋 MV合集" +}, +{ +"n":"黄小琥MV", +"v":"黄小琥 MV合集" +}, +{ +"n":"任嘉伦MV", +"v":"任嘉伦 MV合集" +}, +{ +"n":"宋亚森MV", +"v":"宋亚森 MV合集" +}, +{ +"n":"费玉清MV", +"v":"费玉清 MV合集" +}, +{ +"n":"费翔MV", +"v":"费翔 MV合集" +}, +{ +"n":"金志文MV", +"v":"金志文 MV合集" +}, +{ +"n":"黄家强MV", +"v":"黄家强 MV合集" +}, +{ +"n":"方大同MV", +"v":"方大同 MV合集" +}, +{ +"n":"吴克群MV", +"v":"吴克群 MV合集" +}, +{ +"n":"罗大佑MV", +"v":"罗大佑 MV合集" +}, +{ +"n":"光良MV", +"v":"光良 MV合集" +}, +{ +"n":"王杰MV", +"v":"王杰 MV合集" +}, +{ +"n":"金池MV", +"v":"金池 MV合集" +}, +{ +"n":"屠洪刚MV", +"v":"屠洪刚 MV合集" +}, +{ +"n":"戴荃MV", +"v":"戴荃 MV合集" +}, +{ +"n":"罗志祥MV", +"v":"罗志祥 MV合集" +}, +{ +"n":"王力宏MV", +"v":"王力宏 MV合集" +}, +{ +"n":"迈克尔杰克逊MV", +"v":"迈克尔杰克逊 MV合集" +}, +{ +"n":"泰勒·斯威夫特MV", +"v":"泰勒·斯威夫特 MV合集" +}, +{ +"n":"贾斯丁比伯MV", +"v":"贾斯丁比伯 MV合集" +} +] +}, +{ +"key":"tid", +"name":"语种", +"value":[ +{ +"n":"华语MV", +"v":"华语 MV合集" +}, +{ +"n":"欧美MV", +"v":"欧美 MV合集" +}, +{ +"n":"日语MV", +"v":"日语 MV合集" +}, +{ +"n":"韩语MV", +"v":"韩语 MV合集" +}, +{ +"n":"国语MV", +"v":"国语 MV合集" +}, +{ +"n":"粤语MV", +"v":"粤语 MV合集" +}, +{ +"n":"闽南语MV", +"v":"闽南语 MV合集" +}, +{ +"n":"东南亚MV", +"v":"东南亚 MV合集" +}, +{ +"n":"英语MV", +"v":"英语 MV合集" +}, +{ +"n":"俄语MV", +"v":"俄语 MV合集" +}, +{ +"n":"印度MV", +"v":"印度 MV合集" +}, +{ +"n":"自制MV", +"v":"自制 MV合集" +} +] +}, +{ +"key":"tid", +"name":"乐队组合", +"value":[ +{ +"n":"乐队MV", +"v":"乐队 MV合集" +}, +{ +"n":"组合MV", +"v":"组合 MV合集" +}, +{ +"n":"Beyond MV", +"v":"Beyond MV合集" +}, +{ +"n":"凤凰传奇MV", +"v":"凤凰传奇 MV合集" +}, +{ +"n":"纵贯线MV", +"v":"纵贯线 MV合集" +}, +{ +"n":"苏打绿MV", +"v":"苏打绿 MV合集" +}, +{ +"n":"五月天MV", +"v":"五月天 MV合集" +}, +{ +"n":"TFBOYS MV", +"v":"TFBOYS MV合集" +}, +{ +"n":"羽泉MV", +"v":"羽泉 MV合集" +}, +{ +"n":"草蜢MV", +"v":"草蜢 MV合集" +}, +{ +"n":"逃跑计划MV", +"v":"逃跑计划 MV合集" +}, +{ +"n":"青鸟飞鱼MV", +"v":"青鸟飞鱼 MV合集" +}, +{ +"n":"飞儿乐队MV", +"v":"飞儿乐队 MV合集" +}, +{ +"n":"花儿乐队MV", +"v":"花儿乐队 MV合集" +}, +{ +"n":"南拳妈妈MV", +"v":"南拳妈妈 MV合集" +}, +{ +"n":"水木年华MV", +"v":"水木年华 MV合集" +}, +{ +"n":"动力火车MV", +"v":"动力火车 MV合集" +}, +{ +"n":"筷子兄弟MV", +"v":"筷子兄弟 MV合集" +}, +{ +"n":"鹿先森乐队MV", +"v":"鹿先森乐队 MV合集" +}, +{ +"n":"信乐队MV", +"v":"信乐队 MV合集" +}, +{ +"n":"旅行团乐队MV", +"v":"旅行团乐队 MV合集" +}, +{ +"n":"林肯公园MV", +"v":"林肯公园 MV合集" +}, +{ +"n":"BIGBANG MV", +"v":"BIGBANG MV合集" +}, +{ +"n":"后街男孩MV", +"v":"后街男孩 MV合集" +}, +{ +"n":"夜愿乐队MV", +"v":"夜愿乐队 MV合集" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"4K MV":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K MV", +"v":"4K MV" +}, +{ +"n":"4K MV合集", +"v":"4K MV合集" +}, +{ +"n":"4K全网第一", +"v":"4K全网第一" +}, +{"n":"4K60FPS", +"v":"4K60FPS" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K韩国女星MV", +"v":"4K韩国女星 MV合集" +}, +{ +"n":"4K李孝利MV", +"v":"4K李孝利 MV合集" +}, +{ +"n":"4K李知恩MV", +"v":"4K李知恩 MV合集" +}, +{ +"n":"4K林允儿MV", +"v":"4K林允儿 MV合集" +}, +{ +"n":"4K金泫雅MV", +"v":"4K金泫雅 MV合集" +}, +{ +"n":"4K金泰妍MV", +"v":"4K金泰妍 MV合集" +}, +{ +"n":"4K李宣美MV", +"v":"4K李宣美 MV合集" +}, +{ +"n":"4K崔雪莉MV", +"v":"4K崔雪莉 MV合集" +}, +{ +"n":"4K安喜延MV", +"v":"4K安喜延 MV合集" +}, +{ +"n":"4K金亚荣MV", +"v":"4K金亚荣 MV合集" +}, +{ +"n":"4K李知恩MV", +"v":"4K李知恩 MV合集" +}, +{ +"n":"4K李贞贤MV", +"v":"4K李贞贤 MV合集" +}, +{ +"n":"4K洪真英MV", +"v":"4K洪真英 MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K日本女星MV", +"v":"4K日本女星 MV合集" +}, +{ +"n":"4K YUI MV", +"v":"4K YUI MV合集" +}, +{ +"n":"4K幸田来未MV", +"v":"4K幸田来未 MV合集" +}, +{ +"n":"4K安室奈美惠MV", +"v":"4K安室奈美惠 MV合集" +}, +{ +"n":"4K滨崎步MV", +"v":"4K滨崎步 MV合集" +}, +{ +"n":"4K古谷仁美MV", +"v":"4K古谷仁美 MV合集" +}, +{ +"n":"4K宇多田光MV", +"v":"4K宇多田光 MV合集" +}, +{ +"n":"4K伊藤由奈MV", +"v":"4K伊藤由奈 MV合集" +}, +{ +"n":"4K玉置成实MV", +"v":"4K玉置成实 MV合集" +}, +{ +"n":"4K仓木麻衣MV", +"v":"4K仓木麻衣 MV合集" +}, +{ +"n":"4K AngelaAki MV", +"v":"4K Angela MV合集" +}, +{ +"n":"4K中岛美雪MV", +"v":"4K中岛美雪 MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K女星MV", +"v":"4K女星 MV合集" +}, +{ +"n":"4K戴佩妮MV", +"v":"4K戴佩妮 MV合集" +}, +{ +"n":"4K邓紫棋MV", +"v":"4K邓紫棋 MV合集" +}, +{ +"n":"4K张韶涵MV", +"v":"4K张韶涵 MV合集" +}, +{ +"n":"4K蔡健雅MV", +"v":"4K蔡健雅 MV合集" +}, +{ +"n":"4K莫文蔚MV", +"v":"4K莫文蔚 MV合集" +}, +{ +"n":"4K刘若英MV", +"v":"4K刘若英 MV合集" +}, +{ +"n":"4K邓丽君MV", +"v":"4K邓丽君 MV合集" +}, +{ +"n":"4K蔡依林MV", +"v":"4K蔡依林 MV合集" +}, +{ +"n":"4K李宇春MV", +"v":"4K李宇春 MV合集" +}, +{ +"n":"4K徐佳莹MV", +"v":"4K徐佳莹 MV合集" +}, +{ +"n":"4K杨千嬅MV", +"v":"4K杨千嬅 MV合集" +}, +{ +"n":"4K张靓颖MV", +"v":"4K张靓颖 MV合集" +}, +{ +"n":"4K杨丞琳MV", +"v":"4K杨丞琳 MV合集" +}, +{ +"n":"4K萧亚轩MV", +"v":"4K萧亚轩 MV合集" +}, +{ +"n":"4K容祖儿MV", +"v":"4K容祖儿 MV合集" +}, +{ +"n":"4K梅艳芳MV", +"v":"4K梅艳芳 MV合集" +}, +{ +"n":"4K孙燕姿MV", +"v":"4K孙燕姿 MV合集" +}, +{ +"n":"4K袁娅维MV", +"v":"4K袁娅维 MV合集" +}, +{ +"n":"4K王菲MV", +"v":"4K王菲 MV合集" +}, +{ +"n":"4K梁静茹MV", +"v":"4K梁静茹 MV合集" +}, +{ +"n":"4K周慧敏MV", +"v":"4K周慧敏 MV合集" +}, +{ +"n":"4K张惠妹MV", +"v":"4K张惠妹 MV合集" +}, +{ +"n":"4K周笔畅MV", +"v":"4K周笔畅 MV合集" +}, +{ +"n":"4K谭维维MV", +"v":"4K谭维维 MV合集" +}, +{ +"n":"4K陈慧娴MV", +"v":"4K陈慧娴 MV合集" +}, +{ +"n":"4K郭静MV", +"v":"4K郭静 MV合集" +}, +{ +"n":"4K那英MV", +"v":"4K那英 MV合集" +}, +{ +"n":"4K韩红MV", +"v":"4K韩红 MV合集" +}, +{ +"n":"4K林忆莲MV", +"v":"4K林忆莲 MV合集" +}, +{ +"n":"4K李玟MV", +"v":"4K李玟 MV合集" +}, +{ +"n":"4K徐小凤MV", +"v":"4K徐小凤 MV合集" +}, +{ +"n":"4K卓依婷MV", +"v":"4K卓依婷 MV合集" +}, +{ +"n":"4K郁可唯MV", +"v":"4K郁可唯 MV合集" +}, +{ +"n":"4K田震MV", +"v":"4K田震 MV合集" +}, +{ +"n":"4K凤飞飞MV", +"v":"4K凤飞飞 MV合集" +}, +{ +"n":"4K谭晶MV", +"v":"4K谭晶 MV合集" +}, +{ +"n":"4K叶倩文MV", +"v":"4K叶倩文 MV合集" +}, +{ +"n":"4K王心凌MV", +"v":"4K王心凌 MV合集" +}, +{ +"n":"4K郭采洁MV", +"v":"4K郭采洁 MV合集" +}, +{ +"n":"4K阿黛尔MV", +"v":"4K阿黛尔 MV合集" +}, +{ +"n":"4K LadyGaga MV", +"v":"4K LadyGaga MV合集" +}, +{ +"n":"4K布兰妮MV", +"v":"4K布兰妮 MV合集" +}, +{ +"n":"4K洛天依MV", +"v":"4K洛天依 MV合集" +}, +{ +"n":"4K初音未来MV", +"v":"4K初音未来 MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K男星MV", +"v":"4K男星 MV合集" +}, +{ +"n":"4K周杰伦MV", +"v":"4K周杰伦 MV合集" +}, +{ +"n":"4K陈奕迅MV", +"v":"4K陈奕迅 MV合集" +}, +{ +"n":"4K刘德华MV", +"v":"4K刘德华 MV合集" +}, +{ +"n":"4K郭富城MV", +"v":"4K郭富城 MV合集" +}, +{ +"n":"4K张学友MV", +"v":"4K张学友 MV合集" +}, +{ +"n":"4K黎明MV", +"v":"4K黎明 MV合集" +}, +{ +"n":"4K李宗盛MV", +"v":"4K李宗盛 MV合集" +}, +{ +"n":"4K朴树MV", +"v":"4K朴树 MV合集" +}, +{ +"n":"4K林子祥MV", +"v":"4K林子祥 MV合集" +}, +{ +"n":"4K任贤齐MV", +"v":"4K任贤齐 MV合集" +}, +{ +"n":"4K张信哲MV", +"v":"4K张信哲 MV合集" +}, +{ +"n":"4K孙楠MV", +"v":"4K孙楠 MV合集" +}, +{ +"n":"4K张宇MV", +"v":"4K张宇 MV合集" +}, +{ +"n":"4K周华健MV", +"v":"4K周华健 MV合集" +}, +{ +"n":"4K薛之谦MV", +"v":"4K薛之谦 MV合集" +}, +{ +"n":"4K许嵩MV", +"v":"4K许嵩 MV合集" +}, +{ +"n":"4K周深MV", +"v":"4K周深 MV合集" +}, +{ +"n":"4K毛不易MV", +"v":"4K毛不易 MV合集" +}, +{ +"n":"4K汪苏泷MV", +"v":"4K汪苏泷 MV合集" +}, +{ +"n":"4K杨宗纬MV", +"v":"4K杨宗纬 MV合集" +}, +{ +"n":"4K胡彦斌MV", +"v":"4K胡彦斌 MV合集" +}, +{ +"n":"4K李荣浩MV", +"v":"4K李荣浩 MV合集" +}, +{ +"n":"4K林志炫MV", +"v":"4K林志炫 MV合集" +}, +{ +"n":"4K陶喆MV", +"v":"4K陶喆 MV合集" +}, +{ +"n":"4K胡夏MV", +"v":"4K胡夏 MV合集" +}, +{ +"n":"4K李玉刚MV", +"v":"4K李玉刚 MV合集" +}, +{ +"n":"4K弦子MV", +"v":"4K弦子 MV合集" +}, +{ +"n":"4K陈小春MV", +"v":"4K陈小春 MV合集" +}, +{ +"n":"4K鹿晗MV", +"v":"4K鹿晗 MV合集" +}, +{ +"n":"4K许巍MV", +"v":"4K许巍 MV合集" +}, +{ +"n":"4K林俊杰MV", +"v":"4K林俊杰 MV合集" +}, +{ +"n":"4K赵雷MV", +"v":"4K赵雷 MV合集" +}, +{ +"n":"4K谭咏麟MV", +"v":"4K谭咏麟 MV合集" +}, +{ +"n":"4K周传雄MV", +"v":"4K周传雄 MV合集" +}, +{ +"n":"4K张国荣MV", +"v":"4K张国荣 MV合集" +}, +{ +"n":"4K李健MV", +"v":"4K李健 MV合集" +}, +{ +"n":"4K华晨宇MV", +"v":"4K华晨宇 MV合集" +}, +{ +"n":"4K大张伟MV", +"v":"4K大张伟 MV合集" +}, +{"n":"4K王俊凯MV", +"v":"4K王俊凯 MV合集" +}, +{ +"n":"4K易烊千玺MV", +"v":"4K易烊千玺 MV合集" +}, +{ +"n":"4K王源MV", +"v":"4K王源 MV合集" +}, +{ +"n":"4K田馥甄MV", +"v":"4K田馥甄 MV合集" +}, +{ +"n":"4K小虎队MV", +"v":"4K小虎队 MV合集" +}, +{ +"n":"4K张杰MV", +"v":"4K张杰 MV合集" +}, +{ +"n":"4K伍佰MV", +"v":"4K伍佰 MV合集" +}, +{ +"n":"4K刀郎MV", +"v":"4K刀郎 MV合集" +}, +{ +"n":"4K潘玮柏MV", +"v":"4K潘玮柏 MV合集" +}, +{ +"n":"4K林宥嘉MV", +"v":"4K林宥嘉 MV合集" +}, +{ +"n":"4K蔡徐坤MV", +"v":"4K蔡徐坤 MV合集" +}, +{ +"n":"4K李圣杰MV", +"v":"4K李圣杰 MV合集" +}, +{ +"n":"4K萧敬腾MV", +"v":"4K萧敬腾 MV合集" +}, +{ +"n":"4K焦迈奇MV", +"v":"4K焦迈奇 MV合集" +}, +{ +"n":"4K尤长靖MV", +"v":"4K尤长靖 MV合集" +}, +{ +"n":"4K郑中基MV", +"v":"4K郑中基 MV合集" +}, +{ +"n":"4K张艺兴MV", +"v":"4K张艺兴 MV合集" +}, +{ +"n":"4K王嘉尔MV", +"v":"4K王嘉尔 MV合集" +}, +{ +"n":"4K刘宪华MV", +"v":"4K刘宪华 MV合集" +}, +{ +"n":"4K张敬轩MV", +"v":"4K张敬轩 MV合集" +}, +{ +"n":"4K李克勤MV", +"v":"4K李克勤 MV合集" +}, +{ +"n":"4K阿杜MV", +"v":"4K阿杜 MV合集" +}, +{ +"n":"4K崔健MV", +"v":"4K崔健 MV合集" +}, +{ +"n":"4K庾澄庆MV", +"v":"4K庾澄庆 MV合集" +}, +{ +"n":"4K汪峰MV", +"v":"4K汪峰 MV合集" +}, +{ +"n":"4K杨坤MV", +"v":"4K杨坤 MV合集" +}, +{ +"n":"4K张震岳MV", +"v":"4K张震岳 MV合集" +}, +{ +"n":"4K齐秦MV", +"v":"4K齐秦 MV合集" +}, +{ +"n":"4K张雨生MV", +"v":"4K张雨生 MV合集" +}, +{ +"n":"4K黄品源MV", +"v":"4K黄品源 MV合集" +}, +{ +"n":"4K丁当MV", +"v":"4K丁当 MV合集" +}, +{ +"n":"4K郑智化MV", +"v":"4K郑智化 MV合集" +}, +{ +"n":"4K谢霆锋MV", +"v":"4K谢霆锋 MV合集" +}, +{ +"n":"4K黄小琥MV", +"v":"4K黄小琥 MV合集" +}, +{ +"n":"4K任嘉伦MV", +"v":"4K任嘉伦 MV合集" +}, +{ +"n":"4K宋亚森MV", +"v":"4K宋亚森 MV合集" +}, +{ +"n":"4K费玉清MV", +"v":"4K费玉清 MV合集" +}, +{ +"n":"4K费翔MV", +"v":"4K费翔 MV合集" +}, +{ +"n":"4K金志文MV", +"v":"4K金志文 MV合集" +}, +{ +"n":"4K黄家强MV", +"v":"4K黄家强 MV合集" +}, +{ +"n":"4K方大同MV", +"v":"4K方大同 MV合集" +}, +{ +"n":"4K吴克群MV", +"v":"4K吴克群 MV合集" +}, +{ +"n":"4K罗大佑MV", +"v":"4K罗大佑 MV合集" +}, +{ +"n":"4K光良MV", +"v":"4K光良 MV合集" +}, +{ +"n":"4K王杰MV", +"v":"4K王杰 MV合集" +}, +{ +"n":"4K金池MV", +"v":"4K金池 MV合集" +}, +{ +"n":"4K屠洪刚MV", +"v":"4K屠洪刚 MV合集" +}, +{ +"n":"4K戴荃MV", +"v":"4K戴荃 MV合集" +}, +{ +"n":"4K罗志祥MV", +"v":"4K罗志祥 MV合集" +}, +{ +"n":"4K王力宏MV", +"v":"4K王力宏 MV合集" +}, +{ +"n":"4K迈克尔杰克逊MV", +"v":"4K迈克尔杰克逊 MV合集" +}, +{ +"n":"4K泰勒·斯威夫特MV", +"v":"4K泰勒·斯威夫特 MV合集" +}, +{ +"n":"4K贾斯丁比伯MV", +"v":"4K贾斯丁比伯 MV合集" +} +] +}, +{ +"key":"tid", +"name":"语种", +"value":[ +{ +"n":"4K华语MV", +"v":"4K华语 MV合集" +}, +{ +"n":"4K欧美MV", +"v":"4K欧美 MV合集" +}, +{ +"n":"4K日语MV", +"v":"4K日语 MV合集" +}, +{ +"n":"4K韩语MV", +"v":"4K韩语 MV合集" +}, +{ +"n":"4K国语MV", +"v":"4K国语 MV合集" +}, +{ +"n":"4K粤语MV", +"v":"4K粤语 MV合集" +}, +{ +"n":"4K闽南语MV", +"v":"4K闽南语 MV合集" +}, +{ +"n":"4K东南亚MV", +"v":"4K东南亚 MV合集" +}, +{ +"n":"4K英语MV", +"v":"4K英语 MV合集" +}, +{ +"n":"4K俄语MV", +"v":"4K俄语 MV合集" +}, +{ +"n":"4K印度MV", +"v":"4K印度 MV合集" +}, +{ +"n":"4K自制MV", +"v":"4K自制 MV合集" +} +] +}, +{ +"key":"tid", +"name":"乐队组合", +"value":[ +{ +"n":"4K乐队MV", +"v":"4K乐队 MV合集" +}, +{ +"n":"4K组合MV", +"v":"4K组合 MV合集" +}, +{ +"n":"4K Beyond MV", +"v":"4K Beyond MV合集" +}, +{ +"n":"4K凤凰传奇MV", +"v":"4K凤凰传奇 MV合集" +}, +{ +"n":"4K纵贯线MV", +"v":"4K纵贯线 MV合集" +}, +{ +"n":"4K苏打绿MV", +"v":"4K苏打绿 MV合集" +}, +{ +"n":"4K五月天MV", +"v":"4K五月天 MV合集" +}, +{ +"n":"4K TFBOYS MV", +"v":"4K TFBOYS MV合集" +}, +{ +"n":"4K羽泉MV", +"v":"4K羽泉 MV合集" +}, +{ +"n":"4K草蜢MV", +"v":"4K草蜢 MV合集" +}, +{ +"n":"4K逃跑计划MV", +"v":"4K逃跑计划 MV合集" +}, +{ +"n":"4K青鸟飞鱼MV", +"v":"4K青鸟飞鱼 MV合集" +}, +{ +"n":"4K飞儿乐队MV", +"v":"4K飞儿乐队 MV合集" +}, +{ +"n":"4K花儿乐队MV", +"v":"4K花儿乐队 MV合集" +}, +{ +"n":"4K南拳妈妈MV", +"v":"4K南拳妈妈 MV合集" +}, +{ +"n":"4K水木年华MV", +"v":"4K水木年华 MV合集" +}, +{ +"n":"4K动力火车MV", +"v":"4K动力火车 MV合集" +}, +{ +"n":"4K筷子兄弟MV", +"v":"4K筷子兄弟 MV合集" +}, +{ +"n":"4K鹿先森乐队MV", +"v":"4K鹿先森乐队 MV合集" +}, +{ +"n":"4K信乐队MV", +"v":"4K信乐队 MV合集" +}, +{ +"n":"4K旅行团乐队MV", +"v":"4K旅行团乐队 MV合集" +}, +{ +"n":"4K林肯公园MV", +"v":"4K林肯公园 MV合集" +}, +{ +"n":"4K BIGBANG MV", +"v":"4K BIGBANG MV合集" +}, +{ +"n":"4K后街男孩MV", +"v":"4K后街男孩 MV合集" +}, +{ +"n":"4K夜愿乐队MV", +"v":"4K夜愿乐队 MV合集" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"女团":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"女团", +"v":"女团" +}, +{ +"n":"女团合集", +"v":"女团合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"中国女团", +"v":"中国女团" +}, +{ +"n":"中国女团合集", +"v":"中国女团合集" +}, +{ +"n":"SNH48", +"v":"SNH48 MV合集" +}, +{ +"n":"S.H.E", +"v":"S.H.E MV合集" +}, +{ +"n":"Twins", +"v":"Twins MV合集" +}, +{ +"n":"火箭少女101", +"v":"火箭少女101 MV合集" +}, +{ +"n":"BY2", +"v":"BY2 MV合集" +}, +{ +"n":"S.I.N.G", +"v":"S.I.N.G MV合集" +}, +{ +"n":"3unshine", +"v":"3unshine MV合集" +}, +{ +"n":"蜜蜂少女队", +"v":"蜜蜂少女队 MV合集" +}, +{ +"n":"七朵组合", +"v":"七朵组合 MV合集" +}, +{ +"n":"GNZ48", +"v":"GNZ48 MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"韩国女团", +"v":"韩国女团" +}, +{ +"n":"韩国女团合集", +"v":"韩国女团合集" +}, +{ +"n":"TWICE", +"v":"TWICE MV合集" +}, +{ +"n":"4MINUTE", +"v":"4MINUTE MV合集" +}, +{ +"n":"EXID", +"v":"EXID MV合集" +}, +{ +"n":"KARA", +"v":"KARA MV合集" +}, +{ +"n":"TARA", +"v":"TARA MV合集" +}, +{ +"n":"BLACKPINK", +"v":"BLACKPINK MV合集" +}, +{ +"n":"LOONA", +"v":"LOONA MV合集" +}, +{ +"n":"ITZY", +"v":"ITZY MV合集" +}, +{ +"n":"RedVelvet", +"v":"RedVelvet MV合集" +}, +{ +"n":"Everglow", +"v":"Everglow MV合集" +}, +{ +"n":"Mamamoo", +"v":"Mamamoo MV合集" +}, +{ +"n":"少女时代", +"v":"少女时代 MV合集" +}, +{ +"n":"S.E.S", +"v":"S.E.S MV合集" +}, +{ +"n":"FIN.K.L", +"v":"FIN.K.L MV合集" +}, +{ +"n":"2NE1", +"v":"2NE1 MV合集" +}, +{ +"n":"WonderGirls", +"v":"WonderGirls MV合集" +}, +{ +"n":"IZ*ONE", +"v":"IZ*ONE MV合集" +}, +{ +"n":"Sistar", +"v":"Sistar MV合集" +}, +{ +"n":"Apink", +"v":"Apink MV合集" +}, +{ +"n":"AOA", +"v":"AOA MV合集" +}, +{ +"n":"GFRIEND", +"v":"GFRIEND MV合集" +}, +{ +"n":"f(x)", +"v":"f(x) MV合集" +}, +{ +"n":"(G)I-DLE", +"v":"(G)I-DLE MV合集" +}, +{"n":"Itzy", +"v":"Itzy MV合集" +}, +{ +"n":"Oh!GG", +"v":"Oh!GG MV合集" +}, +{ +"n":"GirlCrush", +"v":"GirlCrush MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"日本女团", +"v":"日本女团" +}, +{ +"n":"日本女团合集", +"v":"日本女团合集" +}, +{ +"n":"AKB48", +"v":"AKB48 MV合集" +}, +{ +"n":"SKE48", +"v":"SKE48 MV合集" +}, +{ +"n":"NMB48", +"v":"NMB48 MV合集" +}, +{ +"n":"JKT48", +"v":"JKT48 MV合集" +}, +{ +"n":"HKT48", +"v":"HKT48 MV合集" +}, +{ +"n":"AKB48TeamTP", +"v":"AKB48TeamTP MV合集" +}, +{ +"n":"Perfume", +"v":"Perfume MV合集" +}, +{ +"n":"桃色幸运草Z", +"v":"桃色幸运草Z MV合集" +}, +{ +"n":"乃木坂46乃", +"v":"乃木坂46乃 MV合集" +}, +{ +"n":"樱坂46", +"v":"樱坂46 MV合集" +}, +{ +"n":"日向坂46", +"v":"日向坂46 MV合集" +}, +{ +"n":"E-girls", +"v":"E-girls MV合集" +}, +{ +"n":"NiziU", +"v":"NiziU MV合集" +}, +{ +"n":"BiSH", +"v":"BiSH MV合集" +}, +{ +"n":"早安少女组", +"v":"早安少女组 MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K女团", +"v":"4K女团" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K中国女团", +"v":"4K中国女团" +}, +{ +"n":"4K中国女团合集", +"v":"4K中国女团合集" +}, +{ +"n":"4K SNH48", +"v":"4K SNH48 MV合集" +}, +{ +"n":"4K S.H.E", +"v":"4K S.H.E MV合集" +}, +{ +"n":"4K Twins", +"v":"4K Twins MV合集" +}, +{ +"n":"4K火箭少女101", +"v":"4K火箭少女101 MV合集" +}, +{ +"n":"4K BY2", +"v":"4K BY2 MV合集" +}, +{ +"n":"4K S.I.N.G", +"v":"4K S.I.N.G MV合集" +}, +{ +"n":"4K 3unshine", +"v":"4K 3unshine MV合集" +}, +{ +"n":"4K蜜蜂少女队", +"v":"4K蜜蜂少女队 MV合集" +}, +{ +"n":"4K七朵组合", +"v":"4K七朵组合 MV合集" +}, +{ +"n":"4K GNZ48", +"v":"4K GNZ48 MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K韩国女团", +"v":"4K韩国女团" +}, +{ +"n":"4K韩国女团合集", +"v":"4K韩国女团合集" +}, +{ +"n":"4K TWICE", +"v":"4K TWICE MV合集" +}, +{ +"n":"4K 4MINUTE", +"v":"4K 4MINUTE MV合集" +}, +{ +"n":"4K EXID", +"v":"4K EXID MV合集" +}, +{ +"n":"4K KARA", +"v":"4K KARA MV合集" +}, +{ +"n":"4K TARA", +"v":"4K TARA MV合集" +}, +{ +"n":"4K BLACKPINK", +"v":"4K BLACKPINK MV合集" +}, +{ +"n":"4K LOONA", +"v":"4K LOONA MV合集" +}, +{ +"n":"4K ITZY", +"v":"4K ITZY MV合集" +}, +{ +"n":"4K RedVelvet", +"v":"4K RedVelvet MV合集" +}, +{ +"n":"4K Everglow", +"v":"4K Everglow MV合集" +}, +{ +"n":"4K Mamamoo", +"v":"4K Mamamoo MV合集" +}, +{ +"n":"4K少女时代", +"v":"4K少女时代 MV合集" +}, +{ +"n":"4K S.E.S", +"v":"4K S.E.S MV合集" +}, +{ +"n":"4K FIN.K.L", +"v":"4K FIN.K.L MV合集" +}, +{ +"n":"4K 2NE1", +"v":"4K 2NE1 MV合集" +}, +{ +"n":"4K WonderGirls", +"v":"4K WonderGirls MV合集" +}, +{ +"n":"4K IZ*ONE", +"v":"4K IZ*ONE MV合集" +}, +{ +"n":"4K Sistar", +"v":"4K Sistar MV合集" +}, +{ +"n":"4K Apink", +"v":"4K Apink MV合集" +}, +{ +"n":"4K AOA", +"v":"4K AOA MV合集" +}, +{ +"n":"4K GFRIEND", +"v":"4K GFRIEND MV合集" +}, +{ +"n":"4K f(x)", +"v":"4K f(x) MV合集" +}, +{ +"n":"4K (G)I-DLE", +"v":"4K (G)I-DLE MV合集" +}, +{"n":"4K Itzy", +"v":"4K Itzy MV合集" +}, +{ +"n":"4K Oh!GG", +"v":"4K Oh!GG MV合集" +}, +{ +"n":"4K GirlCrush", +"v":"4K GirlCrush MV合集" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K日本女团", +"v":"4K日本女团" +}, +{ +"n":"4K日本女团合集", +"v":"4K日本女团合集" +}, +{ +"n":"4K AKB48", +"v":"4K AKB48 MV合集" +}, +{ +"n":"4K SKE48", +"v":"4K SKE48 MV合集" +}, +{ +"n":"4K NMB48", +"v":"4K NMB48 MV合集" +}, +{ +"n":"4K JKT48", +"v":"4K JKT48 MV合集" +}, +{ +"n":"4K HKT48", +"v":"4K HKT48 MV合集" +}, +{ +"n":"4K AKB48 TeamTP", +"v":"4K AKB48 TeamTP MV合集" +}, +{ +"n":"4K Perfume", +"v":"4K Perfume MV合集" +}, +{ +"n":"4K桃色幸运草Z", +"v":"4K桃色幸运草Z MV合集" +}, +{ +"n":"4K乃木坂46乃", +"v":"4K乃木坂46乃 MV合集" +}, +{ +"n":"4K樱坂46", +"v":"4K樱坂46 MV合集" +}, +{ +"n":"4K日向坂46", +"v":"4K日向坂46 MV合集" +}, +{ +"n":"4K E-girls", +"v":"4K E-girls MV合集" +}, +{ +"n":"4K NiziU", +"v":"4K NiziU MV合集" +}, +{ +"n":"4K BiSH", +"v":"4K BiSH MV合集" +}, +{ +"n":"4K早安少女组", +"v":"4K早安少女组 MV合集" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"影视MV":[ +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"球星":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"球星", +"v":"球星"}, +{ +"n":"梅西", +"v":"梅西"}, +{ +"n":"C罗", +"v":"C罗"}, +{ +"n":"天下足球", +"v":"天下足球"}, +{ +"n":"罗纳尔多", +"v":"罗纳尔多"}, +{ +"n":"亨利", +"v":"亨利"}, +{ +"n":"小罗", +"v":"小罗"}, +{ +"n":"齐达内", +"v":"齐达内"}, +{ +"n":"贝克汉姆", +"v":"贝克汉姆"}, +{ +"n":"内马尔", +"v":"内马尔"}, +{ +"n":"德布劳内", +"v":"德布劳内"}, +{ +"n":"欧冠", +"v":"欧冠"}, +{ +"n":"世界杯", +"v":"世界杯"}, +{ +"n":"西甲", +"v":"西甲"}, +{ +"n":"英超", +"v":"英超"}, +{ +"n":"意甲", +"v":"意甲"}, +{ +"n":"德甲", +"v":"德甲"}, +{ +"n":"国米", +"v":"国米"}, +{ +"n":"皇马", +"v":"皇马"}, +{ +"n":"巴萨", +"v":"巴萨"}, +{ +"n":"巴黎圣日耳曼", +"v":"巴黎圣日耳曼"}, +{ +"n":"曼联", +"v":"曼联"}, +{ +"n":"曼城", +"v":"曼城"}, +{ +"n":"NBA", +"v":"NBA"}, +{ +"n":"詹姆斯", +"v":"詹姆斯"}, +{ +"n":"库里", +"v":"库里"}, +{ +"n":"杜兰特", +"v":"杜兰特"}, +{ +"n":"UFC", +"v":"UFC"}, +{ +"n":"斯诺克", +"v":"斯诺克"}, +{ +"n":"网球", +"v":"网球"}, +{ +"n":"篮球", +"v":"篮球"}, +{ +"n":"足球", +"v":"足球"}, +{ +"n":"F1", +"v":"F1"}, +{ +"n":"高尔夫", +"v":"高尔夫" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K球星", +"v":"4K球星"}, +{ +"n":"4K梅西", +"v":"4K梅西"}, +{ +"n":"4K C罗", +"v":"4K C罗"}, +{ +"n":"4K天下足球", +"v":"4K天下足球"}, +{ +"n":"4K罗纳尔多", +"v":"4K罗纳尔多"}, +{ +"n":"4K亨利", +"v":"4K亨利"}, +{ +"n":"4K小罗", +"v":"4K小罗"}, +{ +"n":"4K齐达内", +"v":"4K齐达内"}, +{ +"n":"4K贝克汉姆", +"v":"4K贝克汉姆"}, +{ +"n":"4K内马尔", +"v":"4K内马尔"}, +{ +"n":"4K德布劳内", +"v":"4K德布劳内"}, +{ +"n":"4K欧冠", +"v":"4K欧冠"}, +{ +"n":"4K世界杯", +"v":"4K世界杯"}, +{ +"n":"4K西甲", +"v":"4K西甲"}, +{ +"n":"4K英超", +"v":"4K英超"}, +{ +"n":"4K意甲", +"v":"4K意甲"}, +{ +"n":"4K德甲", +"v":"4K德甲"}, +{ +"n":"4K国米", +"v":"4K国米"}, +{ +"n":"4K皇马", +"v":"4K皇马"}, +{ +"n":"4K巴萨", +"v":"4K巴萨"}, +{ +"n":"4K巴黎圣日耳曼", +"v":"4K巴黎圣日耳曼"}, +{ +"n":"4K曼联", +"v":"4K曼联"}, +{ +"n":"4K曼城", +"v":"4K曼城"}, +{ +"n":"4K NBA", +"v":"4K NBA"}, +{ +"n":"4K詹姆斯", +"v":"4K詹姆斯"}, +{ +"n":"4K库里", +"v":"4K库里"}, +{ +"n":"4K杜兰特", +"v":"4K杜兰特"}, +{ +"n":"4K UFC", +"v":"4K UFC"}, +{ +"n":"4K斯诺克", +"v":"4K斯诺克"}, +{ +"n":"4K网球", +"v":"4K网球"}, +{ +"n":"4K篮球", +"v":"4K篮球"}, +{ +"n":"4K足球", +"v":"4K足球"}, +{ +"n":"4K F1", +"v":"4K F1"}, +{ +"n":"4K高尔夫", +"v":"4K高尔夫" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"相声小品":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"相声小品","v":"相声小品"}, +{"n":"单口相声","v":"单口相声"}, +{"n":"群口相声","v":"群口相声"}, +{"n":"德云社","v":"德云社"}, +{"n":"青曲社","v":"青曲社"}, +{"n":"郭德纲","v":"郭德纲"}, +{"n":"岳云鹏","v":"岳云鹏"}, +{"n":"曹云金","v":"曹云金"}, +{"n":"评书","v":"评书"}, +{"n":"小曲","v":"小曲"}, +{"n":"二人转","v":"二人转"}, +{"n":"春晚小品","v":"春晚小品"}, +{"n":"赵本山","v":"赵本山"}, +{"n":"陈佩斯","v":"陈佩斯"}, +{"n":"冯巩","v":"冯巩"}, +{"n":"宋小宝","v":"宋小宝"}, +{"n":"赵丽蓉","v":"赵丽蓉"}, +{"n":"郭达","v":"郭达"}, +{"n":"潘长江","v":"潘长江"}, +{"n":"郭冬临","v":"郭冬临"}, +{"n":"严顺开","v":"严顺开"}, +{"n":"文松","v":"文松"}, +{"n":"开心麻花","v":"开心麻花"}, +{"n":"屌丝男士","v":"屌丝男士"}, +{"n":"喜剧综艺","v":"喜剧综艺"}]}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K相声小品","v":"4K相声小品"}, +{"n":"4K单口相声","v":"4K单口相声"}, +{"n":"4K群口相声","v":"4K群口相声"}, +{"n":"4K德云社","v":"4K德云社"}, +{"n":"4K青曲社","v":"4K青曲社"}, +{"n":"4K郭德纲","v":"4K郭德纲"}, +{"n":"4K岳云鹏","v":"4K岳云鹏"}, +{"n":"4K曹云金","v":"4K曹云金"}, +{"n":"4K评书","v":"4K评书"}, +{"n":"4K小曲","v":"4K小曲"}, +{"n":"4K二人转","v":"4K二人转"}, +{"n":"4K春晚小品","v":"4K春晚小品"}, +{"n":"4K赵本山","v":"4K赵本山"}, +{"n":"4K陈佩斯","v":"4K陈佩斯"}, +{"n":"4K冯巩","v":"4K冯巩"}, +{"n":"4K宋小宝","v":"4K宋小宝"}, +{"n":"4K赵丽蓉","v":"4K赵丽蓉"}, +{"n":"4K郭达","v":"4K郭达"}, +{"n":"4K潘长江","v":"4K潘长江"}, +{"n":"4K郭冬临","v":"4K郭冬临"}, +{"n":"4K严顺开","v":"4K严顺开"}, +{"n":"4K文松","v":"4K文松"}, +{"n":"4K开心麻花","v":"4K开心麻花"}, +{"n":"4K屌丝男士","v":"4K屌丝男士"}, +{"n":"4K喜剧综艺","v":"4K喜剧综艺"}]}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"儿童少儿":[ +{"key":"tid", +"name":"分类", +"value":[ +{"n":"儿童","v":"儿童"}, +{"n":"教育","v":"儿童教育"}, +{"n":"歌曲","v":"儿童歌曲"}, +{"n":"舞蹈","v":"儿童舞蹈"}, +{"n":"成语故事","v":"儿童成语故事"}, +{"n":"音乐","v":"儿童音乐"}, +{"n":"儿童 MV","v":"儿童 MV"}, +{"n":"贝乐虎","v":"贝乐虎"}, +{"n":"宝宝巴士","v":"宝宝巴士"}, +{"n":"儿歌多多","v":"儿歌多多"}, +{"n":"超级宝贝","v":"超级宝贝JOJO"}, +{"n":"儿童好声音","v":"儿童好声音"}, +{"n":"岁益智动画","v":"3-6岁益智动画"}, +{"n":"少儿频道","v":"6-8岁少儿频道"}, +{"n":"学而思课程","v":"学而思课程"}]}, +{"key":"tid", +"name":"分类", +"value":[ +{"n":"4K儿童","v":"4K儿童"}, +{"n":"4K教育","v":"4K儿童教育"}, +{"n":"4K歌曲","v":"4K儿童歌曲"}, +{"n":"4K舞蹈","v":"4K儿童舞蹈"}, +{"n":"4K成语故事","v":"4K儿童成语故事"}, +{"n":"4K音乐","v":"4K儿童音乐"}, +{"n":"4K儿童 MV","v":"4K儿童 MV"}, +{"n":"4K贝乐虎","v":"4K贝乐虎"}, +{"n":"4K宝宝巴士","v":"4K宝宝巴士"}, +{"n":"4K儿歌多多","v":"4K儿歌多多"}, +{"n":"4K超级宝贝","v":"4K超级宝贝JOJO"}, +{"n":"4K儿童好声音","v":"4K儿童好声音"}, +{"n":"4K岁益智动画","v":"4K 3-6岁益智动画"}, +{"n":"4K少儿频道","v":"4K 6-8岁少儿频道"}, +{"n":"4K学而思课程","v":"4K学而思课程"}]}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"动物世界":[ +{"key":"tid", +"name":"分类", +"value":[ +{"n":"动物世界","v":"动物世界"}, +{"n":"4K动物世界","v":"4K动物世界"}]}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"戏曲":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{"n":"戏曲","v":"戏曲"}, +{"n":"京剧","v":"京剧"}, +{"n":"越剧","v":"越剧"}, +{"n":"黄梅戏","v":"黄梅戏"}, +{"n":"评剧","v":"评剧"}, +{"n":"豫剧","v":"豫剧"}, +{"n":"昆曲","v":"昆曲"}, +{"n":"高腔","v":"高腔"}, +{"n":"梆子腔","v":"梆子腔"}, +{"n":"河北梆子","v":"河北梆子"}, +{"n":"晋剧","v":"晋剧"}, +{"n":"蒲剧","v":"蒲剧"}, +{"n":"雁剧","v":"雁剧"}, +{"n":"上党梆子","v":"上党梆子"}, +{"n":"秦腔","v":"秦腔"}, +{"n":"武安平调","v":"武安平调"}, +{"n":"二人台","v":"二人台"}, +{"n":"吉剧","v":"吉剧"}, +{"n":"龙江剧","v":"龙江剧"}, +{"n":"越调","v":"越调"}, +{"n":"河南曲剧","v":"河南曲剧"}, +{"n":"山东梆子","v":"山东梆子"}, +{"n":"淮剧","v":"淮剧"}, +{"n":"沪剧","v":"沪剧"}, +{"n":"滑稽戏","v":"滑稽戏"}, +{"n":"婺剧","v":"婺剧"}, +{"n":"绍剧","v":"绍剧"}, +{"n":"徽剧","v":"徽剧"}, +{"n":"闽剧","v":"闽剧"}, +{"n":"莆仙戏","v":"莆仙戏"}, +{"n":"梨园戏","v":"梨园戏"}, +{"n":"高甲戏","v":"高甲戏"}, +{"n":"赣剧","v":"赣剧"}, +{"n":"采茶戏","v":"采茶戏"}, +{"n":"汉剧","v":"汉剧"}, +{"n":"湘剧","v":"湘剧"}, +{"n":"祁剧","v":"祁剧"}, +{"n":"湖南花鼓戏","v":"湖南花鼓戏"}, +{"n":"粤剧","v":"粤剧"}, +{"n":"潮剧","v":"潮剧"}, +{"n":"桂剧","v":"桂剧"}, +{"n":"彩调","v":"彩调"}, +{"n":"壮剧","v":"壮剧"}, +{"n":"川剧","v":"川剧"}, +{"n":"黔剧","v":"黔剧"}, +{"n":"滇剧","v":"滇剧"}, +{"n":"傣剧","v":"傣剧"}, +{"n":"藏剧","v":"藏剧"}, +{"n":"皮影戏","v":"皮影戏"}]}, +{ +"key":"tid", +"name":"分类", +"value":[ +{"n":"4K戏曲","v":"4K戏曲"}, +{"n":"4K京剧","v":"4K京剧"}, +{"n":"4K越剧","v":"4K越剧"}, +{"n":"4K黄梅戏","v":"4K黄梅戏"}, +{"n":"4K评剧","v":"4K评剧"}, +{"n":"4K豫剧","v":"4K豫剧"}, +{"n":"4K昆曲","v":"4K昆曲"}, +{"n":"4K高腔","v":"4K高腔"}, +{"n":"4K梆子腔","v":"4K梆子腔"}, +{"n":"4K河北梆子","v":"4K河北梆子"}, +{"n":"4K晋剧","v":"4K晋剧"}, +{"n":"4K蒲剧","v":"4K蒲剧"}, +{"n":"4K雁剧","v":"4K雁剧"}, +{"n":"4K上党梆子","v":"4K上党梆子"}, +{"n":"4K秦腔","v":"4K秦腔"}, +{"n":"4K武安平调","v":"4K武安平调"}, +{"n":"4K二人台","v":"4K二人台"}, +{"n":"4K吉剧","v":"4K吉剧"}, +{"n":"4K龙江剧","v":"4K龙江剧"}, +{"n":"4K越调","v":"4K越调"}, +{"n":"4K河南曲剧","v":"4K河南曲剧"}, +{"n":"4K山东梆子","v":"4K山东梆子"}, +{"n":"4K淮剧","v":"4K淮剧"}, +{"n":"4K沪剧","v":"4K沪剧"}, +{"n":"4K滑稽戏","v":"4K滑稽戏"}, +{"n":"4K婺剧","v":"4K婺剧"}, +{"n":"4K绍剧","v":"4K绍剧"}, +{"n":"4K徽剧","v":"4K徽剧"}, +{"n":"4K闽剧","v":"4K闽剧"}, +{"n":"4K莆仙戏","v":"4K莆仙戏"}, +{"n":"4K梨园戏","v":"4K梨园戏"}, +{"n":"4K高甲戏","v":"4K高甲戏"}, +{"n":"4K赣剧","v":"4K赣剧"}, +{"n":"4K采茶戏","v":"4K采茶戏"}, +{"n":"4K汉剧","v":"4K汉剧"}, +{"n":"4K湘剧","v":"4K湘剧"}, +{"n":"4K祁剧","v":"4K祁剧"}, +{"n":"4K湖南花鼓戏","v":"4K湖南花鼓戏"}, +{"n":"4K粤剧","v":"4K粤剧"}, +{"n":"4K潮剧","v":"4K潮剧"}, +{"n":"4K桂剧","v":"4K桂剧"}, +{"n":"4K彩调","v":"4K彩调"}, +{"n":"4K壮剧","v":"4K壮剧"}, +{"n":"4K川剧","v":"4K川剧"}, +{"n":"4K黔剧","v":"4K黔剧"}, +{"n":"4K滇剧","v":"4K滇剧"}, +{"n":"4K傣剧","v":"4K傣剧"}, +{"n":"4K藏剧","v":"4K藏剧"}, +{"n":"4K皮影戏","v":"4K皮影戏"}]}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"窗白噪音":[ +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"演唱会":[ +{"key":"tid", +"name":"分类", +"value":[ +{"n":"演唱会","v":"演唱会"}, +{"n":"周杰伦","v":"周杰伦演唱会"}, +{"n":"陈奕迅","v":"陈奕迅演唱会"}, +{"n":"Beyond","v":"Beyond演唱会"}, +{"n":"刘德华","v":"刘德华演唱会"}, +{"n":"郭富城","v":"郭富城演唱会"}, +{"n":"张学友","v":"张学友演唱会"}, +{"n":"黎明","v":"黎明演唱会"}, +{"n":"李宗盛","v":"李宗盛演唱会"}, +{"n":"邓丽君","v":"邓丽君演唱会"}, +{"n":"朴树","v":"朴树演唱会"}, +{"n":"林子祥","v":"林子祥演唱会"}, +{"n":"任贤齐","v":"任贤齐演唱会"}, +{"n":"张信哲","v":"张信哲演唱会"}, +{"n":"孙楠","v":"孙楠演唱会"}, +{"n":"张宇","v":"张宇演唱会"}, +{"n":"周华健","v":"周华健演唱会"}, +{"n":"蔡依林","v":"蔡依林演唱会"}, +{"n":"薛之谦","v":"薛之谦演唱会"}, +{"n":"洛天依","v":"洛天依演唱会"}, +{"n":"初音未来","v":"初音未来演唱会"}, +{"n":"许嵩","v":"许嵩演唱会"}, +{"n":"戴佩妮","v":"戴佩妮演唱会"}, +{"n":"邓紫棋","v":"邓紫棋演唱会"}, +{"n":"张韶涵","v":"张韶涵演唱会"}, +{"n":"蔡健雅","v":"蔡健雅演唱会"}, +{"n":"莫文蔚","v":"莫文蔚演唱会"}, +{"n":"刘若英","v":"刘若英演唱会"}, +{"n":"周深","v":"周深演唱会"}, +{"n":"毛不易","v":"毛不易演唱会"}, +{"n":"汪苏泷","v":"汪苏泷演唱会"}, +{"n":"李宇春","v":"李宇春演唱会"}, +{"n":"徐佳莹","v":"徐佳莹演唱会"}, +{"n":"杨宗纬","v":"杨宗纬演唱会"}, +{"n":"胡彦斌","v":"胡彦斌演唱会"}, +{"n":"杨千嬅","v":"杨千嬅演唱会"}, +{"n":"张靓颖","v":"张靓颖演唱会"}, +{"n":"李荣浩","v":"李荣浩演唱会"}, +{"n":"杨丞琳","v":"杨丞琳演唱会"}, +{"n":"林志炫","v":"林志炫演唱会"}, +{"n":"陶喆","v":"陶喆演唱会"}, +{"n":"胡夏","v":"胡夏演唱会"}, +{"n":"李玉刚","v":"李玉刚演唱会"}, +{"n":"弦子","v":"弦子演唱会"}, +{"n":"陈小春","v":"陈小春演唱会"}, +{"n":"萧亚轩","v":"萧亚轩演唱会"}, +{"n":"鹿晗","v":"鹿晗演唱会"}, +{"n":"纵贯线","v":"纵贯线演唱会"}, +{"n":"许巍","v":"许巍演唱会"}, +{"n":"林俊杰","v":"林俊杰演唱会"}, +{"n":"赵雷","v":"赵雷演唱会"}, +{"n":"谭咏麟","v":"谭咏麟演唱会"}, +{"n":"凤凰传奇","v":"凤凰传奇演唱会"}, +{"n":"容祖儿","v":"容祖儿演唱会"}, +{"n":"周传雄","v":"周传雄演唱会"}, +{"n":"SHE","v":"SHE演唱会"}, +{"n":"苏打绿","v":"苏打绿演唱会"}, +{"n":"五月天","v":"五月天演唱会"}, +{"n":"张国荣","v":"张国荣演唱会"}, +{"n":"梅艳芳","v":"梅艳芳演唱会"}, +{"n":"孙燕姿","v":"孙燕姿演唱会"}, +{"n":"李健","v":"李健演唱会"}, +{"n":"华晨宇","v":"华晨宇演唱会"}, +{"n":"袁娅维","v":"袁娅维演唱会"}, +{"n":"大张伟","v":"大张伟演唱会"}, +{"n":"TFBOYS","v":"TFBOYS演唱会"}, +{"n":"王俊凯","v":"王俊凯演唱会"}, +{"n":"易烊千玺","v":"易烊千玺演唱会"}, +{"n":"王源","v":"王源演唱会"}, +{"n":"田馥甄","v":"田馥甄演唱会"}, +{"n":"小虎队","v":"小虎队演唱会"}, +{"n":"张杰","v":"张杰演唱会"}, +{"n":"王菲","v":"王菲演唱会"}, +{"n":"伍佰","v":"伍佰演唱会"}, +{"n":"刀郎","v":"刀郎演唱会"}, +{"n":"草蜢","v":"草蜢演唱会"}, +{"n":"潘玮柏","v":"潘玮柏演唱会"}, +{"n":"梁静茹","v":"梁静茹演唱会"}, +{"n":"林宥嘉","v":"林宥嘉演唱会"}, +{"n":"蔡徐坤","v":"蔡徐坤演唱会"}, +{"n":"周慧敏","v":"周慧敏演唱会"}, +{"n":"李圣杰","v":"李圣杰演唱会"}, +{"n":"张惠妹","v":"张惠妹演唱会"}, +{"n":"萧敬腾","v":"萧敬腾演唱会"}, +{"n":"周笔畅","v":"周笔畅演唱会"}, +{"n":"焦迈奇","v":"焦迈奇演唱会"}, +{"n":"尤长靖","v":"尤长靖演唱会"}, +{"n":"郑中基","v":"郑中基演唱会"}, +{"n":"谭维维","v":"谭维维演唱会"}, +{"n":"陈慧娴","v":"陈慧娴演唱会"}, +{"n":"张艺兴","v":"张艺兴演唱会"}, +{"n":"王嘉尔","v":"王嘉尔演唱会"}, +{"n":"刘宪华","v":"刘宪华演唱会"}, +{"n":"张敬轩","v":"张敬轩演唱会"}, +{"n":"李克勤","v":"李克勤演唱会"}, +{"n":"阿杜","v":"阿杜演唱会"}, +{"n":"郭静","v":"郭静演唱会"}, +{"n":"崔健","v":"崔健演唱会"}, +{"n":"庾澄庆","v":"庾澄庆演唱会"}, +{"n":"汪峰","v":"汪峰演唱会"}, +{"n":"那英","v":"那英演唱会"}, +{"n":"杨坤","v":"杨坤演唱会"}, +{"n":"叶倩文","v":"叶倩文演唱会"}, +{"n":"王心凌","v":"王心凌演唱会"}, +{"n":"张震岳","v":"张震岳演唱会"}, +{"n":"韩红","v":"韩红演唱会"}, +{"n":"齐秦","v":"齐秦演唱会"}, +{"n":"张雨生","v":"张雨生演唱会"}, +{"n":"黄品源","v":"黄品源演唱会"}, +{"n":"林忆莲","v":"林忆莲演唱会"}, +{"n":"丁当","v":"丁当演唱会"}, +{"n":"郑智化","v":"郑智化演唱会"}, +{"n":"李玟","v":"李玟演唱会"}, +{"n":"谢霆锋","v":"谢霆锋演唱会"}, +{"n":"黄小琥","v":"黄小琥演唱会"}, +{"n":"徐小凤","v":"徐小凤演唱会"}, +{"n":"任嘉伦","v":"任嘉伦演唱会"}, +{"n":"卓依婷","v":"卓依婷演唱会"}, +{"n":"逃跑计划","v":"逃跑计划演唱会"}, +{"n":"青鸟飞鱼","v":"青鸟飞鱼演唱会"}, +{"n":"飞儿乐队","v":"飞儿乐队演唱会"}, +{"n":"花儿乐队","v":"花儿乐队演唱会"}, +{"n":"南拳妈妈","v":"南拳妈妈演唱会"}, +{"n":"水木年华","v":"水木年华演唱会"}, +{"n":"动力火车","v":"动力火车演唱会"}, +{"n":"筷子兄弟","v":"筷子兄弟演唱会"}, +{"n":"鹿先森乐队","v":"鹿先森乐队演唱会"}, +{"n":"信乐队","v":"信乐队演唱会"}, +{"n":"旅行团乐队","v":"旅行团乐队演唱会"}, +{"n":"By2","v":"By2演唱会"}, +{"n":"郁可唯","v":"郁可唯演唱会"}, +{"n":"宋亚森","v":"宋亚森演唱会"}, +{"n":"费玉清","v":"费玉清演唱会"}, +{"n":"费翔","v":"费翔演唱会"}, +{"n":"金志文","v":"金志文演唱会"}, +{"n":"黄家强","v":"黄家强演唱会"}, +{"n":"方大同","v":"方大同演唱会"}, +{"n":"吴克群","v":"吴克群演唱会"}, +{"n":"罗大佑","v":"罗大佑演唱会"}, +{"n":"光良","v":"光良演唱会"}, +{"n":"田震","v":"田震演唱会"}, +{"n":"凤飞飞","v":"凤飞飞演唱会"}, +{"n":"谭晶","v":"谭晶演唱会"}, +{"n":"王杰","v":"王杰演唱会"}, +{"n":"羽泉","v":"羽泉演唱会"}, +{"n":"金池","v":"金池演唱会"}, +{"n":"屠洪刚","v":"屠洪刚演唱会"}, +{"n":"戴荃","v":"戴荃演唱会"}, +{"n":"郭采洁","v":"郭采洁演唱会"}, +{"n":"罗志祥","v":"罗志祥演唱会"}, +{"n":"王力宏","v":"王力宏演唱会"}, +{"n":"林肯公园","v":"林肯公园演唱会"}, +{"n":"迈克尔杰克逊","v":"迈克尔杰克逊演唱会"}, +{"n":"泰勒·斯威夫特","v":"泰勒·斯威夫特演唱会"}, +{"n":"阿黛尔","v":"阿黛尔演唱会"}, +{"n":"BIGBANG","v":"BIGBANG演唱会"}, +{"n":"LadyGaga","v":"LadyGaga演唱会"}, +{"n":"贾斯丁比伯","v":"贾斯丁比伯演唱会"}, +{"n":"中岛美雪","v":"中岛美雪演唱会"}, +{"n":"仓木麻衣","v":"仓木麻衣演唱会"}, +{"n":"后街男孩","v":"后街男孩演唱会"}, +{"n":"布兰妮","v":"布兰妮演唱会"}, +{"n":"夜愿乐队","v":"夜愿乐队演唱会"}]}, +{"key":"tid", +"name":"分类", +"value":[ +{"n":"4K演唱会","v":"4K演唱会"}, +{"n":"4K周杰伦","v":"4K周杰伦演唱会"}, +{"n":"4K陈奕迅","v":"4K陈奕迅演唱会"}, +{"n":"4K Beyond","v":"4 KBeyond演唱会"}, +{"n":"4K刘德华","v":"4K刘德华演唱会"}, +{"n":"4K郭富城","v":"4K郭富城演唱会"}, +{"n":"4K张学友","v":"4K张学友演唱会"}, +{"n":"4K黎明","v":"4K黎明演唱会"}, +{"n":"4K李宗盛","v":"4K李宗盛演唱会"}, +{"n":"4K邓丽君","v":"4K邓丽君演唱会"}, +{"n":"4K朴树","v":"4K朴树演唱会"}, +{"n":"4K林子祥","v":"4K林子祥演唱会"}, +{"n":"4K任贤齐","v":"4K任贤齐演唱会"}, +{"n":"4K张信哲","v":"4K张信哲演唱会"}, +{"n":"4K孙楠","v":"4K孙楠演唱会"}, +{"n":"4K张宇","v":"4K张宇演唱会"}, +{"n":"4K周华健","v":"4K周华健演唱会"}, +{"n":"4K蔡依林","v":"4K蔡依林演唱会"}, +{"n":"4K薛之谦","v":"4K薛之谦演唱会"}, +{"n":"4K洛天依","v":"4K洛天依演唱会"}, +{"n":"4K初音未来","v":"4K初音未来演唱会"}, +{"n":"4K许嵩","v":"4K许嵩演唱会"}, +{"n":"4K戴佩妮","v":"4K戴佩妮演唱会"}, +{"n":"4K邓紫棋","v":"4K邓紫棋演唱会"}, +{"n":"4K张韶涵","v":"4K张韶涵演唱会"}, +{"n":"4K蔡健雅","v":"4K蔡健雅演唱会"}, +{"n":"4K莫文蔚","v":"4K莫文蔚演唱会"}, +{"n":"4K刘若英","v":"4K刘若英演唱会"}, +{"n":"4K周深","v":"4K周深演唱会"}, +{"n":"4K毛不易","v":"4K毛不易演唱会"}, +{"n":"4K汪苏泷","v":"4K汪苏泷演唱会"}, +{"n":"4K李宇春","v":"4K李宇春演唱会"}, +{"n":"4K徐佳莹","v":"4K徐佳莹演唱会"}, +{"n":"4K杨宗纬","v":"4K杨宗纬演唱会"}, +{"n":"4K胡彦斌","v":"4K胡彦斌演唱会"}, +{"n":"4K杨千嬅","v":"4K杨千嬅演唱会"}, +{"n":"4K张靓颖","v":"4K张靓颖演唱会"}, +{"n":"4K李荣浩","v":"4K李荣浩演唱会"}, +{"n":"4K杨丞琳","v":"4K杨丞琳演唱会"}, +{"n":"4K林志炫","v":"4K林志炫演唱会"}, +{"n":"4K陶喆","v":"4K陶喆演唱会"}, +{"n":"4K胡夏","v":"4K胡夏演唱会"}, +{"n":"4K李玉刚","v":"4K李玉刚演唱会"}, +{"n":"4K弦子","v":"4K弦子演唱会"}, +{"n":"4K陈小春","v":"4K陈小春演唱会"}, +{"n":"4K萧亚轩","v":"4K萧亚轩演唱会"}, +{"n":"4K鹿晗","v":"4K鹿晗演唱会"}, +{"n":"4K纵贯线","v":"4K纵贯线演唱会"}, +{"n":"4K许巍","v":"4K许巍演唱会"}, +{"n":"4K林俊杰","v":"4K林俊杰演唱会"}, +{"n":"4K赵雷","v":"4K赵雷演唱会"}, +{"n":"4K谭咏麟","v":"4K谭咏麟演唱会"}, +{"n":"4K凤凰传奇","v":"4K凤凰传奇演唱会"}, +{"n":"4K容祖儿","v":"4K容祖儿演唱会"}, +{"n":"4K周传雄","v":"4K周传雄演唱会"}, +{"n":"4K SHE","v":"4K SHE演唱会"}, +{"n":"4K苏打绿","v":"4K苏打绿演唱会"}, +{"n":"4K五月天","v":"4K五月天演唱会"}, +{"n":"4K张国荣","v":"4K张国荣演唱会"}, +{"n":"4K梅艳芳","v":"4K梅艳芳演唱会"}, +{"n":"4K孙燕姿","v":"4K孙燕姿演唱会"}, +{"n":"4K李健","v":"4K李健演唱会"}, +{"n":"4K华晨宇","v":"4K华晨宇演唱会"}, +{"n":"4K袁娅维","v":"4K袁娅维演唱会"}, +{"n":"4K大张伟","v":"4K大张伟演唱会"}, +{"n":"4K TFBOYS","v":"4K TFBOYS演唱会"}, +{"n":"4K王俊凯","v":"4K王俊凯演唱会"}, +{"n":"4K易烊千玺","v":"4K易烊千玺演唱会"}, +{"n":"4K王源","v":"4K王源演唱会"}, +{"n":"4K田馥甄","v":"4K田馥甄演唱会"}, +{"n":"4K小虎队","v":"4K小虎队演唱会"}, +{"n":"4K张杰","v":"4K张杰演唱会"}, +{"n":"4K王菲","v":"4K王菲演唱会"}, +{"n":"4K伍佰","v":"4K伍佰演唱会"}, +{"n":"4K刀郎","v":"4K刀郎演唱会"}, +{"n":"4K草蜢","v":"4K草蜢演唱会"}, +{"n":"4K潘玮柏","v":"4K潘玮柏演唱会"}, +{"n":"4K梁静茹","v":"4K梁静茹演唱会"}, +{"n":"4K林宥嘉","v":"4K林宥嘉演唱会"}, +{"n":"4K蔡徐坤","v":"4K蔡徐坤演唱会"}, +{"n":"4K周慧敏","v":"4K周慧敏演唱会"}, +{"n":"4K李圣杰","v":"4K李圣杰演唱会"}, +{"n":"4K张惠妹","v":"4K张惠妹演唱会"}, +{"n":"4K萧敬腾","v":"4K萧敬腾演唱会"}, +{"n":"4K周笔畅","v":"4K周笔畅演唱会"}, +{"n":"4K焦迈奇","v":"4K焦迈奇演唱会"}, +{"n":"4K尤长靖","v":"4K尤长靖演唱会"}, +{"n":"4K郑中基","v":"4K郑中基演唱会"}, +{"n":"4K谭维维","v":"4K谭维维演唱会"}, +{"n":"4K陈慧娴","v":"4K陈慧娴演唱会"}, +{"n":"4K张艺兴","v":"4K张艺兴演唱会"}, +{"n":"4K王嘉尔","v":"4K王嘉尔演唱会"}, +{"n":"4K刘宪华","v":"4K刘宪华演唱会"}, +{"n":"4K张敬轩","v":"4K张敬轩演唱会"}, +{"n":"4K李克勤","v":"4K李克勤演唱会"}, +{"n":"4K阿杜","v":"4K阿杜演唱会"}, +{"n":"4K郭静","v":"4K郭静演唱会"}, +{"n":"4K崔健","v":"4K崔健演唱会"}, +{"n":"4K庾澄庆","v":"4K庾澄庆演唱会"}, +{"n":"4K汪峰","v":"4K汪峰演唱会"}, +{"n":"4K那英","v":"4K那英演唱会"}, +{"n":"4K杨坤","v":"4K杨坤演唱会"}, +{"n":"4K叶倩文","v":"4K叶倩文演唱会"}, +{"n":"4K王心凌","v":"4K王心凌演唱会"}, +{"n":"4K张震岳","v":"4K张震岳演唱会"}, +{"n":"4K韩红","v":"4K韩红演唱会"}, +{"n":"4K齐秦","v":"4K齐秦演唱会"}, +{"n":"4K张雨生","v":"4K张雨生演唱会"}, +{"n":"4K黄品源","v":"4K黄品源演唱会"}, +{"n":"4K林忆莲","v":"4K林忆莲演唱会"}, +{"n":"4K丁当","v":"4K丁当演唱会"}, +{"n":"4K郑智化","v":"4K郑智化演唱会"}, +{"n":"4K李玟","v":"4K李玟演唱会"}, +{"n":"4K谢霆锋","v":"4K谢霆锋演唱会"}, +{"n":"4K黄小琥","v":"4K黄小琥演唱会"}, +{"n":"4K徐小凤","v":"4K徐小凤演唱会"}, +{"n":"4K任嘉伦","v":"4K任嘉伦演唱会"}, +{"n":"4K卓依婷","v":"4K卓依婷演唱会"}, +{"n":"4K逃跑计划","v":"4K逃跑计划演唱会"}, +{"n":"4K青鸟飞鱼","v":"4K青鸟飞鱼演唱会"}, +{"n":"4K飞儿乐队","v":"4K飞儿乐队演唱会"}, +{"n":"4K花儿乐队","v":"4K花儿乐队演唱会"}, +{"n":"4K南拳妈妈","v":"4K南拳妈妈演唱会"}, +{"n":"4K水木年华","v":"4K水木年华演唱会"}, +{"n":"4K动力火车","v":"4K动力火车演唱会"}, +{"n":"4K筷子兄弟","v":"4K筷子兄弟演唱会"}, +{"n":"4K鹿先森乐队","v":"4K鹿先森乐队演唱会"}, +{"n":"4K信乐队","v":"4K信乐队演唱会"}, +{"n":"4K旅行团乐队","v":"4K旅行团乐队演唱会"}, +{"n":"4K By2","v":"4K By2演唱会"}, +{"n":"4K郁可唯","v":"4K郁可唯演唱会"}, +{"n":"4K宋亚森","v":"4K宋亚森演唱会"}, +{"n":"4K费玉清","v":"4K费玉清演唱会"}, +{"n":"4K费翔","v":"4K费翔演唱会"}, +{"n":"4K金志文","v":"4K金志文演唱会"}, +{"n":"4K黄家强","v":"4K黄家强演唱会"}, +{"n":"4K方大同","v":"4K方大同演唱会"}, +{"n":"4K吴克群","v":"4K吴克群演唱会"}, +{"n":"4K罗大佑","v":"4K罗大佑演唱会"}, +{"n":"4K光良","v":"4K光良演唱会"}, +{"n":"4K田震","v":"4K田震演唱会"}, +{"n":"4K凤飞飞","v":"4K凤飞飞演唱会"}, +{"n":"4K谭晶","v":"4K谭晶演唱会"}, +{"n":"4K王杰","v":"4K王杰演唱会"}, +{"n":"4K羽泉","v":"4K羽泉演唱会"}, +{"n":"4K金池","v":"4K金池演唱会"}, +{"n":"4K屠洪刚","v":"4K屠洪刚演唱会"}, +{"n":"4K戴荃","v":"4K戴荃演唱会"}, +{"n":"4K郭采洁","v":"4K郭采洁演唱会"}, +{"n":"4K罗志祥","v":"4K罗志祥演唱会"}, +{"n":"4K王力宏","v":"4K王力宏演唱会"}, +{"n":"4K林肯公园","v":"4K林肯公园演唱会"}, +{"n":"4K迈克尔杰克逊","v":"4K迈克尔杰克逊演唱会"}, +{"n":"4K泰勒·斯威夫特","v":"4K泰勒·斯威夫特演唱会"}, +{"n":"4K阿黛尔","v":"4K阿黛尔演唱会"}, +{"n":"4K BIGBANG","v":"4K BIGBANG演唱会"}, +{"n":"4K LadyGaga","v":"4K LadyGaga演唱会"}, +{"n":"4K贾斯丁比伯","v":"4K贾斯丁比伯演唱会"}, +{"n":"4K中岛美雪","v":"4K中岛美雪演唱会"}, +{"n":"4K仓木麻衣","v":"4K仓木麻衣演唱会"}, +{"n":"4K后街男孩","v":"4K后街男孩演唱会"}, +{"n":"4K布兰妮","v":"4K布兰妮演唱会"}, +{"n":"4K夜愿乐队","v":"4K夜愿乐队演唱会"}]}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"课程辅导":[ +{ +"key":"tid", +"name":"苏教版年级科目", +"value":[ +{"n":"1年级语文","v":"苏教版1年级语文"}, +{"n":"1年级数学","v":"苏教版1年级数学"}, +{"n":"1年级英语","v":"苏教版1年级英语"}, +{"n":"2年级语文","v":"苏教版2年级语文"}, +{"n":"2年级数学","v":"苏教版2年级数学"}, +{"n":"2年级英语","v":"苏教版2年级英语"}, +{"n":"3年级语文","v":"苏教版3年级语文"}, +{"n":"3年级数学","v":"苏教版3年级数学"}, +{"n":"3年级英语","v":"苏教版3年级英语"}, +{"n":"4年级语文","v":"苏教版4年级语文"}, +{"n":"4年级数学","v":"苏教版4年级数学"}, +{"n":"4年级英语","v":"苏教版4年级英语"}, +{"n":"5年级语文","v":"苏教版5年级语文"}, +{"n":"5年级数学","v":"苏教版5年级数学"}, +{"n":"5年级英语","v":"苏教版5年级英语"}, +{"n":"6年级语文","v":"苏教版6年级语文"}, +{"n":"6年级数学","v":"苏教版6年级数学"}, +{"n":"6年级英语","v":"苏教版6年级英语"}, +{"n":"7年级语文","v":"苏教版7年级语文"}, +{"n":"7年级数学","v":"苏教版7年级数学"}, +{"n":"7年级英语","v":"苏教版7年级英语"}, +{"n":"7年级历史","v":"苏教版7年级历史"}, +{"n":"7年级地理","v":"苏教版7年级地理"}, +{"n":"7年级生物","v":"苏教版7年级生物"}, +{"n":"7年级物理","v":"苏教版7年级物理"}, +{"n":"7年级化学","v":"苏教版7年级化学"}, +{"n":"8年级语文","v":"苏教版8年级语文"}, +{"n":"8年级数学","v":"苏教版8年级数学"}, +{"n":"8年级英语","v":"苏教版8年级英语"}, +{"n":"8年级历史","v":"苏教版8年级历史"}, +{"n":"8年级地理","v":"苏教版8年级地理"}, +{"n":"8年级生物","v":"苏教版8年级生物"}, +{"n":"8年级物理","v":"苏教版8年级物理"}, +{"n":"8年级化学","v":"苏教版8年级化学"}, +{"n":"9年级语文","v":"苏教版9年级语文"}, +{"n":"9年级数学","v":"苏教版9年级数学"}, +{"n":"9年级英语","v":"苏教版9年级英语"}, +{"n":"9年级历史","v":"苏教版9年级历史"}, +{"n":"9年级地理","v":"苏教版9年级地理"}, +{"n":"9年级生物","v":"苏教版9年级生物"}, +{"n":"9年级物理","v":"苏教版9年级物理"}, +{"n":"9年级化学","v":"苏教版9年级化学"}, +{"n":"高一语文","v":"苏教版高一语文"}, +{"n":"高一数学","v":"苏教版高一数学"}, +{"n":"高一英语","v":"苏教版高一英语"}, +{"n":"高一思想政治","v":"苏教版高一思想政治"}, +{"n":"高一历史","v":"苏教版高一历史"}, +{"n":"高一地理","v":"苏教版高一地理"}, +{"n":"高一生物","v":"苏教版高一生物"}, +{"n":"高一物理","v":"苏教版高一物理"}, +{"n":"高一化学","v":"苏教版高一化学"}, +{"n":"高二语文","v":"苏教版高二语文"}, +{"n":"高二数学","v":"苏教版高二数学"}, +{"n":"高二英语","v":"苏教版高二英语"}, +{"n":"高二思想政治","v":"苏教版高二思想政治"}, +{"n":"高二历史","v":"苏教版高二历史"}, +{"n":"高二地理","v":"苏教版高二地理"}, +{"n":"高二生物","v":"苏教版高二生物"}, +{"n":"高二物理","v":"苏教版高二物理"}, +{"n":"高二化学","v":"苏教版高二化学"}, +{"n":"高三语文","v":"苏教版高三语文"}, +{"n":"高三数学","v":"苏教版高三数学"}, +{"n":"高三英语","v":"苏教版高三英语"}, +{"n":"高三思想政治","v":"苏教版高三思想政治"}, +{"n":"高三历史","v":"苏教版高三历史"}, +{"n":"高三地理","v":"苏教版高三地理"}, +{"n":"高三生物","v":"苏教版高三生物"}, +{"n":"高三物理","v":"苏教版高三物理"}, +{"n":"高三化学","v":"苏教版高三化学"}]}, +{ +"key":"tid", +"name":"人教版年级科目", +"value":[ +{"n":"1年级语文","v":"人教版1年级语文"}, +{"n":"1年级数学","v":"人教版1年级数学"}, +{"n":"1年级英语","v":"人教版1年级英语"}, +{"n":"2年级语文","v":"人教版2年级语文"}, +{"n":"2年级数学","v":"人教版2年级数学"}, +{"n":"2年级英语","v":"人教版2年级英语"}, +{"n":"3年级语文","v":"人教版3年级语文"}, +{"n":"3年级数学","v":"人教版3年级数学"}, +{"n":"3年级英语","v":"人教版3年级英语"}, +{"n":"4年级语文","v":"人教版4年级语文"}, +{"n":"4年级数学","v":"人教版4年级数学"}, +{"n":"4年级英语","v":"人教版4年级英语"}, +{"n":"5年级语文","v":"人教版5年级语文"}, +{"n":"5年级数学","v":"人教版5年级数学"}, +{"n":"5年级英语","v":"人教版5年级英语"}, +{"n":"6年级语文","v":"人教版6年级语文"}, +{"n":"6年级数学","v":"人教版6年级数学"}, +{"n":"6年级英语","v":"人教版6年级英语"}, +{"n":"7年级语文","v":"人教版7年级语文"}, +{"n":"7年级数学","v":"人教版7年级数学"}, +{"n":"7年级英语","v":"人教版7年级英语"}, +{"n":"7年级历史","v":"人教版7年级历史"}, +{"n":"7年级地理","v":"人教版7年级地理"}, +{"n":"7年级生物","v":"人教版7年级生物"}, +{"n":"7年级物理","v":"人教版7年级物理"}, +{"n":"7年级化学","v":"人教版7年级化学"}, +{"n":"8年级语文","v":"人教版8年级语文"}, +{"n":"8年级数学","v":"人教版8年级数学"}, +{"n":"8年级英语","v":"人教版8年级英语"}, +{"n":"8年级历史","v":"人教版8年级历史"}, +{"n":"8年级地理","v":"人教版8年级地理"}, +{"n":"8年级生物","v":"人教版8年级生物"}, +{"n":"8年级物理","v":"人教版8年级物理"}, +{"n":"8年级化学","v":"人教版8年级化学"}, +{"n":"9年级语文","v":"人教版9年级语文"}, +{"n":"9年级数学","v":"人教版9年级数学"}, +{"n":"9年级英语","v":"人教版9年级英语"}, +{"n":"9年级历史","v":"人教版9年级历史"}, +{"n":"9年级地理","v":"人教版9年级地理"}, +{"n":"9年级生物","v":"人教版9年级生物"}, +{"n":"9年级物理","v":"人教版9年级物理"}, +{"n":"9年级化学","v":"人教版9年级化学"}, +{"n":"高一语文","v":"人教版高一语文"}, +{"n":"高一数学","v":"人教版高一数学"}, +{"n":"高一英语","v":"人教版高一英语"}, +{"n":"高一思想政治","v":"人教版高一思想政治"}, +{"n":"高一历史","v":"人教版高一历史"}, +{"n":"高一地理","v":"人教版高一地理"}, +{"n":"高一生物","v":"人教版高一生物"}, +{"n":"高一物理","v":"人教版高一物理"}, +{"n":"高一化学","v":"人教版高一化学"}, +{"n":"高二语文","v":"人教版高二语文"}, +{"n":"高二数学","v":"人教版高二数学"}, +{"n":"高二英语","v":"人教版高二英语"}, +{"n":"高二思想政治","v":"人教版高二思想政治"}, +{"n":"高二历史","v":"人教版高二历史"}, +{"n":"高二地理","v":"人教版高二地理"}, +{"n":"高二生物","v":"人教版高二生物"}, +{"n":"高二物理","v":"人教版高二物理"}, +{"n":"高二化学","v":"人教版高二化学"}, +{"n":"高三语文","v":"人教版高三语文"}, +{"n":"高三数学","v":"人教版高三数学"}, +{"n":"高三英语","v":"人教版高三英语"}, +{"n":"高三思想政治","v":"人教版高三思想政治"}, +{"n":"高三历史","v":"人教版高三历史"}, +{"n":"高三地理","v":"人教版高三地理"}, +{"n":"高三生物","v":"人教版高三生物"}, +{"n":"高三物理","v":"人教版高三物理"}, +{"n":"高三化学","v":"人教版高三化学"}]}, +{ +"key":"tid", +"name":"沪教版年级科目", +"value":[ +{"n":"1年级语文","v":"沪教版1年级语文"}, +{"n":"1年级数学","v":"沪教版1年级数学"}, +{"n":"1年级英语","v":"沪教版1年级英语"}, +{"n":"2年级语文","v":"沪教版2年级语文"}, +{"n":"2年级数学","v":"沪教版2年级数学"}, +{"n":"2年级英语","v":"沪教版2年级英语"}, +{"n":"3年级语文","v":"沪教版3年级语文"}, +{"n":"3年级数学","v":"沪教版3年级数学"}, +{"n":"3年级英语","v":"沪教版3年级英语"}, +{"n":"4年级语文","v":"沪教版4年级语文"}, +{"n":"4年级数学","v":"沪教版4年级数学"}, +{"n":"4年级英语","v":"沪教版4年级英语"}, +{"n":"5年级语文","v":"沪教版5年级语文"}, +{"n":"5年级数学","v":"沪教版5年级数学"}, +{"n":"5年级英语","v":"沪教版5年级英语"}, +{"n":"6年级语文","v":"沪教版6年级语文"}, +{"n":"6年级数学","v":"沪教版6年级数学"}, +{"n":"6年级英语","v":"沪教版6年级英语"}, +{"n":"7年级语文","v":"沪教版7年级语文"}, +{"n":"7年级数学","v":"沪教版7年级数学"}, +{"n":"7年级英语","v":"沪教版7年级英语"}, +{"n":"7年级历史","v":"沪教版7年级历史"}, +{"n":"7年级地理","v":"沪教版7年级地理"}, +{"n":"7年级生物","v":"沪教版7年级生物"}, +{"n":"7年级物理","v":"沪教版7年级物理"}, +{"n":"7年级化学","v":"沪教版7年级化学"}, +{"n":"8年级语文","v":"沪教版8年级语文"}, +{"n":"8年级数学","v":"沪教版8年级数学"}, +{"n":"8年级英语","v":"沪教版8年级英语"}, +{"n":"8年级历史","v":"沪教版8年级历史"}, +{"n":"8年级地理","v":"沪教版8年级地理"}, +{"n":"8年级生物","v":"沪教版8年级生物"}, +{"n":"8年级物理","v":"沪教版8年级物理"}, +{"n":"8年级化学","v":"沪教版8年级化学"}, +{"n":"9年级语文","v":"沪教版9年级语文"}, +{"n":"9年级数学","v":"沪教版9年级数学"}, +{"n":"9年级英语","v":"沪教版9年级英语"}, +{"n":"9年级历史","v":"沪教版9年级历史"}, +{"n":"9年级地理","v":"沪教版9年级地理"}, +{"n":"9年级生物","v":"沪教版9年级生物"}, +{"n":"9年级物理","v":"沪教版9年级物理"}, +{"n":"9年级化学","v":"沪教版9年级化学"}, +{"n":"高一语文","v":"沪教版高一语文"}, +{"n":"高一数学","v":"沪教版高一数学"}, +{"n":"高一英语","v":"沪教版高一英语"}, +{"n":"高一思想政治","v":"沪教版高一思想政治"}, +{"n":"高一历史","v":"沪教版高一历史"}, +{"n":"高一地理","v":"沪教版高一地理"}, +{"n":"高一生物","v":"沪教版高一生物"}, +{"n":"高一物理","v":"沪教版高一物理"}, +{"n":"高一化学","v":"沪教版高一化学"}, +{"n":"高二语文","v":"沪教版高二语文"}, +{"n":"高二数学","v":"沪教版高二数学"}, +{"n":"高二英语","v":"沪教版高二英语"}, +{"n":"高二思想政治","v":"沪教版高二思想政治"}, +{"n":"高二历史","v":"沪教版高二历史"}, +{"n":"高二地理","v":"沪教版高二地理"}, +{"n":"高二生物","v":"沪教版高二生物"}, +{"n":"高二物理","v":"沪教版高二物理"}, +{"n":"高二化学","v":"沪教版高二化学"}, +{"n":"高三语文","v":"沪教版高三语文"}, +{"n":"高三数学","v":"沪教版高三数学"}, +{"n":"高三英语","v":"沪教版高三英语"}, +{"n":"高三思想政治","v":"沪教版高三思想政治"}, +{"n":"高三历史","v":"沪教版高三历史"}, +{"n":"高三地理","v":"沪教版高三地理"}, +{"n":"高三生物","v":"沪教版高三生物"}, +{"n":"高三物理","v":"沪教版高三物理"}, +{"n":"高三化学","v":"沪教版高三化学"}]}, +{ +"key":"tid", +"name":"北师大版年级科目", +"value":[ +{"n":"1年级语文","v":"北师大版1年级语文"}, +{"n":"1年级数学","v":"北师大版1年级数学"}, +{"n":"1年级英语","v":"北师大版1年级英语"}, +{"n":"2年级语文","v":"北师大版2年级语文"}, +{"n":"2年级数学","v":"北师大版2年级数学"}, +{"n":"2年级英语","v":"北师大版2年级英语"}, +{"n":"3年级语文","v":"北师大版3年级语文"}, +{"n":"3年级数学","v":"北师大版3年级数学"}, +{"n":"3年级英语","v":"北师大版3年级英语"}, +{"n":"4年级语文","v":"北师大版4年级语文"}, +{"n":"4年级数学","v":"北师大版4年级数学"}, +{"n":"4年级英语","v":"北师大版4年级英语"}, +{"n":"5年级语文","v":"北师大版5年级语文"}, +{"n":"5年级数学","v":"北师大版5年级数学"}, +{"n":"5年级英语","v":"北师大版5年级英语"}, +{"n":"6年级语文","v":"北师大版6年级语文"}, +{"n":"6年级数学","v":"北师大版6年级数学"}, +{"n":"6年级英语","v":"北师大版6年级英语"}, +{"n":"7年级语文","v":"北师大版7年级语文"}, +{"n":"7年级数学","v":"北师大版7年级数学"}, +{"n":"7年级英语","v":"北师大版7年级英语"}, +{"n":"7年级历史","v":"北师大版7年级历史"}, +{"n":"7年级地理","v":"北师大版7年级地理"}, +{"n":"7年级生物","v":"北师大版7年级生物"}, +{"n":"7年级物理","v":"北师大版7年级物理"}, +{"n":"7年级化学","v":"北师大版7年级化学"}, +{"n":"8年级语文","v":"北师大版8年级语文"}, +{"n":"8年级数学","v":"北师大版8年级数学"}, +{"n":"8年级英语","v":"北师大版8年级英语"}, +{"n":"8年级历史","v":"北师大版8年级历史"}, +{"n":"8年级地理","v":"北师大版8年级地理"}, +{"n":"8年级生物","v":"北师大版8年级生物"}, +{"n":"8年级物理","v":"北师大版8年级物理"}, +{"n":"8年级化学","v":"北师大版8年级化学"}, +{"n":"9年级语文","v":"北师大版9年级语文"}, +{"n":"9年级数学","v":"北师大版9年级数学"}, +{"n":"9年级英语","v":"北师大版9年级英语"}, +{"n":"9年级历史","v":"北师大版9年级历史"}, +{"n":"9年级地理","v":"北师大版9年级地理"}, +{"n":"9年级生物","v":"北师大版9年级生物"}, +{"n":"9年级物理","v":"北师大版9年级物理"}, +{"n":"9年级化学","v":"北师大版9年级化学"}, +{"n":"高一语文","v":"北师大版高一语文"}, +{"n":"高一数学","v":"北师大版高一数学"}, +{"n":"高一英语","v":"北师大版高一英语"}, +{"n":"高一思想政治","v":"北师大版高一思想政治"}, +{"n":"高一历史","v":"北师大版高一历史"}, +{"n":"高一地理","v":"北师大版高一地理"}, +{"n":"高一生物","v":"北师大版高一生物"}, +{"n":"高一物理","v":"北师大版高一物理"}, +{"n":"高一化学","v":"北师大版高一化学"}, +{"n":"高二语文","v":"北师大版高二语文"}, +{"n":"高二数学","v":"北师大版高二数学"}, +{"n":"高二英语","v":"北师大版高二英语"}, +{"n":"高二思想政治","v":"北师大版高二思想政治"}, +{"n":"高二历史","v":"北师大版高二历史"}, +{"n":"高二地理","v":"北师大版高二地理"}, +{"n":"高二生物","v":"北师大版高二生物"}, +{"n":"高二物理","v":"北师大版高二物理"}, +{"n":"高二化学","v":"北师大版高二化学"}, +{"n":"高三语文","v":"北师大版高三语文"}, +{"n":"高三数学","v":"北师大版高三数学"}, +{"n":"高三英语","v":"北师大版高三英语"}, +{"n":"高三思想政治","v":"北师大版高三思想政治"}, +{"n":"高三历史","v":"北师大版高三历史"}, +{"n":"高三地理","v":"北师大版高三地理"}, +{"n":"高三生物","v":"北师大版高三生物"}, +{"n":"高三物理","v":"北师大版高三物理"}, +{"n":"高三化学","v":"北师大版高三化学"}]}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"说案":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"说案", +"v":"说案" +}, +{ +"n":"汤圆", +"v":"汤圆说案" +}, +{ +"n":"唐唐", +"v":"唐唐说案" +}, +{ +"n":"罗翔", +"v":"罗翔说刑法" +}, +{ +"n":"何家弘", +"v":"何家弘说案" +}, +{ +"n":"韩诺", +"v":"韩诺说案" +}, +{ +"n":"老V", +"v":"老V说案" +}, +{ +"n":"禁播档案", +"v":"禁播档案" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K说案", +"v":"4K说案" +}, +{ +"n":"4K汤圆", +"v":"4K汤圆说案" +}, +{ +"n":"4K唐唐", +"v":"4K唐唐说案" +}, +{ +"n":"4K罗翔", +"v":"4K罗翔说刑法" +}, +{ +"n":"4K何家弘", +"v":"4K何家弘说案" +}, +{ +"n":"4K韩诺", +"v":"4K韩诺说案" +}, +{ +"n":"4K老V", +"v":"4K老V说案" +}, +{ +"n":"4K禁播档案", +"v":"4K禁播档案" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"演讲":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"演讲", +"v":"演讲" +}, +{ +"n":"艾跃进演讲", +"v":"艾跃进演讲" +}, +{ +"n":"超级演说家", +"v":"超级演说家" +}, +{ +"n":"电影演讲", +"v":"电影演讲" +}, +{ +"n":"典籍里的中国", +"v":"典籍里的中国" +}, +{ +"n":"感动中国", +"v":"感动中国" +}, +{ +"n":"郭继承演讲", +"v":"郭继承演讲" +}, +{ +"n":"华春莹演讲", +"v":"华春莹演讲" +}, +{ +"n":"雷军演讲", +"v":"雷军演讲" +}, +{ +"n":"罗翔演讲", +"v":"罗翔演讲" +}, +{ +"n":"任正非演讲", +"v":"任正非演讲" +}, +{ +"n":"TED演讲", +"v":"TED演讲" +}, +{ +"n":"汪文斌演讲", +"v":"汪文斌演讲" +}, +{ +"n":"一刻演讲", +"v":"一刻演讲" +}, +{ +"n":"赵立坚演讲", +"v":"赵立坚演讲" +}, +{ +"n":"郑强演讲", +"v":"郑强演讲" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K演讲", +"v":"4K演讲" +}, +{ +"n":"4K艾跃进演讲", +"v":"4K艾跃进演讲" +}, +{ +"n":"4K超级演说家", +"v":"4K超级演说家" +}, +{ +"n":"4K电影演讲", +"v":"4K电影演讲" +}, +{ +"n":"4K典籍里的中国", +"v":"4K典籍里的中国" +}, +{ +"n":"4K感动中国", +"v":"4K感动中国" +}, +{ +"n":"4K郭继承演讲", +"v":"4K郭继承演讲" +}, +{ +"n":"4K华春莹演讲", +"v":"4K华春莹演讲" +}, +{ +"n":"4K雷军演讲", +"v":"4K雷军演讲" +}, +{ +"n":"4K罗翔演讲", +"v":"4K罗翔演讲" +}, +{ +"n":"4K任正非演讲", +"v":"4K任正非演讲" +}, +{ +"n":"4K TED演讲", +"v":"4K TED演讲" +}, +{ +"n":"4K汪文斌演讲", +"v":"4K汪文斌演讲" +}, +{ +"n":"4K一刻演讲", +"v":"4K一刻演讲" +}, +{ +"n":"4K赵立坚演讲", +"v":"4K赵立坚演讲" +}, +{ +"n":"4K郑强演讲", +"v":"4K郑强演讲" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"解说":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{"n":"解说","v":"解说"}, +{"n":"电影","v":"电影解说"}, +{"n":"电视","v":"电视解说"}, +{"n":"历史","v":"历史解说"}, +{"n":"动漫","v":"动漫解说"}, +{"n":"小说","v":"小说解说"}]}, +{ +"key":"tid", +"name":"分类", +"value":[ +{"n":"4K解说","v":"4K解说"}, +{"n":"4K电影","v":"4K电影解说"}, +{"n":"4K电视","v":"4K电视解说"}, +{"n":"4K历史","v":"4K历史解说"}, +{"n":"4K动漫","v":"4K动漫解说"}, +{"n":"4K小说","v":"4K小说解说"}]}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +], +"风景":[ +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"风景", +"v":"风景" +}, +{ +"n":"澳门风景", +"v":"澳门风景" +}, +{ +"n":"安徽风景", +"v":"安徽风景" +}, +{ +"n":"布达拉宫风景", +"v":"布达拉宫风景" +}, +{ +"n":"北京风景", +"v":"北京风景" +}, +{ +"n":"重庆风景", +"v":"重庆风景" +}, +{ +"n":"草原风景", +"v":"草原风景" +}, +{ +"n":"大海风景", +"v":"大海风景" +}, +{ +"n":"福建风景", +"v":"福建风景" +}, +{ +"n":"广东风景", +"v":"广东风景" +}, +{ +"n":"广西风景", +"v":"广西风景" +}, +{ +"n":"贵州风景", +"v":"贵州风景" +}, +{ +"n":"甘肃风景", +"v":"甘肃风景" +}, +{ +"n":"海南风景", +"v":"海南风景" +}, +{ +"n":"河北风景", +"v":"河北风景" +}, +{ +"n":"河南风景", +"v":"河南风景" +}, +{ +"n":"湖北风景", +"v":"湖北风景" +}, +{ +"n":"湖南风景", +"v":"湖南风景" +}, +{ +"n":"黑龙江风景", +"v":"黑龙江风景" +}, +{ +"n":"吉林风景", +"v":"吉林风景" +}, +{ +"n":"江苏风景", +"v":"江苏风景" +}, +{ +"n":"江西风景", +"v":"江西风景" +}, +{ +"n":"辽宁风景", +"v":"辽宁风景" +}, +{ +"n":"民宿风景", +"v":"民宿风景" +}, +{ +"n":"内蒙古风景", +"v":"内蒙古风景" +}, +{ +"n":"宁夏风景", +"v":"宁夏风景" +}, +{ +"n":"青海风景", +"v":"青海风景" +}, +{ +"n":"上海风景", +"v":"上海风景" +}, +{ +"n":"陕西风景", +"v":"陕西风景" +}, +{ +"n":"四川风景", +"v":"四川风景" +}, +{ +"n":"山西风景", +"v":"山西风景" +}, +{ +"n":"山东风景", +"v":"山东风景" +}, +{ +"n":"天津风景", +"v":"天津风景" +}, +{ +"n":"台湾风景", +"v":"台湾风景" +}, +{ +"n":"天空风景", +"v":"天空风景" +}, +{ +"n":"西湖风景", +"v":"西湖风景" +}, +{ +"n":"西藏风景", +"v":"西藏风景" +}, +{ +"n":"新疆风景", +"v":"新疆风景" +}, +{ +"n":"香港风景", +"v":"香港风景" +}, +{ +"n":"云南风景", +"v":"云南风景" +}, +{ +"n":"浙江风景", +"v":"浙江风景" +}, +{ +"n":"河南卫视国风", +"v":"河南卫视国风" +} +] +}, +{ +"key":"tid", +"name":"分类", +"value":[ +{ +"n":"4K风景", +"v":"4K风景" +}, +{ +"n":"4K澳门风景", +"v":"4K澳门风景" +}, +{ +"n":"4K安徽风景", +"v":"4K安徽风景" +}, +{ +"n":"4K布达拉宫风景", +"v":"4K布达拉宫风景" +}, +{ +"n":"4K北京风景", +"v":"4K北京风景" +}, +{ +"n":"4K重庆风景", +"v":"4K重庆风景" +}, +{ +"n":"4K草原风景", +"v":"4K草原风景" +}, +{ +"n":"4K大海风景", +"v":"4K大海风景" +}, +{ +"n":"4K福建风景", +"v":"4K福建风景" +}, +{ +"n":"4K广东风景", +"v":"4K广东风景" +}, +{ +"n":"4K广西风景", +"v":"4K广西风景" +}, +{ +"n":"4K贵州风景", +"v":"4K贵州风景" +}, +{ +"n":"4K甘肃风景", +"v":"4K甘肃风景" +}, +{ +"n":"4K海南风景", +"v":"4K海南风景" +}, +{ +"n":"4K河北风景", +"v":"4K河北风景" +}, +{ +"n":"4K河南风景", +"v":"4K河南风景" +}, +{ +"n":"4K湖北风景", +"v":"4K湖北风景" +}, +{ +"n":"4K湖南风景", +"v":"4K湖南风景" +}, +{ +"n":"4K黑龙江风景", +"v":"4K黑龙江风景" +}, +{ +"n":"4K吉林风景", +"v":"4K吉林风景" +}, +{ +"n":"4K江苏风景", +"v":"4K江苏风景" +}, +{ +"n":"4K江西风景", +"v":"4K江西风景" +}, +{ +"n":"4K辽宁风景", +"v":"4K辽宁风景" +}, +{ +"n":"4K民宿风景", +"v":"4K民宿风景" +}, +{ +"n":"4K内蒙古风景", +"v":"4K内蒙古风景" +}, +{ +"n":"4K宁夏风景", +"v":"4K宁夏风景" +}, +{ +"n":"4K青海风景", +"v":"4K青海风景" +}, +{ +"n":"4K上海风景", +"v":"4K上海风景" +}, +{ +"n":"4K陕西风景", +"v":"4K陕西风景" +}, +{ +"n":"4K四川风景", +"v":"4K四川风景" +}, +{ +"n":"4K山西风景", +"v":"4K山西风景" +}, +{ +"n":"4K山东风景", +"v":"4K山东风景" +}, +{ +"n":"4K天津风景", +"v":"4K天津风景" +}, +{ +"n":"4K台湾风景", +"v":"4K台湾风景" +}, +{ +"n":"4K天空风景", +"v":"4K天空风景" +}, +{ +"n":"4K西湖风景", +"v":"4K西湖风景" +}, +{ +"n":"4K西藏风景", +"v":"4K西藏风景" +}, +{ +"n":"4K新疆风景", +"v":"4K新疆风景" +}, +{ +"n":"4K香港风景", +"v":"4K香港风景" +}, +{ +"n":"4K云南风景", +"v":"4K云南风景" +}, +{ +"n":"4K浙江风景", +"v":"4K浙江风景" +}, +{ +"n":"4K河南卫视国风", +"v":"4K河南卫视国风" +} +] +}, +{ +"key":"duration", +"name":"时长", +"value":[ +{ +"n":"全部", +"v":"0" +}, +{ +"n":"60分钟以上", +"v":"4" +}, +{ +"n":"30~60分钟", +"v":"3" +}, +{ +"n":"10~30分钟", +"v":"2" +}, +{ +"n":"10分钟以下", +"v":"1" +} +] +} +] +} +} \ No newline at end of file diff --git a/XBiubiu/哔哩哔哩.txt b/XBiubiu/哔哩哔哩.txt new file mode 100644 index 0000000..f32fc99 --- /dev/null +++ b/XBiubiu/哔哩哔哩.txt @@ -0,0 +1,287 @@ +{"classes":[ +{"type_name":"评书","type_id":"评书"}, + +{"type_name":"动画电影","type_id":"动画电影超清"}, + +{"type_name":"乐器","type_id":"乐器超清"}, + +{"type_name":"番剧","type_id":"番剧超清"}, +{"type_name":"裸眼3D","type_id":"裸眼3D超清"}, + +{"type_name":"耍猴","type_id":"耍猴超清"}, + + +{"type_name":"乒乓球","type_id":"乒乓球超清"}, +{"type_name":"搞笑","type_id":"搞笑"}, +{"type_name":"4K资源","type_id":"4K"}, +{"type_name":"8K资源","type_id":"8K"}, +{"type_name":"小姐姐","type_id":"小姐姐超清"}, +{"type_name":"广场舞","type_id":"广场舞超清"}, +{"type_name":"纪录片","type_id":"纪录片超清"}, +{"type_name":"电影解说","type_id":"电影解说超清"}, +{"type_name":"相声小品","type_id":"相声小品超清"}, +{"type_name":"动物世界","type_id":"动物世界超清"}, +{"type_name":"风景","type_id":"风景超清"}, +{"type_name":"演讲","type_id":"演讲超清"}, +{"type_name":"健身","type_id":"健身超清"}, +{"type_name":"体育","type_id":"体育超清"}, +{"type_name":"足球","type_id":"足球比赛超清"}, +{"type_name":"篮球","type_id":"篮球比赛超清"}, +{"type_name":"假窗白噪音","type_id":"白噪音超清"}], + + "filter": { + + "评书": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "评书" + }, + { + "n": "单田芳", + "v": "单田芳" + }, + { + "n": "田连元", + "v": "田连元" + }, + { + "n": "袁阔成", + "v": "袁阔成" + }, + { + "n": "刘兰芳", + "v": "刘兰芳" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "王钥波", + "v": "王钥波" + + }, + { + "n": "金文生", + "v": "金文生" + }, + { + "n": "王生", + "v": "王生" + }, + { + "n": "陈青远", + "v": "陈青远" + }, + { + "n": "连丽如", + "v": "连丽如" + }, + { + "n": "陈士和", + "v": "陈士和" + }, + { + "n": "王少堂", + "v": "王少堂" + }, + { + "n": "张少佐", + "v": "张少佐" + }, + { + "n": "关永超", + "v": "关永超" + }, + { + "n": "田战义", + "v": "田战义" + }, + { + "n": "有声书", + "v": "有声书" + }, + { + "n": "有声书", + "v": "有声书" + + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + + + + + + + + +"番剧超清":[ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "电影", + "v": "番剧超清" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + + + { + "n": "其他", + "v": "其他" + } + ] + }, + +{ + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + +"动画电影超清":[ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "电影", + "v": "动画电影超清" + }, + { + "n": "国产", + "v": "国产" + }, + + { + "n": "欧美", + "v": "欧美" + }, + + { + "n": "其他", + "v": "其他" + } + ] + }, + +{ + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + +"耍猴超清":[ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "10分钟以上", + "v": "3" + }, + + { + "n": "2~10分钟", + "v": "2" + }, + { + "n": "1分钟以下", + "v": "1" + } + ] + } + ], + +"广场舞":[{"key":"duration","name":"时长","value":[{"n":"全部","v":"0"},{"n":"60分钟以上","v":"4"},{"n":"30~60分钟","v":"3"},{"n":"10~30分钟","v":"2"},{"n":"10分钟以下","v":"1"}]}]}} diff --git a/XBiubiu/哔嘀影视.json b/XBiubiu/哔嘀影视.json new file mode 100644 index 0000000..a7e5c54 --- /dev/null +++ b/XBiubiu/哔嘀影视.json @@ -0,0 +1,57 @@ +{ + "ua": "", + "homeUrl": "https://www.bdys01.com", + "dcPlayUrl": "true", + "cateNode": "//a[contains(@href,'/s/')]", + "cateName": "concat(//span[contains(@class,'nav-link-title')]/text(),//a[contains(@class,'dropdown-item')]/text())", + "cateId": "/@href", + "cateIdR": "/s/(\\w+)", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'col-4 rows-md-7')]/div[contains(@class,'card card-sm card-link')]", + "homeVodName": "//h3/text()", + "homeVodId": "/a/@href", + "homeVodIdR": "/(\\S+).htm", + "homeVodImg": "/a/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "concat(//div[contains(@class,'ribbon ribbon-bookmark ribbon-top bg-azure p-0')]/text(),//span[contains(@class,'badge bg-pink position-absolute top-0 start-0')]/text())", + "cateUrl": "https://www.bdys01.com/s/{cateId}/{catePg}", + "cateVodNode": "//div[contains(@class,'col-lg-8 col-4')]/div[contains(@class,'card card-sm card-link')]", + "cateVodName": "//h3/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "/(\\S+).htm", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "concat(//div[contains(@class,'ribbon ribbon-bookmark ribbon-top bg-azure p-0')]/text(),//span[contains(@class,'badge bg-pink position-absolute top-0 start-0')]/text())", + "dtUrl": "https://www.bdys01.com/{vid}.htm", + "dtNode": "//body", + "dtName": "//h2/text()", + "dtNameR": "", + "dtImg": "//div[contains(@class,'col-md-auto')]/img/@src", + "dtImgR": "", + "dtCate": "//div[@class='col mb-2']/p/a[contains(@target,'new')]/text()", + "dtArea": "//div[@class='col mb-2']//strong[contains(text(),'地区')]/parent::text()", + "dtAreaR": "\\[(\\S+)\\]", + "dtYear": "//div[@class='col mb-2']//strong[contains(text(),'上映日期')]/parent::text()", + "dtYearR": "(\\w+)", + "dtActor": "//div[@class='col mb-2']//a[contains(@href,'performer')]/text()", + "dtDirector": "//div[@class='col mb-2']//a[contains(@href,'director')]/text()", + "dtDesc": "//div[@class='card collapse']//div[@class='card-body']/text()", + + //获取magnet链接 + "dtFromNode": "//tbody[contains(@id,'download-list')]/tr", + "dtFromName": "/td[2]/text()", + "dtUrlNode": "//tbody[contains(@id,'download-list')]", + "dtUrlSubNode": "/tr", + "dtUrlId": "/td[3]/a/@href", + "dtUrlIdR": "", + "dtUrlName": "/td[2]/text()", + + + "searchUrl": "https://www.bdys01.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XBiubiu/哔滴.json b/XBiubiu/哔滴.json new file mode 100644 index 0000000..479c3ca --- /dev/null +++ b/XBiubiu/哔滴.json @@ -0,0 +1,59 @@ +{"name": "哔嘀", +"url": "https://www.bdys01.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"fenlei": "最新影片$/s/all/#动作$/s/dongzuo/#爱情$/s/aiqing/#喜剧$/s/xiju/#科幻$/s/kehuan/#恐怖$/s/kongbu/#战争$/s/zhanzheng/#武侠$/s/wuxia/#魔幻$/s/mohuan/#剧情$/s/juqing/#动画$/s/donghua/#惊悚$/s/jingsong/#3D$/s/3D/#灾难$/s/zainan/#悬疑$/s/xuanyi/#警匪$/s/jingfei/#文艺$/s/wenyi/#青春$/s/qingchun/#冒险$/s/maoxian/#犯罪$/s/fanxui/#纪录$/s/jilu/#古装$/s/guzhuang/#奇幻$/s/qihuan/#国语$/s/guoyu/#综艺$/s/zongyi/#历史$/s/lishi/#运动$/s/yundong/#原创压制$/s/yuanchuang/#美剧$/s/meiju/#韩剧$/s/hanju/#日剧$/s/riju/#英剧$/s/yingju/#泰剧$/s/taiju/#港台剧$/s/gangtaiju/", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "

    ", +"biaotihou": "

    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "top-0 start-0\">", +"fubiaotihou": "", +"sousuoqian": "/performer/", +"sousuohou": "", +"sousuohouzhui": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
    ", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "

    ", +"ssbiaotihou": "

    ", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"play-list", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "摘要:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情简介", +"juqinghou": "
    ", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, \ No newline at end of file diff --git a/XBiubiu/四虎影院.json b/XBiubiu/四虎影院.json new file mode 100644 index 0000000..af5180e --- /dev/null +++ b/XBiubiu/四虎影院.json @@ -0,0 +1,64 @@ +{"name": "四虎影院<屏蔽移动网>", +"url": "https://www.atf678.com/", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "国产$/video/index_#自拍视频$/video/zipai/index_#淫妻作乐$/video/fuqi/index_#开放青年$/video/kaifang/index_#精品分享$/video/jingpin/index_#台湾辣妹$/video/twmn/index_#韩国主播$/video/krzb/index_#动漫卡通$/video/dongman/index_#经典三级$/video/sanji/index_#女优$/av/index_#女性向纯爱$/av/nxx/index_#GIGA女战士$/av/giga/index_#波多野结衣$/av/bdyjy/index_#深田咏美$/av/stym/index_#桥本有菜$/av/qbyc/index_#苍井空$/av/cjk/index_#三上悠亚$/av/ssyy/index_#吉泽明步$/av/jzmb/index_#电影$/movie/index_#无码中字$/movie/wuma/index_#SM系列$/movie/sm/index_#高清无码$/movie/gaoqing/index_#熟女人妻$/movie/shunv/index_#美颜巨乳$/movie/meiyan/index_#丝袜制服$/movie/siwa/index_#中字有码$/movie/youma/index_#欧美系列$/movie/oumei/index_", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": " ", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", + "xlshifouercijiequ": "0", + "xljiequqian": "", + "xljiequhou": "", + "xljiequshuzuqian": "
    ", + "xljiequshuzuhou": "
    ", + "xlbiaotiqian": ">", + "xlbiaotihou": "
    ", +"sousuoqian": "/searchs/index.php?keyboard=", +"sousuohou": "&classid=", +"sousuohouzhui": "/html/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "com/html", +"ssjiequshuzuhou": "", +"sstupianqian": "

    ", +"sstupianhou": " - ", +"ssbiaotihou": "", +"sslianjieqian": ".com", +"sslianjiehou": " - ", +"zhuangtaiqian": "分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "名称:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/土狗2345.json b/XBiubiu/土狗2345.json new file mode 100644 index 0000000..fae38d3 --- /dev/null +++ b/XBiubiu/土狗2345.json @@ -0,0 +1,6 @@ +{"code":1,"msg":"数据列表","page":1,"pagecount":36,"limit":"20","total":715,"list":[{"vod_id":60,"vod_name":"金牌调解国语","type_id":3,"type_name":"综艺","vod_en":"jinpaidiaojieguoyu","vod_time":"2022-09-08 01:00:07","vod_remarks":"更新至20220730","vod_play_from":"qiyi"},{"vod_id":152,"vod_name":"每日一囧","type_id":3,"type_name":"综艺","vod_en":"meiriyijiong","vod_time":"2022-09-07 23:00:34","vod_remarks":"更新至20220731","vod_play_from":"qiyi"},{"vod_id":631,"vod_name":"养生堂国语","type_id":3,"type_name":"综艺","vod_en":"yangshengtangguoyu","vod_time":"2022-09-07 22:00:24","vod_remarks":"更新至20220801","vod_play_from":"qiyi,qq"},{"vod_id":715,"vod_name":"高能少年团国语第1部","type_id":3,"type_name":"综艺","vod_en":"gaonengshaoniantuanguoyudi1bu","vod_time":"2022-09-07 20:01:12","vod_remarks":"","vod_play_from":"qiyi"},{"vod_id":646,"vod_name":"高能少年团国语第2部","type_id":3,"type_name":"综艺","vod_en":"gaonengshaoniantuanguoyudi2bu","vod_time":"2022-09-07 20:01:12","vod_remarks":"更新至20180714","vod_play_from":"qiyi"},{"vod_id":226,"vod_name":"口袋舞蹈国语","type_id":3,"type_name":"综艺","vod_en":"koudaiwudaoguoyu","vod_time":"2022-09-07 16:00:32","vod_remarks":"更新至20220801","vod_play_from":"qiyi"},{"vod_id":669,"vod_name":"男生女生向前冲国语第14部","type_id":3,"type_name":"综艺","vod_en":"nanshengnvshengxiangqianchongguoyudi14bu","vod_time":"2022-09-07 16:00:15","vod_remarks":"更新至20220808","vod_play_from":"qiyi"},{"vod_id":94,"vod_name":"第三调解室","type_id":3,"type_name":"综艺","vod_en":"disandiaojieshi","vod_time":"2022-09-07 16:00:11","vod_remarks":"更新至20220801","vod_play_from":"qiyi,qq"},{"vod_id":630,"vod_name":"经典传奇国语","type_id":3,"type_name":"综艺","vod_en":"jingdianchuanqiguoyu","vod_time":"2022-09-07 16:00:09","vod_remarks":"更新至20220801","vod_play_from":"qiyi"},{"vod_id":81,"vod_name":"万家灯火国语","type_id":3,"type_name":"综艺","vod_en":"wanjiadenghuoguoyu","vod_time":"2022-09-07 12:00:20","vod_remarks":"更新至20220801","vod_play_from":"qiyi"},{"vod_id":572,"vod_name":"炼体十万层都市篇动态漫画","type_id":4,"type_name":"动漫","vod_en":"liantishiwancengdushipiandongtaimanhua","vod_time":"2022-09-07 11:01:22","vod_remarks":"[db:备注]","vod_play_from":"qiyi"},{"vod_id":509,"vod_name":"王爷家的小蛮妃","type_id":4,"type_name":"动漫","vod_en":"wangyejiadexiaomanfei","vod_time":"2022-09-07 11:01:12","vod_remarks":"[db:备注]","vod_play_from":"mgtv"},{"vod_id":546,"vod_name":"迷你小洞玩创造","type_id":4,"type_name":"动漫","vod_en":"minixiaodongwanchuangzao","vod_time":"2022-09-07 11:01:05","vod_remarks":"[db:备注]","vod_play_from":"qiyi,qq"},{"vod_id":682,"vod_name":"100道光芒国语","type_id":3,"type_name":"综艺","vod_en":"100daoguangmangguoyu","vod_time":"2022-09-07 02:00:04","vod_remarks":"更新至20220807","vod_play_from":"mgtv"},{"vod_id":84,"vod_name":"传奇故事国语","type_id":3,"type_name":"综艺","vod_en":"chuanqigushiguoyu","vod_time":"2022-09-07 01:00:17","vod_remarks":"更新至20220801","vod_play_from":"qiyi"},{"vod_id":657,"vod_name":"美好年华研习社国语","type_id":3,"type_name":"综艺","vod_en":"meihaonianhuayanxisheguoyu","vod_time":"2022-09-07 01:00:13","vod_remarks":"更新至20220807","vod_play_from":"mgtv"},{"vod_id":25,"vod_name":"极限挑战国语第8部","type_id":3,"type_name":"综艺","vod_en":"jixiantiaozhanguoyudi8bu","vod_time":"2022-09-06 23:00:16","vod_remarks":"更新至20220731","vod_play_from":"qiyi"},{"vod_id":714,"vod_name":"我不是明星国语","type_id":3,"type_name":"综艺","vod_en":"wobushimingxingguoyu","vod_time":"2022-09-06 20:01:17","vod_remarks":"更新至20151130","vod_play_from":"letv,qq"},{"vod_id":159,"vod_name":"天天向上国语","type_id":3,"type_name":"综艺","vod_en":"tiantianxiangshangguoyu","vod_time":"2022-09-06 18:00:23","vod_remarks":"更新至20211226","vod_play_from":"mgtv"},{"vod_id":449,"vod_name":"坦克世界","type_id":4,"type_name":"动漫","vod_en":"tankeshijie","vod_time":"2022-09-06 12:00:47","vod_remarks":"[db:备注]","vod_play_from":"qiyi"}],"class":[ + + +{"type_id":1,"type_pid":0,"type_name":"综艺"},{"type_id":2,"type_pid":0,"type_name":"动漫"}, + +{"type_id":3,"type_pid":1,"type_name":"动作片"},{"type_id":4,"type_pid":1,"type_name":"喜剧片"},{"type_id":5,"type_pid":1,"type_name":"爱情片"},{"type_id":6,"type_pid":1,"type_name":"科幻片"},{"type_id":7,"type_pid":1,"type_name":"恐怖片"},{"type_id":8,"type_pid":1,"type_name":"剧情片"},{"type_id":9,"type_pid":1,"type_name":"战争片"},{"type_id":10,"type_pid":2,"type_name":"国产剧"},{"type_id":11,"type_pid":2,"type_name":"港台剧"},{"type_id":12,"type_pid":2,"type_name":"日韩剧"},{"type_id":13,"type_pid":2,"type_name":"欧美剧"},{"type_id":14,"type_pid":2,"type_name":"其他剧"},{"type_id":15,"type_pid":1,"type_name":"惊悚片"},{"type_id":16,"type_pid":1,"type_name":"犯罪片"},{"type_id":17,"type_pid":1,"type_name":"冒险片"},{"type_id":18,"type_pid":1,"type_name":"悬疑片"},{"type_id":19,"type_pid":1,"type_name":"动画片"},{"type_id":20,"type_pid":1,"type_name":"武侠片"},{"type_id":21,"type_pid":1,"type_name":"奇幻片"},{"type_id":22,"type_pid":1,"type_name":"纪录片"},{"type_id":23,"type_pid":1,"type_name":"其他片"}]} \ No newline at end of file diff --git a/XBiubiu/在线之家.json b/XBiubiu/在线之家.json new file mode 100644 index 0000000..8a33974 --- /dev/null +++ b/XBiubiu/在线之家.json @@ -0,0 +1,61 @@ +{ + "author":"张弘20220731", + "name": "在线之家〔时间排序〕", + "url":"https://zxzj.vip", + //"url": "https://www.zxzjtv.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/1--time------#美剧$/vodshow/2--time------#韩剧$/vodshow/3--time------#日剧$/vodshow/4--time------#泰剧$/vodshow/5--time------#动漫$/vodshow/6--time------#国产影片$/vodshow/1-大陆-time------#香港影片$/vodshow/1-香港-time------#台湾影片$/vodshow/1-台湾-time------#欧美影片$/vodshow/1-欧美-time------#日本影片$/vodshow/1-日本-time------#韩国影片$/vodshow/1-韩国-time------#泰国影片$/vodshow/1-泰国-time------#印度影片$/vodshow/1-印度-time------#俄罗斯影片$/vodshow/1-俄罗斯-time------#其他影片$/vodshow/1-其他-time------#喜剧影片$/vodshow/1--time-喜剧-----#爱情影片$/vodshow/1--time-爱情-----#恐怖影片$/vodshow/1--time-恐怖-----#动作影片$/vodshow/1--time-动作-----#科幻影片$/vodshow/1--time-科幻-----#剧情影片$/vodshow/1--time-剧情-----#战争影片$/vodshow/1--time-战争-----#警匪影片$/vodshow/1--time-警匪-----#犯罪影片$/vodshow/1--time-犯罪-----#动画影片$/vodshow/1--time-动画-----#奇幻影片$/vodshow/1--time-奇幻-----#冒险影片$/vodshow/1--time-冒险-----#欧美喜剧$/vodshow/2--time-喜剧-----#欧美爱情剧$/vodshow/2--time-爱情-----#欧美恐怖剧$/vodshow/2--time-恐怖-----#欧美动作剧$/vodshow/2--time-动作-----#欧美悬疑剧$/vodshow/2--time-悬疑-----#欧美剧情剧$/vodshow/2--time-剧情-----#欧美惊悚剧$/vodshow/2--time-惊悚-----#欧美犯罪剧$/vodshow/2--time-犯罪-----#欧美科幻剧$/vodshow/2--time-科幻-----#欧美奇幻剧$/vodshow/2--time-奇幻-----#欧美音乐剧$/vodshow/2--time-音乐-----#欧美其他剧$/vodshow/2--time-其他-----#韩国喜剧$/vodshow/3--time-喜剧-----#韩国爱情剧$/vodshow/3--time-爱情-----#韩国恐怖剧$/vodshow/3--time-恐怖-----#韩国动作剧$/vodshow/3--time-动作-----#韩国悬疑剧$/vodshow/3--time-悬疑-----#韩国剧情剧$/vodshow/3--time-剧情-----#韩国惊悚剧$/vodshow/3--time-惊悚-----#韩国犯罪剧$/vodshow/3--time-犯罪-----#韩国科幻剧$/vodshow/3--time-科幻-----#韩国奇幻剧$/vodshow/3--time-奇幻-----#韩国音乐剧$/vodshow/3--time-音乐-----#韩国其他剧$/vodshow/3--time-其他-----#日本喜剧$/vodshow/4--time-喜剧-----#日本爱情剧$/vodshow/4--time-爱情-----#日本恐怖剧$/vodshow/4--time-恐怖-----#日本动作剧$/vodshow/4--time-动作-----#日本悬疑剧$/vodshow/4--time-悬疑-----#日本剧情剧$/vodshow/4--time-剧情-----#日本惊悚剧$/vodshow/4--time-惊悚-----#日本犯罪剧$/vodshow/4--time-犯罪-----#日本科幻剧$/vodshow/4--time-科幻-----#日本奇幻剧$/vodshow/4--time-奇幻-----#日本音乐剧$/vodshow/4--time-音乐-----#日本其他剧$/vodshow/4--time-其他-----", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data \">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/夜光影视.json b/XBiubiu/夜光影视.json new file mode 100644 index 0000000..5577923 --- /dev/null +++ b/XBiubiu/夜光影视.json @@ -0,0 +1,64 @@ +{"name": "夜空蓝光", +"url": "https://www.yekong.cc", +"ua": "空", +"User": "空", +"fenlei": "首页推荐$空#电影$/pianku-dianying--------#国产电影$/pianku-dianying-%E5%A4%A7%E9%99%86-------#电视剧$/pianku-lianxuju--------#国产剧$/pianku-lianxuju--time-%E5%9B%BD%E4%BA%A7%E5%89%A7-----#综艺$/pianku-zongyi--------#动漫$/pianku-dongman--------#国产动漫$/pianku-dongman---%E5%9B%BD%E4%BA%A7%E5%8A%A8%E6%BC%AB-----#纪录片$/pianku-jilupian--------", +"houzhui": "---/", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "id=\"", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "https://www.yekong.cc", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"/paly-", +"lianjiehou": "-", +"ljqianzhui": "https://www.yekong.cc/show-", +"fubiaotiqian": "class=\"module-item-note\">", +"fubiaotihou": "
    ", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/show-", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\">", +"bfjiequshuzuhou": "class=\"module\"", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/夜空蓝光.json b/XBiubiu/夜空蓝光.json new file mode 100644 index 0000000..307ff29 --- /dev/null +++ b/XBiubiu/夜空蓝光.json @@ -0,0 +1,58 @@ +{"name": "夜空蓝光", +"url": "https://www.yekong.cc", +"tihuan": "cnzz.com", +"shouye": "1", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/pianku-dianying-----------/page/#欧美剧$/pianku-lianxuju-----------/page/#国产剧$/pianku-lianxuju---%E5%9B%BD%E4%BA%A7%E5%89%A7--------/#港剧$/pianku-lianxuju---%E6%B8%AF%E5%89%A7--------/#动漫$/pianku-dongman-----------/#综艺$/pianku-zongyi-----------/", +"houzhui": "", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-item-pic", +"jiequhou": "class=\"fixedGroup", +"jiequshuzuqian": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list", +"bfjiequshuzuhou": "class=\"module\"", +"zhuangtaiqian": "class=\"module-item-note\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/大师兄.json b/XBiubiu/大师兄.json new file mode 100644 index 0000000..43ab45c --- /dev/null +++ b/XBiubiu/大师兄.json @@ -0,0 +1,66 @@ +{"name": "大师兄影视", +"url": "https://dsxys.pro", +"tihuan": "cnzz.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "User-Agent:Dart/2.14 (dart:io)", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#海外剧$/vodshow/23--------#欧美剧$/vodshow/16--------", //网站列表的分类 +"houzhui": "---.html", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "评分排序", +"jiequhou": "class=\"fixedGroup", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "https://dsxys.pro", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"module-item-douban\">", +"fubiaotihou": "<", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/v/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"zhuangtaiqian": "class=\"module-info-item-content\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-blocklist scroll-box scroll-box-y module-plyer-list\">", +"juqinghou": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"panel1", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"xlbiaotiqian":"", +"xlbiaotihou":"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "n-content\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/天空影视.json b/XBiubiu/天空影视.json new file mode 100644 index 0000000..9ea014b --- /dev/null +++ b/XBiubiu/天空影视.json @@ -0,0 +1,59 @@ +{ + "name": "天空影视", + "url": "https://www.tkys.tv", + "tihuan": "cnzz.com", + "shouye": "1", + "fenlei": "电影$/vodshow/by/time/id/1/page/#电视剧$/vodshow/by/time/id/2/page/#综艺$/vodshow/by/time/id/3/page/#动漫$/vodshow/by/time/id/4/page/#国产剧$/vodshow/area/内地/id/2/page/#港剧$/vodshow/area/香港/id/2/page/#韩剧$/vodshow/area/韩国/id/2/page/#美剧$/vodshow/area/美国/id/2/page/#泰剧$/vodshow/area/泰国/id/2/page/#日剧$/vodshow/area/日本/id/2/page/#台剧$/vodshow/area/台湾/id/2/page/#英剧$/vodshow/area/英国/id/2/page/#古装剧$/vodshow/by/time/class/古装/id/2/page/#言情剧$/vodshow/by/time/class/言情/id/2/page/#武侠剧$/vodshow/by/time/class/武侠/id/2/page/#偶像剧$/vodshow/by/time/class/偶像/id/2/page/#家庭剧$/vodshow/by/time/class/家庭/id/2/page/#青春剧$/vodshow/by/time/class/青春/id/2/page/#都市剧$/vodshow/by/time/class/都市/id/2/page/#喜剧$/vodshow/by/time/class/喜剧/id/2/page/#战争剧$/vodshow/by/time/class/战争/id/2/page/#军旅剧$/vodshow/by/time/class/军旅/id/2/page/#谍战剧$/vodshow/by/time/class/谍战/id/2/page/#悬疑剧$/vodshow/by/time/class/悬疑/id/2/page/#罪案剧$/vodshow/by/time/class/罪案/id/2/page/#穿越剧$/vodshow/by/time/class/穿越/id/2/page/#宫廷剧$/vodshow/by/time/class/宫廷/id/2/page/#历史剧$/vodshow/by/time/class/历史/id/2/page/#神话剧$/vodshow/by/time/class/神话/id/2/page/#科幻剧$/vodshow/by/time/class/科幻/id/2/page/#年代剧$/vodshow/by/time/class/年代/id/2/page/#农村剧$/vodshow/by/time/class/农村/id/2/page/#商战剧$/vodshow/by/time/class/商战/id/2/page/#剧情剧$/vodshow/by/time/class/剧情/id/2/page/#奇幻剧$/vodshow/by/time/class/奇幻/id/2/page/#网落剧$/vodshow/by/time/class/网剧/id/2/page/#真人动漫$/vodshow/by/time/class/真人动漫/id/2/page/#体育电竞$/vodshow/by/time/class/体育电竞/id/2/page/#竖短片$/vodshow/by/time/class/竖短片/id/2/page/#喜剧片$/vodshow/by/time/class/喜剧/id/1/page/#爱情片$/vodshow/by/time/class/爱情/id/1/page/#恐怖片$/vodshow/by/time/class/恐怖/id/1/page/#动作片$/vodshow/by/time/class/动作/id/1/page/#科幻片$/vodshow/by/time/class/科幻/id/1/page/#剧情片$/vodshow/by/time/class/剧情/id/1/page/#战争片$/vodshow/by/time/class/战争/id/1/page/#警匪片$/vodshow/by/time/class/警匪/id/1/page/#犯罪片$/vodshow/by/time/class/犯罪/id/1/page/#动画片$/vodshow/by/time/class/动画/id/1/page/#奇幻片$/vodshow/by/time/class/奇幻/id/1/page/#武侠片$/vodshow/by/time/class/武侠/id/1/page/#冒险片$/vodshow/by/time/class/冒险/id/1/page/#枪战片$/vodshow/by/time/class/枪战/id/1/page/#悬疑片$/vodshow/by/time/class/悬疑/id/1/page/#惊悚片$/vodshow/by/time/class/惊悚/id/1/page/#经典片$/vodshow/by/time/class/经典/id/1/page/#青春片$/vodshow/by/time/class/青春/id/1/page/#文艺片$/vodshow/by/time/class/文艺/id/1/page/#微电影$/vodshow/by/time/class/微电影/id/1/page/#古装片$/vodshow/by/time/class/古装/id/1/page/#历史片$/vodshow/by/time/class/历史/id/1/page/#运动片$/vodshow/by/time/class/运动/id/1/page/#农村片$/vodshow/by/time/class/农村/id/1/page/#儿童片$/vodshow/by/time/class/儿童/id/1/page/#网络电影$/vodshow/by/time/class/网络电影/id/1/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-8", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/奇粹影视.json b/XBiubiu/奇粹影视.json new file mode 100644 index 0000000..d5e909c --- /dev/null +++ b/XBiubiu/奇粹影视.json @@ -0,0 +1,64 @@ +{"name": "奇粹影视", +"url":"http://www.blssv.com", +"fenlei": "连续剧$/index.php/vod/show/id/21/page/#电影$/index.php/vod/show/id/20/page/#综艺$/index.php/vod/show/id/23/page/#动漫$/index.php/vod/show/id/22/page/#海外专区$/index.php/vod/show/id/24/page/", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "", +"jiequhou": "", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "alt=", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"module-item-text\">", +"fubiaotihou": "", +"sousuohouzhui": "/index.php/vod/detail/id/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sort-item", +//"bfjiequshuzuqian": "class=\"module-tab-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" } \ No newline at end of file diff --git a/XBiubiu/完美看看.json b/XBiubiu/完美看看.json new file mode 100644 index 0000000..21c0310 --- /dev/null +++ b/XBiubiu/完美看看.json @@ -0,0 +1,61 @@ +{ + "author":"20220720", + "name": "完美看看", + "url": "https://www.wanmeikk.me/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/category/1-#欧美剧$/category/2-#韩剧$/category/3-#日剧$/category/4-#国产剧$/category/5-#动漫$/category/6-#综艺$/category/7-#泰剧$/category/9-#纪录片$/category/10-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "class=\"stui-vodlist__box stui-vodlist__bg", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/play/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-pannel_bd col-pd clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"data\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/宝仙HD.json b/XBiubiu/宝仙HD.json new file mode 100644 index 0000000..9058e11 --- /dev/null +++ b/XBiubiu/宝仙HD.json @@ -0,0 +1,58 @@ +{"name": "宝仙HD", +"url": "https://webdillo.com", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"shouye": "1", +"fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"content_playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic_text text_right\">", +"zhuangtaihou": "
    ", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/小强迷.json b/XBiubiu/小强迷.json new file mode 100644 index 0000000..123626e --- /dev/null +++ b/XBiubiu/小强迷.json @@ -0,0 +1,73 @@ +{ + "name": "小强迷", + "url": "http://xqmi.top", + "User": "空", + "shouye": "1", + "fenlei": "电影$/index.php/vod/show/by/time/id/1/page/#电视剧$/index.php/vod/show/by/time/id/2/page/#综艺$/index.php/vod/show/by/time/id/3/page/#动漫$/index.php/vod/show/by/time/id/4/page/#国产剧$/index.php/vod/show/by/time/id/13/page/#港台剧$/index.php/vod/show/by/time/id/14/page/#日韩剧$/index.php/vod/show/by/time/id/15/page/#欧美剧$/index.php/vod/show/by/time/id/16/page/#国产动漫$/index.php/vod/show/area/国产/by/time/id/4/page/#日本动漫$/index.php/vod/show/area/日本/by/time/id/4/page/#动作片$/index.php/vod/show/by/time/id/6/page/#喜剧片$/index.php/vod/show/by/time/id/7/page/#爱情片$/index.php/vod/show/by/time/id/8/page/#科幻片$/index.php/vod/show/by/time/id/9/page/#恐怖片$/index.php/vod/show/by/time/id/10/page/#剧情片$/index.php/vod/show/by/time/id/11/page/#战争片$/index.php/vod/show/by/time/id/12/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": " lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\">", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "xlbiaotiqian": ">", + "xlbiaotihou": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/小猫咪.json b/XBiubiu/小猫咪.json new file mode 100644 index 0000000..8fc45eb --- /dev/null +++ b/XBiubiu/小猫咪.json @@ -0,0 +1,77 @@ +{ + "name": "小猫咪", + "url": "https://xmaomi.net", + "User": "", + "shouye": "1", + "fenlei":"电视剧$/vod_____show/2-----------#电影$/vod_____show/1-----------#动漫$/vod_____show/4-----------#综艺$/vod_____show/3-----------#纪录$/vod_____show/5-----------", + "houzhui":".html", + //"分类页":"https://555dy1.com/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", + // "分类":"电视剧$2#电影$1#动漫$3#综艺$4#福利$124", + "shifouercijiequ": "0", + "jiequqian": "", + "jiequhou": "", + "jiequshuzuqian": "class=\"hl-list-item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "remarks\"", + "fubiaotihou": "", + + "sousuoqian": "/v_search/-------------.html?wd=", + "sousuohou": "&submit=", + "sousuohouzhui": "v_", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + //"jspic": "pic", + //"jsname": "name", + //"jsid": "id", + "ssjiequqian": "class=\"hl-one-list", + "ssjiequhou": "", + "ssjiequshuzuqian": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"hl-plays-list", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "", + "zhuangtaihou": "", + "daoyanqian": "导演:
    ", + "daoyanhou": "", + "zhuyanqian": "", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", +"xlshifouercijiequ": "", +"xljiequqian": "", + "xljiequhou": "", +"xljiequshuzuqian": "class=\"hl-tabs-btn", +"xljiequshuzuhou": "", + "xlbiaotiqian": "alt=\"", + "xlbiaotihou": "\"", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "", + "bfyjiequhou": "", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "", + + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "嗅探词":"", +"过滤词":"" +} \ No newline at end of file diff --git a/XBiubiu/尘落测试.json b/XBiubiu/尘落测试.json new file mode 100644 index 0000000..a6e1bca --- /dev/null +++ b/XBiubiu/尘落测试.json @@ -0,0 +1,59 @@ +{"name": "尘落测试", +"url": "http://v.xiangdao.me", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", +"User": "空", +"fenlei": "电视剧$/vod-list-id-12-pg-", +//"houzhui": "-order--by-time-class-0-year--letter--area--lang-.html", +//"fenlei": "电视剧$/vod-list-id-12-pg-", +"houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"resize_list", +"jiequhou": "", +"jiequshuzuqian": "
  • ", +"jiequshuzuhou": "
  • ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search.php?page=1&searchword=", +"sousuohou": "&searchtype=", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "thumb", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"numList", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "detail-content\" style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "
    ", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "red;\">", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "data\">导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "data\">主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "sketch\">", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/床吧.json b/XBiubiu/床吧.json new file mode 100644 index 0000000..ebb0f1b --- /dev/null +++ b/XBiubiu/床吧.json @@ -0,0 +1,59 @@ +{ + "name": "床吧", + "url": "https://chuangba19.xyz", + "User": "空", + "shouye": "1", + "fenlei": "国产精品$/index.php/vod/type/id/50/page/#亚洲无码$/index.php/vod/type/id/page/#中文字幕$/index.php/vod/type/id/3/page/#美女主播$/index.php/vod/type/id/4/page/#动漫卡通$/index.php/vod/type/id/5/page/#人妻熟女$/index.php/vod/type/id/42/page/#重口味$/index.php/vod/type/id/43/page/#三级伦理$/index.php/vod/type/id/44/page/#精选口爆$/index.php/vod/type/id/54/page/#亚洲有码$/index.php/vod/type/id/47/page/#欧美情色$/index.php/vod/type/id/48/page/#同性同志$/index.php/vod/type/id/52/page/#91大神$/index.php/vod/type/id/51/page/#Pornhub欧美$/index.php/vod/type/id/55/page", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"video\">", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": " class=\"text-red\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "空", + "juqinghou": "空", + "bfjiequshuzuqian": "class=\"panel-body panel-padding\">", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "class=\"pic\">", + "bfyjiequshuzuhou": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/影视大全.json b/XBiubiu/影视大全.json new file mode 100644 index 0000000..3f89420 --- /dev/null +++ b/XBiubiu/影视大全.json @@ -0,0 +1,61 @@ +{ +"name": "影视大全", +"url": "https://www.ekvod.com", //填网站链接 +"tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 +"User": "空", //这个不用动,是个别网站播放需要请求头时才用到 +"shouye": "1", +"fenlei": "电影$/vodshow/1--------#剧集$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", //网站列表的分类 +"houzhui": "---.html", //网站翻页链接的后缀 +"shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 +"jiequqian": "class=\"module-items module-poster-items-base", //不需要二次截取就填空 +"jiequhou": "id=\"page", //不需要二次截取就填空 +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian": "class=\"module-item-douban\">", +"fubiaotihou": "", //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content", //播放截取的列表数组的前关键词 +"bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 +"zhuangtaiqian": "更新:", //状态前关键词 +"zhuangtaihou": "", //状态后关键词 +"daoyanqian": "导演:", //导演前关键词 +"daoyanhou": "", //导演态后关键词 +"zhuyanqian": "主演:", //主演前关键词 +"zhuyanhou": "", //主演后关键词 +"juqingqian": "简介:", //剧情前关键词 +"juqinghou": "", //剧情后关键词 +"bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 +"bfyjiequqian": "空", //不需要二次截取就填空 +"bfyjiequhou": "空", //不需要二次截取就填空 +"bfyjiequshuzuqian": "", //播放剧集数组后关键词 +"bfbiaotiqian": "title=\"", //播放剧集标题前关键词 +"bfbiaotihou": "\"", //状播放剧集标题后关键词 +"bflianjieqian": "href=\"", //播放剧集链接前关键词 +"bflianjiehou": "\""} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XBiubiu/影视工厂.json b/XBiubiu/影视工厂.json new file mode 100644 index 0000000..e652ab6 --- /dev/null +++ b/XBiubiu/影视工厂.json @@ -0,0 +1,74 @@ +{ + "author":"张弘20220731", + "name": "影视工厂〔时间排序〕", + "url": "https://www.ysgc.tv", +//"url": "https://www.ysgc.cc", + "User": "空", + "shouye": "1", + "fenlei": "奈飞电影$/vodshow/1--time-Netflix-----#奈飞电视剧$/vodshow/2--time-Netflix-----#奈飞动漫$/vodshow/4---Netflix-----#电视剧$/vodshow/2--time------#电影$/vodshow/1--time------#综艺$/vodshow/3--time------#动漫$/vodshow/4--time------#国产电视剧$/vodshow/2-内地-time------#国产电影$/vodshow/1-内地-time------#香港电视剧$/vodshow/2-香港-time------#香港电影$/vodshow/1-香港-time------#台湾电视剧$/vodshow/2-台湾-time------#台湾电影$/vodshow/1-台湾-time------#美国电视剧$/vodshow/2-美国-time------#美国电影$/vodshow/1-美国-time------#日本电视剧$/vodshow/2-日本-time------#日本电影$/vodshow/1-日本-time------#韩国电视剧$/vodshow/2-韩国-time------#韩国电影$/vodshow/1-韩国-time------#英国电视剧$/vodshow/2-英国-time------#英国电影$/vodshow/1-英国-time------#法国电视剧$/vodshow/2-法国-time------#法国电影$/vodshow/1-法国-time------#德国电视剧$/vodshow/2-德国-time------#德国电影$/vodshow/1-德国-time------#印度电视剧$/vodshow/2-印度-time------#印度电影$/vodshow/1-印度-time------#泰国电视剧$/vodshow/2-泰国-time------#泰国电影$/vodshow/1-泰国-time------#其他电视剧$/vodshow/2-其他-time------#丹麦电影$/vodshow/1-丹麦-time------#瑞典电影$/vodshow/1-瑞典-time------#巴西电影$/vodshow/1-巴西-time------#加拿大电影$/vodshow/1-加拿大-time------#俄罗斯电影$/vodshow/1-俄罗斯-time------#意大利电影$/vodshow/1-意大利-time------#比利时电影$/vodshow/1-比利时-time------#爱尔兰电影$/vodshow/1-爱尔兰-time------#西班牙电影$/vodshow/1-西班牙-time------#澳大利亚电影$/vodshow/1-澳大利亚-time------#战争电视剧$/vodshow/2--time-战争-----#战争影片$/vodshow/1--time-战争-----#丧尸电视剧$/vodshow/2--time-丧尸-----#丧尸影片$/vodshow/1--time-丧尸-----#仙侠电视剧$/vodshow/2--time-仙侠-----#仙侠影片$/vodshow/1--time-仙侠-----#穿越电视剧$/vodshow/2--time-穿越-----#穿越影片$/vodshow/1--time-穿越-----#惊悚电视剧$/vodshow/2--time-惊悚-----#惊悚影片$/vodshow/1--time-惊悚-----#恐怖电视剧$/vodshow/2--time-恐怖-----#恐怖影片$/vodshow/1--time-恐怖-----#科幻电视剧$/vodshow/2--time-科幻-----#科幻影片$/vodshow/1--time-科幻-----#动作电视剧$/vodshow/2--time-动作-----#动作影片$/vodshow/1--time-动作-----#古装电视剧$/vodshow/2--time-古装-----#古装影片$/vodshow/1--time-古装-----#神话电视剧$/vodshow/2--time-神话-----#神话影片$/vodshow/1--time-神话-----#宫廷电视剧$/vodshow/2--time-宫廷-----#宫廷影片$/vodshow/1--time-宫廷-----#武侠电视剧$/vodshow/2--time-武侠-----#武侠影片$/vodshow/1--time-武侠-----#冒险电视剧$/vodshow/2--time-冒险-----#冒险影片$/vodshow/1--time-冒险-----#奇幻电视剧$/vodshow/2--time-奇幻-----#奇幻影片$/vodshow/1--time-奇幻-----#西部电视剧$/vodshow/2--time-西部-----#西部影片$/vodshow/1--time-西部-----#灾难电视剧$/vodshow/2--time-灾难-----#灾难影片$/vodshow/1--time-灾难-----#剧情电视剧$/vodshow/2--time-剧情-----#剧情影片$/vodshow/1--time-剧情-----#言情电视剧$/vodshow/2--time-言情-----#言情影片$/vodshow/1--time-言情-----#喜剧电视剧$/vodshow/2--time-喜剧-----#喜剧影片$/vodshow/1--time-喜剧-----#爱情电视剧$/vodshow/2--time-爱情-----#爱情影片$/vodshow/1--time-爱情-----#偶像电视剧$/vodshow/2--time-偶像-----#偶像影片$/vodshow/1--time-偶像-----#都市电视剧$/vodshow/2--time-都市-----#都市影片$/vodshow/1--time-都市-----#军旅电视剧$/vodshow/2--time-军旅-----#军旅影片$/vodshow/1--time-军旅-----#谍战电视剧$/vodshow/2--time-谍战-----#谍战影片$/vodshow/1--time-谍战-----#罪案电视剧$/vodshow/2--time-罪案-----#罪案影片$/vodshow/1--time-罪案-----#犯罪电视剧$/vodshow/2--time-犯罪-----#犯罪影片$/vodshow/1--time-犯罪-----#悬疑电视剧$/vodshow/2--time-悬疑-----#悬疑影片$/vodshow/1--time-悬疑-----#家庭电视剧$/vodshow/2--time-家庭-----#家庭影片$/vodshow/1--time-家庭-----#校园电视剧$/vodshow/2--time-校园-----#校园影片$/vodshow/1--time-校园-----#文艺电视剧$/vodshow/2--time-文艺-----#文艺影片$/vodshow/1--time-文艺-----#运动电视剧$/vodshow/2--time-运动-----#运动影片$/vodshow/1--time-运动-----#青春电视剧$/vodshow/2--time-青春-----#青春影片$/vodshow/1--time-青春-----#励志电视剧$/vodshow/2--time-励志-----#励志影片$/vodshow/1--time-励志-----#同性电视剧$/vodshow/2--time-同性-----#同性影片$/vodshow/1--time-同性-----#人性电视剧$/vodshow/2--time-人性-----#人性影片$/vodshow/1--time-人性-----#女性电视剧$/vodshow/2--time-女性-----#女性影片$/vodshow/1--time-女性-----#治愈电视剧$/vodshow/2--time-治愈-----#治愈影片$/vodshow/1--time-治愈-----#美食电视剧$/vodshow/2--time-美食-----#美食影片$/vodshow/1--time-美食-----#短片电视剧$/vodshow/2--time-短片-----#短片影片$/vodshow/1--time-短片-----#动画电视剧$/vodshow/2--time-动画-----#动画影片$/vodshow/1--time-动画-----#儿童电视剧$/vodshow/2--time-儿童-----#儿童影片$/vodshow/1--time-儿童-----#歌舞电视剧$/vodshow/2--time-歌舞-----#歌舞影片$/vodshow/1--time-歌舞-----#音乐电视剧$/vodshow/2--time-音乐-----#音乐影片$/vodshow/1--time-音乐-----#历史电视剧$/vodshow/2--time-历史-----#历史影片$/vodshow/1--time-历史-----#传记电视剧$/vodshow/2--time-传记-----#传记影片$/vodshow/1--time-传记-----#记录电视剧$/vodshow/2--time-记录-----#记录影片$/vodshow/1--time-记录-----#真人秀$/vodshow/2--time-真人秀-----#真人秀影片$/vodshow/1--time-真人秀-----#脱口秀$/vodshow/2--time-脱口秀-----#脱口秀影片$/vodshow/1--time-脱口秀-----#内地综艺$/vodshow/3-内地-time------#港台综艺$/vodshow/3-港台-time------#日韩综艺$/vodshow/3-日韩-time------#欧美综艺$/vodshow/3-欧美-time------#国产动漫$/vodshow/4-国产-time------#日本动漫$/vodshow/4-日本-time------#欧美动漫$/vodshow/4-欧美-time------#其他动漫$/vodshow/4-其他-------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"myui-vodlist clearfix", + "jiequhou": "class=\"myui-page", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "class=\"myui-vodlist__detail", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "text-right\">", + "fubiaotihou": "<", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/", + "sousuohou": "-------------.html", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "class=\"myui-vodlist__media", + "ssjiequhou": "", + "ssfubiaotihou": "<", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "xlshifouercijiequ": "1", + "xljiequqian": "
      ", + "xljiequshuzuqian": "", + "xlbiaotiqian": ">", + "xlbiaotihou": "<", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/影视工场.json b/XBiubiu/影视工场.json new file mode 100644 index 0000000..ebb12a7 --- /dev/null +++ b/XBiubiu/影视工场.json @@ -0,0 +1,72 @@ +{ + "name": "影视工厂", + "url": "http://www.ysgc.cc", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画片$/vodshow/1---动画-----#纪录片$/vodshow/24--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#海外剧$/vodshow/20--------#番剧(B站)$/vodshow/26--------#国创(B站)$/vodshow/27--------#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#悬疑片$/vodshow/1---悬疑-----#惊悚片$/vodshow/1---惊悚-----#犯罪片$/vodshow/1---犯罪-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#奇幻片$/vodshow/1---奇幻-----#武侠片$/vodshow/1---武侠-----#古装片$/vodshow/1---古装-----#冒险片$/vodshow/1---冒险-----#历史片$/vodshow/1---历史-----#歌舞片$/vodshow/1---歌舞-----#家庭片$/vodshow/1---家庭-----#网络片$/vodshow/1---网络-----", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"myui-vodlist clearfix", + "jiequhou": "class=\"myui-page", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "class=\"myui-vodlist__detail", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "text-right\">", + "fubiaotihou": "<", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/", + "sousuohou": "-------------.html", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "class=\"myui-vodlist__media", + "ssjiequhou": "", + "ssfubiaotihou": "<", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "xlshifouercijiequ": "1", + "xljiequqian": "
      ", + "xljiequshuzuqian": "", + "xlbiaotiqian": ">", + "xlbiaotihou": "<", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:
    ", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/性欲轮回.json b/XBiubiu/性欲轮回.json new file mode 100644 index 0000000..755669d --- /dev/null +++ b/XBiubiu/性欲轮回.json @@ -0,0 +1,22 @@ +{"name": "性欲轮回", +"url": "https://www.singyulh.cc", +"tihuan": "cnzz.com", +"User": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; Mi9 Pro 5G Build/QKQ1.190825.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/11.0 Mobile Safari/537.36 COVC/045429", +"直接播放": "1", +"列表显示": "0", +"横图显示": "0", +"shouye": "1", +"fenlei": "SWAG$/index.php/vodsearch/SWAG-------------#国产视频$/index.php/vodtype/1-#国产传媒$/index.php/vodtype/160-#日本视频$/index.php/vodtype/2-#中文字幕$/index.php/vodtype/9-#欧美视频$/index.php/vodtype/5-#动画视频$/index.php/vodtype/6-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"item-box", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/戏曲.json b/XBiubiu/戏曲.json new file mode 100644 index 0000000..6d337f8 --- /dev/null +++ b/XBiubiu/戏曲.json @@ -0,0 +1,1904 @@ +{ + "classes": [ + { + "type_name": "豫剧", + "type_id": "豫剧超清" + }, + { + "type_name": "越调", + "type_id": "越调超清" + }, + { + "type_name": "河南曲剧", + "type_id": "河南曲剧超清" + }, + { + "type_name": "河南大鼓书", + "type_id": "河南大鼓书超清" + }, + { + "type_name": "太康道情", + "type_id": "太康道情超清" + }, + { + "type_name": "河南坠子", + "type_id": "河南坠子超清" + }, + { + "type_name": "河南戏曲小品", + "type_id": "河南戏曲小品超清" + }, + { + "type_name": "四平调", + "type_id": "四平调超清" + }, + { + "type_name": "皮影戏", + "type_id": "皮影戏超清" + }, + { + "type_name": "京剧", + "type_id": "京剧超清" + }, + { + "type_name": "越剧", + "type_id": "越剧超清" + }, + { + "type_name": "蒲剧", + "type_id": "蒲剧超清" + }, + { + "type_name": "眉户", + "type_id": "眉户超清" + }, + { + "type_name": "吕剧", + "type_id": "吕剧超清" + }, + { + "type_name": "楚剧", + "type_id": "楚剧超清" + }, + { + "type_name": "歌仔戏", + "type_id": "歌仔戏超清" + }, + + { + "type_name": "黄梅戏", + "type_id": "黄梅戏超清" + }, + { + "type_name": "评剧", + "type_id": "评剧超清" + }, + + { + "type_name": "花鼓戏", + "type_id": "花鼓戏超清" + }, + { + "type_name": "布袋戏", + "type_id": "布袋戏合集超清" + }, + { + "type_name": "沪剧", + "type_id": "沪剧超清" + }, + { + "type_name": "昆曲", + "type_id": "昆曲超清" + }, + { + "type_name": "潮剧", + "type_id": "潮剧超清" + }, + { + "type_name": "超清潮剧", + "type_id": "超清潮剧超清" + }, + + { + "type_name": "百花潮剧院", + "type_id": "百花潮剧院超清" + }, + { + "type_name": "香港潮剧", + "type_id": "香港潮剧超清" + }, + { + "type_name": "潮剧院", + "type_id": "潮剧院超清" + }, + { + "type_name": "潮剧团", + "type_id": "潮剧团超清" + }, + { + "type_name": "潮剧全剧", + "type_id": "潮剧全剧超清" + }, + { + "type_name": "潮剧选段", + "type_id": "潮剧选段超清" + }, + { + "type_name": "名家潮剧", + "type_id": "名家潮剧超清" + }, + + { + "type_name": "潮汕小品", + "type_id": "潮汕小品超清" + }, + { + "type_name": "潮汕讲古", + "type_id": "潮汕讲古超清" + }, + { + "type_name": "绍兴莲花落", + "type_id": "绍兴莲花落超清" + }, + + { + "type_name": "河北梆子", + "type_id": "河北梆子超清" + }, + { + "type_name": "梆子腔", + "type_id": "梆子腔超清" + }, + { + "type_name": "晋剧", + "type_id": "晋剧超清" + }, + { + "type_name": "龙江剧", + "type_id": "龙江剧超清" + }, + + { + "type_name": "山东梆子", + "type_id": "山东梆子超清" + }, + { + "type_name": "淮剧", + "type_id": "淮剧超清" + }, + { + "type_name": "滑稽戏", + "type_id": "滑稽戏超清" + }, + { + "type_name": "婺剧", + "type_id": "婺剧超清" + }, + { + "type_name": "绍剧", + "type_id": "绍剧超清" + }, + { + "type_name": "徽剧", + "type_id": "徽剧超清" + }, + { + "type_name": "雁剧", + "type_id": "雁剧超清" + }, + { + "type_name": "上党梆子", + "type_id": "上党梆子超清" + }, + { + "type_name": "秦腔", + "type_id": "秦腔超清" + }, + { + "type_name": "武安平调", + "type_id": "武安平调超清" + }, + { + "type_name": "二人台", + "type_id": "二人台超清" + }, + { + "type_name": "吉剧", + "type_id": "吉剧超清" + }, + { + "type_name": "高腔", + "type_id": "高腔超清" + } + ], + "filter": { + "豫剧超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "越调超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "河南曲剧超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "河南大鼓书超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "太康道情超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "河南坠子超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "皮影戏超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "四平调超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + + "河南戏曲小品超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "情歌对唱": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "中文mv": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + + + + + "TVBox": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} diff --git a/XBiubiu/戏曲.txt b/XBiubiu/戏曲.txt new file mode 100644 index 0000000..6d337f8 --- /dev/null +++ b/XBiubiu/戏曲.txt @@ -0,0 +1,1904 @@ +{ + "classes": [ + { + "type_name": "豫剧", + "type_id": "豫剧超清" + }, + { + "type_name": "越调", + "type_id": "越调超清" + }, + { + "type_name": "河南曲剧", + "type_id": "河南曲剧超清" + }, + { + "type_name": "河南大鼓书", + "type_id": "河南大鼓书超清" + }, + { + "type_name": "太康道情", + "type_id": "太康道情超清" + }, + { + "type_name": "河南坠子", + "type_id": "河南坠子超清" + }, + { + "type_name": "河南戏曲小品", + "type_id": "河南戏曲小品超清" + }, + { + "type_name": "四平调", + "type_id": "四平调超清" + }, + { + "type_name": "皮影戏", + "type_id": "皮影戏超清" + }, + { + "type_name": "京剧", + "type_id": "京剧超清" + }, + { + "type_name": "越剧", + "type_id": "越剧超清" + }, + { + "type_name": "蒲剧", + "type_id": "蒲剧超清" + }, + { + "type_name": "眉户", + "type_id": "眉户超清" + }, + { + "type_name": "吕剧", + "type_id": "吕剧超清" + }, + { + "type_name": "楚剧", + "type_id": "楚剧超清" + }, + { + "type_name": "歌仔戏", + "type_id": "歌仔戏超清" + }, + + { + "type_name": "黄梅戏", + "type_id": "黄梅戏超清" + }, + { + "type_name": "评剧", + "type_id": "评剧超清" + }, + + { + "type_name": "花鼓戏", + "type_id": "花鼓戏超清" + }, + { + "type_name": "布袋戏", + "type_id": "布袋戏合集超清" + }, + { + "type_name": "沪剧", + "type_id": "沪剧超清" + }, + { + "type_name": "昆曲", + "type_id": "昆曲超清" + }, + { + "type_name": "潮剧", + "type_id": "潮剧超清" + }, + { + "type_name": "超清潮剧", + "type_id": "超清潮剧超清" + }, + + { + "type_name": "百花潮剧院", + "type_id": "百花潮剧院超清" + }, + { + "type_name": "香港潮剧", + "type_id": "香港潮剧超清" + }, + { + "type_name": "潮剧院", + "type_id": "潮剧院超清" + }, + { + "type_name": "潮剧团", + "type_id": "潮剧团超清" + }, + { + "type_name": "潮剧全剧", + "type_id": "潮剧全剧超清" + }, + { + "type_name": "潮剧选段", + "type_id": "潮剧选段超清" + }, + { + "type_name": "名家潮剧", + "type_id": "名家潮剧超清" + }, + + { + "type_name": "潮汕小品", + "type_id": "潮汕小品超清" + }, + { + "type_name": "潮汕讲古", + "type_id": "潮汕讲古超清" + }, + { + "type_name": "绍兴莲花落", + "type_id": "绍兴莲花落超清" + }, + + { + "type_name": "河北梆子", + "type_id": "河北梆子超清" + }, + { + "type_name": "梆子腔", + "type_id": "梆子腔超清" + }, + { + "type_name": "晋剧", + "type_id": "晋剧超清" + }, + { + "type_name": "龙江剧", + "type_id": "龙江剧超清" + }, + + { + "type_name": "山东梆子", + "type_id": "山东梆子超清" + }, + { + "type_name": "淮剧", + "type_id": "淮剧超清" + }, + { + "type_name": "滑稽戏", + "type_id": "滑稽戏超清" + }, + { + "type_name": "婺剧", + "type_id": "婺剧超清" + }, + { + "type_name": "绍剧", + "type_id": "绍剧超清" + }, + { + "type_name": "徽剧", + "type_id": "徽剧超清" + }, + { + "type_name": "雁剧", + "type_id": "雁剧超清" + }, + { + "type_name": "上党梆子", + "type_id": "上党梆子超清" + }, + { + "type_name": "秦腔", + "type_id": "秦腔超清" + }, + { + "type_name": "武安平调", + "type_id": "武安平调超清" + }, + { + "type_name": "二人台", + "type_id": "二人台超清" + }, + { + "type_name": "吉剧", + "type_id": "吉剧超清" + }, + { + "type_name": "高腔", + "type_id": "高腔超清" + } + ], + "filter": { + "豫剧超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "越调超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "河南曲剧超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "河南大鼓书超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "太康道情超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "河南坠子超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "皮影戏超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "四平调超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + + "河南戏曲小品超清": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "情歌对唱": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "中文mv": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + + + + + "TVBox": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} diff --git a/XBiubiu/托乌视频.json b/XBiubiu/托乌视频.json new file mode 100644 index 0000000..c51778d --- /dev/null +++ b/XBiubiu/托乌视频.json @@ -0,0 +1,69 @@ +{ + "author": "20220807", + "name": "tootw", + "url": "https://tootw.com", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/vod/show/id/1/page/#剧集$/vod/show/id/2/page/#综艺$/vod/show/id/3/page/#动漫$/vod/show/id/4/page/#MV$/vod/show/id/34/page/#纪录片$/vod/show/id/5/page/#豆瓣$/vod/show/id/68/page/#奥斯卡$/vod/show/id/72/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "class=\"module-item-pic", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "fubiaotihou": "", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "","jiequshuzuhou":"","tupianqian":"src=\"","tupianhou":"\"","biaotiqian":"title=\"","biaotihou":"\"","lianjieqian":"href=\"","lianjiehou":"\"","sousuoqian":"/index.php/ajax/suggest?mid=1&wd=","sousuohou":"&limit=500","sousuohouzhui":"/d/","ssmoshi":"0","sousuoshifouercijiequ":"0","jspic":"pic","jsname":"name","jsid":"id","ssjiequqian":"空","ssjiequhou":"空","ssjiequshuzuqian":"空","ssjiequshuzuhou":"空","sstupianqian":"空","sstupianhou":"空","ssbiaotiqian":"空","ssbiaotihou":"空","sslianjieqian":"空","sslianjiehou":"空","bfshifouercijiequ":"0","bfjiequqian":"空","bfjiequhou":"空","bfjiequshuzuqian":"class=\"sort-item\"","bfjiequshuzuhou":"","zhuangtaiqian":"集数:","zhuangtaihou":"","daoyanqian":"导演:","daoyanhou":"","zhuyanqian":"主演:","zhuyanhou":"","juqingqian":"class=\"video-info-item video-info-content vod_content\">","juqinghou":"","bfbiaotiqian":"","bfbiaotihou":"<","bflianjieqian":"href=\"","bflianjiehou":"\""} \ No newline at end of file diff --git a/XBiubiu/斗鱼.json b/XBiubiu/斗鱼.json new file mode 100644 index 0000000..0fa9096 --- /dev/null +++ b/XBiubiu/斗鱼.json @@ -0,0 +1,68 @@ +{"name": "斗鱼", +"url": "https://www.douyu.com/", +"User": "空", +"横图显示": "1", + "shouye": "1", +"fenlei": "网游竞技$gapi/rkc/directory/mixList/1_1/#单机热游$gapi/rkc/directory/mixList/1_15/#手游休闲$gapi/rkc/directory/mixList/1_9/#娱乐天地$gapi/rkc/directory/mixList/1_2/#科技文化$gapi/rkc/directory/mixList/1_11/#语音互动$gapi/rkc/directory/mixList/1_20/#语音直播$gapi/rkc/directory/mixList/1_18/#正能量$gapi/rkc/directory/mixList/1_13/#颜值$gapi/rkc/directory/mixList/2_201/#音乐$gapi/rkc/directory/mixList/2_175/#舞蹈$gapi/rkc/directory/mixList/2_1008/#二次元$gapi/rkc/directory/mixList/2_174/#户外$gapi/rkc/directory/mixList/2_124/#美食$gapi/rkc/directory/mixList/2_194/#互动交友$gapi/rkc/directory/mixList/2_1555/#一起看$gapi/rkc/directory/mixList/2_208/#趣生活$gapi/rkc/directory/mixList/2_1097/#数码科技$gapi/rkc/directory/mixList/2_134/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#汽车$gapi/rkc/directory/mixList/2_136/#纪录片$gapi/rkc/directory/mixList/2_514/#斗鱼购物$gapi/rkc/directory/mixList/2_1203/#交友$gapi/rkc/directory/mixList/2_1221/#电台$gapi/rkc/directory/mixList/2_1556/#一起玩$gapi/rkc/directory/mixList/2_1575/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/#英雄联盟$gapi/rkc/directory/mixList/2_1/#热门游戏$gapi/rkc/directory/mixList/2_270/#DOTA2$gapi/rkc/directory/mixList/2_3/#穿越火线$gapi/rkc/directory/mixList/2_33/#CFHD$gapi/rkc/directory/mixList/2_1997/#DNF$gapi/rkc/directory/mixList/2_40/#炉石传说$gapi/rkc/directory/mixList/2_2/#CS:GO$gapi/rkc/directory/mixList/2_6/#逆战$gapi/rkc/directory/mixList/2_46/#lol云顶之弈$gapi/rkc/directory/mixList/2_917/#魔兽争霸$gapi/rkc/directory/mixList/2_55/#魔兽怀旧服$gapi/rkc/directory/mixList/2_1055/#网易游戏$gapi/rkc/directory/mixList/2_3567/#守望先锋$gapi/rkc/directory/mixList/2_148/#DOTA$gapi/rkc/directory/mixList/2_217/#魔兽世界$gapi/rkc/directory/mixList/2_5/#天涯明月刀$gapi/rkc/directory/mixList/2_59/#三国杀$gapi/rkc/directory/mixList/2_14/#主机游戏$gapi/rkc/directory/mixList/2_19/#永劫无间$gapi/rkc/directory/mixList/2_1227/#生死狙击2$gapi/rkc/directory/mixList/2_1781/#迷失ARK$gapi/rkc/directory/mixList/2_3528/#艾尔登法环$gapi/rkc/directory/mixList/2_3406/#逃离塔科夫$gapi/rkc/directory/mixList/2_1024/#V Rising$gapi/rkc/directory/mixList/2_3684/#海上狼人杀$gapi/rkc/directory/mixList/2_3556/#怀旧游戏$gapi/rkc/directory/mixList/2_26/#王者荣耀$gapi/rkc/directory/mixList/2_181/#和平精英$gapi/rkc/directory/mixList/2_350/#火影忍者$gapi/rkc/directory/mixList/2_196/#LOL手游$gapi/rkc/directory/mixList/2_1920/#金铲铲之战$gapi/rkc/directory/mixList/2_2556/#重返帝国$gapi/rkc/directory/mixList/2_2915/#COD手游$gapi/rkc/directory/mixList/2_767/#哈利波特:魔法觉醒$gapi/rkc/directory/mixList/2_1192/#CF手游$gapi/rkc/directory/mixList/2_178/#欢乐斗地主$gapi/rkc/directory/mixList/2_416/#原神$gapi/rkc/directory/mixList/2_1223/#天刀手游$gapi/rkc/directory/mixList/2_911/#棋牌娱乐$gapi/rkc/directory/mixList/2_113/#欢乐麻将$gapi/rkc/directory/mixList/2_451/#新游中心$gapi/rkc/directory/mixList/2_229/#QQ飞车$gapi/rkc/directory/mixList/2_331/#阴阳师$gapi/rkc/directory/mixList/2_240/#热门手游$gapi/rkc/directory/mixList/2_30/", +"houzhui": "", + +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "\"type\":1", +"jiequshuzuhou": "\"rs16\"", +"tupianqian": "\"rs1\":\"", +"tupianhou": "\"", +"biaotiqian": "\"rn\":\"", +"biaotihou": "\"", +"lianjieqian": "\"rid\":", +"lianjiehou": ",\"", + +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian": "\"nn\":\"", +"fubiaotihou": "\"", + +"sousuoqian": "/japi/search/api/searchShow?kw=", +"sousuohou": "&page=1&pageSize=50", +"sousuohouzhui": "/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "roomSrc", +"jsname": "roomName", +"jsid": "rid", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", + +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "left\">
    ", + +"zhuangtaiqian": "Header-logo\" title=\"", +"zhuangtaihou": "\"", +"daoyanqian": "Title-anchorNameH2\">", +"daoyanhou": "", +"zhuyanqian": "canonical\" href=\"", +"zhuyanhou": "\"", +"juqingqian": "is-announceTxt\">", +"juqinghou": "

    ", + +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "

    ", +"bfbiaotihou": "

    ", +"bflianjieqian": "rid=", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/新香蕉.json b/XBiubiu/新香蕉.json new file mode 100644 index 0000000..1f9a332 --- /dev/null +++ b/XBiubiu/新香蕉.json @@ -0,0 +1,57 @@ + {"name": "新香蕉", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "中文综合$/?ju=xxj-xxjfl-zwzh-#中文无码$/?ju=xxj-xxjfl-zwwm-#中文近亲$/?ju=xxj-xxjfl-zwjq-#中文护士$/?ju=xxj-xxjfl-zwhs-#中文师生$/?ju=xxj-xxjfl-zwss-#中文强奸$/?ju=xxj-xxjfl-zwqj-#DVR高清$/?ju=xxj-xxjfl-dvrgq-#美女主播$/?ju=xxj-xxjfl-mnzb-#国产自拍$/?ju=xxj-xxjfl-gczp-#高清HD$/?ju=xxj-xxjfl-gqhd-#欧美大片$/?ju=xxj-xxjfl-omdp-#三级综合$/?ju=xxj-xxjfl-sjzh-#麻豆原创$/?ju=gccm-gccmfl-1-#91制片厂$/?ju=gccm-gccmfl-2-#天美传媒$/?ju=gccm-gccmfl-3-#蜜桃传媒 $/?ju=gccm-gccmfl-4-#皇家华人$/?ju=gccm-gccmfl-5-#星空传媒$/?ju=gccm-gccmfl-6-#精东影业$/?ju=gccm-gccmfl-7-#乐播传媒$/?ju=gccm-gccmfl-8-#乌鸦传媒$/?ju=gccm-gccmfl-9-#兔子先生$/?ju=gccm-gccmfl-10-#杏吧原创$/?ju=gccm-gccmfl-11-#mini传媒$/?ju=gccm-gccmfl-12-#大象传媒$/?ju=gccm-gccmfl-13-#开心鬼传媒$/?ju=gccm-gccmfl-14-#PsychoPorn$/?ju=gccm-gccmfl-15-#糖心Vlgo $/?ju=gccm-gccmfl-16-#港台三级$/?ju=gccm-gccmfl-17-#无码中文$/?ju=thlt-thltfl-1-#有码中文$/?ju=thlt-thltfl-2-#精品国产$/?ju=thlt-thltfl-3-#欧美高清$/?ju=thlt-thltfl-4-#成人动漫$/?ju=thlt-thltfl-5-#VIP专区$/?ju=fcw-fcwfl-vipzq-#日本有码$/?ju=fcw-fcwfl-rbym-#日本无码$/?ju=fcw-fcwfl-rbwm-#偷拍系列$/?ju=fcw-fcwfl-tpxl-#成人动漫$/?ju=fcw-fcwfl-crdm-#国产自拍$/?ju=fcw-fcwfl-gczp-#韩国综合$/?ju=fcw-fcwfl-hgzh-#VR专区$/?ju=fcw-fcwfl-vrzq-#欧美专区$/?ju=fcw-fcwfl-omzq-#国产自拍$/?ju=99re-99refl-72-#肛交$/?ju=99re-99refl-67-#口爆颜射$/?ju=99re-99refl-66-#潮吹$/?ju=99re-99refl-63-#制服丝袜$/?ju=99re-99refl-65-#一本道$/?ju=99re-99refl-59-#日本有码$/?ju=99re-99refl-58-#加勒比$/?ju=99re-99refl-57-#日本无码$/?ju=99re-99refl-56-#李宗瑞全集$/?ju=99re-99refl-55-#中文字幕$/?ju=99re-99refl-54-#会员认证作品$/?ju=99re-99refl-64-#欧美$/?ju=99re-99refl-53-#东京热$/?ju=99re-99refl-68-#小格式综合$/?ju=99re-99refl-69-#女主播系列$/?ju=99re-99refl-70-#成人动漫$/?ju=99re-99refl-71-#SM性虐$/?ju=99re-99refl-73-#韩国综合$/?ju=99re-99refl-74-#三级专区$/?ju=99re-99refl-75-#VR专区$/?ju=99re-99refl-76-#AV解说$/?ju=avjs-avjsfl-avjs-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/新香蕉2.json b/XBiubiu/新香蕉2.json new file mode 100644 index 0000000..d84790d --- /dev/null +++ b/XBiubiu/新香蕉2.json @@ -0,0 +1,57 @@ + {"name": "新香蕉2", +"url": "https://avjs.vip", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "中文综合$/index.php/vod/type/id/21/page/#中文无码$/index.php/vod/type/id/28/page/#中文强奸$/index.php/vod/type/id/25/page/#中文师生$/index.php/vod/type/id/24/page/#中文护士$/index.php/vod/type/id/23/page/#中文近亲$/index.php/vod/type/id/22/page/#AV解说$/index.php/vod/type/id/20/page/#国产综合$/index.php/vod/type/id/32/page/#果冻传媒$/index.php/vod/type/id/33/page/#台湾SWAG$/index.php/vod/type/id/31/page/#麻豆原创$/index.php/vod/type/id/29/page/#AI换脸$/index.php/vod/type/id/53/page/", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"box movie_list", +"jiequhou": "
    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "

    ", +"biaotihou": "

    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"film_bar clearfix", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "", +"daoyanqian": "更新:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/新香蕉全站资源.json b/XBiubiu/新香蕉全站资源.json new file mode 100644 index 0000000..5c9c8cd --- /dev/null +++ b/XBiubiu/新香蕉全站资源.json @@ -0,0 +1,59 @@ +{"name": "新香蕉全站资源", +"url": "https://mdav.vip", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "AV解说$/avjs/index.php/vod/type/id/20/page/#中文无码$/xjzy/index.php/vod/type/id/20/page/#中文综合$/xjzy/index.php/vod/type/id/21/page/#中文近亲$/xjzy/index.php/vod/type/id/22/page/#中文护士$/xjzy/index.php/vod/type/id/23/page/#中文师生$/xjzy/index.php/vod/type/id/24/page/#中文强奸$/xjzy/index.php/vod/type/id/25/page/#国产自拍$/xjzy/index.php/vod/type/id/28/page/#美女主播$/xjzy/index.php/vod/type/id/29/page/#VR高清$/xjzy/index.php/vod/type/id/30/page/#高清HD$/xjzy/index.php/vod/type/id/31/page/#欧美大片$/xjzy/index.php/vod/type/id/32/page/#三级综合$/xjzy/index.php/vod/type/id/33/page/#麻豆原创$/index.php/vod/type/id/1/page/#91制片厂$/index.php/vod/type/id/2/page/#天美传媒$/index.php/vod/type/id/3/page/#蜜桃传媒$/index.php/vod/type/id/4/page/#皇家华人$/index.php/vod/type/id/5/page/#星空传媒$/index.php/vod/type/id/6/page/#精东影业$/index.php/vod/type/id/7/page/#乐播传媒$/index.php/vod/type/id/8/page/#乌鸦传媒$/index.php/vod/type/id/9/page/#兔子先生$/index.php/vod/type/id/10/page/#杏吧原创$/index.php/vod/type/id/11/page/#mini传媒$/index.php/vod/type/id/12/page/#大象传媒$/index.php/vod/type/id/13/page/#开心鬼传媒$/index.php/vod/type/id/14/page/#PsychoPorn$/index.php/vod/type/id/15/page/#糖心Vlgo$/index.php/vod/type/id/16/page/#港台三级$/index.php/vod/type/id/17/page/#国产自拍$/99re/index.php/vod/type/id/72/page/#肛交$/99re/index.php/vod/type/id/67/page/#会员认证$/99re/index.php/vod/type/id/64/page/#口爆颜射$/99re/index.php/vod/type/id/66/page/#潮吹$/99re/index.php/vod/type/id/63/page/#制服丝袜$/99re/index.php/vod/type/id/65/page/#一本道$/99re/index.php/vod/type/id/59/page/#高清$/99re/index.php/vod/type/id/60/page/#日本有码$/99re/index.php/vod/type/id/58/page/#加勒比$/99re/index.php/vod/type/id/57/page/#日本无码$/99re/index.php/vod/type/id/56/page/#李宗瑞全集$/99re/index.php/vod/type/id/55/page/#中文字幕$/99re/index.php/vod/type/id/54/page/#欧美$/99re/index.php/vod/type/id/53/page/#东京热$/99re/index.php/vod/type/id/68/page/#小格式综合$/99re/index.php/vod/type/id/69/page/#女主播系列$/99re/index.php/vod/type/id/70/page/#成人动漫$/99re/index.php/vod/type/id/71/page/#SM性虐$/99re/index.php/vod/type/id/73/page/#韩国综合$/99re/index.php/vod/type/id/74/page/#VIP专区$/fcw/index.php/vod/type/id/53/page/#日本有码$/fcw/index.php/vod/type/id/54/page/#日本无码$/fcw/index.php/vod/type/id/55/page/#偷拍系列$/fcw/index.php/vod/type/id/56/page/#成人动漫$/fcw/index.php/vod/type/id/57/page/#国产自拍$/fcw/index.php/vod/type/id/58/page/#韩国综合$/fcw/index.php/vod/type/id/59/page/#VR专区$/fcw/index.php/vod/type/id/60/page/#欧美$/fcw/index.php/vod/type/id/61/page/", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"box movie_list", +"jiequhou": "
    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "

    ", +"biaotihou": "

    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"film_bar clearfix", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "", +"daoyanqian": "更新:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/旧梦影视.json b/XBiubiu/旧梦影视.json new file mode 100644 index 0000000..280aa32 --- /dev/null +++ b/XBiubiu/旧梦影视.json @@ -0,0 +1,57 @@ +{ +"name": "旧梦影视", +"url": "http://150.158.130.238:4433", +"User": "User-Agent:Dart/2.14 (dart:io)", "fenlei": "国产剧$/index.php/vod/show/id/24/page/#港台剧$/index.php/vod/show/id/25/page/#日韩剧$/index.php/vod/show/id/26/page/#欧美剧$/index.php/vod/show/id/27/page/#综 艺$/index.php/vod/show/id/6/page/#动 漫$/index.php/vod/show/id/3/page/#B 站$/index.php/vod/show/id/4/page/#动作片$/index.php/vod/show/id/7/page/#喜剧片$/index.php/vod/show/id/8/page/#爱情片$/index.php/vod/show/id/9/page/#科幻片$/index.php/vod/show/id/10/page/#恐怖片$/index.php/vod/show/id/11/page/#剧情片$/index.php/vod/show/id/12/page/#战争片$/index.php/vod/show/id/13/page/", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-main module-page", +"jiequhou": "id=\"page\"", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"zhuangtaiqian": "class=\"module-info-item-content\">", +"zhuangtaihou": "", +"daoyanqian": "导演:
    ", +"daoyanhou": "", +"zhuyanqian": "主演
    ", +"zhuyanhou": "class=\"slash\"", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "title=\"", +"bfbiaotihou": "\"", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/旧黄仓库.json b/XBiubiu/旧黄仓库.json new file mode 100644 index 0000000..df64a3c --- /dev/null +++ b/XBiubiu/旧黄仓库.json @@ -0,0 +1,41 @@ +{ +"name": "黄仓库", +"url": "http://rhsck.cc/", + "tihuan": "cnzz.com", +"User": "空", + "shouye": "1", +"fenlei": "日韩AV$/vodtype/1-#国产系列$/vodtype/2-#欧美$/vodtype/3-#成人动漫$/vodtype/4-#无码中文$/vodtype/8-#有码中文$/vodtype/9-#日本无码$/vodtype/10-#日本有码$/vodtype/7-#国产视频$/vodtype/15-#欧美高清$/vodtype/21-#动漫剧情$/vodtype/22-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"bfjiequhou": "", +"bfjiequshuzuqian": "

    ", +"zhuangtaiqian": "时间:", +"zhuangtaihou": "", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/有声小说.json b/XBiubiu/有声小说.json new file mode 100644 index 0000000..1e47190 --- /dev/null +++ b/XBiubiu/有声小说.json @@ -0,0 +1,70 @@ +{"name": "有声小说", +"url": "https://m.tingzh.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "玄幻$/list/1-#武侠$/list/2-#都市$/list/3-#言情$/list/4-#科幻$/list/5-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"bookbox\"", +"jiequshuzuhou": "class=\"intro_line\"", +"tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "class=\"bookname\">", +"biaotihou": "

    ", +"lianjieqian": "bookid=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://m.tingzh.com/book/", +"ljhouzhui": ".html", +"fubiaotiqian": "状态:", +"fubiaotihou": "", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "&Submit=", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"bookbox\"", +"ssjiequshuzuhou": "class=\"intro_line\"", +"sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "class=\"bookname\">", +"ssbiaotihou": "", +"sslianjieqian": "bookid=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://m.tingzh.com/book/", +"ssljhouzhui": ".html", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "
    状态:", +"zhuangtaihou": "", +"daoyanqian": "
    作者:", +"daoyanhou": "", +"zhuyanqian": "
    播音:", +"zhuyanhou": "", +"juqingqian": "class=\"book_intro\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""} \ No newline at end of file diff --git a/XBiubiu/极品影视.json b/XBiubiu/极品影视.json new file mode 100644 index 0000000..3a96520 --- /dev/null +++ b/XBiubiu/极品影视.json @@ -0,0 +1,59 @@ +{"name":"极品影视", +"url":"https://www.jpys.me", +"User":"空", +"fenlei":"大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧美剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"空", +"jiequshuzuhou":"空", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"myui-content__list", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +} \ No newline at end of file diff --git a/XBiubiu/桔子tv.json b/XBiubiu/桔子tv.json new file mode 100644 index 0000000..b8091fa --- /dev/null +++ b/XBiubiu/桔子tv.json @@ -0,0 +1,61 @@ +{ + "name": "桔子tv", + "url": "https://juztv.com", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#其他片$/vodtype/20-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#其他剧$/vodtype/21-", + "houzhui": "/", + "shifouercijiequ": "1", + "jiequqian": "class=\"stui-vodlist clearfix", + "jiequhou": "", + "jiequshuzuqian": "class=\"stui-vodlist__thumb", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "", + "fubiaotihou": "", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=50", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-content\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/橘子影视.json b/XBiubiu/橘子影视.json new file mode 100644 index 0000000..46f4bf7 --- /dev/null +++ b/XBiubiu/橘子影视.json @@ -0,0 +1,57 @@ +{"name": "橘子tv", +"url": "https://juztv.com", +"tihuan": "cnzz.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#其他片$/vodtype/20-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#其他剧$/vodtype/21-", +"houzhui": "/", +"shifouercijiequ": "1", +"jiequqian": "class=\"stui-vodlist clearfix", +"jiequhou": "", +"jiequshuzuqian": "class=\"stui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "1", +"bfjiequqian": "class=\"stui-pannel_bd", +"bfjiequhou": "
    ", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/歪片星球.json b/XBiubiu/歪片星球.json new file mode 100644 index 0000000..87c6ee5 --- /dev/null +++ b/XBiubiu/歪片星球.json @@ -0,0 +1,69 @@ +{"name": "歪片星球", +"url": "https://waipian7.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"tihuan": "cnzz.com", +"shouye": "1", +"fenlei": "国产剧$/show-juji-中国大陆----------/page/#香港剧$/show-juji-中国香港----------/page/#韩国剧$/show-juji-韩国----------/page/#美国剧$/show-juji-美国----------/page/#综艺$/show-zongyi--------#动漫$/show-dongman--------#剧情片$/show-dianying---剧情--------/page/#科幻片$/show-dianying---科幻--------/page/#恐怖片$/show-dianying---恐怖--------/page/#动作片$/show-dianying---动作--------/page/#喜剧片$/show-dianying---喜剧--------/page/#战争片$/show-dianying---战争--------/page/#爱情片$/show-dianying---爱情--------/page/", +"houzhui": "", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "id=\"page", +"jiequshuzuqian": "", +"sstupianqian": "data-src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", + "xlshifouercijiequ": "", + "xljiequqian": "", + "xljiequhou": "", + "xljiequshuzuqian": "data-dropdown-value=", + "xljiequshuzuhou": "/span>", + "xlbiaotiqian": ">", + "xlbiaotihou": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "更新:
    ", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "module-info-introduction-content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/段友影院.json b/XBiubiu/段友影院.json new file mode 100644 index 0000000..afca669 --- /dev/null +++ b/XBiubiu/段友影院.json @@ -0,0 +1,66 @@ +{"name": "段友影视", +"url": "https://shangjihuoke.com", +"tihuan": "cnzz.com", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "User-Agent:Dart/2.14 (dart:io)", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电视剧$/index.php/vod/show/id/2/page/#电影$/index.php/vod/show/id/1/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#海外剧$/vodshow/23--------#欧美剧$/vodshow/16--------", //网站列表的分类 +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-main module-page", +"jiequhou": "class=\"fixedGroup", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"module-item-douban\">", +"fubiaotihou": "<", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/v/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"zhuangtaiqian": "class=\"module-info-item-content\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-blocklist scroll-box scroll-box-y module-plyer-list\">", +"juqinghou": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"panel1", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "时间:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "detail-sketch\">", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, \ No newline at end of file diff --git a/XBiubiu/爱看影院.json b/XBiubiu/爱看影院.json new file mode 100644 index 0000000..f723133 --- /dev/null +++ b/XBiubiu/爱看影院.json @@ -0,0 +1,56 @@ +{"name": "*爱看影院", +"tihuan": "cnzz.com", +"url": "https://www.readav.com", +"fenlei": "国产视频$/index.php/vod/type/id/1/page/#日本视频$/index.php/vod/type/id/2/page/#VR视频$/index.php/vod/type/id/3/page/#韩国视频$/index.php/vod/type/id/4/page/#欧美视频$/index.php/vod/type/id/5/page/#动画视频$/index.php/vod/type/id/6/page/6#中文字幕$/index.php/vod/type/id/9/page/#国产精品$/index.php/vod/show/id/10/page/#精品三级$/index.php/vod/show/id/11/page/#主播大秀$/index.php/vod/show/id/12/page/#抖阴视频$/index.php/vod/show/id/13/page/#国模私拍$/index.php/vod/show/id/14/page/#颜射瞬间$/index.php/vod/show/id/15/page/#女神学生$/index.php/vod/show/id/16/page/#美熟少妇$/index.php/vod/show/id/17/page/#娇妻素人$/index.php/vod/show/id/18/page/#空姐模特$/index.php/vod/show/id/19/page/#国产乱伦$/index.php/vod/show/id/20/page/#骑兵有码$/index.php/vod/show/id/27/page/#步兵无码$/index.php/vod/show/id/28/page/#制服师生$/index.php/vod/show/id/50/page/#强奸乱伦$/index.php/vod/show/id/51/page/#人妻熟女$/index.php/vod/show/id/53/page/#三级剧情$/index.php/vod/show/id/55/page/#丝袜美腿$/index.php/vod/show/id/56/page/#亚洲情色$/index.php/vod/show/id/58/page/#VR有码$/index.php/vod/show/id/7/page/#VR无码$/index.php/vod/show/id/8/page/#韩国精品$/index.php/vod/show/id/42/page/#韩国制服主播$/index.php/vod/show/id/43/page/#韩国萝莉主播$/index.php/vod/show/id/44/page/#韩国大秀主播$/index.php/vod/show/id/45/page/#韩国自慰主播$/index.php/vod/show/id/46/page/#韩国唯美三级$/index.php/vod/show/id/47/page/#韩国明星学生$/index.php/vod/show/id/48/page/#无码中文$/index.php/vod/show/id/34/page/#强奸中文$/index.php/vod/show/id/35/page/#巨乳中文$/index.php/vod/show/id/36/page/#乱伦中文$/index.php/vod/show/id/37/page/#制服中文$/index.php/vod/show/id/38/page/#人妻中文$/index.php/vod/show/id/39/page/#调教中文$/index.php/vod/show/id/40/page/#出轨中文$/index.php/vod/show/id/41/page/#中文字幕$/index.php/vod/show/id/59/page/#卡通动漫$/index.php/vod/show/id/49/page/#欧美性爱$/index.php/vod/show/id/29/page/#欧美人兽$/index.php/vod/show/id30/page/#欧美人妖$/index.php/vod/show/id/31/page/#欧美男同$/index.php/vod/show/id/32/page/#欧美女同$/index.php/vod/show/id/33/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian":"class=\"stui-vodlist", +"jiequshuzuhou": "", +"tupianqian":"data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"text-muted hidden-xs\">类型:", +"zhuangtaihou": "", +"daoyanqian": "class=\"data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/特狗影视.json b/XBiubiu/特狗影视.json new file mode 100644 index 0000000..959d899 --- /dev/null +++ b/XBiubiu/特狗影视.json @@ -0,0 +1,61 @@ +{ + "author":"20220605", + "name": "特狗影视", + "url": "https://www.tegouys.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "儿童电影$/vodshow/class/儿童/id/1/page/#亲子综艺$/vodshow/class/亲子/id/3/page/#合家欢动漫$/vodshow/class/合家欢/id/4/page/#曲艺综艺$/vodshow/class/曲艺/id/3/page/#电影$/vodshow/id/1/page/#国产剧$/vodshow/area/内地/id/2/page/#香港剧$/vodshow/area/香港/id/2/page/#韩国剧$/vodshow/area/韩国/id/2/page/#美国剧$/vodshow/area/美国/id/2/page/#日本剧$/vodshow/area/日本/id/2/page/#泰国剧$/vodshow/area/泰国/id/2/page/#台湾剧$/vodshow/area/台湾/id/2/page/#英国剧$/vodshow/area/英国/id/2/page/#其它剧$/vodshow/area/其它/id/2/page/#综艺$/vodshow/id/3/page/#国产动漫$/vodshow/area/内地/id/4/page/#日本动漫$/vodshow/area/日本/id/4/page/#欧美动漫$/vodshow/area/欧美/id/4/page/#其它动漫$/vodshow/area/其它/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"text-red\">", + "zhuangtaihou": "/", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/瓜皮TV.json b/XBiubiu/瓜皮TV.json new file mode 100644 index 0000000..6fa1505 --- /dev/null +++ b/XBiubiu/瓜皮TV.json @@ -0,0 +1,69 @@ +{ + "author": "张弘20220731", + "name": "瓜皮TV", + "url": "https://guapitv.xyz", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "奈飞电影$/vodshow/1--time-Netflix-----#奈飞电视剧$/vodshow/2--time-Netflix-----#奈飞动漫$/vodshow/4--time-Netflix-----#电影$/vodshow/1--time------#电视剧$/vodshow/2--time------#综艺$/vodshow/3--time------#动漫$/vodshow/4--time------#少儿$/vodshow/20--time------#记录片$/vodshow/21--time------#国产电视剧$/vodshow/2-内地-time------#香港电视剧$/vodshow/2-香港-time------#台湾电视剧$/vodshow/2-台湾-time------#日本电视剧$/vodshow/2-日本-time------#韩国电视剧$/vodshow/2-韩国-time------#新加坡电视剧$/vodshow/2-新加坡-time------#美国电视剧$/vodshow/2-美国-time------#英国电视剧$/vodshow/2-英国-time------#泰国电视剧$/vodshow/2-泰国-time------#其他电视剧$/vodshow/2-其他-time------#国产电影$/vodshow/1-大陆-time------#香港电影$/vodshow/1-香港-time------#台湾电影$/vodshow/1-台湾-time------#美国电影$/vodshow/1-美国-time------#日本电影$/vodshow/1-日本-time------#韩国电影$/vodshow/1-韩国-time------#英国电影$/vodshow/1-英国-time------#法国电影$/vodshow/1-法国-time------#德国电影$/vodshow/1-德国-time------#印度电影$/vodshow/1-印度-time------#泰国电影$/vodshow/1-泰国-time------#加拿大电影$/vodshow/1-加拿大-time------#意大利电影$/vodshow/1-意大利-time------#西班牙电影$/vodshow/1-西班牙-time------#古装电视剧$/vodshow/2--time-古装-----#战争电视剧$/vodshow/2--time-战争-----#青春偶像电视剧$/vodshow/2--time-青春偶像-----#喜剧电视剧$/vodshow/2--time-喜剧-----#家庭电视剧$/vodshow/2--time-家庭-----#犯罪电视剧$/vodshow/2--time-犯罪-----#动作电视剧$/vodshow/2--time-动作-----#奇幻电视剧$/vodshow/2--time-奇幻-----#剧情电视剧$/vodshow/2--time-剧情-----#历史电视剧$/vodshow/2--time-历史-----#经典电视剧$/vodshow/2--time-经典-----#乡村电视剧$/vodshow/2--time-乡村-----#情景电视剧$/vodshow/2--time-情景-----#商战电视剧$/vodshow/2--time-商战-----#网落电视剧$/vodshow/2--time-网剧-----#其他电视剧$/vodshow/2--time-其他-----#喜剧影片$/vodshow/1--time-喜剧-----#爱情影片$/vodshow/1--time-爱情-----#恐怖影片$/vodshow/1--time-恐怖-----#动作影片$/vodshow/1--time-动作-----#科幻影片$/vodshow/1--time-科幻-----#剧情影片$/vodshow/1--time-剧情-----#战争影片$/vodshow/1--time-战争-----#警匪影片$/vodshow/1--time-警匪-----#犯罪影片$/vodshow/1--time-犯罪-----#动画影片$/vodshow/1--time-动画-----#奇幻影片$/vodshow/1--time-奇幻-----#武侠影片$/vodshow/1--time-武侠-----#冒险影片$/vodshow/1--time-冒险-----#枪战影片$/vodshow/1--time-枪战-----#悬疑影片$/vodshow/1--time-悬疑-----#惊悚影片$/vodshow/1--time-惊悚-----#经典影片$/vodshow/1--time-经典-----#青春影片$/vodshow/1--time-青春-----#文艺影片$/vodshow/1--time-文艺-----#微电影$/vodshow/1--time-微电影-----#古装影片$/vodshow/1--time-古装-----#历史影片$/vodshow/1--time-历史-----#运动影片$/vodshow/1--time-运动-----#农村影片$/vodshow/1--time-农村-----#儿童影片$/vodshow/1--time-儿童-----#网络电影$/vodshow/1--time-网络电影-----#$/vodshow/1--time------#国产动漫$/vodshow/4-国产-time------#日本动漫$/vodshow/4-日本-time------#欧美动漫$/vodshow/4-欧美-time------", + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + //"jiequhou": "
    ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "introduction-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"sousuoqian": "/vod-search-wd-", +"sousuohou": ".html", +"sousuohouzhui": "/vod-read-id-", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +//"jspic": "pic", +//"jsname": "name", +//"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"image", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "", +"bfjiequhou": "", +"bfjiequshuzuqian": "class=\"list-unstyled row text-center ff-playurl-line ff-playurl", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"tab-pane fade vod-nav-content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "class=\"col-xs-", +"bfyjiequshuzuhou": "", +"bfbiaotiqian": "class=\"btn btn-default btn-block btn-sm\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/看一看影视.json b/XBiubiu/看一看影视.json new file mode 100644 index 0000000..242ec6e --- /dev/null +++ b/XBiubiu/看一看影视.json @@ -0,0 +1,59 @@ +{"name": "看一看影视", +"tihuan": "playerla.com", +"shouye": "1", +"url": "https://www.kyikan.cc", +"fenlei": "连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧美剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", +"houzhui": "-order--by--class-0-year-0-letter--area--lang-.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php?m=vod-search-pg-1-wd-", +"sousuohou": ".html", +"sousuohouzhui": "/vodhtml/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"bz\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "      ", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\'", +"bflianjiehou": "\'"} diff --git a/XBiubiu/看片网.json b/XBiubiu/看片网.json new file mode 100644 index 0000000..1f5cce8 --- /dev/null +++ b/XBiubiu/看片网.json @@ -0,0 +1,60 @@ +{ +"name": "看片网", +"url": "https://www.kanpian.cc/", +"tihuan": "cnzz.com", +"shouye": "1", +"User": "空", +"fenlei": "电影$/shaixuan/dianying--------#连续剧$/shaixuan/lianxuju--------#综艺$/shaixuan/zongyi--------#动漫$/shaixuan/dongman--------#国产剧$/shaixuan/guochanju--------#港台剧$/shaixuan/gangtaiju--------#韩剧$/shaixuan/hanju--------#美剧$/shaixuan/meiju--------#日剧$/shaixuan/riju--------#泰剧$/shaixuan/taiju--------#海外剧$/shaixuan/haiwaiju--------#动作片$/shaixuan/dongzuopian--------#喜剧片$/shaixuan/xijupian--------#爱情片$/shaixuan/aiqingpian--------#科幻片$/shaixuan/kehuanpian--------#恐怖片$/shaixuan/kongbupian--------#剧情片$/shaixuan/juqingpian--------#战争片$/shaixuan/zhanzhengpian--------#惊悚片$/shaixuan/jingsongpian--------#犯罪片$/shaixuan/fanzuipian--------#冒险片$/shaixuan/maoxianpian--------#悬疑片$/shaixuan/xuanyipian--------#奇幻片$/shaixuan/qihuanpian--------#纪录片$/shaixuan/jilupian--------#内地综艺$/shaixuan/neidizongyi--------#港台综艺$/shaixuan/gangtaizongyi--------#欧美综艺$/shaixuan/oumeizongyi--------#日韩综艺$/shaixuan/rihanzongyi--------#$/shaixuan/--------#国产动漫$/shaixuan/dongman-国产-------#日本动漫$/shaixuan/dongman-日本-------#欧美动漫$/shaixuan/dongman-欧美-------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vodlist_thumb lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"content_playlist list_scroll clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情介绍", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/真不卡影院(不支持搜索).json b/XBiubiu/真不卡影院(不支持搜索).json new file mode 100644 index 0000000..c92b575 --- /dev/null +++ b/XBiubiu/真不卡影院(不支持搜索).json @@ -0,0 +1,60 @@ +{ + "name": "真不卡影院(不支持搜索)", + //"url": "http://www.cerrd.com", + "url": "http://www.kan8.tv", + "tihuan": "cnzz.com", + "shouye": "1", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_#伦理$/films/40_", + "houzhui": ".html?order=time", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/真不卡影院.json b/XBiubiu/真不卡影院.json new file mode 100644 index 0000000..c92b575 --- /dev/null +++ b/XBiubiu/真不卡影院.json @@ -0,0 +1,60 @@ +{ + "name": "真不卡影院(不支持搜索)", + //"url": "http://www.cerrd.com", + "url": "http://www.kan8.tv", + "tihuan": "cnzz.com", + "shouye": "1", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_#伦理$/films/40_", + "houzhui": ".html?order=time", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/神马影院.json b/XBiubiu/神马影院.json new file mode 100644 index 0000000..ac8f5c1 --- /dev/null +++ b/XBiubiu/神马影院.json @@ -0,0 +1,59 @@ +{"tihuan": "cnzz.com", + "url": "https://www6080x.cc", + "shouye": "1", + "fenlei": "电影$/show/1--time------#电视剧$/show/2--time------#综艺$/show/3--time------#动漫$/show/4--time------#国产剧$/show/13--time------#港台剧$/show/14--time------#日韩剧$/show/15--time------#欧美剧$/show/16--time------#泰国剧$/show/28--------#少儿片库$/show/33--time------#动作片$/show/6--time------#喜剧片$/show/7--time------#爱情片$/show/8--time------#科幻片$/show/9--time------#恐怖片$/show/10--time------#剧情片$/show/11--time------#战争片$/show/12--time------#犯罪片$/show/20--time------#惊悚片$/show/21--time------#冒险片$/show/22--time------#悬疑片$/show/23--time------#武侠片$/show/24--time------#奇幻片$/show/25--time------#记录片$/show/26--time------#动画片片$/show/27--time------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/神马影院C.json b/XBiubiu/神马影院C.json new file mode 100644 index 0000000..548295d --- /dev/null +++ b/XBiubiu/神马影院C.json @@ -0,0 +1,68 @@ +{ + "name": "神马接口", + "tihuan": "cnzz.com", + "url": "https://www.smdyy.cc", + "shouye": "1", + "fenlei": "热播剧集$/show/2--hits------#热播电影$/show/1--hits------#综艺$/show/3--------#动漫$/show/4--------#少儿片库$/show/33--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#记录片$/show/26--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------#惊悚片$/show/21--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#泰国剧$/show/28--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "display: none;\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/私人影院.json b/XBiubiu/私人影院.json new file mode 100644 index 0000000..b0e8080 --- /dev/null +++ b/XBiubiu/私人影院.json @@ -0,0 +1,63 @@ +{ + "author": "sober", + "name": "私人影院", + "url": "https://soumk.com", + "tihuan": "cnzz.com", + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + //"User": "User-Agent:Dart/2.14 (dart:io)", + //"shouye": "1", + + "fenlei": "电影$/vodtype/1-#连续剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"https://soumk.com", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\"", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/秋千影视.json b/XBiubiu/秋千影视.json new file mode 100644 index 0000000..66ea22d --- /dev/null +++ b/XBiubiu/秋千影视.json @@ -0,0 +1,72 @@ +{"name": "秋千影视", +"url":"https://grqq.com/", +"ua": "", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/vodtype/1-#电视剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-#4K$/vodtype/44-#美女写真$/vodtype/37-#纪录片$/vodtype/4-#音乐MV$/vodtype/33-#影视短片$/vodtype/25-#热舞美女$/vodtype/32-#少儿$/vodtype/36-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/vodsearch/-------------.html?wd=", +"sousuohou": "&submit=", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "lazyload", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空",//可以自己定义截取图片的前缀 +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "空", //可以自己定义截取链接的前缀 +//播放页部分 +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"col-pd text-collapse content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "", +"嗅探词":".m3u8#cache.shtpin.com", +"过滤词":"xqmi.top#51.la#baomitu.com#.css#.js#ddzy#hm.gif" +} \ No newline at end of file diff --git a/XBiubiu/秋千影视1.json b/XBiubiu/秋千影视1.json new file mode 100644 index 0000000..44a1095 --- /dev/null +++ b/XBiubiu/秋千影视1.json @@ -0,0 +1,60 @@ +{"name": "秋千影视", + "url": "https://grqq.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodtype/1-#电视剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-#4K$/vodtype/44-#美女写真$/vodtype/37-#纪录片$/vodtype/4-#音乐MV$/vodtype/33-#影视短片$/vodtype/25-#热舞美女$/vodtype/32-#少儿$/vodtype/36-", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "class=\"myui-vodlist clearfix", + "jiequhou": "", + "jiequshuzuqian": "class=\"myui-vodlist__thumb", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "", +"fubiaotihou": "", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&submit=", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + //"jspic": "pic", + //"jsname": "name", + //"jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-lg-8", + "ssjiequshuzuhou": "", + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/米来影视.json b/XBiubiu/米来影视.json new file mode 100644 index 0000000..977960a --- /dev/null +++ b/XBiubiu/米来影视.json @@ -0,0 +1,56 @@ +{ +"name": "米来影视", +"url": "http://www.qdytv.com/", "User": "User-Agent:Dart/2.14 (dart:io)", "fenlei": "电影$/show/id/1/page#电视剧$/show/id/2/page#综艺$/show/id/3/page#动漫$/show/id/4/page#纪录片$/show/id/20/page", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"sketch content\">", +"juqinghou": "", +"bfjiequshuzuqian": "class=\"myui-content__list", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/老鸭TV.json b/XBiubiu/老鸭TV.json new file mode 100644 index 0000000..4cccd71 --- /dev/null +++ b/XBiubiu/老鸭TV.json @@ -0,0 +1,59 @@ +{"name": "老鸭TV", + "url": "https://laoyatv.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "片商$/index.php/vod/show/id/1/page/#MD系列$/index.php/vod/show/id/2/page/#国产$/index.php/vod/show/id/3/page/#节目$/index.php/vod/show/id/4/page/#91制片厂$/index.php/vod/show/id/6/page/#天美传媒$/index.php/vod/show/id/7/page/#星空传媒$/index.php/vod/show/id/8/page/#精东影业$/index.php/vod/show/id/9/page/#蜜桃传媒$/index.php/vod/show/id/10/page/#葫芦鲸鱼$/index.php/vod/show/id/11/page/#乐播传媒$/index.php/vod/show/id/12/page/#涩会SH$/index.php/vod/show/id/25/page/#叮叮DD$/index.php/vod/show/id/26/page/#肉肉RR$/index.php/vod/show/id/27/page/#辣椒HPP$/index.php/vod/show/id/28/page/#豚豚TT$/index.php/vod/show/id/29/page/#色空$/index.php/vod/show/id/34/page/#麻豆$/index.php/vod/show/id/13/page/#兔子先生$/index.php/vod/show/id/17#猫爪$/index.php/vod/show/id/14#爱豆$/index.php/vod/show/id/15#皇家华人$/index.php/vod/show/id/16#自拍调教$/index.php/vod/show/id/20#网爆泄密$/index.php/vod/show/id/21/page/#主播录播$/index.php/vod/show/id/22/page/#探花偷拍$/index.php/vod/show/id/23/page/#素人自制$/index.php/vod/show/id/24/page/#AV解说$/index.php/vod/show/id/31/page/#未分类系列$/index.php/vod/show/id/32/page/#日韩字幕$/index.php/vod/show/id/33/page/#日本无码$/index.php/vod/show/id/35/page/#情色游戏$/index.php/vod/show/id/18/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/show/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/聚优AV.json b/XBiubiu/聚优AV.json new file mode 100644 index 0000000..4bc997e --- /dev/null +++ b/XBiubiu/聚优AV.json @@ -0,0 +1,57 @@ +{"name": "*聚优AV", +"url": "https://juyouav.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "超清亚洲AV$/cq/su-ab-page#超清自拍偷拍$/index.php/vod/type/id/63/page/#超清传媒$/index.php/vod/type/id/64/page/#超清欧美AV$/index.php/vod/type/id/65/page/#超清3D动漫$/index.php/vod/type/id/66/page/#超清乱伦人妻$/index.php/vod/type/id/67/page/#超清丝袜制服$/index.php/vod/type/id/68/page/#超清直播录播$/index.php/vod/type/id/69/page/#超清SM另类$/index.php/vod/type/id/70/page/#超清三级$/index.php/vod/type/id/71/page/#超清$/index.php/vod/type/id/72/page/#超清$/index.php/vod/type/id/73/page/#AV解说$/index.php/vod/type/id/1/page/#中文无码$/index.php/vod/type/id/52/page/#中文综合$/index.php/vod/type/id/51/page/#中文近亲$/index.php/vod/type/id/50/page/#中文护士$/index.php/vod/type/id/53/page/#中文师生$/index.php/vod/type/id/54/page/#中文强奸$/index.php/vod/type/id/55/page/#国产综合$/index.php/vod/type/id/56/page/#美女主播$/index.php/vod/type/id/57/page/#VR高清$/index.php/vod/type/id/58/page/#高清HD$/index.php/vod/type/id/59/page/#欧美大片$/index.php/vod/type/id/60/page/#三级综合$/index.php/vod/type/id/61/page/#麻豆原创$/index.php/vod/type/id/33/page/#91制片厂$/index.php/vod/type/id/34/page/#天美传媒$/index.php/vod/type/id/35/page/#蜜桃传媒$/index.php/vod/type/id/36/page/#皇家华人$/index.php/vod/type/id/37/page/#星空传媒$/index.php/vod/type/id/38/page/#精东影业$/index.php/vod/type/id/39/page/#乐播传媒$/index.php/vod/type/id/40/page/#乌鸦传媒$/index.php/vod/type/id/41/page/#兔子先生$/index.php/vod/type/id/42/page/#杏吧原创$/index.php/vod/type/id/43/page/#mini传媒$/index.php/vod/type/id/44/page/#大象传媒$/index.php/vod/type/id/45/page/#开心鬼传媒$/index.php/vod/type/id/46/page/#PsychoPorn$/index.php/vod/type/id/47/page/#糖心Vlgo$/index.php/vod/type/id/48/page/#港台三级$/index.php/vod/type/id/49/page/#国产自拍一区$/index.php/vod/type/id/19/page/#肛交$/index.php/vod/type/id/2/page/#口爆颜射$/index.php/vod/type/id/3/page/#潮吹$/index.php/vod/type/id/4/page/#会员认证作品$/index.php/vod/type/id/5/page/#制服丝袜$/index.php/vod/type/id/6/page/#一本道$/index.php/vod/type/id/7/page/#高清$/index.php/vod/type/id/8/page/#日本有码$/index.php/vod/type/id/9/page/#加勒比$/index.php/vod/type/id/10/page/#日本无码$/index.php/vod/type/id/11/page/#李宗瑞全集$/index.php/vod/type/id/12/page/#中文字幕$/index.php/vod/type/id/13/page/#欧美$/index.php/vod/type/id/14/page/#东京热$/index.php/vod/type/id/15/page/#小格式综合$/index.php/vod/type/id/16/page/#女主播系列$/index.php/vod/type/id/17/page/#成人动漫$/index.php/vod/type/id/18/page/#SM性虐$/index.php/vod/type/id/20/page/#韩国综合$/index.php/vod/type/id/21/page/#三级片$/index.php/vod/type/id/22/page/#VR专区$/index.php/vod/type/id/23/page/#国产自拍二区$/index.php/vod/type/id/29/page/#VIP专区$/index.php/vod/type/id/24/page/#日本有码$/index.php/vod/type/id/25/page/#日本无码$/index.php/vod/type/id/26/page/#偷拍系列$/index.php/vod/type/id/27/page/#成人动漫$/index.php/vod/type/id/28/page/#韩国综合$/index.php/vod/type/id/30/page/#VR专区$/index.php/vod/type/id/31/page/#欧美$/index.php/vod/type/id/32/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/聚优AV解说.json b/XBiubiu/聚优AV解说.json new file mode 100644 index 0000000..ac57e41 --- /dev/null +++ b/XBiubiu/聚优AV解说.json @@ -0,0 +1,59 @@ +{"name": "聚优AV解说", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "AV解说$/?ju=avjs-avjsfl-avjs-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/聚优久久热资源.json b/XBiubiu/聚优久久热资源.json new file mode 100644 index 0000000..daea830 --- /dev/null +++ b/XBiubiu/聚优久久热资源.json @@ -0,0 +1,59 @@ +{"name": "聚优久久热资源", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "国产自拍$/?ju=99re-99refl-72-#肛交$/?ju=99re-99refl-67-#口爆颜射$/?ju=99re-99refl-66-#潮吹$/?ju=99re-99refl-63-#制服丝袜$/?ju=99re-99refl-65-#一本道$/?ju=99re-99refl-59-#日本有码$/?ju=99re-99refl-58-#加勒比$/?ju=99re-99refl-57-#日本无码$/?ju=99re-99refl-56-#李宗瑞全集$/?ju=99re-99refl-55-#中文字幕$/?ju=99re-99refl-54-#会员认证作品$/?ju=99re-99refl-64-#欧美$/?ju=99re-99refl-53-#东京热$/?ju=99re-99refl-68-#小格式综合$/?ju=99re-99refl-69-#女主播系列$/?ju=99re-99refl-70-#成人动漫$/?ju=99re-99refl-71-#SM性虐$/?ju=99re-99refl-73-#韩国综合$/?ju=99re-99refl-74-#三级专区$/?ju=99re-99refl-75-#VR专区$/?ju=99re-99refl-76-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/聚优国产传媒.json b/XBiubiu/聚优国产传媒.json new file mode 100644 index 0000000..ae3ca3c --- /dev/null +++ b/XBiubiu/聚优国产传媒.json @@ -0,0 +1,59 @@ +{"name": "聚优国产传媒", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "麻豆原创$/?ju=gccm-gccmfl-1-#91制片厂$/?ju=gccm-gccmfl-2-#天美传媒$/?ju=gccm-gccmfl-3-#蜜桃传媒$/?ju=gccm-gccmfl-4-#港台三级$/?ju=gccm-gccmfl-17-#皇家华人$/?ju=gccm-gccmfl-5-#星空传媒$/?ju=gccm-gccmfl-6-#精东影业$/?ju=gccm-gccmfl-7-#乐播传媒$/?ju=gccm-gccmfl-8-#乌鸦传媒$/?ju=gccm-gccmfl-9-#兔子先生$/?ju=gccm-gccmfl-10-#杏吧原创$/?ju=gccm-gccmfl-11-#mini传媒$//?ju=gccm-gccmfl-12-#大象传媒$/?ju=gccm-gccmfl-13-#开心鬼传媒$/?ju=gccm-gccmfl-14-#PsychoPorn$/?ju=gccm-gccmfl-15-#糖心Vlgo$/?ju=gccm-gccmfl-16-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?ju=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/聚优废柴网资源.json b/XBiubiu/聚优废柴网资源.json new file mode 100644 index 0000000..731c416 --- /dev/null +++ b/XBiubiu/聚优废柴网资源.json @@ -0,0 +1,59 @@ +{"name": "聚优废柴网资源", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "VIP专区$/?ju=fcw-fcwfl-vipzq-#日本有码$/?ju=fcw-fcwfl-rbym-#日本无码$/?ju=fcw-fcwfl-rbwm-#偷拍系列$/?ju=fcw-fcwfl-tpxl-#成人动漫$/?ju=fcw-fcwfl-crdm-#国产自拍$/?ju=fcw-fcwfl-gczp-#韩国综合$/?ju=fcw-fcwfl-hgzh-#VR专区$/?ju=fcw-fcwfl-vrzq-#欧美专区$/?ju=fcw-fcwfl-omzq-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/聚优桃花资源.json b/XBiubiu/聚优桃花资源.json new file mode 100644 index 0000000..f56fbf6 --- /dev/null +++ b/XBiubiu/聚优桃花资源.json @@ -0,0 +1,59 @@ +{"name": "聚优桃花资源", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "无码中文字幕$/?ju=thlt-thltfl-1-#有码中文字幕$/?ju=thlt-thltfl-2-#精品国产视频$/?ju=thlt-thltfl-3-#欧美高清视频$/?ju=thlt-thltfl-4-#成人动漫动画$/?ju=thlt-thltfl-5-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/聚优超清资源.json b/XBiubiu/聚优超清资源.json new file mode 100644 index 0000000..0bad974 --- /dev/null +++ b/XBiubiu/聚优超清资源.json @@ -0,0 +1,59 @@ +{"name": "聚优超清资源", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "亚洲AV$/?ju=cqzy-cqzyfl-62-#3D动漫$/?ju=cqzy-cqzyfl-66-#自拍偷拍$/?ju=cqzy-cqzyfl-63-#超清传媒$/?ju=cqzy-cqzyfl-64-#欧美AV$/?ju=cqzy-cqzyfl-65-#乱伦人妻$/?ju=cqzy-cqzyfl-67-#丝袜制服$/?ju=cqzy-cqzyfl-68-#直播录播$/?ju=cqzy-cqzyfl-69-#SM另类$/?ju=cqzy-cqzyfl-70-#超清三级$/?ju=cqzy-cqzyfl-71-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/聚优香蕉资源.json b/XBiubiu/聚优香蕉资源.json new file mode 100644 index 0000000..15d4d9f --- /dev/null +++ b/XBiubiu/聚优香蕉资源.json @@ -0,0 +1,59 @@ +{"name": "聚优香蕉资源", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "中文综合$/?ju=xxj-xxjfl-zwzh-#中文无码$/?ju=xxj-xxjfl-zwwm-#中文近亲$/?ju=xxj-xxjfl-zwjq-#中文护士$/?ju=xxj-xxjfl-zwhs-#中文师生$/?ju=xxj-xxjfl-zwss-#中文强奸$/?ju=xxj-xxjfl-zwqj-#DVR高清$/?ju=xxj-xxjfl-dvrgq-#美女主播$/?ju=xxj-xxjfl-mnzb-#国产自拍$/?ju=xxj-xxjfl-gczp-#高清HD$/?ju=xxj-xxjfl-gqhd-#欧美大片$/?ju=xxj-xxjfl-omdp-#三级综合$/?ju=xxj-xxjfl-sjzh-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/胖虎影视.json b/XBiubiu/胖虎影视.json new file mode 100644 index 0000000..151aea9 --- /dev/null +++ b/XBiubiu/胖虎影视.json @@ -0,0 +1,66 @@ +{"name": "胖虎影视", +"url": "http://www.panghuys.com", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/vodshow/1/page/#国产电影$/vodshow/1/area/%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86/page/#电视剧$/vodshow/2/page/#国产剧$/vodshow/201/page/#综艺$/vodshow/3/page/#动漫$/vodshow/4/page/#动作片$/vodshow/6/page/#喜剧片$/vodshow/7/page/#剧情片$/vodshow/24/page/#爱情片$/vodshow/8/page/#科幻片$/vodshow/9/page/#恐怖片$/vodshow/10/page/#冒险片$/vodshow/11/page/#战争片$/vodshow/12/page/#其他片$/vodshow/32/page/#日韩剧$/vodshow/14/page/#港台剧$/vodshow/15/page/#欧美剧$/vodshow/16/page/#其他剧$/vodshow/20/page/", +"houzhui": ".html", +//"fenlei": "电影$/vodshow/1--------#国产电影$/vodshow/1-%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86-------#电视剧$/vodshow/2--------#国产剧$/vodshow/13--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#剧情片$/vodshow/24--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#冒险片$/vodshow/11--------#战争片$/vodshow/12--------#其他片$/vodshow/32--------#日韩剧$/vodshow/14--------#港台剧$/vodshow/15--------#欧美剧$/vodshow/16--------#其他剧$/vodshow/20--------", +//"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items module-poster-items-base", +"jiequhou": "page", +"jiequshuzuqian": "", +"xlbiaotiqian": "data-dropdown-value=\"", +"xlbiaotihou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"module-item-note\">", +"zhuangtaihou": "", +"daoyanqian": "导演:
    ", +"daoyanhou": "", +"zhuyanqian": "主演:
    ", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, \ No newline at end of file diff --git a/XBiubiu/花猫TV.json b/XBiubiu/花猫TV.json new file mode 100644 index 0000000..d883668 --- /dev/null +++ b/XBiubiu/花猫TV.json @@ -0,0 +1,60 @@ +{ + "author":"20220719", + "name": "花猫TV", + "url": "http://www.huamaotv.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/3_#动漫$/list/4_#大陆电视剧$/list/12_#香港电视剧$/list/13_#韩国电视剧$/list/14_#欧美电视剧$/list/15_#日本电视剧$/list/24_#台湾电视剧$/list/25_#泰国电视剧$/list/26_#动作影片$/list/5_#喜剧影片$/list/6_#爱情影片$/list/7_#科幻影片$/list/8_#恐怖影片$/list/9_#剧情影片$/list/10_#战争影片$/list/11_#奇幻影片$/list/16_#惊悚影片$/list/17_#动画影片$/list/18_#悬疑影片$/list/19_#犯罪影片$/list/20_#记录影片$/list/21_#音乐影片$/list/22_#大陆综艺$/list/28_#香港综艺$/list/29_#日韩综艺$/list/30_#欧美综艺$/list/31_#国产动漫$/list/32_#日本动漫$/list/33_#其他动漫$/list/35_", + "houzhui": "_desc__0_0___.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\"", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:
    ", + "daoyanhou": "

    ", + "zhuyanqian": "主演:
    ", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/茶杯狐.json b/XBiubiu/茶杯狐.json new file mode 100644 index 0000000..f701234 --- /dev/null +++ b/XBiubiu/茶杯狐.json @@ -0,0 +1,68 @@ +{"name": "茶杯狐", + "url": "https://www.cupfox.cc/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/fox/1-#电视剧$/fox/2-#综艺$/fox/3-#动漫$/fox/4-#伦理片$/fox/20-", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"fed-list-item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": ".html\" >", + "biaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", +"fubiaotiqian": "fed-text-center\">", +"fubiaotihou": "
    ", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "xljiequshuzuqian": "
      ", + "xljiequshuzuhou": "
    ", + "xlbiaotiqian": ">", + "xlbiaotihou": "", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "
    ", + + "zhuangtaiqian": "地区:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "
    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/蓝莓影视.json b/XBiubiu/蓝莓影视.json new file mode 100644 index 0000000..05da68e --- /dev/null +++ b/XBiubiu/蓝莓影视.json @@ -0,0 +1,60 @@ +{ + "author":"202207120", + "name": "蓝莓影视", + "url": "https://lanmeiguojiang.com/", + "User": "空", + "shouye": "1", + "fenlei": "网剧$/show/20--------#电影$/show/1--------#电视剧$/show/2--------#动漫$/show/3--------#综艺$/show/4--------#纪录片$/show/23--------#国产剧$/show/13--------#港台剧$/show/15--------#动作影片$/show/6--------#喜剧影片$/show/7--------#爱情影片$/show/8--------#科幻影片$/show/9--------#恐怖影片$/show/10--------#剧情影片$/show/11--------#战争影片$/show/12--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "/div>", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/蓝豆TV.json b/XBiubiu/蓝豆TV.json new file mode 100644 index 0000000..0cec0a2 --- /dev/null +++ b/XBiubiu/蓝豆TV.json @@ -0,0 +1,79 @@ +{"name": "蓝豆TV", +"url": "http://landoutv.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"tihuan": "cnzz.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items module-poster-items-base", +"jiequhou": "page", +"jiequshuzuqian": "", +"fubiaotihou": "", + "xlshifouercijiequ": "0", + "xljiequqian": "", + "xljiequhou": "", + "xljiequshuzuqian": "class=\"module-tab-item tab-item", + "xljiequshuzuhou": "", + "xlbiaotiqian": "", + "xlbiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"ssljhouzhui": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:
    ", +"zhuangtaihou": "", +"daoyanqian": "导演:
    ", +"daoyanhou": "", +"zhuyanqian": "主演:
    ", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "", +"bfhouzhui": ""} \ No newline at end of file diff --git a/XBiubiu/虫虫影院.json b/XBiubiu/虫虫影院.json new file mode 100644 index 0000000..5855dce --- /dev/null +++ b/XBiubiu/虫虫影院.json @@ -0,0 +1,56 @@ +{"name": "虫虫电影", +"tihuan": "cnzz.com", +"url": "http://www.300ys.xyz", +"fenlei": "热播剧集$/vodshow/39--hits------#热播电影$/vodshow/38--hits------#综艺$/vodshow/33--------#动漫$/vodshow/40--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "class=\"loading\"", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "备注:
    ", +"zhuangtaihou": "", +"daoyanqian": "导演:
    ", +"daoyanhou": "", +"zhuyanqian": "主演:
    ", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/豆角网.json b/XBiubiu/豆角网.json new file mode 100644 index 0000000..6f37cf9 --- /dev/null +++ b/XBiubiu/豆角网.json @@ -0,0 +1,63 @@ +{ + "author":"20220720", + "name": "豆角网〔时间排序〕", + "url": "https://m.doujiaow2.com/", + "User": "空", + "shouye": "1", + "fenlei": "电影$/index.php?m=vod-list-id-1-pg-#电视剧$/index.php?m=vod-list-id-2-pg-#电视剧大全$/index.php?m=vod-list-id-39-pg-#电影大全$/index.php?m=vod-list-id-38-pg-#动漫大全$/index.php?m=vod-list-id-40-pg-#动漫剧集$/index.php?m=vod-list-id-37-pg-#动漫电影$/index.php?m=vod-list-id-35-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#泰剧$/index.php?m=vod-list-id-26-pg-#日剧$/index.php?m=vod-list-id-17-pg-#美剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#动作电影$/index.php?m=vod-list-id-5-pg-#科幻电影$/index.php?m=vod-list-id-8-pg-#恐怖电影$/index.php?m=vod-list-id-9-pg-#喜剧电影$/index.php?m=vod-list-id-6-pg-#战争电影$/index.php?m=vod-list-id-11-pg-#爱情电影$/index.php?m=vod-list-id-7-pg-#剧情电影$/index.php?m=vod-list-id-10-pg-#综艺$/index.php?m=vod-list-id-3-pg-", + "houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"con\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + + "bfjiequshuzuqian": "class=\"ulNumList", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "
    ", + "zhuyanqian": "主演:", + "zhuyanhou": "
    ", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XBiubiu/达达龟.json b/XBiubiu/达达龟.json new file mode 100644 index 0000000..96a5f10 --- /dev/null +++ b/XBiubiu/达达龟.json @@ -0,0 +1,68 @@ +{ + "author":"张弘20220731", + "name": "达达龟〔时间排序〕", + "url": "http://www.dadagui.me", + //"url": "http://www.dadagui.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", +"xljiequshuzuqian":"class=\"stui-vodlist__head", +"xljiequshuzuhou":"", +"xlbiaotiqian":"

    ", +"xlbiaotihou":"

    ", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\">", +"免嗅":"1", +"副标题":"&&", +"分类url":"https://www.dadagui.me/vodshow/{cateId}-{area}-{by}--{lang}----{catePg}---{year}.html", +"年份":"2000-2022","筛选":"1" +} diff --git a/XBiubiu/迷你库.json b/XBiubiu/迷你库.json new file mode 100644 index 0000000..a4a4a5d --- /dev/null +++ b/XBiubiu/迷你库.json @@ -0,0 +1,68 @@ +{ +"name": "迷你库", +"url": "http://www.miniku.cc/", +"tihuan": "cnzz.com#/player/#/mytheme/", +"fenlei": "电影$/vodtype/1/page/#电视剧$/vodtype/2/page/#综艺$/vodtype/3/page/#动漫$/vodtype/4/page/#日韩$/vodtype/21/page/#欧美$/vodtype/20/page/#哔哩$/vodtype/22/page/", +"houzhui": ".html", +"shouye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +//"xljiequshuzuqian": "", +//"xlbiaotiqian": "data-toggle=\"tab\">", +//"xlbiaotihou": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/速搜影视.json b/XBiubiu/速搜影视.json new file mode 100644 index 0000000..6b148b0 --- /dev/null +++ b/XBiubiu/速搜影视.json @@ -0,0 +1,61 @@ +{ + "name": "速搜影视", + "shouye": "1", + "url": "https://www.sstv.pw", + "fenlei": "电影$/vodshow-1/page/#剧集$/vodshow-2/page/#综艺$/vodshow-3/page/#动漫$/vodshow-4/page/#纪录片$/vodshow-21/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"aplus-exp ecimgbor", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "tupianqianzhui": "", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "class=\"pack-prb hidden\">", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "年代:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/酷我MV.json b/XBiubiu/酷我MV.json new file mode 100644 index 0000000..ba03f66 --- /dev/null +++ b/XBiubiu/酷我MV.json @@ -0,0 +1,20 @@ +{"name": "酷我MV", + "url": "http://m.kuwo.cn", +"直接播放": "1", +"列表显示": "0", + "shouye": "1", + "fenlei": "首播$/newh5/mv/list?id=236682871/page#排行$/newh5/mv/list?id=236682735-#华语$/newh5/mv/list?id=236682731#欧美$/newh5/mv/list?id=236742576#日韩$/newh5/mv/list?id=236742444#网络$/newh5/mv/list?id=236682773#禁播$/newh5/mv/list?id=236742510#现场$/newh5/mv/list?id=236682773", + "houzhui": "", +"shifouercijiequ": "1", + "jiequqian": "
      ", + "jiequshuzuqian": "", + "tupianqian": "", + "biaotihou": "

      ", +"fubiaotiqian": "class=\"singTime\">", +"fubiaotihou":"

      ", + "lianjieqian": "onclick=\"jumpPage('", + "lianjiehou": "')"} \ No newline at end of file diff --git a/XBiubiu/饭团.json b/XBiubiu/饭团.json new file mode 100644 index 0000000..9baab22 --- /dev/null +++ b/XBiubiu/饭团.json @@ -0,0 +1,54 @@ +{"author": "张弘20220731", +"name":"饭团", +"url":"http://www.fantuantva.com/", +"User":"User-Agent:Dart/2.14 (dart:io)","shouye":"1", +"fenlei":"电影$/t/dianying/page/#大陆剧$/t/lianxuju/page/#国产剧$/t/guochanju/page/#综艺$/t/zongyi/page/#动漫$/t/dongman/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"show_play\">", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/v/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"con_c2_list\">", +"bfjiequshuzuhou":"
    ", +"zhuangtaiqian":"class=\"tc_wz\">", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:
    ", +"daoyanhou":"

    ","zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"","juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""} \ No newline at end of file diff --git a/XBiubiu/饭团HD.json b/XBiubiu/饭团HD.json new file mode 100644 index 0000000..514d122 --- /dev/null +++ b/XBiubiu/饭团HD.json @@ -0,0 +1,66 @@ +{"name": "饭团HD", + "url": "https://www.fantuanhd.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/type/id-20-#电视剧$/type/id-21-#综艺$/type/id-22-#动漫$type/id-23-#纪录片$type/id-24-", + "houzhui": ".html", + + // "fenlei": "电影$/vodtype/1-#连续剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-#理论片$/vodtype/20-#动作片$/vodtype/5-#喜剧片$/vodtype/6-#爱情片$/vodtype/7-#科幻片$/vodtype/8-#恐怖片$/vodtype/9-#剧情片$/vodtype/10-#战争片$/vodtype/11-#纪录片$/vodtype/22-#国产剧$/vodtype/12-#香港剧$/vodtype/13-#台湾剧$/vodtype/14-#日本剧$/vodtype/15-#韩国剧$/vodtype/16-#欧美剧$/vodtype/17-#海外剧$/vodtype/18-", +//"houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-play__list", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/饭团影视.json b/XBiubiu/饭团影视.json new file mode 100644 index 0000000..c87fdcb --- /dev/null +++ b/XBiubiu/饭团影视.json @@ -0,0 +1,59 @@ +{"name": "饭团影视", +"url": "http://www.fantuantva.com", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +//"shouye": "1", +"fenlei": "电影$/t/dianying/page/#大陆剧$/t/lianxuju/page/#国产剧$/t/guochanju/page/#综艺$/t/zongyi/page/#动漫$/t/dongman/page/#动作片$/t/dongzuopian/page/#喜剧片$/t/xijupian/page/#爱情片$/t/aiqingpian/page/#科幻片$/t/kehuanpian/page/#恐怖片$/t/kongbupian/page/#剧情片$/t/juqingpian/page/#战争片$/t/zhanzhengpian/page/#国产剧$/t/guochanju/page/#港台剧$/t/gangtaiju/page/#日韩剧$/t/rihanju/page/#欧美剧$/t/oumeiju/page/#其他剧$/t/qitaju/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"show_play", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/v/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"con_c2_list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "class=\"col33", +"daoyanhou": "", +"zhuyanqian": "class=\"zy", +"zhuyanhou": "

    ", +"juqingqian": "id=\"content", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/香蕉传媒.json b/XBiubiu/香蕉传媒.json new file mode 100644 index 0000000..0db52dd --- /dev/null +++ b/XBiubiu/香蕉传媒.json @@ -0,0 +1,57 @@ +{"name": "香蕉国产传媒", +"url": "https://www.2024xxj.com/", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "麻豆原创$/?ju=gccm-gccmfl-1-0#91制片厂$/?ju=gccm-gccmfl-2-0-#天美传媒$/?ju=gccm-gccmfl-3-0-#蜜桃传媒$/?ju=gccm-gccmfl-4-0-#港台三级$/?ju=gccm-gccmfl-17-0-#皇家华人$/?ju=gccm-gccmfl-5-0-#星空传媒$/?ju=gccm-gccmfl-6-0#精东影业$/?ju=gccm-gccmfl-7-0-#乐播传媒$/?ju=gccm-gccmfl-8-0-#乌鸦传媒$/?ju=gccm-gccmfl-9-0-#兔子先生$/?ju=gccm-gccmfl-10-0-#杏吧原创$/?ju=gccm-gccmfl-11-0#mini传媒$//?ju=gccm-gccmfl-12-0#大象传媒$/?ju=gccm-gccmfl-13-0#开心鬼传媒$/?ju=gccm-gccmfl-14-0#PsychoPorn$/?ju=gccm-gccmfl-15-0#糖心Vlgo$/?ju=gccm-gccmfl-16-0", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/香蕉视频.json b/XBiubiu/香蕉视频.json new file mode 100644 index 0000000..d375d56 --- /dev/null +++ b/XBiubiu/香蕉视频.json @@ -0,0 +1,39 @@ +{"name":"香蕉视频", +"url":"https://xx8888.cc/", +"tihuan":"cnzz.com", +"User":"空", +"shouye":"1", +"直接播放":"1", +"fenlei":"人妻熟女$/index.php/vod/type/id/1/page/#偷拍自拍$/index.php/vod/type/id/2/page/#港韩情色$/index.php/vod/type/id/3/page/#丝袜制服$/index.php/vod/type/id/4/page/#清纯少女$/index.php/vod/type/id/5/page/#辣妹大奶$/index.php/vod/type/id/34/page/#女同专属$/index.php/vod/type/id/35/page/#素人出演$/index.php/vod/type/id/36/page/#角色扮演$/index.php/vod/type/id/37/page/#成人动漫$/index.php/vod/type/id/38/page/#变态另类$/index.php/vod/type/id/39/page/", +"houzhui":".html", +"jiequshuzuqian":"class=\"module-item-pic", +"jiequshuzuhou":"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"xljiequshuzuqian": "
    ", +"xlbiaotiqian": "", +"xlbiaotihou": "", +"zhuangtaiqian":"状态:", +"zhuangtaihou":"
    ", +"daoyanqian":"导演:
    ", +"daoyanhou":"", +"zhuyanqian":"主演:
    ", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"搜索url": "https://xx8888.cc/index.php/vod/search.html?wd={wd}", +"搜索模式": "1", +"搜索数组": "
  • &&
  • ", +"搜索图片": "data-original=\"&&\"", +"搜索标题": "title=\"&&\"", +"搜索链接": "href=\"&&\"", +"搜索后缀":"/index.php/vod/play/id/", +"搜索链接前缀":"https://xx8888.cc", +"搜索链接后缀":"/sid/1/nid/1", +"搜索片单链接加后缀":".html" +} \ No newline at end of file diff --git a/XBiubiu/骚火电影.json b/XBiubiu/骚火电影.json new file mode 100644 index 0000000..5e5331e --- /dev/null +++ b/XBiubiu/骚火电影.json @@ -0,0 +1,62 @@ +{ + "author": "张弘20220731", + "name": "骚火电影", + "url": "https://shdy2.com", + //"url": "https://shdy3.com", + //"url": "https://saohuo.vip/", + "User": "空", + "shouye": "1", + "fenlei": "电影$/list/1-#电视剧$/list/2-#动漫$/list/4-#国产剧$/list/20-#TVB剧$/list/21-#韩剧$/list/22-#美剧$/list/23-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#动画片$/list/13-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-#搞笑动漫$/list/38-#恋爱动漫$/list/39-#热血动漫$/list/40-#格斗动漫$/list/41-#美少女动漫$/list/42-#魔法动漫$/list/43-#机战动漫$/list/44-#校园动漫$/list/45-#亲子动漫$/list/46-#童话动漫$/list/47-#冒险动漫$/list/48-#真人动漫$/list/49-#萝莉动漫$/list/50-#其他动漫$/list/51-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"v_img\">", + "jiequshuzuhou": "

    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
    ", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"play_link\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"v_note\">", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "/ 主演", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"p_txt show_part\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/麦豆TV.json b/XBiubiu/麦豆TV.json new file mode 100644 index 0000000..02cb8f7 --- /dev/null +++ b/XBiubiu/麦豆TV.json @@ -0,0 +1,68 @@ +{ +"name": "麦豆TV", +"url": "https://www.mdoutv.cc/", +"tihuan": "cnzz.com", +"shouye": "1", +"User": "空", +"fenlei": "国产剧$/vodtype/13/page/#港台剧$/vodtype/14/page/#日韩剧$/vodtype/15/page/#欧美剧$/vodtype/16/page/#动 漫$/vodtype/4/page/#综 艺$/vodtype/3/page/#喜剧片$/vodshow/1---喜剧--------/page/#爱情片$/vodshow/1---爱情--------/page/#科幻片$/vodshow/1---科幻--------/page/#恐怖片$/vodshow/1---恐怖--------/page/#动作片$/vodshow/1---动作--------/page/#剧情片$/vodshow/1---剧情--------/page/#战争片$/vodshow/1---战争--------/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "", +"jiequhou": "", +"jiequshuzuqian": "class=\"myui-vodlist__box", +"jiequshuzuhou": "
    ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"xlshifouercijiequ": "1", +"xljiequqian": "", +"xljiequhou": "", +"xljiequshuzuqian": "data-toggle=\"tab\"", +"xljiequshuzuhou": "/a>", +"xlbiaotiqian": ">", +"xlbiaotihou": "<", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"sketch content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} + \ No newline at end of file diff --git a/XBiubiu/麻花视频.json b/XBiubiu/麻花视频.json new file mode 100644 index 0000000..86970ec --- /dev/null +++ b/XBiubiu/麻花视频.json @@ -0,0 +1,59 @@ +{"name": "麻花视频", +"url": "https://www.mhyyy.com", +"tihuan": "cnzz.com", +"User": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; Mi9 Pro 5G Build/QKQ1.190825.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/11.0 Mobile Safari/537.36 COVC/045429", +"shouye": "1", +"fenlei": "麻花综艺$/show/mhzy/page#麻花影视$/show/mhdy/page#麻花电视$/show/mhds/page#麻花动漫$/show/mhdm/page", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search.html?wd=", +"sousuohou": "", +"sousuohouzhui": "/wd/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"module-item-pic", +"ssjiequshuzuhou": "", +"sstupianqian": "data-src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-blocklist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "连载:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} diff --git a/XBiubiu/麻豆AV.json b/XBiubiu/麻豆AV.json new file mode 100644 index 0000000..1804772 --- /dev/null +++ b/XBiubiu/麻豆AV.json @@ -0,0 +1,57 @@ + {"name": "*麻豆AV", +"url": "https://mdav.vip", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "AV解说$/avjs/index.php/vod/type/id/20/page/#中文无码$/xjzy/index.php/vod/type/id/20/page/#中文综合$/xjzy/index.php/vod/type/id/21/page/#中文近亲$/xjzy/index.php/vod/type/id/22/page/#中文护士$/xjzy/index.php/vod/type/id/23/page/#中文师生$/xjzy/index.php/vod/type/id/24/page/#中文强奸$/xjzy/index.php/vod/type/id/25/page/#国产自拍$/xjzy/index.php/vod/type/id/28/page/#美女主播$/xjzy/index.php/vod/type/id/29/page/#VR高清$/xjzy/index.php/vod/type/id/30/page/#高清HD$/xjzy/index.php/vod/type/id/31/page/#欧美大片$/xjzy/index.php/vod/type/id/32/page/#三级综合$/xjzy/index.php/vod/type/id/33/page/#麻豆原创$/index.php/vod/type/id/1/page/#91制片厂$/index.php/vod/type/id/2/page/#天美传媒$/index.php/vod/type/id/3/page/#蜜桃传媒$/index.php/vod/type/id/4/page/#皇家华人$/index.php/vod/type/id/5/page/#星空传媒$/index.php/vod/type/id/6/page/#精东影业$/index.php/vod/type/id/7/page/#乐播传媒$/index.php/vod/type/id/8/page/#乌鸦传媒$/index.php/vod/type/id/9/page/#兔子先生$/index.php/vod/type/id/10/page/#杏吧原创$/index.php/vod/type/id/11/page/#mini传媒$/index.php/vod/type/id/12/page/#大象传媒$/index.php/vod/type/id/13/page/#开心鬼传媒$/index.php/vod/type/id/14/page/#PsychoPorn$/index.php/vod/type/id/15/page/#糖心Vlgo$/index.php/vod/type/id/16/page/#港台三级$/index.php/vod/type/id/17/page/#国产自拍$/99re/index.php/vod/type/id/72/page/#肛交$/99re/index.php/vod/type/id/67/page/#会员认证$/99re/index.php/vod/type/id/64/page/#口爆颜射$/99re/index.php/vod/type/id/66/page/#潮吹$/99re/index.php/vod/type/id/63/page/#制服丝袜$/99re/index.php/vod/type/id/65/page/#一本道$/99re/index.php/vod/type/id/59/page/#高清$/99re/index.php/vod/type/id/60/page/#日本有码$/99re/index.php/vod/type/id/58/page/#加勒比$/99re/index.php/vod/type/id/57/page/#日本无码$/99re/index.php/vod/type/id/56/page/#李宗瑞全集$/99re/index.php/vod/type/id/55/page/#中文字幕$/99re/index.php/vod/type/id/54/page/#欧美$/99re/index.php/vod/type/id/53/page/#东京热$/99re/index.php/vod/type/id/68/page/#小格式综合$/99re/index.php/vod/type/id/69/page/#女主播系列$/99re/index.php/vod/type/id/70/page/#成人动漫$/99re/index.php/vod/type/id/71/page/#SM性虐$/99re/index.php/vod/type/id/73/page/#韩国综合$/99re/index.php/vod/type/id/74/page/#VIP专区$/fcw/index.php/vod/type/id/53/page/#日本有码$/fcw/index.php/vod/type/id/54/page/#日本无码$/fcw/index.php/vod/type/id/55/page/#偷拍系列$/fcw/index.php/vod/type/id/56/page/#成人动漫$/fcw/index.php/vod/type/id/57/page/#国产自拍$/fcw/index.php/vod/type/id/58/page/#韩国综合$/fcw/index.php/vod/type/id/59/page/#VR专区$/fcw/index.php/vod/type/id/60/page/#欧美$/fcw/index.php/vod/type/id/61/page/", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"box movie_list", +"jiequhou": "
    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "

    ", +"biaotihou": "

    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"film_bar clearfix", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "", +"daoyanqian": "更新:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/麻豆传媒破解.json b/XBiubiu/麻豆传媒破解.json new file mode 100644 index 0000000..d0eeb0a --- /dev/null +++ b/XBiubiu/麻豆传媒破解.json @@ -0,0 +1,40 @@ +{"name": "麻豆传媒破解", +"url": "https://www.madoupj.com", +"tihuan": "cnzz.com", +"直接播放":"1", +"免嗅": "0", +"嗅探词":"", +"过滤词":"", +"User": "空", +"fenlei": "MD系列$/index.php/&m=vodtype/mdapp4/page/#导演系列$/index.php/&m=vodtype/mdapp5/page/#MDS系列$/index.php/&m=vodtype/mdapp6/page/#MDX系列$/index.php/&m=vodtype/mdapp7/page/#MKY系列$/index.php/&m=vodtype/mdapp86/page/#MCY系列$/index.php/&m=vodtype/mdapp95/page/#MDXS系列$/index.php/&m=vodtype/mdapp8/page/#MDL系列$/index.php/&m=vodtype/mdapp46/page/#MMZ猫爪系列$/index.php/&m=vodtype/mdapp50/page/#MAD爱豆系列$/index.php/&m=vodtype/mdapp52/page/#MDWP职场淫行系列$/index.php/&m=vodtype/mdapp57/page/#MLT乐天系列$/index.php/&m=vodtype/mdapp62/page/#MSD系列$/index.php/&m=vodtype/mdapp63/page/#MSM性梦者$/index.php/&m=vodtype/mdapp64/page/#MDM恋爱咖啡馆$/index.php/&m=vodtype/mdapp73/page/#MDUS系列$/index.php/&m=vodtype/mdapp77/page/#MXJ系列$/index.php/&m=vodtype/mdapp78/page/#MSG系列$/index.php/&m=vodtype/mdapp85/page/#MAN系列$/index.php/&m=vodtype/mdapp88/page/#杏吧专区$/index.php/&m=vodtype/mdapp9/page/#辣椒原创$/index.php/&m=vodtype/mdapp79/page/#兔子先生$/index.php/&m=vodtype/mdapp10/page/#O-STAR$/index.php/&m=vodtype/mdapp80/page/#果冻传媒$/index.php/&m=vodtype/mdapp11/page/#91制片厂$/index.php/&m=vodtype/mdapp51/page/#皇家华人$/index.php/&m=vodtype/mdapp12/page/#天美传媒$/index.php/&m=vodtype/mdapp45/page/#吴梦梦专区$/index.php/&m=vodtype/mdapp13/page/#PsychoPorn色控$/index.php/&m=vodtype/mdapp14/page/#叮叮映画$/index.php/&m=vodtype/mdapp70/page/#涩会$/index.php/&m=vodtype/mdapp71/page/#蜜桃影像传媒$/index.php/&m=vodtype/mdapp15/page/#豚豚创媒$/index.php/&m=vodtype/mdapp74/page/#宫美娱乐$/index.php/&m=vodtype/mdapp84/page/#肉肉传媒$/index.php/&m=vodtype/mdapp90/page/#爱妃传媒$/index.php/&m=vodtype/mdapp75/page/#渡边传媒$/index.php/&m=vodtype/mdapp94/page/#葵心娱乐$/index.php/&m=vodtype/mdapp96/page/#YOKUBOU$/index.php/&m=vodtype/mdapp97/page/#糖心$/index.php/&m=vodtype/mdapp72/page/#CCAV成人头条$/index.php/&m=vodtype/mdapp89/page/#精东影业$/index.php/&m=vodtype/mdapp34/page/#星空无限传媒$/index.php/&m=vodtype/mdapp47/page/#乐播传媒$/index.php/&m=vodtype/mdapp48/page/#开心鬼传媒$/index.php/&m=vodtype/mdapp56/page/#葫芦影业$/index.php/&m=vodtype/mdapp81/page/#深夜保健室$/index.php/&m=vodtype/mdapp35/page/#大象传媒$/index.php/&m=vodtype/mdapp58/page/#天马传媒$/index.php/&m=vodtype/mdapp82/page/#SWAG$/index.php/&m=vodtype/mdapp36/page/#HongKongDoll$/index.php/&m=vodtype/mdapp59/page/#国产短视频$/index.php/&m=vodtype/mdapp38/page/#北京天使$/index.php/&m=vodtype/mdapp39/page/#MINI传媒$/index.php/&m=vodtype/mdapp61/page/#麻豆不回家$/index.php/&m=vodtype/mdapp41/page/#狼人插$/index.php/&m=vodtype/mdapp53/page/#女优擂台摔角狂热$/index.php/&m=vodtype/mdapp54/page/#恋爱巴士$/index.php/&m=vodtype/mdapp60/page/#男女优生死斗$/index.php/&m=vodtype/mdapp65/page/#情人劫密室逃脱$/index.php/&m=vodtype/mdapp66/page/#换妻$/index.php/&m=vodtype/mdapp67/page/#你好同学$/index.php/&m=vodtype/mdapp68/page/#鲍鱼的胜利$/index.php/&m=vodtype/mdapp83/page/#性爱自修室$/index.php/&m=vodtype/mdapp87/page/#春游记$/index.php/&m=vodtype/mdapp91/page/#心动的性号$/index.php/&m=vodtype/mdapp92/page/#情趣大富翁$/index.php/&m=vodtype/mdapp93/page/#大鸟十八$/index.php/&m=vodtype/mdapp17/page/#疯拍系列$/index.php/&m=vodtype/mdapp18/page/#创造淫2021$/index.php/&m=vodtype/mdapp55/page/#禁欲小屋$/index.php/&m=vodtype/mdapp76/page/#KISS糖果屋$/index.php/&m=vodtype/mdapp19/page/#小鹏奇啪行$/index.php/&m=vodtype/mdapp20/page/#男优出征趣$/index.php/&m=vodtype/mdapp21/page/", +"houzhui": ".html", +"数组": "
    &&
    ", +"图片": "img src=\"&&\"", +"标题": "title=\"&&\"", +"链接": "href=\"/index.php/&m=voddetail/&&.html\"", +"链接前缀": "/index.php/&m=vodplay/", +"链接后缀": "-1-1.html", +"搜索模式": "0", +"搜索url": "https://www.madoupj.com/index.php/ajax/suggest?mid=1&wd={wd}", +"搜索后缀": "/vodplay/", +"搜索链接后缀":"-1-1.html", + +"播放数组":"class=\"btn-submit\"&&

    ", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"title\">", +"juqinghou": "title", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ".html';\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XBiubiu/麻豆映画.json b/XBiubiu/麻豆映画.json new file mode 100644 index 0000000..fd30a3c --- /dev/null +++ b/XBiubiu/麻豆映画.json @@ -0,0 +1,197 @@ +{"name": "麻豆传媒破解", +"url": "https://www.madoupj.com", +"直接播放": "1", +"列表显示": "0", +"横图显示": "0", +"热门推荐": "1", +"头部集合": "", +"分类":"麻豆原创$mdapp1#原创伙伴$mdapp2#节目企划$mdapp3#免费视频区$mdapp72", +"数组":"
    &&
    ", +"图片": "img src=\"&&\"", +"标题": "title=\"&&\"", +"链接": "href=\"/index.php/&m=voddetail/&&.html\"", +"链接前缀": "/index.php/&m=vodplay/", +"链接后缀": "-1-1.html", +"搜索数组": "
    &&
    ", +"搜索图片": "img src=\"&&\"", +"搜索标题": "title=\"&&\"", +"搜索链接": "href=\"&&\"", +"搜索模式": "0", +"搜索url": "https://www.madoupj.com/index.php/ajax/suggest?mid=1&wd={wd}", +"搜索后缀": "/index.php/&m=vodplay/", +"搜索链接后缀":"-1-1.html", +"状态": "class=\"yac\">&&

    ", +"导演": "导演:&&

    ", +"主演": "主演:&&

    ", +"简介": "class=\"title\">&&title", +"分类url":"https://www.madoupj.com/index.php/&m=vodtype/{cateId}/page/{catePg}.html", +"筛选": +{ +"mdapp1":[ +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"MD系列","v":"mdapp4"}, +{"n":"导演系列","v":"mdapp5"}, +{"n":"MDS系列","v":"mdapp6"}, +{"n":"MDX系列","v":"mdapp7"}, +{"n":"MKY系列","v":"mdapp86"}, +{"n":"MCY系列","v":"mdapp95"}, +{"n":"MDXS系列","v":"mdapp8"}, +{"n":"MDL系列","v":"mdapp46"}, +{"n":"MMZ猫爪系列","v":"mdapp50"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"MAD爱豆系列","v":"mdapp52"}, +{"n":"MDWP职场淫行系列","v":"mdapp57"}, +{"n":"MLT乐天系列","v":"mdapp62"}, +{"n":"MSD系列","v":"mdapp63"}, +{"n":"MSM性梦者","v":"mdapp64"}, +{"n":"MDM恋爱咖啡馆","v":"mdapp73"}, +{"n":"MDUS系列","v":"mdapp77"}, +{"n":"MXJ系列","v":"mdapp78"}, +{"n":"MSG系列","v":"mdapp85"}, +{"n":"MAN系列","v":"mdapp88"}, +{"n":"MDAG系列","v":"mdapp99"}, +{"n":"MDHT系列","v":"mdapp100"} +] +} +], +"mdapp2":[ +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"杏吧专区","v":"mdapp9"}, +{"n":"辣椒原创","v":"mdapp79"}, +{"n":"兔子先生","v":"mdapp10"}, +{"n":"O-STAR","v":"mdapp80"}, +{"n":"果冻传媒","v":"mdapp11"}, +{"n":"91制片厂","v":"mdapp51"}, +{"n":"皇家华人","v":"mdapp12"}, +{"n":"天美传媒","v":"mdapp45"}, +{"n":"吴梦梦专区","v":"mdapp13"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"PsychoPorn色控","v":"mdapp14"}, +{"n":"叮叮映画","v":"mdapp70"}, +{"n":"涩会","v":"mdapp71"}, +{"n":"红斯灯影像","v":"mdapp102"}, +{"n":"麻麻传媒","v":"mdapp103"}, +{"n":"蝌蚪传媒","v":"mdapp104"}, +{"n":"Pussy Hunter","v":"mdapp105"}, +{"n":"瑷荳传媒","v":"mdapp106"}, +{"n":"桃花源","v":"mdapp107"}, +{"n":"蜜桃影像传媒","v":"mdapp15"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"豚豚创媒","v":"mdapp74"}, +{"n":"宫美娱乐","v":"mdapp84"}, +{"n":"肉肉传媒","v":"mdapp90"}, +{"n":"爱妃传媒","v":"mdapp75"}, +{"n":"渡边传媒","v":"mdapp94"}, +{"n":"葵心娱乐","v":"mdapp96"}, +{"n":"YOKUBOU","v":"mdapp97"}, +{"n":"大番号番啪啪","v":"mdapp16"}, +{"n":"REAL野性派","v":"mdapp29"} +] +} +], +"mdapp3":[ +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"麻豆不回家","v":"mdapp41"}, +{"n":"狼人插","v":"mdapp53"}, +{"n":"女优擂台摔角狂热","v":"mdapp54"}, +{"n":"恋爱巴士","v":"mdapp60"}, +{"n":"男女优生死斗","v":"mdapp65"}, +{"n":"情人劫密室逃脱","v":"mdapp66"}, +{"n":"换妻","v":"mdapp67"}, +{"n":"你好同学","v":"mdapp68"}, +{"n":"鲍鱼的胜利","v":"mdapp83"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"性爱自修室","v":"mdapp87"}, +{"n":"春游记","v":"mdapp91"}, +{"n":"心动的性号","v":"mdapp92"}, +{"n":"情趣大富翁","v":"mdapp93"}, +{"n":"男优练习生","v":"mdapp101"}, +{"n":"大鸟十八","v":"mdapp17"}, +{"n":"疯拍系列","v":"mdapp18"}, +{"n":"创造淫2021","v":"mdapp55"}, +{"n":"禁欲小屋","v":"mdapp76"}, +{"n":"KISS糖果屋","v":"mdapp19"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"小鹏奇啪行","v":"mdapp20"}, +{"n":"男优出征趣","v":"mdapp21"}, +{"n":"麻豆达人秀","v":"mdapp69"}, +{"n":"30天解密麻豆","v":"mdapp22"}, +{"n":"突袭女优计划","v":"mdapp23"}, +{"n":"女神羞羞研究院","v":"mdapp24"}, +{"n":"淫欲游戏王","v":"mdapp40"}, +{"n":"女优淫娃培训营","v":"mdapp42"}, +{"n":"情趣K歌房","v":"mdapp31"}, +{"n":"小哥哥艾理","v":"mdapp27"}, +{"n":"寻宝吧女神","v":"mdapp98"} +] +} +], +"mdapp72":[ +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"糖心","v":"mdapp72"}, +{"n":"CCAV成人头条","v":"mdapp89"}, +{"n":"精东影业","v":"mdapp34"}, +{"n":"星空无限传媒","v":"mdapp47"}, +{"n":"乐播传媒","v":"mdapp48"}, +{"n":"开心鬼传媒","v":"mdapp56"}, +{"n":"葫芦影业","v":"mdapp81"}, +{"n":"深夜保健室","v":"mdapp35"}, +{"n":"大象传媒","v":"mdapp58"}, +{"n":"天马传媒","v":"mdapp82"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"SWAG","v":"mdapp36"}, +{"n":"HongKongDoll","v":"mdapp59"}, +{"n":"国产短视频","v":"mdapp38"}, +{"n":"北京天使","v":"mdapp39"}, +{"n":"MINI传媒","v":"mdapp61"} +] +} +] +} +} \ No newline at end of file diff --git a/XBiubiu/黄仓库.json b/XBiubiu/黄仓库.json new file mode 100644 index 0000000..d0d5751 --- /dev/null +++ b/XBiubiu/黄仓库.json @@ -0,0 +1,58 @@ +{"name": "黄仓库", +"url": "http://759ck.cc", + "tihuan": "cnzz.com", +"User": "空", + "shouye": "1", +"fenlei": "日韩AV$/vodtype/1-#国产系列$/vodtype/2-#欧美$/vodtype/3-#成人动漫$/vodtype/4-#无码中文$/vodtype/8-#有码中文$/vodtype/9-#日本无码$/vodtype/10-#日本有码$/vodtype/7-#国产视频$/vodtype/15-#欧美高清$/vodtype/21-#动漫剧情$/vodtype/22-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"zhuangtaiqian": "时间:", +"zhuangtaihou": "", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/黄颜仓库.json b/XBiubiu/黄颜仓库.json new file mode 100644 index 0000000..0e3c952 --- /dev/null +++ b/XBiubiu/黄颜仓库.json @@ -0,0 +1,57 @@ +{"name": "黄仓库", +"url": "http://2584ck.com/", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "无码中文$/vodtype/8-#有码中文$/vodtype/9-#日本无码$/vodtype/10-#日本有码$/vodtype/7-#国产视频$/vodtype/15-#动漫$/vodtype/22-#欧美高清$/vodtype/21-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "
    ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-vodlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "时间:", +"zhuangtaihou": "
    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} \ No newline at end of file diff --git a/XBiubiu/黑洞影院.json b/XBiubiu/黑洞影院.json new file mode 100644 index 0000000..d619903 --- /dev/null +++ b/XBiubiu/黑洞影院.json @@ -0,0 +1,70 @@ +{ + "author":"20220606", + "name": "黑洞影院", + "url": "https://nulltm.com/", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"hl-vod-list", //不需要二次截取就填空 + "jiequhou": "", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"hl-item-thumb", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 +"fubiaotiqian": "class=\"hl-lc-1 remarks\">", +"fubiaotihou": "
    ", + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"hl-plays-list", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 + diff --git a/XBiubiu/黑狐影院.json b/XBiubiu/黑狐影院.json new file mode 100644 index 0000000..9b5b1ce --- /dev/null +++ b/XBiubiu/黑狐影院.json @@ -0,0 +1,60 @@ +{ + "author": "20220710", + "name": "黑狐影院", + "url": "http://www.heihu.tv", + "tihuan": "cnzz.com", + "shouye": "1", + "fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#伦理$/list/40_", + "houzhui": ".html?order=time", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "
    ", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, \ No newline at end of file diff --git a/XPath/007.json b/XPath/007.json new file mode 100644 index 0000000..70f018f --- /dev/null +++ b/XPath/007.json @@ -0,0 +1,545 @@ +{ + "author":"随风起舞", + "ua": "Mozilla/5.0 (Linux; Android 10; HarmonyOS; HLK-AL00; HMSCore 6.6.0.352) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.105 HuaweiBrowser/12.1.2.311 Mobile Safari/537.36", + "homeUrl": "https://www.007ts.me/", + "dcPlayUrl": "true", + "cateManual": {"电影": "1","电视剧": "2","综艺": "4","动漫": "3","少儿": "19"}, + "homeVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodNameR": "", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.007ts.me/show/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.007ts.me/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + "dtNameR": "", + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[contains(@class,'data')][4]/text()", + "dtCateR": "\\S+:(\\S+)", + "dtYear": "//p[contains(@class,'data')][3]/text()", + "dtYearR": "\\S+:(\\S+)", + "dtArea": "//p[contains(@class,'data')][1]/text()", + "dtAreaR": "\\S+:(\\S+)", + "dtMark": "//p[contains(@class,'data')][7]/text()", + "dtMarkR": "\\S+:(\\S+)", + "dtDirector": "//p[contains(@class,'data')][6]/text()", + "dtDirectorR": "\\S+:(\\S+)", + "dtActor": "//p[contains(@class,'data')][5]/text()", + "dtActorR": "\\S+:(\\S+)", + "dtDesc": "//span[@class='detail-content']/text()", + "dtDescR": "", + "dtFromNode": "//ul[@class='nav nav-tabs dpplay pull-right']/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.007ts.me/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.007ts.me/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "战争","v": "战争"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"}, + {"n": "抢战","v": "抢战"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "微电影","v": "微电影"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "大陆"}, + {"n": "中国香港","v": "香港"}, + {"n": "中国台湾","v": "台湾"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "马来西亚","v": "马来西亚"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "2":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "大陆"}, + {"n": "中国香港","v": "香港"}, + {"n": "中国台湾","v": "台湾"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "马来西亚","v": "马来西亚"}, + {"n": "印度","v": "印度"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "3":[ + + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "脱口秀","v": "脱口秀"}, + {"n": "真人秀","v": "真人秀"}, + {"n": "选秀","v": "选秀"}, + {"n": "八卦","v": "八卦"}, + {"n": "访谈","v": "访谈"}, + {"n": "情感","v": "情感"}, + {"n": "生活","v": "生活"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "音乐","v": "音乐"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大佬","v": "大佬"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "马来西亚","v": "马来西亚"}, + {"n": "印度","v": "印度"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "加拿大","v": "加拿大"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "4":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国","v": "中国"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "15":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "16":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "德国","v": "德国"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + + } +} \ No newline at end of file diff --git a/XPath/1010dy.json b/XPath/1010dy.json new file mode 100644 index 0000000..9caf319 --- /dev/null +++ b/XPath/1010dy.json @@ -0,0 +1,66 @@ +{ + "Author": "zhao xiaoyun", + "ua": "", + "homeUrl": "https://www.1010dy.cc", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu type-slide')]/li/a[contains(@href, 'type') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\d+)/", + "cateManual": {"电影":"1", "电视剧":"2", "综艺":"4", "动漫":"3"}, + "homeVodNode": "//div[contains(@class, 'padding-0')]//ul[contains(@class,'stui-vodlist')]/li//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+)/", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.1010dy.cc/show/{cateId}/area/{area}/class/{class}/lang/{lang}/year/{year}/by/{by}/page/{catePg}/", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]//li//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+)/", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.1010dy.cc/detail/{vid}/", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='stui-content__thumb']/a[contains(@class,'stui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a[contains(@class,'stui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtActor": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtMark": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//p[@class='col-pd']/text()", + "dtDescR": "", + "dtFromNode": "//h3[@class='title']", + "dtFromName": "[substring-before(text(),'(')]", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class, 'stui-content__playlist clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.1010dy.cc/play/{playUrl}/", + "playUa": "", + "searchUrl": "https://www.1010dy.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": {"1":[{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"犯罪","v":"犯罪"},{"n":"灾难","v":"灾难"},{"n":"奇幻","v":"奇幻"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"冒险","v":"冒险"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2008","v":"2008"},{"n":"2000","v":"2000"},{"n":"1997","v":"1997"},{"n":"1980","v":"1980"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"2":[{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"国产","v":"国产"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"},{"n":"海外","v":"海外"},{"n":"古装","v":"古装"},{"n":"战争","v":"战争"},{"n":"偶像","v":"偶像"},{"n":"犯罪","v":"犯罪"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"网剧","v":"网剧"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"韩国","v":"韩国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2008","v":"2008"},{"n":"2000","v":"2000"},{"n":"1997","v":"1997"},{"n":"1980","v":"1980"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"普通话","v":"普通话"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南话","v":"闽南话"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"4":[{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"真人秀","v":"真人秀"},{"n":"脱口秀","v":"脱口秀"},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"舞蹈","v":"舞蹈"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"韩国","v":"韩国"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2008","v":"2008"},{"n":"2000","v":"2000"},{"n":"1997","v":"1997"},{"n":"1980","v":"1980"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"普通话","v":"普通话"},{"n":"英语","v":"英语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其他","v":"其他"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"3":[{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"海外","v":"海外"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2008","v":"2008"},{"n":"2000","v":"2000"},{"n":"1997","v":"1997"},{"n":"1980","v":"1980"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"普通话","v":"普通话"},{"n":"英语","v":"英语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其他","v":"其他"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}]}} +} diff --git a/XPath/1090ys2.json b/XPath/1090ys2.json new file mode 100644 index 0000000..80d1027 --- /dev/null +++ b/XPath/1090ys2.json @@ -0,0 +1,58 @@ +{ + "author": "zhang baobao", + "ua": "", + "homeUrl": "http://1090ys2.com/", + "dcVipFlag": "true", + "pCfgJs": "http://1090ys2.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "26", + "综艺": "22" + }, + "homeVodNode": "//li[@class='col-md-5 col-sm-4 col-xs-3 ']/div[@class='stui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "cateUrl": "http://1090ys2.com/whole/{cateId}/page/{catePg}.html", + "cateVodNode": "//li[@class='col-md-5 col-sm-4 col-xs-3']/div[@class='stui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "dtUrl": "http://1090ys2.com/show/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/parent::text()", + "dtYear": "", + "dtDirector": "//span[contains(text(), '导演')]/parent::text()", + "dtActor": "//span[contains(text(), '主演')]/parent::text()", + "dtDesc": "//p[@class='desc detail ']/span[@class='detail-content']/text()", + "dtFromNode": "//div[@class='stui-pannel__head bottom-line active clearfix']/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='stui-pannel_bd col-pd clearfix']/ul[@class='stui-content__playlist clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://1090ys2.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "http://1090ys2.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/135kan.json b/XPath/135kan.json new file mode 100644 index 0000000..e528b90 --- /dev/null +++ b/XPath/135kan.json @@ -0,0 +1,80 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.135kan.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.135kan.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "dianying", + "连续剧": "dianshiju", + "国产剧": "guochanju", + "港剧": "xianggangju", + "台湾剧": "taiwanju", + "韩剧": "hanguoju", + "日剧": "ribenju", + "欧美剧": "oumeiju", + "海外剧": "haiwaiju", + "动作片": "dongzuopian", + "喜剧片": "xijupian", + "爱情片": "aiqingpian", + "科幻片": "kehuanpian", + "恐怖片": "kongbupian", + "剧情片": "juqingpian", + "战争片": "zhanzhengpian", + "动画片": "donghuapian" + }, + "homeVodNode": "//div[@class='myui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/\\w+/(\\w+)\\S*/", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.135kan.com/type/{cateId}-{catePg}/", + "cateVodNode": "//div[@class='myui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/(\\w+)/", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.135kan.com/vod/{vid}/", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(),'分类')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(),'年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(),'地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(),'导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(),'主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(),'简介')]/parent::/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'myui-panel__head bottom-line')]/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/\\w+/(\\w+\\S*)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.135kan.com/play/{playUrl}/", + "playUa": "", + "searchUrl": "https://www.135kan.com/search/--/?wd={wd}&submit=", + "scVodNode": "//ul[@id='searchList']//div[@class='thumb']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vod/(\\w+)/", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/135kankan.json b/XPath/135kankan.json new file mode 100644 index 0000000..e528b90 --- /dev/null +++ b/XPath/135kankan.json @@ -0,0 +1,80 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.135kan.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.135kan.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "dianying", + "连续剧": "dianshiju", + "国产剧": "guochanju", + "港剧": "xianggangju", + "台湾剧": "taiwanju", + "韩剧": "hanguoju", + "日剧": "ribenju", + "欧美剧": "oumeiju", + "海外剧": "haiwaiju", + "动作片": "dongzuopian", + "喜剧片": "xijupian", + "爱情片": "aiqingpian", + "科幻片": "kehuanpian", + "恐怖片": "kongbupian", + "剧情片": "juqingpian", + "战争片": "zhanzhengpian", + "动画片": "donghuapian" + }, + "homeVodNode": "//div[@class='myui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/\\w+/(\\w+)\\S*/", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.135kan.com/type/{cateId}-{catePg}/", + "cateVodNode": "//div[@class='myui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/(\\w+)/", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.135kan.com/vod/{vid}/", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(),'分类')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(),'年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(),'地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(),'导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(),'主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(),'简介')]/parent::/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'myui-panel__head bottom-line')]/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/\\w+/(\\w+\\S*)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.135kan.com/play/{playUrl}/", + "playUa": "", + "searchUrl": "https://www.135kan.com/search/--/?wd={wd}&submit=", + "scVodNode": "//ul[@id='searchList']//div[@class='thumb']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vod/(\\w+)/", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/17skr.json b/XPath/17skr.json new file mode 100644 index 0000000..5bd2836 --- /dev/null +++ b/XPath/17skr.json @@ -0,0 +1,200 @@ +{ + "author":"路漫漫动漫", + "ua": "", + "homeUrl": "https://www.17skr.com/", + "dcVipFlag": "true", + "pCfgJs": "https://www.17skr.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + //"cateNode": "//ul[contains(@class, 'navbar-nav')]/li/a[contains(@href, 'type')]", + //"cateName": "/@title", + //"cateId": "/@href", + //"cateIdR": "/type/(\\S+).html", + "cateManual": { + "日本动漫": "6", + "国产动漫": "7", + "欧美动漫": "8", + "日本动漫电影": "3", + "国产动漫电影": "4", + "欧美动漫电影": "5" + }, + + "homeVodNode": "//div[contains(@class, 'video-img-box')]", + "homeVodName": "/div[contains(@class, 'detail')]/h6/a/text()", + "homeVodId": "/div[contains(@class, 'img-box')]/a/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/div[contains(@class, 'img-box')]/a/img/@data-src", + "homeVodMark": "/div[contains(@class, 'img-box')]/a/div[contains(@class,'absolute-bottom-right')]/span/text()", + + //"cateUrl": "https://www.17skr.com/type/{cateId}_{catePg}.html", + "cateUrl": "https://www.17skr.com/vod/show/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//div[contains(@class, 'video-img-box')]", + "cateVodName": "/div[contains(@class, 'detail')]/h6/a/text()", + "cateVodId": "/div[contains(@class, 'img-box')]/a/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/div[contains(@class, 'img-box')]/a/img/@data-src", + "cateVodMark": "/div[contains(@class, 'img-box')]/a/div[contains(@class,'absolute-bottom-right')]/span/text()", + + "dtUrl": "https://www.17skr.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='module-item-pic']/a/img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='module-item-pic']/a/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='tag-link'][1]/a/span/text()", + "dtCateR": "", + "dtArea": "//div[@class='tag-link'][2]/a/span/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::div/a/span/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::div/a/span/text()", + "dtActorR": "", + "dtYear": "//span[contains(text(), '上映')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//span[contains(text(), '集数')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[contains(text(), '剧情')]/following-sibling::div/span/text()", + "dtDescR": "", + + "dtFromNode": "//div[contains(@class, 'module-tab-content')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/span/text()", + "playUrl": "https://www.17skr.com/play/{playUrl}.html", + + "searchUrl": "https://www.17skr.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=30", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} + +// Filters ======================================================= + "filter": { + "6": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "更早","v": "2012-1980"} + ] + } + ], + "7": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "更早","v": "2012-1980"} + ] + } + ], + "8": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "更早","v": "2012-1980"} + ] + } + ], + "3": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "更早","v": "2012-1980"} + ] + } + ], + "4": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "更早","v": "2012-1980"} + ] + } + ], + "5": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "更早","v": "2012-1980"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/2345.json b/XPath/2345.json new file mode 100644 index 0000000..700aaf0 --- /dev/null +++ b/XPath/2345.json @@ -0,0 +1,796 @@ +{ + "filter": { + "dianshiju": [ + { + "name": "类型", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "yanqing", + "n": "言情" + }, + { + "v": "ouxiang", + "n": "偶像" + }, + { + "v": "dushi", + "n": "都市" + }, + { + "v": "zhanzheng", + "n": "战争" + }, + { + "v": "xuanyi", + "n": "悬疑" + }, + { + "v": "lunli", + "n": "伦理" + }, + { + "v": "jingsong", + "n": "惊悚" + }, + { + "v": "wangluoju", + "n": "网络剧" + }, + { + "v": "jingfei", + "n": "警匪" + }, + { + "v": "guzhuang", + "n": "古装" + }, + { + "v": "wuxia", + "n": "武侠" + }, + { + "v": "shenhua", + "n": "神话" + }, + { + "v": "lishi", + "n": "历史" + }, + { + "v": "dongzuo", + "n": "动作" + }, + { + "v": "diezhan", + "n": "谍战" + }, + { + "v": "xiju", + "n": "喜剧" + }, + { + "v": "kangri", + "n": "抗日" + }, + { + "v": "jiating", + "n": "家庭" + }, + { + "v": "juqing", + "n": "剧情" + }, + { + "v": "lizhi", + "n": "励志" + }, + { + "v": "nongcun", + "n": "农村" + }, + { + "v": "kehuan", + "n": "科幻" + }, + { + "v": "junlv", + "n": "军旅" + }, + { + "v": "qihuan", + "n": "奇幻" + }, + { + "v": "qita", + "n": "其它" + } + ], + "key": "type" + }, + { + "name": "地区", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "neidi", + "n": "内地" + }, + { + "v": "taiwan", + "n": "台湾" + }, + { + "v": "xianggang", + "n": "香港" + }, + { + "v": "hanguo", + "n": "韩国" + }, + { + "v": "meiguo", + "n": "美国" + }, + { + "v": "taiguo", + "n": "泰国" + }, + { + "v": "riben", + "n": "日本" + }, + { + "v": "yingguo", + "n": "英国" + }, + { + "v": "xinjiapo", + "n": "新加坡" + }, + { + "v": "qita", + "n": "其它" + } + ], + "key": "area" + }, + { + "name": "年份", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "20102000", + "n": "2010-2000" + }, + { + "v": "19991990", + "n": "90年代" + }, + { + "v": "19891800", + "n": "更早" + } + ], + "key": "year" + } + ], + "zongyi": [ + { + "name": "类型", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "lxxuanxiu/", + "n": "选秀" + }, + { + "v": "lxqinggan/", + "n": "情感" + }, + { + "v": "lxfangtan/", + "n": "访谈" + }, + { + "v": "lxgaoxiao/", + "n": "搞笑" + }, + { + "v": "lxyouxi/", + "n": "游戏" + }, + { + "v": "lxzhichang/", + "n": "职场" + }, + { + "v": "lxyule/", + "n": "娱乐" + }, + { + "v": "lxzhenrenxiu/", + "n": "真人秀" + }, + { + "v": "lxshenghuo/", + "n": "生活" + }, + { + "v": "lxtiyu/", + "n": "体育" + }, + { + "v": "lxshenghui/", + "n": "盛会" + }, + { + "v": "lxcaijing/", + "n": "财经" + }, + { + "v": "lxqinzi/", + "n": "亲子" + }, + { + "v": "lxjishi/", + "n": "纪实" + }, + { + "v": "lxtuokouxiu/", + "n": "脱口秀" + }, + { + "v": "lxwangluojiemu/", + "n": "网络节目" + }, + { + "v": "lxmeishi/", + "n": "美食" + } + ], + "key": "type" + }, + { + "name": "地区", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "dqdalu/", + "n": "大陆" + }, + { + "v": "dqgangtai/", + "n": "港台" + }, + { + "v": "dqrihan/", + "n": "日韩" + }, + { + "v": "dqoumei/", + "n": "欧美" + }, + { + "v": "dqqita/", + "n": "其他" + } + ], + "key": "area" + } + ], + "dongman": [ + { + "name": "类型", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "lxrexue/", + "n": "热血" + }, + { + "v": "lxaiqing/", + "n": "爱情" + }, + { + "v": "lxgaoxiao/", + "n": "搞笑" + }, + { + "v": "lxmeinv/", + "n": "美女" + }, + { + "v": "lxshaoer/", + "n": "少儿" + }, + { + "v": "lxqinzi/", + "n": "亲子" + }, + { + "v": "lxmofa/", + "n": "魔法" + }, + { + "v": "lxyundong/", + "n": "运动" + }, + { + "v": "lxjizhan/", + "n": "机战" + }, + { + "v": "lxkehuan/", + "n": "科幻" + }, + { + "v": "lxxiaoyuan/", + "n": "校园" + }, + { + "v": "lxdongwu/", + "n": "动物" + }, + { + "v": "lxmaoxian/", + "n": "冒险" + }, + { + "v": "lxshenhua/", + "n": "神话" + }, + { + "v": "lxtuili/", + "n": "推理" + }, + { + "v": "lxjuqing/", + "n": "剧情" + }, + { + "v": "lxlishi/", + "n": "历史" + }, + { + "v": "lxzhanzheng/", + "n": "战争" + }, + { + "v": "lxjingdian/", + "n": "经典" + }, + { + "v": "lxnanxingxiang/", + "n": "男性向" + }, + { + "v": "lxnvxingxiang/", + "n": "女性向" + } + ], + "key": "type" + }, + { + "name": "地区", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "dqdalu/", + "n": "大陆" + }, + { + "v": "dqriben/", + "n": "日本" + }, + { + "v": "dqmeiguo/", + "n": "美国" + }, + { + "v": "dqhanguo/", + "n": "韩国" + }, + { + "v": "dqqita/", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "年份", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "nd2022/", + "n": "2022" + }, + { + "v": "nd2021/", + "n": "2021" + }, + { + "v": "nd2020/", + "n": "2020" + }, + { + "v": "nd2019/", + "n": "2019" + }, + { + "v": "nd2018/", + "n": "2018" + }, + { + "v": "nd2017/", + "n": "2017" + }, + { + "v": "nd2016/", + "n": "2016" + }, + { + "v": "nd2015/", + "n": "2015" + }, + { + "v": "nd2014/", + "n": "2014" + }, + { + "v": "nd2013/", + "n": "2013" + }, + { + "v": "nd2012/", + "n": "2012" + }, + { + "v": "nd2011/", + "n": "2011" + }, + { + "v": "nd20102000/", + "n": "2010-2000" + }, + { + "v": "nd19991800/", + "n": "更早" + } + ], + "key": "year" + } + ], + "dianying": [ + { + "name": "类型", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "aiqing", + "n": "爱情" + }, + { + "v": "dongzuo", + "n": "动作" + }, + { + "v": "xiju", + "n": "喜剧" + }, + { + "v": "zhanzheng", + "n": "战争" + }, + { + "v": "kehuan", + "n": "科幻" + }, + { + "v": "juqing", + "n": "剧情" + }, + { + "v": "wuxia", + "n": "武侠" + }, + { + "v": "maoxian", + "n": "冒险" + }, + { + "v": "qiangzhan", + "n": "枪战" + }, + { + "v": "kongbu", + "n": "恐怖" + }, + { + "v": "xuanyi", + "n": "悬疑" + }, + { + "v": "fanzui", + "n": "犯罪" + }, + { + "v": "qihuan", + "n": "奇幻" + }, + { + "v": "donghua", + "n": "动画" + }, + { + "v": "jingsong", + "n": "惊悚" + }, + { + "v": "jingdian", + "n": "经典" + }, + { + "v": "qingchun", + "n": "青春" + }, + { + "v": "wenyi", + "n": "文艺" + }, + { + "v": "weidianying", + "n": "微电影" + }, + { + "v": "guzhuang", + "n": "古装" + }, + { + "v": "lishi", + "n": "历史" + }, + { + "v": "yundong", + "n": "运动" + }, + { + "v": "nongcun", + "n": "农村" + }, + { + "v": "ertong", + "n": "儿童" + }, + { + "v": "wangluodianying", + "n": "网络电影" + }, + { + "v": "qita", + "n": "其它" + } + ], + "key": "type" + }, + { + "name": "地区", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "neidi", + "n": "内地" + }, + { + "v": "meiguo", + "n": "美国" + }, + { + "v": "xianggang", + "n": "香港" + }, + { + "v": "taiwan", + "n": "台湾" + }, + { + "v": "riben", + "n": "日本" + }, + { + "v": "taiguo", + "n": "泰国" + }, + { + "v": "yindu", + "n": "印度" + }, + { + "v": "dongnanyadiqu", + "n": "东南亚地区" + }, + { + "v": "oumeidiqu", + "n": "欧美地区" + }, + { + "v": "qita", + "n": "其它" + } + ], + "key": "area" + }, + { + "name": "年份", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "20102000", + "n": "2010-2000" + }, + { + "v": "19691800", + "n": "更早" + } + ], + "key": "year" + } + ] + }, + "urls": { + "dianshiju": "//tv.2345.com/", + "zongyi": "//kan.2345.com/zongyi/", + "dongman": "//dongman.2345.com/", + "search": "//tv.2345.com/moviecore/server/search/?q={wd}&ctl=think&querytype=suggest", + "recommend": "//kan.2345.com/m/", + "dianying": "//dianying.2345.com/" + }, + "classes": [ + { + "type_name": "电影", + "type_id": "dianying" + }, + { + "type_name": "电视剧", + "type_id": "dianshiju" + }, + { + "type_name": "综艺", + "type_id": "zongyi" + }, + { + "type_name": "动漫", + "type_id": "dongman" + } + ] +} \ No newline at end of file diff --git a/XPath/2geBT.json b/XPath/2geBT.json new file mode 100644 index 0000000..8c07210 --- /dev/null +++ b/XPath/2geBT.json @@ -0,0 +1,78 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.bttwoo.com", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "最新电影": "new-movie", + "热门电影": "hot", + "本月热门": "hot-month", + "高分电影": "gf", + "国产剧": "zgjun", + "美剧": "meiju", + "日韩剧": "jpsrtv", + "喜剧": "movie_bt_tags/xiju", + "爱情": "movie_bt_tags/aiqing", + "冒险": "movie_bt_tags/adt", + "动作": "movie_bt_tags/at", + "奇幻": "movie_bt_tags/qihuan", + "悬疑": "movie_bt_tags/xuanni", + "惊悚": "movie_bt_tags/jingsong", + "武侠": "movie_bt_tags/wuxia", + "国漫": "movie_bt/movie_bt_cat/dl/movie_bt_tags/donghua", + "日漫": "movie_bt/movie_bt_cat/rb/movie_bt_tags/donghua", + "美漫": "movie_bt/movie_bt_cat/mg/movie_bt_tags/donghua" + }, + "homeVodNode": "//div[contains(@class,'bt_img')]/ul/li", + "homeVodName": "/h3/a/text()", + "homeVodId": "/a/@href", + "homeVodIdR": "https://www.bttwoo.com/(\\S+).html", + "homeVodImg": "/a/img/@data-original", + "homeVodImgR": "", + "homeVodMark": "", + "cateUrl": "https://www.bttwoo.com/{cateId}/page/{catePg}", + "cateVodNode": "//div[contains(@class,'bt_img')]/ul/li", + "cateVodName": "/h3/a/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "https://www.bttwoo.com/(\\S+).html", + "cateVodImg": "/a/img/@data-original", + "cateVodImgR": "", + "cateVodMark": "", + "dtUrl": "https://www.bttwoo.com/{vid}.html", + "dtNode": "//body", + "dtName": "//h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='dyimg fl']/img/@src", + "dtImgR": "", + "dtCate": "//li[contains(text(), '类型')]/child::text()", + "dtCateR": "", + "dtYear": "//li[contains(text(), '年份')]/child::text()", + "dtYearR": "", + "dtArea": "//li[contains(text(), '地区')]/child::text()", + "dtAreaR": "", + "dtDirector": "//li[contains(text(), '导演')]/child::text()", + "dtDirectorR": "", + "dtActor": "//li[contains(text(), '主演')]/child::text()", + "dtActorR": "", + "dtDesc": "concat(//div[@class='yp_context']/text(),//div[@class='yp_context']/p/text())", + "dtDescR": "", + "dtFromNode": "//div[@class='mi_paly_box']/div/div[@class='ypxingq_t']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='paly_list_btn']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "https://www.bttwoo.com/v_play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.bttwoo.com/v_play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.bttwoo.com/xssearch?q={wd}", + "scVodNode": "//div[contains(@class,'search_list')]/ul/li", + "scVodName": "/h3/a/text()", + "scVodId": "/@href", + "scVodIdR": "https://www.bttwoo.com/(\\S+).html", + "scVodImg": "//img/@data-original", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/348dianying.json b/XPath/348dianying.json new file mode 100644 index 0000000..77bcdff --- /dev/null +++ b/XPath/348dianying.json @@ -0,0 +1,313 @@ +{ + "ua": "", + "homeUrl": "https://348z.com", + "dcVipFlag": "true", + "pCfgJs": "https://348z.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'ecnav-nav')]/div[contains(@class, 'nav-channel')]/a[contains(@href, 'vodtype')", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4", + "4K专区": "37" + }, + "homeVodNode": "//div[contains(@class, 'vodlist hotgrow') and @id='hot1']//a[@class='aplus-exp ecimgbor']", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/div/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[@class='pack-prb hidden']/text()", + "cateUrl": "https://348z.com/vodshow/area/{area}/id/{cateId}/page/{catePg}/year/{year}.html", + "cateVodNode": "//div[contains(@class, 'vodlist hotgrow')]//a[@class='aplus-exp ecimgbor']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/div/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[@class='pack-prb hidden']/text()", + "dtUrl": "https://348z.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='s-top-info-title cf wow fadeInDownBig']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='s-cover box']/a/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//span[contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//span[contains(@id, 'cText')]/text()", + "dtDescR": "", + "dtFromNode": "//a[contains(@class, 'channelname swiper-slide')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@id, 'playsx')]//ul[contains(@class,'content_playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://348z.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://348z.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "37": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "4K电影","v": "38"}, + {"n": "4K电视剧","v": "39"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ], + "1": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": "1"}, + {"n": "动作片","v": "6"}, + {"n": "喜剧片","v": "7"}, + {"n": "爱情片","v": "8"}, + {"n": "科幻片","v": "9"}, + {"n": "恐怖片","v": "10"}, + {"n": "剧情片","v": "11"}, + {"n": "战争片","v": "12"}, + {"n": "纪录片","v": "20"}, + {"n": "灾难片","v": "21"}, + {"n": "魔幻片","v": "22"}, + {"n": "青春片","v": "23"}, + {"n": "犯罪片","v": "24"}, + {"n": "悬疑片","v": "25"}, + {"n": "微电影","v": "26"}, + {"n": "音乐片","v": "27"}, + {"n": "B站电影","v": "29"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产剧","v": "13"}, + {"n": "港台剧","v": "14"}, + {"n": "日韩剧","v": "15"}, + {"n": "欧美剧","v": "16"}, + {"n": "B站剧集","v": "49"}, + {"n": "其他剧","v": "50"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/348z.json b/XPath/348z.json new file mode 100644 index 0000000..01a84bc --- /dev/null +++ b/XPath/348z.json @@ -0,0 +1,313 @@ +{ + "ua": "", + "homeUrl": "https://348z.com", + "dcVipFlag": "true", + "pCfgJs": "https://348z.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'ecnav-nav')]/div[contains(@class, 'nav-channel')]/a[contains(@href, 'vodtype')", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4", + "4K专区": "37" + }, + "homeVodNode": "//div[contains(@class, 'vodlist hotgrow') and @id='hot1']//a[@class='aplus-exp ecimgbor']", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/div/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[@class='pack-prb hidden']/text()", + "cateUrl": "https://348z.com/vodshow/area/{area}/id/{cateId}/page/{catePg}/year/{year}.html", + "cateVodNode": "//div[contains(@class, 'vodlist hotgrow')]//a[@class='aplus-exp ecimgbor']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/div/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[@class='pack-prb hidden']/text()", + "dtUrl": "https://348z.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='s-top-info-title cf wow fadeInDownBig']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='s-cover box']/a/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//span[contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//span[contains(@id, 'cText')]/text()", + "dtDescR": "", + "dtFromNode": "//a[contains(@class, 'channelname swiper-slide')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@id, 'playsx')]//ul[contains(@class,'content_playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://348z.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://348z.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "37": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "4K电影","v": "38"}, + {"n": "4K电视剧","v": "39"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ], + "1": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": "1"}, + {"n": "动作片","v": "6"}, + {"n": "喜剧片","v": "7"}, + {"n": "爱情片","v": "8"}, + {"n": "科幻片","v": "9"}, + {"n": "恐怖片","v": "10"}, + {"n": "剧情片","v": "11"}, + {"n": "战争片","v": "12"}, + {"n": "纪录片","v": "20"}, + {"n": "灾难片","v": "21"}, + {"n": "魔幻片","v": "22"}, + {"n": "青春片","v": "23"}, + {"n": "犯罪片","v": "24"}, + {"n": "悬疑片","v": "25"}, + {"n": "微电影","v": "26"}, + {"n": "音乐片","v": "27"}, + {"n": "B站电影","v": "29"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产剧","v": "13"}, + {"n": "港台剧","v": "14"}, + {"n": "日韩剧","v": "15"}, + {"n": "欧美剧","v": "16"}, + {"n": "B站剧集","v": "49"}, + {"n": "其他剧","v": "50"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + } + ] + } +} diff --git a/XPath/348z_XPathMacFilter.json b/XPath/348z_XPathMacFilter.json new file mode 100644 index 0000000..d48f5f9 --- /dev/null +++ b/XPath/348z_XPathMacFilter.json @@ -0,0 +1,763 @@ +{ +"ua": "", +"homeUrl": "https://348z.com", +"dcVipFlag": "true", +"pCfgJs": "https://348z.com/static/js/playerconfig.js", +"pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", +"dcShow2Vip": {}, +"dcPlayUrl": "true", +"cateNode": "//div[contains(@class,'ecnav-nav')]/div[contains(@class, 'nav-channel')]/a[contains(@href, 'vodtype')", +"cateName": "/text()", +"cateId": "/@href", +"cateIdR": "/vodtype/(\\d+).html", +"cateManual": { +"电影": "1", +"连续剧": "2", +"综艺": "3", +"动漫": "4", +"4K专区": "37" +}, +"homeVodNode": "//div[contains(@class, 'vodlist hotgrow') and @id='hot1']//a[@class='aplus-exp ecimgbor']", +"homeVodName": "/@title", +"homeVodId": "/@href", +"homeVodIdR": "/voddetail/(\\w+).html", +"homeVodImg": "/div/@data-original", +"homeVodImgR": "\\S+(http\\S+)", +"homeVodMark": "/span[@class='pack-prb hidden']/text()", +"cateUrl": "https://348z.com/vodshow/area/{area}/id/{cateId}/page/{catePg}/year/{year}.html", +"cateVodNode": "//div[contains(@class, 'vodlist hotgrow')]//a[@class='aplus-exp ecimgbor']", +"cateVodName": "/@title", +"cateVodId": "/@href", +"cateVodIdR": "/voddetail/(\\w+).html", +"cateVodImg": "/div/@data-original", +"cateVodImgR": "\\S+(http\\S+)", +"cateVodMark": "/span[@class='pack-prb hidden']/text()", +"dtUrl": "https://348z.com/voddetail/{vid}.html", +"dtNode": "//body", +"dtName": "//div[@class='s-top-info-title cf wow fadeInDownBig']/h1/text()", +"dtNameR": "", +"dtImg": "//div[@class='s-cover box']/a/img/@src", +"dtImgR": "\\S+(http\\S+)", +"dtCate": "//span[contains(text(), '分类')]/following-sibling::*/text()", +"dtCateR": "", +"dtArea": "//span[contains(text(), '地区')]/following-sibling::*/text()", +"dtAreaR": "", +"dtYear": "//span[contains(text(), '年份')]/following-sibling::*/text()", +"dtYearR": "", +"dtMark": "//span[contains(text(), '更新')]/following-sibling::*/text()", +"dtMarkR": "", +"dtActor": "//span[contains(text(), '主演')]/following-sibling::*/text()", +"dtActorR": "", +"dtDirector": "//span[contains(text(), '导演')]/following-sibling::*/text()", +"dtDirectorR": "", +"dtDesc": "//span[contains(@id, 'cText')]/text()", +"dtDescR": "", +"dtFromNode": "//a[contains(@class, 'channelname swiper-slide')]", +"dtFromName": "/text()", +"dtFromNameR": "", +"dtUrlNode": "//div[contains(@id, 'playsx')]//ul[contains(@class,'content_playlist')]", +"dtUrlSubNode": "/li/a", +"dtUrlId": "@href", +"dtUrlIdR": "/vodplay/(\\S+).html", +"dtUrlName": "/text()", +"dtUrlNameR": "", +"playUrl": "https://348z.com/vodplay/{playUrl}.html", +"playUa": "", +"searchUrl": "https://348z.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", +"scVodNode": "json:list", +"scVodName": "name", +"scVodId": "id", +"scVodIdR": "", +"scVodImg": "pic", +"scVodMark": "", +"filter": { +"1": [ +{ +"key": "cateId", +"name": "分类", +"value": [ +{ +"n": "全部", +"v": "1" +}, +{ +"n": "动作片", +"v": "6" +}, +{ +"n": "喜剧片", +"v": "7" +}, +{ +"n": "爱情片", +"v": "8" +}, +{ +"n": "科幻片", +"v": "9" +}, +{ +"n": "恐怖片", +"v": "10" +}, +{ +"n": "剧情片", +"v": "11" +}, +{ +"n": "战争片", +"v": "12" +}, +{ +"n": "纪录片", +"v": "20" +}, +{ +"n": "灾难片", +"v": "21" +}, +{ +"n": "魔幻片", +"v": "22" +}, +{ +"n": "青春片", +"v": "23" +}, +{ +"n": "犯罪片", +"v": "24" +}, +{ +"n": "悬疑片", +"v": "25" +}, +{ +"n": "微电影", +"v": "26" +}, +{ +"n": "音乐片", +"v": "27" +}, +{ +"n": "B站电影", +"v": "29" +} +] +}, +{ +"key": "area", +"name": "地区", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "大陆", +"v": "大陆" +}, +{ +"n": "香港", +"v": "香港" +}, +{ +"n": "台湾", +"v": "台湾" +}, +{ +"n": "美国", +"v": "美国" +}, +{ +"n": "法国", +"v": "法国" +}, +{ +"n": "英国", +"v": "英国" +}, +{ +"n": "日本", +"v": "日本" +}, +{ +"n": "韩国", +"v": "韩国" +}, +{ +"n": "德国", +"v": "德国" +}, +{ +"n": "泰国", +"v": "泰国" +}, +{ +"n": "印度", +"v": "印度" +}, +{ +"n": "意大利", +"v": "意大利" +}, +{ +"n": "西班牙", +"v": "西班牙" +}, +{ +"n": "加拿大", +"v": "加拿大" +}, +{ +"n": "其他", +"v": "其他" +} +] +}, +{ +"key": "year", +"name": "年份", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "2022", +"v": "2022" +}, +{ +"n": "2021", +"v": "2021" +}, +{ +"n": "2020", +"v": "2020" +}, +{ +"n": "2019", +"v": "2019" +}, +{ +"n": "2018", +"v": "2018" +}, +{ +"n": "2017", +"v": "2017" +}, +{ +"n": "2016", +"v": "2016" +}, +{ +"n": "2015", +"v": "2015" +}, +{ +"n": "2014", +"v": "2014" +}, +{ +"n": "2013", +"v": "2013" +}, +{ +"n": "2012", +"v": "2012" +}, +{ +"n": "2011", +"v": "2011" +}, +{ +"n": "2010", +"v": "2010" +} +] +} +], +"2": [ +{ +"key": "cateId", +"name": "分类", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "国产剧", +"v": "13" +}, +{ +"n": "港台剧", +"v": "14" +}, +{ +"n": "日韩剧", +"v": "15" +}, +{ +"n": "欧美剧", +"v": "16" +}, +{ +"n": "B站剧集", +"v": "49" +}, +{ +"n": "其他剧", +"v": "50" +} +] +}, +{ +"key": "area", +"name": "地区", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "内地", +"v": "内地" +}, +{ +"n": "韩国", +"v": "韩国" +}, +{ +"n": "香港", +"v": "香港" +}, +{ +"n": "台湾", +"v": "台湾" +}, +{ +"n": "日本", +"v": "日本" +}, +{ +"n": "美国", +"v": "美国" +}, +{ +"n": "泰国", +"v": "泰国" +}, +{ +"n": "英国", +"v": "英国" +}, +{ +"n": "新加坡", +"v": "新加坡" +}, +{ +"n": "其他", +"v": "其他" +} +] +}, +{ +"key": "year", +"name": "年份", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "2022", +"v": "2022" +}, +{ +"n": "2021", +"v": "2021" +}, +{ +"n": "2020", +"v": "2020" +}, +{ +"n": "2019", +"v": "2019" +}, +{ +"n": "2018", +"v": "2018" +}, +{ +"n": "2017", +"v": "2017" +}, +{ +"n": "2016", +"v": "2016" +}, +{ +"n": "2015", +"v": "2015" +}, +{ +"n": "2014", +"v": "2014" +}, +{ +"n": "2013", +"v": "2013" +}, +{ +"n": "2012", +"v": "2012" +}, +{ +"n": "2011", +"v": "2011" +}, +{ +"n": "2010", +"v": "2010" +} +] +} +], +"3": [ +{ +"key": "area", +"name": "地区", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "内地", +"v": "内地" +}, +{ +"n": "港台", +"v": "港台" +}, +{ +"n": "日韩", +"v": "日韩" +}, +{ +"n": "欧美", +"v": "欧美" +} +] +}, +{ +"key": "year", +"name": "年份", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "2022", +"v": "2022" +}, +{ +"n": "2021", +"v": "2021" +}, +{ +"n": "2020", +"v": "2020" +}, +{ +"n": "2019", +"v": "2019" +}, +{ +"n": "2018", +"v": "2018" +}, +{ +"n": "2017", +"v": "2017" +}, +{ +"n": "2016", +"v": "2016" +}, +{ +"n": "2015", +"v": "2015" +}, +{ +"n": "2014", +"v": "2014" +}, +{ +"n": "2013", +"v": "2013" +}, +{ +"n": "2012", +"v": "2012" +}, +{ +"n": "2011", +"v": "2011" +}, +{ +"n": "2010", +"v": "2010" +} +] +} +], +"4": [ +{ +"key": "area", +"name": "地区", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "国产", +"v": "国产" +}, +{ +"n": "日本", +"v": "日本" +}, +{ +"n": "欧美", +"v": "欧美" +}, +{ +"n": "其他", +"v": "其他" +} +] +}, +{ +"key": "year", +"name": "年份", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "2022", +"v": "2022" +}, +{ +"n": "2021", +"v": "2021" +}, +{ +"n": "2020", +"v": "2020" +}, +{ +"n": "2019", +"v": "2019" +}, +{ +"n": "2018", +"v": "2018" +}, +{ +"n": "2017", +"v": "2017" +}, +{ +"n": "2016", +"v": "2016" +}, +{ +"n": "2015", +"v": "2015" +}, +{ +"n": "2014", +"v": "2014" +}, +{ +"n": "2013", +"v": "2013" +}, +{ +"n": "2012", +"v": "2012" +}, +{ +"n": "2011", +"v": "2011" +}, +{ +"n": "2010", +"v": "2010" +} +] +} +], +"37": [ +{ +"key": "cateId", +"name": "分类", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "4K电影", +"v": "38" +}, +{ +"n": "4K电视剧", +"v": "39" +} +] +}, +{ +"key": "area", +"name": "地区", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "大陆", +"v": "大陆" +}, +{ +"n": "香港", +"v": "香港" +}, +{ +"n": "台湾", +"v": "台湾" +}, +{ +"n": "美国", +"v": "美国" +}, +{ +"n": "法国", +"v": "法国" +}, +{ +"n": "英国", +"v": "英国" +}, +{ +"n": "日本", +"v": "日本" +}, +{ +"n": "韩国", +"v": "韩国" +}, +{ +"n": "德国", +"v": "德国" +}, +{ +"n": "泰国", +"v": "泰国" +}, +{ +"n": "印度", +"v": "印度" +}, +{ +"n": "意大利", +"v": "意大利" +}, +{ +"n": "西班牙", +"v": "西班牙" +}, +{ +"n": "加拿大", +"v": "加拿大" +}, +{ +"n": "其他", +"v": "其他" +} +] +}, +{ +"key": "year", +"name": "年份", +"value": [ +{ +"n": "全部", +"v": "" +}, +{ +"n": "2022", +"v": "2022" +}, +{ +"n": "2021", +"v": "2021" +}, +{ +"n": "2020", +"v": "2020" +}, +{ +"n": "2019", +"v": "2019" +}, +{ +"n": "2018", +"v": "2018" +}, +{ +"n": "2017", +"v": "2017" +}, +{ +"n": "2016", +"v": "2016" +}, +{ +"n": "2015", +"v": "2015" +}, +{ +"n": "2014", +"v": "2014" +}, +{ +"n": "2013", +"v": "2013" +}, +{ +"n": "2012", +"v": "2012" +}, +{ +"n": "2011", +"v": "2011" +}, +{ +"n": "2010", +"v": "2010" +} +] +} +] +} +} diff --git a/XPath/360.json b/XPath/360.json new file mode 100644 index 0000000..83ce648 --- /dev/null +++ b/XPath/360.json @@ -0,0 +1,315 @@ +{ + "urls": { + "1": "//api.web.360kan.com/v1", + "2": "//api.web.360kan.com/v1", + "3": "//api.web.360kan.com/v1", + "4": "//api.web.360kan.com/v1", + "recommend": "//api.web.360kan.com/v1/rank?cat=1", + "search": "//api.so.360kan.com/index?kw={wd}&pageno=1" + }, + "classes": [ + { "type_name": "电影", "type_id": "1" }, + { "type_name": "电视剧", "type_id": "2" }, + { "type_name": "综艺", "type_id": "3" }, + { "type_name": "动漫", "type_id": "4" } + ], + "filter": { + "1": [ + { + "key": "cat", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "动作", "v": "动作" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "科幻", "v": "科幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "战争", "v": "战争" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "动画", "v": "动画" }, + { "n": "文艺", "v": "文艺" }, + { "n": "纪录", "v": "纪录" }, + { "n": "传记", "v": "传记" }, + { "n": "歌舞", "v": "歌舞" }, + { "n": "古装", "v": "古装" }, + { "n": "历史", "v": "历史" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "伦理", "v": "伦理" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年代", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "更早", "v": "lt_year" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "大陆" }, + { "n": "中国香港", "v": "香港" }, + { "n": "中国台湾", "v": "台湾" }, + { "n": "泰国", "v": "泰国" }, + { "n": "美国", "v": "美国" }, + { "n": "韩国", "v": "韩国" }, + { "n": "日本", "v": "日本" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "rank", + "name": "排序", + "value": [ + { "n": "最近热映", "v": "rankhot" }, + { "n": "最近上映", "v": "ranklatest" }, + { "n": "最受好评", "v": "rankpoint" } + ] + } + ], + "2": [ + { + "key": "cat", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "言情", "v": "言情" }, + { "n": "剧情", "v": "剧情" }, + { "n": "伦理", "v": "伦理" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "都市", "v": "都市" }, + { "n": "偶像", "v": "偶像" }, + { "n": "古装", "v": "古装" }, + { "n": "军事", "v": "军事" }, + { "n": "警匪", "v": "警匪" }, + { "n": "历史", "v": "历史" }, + { "n": "励志", "v": "励志" }, + { "n": "神话", "v": "神话" }, + { "n": "谍战", "v": "谍战" }, + { "n": "青春", "v": "青春剧" }, + { "n": "家庭", "v": "家庭剧" }, + { "n": "动作", "v": "动作" }, + { "n": "情景", "v": "情景" }, + { "n": "武侠", "v": "武侠" }, + { "n": "科幻", "v": "科幻" }, + { "n": "其他", "v": "其他" }, + { "n": "全部", "v": "" } + ] + }, + { + "key": "year", + "name": "年代", + "value": [ + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "更早", "v": "lt_year" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "中国香港", "v": "香港" }, + { "n": "中国台湾", "v": "台湾" }, + { "n": "泰国", "v": "泰国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "美国", "v": "美国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" } + ] + }, + { + "key": "rank", + "name": "排序", + "value": [ + { "n": "最近热映", "v": "rankhot" }, + { "n": "最近上映", "v": "ranklatest" }, + { "n": "最受好评", "v": "rankpoint" } + ] + } + ], + "3": [ + { + "key": "cat", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "脱口秀", "v": "脱口秀" }, + { "n": "真人秀", "v": "真人秀" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "选秀", "v": "选秀" }, + { "n": "八卦", "v": "八卦" }, + { "n": "访谈", "v": "访谈" }, + { "n": "情感", "v": "情感" }, + { "n": "生活", "v": "生活" }, + { "n": "晚会", "v": "晚会" }, + { "n": "音乐", "v": "音乐" }, + { "n": "职场", "v": "职场" }, + { "n": "美食", "v": "美食" }, + { "n": "时尚", "v": "时尚" }, + { "n": "游戏", "v": "游戏" }, + { "n": "少儿", "v": "少儿" }, + { "n": "体育", "v": "体育" }, + { "n": "纪实", "v": "纪实" }, + { "n": "科教", "v": "科教" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "歌舞", "v": "歌舞" }, + { "n": "财经", "v": "财经" }, + { "n": "汽车", "v": "汽车" }, + { "n": "播报", "v": "播报" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "大陆" }, + { "n": "中国香港", "v": "香港" }, + { "n": "中国台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "key": "rank", + "name": "排序", + "value": [ + { "n": "最近热映", "v": "rankhot" }, + { "n": "最近上映", "v": "ranklatest" } + ] + } + ], + "4": [ + { + "key": "cat", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "热血", "v": "热血" }, + { "n": "科幻", "v": "科幻" }, + { "n": "美少女", "v": "美少女" }, + { "n": "魔幻", "v": "魔幻" }, + { "n": "经典", "v": "经典" }, + { "n": "励志", "v": "励志" }, + { "n": "少儿", "v": "少儿" }, + { "n": "冒险", "v": "冒险" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "推理", "v": "推理" }, + { "n": "恋爱", "v": "恋爱" }, + { "n": "治愈", "v": "治愈" }, + { "n": "幻想", "v": "幻想" }, + { "n": "校园", "v": "校园" }, + { "n": "动物", "v": "动物" }, + { "n": "机战", "v": "机战" }, + { "n": "亲子", "v": "亲子" }, + { "n": "儿歌", "v": "儿歌" }, + { "n": "运动", "v": "运动" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "怪物", "v": "怪物" }, + { "n": "战争", "v": "战争" }, + { "n": "益智", "v": "益智" }, + { "n": "青春", "v": "青春" }, + { "n": "童话", "v": "童话" }, + { "n": "竞技", "v": "竞技" }, + { "n": "动作", "v": "动作" }, + { "n": "社会", "v": "社会" }, + { "n": "友情", "v": "友情" }, + { "n": "真人版", "v": "真人版" }, + { "n": "电影版", "v": "电影版" }, + { "n": "OVA版", "v": "OVA版" }, + { "n": "TV版", "v": "TV版" }, + { "n": "新番动画", "v": "新番动画" }, + { "n": "完结动画", "v": "完结动画" } + ] + }, + { + "key": "year", + "name": "年代", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "更早", "v": "更早" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "大陆" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" } + ] + }, + { + "key": "rank", + "name": "排序", + "value": [ + { "n": "最近热映", "v": "rankhot" }, + { "n": "最近上映", "v": "ranklatest" } + ] + } + ] + } +} diff --git a/XPath/4kpianku.json b/XPath/4kpianku.json new file mode 100644 index 0000000..af718bf --- /dev/null +++ b/XPath/4kpianku.json @@ -0,0 +1,377 @@ +{ + "ua": "Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/99.0", + "homeUrl": "https://4k电影.com", + "dcVipFlag": "true", + "pCfgJs": "https://4k电影.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "dianying", + "剧集": "dianshiju", + "动漫": "dongman", + "综艺": "zongyi" + }, + "homeVodNode": "//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "//div[@class='module-item-pic']/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//div[@class='module-item-text']/text()", + "cateUrl": "https://4k电影.com/vodshow/{cateId}-{area}-{by}-{catelog}-----{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-item']", + "cateVodName": "//div[@class='module-item-pic']/a/@title", + "cateVodId": "//div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "//div[@class='module-item-pic']/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//div[@class='module-item-text']/text()", + "dtUrl": "https://4k电影.com/v/{vid}.html", + "dtNode": "//div[contains(@class, 'box view-heading')]", + "dtName": "//div[@class='video-cover']//div[@class='module-item-pic']/img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//div[@class='module-item-pic']/img/@data-src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='tag-link']/span[@class='slash']/a/text()", + "dtCateR": "", + "dtArea": "//a[contains(@class,'tag-link')][3]/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '导演')]/following-sibling::div/span/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '主演')]/following-sibling::div/span/following-sibling::*/text()", + "dtActorR": "", + "dtYear": "//a[contains(@class,'tag-link')]/text()", + "dtYearR": "", + "dtMark": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '集数')]/following-sibling::div/span/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//div[contains(@class,'video-info-item video-info-content vod_content')]/span/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class, 'module-tab-content')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/span/text()", + "playUrl": "https://4k电影.com/p/{playUrl}.html", + "searchUrl": "https://4k电影.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "dianying": [ + { + "key": "catelog", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "院线","v": "院线"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"}, + {"n": "枪战","v": "枪战"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "经典","v": "经典"}, + {"n": "青春","v": "青春"}, + {"n": "文艺","v": "文艺"}, + {"n": "微电影","v": "微电影"}, + {"n": "古装","v": "古装"}, + {"n": "历史","v": "历史"}, + {"n": "运动","v": "运动"}, + {"n": "农村","v": "农村"}, + {"n": "儿童","v": "儿童"}, + {"n": "网络电影","v": "网络电影"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "美国","v": "美国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "dianshiju": [ + { + "key": "catelog", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春","v": "青春"}, + {"n": "偶像","v": "偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "经典","v": "经典"}, + {"n": "纪录","v": "纪录"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "dongman": [ + { + "key": "catelog", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "奇幻","v": "奇幻"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "原创","v": "原创"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "zongyi": [ + { + "key": "catelog", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "纪实"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/4kpiankuwang.json b/XPath/4kpiankuwang.json new file mode 100644 index 0000000..af718bf --- /dev/null +++ b/XPath/4kpiankuwang.json @@ -0,0 +1,377 @@ +{ + "ua": "Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/99.0", + "homeUrl": "https://4k电影.com", + "dcVipFlag": "true", + "pCfgJs": "https://4k电影.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "dianying", + "剧集": "dianshiju", + "动漫": "dongman", + "综艺": "zongyi" + }, + "homeVodNode": "//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "//div[@class='module-item-pic']/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//div[@class='module-item-text']/text()", + "cateUrl": "https://4k电影.com/vodshow/{cateId}-{area}-{by}-{catelog}-----{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-item']", + "cateVodName": "//div[@class='module-item-pic']/a/@title", + "cateVodId": "//div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "//div[@class='module-item-pic']/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//div[@class='module-item-text']/text()", + "dtUrl": "https://4k电影.com/v/{vid}.html", + "dtNode": "//div[contains(@class, 'box view-heading')]", + "dtName": "//div[@class='video-cover']//div[@class='module-item-pic']/img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//div[@class='module-item-pic']/img/@data-src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='tag-link']/span[@class='slash']/a/text()", + "dtCateR": "", + "dtArea": "//a[contains(@class,'tag-link')][3]/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '导演')]/following-sibling::div/span/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '主演')]/following-sibling::div/span/following-sibling::*/text()", + "dtActorR": "", + "dtYear": "//a[contains(@class,'tag-link')]/text()", + "dtYearR": "", + "dtMark": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '集数')]/following-sibling::div/span/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//div[contains(@class,'video-info-item video-info-content vod_content')]/span/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class, 'module-tab-content')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/span/text()", + "playUrl": "https://4k电影.com/p/{playUrl}.html", + "searchUrl": "https://4k电影.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "dianying": [ + { + "key": "catelog", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "院线","v": "院线"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"}, + {"n": "枪战","v": "枪战"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "经典","v": "经典"}, + {"n": "青春","v": "青春"}, + {"n": "文艺","v": "文艺"}, + {"n": "微电影","v": "微电影"}, + {"n": "古装","v": "古装"}, + {"n": "历史","v": "历史"}, + {"n": "运动","v": "运动"}, + {"n": "农村","v": "农村"}, + {"n": "儿童","v": "儿童"}, + {"n": "网络电影","v": "网络电影"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "美国","v": "美国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "dianshiju": [ + { + "key": "catelog", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春","v": "青春"}, + {"n": "偶像","v": "偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "经典","v": "经典"}, + {"n": "纪录","v": "纪录"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "dongman": [ + { + "key": "catelog", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "奇幻","v": "奇幻"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "原创","v": "原创"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "zongyi": [ + { + "key": "catelog", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "纪实"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/4kyu.json b/XPath/4kyu.json new file mode 100644 index 0000000..3e15084 --- /dev/null +++ b/XPath/4kyu.json @@ -0,0 +1,66 @@ +{ + "author": "zhao xiaoyun", + "ua": "", + "homeUrl": "https://4kyu.cc", + "dcVipFlag": "true", + "pCfgJs": "https://4kyu.cc/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'myui-header__menu')]/li/a[contains(@href, 'vodtype') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//li[contains(@class, 'col-lg-8')]/div/a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "cateUrl": "https://4kyu.cc/vodtype/{cateId}-{catePg}.html", + "cateVodNode": "//li[contains(@class, 'col-lg-7')]/div/a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "dtUrl": "https://4kyu.cc/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://4kyu.cc/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://4kyu.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/555.json b/XPath/555.json new file mode 100644 index 0000000..04d26d8 --- /dev/null +++ b/XPath/555.json @@ -0,0 +1,74 @@ +{ + "author": "zhao xiaoyun", + "ua": "", + "homeUrl": "https://www.o8tv.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.o8tv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class, 'myui-header__menu')]/li/a[contains(@href, 'vodtype')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype(\\S+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4", + "纪录片": "91" + }, + "homeVodNode": "//ul[contains(@class, 'myui-vodlist')]/li/div[contains(@class, 'myui-vodlist__box')]", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/vodplay(\\S+).html", + "homeVodImg": "/a/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.o8tv.com/vodshow/{cateId}--------{catePg}---2021.html", + "cateVodNode": "//ul[contains(@class, 'myui-vodlist')]/li/div[contains(@class, 'myui-vodlist__box')]", + "cateVodName": "/div/h4/a/@title", + "cateVodId": "/div/h4/a//@href", + "cateVodIdR": "/vodplay(\\S+).html", + "cateVodImg": "/a/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.o8tv.com/voddetail/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.o8tv.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.o8tv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/555dy.json b/XPath/555dy.json new file mode 100644 index 0000000..d8bec03 --- /dev/null +++ b/XPath/555dy.json @@ -0,0 +1,545 @@ +{ + "author": "", + "ua": "", + "homeUrl": "https://www.555yy1.com/", + "dcVipFlag": "true", + "pCfgJs": "https://www.555yy1.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "剧集": "2", + "综艺": "3", + "福利": "124", + "动漫": "4" + }, + "homeVodNode": "//div[@class='module-items module-poster-items-base ']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\S+).html", + "homeVodImg": "//div[@class='module-item-pic']/img/@data-original", + "homeVodImgR": "", + "homeVodMark": "//div[@class='module-item-note']/text()", + "cateUrl": "https://www.555yy1.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-items module-poster-items-base ']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\S+).html", + "cateVodImg": "//div[@class='module-item-pic']/img/@data-original", + "cateVodImgR": "", + "cateVodMark": "//div[@class='module-item-note']/text()", + "dtUrl": "https://www.555yy1.com//voddetail/{vid}.html", + "dtNode": "//div[@class='module module-info']", + "dtName": "//div[@class='module-info-main']/div[@class='module-info-heading']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='module-info-poster']//div[@class='module-item-pic']/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "concat(//span[contains(text(),'分类')]/following-sibling::*//text())", + "dtCateR": "", + "dtArea": "concat(//span[contains(text(),'地区')]/following-sibling::*//text())", + "dtAreaR": "", + // 视频状态 + "dtMark": "concat(//span[contains(text(),'更新')]/following-sibling::*//text())", + "dtMarkR": "", + // 主演 + "dtActor": "concat(//span[contains(text(),'主演')]/following-sibling::*//text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(),'导演')]/following-sibling::*//text())", + "dtDirectorR": "", + // 视频年份 + "dtYear": "concat(//span[contains(text(),'年份')]/following-sibling::*//text())", + "dtDesc": "//div[contains(@class,'show-desc')]/p/text()", + "dtDescR": "", + + // Playlist ======================================================== + + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='module-play-list']", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", +"dtUrlNameR": "", + "playUrl": "https://www.555yy1.com/vodplay/{playUrl}.html", + "playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + "searchUrl": "https://www.555yy1.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "Netflix", "v": "Netflix" }, + { "n": "仙侠", "v": "仙侠" }, + { "n": "剧情", "v": "剧情" }, + { "n": "科幻", "v": "科幻" }, + { "n": "动作", "v": "动作" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "冒险", "v": "冒险" }, + { "n": "儿童", "v": "儿童" }, + { "n": "歌舞", "v": "歌舞" }, + { "n": "音乐", "v": "音乐" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "动画", "v": "动画" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "丧尸", "v": "丧尸" }, + { "n": "战争", "v": "战争" }, + { "n": "传记", "v": "传记" }, + { "n": "纪录", "v": "纪录" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "西部", "v": "西部" }, + { "n": "灾难", "v": "灾难" }, + { "n": "古装", "v": "古装" }, + { "n": "武侠", "v": "武侠" }, + { "n": "家庭", "v": "家庭" }, + { "n": "短片", "v": "短片" }, + { "n": "校园", "v": "校园" }, + { "n": "文艺", "v": "文艺" }, + { "n": "运动", "v": "运动" }, + { "n": "青春", "v": "青春" }, + { "n": "同性", "v": "同性" }, + { "n": "励志", "v": "励志" }, + { "n": "人性", "v": "人性" }, + { "n": "美食", "v": "美食" }, + { "n": "女性", "v": "女性" }, + { "n": "治愈", "v": "治愈" }, + { "n": "历史", "v": "历史" }, + { "n": "真人秀", "v": "真人秀" }, + { "n": "脱口秀", "v": "脱口秀" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "丹麦", "v": "丹麦" }, + { "n": "瑞典", "v": "瑞典" }, + { "n": "巴西", "v": "巴西" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "俄罗斯", "v": "俄罗斯" }, + { "n": "意大利", "v": "意大利" }, + { "n": "比利时", "v": "比利时" }, + { "n": "爱尔兰", "v": "爱尔兰" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "澳大利亚", "v": "澳大利亚" } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "日语", "v": "日语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "英语", "v": "英语" }, + { "n": "法语", "v": "法语" }, + { "n": "泰语", "v": "泰语" }, + { "n": "德语", "v": "德语" }, + { "n": "俄语", "v": "俄语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "丹麦语", "v": "丹麦语" }, + { "n": "波兰语", "v": "波兰语" }, + { "n": "瑞典语", "v": "瑞典语" }, + { "n": "印地语", "v": "印地语" }, + { "n": "挪威语", "v": "挪威语" }, + { "n": "意大利语", "v": "意大利语" }, + { "n": "西班牙语", "v": "西班牙语" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间排序", "v": "time" }, + { "n": "人气排序", "v": "hits" }, + { "n": "评分排序", "v": "score" } + ] + } + ], + "2":[ + { + "key": "cateId", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "热门连续剧", "v": "13" }, + { "n": "港台剧", "v": "15" }, + { "n": "日韩剧", "v": "44" }, + { "n": "欧美剧", "v": "45" } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "Netflix", "v": "Netflix" }, + { "n": "剧情", "v": "剧情" }, + { "n": "丧尸", "v": "丧尸" }, + { "n": "仙侠", "v": "仙侠" }, + { "n": "穿越", "v": "穿越" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "言情", "v": "言情" }, + { "n": "科幻", "v": "科幻" }, + { "n": "动作", "v": "动作" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "偶像", "v": "偶像" }, + { "n": "都市", "v": "都市" }, + { "n": "军旅", "v": "军旅" }, + {"n": "谍战","v": "谍战"}, + {"n": "罪案","v": "罪案"}, + {"n": "宫廷","v": "宫廷"}, + { "n": "冒险", "v": "冒险" }, + { "n": "儿童", "v": "儿童" }, + { "n": "歌舞", "v": "歌舞" }, + { "n": "音乐", "v": "音乐" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "动画", "v": "动画" }, + { "n": "战争", "v": "战争" }, + { "n": "传记", "v": "传记" }, + { "n": "纪录", "v": "纪录" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "西部", "v": "西部" }, + { "n": "灾难", "v": "灾难" }, + { "n": "古装", "v": "古装" }, + { "n": "武侠", "v": "武侠" }, + { "n": "家庭", "v": "家庭" }, + { "n": "短片", "v": "短片" }, + { "n": "校园", "v": "校园" }, + { "n": "文艺", "v": "文艺" }, + { "n": "运动", "v": "运动" }, + { "n": "青春", "v": "青春" }, + { "n": "同性", "v": "同性" }, + { "n": "励志", "v": "励志" }, + { "n": "人性", "v": "人性" }, + { "n": "美食", "v": "美食" }, + { "n": "女性", "v": "女性" }, + { "n": "治愈", "v": "治愈" }, + { "n": "历史", "v": "历史" }, + { "n": "真人秀", "v": "真人秀" }, + { "n": "脱口秀", "v": "脱口秀" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "美国", "v": "美国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间排序", "v": "time" }, + { "n": "人气排序", "v": "hits" }, + { "n": "评分排序", "v": "score" } + ] + } + ], + "3":[ + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "YouTube", "v": "YouTube" }, + { "n": "脱口秀", "v": "脱口秀" }, + { "n": "真人秀", "v": "真人秀" }, + { "n": "选秀", "v": "选秀" }, + { "n": "八卦", "v": "八卦" }, + { "n": "访谈", "v": "访谈" }, + { "n": "情感", "v": "情感" }, + { "n": "生活", "v": "生活" }, + { "n": "晚会", "v": "晚会" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "音乐", "v": "音乐" }, + { "n": "时尚", "v": "时尚" }, + { "n": "游戏", "v": "游戏" }, + { "n": "少儿", "v": "少儿" }, + { "n": "体育", "v": "体育" }, + { "n": "纪实", "v": "纪实" }, + { "n": "科教", "v": "科教" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "歌舞", "v": "歌舞" }, + { "n": "财经", "v": "财经" }, + { "n": "汽车", "v": "汽车" }, + { "n": "播报", "v": "播报" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "韩国", "v": "韩国" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "日语", "v": "日语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "英语", "v": "英语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" }, + { "n": "1999", "v": "1999" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间排序", "v": "time" }, + { "n": "人气排序", "v": "hits" }, + { "n": "评分排序", "v": "score" } + ] + } + ], + "4":[ + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "Netflix", "v": "Netflix" }, + { "n": "热血", "v": "热血" }, + { "n": "科幻", "v": "科幻" }, + { "n": "美少女", "v": "美少女" }, + { "n": "魔幻", "v": "魔幻" }, + { "n": "经典", "v": "经典" }, + { "n": "励志", "v": "励志" }, + { "n": "少儿", "v": "少儿" }, + { "n": "冒险", "v": "冒险" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "推理", "v": "推理" }, + { "n": "恋爱", "v": "恋爱" }, + { "n": "治愈", "v": "治愈" }, + { "n": "幻想", "v": "幻想" }, + { "n": "校园", "v": "校园" }, + { "n": "动物", "v": "动物" }, + { "n": "机战", "v": "机战" }, + { "n": "亲子", "v": "亲子" }, + { "n": "儿歌", "v": "儿歌" }, + { "n": "运动", "v": "运动" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "怪物", "v": "怪物" }, + { "n": "战争", "v": "战争" }, + { "n": "益智", "v": "益智" }, + { "n": "青春", "v": "青春" }, + { "n": "童话", "v": "童话" }, + { "n": "竞技", "v": "竞技" }, + { "n": "动作", "v": "动作" }, + { "n": "社会", "v": "社会" }, + { "n": "友情", "v": "友情" }, + { "n": "真人版", "v": "真人版" }, + { "n": "电影版", "v": "电影版" }, + { "n": "OVA版", "v": "OVA版" }, + { "n": "TV版", "v": "TV版" }, + { "n": "新番动画", "v": "新番动画" }, + { "n": "完结动画", "v": "完结动画" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "日语", "v": "日语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "英语", "v": "英语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "更早", "v": "更早" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间排序", "v": "time" }, + { "n": "人气排序", "v": "hits" }, + { "n": "评分排序", "v": "score" } + ] + } + ], + "124":[ + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间排序", "v": "time" }, + { "n": "人气排序", "v": "hits" }, + { "n": "评分排序", "v": "score" } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/555dy1.json b/XPath/555dy1.json new file mode 100644 index 0000000..3052b5e --- /dev/null +++ b/XPath/555dy1.json @@ -0,0 +1,387 @@ +{ + "author": "", + "ua": "", + "homeUrl": "https://555dy1.com/", + "dcVipFlag": "true", + "pCfgJs": "https://555dy1.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "剧集": "2", + "综艺": "3", + + "动漫": "4" + }, + "homeVodNode": "//div[@class='module-items module-poster-items-base ']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\S+).html", + "homeVodImg": "//div[@class='module-item-pic']/img/@data-original", + "homeVodImgR": "", + "homeVodMark": "//div[@class='module-item-note']/text()", + "cateUrl": "https://555dy1.com/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-items module-poster-items-base ']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\S+).html", + "cateVodImg": "//div[@class='module-item-pic']/img/@data-original", + "cateVodImgR": "", + "cateVodMark": "//div[@class='module-item-note']/text()", + "dtUrl": "https://555dy1.com//voddetail/{vid}.html", + "dtNode": "//div[@class='module module-info']", + "dtName": "//div[@class='module-info-main']/div[@class='module-info-heading']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='module-info-poster']//div[@class='module-item-pic']/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "concat(//span[contains(text(),'分类')]/following-sibling::*//text())", + "dtCateR": "", + "dtArea": "concat(//span[contains(text(),'地区')]/following-sibling::*//text())", + "dtAreaR": "", + // 视频状态 + "dtMark": "concat(//span[contains(text(),'更新')]/following-sibling::*//text())", + "dtMarkR": "", + // 主演 + "dtActor": "concat(//span[contains(text(),'主演')]/following-sibling::*//text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(),'导演')]/following-sibling::*//text())", + "dtDirectorR": "", + // 视频年份 + "dtYear": "concat(//span[contains(text(),'年份')]/following-sibling::*//text())", + "dtDesc": "//div[contains(@class,'show-desc')]/p/text()", + "dtDescR": "", + + // Playlist ======================================================== + + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='module-play-list']", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", +"dtUrlNameR": "", + "playUrl": "https://555dy1.com/vodplay/{playUrl}.html", + "playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + "searchUrl": "https://555dy1.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "class", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "Netflix", "v": "Netflix" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + { "n": "爱情", "v": "爱情" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "科幻", "v": "科幻" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "经典", "v": "经典" }, + { "n": "青春", "v": "青春" }, + { "n": "网络电影", "v": "网络电影" }, + { "n": "冒险", "v": "冒险" }, + { "n": "武侠", "v": "武侠" }, + { "n": "文艺", "v": "文艺" }, + { "n": "运动", "v": "运动" }, + { "n": "儿童", "v": "儿童" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "丹麦", "v": "丹麦" }, + { "n": "瑞典", "v": "瑞典" }, + { "n": "巴西", "v": "巴西" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "俄罗斯", "v": "俄罗斯" }, + { "n": "意大利", "v": "意大利" }, + { "n": "比利时", "v": "比利时" }, + { "n": "爱尔兰", "v": "爱尔兰" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2":[ + { + "key": "cateId", + "name": "分类", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "15" }, + { "n": "日韩剧", "v": "44" }, + { "n": "欧美剧", "v": "45" } + + ] + }, + { + "key": "class", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "Netflix", "v": "Netflix" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + // { "n": "青春偶像", "v": "青春偶像" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "家庭", "v": "家庭" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "经典", "v": "经典" }, + { "n": "乡村", "v": "乡村" }, + { "n": "情景", "v": "情景" }, + { "n": "商战", "v": "商战" }, + { "n": "网剧", "v": "网剧" }, + { "n": "其他", "v": "其他" } + ] + }, + + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "丹麦", "v": "丹麦" }, + { "n": "瑞典", "v": "瑞典" }, + { "n": "巴西", "v": "巴西" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "俄罗斯", "v": "俄罗斯" }, + { "n": "意大利", "v": "意大利" }, + { "n": "比利时", "v": "比利时" }, + { "n": "爱尔兰", "v": "爱尔兰" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + + "3":[ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "4":[ + { + "key": "class", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产", "v": "国产" }, + { "n": "日本", "v": "日本" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] +} + +} \ No newline at end of file diff --git a/XPath/555dy_XPathMacFilter.json b/XPath/555dy_XPathMacFilter.json new file mode 100644 index 0000000..2d58ff0 --- /dev/null +++ b/XPath/555dy_XPathMacFilter.json @@ -0,0 +1,387 @@ +{ + "author": "", + "ua": "", + "homeUrl": "https://www.xawqxh.net/", + "dcVipFlag": "true", + "pCfgJs": "https://www.xawqxh.net/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "剧集": "2", + "综艺": "3", + + "动漫": "4" + }, + "homeVodNode": "//div[@class='module-items module-poster-items-base ']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\S+).html", + "homeVodImg": "//div[@class='module-item-pic']/img/@data-original", + "homeVodImgR": "", + "homeVodMark": "//div[@class='module-item-note']/text()", + "cateUrl": "https://www.xawqxh.net/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-items module-poster-items-base ']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\S+).html", + "cateVodImg": "//div[@class='module-item-pic']/img/@data-original", + "cateVodImgR": "", + "cateVodMark": "//div[@class='module-item-note']/text()", + "dtUrl": "https://www.xawqxh.net//voddetail/{vid}.html", + "dtNode": "//div[@class='module module-info']", + "dtName": "//div[@class='module-info-main']/div[@class='module-info-heading']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='module-info-poster']//div[@class='module-item-pic']/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "concat(//span[contains(text(),'分类')]/following-sibling::*//text())", + "dtCateR": "", + "dtArea": "concat(//span[contains(text(),'地区')]/following-sibling::*//text())", + "dtAreaR": "", + // 视频状态 + "dtMark": "concat(//span[contains(text(),'更新')]/following-sibling::*//text())", + "dtMarkR": "", + // 主演 + "dtActor": "concat(//span[contains(text(),'主演')]/following-sibling::*//text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(),'导演')]/following-sibling::*//text())", + "dtDirectorR": "", + // 视频年份 + "dtYear": "concat(//span[contains(text(),'年份')]/following-sibling::*//text())", + "dtDesc": "//div[contains(@class,'show-desc')]/p/text()", + "dtDescR": "", + + // Playlist ======================================================== + + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='module-play-list']", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", +"dtUrlNameR": "", + "playUrl": "https://www.xawqxh.net/vodplay/{playUrl}.html", + "playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + "searchUrl": "https://www.xawqxh.net/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "class", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "Netflix", "v": "Netflix" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + { "n": "爱情", "v": "爱情" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "科幻", "v": "科幻" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "经典", "v": "经典" }, + { "n": "青春", "v": "青春" }, + { "n": "网络电影", "v": "网络电影" }, + { "n": "冒险", "v": "冒险" }, + { "n": "武侠", "v": "武侠" }, + { "n": "文艺", "v": "文艺" }, + { "n": "运动", "v": "运动" }, + { "n": "儿童", "v": "儿童" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "丹麦", "v": "丹麦" }, + { "n": "瑞典", "v": "瑞典" }, + { "n": "巴西", "v": "巴西" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "俄罗斯", "v": "俄罗斯" }, + { "n": "意大利", "v": "意大利" }, + { "n": "比利时", "v": "比利时" }, + { "n": "爱尔兰", "v": "爱尔兰" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2":[ + { + "key": "cateId", + "name": "分类", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "15" }, + { "n": "日韩剧", "v": "44" }, + { "n": "欧美剧", "v": "45" } + + ] + }, + { + "key": "class", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "Netflix", "v": "Netflix" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + // { "n": "青春偶像", "v": "青春偶像" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "家庭", "v": "家庭" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "经典", "v": "经典" }, + { "n": "乡村", "v": "乡村" }, + { "n": "情景", "v": "情景" }, + { "n": "商战", "v": "商战" }, + { "n": "网剧", "v": "网剧" }, + { "n": "其他", "v": "其他" } + ] + }, + + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "丹麦", "v": "丹麦" }, + { "n": "瑞典", "v": "瑞典" }, + { "n": "巴西", "v": "巴西" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "俄罗斯", "v": "俄罗斯" }, + { "n": "意大利", "v": "意大利" }, + { "n": "比利时", "v": "比利时" }, + { "n": "爱尔兰", "v": "爱尔兰" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + + "3":[ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "4":[ + { + "key": "class", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产", "v": "国产" }, + { "n": "日本", "v": "日本" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] +} + +} \ No newline at end of file diff --git a/XPath/6d.json b/XPath/6d.json new file mode 100644 index 0000000..1af9f8c --- /dev/null +++ b/XPath/6d.json @@ -0,0 +1,95 @@ +{ + "ua": "", + "homeUrl": "http://6d.xuangz.cn", + "dcVipFlag": "true", + "pCfgJs": "http://6d.xuangz.cn/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href,'list')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\S+).html", + "cateManual": { + "电影": "1", + "电视剧": "2", + "动漫": "3", + "综艺": "4" + }, + "homeVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/v_show/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://6d.xuangz.cn/whole/{cateId}_{area}_{class}_{lang}_{year}___0_{by}__id_{catePg}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/v_show/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://6d.xuangz.cn/v_show/{vid}.html", + "dtNode": "//div[contains(@class,'col-md-wide-75')]", + "dtName": "//div[contains(@class,'stui-content__thumb')]/a[contains(@class,'stui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a[contains(@class,'stui-vodlist__thumb')]/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "", + "dtCateR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtYear": "//span[contains(@class,'text-muted') and contains(text(), '年代')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//span[contains(@class,'text-muted') and contains(text(), '集数')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[contains(@class,'text-muted') and contains(text(), '剧情')]/following-sibling::*/text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href,'play')]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/v_player/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://6d.xuangz.cn/v_player/{playUrl}.html", + "playUa": "", + "searchUrl": "http://6d.xuangz.cn/?c=search&wd={wd}", + "scVodNode": "//a[@class='v-thumb stui-vodlist__thumb lazyload']", + "scVodName": "@title", + "scVodId": "@href", + "scVodIdR": "/v_show/(\\w+).html", + "scVodImg": "@data-original", + "scVodMark": "", + "filter": { + "1": [ + {"name":"类型","key":"class","value":[{"n":"全部","v":""},{"n":"警匪片","v":"警匪片"},{"n":"恐怖片","v":"恐怖片"},{"n":"惊悚片","v":"惊悚片"},{"n":"悬疑片","v":"悬疑片"},{"n":"科幻片","v":"科幻片"},{"n":"战争片","v":"战争片"},{"n":"动作片","v":"动作片"},{"n":"喜剧片","v":"喜剧片"},{"n":"爱情片","v":"爱情片"},{"n":"微电影","v":"微电影"},{"n":"纪录片","v":"纪录片"},{"n":"剧情片","v":"剧情片"},{"n":"其他片","v":"其他片"}]}, + {"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"更早","v":"更早"}]}, + {"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"美国","v":"美国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"其他","v":"其他"}]}, + {"name":"排序","key":"by","value":[{"n":"全部","v":"addtime"},{"n":"时间","v":"id"},{"n":"人气","v":"hits"}]} + ], + "2": [ + {"name":"类型","key":"class","value":[{"n":"全部","v":""},{"n":"国产剧","v":"国产剧"},{"n":"日韩剧","v":"日韩剧"},{"n":"欧美剧","v":"欧美剧"},{"n":"海外剧","v":"海外剧"}]}, + {"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"更早","v":"更早"}]}, + {"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"美国","v":"美国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"其他","v":"其他"}]}, + {"name":"排序","key":"by","value":[{"n":"全部","v":"addtime"},{"n":"时间","v":"id"},{"n":"人气","v":"hits"}]} + ], + "3": [ + {"name":"类型","key":"class","value":[{"n":"全部","v":""},{"n":"国产动漫","v":"国产动漫"},{"n":"日韩动漫","v":"日韩动漫"},{"n":"欧美动漫","v":"欧美动漫"},{"n":"动画片","v":"动画片"},{"n":"动漫片","v":"动漫片"}]}, + {"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"更早","v":"更早"}]}, + {"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"美国","v":"美国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"其他","v":"其他"}]}, + {"name":"排序","key":"by","value":[{"n":"全部","v":"addtime"},{"n":"时间","v":"id"},{"n":"人气","v":"hits"}]} + ], + "4": [ + {"name":"类型","key":"class","value":[{"n":"全部","v":""},{"n":"大陆综艺","v":"大陆综艺"},{"n":"日韩综艺","v":"日韩综艺"},{"n":"欧美综艺","v":"欧美综艺"},{"n":"海外综艺","v":"海外综艺"}]}, + {"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"更早","v":"更早"}]}, + {"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"美国","v":"美国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"其他","v":"其他"}]}, + {"name":"排序","key":"by","value":[{"n":"全部","v":"addtime"},{"n":"时间","v":"id"},{"n":"人气","v":"hits"}]} + ] + } + } \ No newline at end of file diff --git a/XPath/6duTV.json b/XPath/6duTV.json new file mode 100644 index 0000000..8c0c71d --- /dev/null +++ b/XPath/6duTV.json @@ -0,0 +1,309 @@ +{ + "ua": "", + "homeUrl": "http://6d.xuangz.cn", + "dcVipFlag": "true", + "pCfgJs": "http://6d.xuangz.cn/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href,'list')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\S+).html", + "cateManual": { + "电影": "1", + "电视剧": "2", + "动漫": "3", + "综艺": "4" + }, + "homeVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/v_show/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://6d.xuangz.cn/whole/{cateId}_{area}_{class}_{lang}_{year}___0_{by}__id_{catePg}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/v_show/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://6d.xuangz.cn/v_show/{vid}.html", + "dtNode": "//div[contains(@class,'col-md-wide-75')]", + "dtName": "//div[contains(@class,'stui-content__thumb')]/a[contains(@class,'stui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a[contains(@class,'stui-vodlist__thumb')]/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "", + "dtCateR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtYear": "//span[contains(@class,'text-muted') and contains(text(), '年代')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//span[contains(@class,'text-muted') and contains(text(), '集数')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[contains(@class,'text-muted') and contains(text(), '剧情')]/following-sibling::*/text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href,'play')]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/v_player/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://6d.xuangz.cn/v_player/{playUrl}.html", + "playUa": "", + "searchUrl": "http://6d.xuangz.cn/?c=search&wd={wd}", + "scVodNode": "//a[@class='v-thumb stui-vodlist__thumb lazyload']", + "scVodName": "@title", + "scVodId": "@href", + "scVodIdR": "/v_show/(\\w+).html", + "scVodImg": "@data-original", + "scVodMark": "", + "filter": { + "1": [ + { + "name": "类型", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "警匪片", "v": "警匪片" }, + { "n": "恐怖片", "v": "恐怖片" }, + { "n": "惊悚片", "v": "惊悚片" }, + { "n": "悬疑片", "v": "悬疑片" }, + { "n": "科幻片", "v": "科幻片" }, + { "n": "战争片", "v": "战争片" }, + { "n": "动作片", "v": "动作片" }, + { "n": "喜剧片", "v": "喜剧片" }, + { "n": "爱情片", "v": "爱情片" }, + { "n": "微电影", "v": "微电影" }, + { "n": "纪录片", "v": "纪录片" }, + { "n": "剧情片", "v": "剧情片" }, + { "n": "其他片", "v": "其他片" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "更早", "v": "更早" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "全部", "v": "addtime" }, + { "n": "时间", "v": "id" }, + { "n": "人气", "v": "hits" } + ] + } + ], + "2": [ + { + "name": "类型", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产剧", "v": "国产剧" }, + { "n": "日韩剧", "v": "日韩剧" }, + { "n": "欧美剧", "v": "欧美剧" }, + { "n": "海外剧", "v": "海外剧" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "更早", "v": "更早" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "全部", "v": "addtime" }, + { "n": "时间", "v": "id" }, + { "n": "人气", "v": "hits" } + ] + } + ], + "3": [ + { + "name": "类型", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产动漫", "v": "国产动漫" }, + { "n": "日韩动漫", "v": "日韩动漫" }, + { "n": "欧美动漫", "v": "欧美动漫" }, + { "n": "动画片", "v": "动画片" }, + { "n": "动漫片", "v": "动漫片" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "更早", "v": "更早" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "全部", "v": "addtime" }, + { "n": "时间", "v": "id" }, + { "n": "人气", "v": "hits" } + ] + } + ], + "4": [ + { + "name": "类型", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆综艺", "v": "大陆综艺" }, + { "n": "日韩综艺", "v": "日韩综艺" }, + { "n": "欧美综艺", "v": "欧美综艺" }, + { "n": "海外综艺", "v": "海外综艺" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "更早", "v": "更早" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "全部", "v": "addtime" }, + { "n": "时间", "v": "id" }, + { "n": "人气", "v": "hits" } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/789kanpian.json b/XPath/789kanpian.json new file mode 100644 index 0000000..fed8d16 --- /dev/null +++ b/XPath/789kanpian.json @@ -0,0 +1,543 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "http://789ba.com", + // "dcVipFlag": "false", + // "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'stui-header_bd')]/ul[contains(@class, 'menu')]/li/a[contains(@href,'list')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\S+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vod/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://789ba.com/show/{cateId}-{area}-{by}------{catePg}---{year}.html", + "cateVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://789ba.com/vod/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[@class='title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='data']/span[contains(text(), '类型:')]/parent::*/a/text()", + "dtCateR": "", + "dtActor": "//p[@class='data']/span[contains(text(), '主演')]/parent::*/a/text()", + "dtActorR": "", + "dtDirector": "//p[@class='data']/span[contains(text(), '导演:')]/parent::*/a/text()", + "dtDirectorR": "", + "dtDesc": "//span[contains(text(), '简介:')]/parent::*/text()", + "dtDescR": "", + "dtFromNode": "//h3[contains(text(), '播放')]", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//h3[contains(text(), '播放')]) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//ul[contains(@class, 'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://789ba.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.789ik.com/search/-------------.html?wd={wd}", + "scVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vod/(\\w+).html", + "scVodImg": "/@data-original", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "/span[contains(@class,'pic-text')]/text()", + "filter": { + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "日韩", + "v": "日韩" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/789kp.json b/XPath/789kp.json new file mode 100644 index 0000000..fed8d16 --- /dev/null +++ b/XPath/789kp.json @@ -0,0 +1,543 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "http://789ba.com", + // "dcVipFlag": "false", + // "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'stui-header_bd')]/ul[contains(@class, 'menu')]/li/a[contains(@href,'list')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\S+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vod/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://789ba.com/show/{cateId}-{area}-{by}------{catePg}---{year}.html", + "cateVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://789ba.com/vod/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[@class='title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='data']/span[contains(text(), '类型:')]/parent::*/a/text()", + "dtCateR": "", + "dtActor": "//p[@class='data']/span[contains(text(), '主演')]/parent::*/a/text()", + "dtActorR": "", + "dtDirector": "//p[@class='data']/span[contains(text(), '导演:')]/parent::*/a/text()", + "dtDirectorR": "", + "dtDesc": "//span[contains(text(), '简介:')]/parent::*/text()", + "dtDescR": "", + "dtFromNode": "//h3[contains(text(), '播放')]", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//h3[contains(text(), '播放')]) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//ul[contains(@class, 'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://789ba.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.789ik.com/search/-------------.html?wd={wd}", + "scVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vod/(\\w+).html", + "scVodImg": "/@data-original", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "/span[contains(@class,'pic-text')]/text()", + "filter": { + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "日韩", + "v": "日韩" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/90ys.json b/XPath/90ys.json new file mode 100644 index 0000000..4831ae9 --- /dev/null +++ b/XPath/90ys.json @@ -0,0 +1,28 @@ +{ + "url": "http://1090ys2.com", + "host": "1090ys2.com", + "regexCategory": "/whole/(\\w+).html", + "regexVid": "/show/(\\w+).html", + "regexPlay": "/play/(\\w+)-(\\d+)-(\\d+).html", + "regexPage": "/whole/\\d+/page/(\\d+).html", + "player": { + "youbo": { + "sh": "高速1", + "sn": "0", + "pu": "http://1090ys2.com/x2.php?id=", + "or": 999 + }, + "wanpan": { "sh": "高速备用", "sn": "0", "pu": "", "or": 999 }, + "niuxyun": { + "sh": "高速2", + "sn": "1", + "pu": "http://1090ys2.com/nxjx/jx.php?id=", + "or": 999 + }, + "bjm3u8": { "sh": "备用2", "sn": "0", "pu": "", "or": 999 }, + "dbm3u8": { "sh": "备用3", "sn": "0", "pu": "", "or": 999 }, + "nfmp4": { "sh": "高速3", "sn": "0", "pu": "", "or": 999 }, + "tkm3u8": { "sh": "备用1", "sn": "0", "pu": "", "or": 999 }, + "wjm3u8": { "sh": "备用4", "sn": "0", "pu": "", "or": 999 } + } +} diff --git a/XPath/94shenma.json b/XPath/94shenma.json new file mode 100644 index 0000000..8cbebc9 --- /dev/null +++ b/XPath/94shenma.json @@ -0,0 +1,62 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.jiujiukanpian.com", + "cateNode": "//ul[contains(@class,'navbar-nav')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + "cateName": "/text()", + "cateNameR": "热门(.+)", + "cateId": "/@href", + "cateIdR": "/type/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='col-md-12 movie-item-out']//a[not(contains(@href, '6'))]/parent::*/parent::*/parent::*/div[contains(@class, 'movie-item-out') and position()<10]/div[@class='movie-item']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/img/@src", + "homeVodMark": "/button/text()", + "cateUrl": "https://www.jiujiukanpian.com/type/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='movie-item']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/button/text()", + "dtUrl": "https://www.jiujiukanpian.com/show/{vid}.html", + "dtNode": "//div[@class='container-fluid']", + "dtName": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@src", + "dtImgR": "", + "dtCate": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '类型')]/parent::*/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '日期')]/parent::*/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '国家')]/parent::*/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '状态')]/parent::*/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '主演')]/parent::*/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '导演')]/parent::*/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//p[@class='summary']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'resource-list')]/div[@class='panel-heading']/strong", + "dtFromName": "/text()", + "dtFromNameR": "\\S+\\.(\\S+) \\(", + "dtUrlNode": "//div[contains(@class,'resource-list')]/ul[@class='dslist-group']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.jiujiukanpian.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.40mdd.com/search?wd={wd}", + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} \ No newline at end of file diff --git a/XPath/94sm.json b/XPath/94sm.json new file mode 100644 index 0000000..f40d4d0 --- /dev/null +++ b/XPath/94sm.json @@ -0,0 +1,62 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.jiujiukanpian.com", + "cateNode": "//ul[contains(@class,'navbar-nav')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + "cateName": "/text()", + "cateNameR": "热门(.+)", + "cateId": "/@href", + "cateIdR": "/type/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='col-md-12 movie-item-out']//a[not(contains(@href, '6'))]/parent::*/parent::*/parent::*/div[contains(@class, 'movie-item-out') and position()<10]/div[@class='movie-item']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/img/@src", + "homeVodMark": "/button/text()", + "cateUrl": "https://www.jiujiukanpian.com/type/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='movie-item']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/button/text()", + "dtUrl": "https://www.jiujiukanpian.com/show/{vid}.html", + "dtNode": "//div[@class='container-fluid']", + "dtName": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@src", + "dtImgR": "", + "dtCate": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '类型')]/parent::*/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '日期')]/parent::*/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '国家')]/parent::*/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '状态')]/parent::*/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '主演')]/parent::*/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '导演')]/parent::*/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//p[@class='summary']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'resource-list')]/div[@class='panel-heading']/strong", + "dtFromName": "/text()", + "dtFromNameR": "\\S+\\.(\\S+) \\(", + "dtUrlNode": "//div[contains(@class,'resource-list')]/ul[@class='dslist-group']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.jiujiukanpian.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.40mdd.com/search?wd={wd}", + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} diff --git a/XPath/9Eguoyu.json b/XPath/9Eguoyu.json new file mode 100644 index 0000000..bdec9f4 --- /dev/null +++ b/XPath/9Eguoyu.json @@ -0,0 +1,65 @@ +{ + "ua": "", + "homeUrl": "http://www.9eguoyu.com/", + "dcVipFlag": "true", + "pCfgJs": "http://www.9eguoyu.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "zuijinrebodianying", + "综艺": "zongyi", + "电视剧": "zuijinrebodianshiju", + "动漫": "dongman", + "美剧": "rebomeiju", + "日韩剧": "reborihanju", + "国配电影": "gypy", + "国配外剧": "guoyupeiyinhanju" + }, + "homeVodNode": "//li[@class='col-lg-6 col-md-6 col-sm-4 col-xs-3']/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "//span[contains(@class,'pic-text text-right')]/text()", + "cateUrl": "http://www.9eguoyu.com/vodshow/{cateId}/page/{catePg}.html", + "cateVodNode": "//li[@class='col-lg-8 col-md-6 col-sm-4 col-xs-3']/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "//span[contains(@class,'pic-text text-right')]/text()", + "dtUrl": "http://www.9eguoyu.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='col-xs-1']/div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='col-xs-1']/div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtMark": "//span[contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//div[@class='col-pd text-collapse content']/p/text()", + "dtFromNode": "//ul[@class='nav nav-tabs active']/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='myui-content__list scrollbar sort-list clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.9eguoyu.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.9eguoyu.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/9ekk.json b/XPath/9ekk.json new file mode 100644 index 0000000..2431c55 --- /dev/null +++ b/XPath/9ekk.json @@ -0,0 +1,397 @@ +{ + "url": "https://9egood.com", + "host": "9egood.com", + "regexCategory": "/vodshow/(\\S+).html", + "regexVid": "/voddetail/(\\d+).html", + "regexPlay": "/vodplay/(\\d+)-(\\d+)-(\\d+).html", + "regexPage": "\\S+/page/(\\d+)\\S+", + "urlCategory": "/vodshow/|.html", + "urlDetail": "/voddetail/|.html", + "urlPlay": "/vodplay/|.html", + "urlSearch": "/vsearch/-------------.html?wd=|&submit=", + "player": { + "9ekk": { "sh": "手机线路", "sn": 0, "pu": "", "or": 999 }, + "ttee": { "sh": "9亿超清", "sn": 0, "pu": "", "or": 999 }, + "9999ku": { "sh": "手机线路2", "sn": 0, "pu": "", "or": 999 }, + "gsyun": { "sh": "九亿超清", "sn": 0, "pu": "", "or": 999 }, + "kkyun": { "sh": "HD超清线路", "sn": 0, "pu": "", "or": 999 }, + "ty01": { "sh": "超清线路", "sn": 0, "pu": "", "or": 999 }, + "ppayun": { + "sh": "九亿线路", + "sn": 0, + "pu": "https://wy.mlkioiy.cn/api/GetDownUrlWy/d91ea50eb7eb4932b92aa8bb3c61560d/", + "or": 999 + }, + "8kdm": { "sh": "九亿动漫", "sn": 0, "pu": "", "or": 999 }, + "jsyun": { "sh": "九亿备用", "sn": 0, "pu": "", "or": 999 }, + "9evip": { "sh": "九亿解析-弃用", "sn": 0, "pu": "", "or": 999 }, + "189pan": { + "sh": "九亿超清11", + "sn": 0, + "pu": "http://1987s.com/api/dp.php?url=", + "or": 999 + }, + "VIP": { "sh": "VIP线路", "sn": 0, "pu": "", "or": 999 }, + "qq": { "sh": "九亿解析", "sn": 1, "pu": "", "or": 999 }, + "mgtv": { "sh": "九亿解析", "sn": 1, "pu": "", "or": 999 }, + "bjm3u8": { "sh": "线路三", "sn": 0, "pu": "", "or": 999 }, + "dbm3u8": { "sh": "线路四", "sn": 0, "pu": "", "or": 999 }, + "ckm3u8": { "sh": "线路二", "sn": 0, "pu": "", "or": 999 }, + "mahua": { "sh": "线路四", "sn": 0, "pu": "", "or": 999 }, + "123kum3u8": { + "sh": "123kum3u8", + "sn": 1, + "pu": "https://jx.123ku.com/123kudpbfq/?url=", + "or": 999 + }, + "pqc": { + "sh": "测试", + "sn": 1, + "pu": "https://jx.qiuzeqi.top/jx1/dp/index.php?url=", + "or": 999 + }, + "test": { + "sh": "test", + "sn": 1, + "pu": "https//1987s.com/api/dp.php?url=", + "or": 999 + } + }, + "filter": { + "dianying": [ + { + "key": "tid", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语配音电影", "v": "gypy" }, + { "n": "最近热播电影", "v": "zuijinrebodianying" }, + { "n": "动作片", "v": "dongzuopian" }, + { "n": "喜剧片", "v": "xijupian" }, + { "n": "爱情片", "v": "aiqingpian" }, + { "n": "科幻片", "v": "kehuanpian" }, + { "n": "恐怖片", "v": "kongbupian" }, + { "n": "剧情片", "v": "juqingpian" }, + { "n": "战争片", "v": "zhanzhengpian" } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "动作", "v": "动作" }, + { "n": "科幻", "v": "科幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "战争", "v": "战争" }, + { "n": "警匪", "v": "警匪" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动画", "v": "动画" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "武侠", "v": "武侠" }, + { "n": "冒险", "v": "冒险" }, + { "n": "枪战", "v": "枪战" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "经典", "v": "经典" }, + { "n": "青春", "v": "青春" }, + { "n": "文艺", "v": "文艺" }, + { "n": "微电影", "v": "微电影" }, + { "n": "古装", "v": "古装" }, + { "n": "历史", "v": "历史" }, + { "n": "运动", "v": "运动" }, + { "n": "农村", "v": "农村" }, + { "n": "儿童", "v": "儿童" }, + { "n": "网络电影", "v": "网络电影" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "中国香港", "v": "中国香港" }, + { "n": "中国台湾", "v": "中国台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "德国", "v": "德国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "意大利", "v": "意大利" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "其他", "v": "其他" }, + { "n": "热门", "v": "热门" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "lianxuju": [ + { + "key": "tid", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "最近热播电视剧", "v": "zuijinrebodianshiju" }, + { "n": "国语配音剧集", "v": "guoyupeiyinhanju" }, + { "n": "热播美剧", "v": "rebomeiju" }, + { "n": "电视剧", "v": "guochanju" }, + { "n": "港台剧", "v": "gangtaiju" }, + { "n": "日韩剧", "v": "rihanju" }, + { "n": "欧美剧", "v": "oumeiju" } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + { "n": "青春偶像", "v": "青春偶像" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "家庭", "v": "家庭" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "经典", "v": "经典" }, + { "n": "乡村", "v": "乡村" }, + { "n": "情景", "v": "情景" }, + { "n": "商战", "v": "商战" }, + { "n": "网剧", "v": "网剧" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "韩国", "v": "韩国" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "zongyi": [ + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "选秀", "v": "选秀" }, + { "n": "情感", "v": "情感" }, + { "n": "访谈", "v": "访谈" }, + { "n": "播报", "v": "播报" }, + { "n": "旅游", "v": "旅游" }, + { "n": "音乐", "v": "音乐" }, + { "n": "美食", "v": "美食" }, + { "n": "纪实", "v": "纪实" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "生活", "v": "生活" }, + { "n": "游戏互动", "v": "游戏互动" }, + { "n": "财经", "v": "财经" }, + { "n": "求职", "v": "求职" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "大陆", "v": "大陆" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "dongman": [ + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "情感", "v": "情感" }, + { "n": "科幻", "v": "科幻" }, + { "n": "热血", "v": "热血" }, + { "n": "推理", "v": "推理" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "冒险", "v": "冒险" }, + { "n": "萝莉", "v": "萝莉" }, + { "n": "校园", "v": "校园" }, + { "n": "动作", "v": "动作" }, + { "n": "机战", "v": "机战" }, + { "n": "运动", "v": "运动" }, + { "n": "战争", "v": "战争" }, + { "n": "少年", "v": "少年" }, + { "n": "少女", "v": "少女" }, + { "n": "社会", "v": "社会" }, + { "n": "原创", "v": "原创" }, + { "n": "亲子", "v": "亲子" }, + { "n": "益智", "v": "益智" }, + { "n": "励志", "v": "励志" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产", "v": "国产" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] + } +} diff --git a/XPath/AGEdongman.json b/XPath/AGEdongman.json new file mode 100644 index 0000000..faa4f42 --- /dev/null +++ b/XPath/AGEdongman.json @@ -0,0 +1,51 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.agemys.com/update", + "cateManual": { + "全部": "", + "中国": "-中国-all-all", + "日本": "-日本-all-all", + "欧美": "-欧美-all-all" + }, + "homeVodNode": "//div[@class='blockcontent']//ul[@class='ul_li_a6']/li", + "homeVodName": "/h4[@class='anime_icon2_name']/a/text()", + "homeVodId": "/h4[@class='anime_icon2_name']/a/@href", + "homeVodIdR": "/detail/(\\w+)", + "homeVodImg": "//img/@src", + "homeVodMark": "//img/@title", + "cateUrl": "https://www.agemys.com/catalog/all-all-all-all-all-time-{catePg}{cateId}", + "cateVodNode": "//div[@class='blockcontent1']/div/a", + "cateVodName": "/img/@alt", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+)", + "cateVodImg": "/img/@src", + "cateVodMark": "/span[@class='newname']/text()", + "dtUrl": "https://www.agemys.com/detail/{vid}", + "dtNode": "//body", + "dtName": "//div[@class='blockcontent']/img/@alt", + "dtImg": "//div[@class='blockcontent']/img/@src", + "dtCate": "//span[@class='detail_imform_tag' and contains(text(), '剧情类型')]/following-sibling::*/text()", + "dtYear": "//span[@class='detail_imform_tag' and contains(text(), '首播时间')]/following-sibling::*/text()", + "dtArea": "//span[@class='detail_imform_tag' and contains(text(), '地区')]/following-sibling::*/text()", + "dtMark": "", + "dtActor": "//span[@class='detail_imform_tag' and contains(text(), '原作')]/following-sibling::*/text()", + "dtDirector": "//span[@class='detail_imform_tag' and contains(text(), '制作公司')]/following-sibling::*/text()", + "dtDesc": "//div[@class='detail_imform_desc_pre']/p/text()", + "dtFromNode": "//div[@id='playlist-div']/ul[@class='menu0']/li", + "dtFromName": "/text()", + "dtUrlNode": "//div[@id='playlist-div']/div[@class='main0']/div", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+)", + "dtUrlName": "/text()", + "playUrl": "https://www.agemys.com/play/{playUrl}", + "playUa": "", + "searchUrl": "https://www.agemys.com/search?query={wd}&page=1", + "scVodNode": "//div[@class='blockcontent1']/div/a", + "scVodName": "/img/@alt", + "scVodId": "/@href", + "scVodIdR": "/detail/(\\w+)", + "scVodImg": "/img/@src", + "scVodMark": "/span[@class='newname']/text()" +} \ No newline at end of file diff --git a/XPath/AGE动漫.json b/XPath/AGE动漫.json new file mode 100644 index 0000000..27598a9 --- /dev/null +++ b/XPath/AGE动漫.json @@ -0,0 +1,50 @@ +{ + "ua": "", + "homeUrl": "https://www.agemys.com/update", + "cateManual": { + "全部": "", + "中国": "-中国-all-all", + "日本": "-日本-all-all", + "欧美": "-欧美-all-all" + }, + "homeVodNode": "//div[@class='blockcontent']//ul[@class='ul_li_a6']/li", + "homeVodName": "/h4[@class='anime_icon2_name']/a/text()", + "homeVodId": "/h4[@class='anime_icon2_name']/a/@href", + "homeVodIdR": "/detail/(\\w+)", + "homeVodImg": "//img/@src", + "homeVodMark": "//img/@title", + "cateUrl": "https://www.agemys.com/catalog/all-all-all-all-all-time-{catePg}{cateId}", + "cateVodNode": "//div[@class='blockcontent1']/div/a", + "cateVodName": "/img/@alt", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+)", + "cateVodImg": "/img/@src", + "cateVodMark": "/span[@class='newname']/text()", + "dtUrl": "https://www.agemys.com/detail/{vid}", + "dtNode": "//body", + "dtName": "//div[@class='blockcontent']/img/@alt", + "dtImg": "//div[@class='blockcontent']/img/@src", + "dtCate": "//span[@class='detail_imform_tag' and contains(text(), '剧情类型')]/following-sibling::*/text()", + "dtYear": "//span[@class='detail_imform_tag' and contains(text(), '首播时间')]/following-sibling::*/text()", + "dtArea": "//span[@class='detail_imform_tag' and contains(text(), '地区')]/following-sibling::*/text()", + "dtMark": "", + "dtActor": "//span[@class='detail_imform_tag' and contains(text(), '原作')]/following-sibling::*/text()", + "dtDirector": "//span[@class='detail_imform_tag' and contains(text(), '制作公司')]/following-sibling::*/text()", + "dtDesc": "//div[@class='detail_imform_desc_pre']/p/text()", + "dtFromNode": "//div[@id='playlist-div']/ul[@class='menu0']/li", + "dtFromName": "/text()", + "dtUrlNode": "//div[@id='playlist-div']/div[@class='main0']/div", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+)", + "dtUrlName": "/text()", + "playUrl": "https://www.agemys.com/play/{playUrl}", + "playUa": "", + "searchUrl": "https://www.agemys.com/search?query={wd}&page=1", + "scVodNode": "//div[@class='blockcontent1']/div/a", + "scVodName": "/img/@alt", + "scVodId": "/@href", + "scVodIdR": "/detail/(\\w+)", + "scVodImg": "/img/@src", + "scVodMark": "/span[@class='newname']/text()" +} \ No newline at end of file diff --git a/XPath/Aixixi.json b/XPath/Aixixi.json new file mode 100644 index 0000000..be40928 --- /dev/null +++ b/XPath/Aixixi.json @@ -0,0 +1,213 @@ +{ + "author": "takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://myaixixi.com/", + "dcVipFlag": "true", + "pCfgJs": "https://myaixixi.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "剧集": "2", + "综艺": "3", + "动漫": "4" + }, + // Home Summary ================================================ + "homeVodNode": "//div[contains(@class,'mo-cols-lays')]/ul/li", + "homeVodName": "/a[2]/text()", + "homeVodId": "/a[1]/@href", + "homeVodImg": "/a[1]/@data-original", + "homeVodMark": "/a[1]/span[3]/text()", + // Category Summary ================================================ + "cateUrl": "https://myaixixi.com/index.php/vod/show{area}/id/{cateId}/page/{catePg}{year}.html", + "cateVodNode": "//div[contains(@class,'mo-cols-lays')]/ul/li", + "cateVodName": "/a[2]/text()", + "cateVodId": "/a[1]/@href", + "cateVodImg": "/a[1]/@data-original", + "cateVodMark": "/a[1]/span[3]/text()", + // Category Details ================================================ + "dtUrl": "https://myaixixi.com/{vid}", + "dtNode": "//div[contains(@class,'mo-main-info')]", + "dtName": "//div/div/dl/dt/a/img/@alt", + "dtImg": "//img[contains(@class,'mo-part-full')]/@src", + "dtCate": "//dd[contains(@class,'mo-paxs-5px')]/ul[contains(@class,'mo-cols-rows')]/li[3]/a/text()", + "dtArea": "//dd[contains(@class,'mo-paxs-5px')]/ul[contains(@class,'mo-cols-rows')]/li[4]/a/text()", + "dtYear": "//dd[contains(@class,'mo-paxs-5px')]/ul[contains(@class,'mo-cols-rows')]/li[5]/a/text()", + "dtActor": "//dd[contains(@class,'mo-paxs-5px')]/ul[contains(@class,'mo-cols-rows')]/li[1]/a/text()", + "dtDirector": "//dd[contains(@class,'mo-paxs-5px')]/ul[contains(@class,'mo-cols-rows')]/li[2]/a/text()", + "dtMark": "//a[contains(@class,'mo-situ-pics mo-situ-lazy')]//span[contains(@class,'mo-situ-rema mo-part-ramp')]/text()", + "dtDesc": "//div[contains(@class,'mo-word-info')]/div/text()", + // Playlist ===================================================== + // "dtFromNode": "//div[contains(@class,'mo-cols-lays')][2]", + "dtFromNode": "//div[contains(@class,'mo-cols-lays')][2]/div[contains(@class,'mo-sort-head')]/h2[contains(@class,'mo-fsxs-14px')]/a", + // "dtFromName": "/div[contains(@class,'mo-sort-head')]/h2[contains(@class,'mo-fsxs-14px')]/a/text()", // number must match + "dtFromName": "/text()", // number must match + "dtFromNameR": "(.+)\\(", + "dtUrlNode": "//ul[contains(@class,'mo-movs-item')]", // number must match + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlName": "/text()", + "playUrl": "https://myaixixi.com/{playUrl}", + "playUa": "", + // Search Results ================================================ + "searchUrl": "https://myaixixi.com/index.php/vod/search/wd/{wd}.html", + "scVodNode": "//div[contains(@class,'mo-main-info')]", + "scVodName": "//div/div/div/dl/dd/h1/a/text()", + "scVodId": "//div/div/div/dl/dd/h1/a/@href", + "scVodImg": "//div/div/div/dl/dt/a/@data-original", + "scVodMark": "", + // Filters ======================================================= + "filter": { + "1": [ // 电影 + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"} + ] + } + ], + "2": [ // 剧集 + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国","v": "/area/内地"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"} + ] + } + ], + "4": [ // 动漫 + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "日本","v": "/area/日本"}, + {"n": "中国","v": "/area/国产"}, + {"n": "欧美","v": "/area/欧美"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"} + ] + } + ], + "3": [ // 综艺 + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国","v": "/area/内地"}, + {"n": "港台","v": "/area/港台"}, + {"n": "日韩","v": "/area/日韩"}, + {"n": "欧美","v": "/area/欧美"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"} + ] + } + ] + } + } diff --git a/XPath/Auete2.json b/XPath/Auete2.json new file mode 100644 index 0000000..0769202 --- /dev/null +++ b/XPath/Auete2.json @@ -0,0 +1,6 @@ +{ + "url": "https://auete.com", + "host": "auete.com", + "class": [{"type_id":"1","type_name":"电影"},{"type_id":"2","type_name":"连续剧"},{"type_id":"3","type_name":"综艺"},{"type_id":"4","type_name":"动漫"}], + "filter": {"1":[{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"},{"n":"more","v":"more"}]},{"key":"jq","name":"类型","value":[{"n":"全部","v":""},{"n":"Netflix","v":"Netflix"},{"n":"惊悚","v":"惊悚"},{"n":"悬疑","v":"悬疑"},{"n":"Top250","v":"Top250"},{"n":"奇幻","v":"奇幻"},{"n":"漫改","v":"漫改"},{"n":"灾难","v":"灾难"},{"n":"犯罪","v":"犯罪"},{"n":"文艺","v":"文艺"},{"n":"西部","v":"西部"},{"n":"丧尸","v":"丧尸"},{"n":"传记","v":"传记"},{"n":"经典","v":"经典"},{"n":"历史","v":"历史"},{"n":"音乐","v":"音乐"},{"n":"穿越","v":"穿越"},{"n":"武侠","v":"武侠"},{"n":"歌舞","v":"歌舞"},{"n":"古装","v":"古装"},{"n":"名著","v":"名著"},{"n":"同性","v":"同性"},{"n":"运动","v":"运动"},{"n":"邵氏","v":"邵氏"},{"n":"战争","v":"战争"},{"n":"短片","v":"短片"},{"n":"儿童","v":"儿童"},{"n":"恐怖","v":"恐怖"},{"n":"二次元","v":"二次元"},{"n":"商战","v":"商战"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"西班牙","v":"西班牙"},{"n":"其他","v":"其他"}]}],"2":[{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"},{"n":"more","v":"more"}]},{"key":"jq","name":"类型","value":[{"n":"全部","v":""},{"n":"Netflix","v":"Netflix"},{"n":"惊悚","v":"惊悚"},{"n":"悬疑","v":"悬疑"},{"n":"Top250","v":"Top250"},{"n":"奇幻","v":"奇幻"},{"n":"漫改","v":"漫改"},{"n":"灾难","v":"灾难"},{"n":"犯罪","v":"犯罪"},{"n":"文艺","v":"文艺"},{"n":"西部","v":"西部"},{"n":"丧尸","v":"丧尸"},{"n":"传记","v":"传记"},{"n":"经典","v":"经典"},{"n":"历史","v":"历史"},{"n":"音乐","v":"音乐"},{"n":"穿越","v":"穿越"},{"n":"武侠","v":"武侠"},{"n":"歌舞","v":"歌舞"},{"n":"古装","v":"古装"},{"n":"名著","v":"名著"},{"n":"同性","v":"同性"},{"n":"运动","v":"运动"},{"n":"邵氏","v":"邵氏"},{"n":"战争","v":"战争"},{"n":"短片","v":"短片"},{"n":"儿童","v":"儿童"},{"n":"恐怖","v":"恐怖"},{"n":"二次元","v":"二次元"},{"n":"商战","v":"商战"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"西班牙","v":"西班牙"},{"n":"其他","v":"其他"}]}],"3":[{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"},{"n":"more","v":"more"}]},{"key":"jq","name":"类型","value":[{"n":"全部","v":""},{"n":"Netflix","v":"Netflix"},{"n":"惊悚","v":"惊悚"},{"n":"悬疑","v":"悬疑"},{"n":"Top250","v":"Top250"},{"n":"奇幻","v":"奇幻"},{"n":"漫改","v":"漫改"},{"n":"灾难","v":"灾难"},{"n":"犯罪","v":"犯罪"},{"n":"文艺","v":"文艺"},{"n":"西部","v":"西部"},{"n":"丧尸","v":"丧尸"},{"n":"传记","v":"传记"},{"n":"经典","v":"经典"},{"n":"历史","v":"历史"},{"n":"音乐","v":"音乐"},{"n":"穿越","v":"穿越"},{"n":"武侠","v":"武侠"},{"n":"歌舞","v":"歌舞"},{"n":"古装","v":"古装"},{"n":"名著","v":"名著"},{"n":"同性","v":"同性"},{"n":"运动","v":"运动"},{"n":"邵氏","v":"邵氏"},{"n":"战争","v":"战争"},{"n":"短片","v":"短片"},{"n":"儿童","v":"儿童"},{"n":"恐怖","v":"恐怖"},{"n":"二次元","v":"二次元"},{"n":"商战","v":"商战"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"西班牙","v":"西班牙"},{"n":"其他","v":"其他"}]}],"4":[{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"},{"n":"more","v":"more"}]},{"key":"jq","name":"类型","value":[{"n":"全部","v":""},{"n":"Netflix","v":"Netflix"},{"n":"惊悚","v":"惊悚"},{"n":"悬疑","v":"悬疑"},{"n":"Top250","v":"Top250"},{"n":"奇幻","v":"奇幻"},{"n":"漫改","v":"漫改"},{"n":"灾难","v":"灾难"},{"n":"犯罪","v":"犯罪"},{"n":"文艺","v":"文艺"},{"n":"西部","v":"西部"},{"n":"丧尸","v":"丧尸"},{"n":"传记","v":"传记"},{"n":"经典","v":"经典"},{"n":"历史","v":"历史"},{"n":"音乐","v":"音乐"},{"n":"穿越","v":"穿越"},{"n":"武侠","v":"武侠"},{"n":"歌舞","v":"歌舞"},{"n":"古装","v":"古装"},{"n":"名著","v":"名著"},{"n":"同性","v":"同性"},{"n":"运动","v":"运动"},{"n":"邵氏","v":"邵氏"},{"n":"战争","v":"战争"},{"n":"短片","v":"短片"},{"n":"儿童","v":"儿童"},{"n":"恐怖","v":"恐怖"},{"n":"二次元","v":"二次元"},{"n":"商战","v":"商战"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"西班牙","v":"西班牙"},{"n":"其他","v":"其他"}]}]} +} \ No newline at end of file diff --git a/XPath/BIDIcili.json b/XPath/BIDIcili.json new file mode 100644 index 0000000..3a947bf --- /dev/null +++ b/XPath/BIDIcili.json @@ -0,0 +1,67 @@ + +//最新域名 www.btbdys.com,备用域名 bde4.icu,旧站https://www.mp4er.cc/,https://www.52bdys.com/ +{ + "ua": "", + "homeUrl": "https://www.bdys01.com", + "dcPlayUrl": "true", + "cateNode": "//a[contains(@href,'/s/')]", + "cateName": "concat(//span[contains(@class,'nav-link-title')]/text(),//a[contains(@class,'dropdown-item')]/text())", + "cateId": "/@href", + "cateIdR": "/s/(\\w+)", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'col-4 rows-md-7')]/div[contains(@class,'card card-sm card-link')]", + "homeVodName": "//h3/text()", + "homeVodId": "/a/@href", + "homeVodIdR": "/(\\S+).htm", + "homeVodImg": "/a/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "concat(//div[contains(@class,'ribbon ribbon-bookmark ribbon-top bg-azure p-0')]/text(),//span[contains(@class,'badge bg-pink position-absolute top-0 start-0')]/text())", + "cateUrl": "https://www.bdys01.com/s/{cateId}/{catePg}", + "cateVodNode": "//div[contains(@class,'col-lg-8 col-4')]/div[contains(@class,'card card-sm card-link')]", + "cateVodName": "//h3/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "/(\\S+).htm", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "concat(//div[contains(@class,'ribbon ribbon-bookmark ribbon-top bg-azure p-0')]/text(),//span[contains(@class,'badge bg-pink position-absolute top-0 start-0')]/text())", + "dtUrl": "https://www.bdys01.com/{vid}.htm", + "dtNode": "//body", + "dtName": "//h2/text()", + "dtNameR": "", + "dtImg": "//div[@class='col-md-auto col-5 cover-lg-max-25']/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='col mb-2']/p/a[contains(@target,'new')]/text()", + "dtArea": "//div[@class='col mb-2']//strong[contains(text(),'地区')]/parent::text()", + "dtAreaR": "\\[(\\S+)\\]", + "dtYear": "//div[@class='col mb-2']//strong[contains(text(),'上映日期')]/parent::text()", + "dtYearR": "(\\w+)", + "dtActor": "//div[@class='col mb-2']//a[contains(@href,'performer')]/text()", + "dtDirector": "//div[@class='col mb-2']//a[contains(@href,'director')]/text()", + "dtDesc": "//div[@class='card collapse']//div[@class='card-body']/text()'", + "dtFromNode": "//tbody[contains(@id,'download-list')]/tr[1]", + "dtFromName": "/td[2]/text()", + "dtUrlNode": "//tbody[contains(@id,'download-list')]", + "dtUrlSubNode": "//tr[1]", + "dtUrlId": "/td[3]/a/@href", + "dtUrlIdR": "", + "dtUrlName": "/td[2]/text()", + "playUrl": "", + //"dtFromNode": "//div[@class='info1']/h4/div", + //"dtFromName": "/text()", + //"dtFromNameR": "", + //"dtUrlNode": "//div[@class='info1']", + //"dtUrlSubNode": "/a", + //"dtUrlId": "@href", + //"dtUrlIdR": "/play/(\\S+).html", + //"dtUrlName": "/text()", + //"dtUrlNameR": "", + //"playUrl": "https://www.52bdys.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.bdys01.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/CILIsousuo.json b/XPath/CILIsousuo.json new file mode 100644 index 0000000..c0f1568 --- /dev/null +++ b/XPath/CILIsousuo.json @@ -0,0 +1,32 @@ +{ +"ua": "", +"dtUrl": "https://1024bt25.xyz{vid}", +"dtNode": "//div[@id='content']", +"dtName": "//h2/text()", +"dtNameR": "", +"dtImg": "/@null", +"dtCate": "concat(//tbody/td[1]//text())", +"dtCateR": "", +"dtYear": "concat(//tbody/td[2]//text())", +"dtYearR": "", +"dtDesc": "concat(//ol//text(),'')", +"dtDescR": "", +"dtFromNode": "//div[@id='wall']", +"dtFromName": "concat('磁力链接','')", +"dtFromNameR": "", +"dtUrlNode": "//div[@id='magnet']", +"dtUrlSubNode": "//a", +"dtUrlId": "/@href", +"dtUrlIdR": "", +"dtUrlName": "/text()", +"playUrl": "{playUrl}", +"playUa": "", +"searchUrl": "https://1024bt25.xyz/main-search-kw-{wd}-length-1.html", +"scVodNode": "//div[@class='item-title']/h3/a", +"scVodName": "/@title", +"scVodId": "/@href", +"scVodIdR": "", +"scVodImg": "/@null", +"scVodImgR": "", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/Djx.json b/XPath/Djx.json new file mode 100644 index 0000000..111d898 --- /dev/null +++ b/XPath/Djx.json @@ -0,0 +1,347 @@ +{ + "author": "Tangsan99999", + "ua": "", + "homeUrl": "https://www.dijiaxia.com/", + "dcVipFlag": "true", + "pCfgJs": "https://www.dijiaxia.com//static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'nav-menu')]/li/a[contains(@href, 'vod')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/type/id/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.dijiaxia.com/index.php/vod/show/area/{area}/id/{cateId}/by/{by}/year/{year}/page/{catePg}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.dijiaxia.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'myui-content__thumb')]/a/@title", + "dtNameR": "", + "dtImg": "//div[contains(@class,'myui-content__thumb')]/a/img/@data-original", + "dtImgR": "", + "dtCate": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '分类')]/following-sibling::a/text()", + "dtYear": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '年份')]/following-sibling::a/text()", + "dtArea": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '地区')]/following-sibling::a/text()", + "dtMark": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '更新')]/following-sibling::a/text()", + "dtDirector": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '简介')]/parent::*/text()[2]", + "dtFromNode": "//ul[contains(@class,'nav-tabs')]/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.dijiaxia.com/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.dijiaxia.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "4K专区","v": "43"}, + {"n": "动作片","v": "6"}, + {"n": "喜剧片","v": "7"}, + {"n": "爱情片","v": "8"}, + {"n": "科幻片","v": "9"}, + {"n": "恐怖片","v": "10"}, + {"n": "剧情片","v": "11"}, + {"n": "战争片","v": "12"}, + {"n": "犯罪片","v": "24"}, + {"n": "战争片","v": "25"}, + {"n": "悬疑片","v": "26"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产剧","v": "13"}, + {"n": "高评分独家资源","v": "42"}, + {"n": "港台剧","v": "14"}, + {"n": "日韩剧","v": "15"}, + {"n": "欧美剧","v": "16"}, + {"n": "泰国剧","v": "31"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "3": [ + { + "key": "cateId", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "国内综艺","v": "33"}, + {"n": "国外综艺","v": "34"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "4": [ + { + "key": "cateId", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产动漫","v": "35"}, + {"n": "日韩动漫","v": "38"}, + {"n": "欧美动漫","v": "37"}, + {"n": "其他动漫","v": "39"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "20": [ + { + "key": "cateId", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "国漫","v": "22"}, + {"n": "番剧","v": "23"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "44": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ] + } +} diff --git a/XPath/Excel.json b/XPath/Excel.json new file mode 100644 index 0000000..72c6829 --- /dev/null +++ b/XPath/Excel.json @@ -0,0 +1,1461 @@ +{ + "classes": [ + { + "type_name": "吾爱评测私人订制", + "type_id": "吾爱评测" + }, + + { + "type_name": "VLOOKUP", + "type_id": "VLOOKUP" + }, + { + "type_name": "VLOOKUP技巧", + "type_id": "VLOOKUP技巧" + }, + { + "type_name": "VLOOKUP教程", + "type_id": "VLOOKUP教程" + }, + { + "type_name": "VLOOKUP公式", + "type_id": "VLOOKUP公式" + }, + { + "type_name": "VLOOKUP常用", + "type_id": "VLOOKUP常用" + }, + { + "type_name": "VLOOKUP组合", + "type_id": "VLOOKUP组合" + }, + + { + "type_name": "VLOOKUP视频", + "type_id": "VLOOKUP视频" + }, + { + "type_name": "VLOOKUP高级", + "type_id": "VLOOKUP高级" + }, + { + "type_name": "VLOOKUP用法", + "type_id": "VLOOKUP用法" + }, + { + "type_name": "数据透视表", + "type_id": "数据透视表" + }, + { + "type_name": "数据透视表高阶用法", + "type_id": "数据透视表高阶用法" + }, + { + "type_name": "数据透视表技巧", + "type_id": "数据透视表技巧" + } + + + + ], + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "TVBox": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/GIMY.json b/XPath/GIMY.json new file mode 100644 index 0000000..d7af0a8 --- /dev/null +++ b/XPath/GIMY.json @@ -0,0 +1,269 @@ +{ + "author": "Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://gimytv.com/", + "dcVipFlag": "true", + "pCfgJs": "https://gimytv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[@class='myui-header__menu']/li/a[contains(@href, 'browse')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/browse/(\\w+).html", + "cateManual": { + "电影": "movies", + "电视剧": "tvseries", + "综艺": "tv_show", + "动漫": "anime" + }, + "homeVodNode": "//ul[@class='myui-vodlist clearfix']/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[contains(@class, 'pic-text')]/text()", + "cateUrl": "https://gimytv.com/genre/{cateId}-{area}-{year}-{catePg}/by/{by}.html", + "cateVodNode": "//ul[@class='myui-vodlist clearfix']/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[contains(@class, 'pic-text')]/text()", + "dtUrl": "https://gimytv.com/{vid}.html", + "dtNode": "//div[@class='container']", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='data']/span[contains(text(), '分類')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//p[@class='data']/span[contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtMark": "//p[@class='data']/span[contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//p[@class='data']/span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//p[@class='data']/span[contains(text(), '導演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(@class,'col-pd')]/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='myui-panel_hd']/div/h3[contains(text(),'線路')]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://gimytv.com/{playUrl}.html", + "playUa": "", + "searchUrl": "https://gimytv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "movies": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "劇情片","v": "drama"}, + {"n": "動作片","v": "action"}, + {"n": "科幻片","v": "scifi"}, + {"n": "喜劇片","v": "comedymovie"}, + {"n": "愛情片","v": "romance"}, + {"n": "戰爭片","v": "war"}, + {"n": "恐怖片","v": "horror"}, + {"n": "動畫電影","v": "animation"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "美國","v": "美國"}, + {"n": "歐美","v": "歐美"}, + {"n": "大陸","v": "大陸"}, + {"n": "中國大陸","v": "中國大陸"}, + {"n": "韓國","v": "韓國"}, + {"n": "香港","v": "香港"}, + {"n": "日本","v": "日本"}, + {"n": "英國","v": "英國"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits_week"}, + {"n": "月人气","v": "hits_month"} + ] + } + ], + "tvseries": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "陸劇","v": "cn"}, + {"n": "韓劇","v": "kr"}, + {"n": "美劇","v": "us"}, + {"n": "日劇","v": "jp"}, + {"n": "台劇","v": "tw"}, + {"n": "港劇","v": "hks"}, + {"n": "海外劇","v": "ot"}, + {"n": "紀錄片","v": "documentary"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits_week"}, + {"n": "月人气","v": "hits_month"} + ] + } + ], + "anime": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "日本","v": "日本"}, + {"n": "美國","v": "美國"}, + {"n": "歐美","v": "歐美"}, + {"n": "大陸","v": "大陸"}, + {"n": "臺灣","v": "臺灣"}, + {"n": "香港","v": "香港"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits_week"}, + {"n": "月人气","v": "hits_month"} + ] + } + ], + "tv_show": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "纪录片","v": "28"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陸","v": "大陸"}, + {"n": "中國大陸","v": "中國大陸"}, + {"n": "韓國","v": "韓國"}, + {"n": "臺灣","v": "臺灣"}, + {"n": "美國","v": "美國"}, + {"n": "歐美","v": "歐美"}, + {"n": "日本","v": "日本"}, + {"n": "香港","v": "香港"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits_week"}, + {"n": "月人气","v": "hits_month"} + ] + } + ] + } +} diff --git a/XPath/GimyTV.json b/XPath/GimyTV.json new file mode 100644 index 0000000..03817e5 --- /dev/null +++ b/XPath/GimyTV.json @@ -0,0 +1,585 @@ +{ + "author": "Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://gimytv.app/", + "dcVipFlag": "true", + "pCfgJs": "https://gimytv.app/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[@class='myui-header__menu']/li/a[contains(@href, 'browse')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/browse/(\\w+).html", + "cateManual": { + "电影": "movies", + "电视剧": "tvseries", + "综艺": "tv_show", + "动漫": "anime" + }, + "homeVodNode": "//ul[@class='myui-vodlist clearfix']/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[contains(@class, 'pic-text')]/text()", + "cateUrl": "https://gimytv.app/genre/{cateId}-{area}-{year}-{catePg}/by/{by}.html", + "cateVodNode": "//ul[@class='myui-vodlist clearfix']/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[contains(@class, 'pic-text')]/text()", + "dtUrl": "https://gimytv.app/{vid}.html", + "dtNode": "//div[@class='container']", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='data']/span[contains(text(), '分類')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//p[@class='data']/span[contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtMark": "//p[@class='data']/span[contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//p[@class='data']/span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//p[@class='data']/span[contains(text(), '導演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(@class,'col-pd')]/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='myui-panel_hd']/div/h3/text()[2]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://gimytv.app/{playUrl}.html", + "playUa": "", + "searchUrl": "https://gimytv.app/search/-------------.html?wd={wd}", + "scVodNode": "//div[@class='myui-vodlist__box']", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/(\\w+).html", + "scVodImg": "/a/@data-original", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "//span[contains(@class, 'pic-text')]/text()", + "filter": { + "movies": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "劇情片", + "v": "drama" + }, + { + "n": "動作片", + "v": "action" + }, + { + "n": "科幻片", + "v": "scifi" + }, + { + "n": "喜劇片", + "v": "comedymovie" + }, + { + "n": "愛情片", + "v": "romance" + }, + { + "n": "戰爭片", + "v": "war" + }, + { + "n": "恐怖片", + "v": "horror" + }, + { + "n": "動畫電影", + "v": "animation" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "美國", + "v": "美國" + }, + { + "n": "歐美", + "v": "歐美" + }, + { + "n": "大陸", + "v": "大陸" + }, + { + "n": "中國大陸", + "v": "中國大陸" + }, + { + "n": "韓國", + "v": "韓國" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "英國", + "v": "英國" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ], + "tvseries": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "陸劇", + "v": "cn" + }, + { + "n": "韓劇", + "v": "kr" + }, + { + "n": "美劇", + "v": "us" + }, + { + "n": "日劇", + "v": "jp" + }, + { + "n": "台劇", + "v": "tw" + }, + { + "n": "港劇", + "v": "hks" + }, + { + "n": "海外劇", + "v": "ot" + }, + { + "n": "紀錄片", + "v": "documentary" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ], + "anime": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美國", + "v": "美國" + }, + { + "n": "歐美", + "v": "歐美" + }, + { + "n": "大陸", + "v": "大陸" + }, + { + "n": "臺灣", + "v": "臺灣" + }, + { + "n": "香港", + "v": "香港" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ], + "tv_show": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "纪录片", + "v": "28" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陸", + "v": "大陸" + }, + { + "n": "中國大陸", + "v": "中國大陸" + }, + { + "n": "韓國", + "v": "韓國" + }, + { + "n": "臺灣", + "v": "臺灣" + }, + { + "n": "美國", + "v": "美國" + }, + { + "n": "歐美", + "v": "歐美" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "香港", + "v": "香港" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/Grab4K_XPCL.json b/XPath/Grab4K_XPCL.json new file mode 100644 index 0000000..7e1dfcd --- /dev/null +++ b/XPath/Grab4K_XPCL.json @@ -0,0 +1,98 @@ +{ + "ua": "", + // 首页地址 用于获取 分类和首页推荐 + "homeUrl": "https://www.grab4k.com", + // 分类节点 + "cateNode": "//div[@class='nav']//a[contains(@href,'/vod/')]", + // 分类名 + "cateName": "/@title", + // 分类id + "cateId": "/@href", + // 分类id二次处理正则 + "cateIdR": "/vod/show/id/(\\S+).html", + // 手动设置分类,如果手动设置了分类则不使用上面的分类xpath获取分类 例如 "cateManual": {"电影": "1", "电视剧": "2"}, + "cateManual": {}, + // 首页推荐视频的节点 + "cateVodNode": "//div[@class='module-item-pic']", + "homeVodName": "/a/@title", + "homeVodNameR": "", + "homeVodId": "/a/@href", + "homeVodIdR": "/down/(\\S+).html", + "homeVodImg": "/img/@data-src", + "homeVodImgR": "", + "homeVodMark": "/parent::*//span[contains(text(),'豆瓣')]/text()", + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "https://www.grab4k.com/vod/show/id/{cateId}/page/{catePg}.html", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//div[@class='module-item-pic']", + "cateVodName": "/a/@title", + "cateVodNameR": "", + "cateVodId": "/a/@href", + "cateVodIdR": "/down/(\\S+).html", + "cateVodImg": "/img/@data-src", + "cateVodImgR": "", + "cateVodMark": "/parent::*//span[contains(text(),'豆瓣')]/text()", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://www.grab4k.com/down/{vid}.html", + // 详情节点 + "dtNode": "//main[@id='main']", + // 视频名 + "dtName": "//img[@alt]/@alt", + "dtNameR": "", + // 视频图片 + "dtImg": "//img[@alt]/@data-src", + "dtImgR": "", + // 视频分类 + "dtCate": "//div[@class='video-info-aux scroll-content']/a[1]/text()", + "dtCateR": "", + // 视频年份 + "dtYear": "//div[@class='video-info-aux scroll-content']/a[2]/text()", + "dtYearR": "", + // 视频地区 + "dtArea": "//div[contains(@class,'video-info-aux')]/a[3]/text()", + "dtAreaR": "", + // 视频状态 + "dtMark": "//span[contains(text(),'更新')]/following-sibling::*//text()", + "dtMarkR": "", + // 主演 + "dtActor": "concat(//span[contains(text(),'主演')]/following-sibling::*//text())", + "dtActorR": "", + // 导演 + "dtDirector": "concat(//span[contains(text(),'导演')]/following-sibling::*//text())", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "//div[contains(@class,'video-info-content')]/span/text()", + "dtDescR": "", + // 播放源节点 + "dtFromNode": "//div[@id='download-list']", + // 播放源名称 + "dtFromName": "//h2/text()", + // 二次处理正则 + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[@class='module-row-one']", + // 播放地址节点 + "dtUrlSubNode": "/div[last()]/a/div[@class='module-row-title']", + // 播放地址 + "dtUrlId": "/p/text()", + // 二次处理正则 + "dtUrlIdR": "(\\S+)&\\S+", + // 剧集名称 + "dtUrlName": "/h4/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "{playUrl}", + // 解析webview的user-agent + "playUa": "", + // 搜索地址 + "searchUrl": "https://www.grab4k.com/vod/search.html?wd={wd}", + "scVodNode": "//div[@class='module-item-pic']", + "scVodName": "/a/@title", + "scVodNameR": "", + "scVodId": "/a/@href", + "scVodIdR": "/down/(\\S+).html", + "scVodImg": "/img/@data-src", + "scVodImgR": "", + "scVodMark": "/parent::*//span[contains(text(),'豆瓣')]/text()" +} \ No newline at end of file diff --git a/XPath/Jumi.json b/XPath/Jumi.json new file mode 100644 index 0000000..8212cd0 --- /dev/null +++ b/XPath/Jumi.json @@ -0,0 +1,260 @@ +{ + "author": "Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://jumi.tv", + "dcVipFlag": "true", + "pCfgJs": "https://jumi.tv/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'myui-header__menu')]/li/a[contains(@href, 'type') and not(contains(@href, 'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'col-lg-wide-75')]//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vod/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://jumi.tv/show/{cateId}/area/{area}/by/{by}/page/{catePg}/year/{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://jumi.tv/vod/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分類')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地區')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '導演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//span[@class='sketch content']/text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://jumi.tv/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://jumi.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "類型", + "value": [ + {"n": "全部","v": ""}, + {"n": "動作片","v": "6"}, + {"n": "喜劇片","v": "7"}, + {"n": "愛情片","v": "8"}, + {"n": "科幻片","v": "9"}, + {"n": "恐怖片","v": "10"}, + {"n": "劇情片","v": "11"}, + {"n": "戰爭片","v": "12"}, + {"n": "紀錄片","v": "20"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陸","v": "大陸"}, + {"n": "香港","v": "香港"}, + {"n": "台灣","v": "台灣"}, + {"n": "美國","v": "美國"}, + {"n": "法國","v": "法國"}, + {"n": "英國","v": "英國"}, + {"n": "日本","v": "日本"}, + {"n": "韓國","v": "韓國"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "陸劇","v": "13"}, + {"n": "韓劇","v": "23"}, + {"n": "美劇","v": "16"}, + {"n": "日劇","v": "15"}, + {"n": "台劇","v": "22"}, + {"n": "港劇","v": "14"}, + {"n": "海外劇","v": "24"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陸","v": "大陸"}, + {"n": "香港","v": "香港"}, + {"n": "台灣","v": "台灣"}, + {"n": "美國","v": "美國"}, + {"n": "法國","v": "法國"}, + {"n": "英國","v": "英國"}, + {"n": "日本","v": "日本"}, + {"n": "韓國","v": "韓國"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陸","v": "大陸"}, + {"n": "香港","v": "香港"}, + {"n": "台灣","v": "台灣"}, + {"n": "美國","v": "美國"}, + {"n": "法國","v": "法國"}, + {"n": "英國","v": "英國"}, + {"n": "日本","v": "日本"}, + {"n": "韓國","v": "韓國"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "時間","v": "time"}, + {"n": "人氣","v": "hits"}, + {"n": "評分","v": "score"} + ] + } + ] + } +} diff --git a/XPath/Libvio.json b/XPath/Libvio.json new file mode 100644 index 0000000..f1c702b --- /dev/null +++ b/XPath/Libvio.json @@ -0,0 +1,546 @@ +{ + "ua": "", + "homeUrl": "https://www.libvio.com/", + "dcPlayUrl": "true", + "cateManual": {"电影": "1","剧集": "2","综艺": "3","动漫": "4","日韩剧": "15","欧美剧": "16"}, + "homeVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodNameR": "", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[2]/text()", + "homeVodMarkR": "", + "cateUrl": "https://www.libvio.com/show/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[2]/text()", + "dtUrl": "https://www.libvio.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + "dtNameR": "", + "dtImg": "//a[contains(@class,'pic')]/img/@data-original", + "dtImgR": "", + "dtCate": "//div[contains(@class,'stui-content__detail')]/p[1]/text()", + "dtCateR": "", + "dtYear": "//div[contains(@class,'myui-content__detail')]/p[1]/a[3]/text()", + "dtDesc": "//div[contains(@class,'stui-content__detail')]/p[6]/span[3]/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-vodlist__head')]/div[contains(@class,'stui-pannel__head clearfix')]/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.libvio.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.libvio.com/search/-------------.html?wd={wd}&submit=", + "scVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[2]/text()", + "filter":{ + "1":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "中国大陆"}, + {"n": "中国香港","v": "中国香港"}, + {"n": "中国台湾","v": "中国台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "2":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "中国大陆"}, + {"n": "中国香港","v": "中国香港"}, + {"n": "中国台湾","v": "中国台湾"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "3":[ + + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "奇幻"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "4":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国","v": "中国"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + //唐三长老接口存,ajk编写 + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "15":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "16":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "德国","v": "德国"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + + } +} \ No newline at end of file diff --git a/XPath/MV.json b/XPath/MV.json new file mode 100644 index 0000000..355dcd1 --- /dev/null +++ b/XPath/MV.json @@ -0,0 +1,1846 @@ +{ + "classes": [ + { + "type_name": "吾爱评测整理", + "type_id": "吾爱评测" + }, + { + "type_name": "粤语", + "type_id": "粤语MV" + }, + { + "type_name": "2022年热榜", + "type_id": "2022年热们MV" + }, + { + "type_name": "KTV热门", + "type_id": "KTV热门MV" + }, + { + "type_name": "滚石经典", + "type_id": "滚石MV" + }, + { + "type_name": "经典老歌", + "type_id": "经典老歌" + }, + { + "type_name": "古风MV", + "type_id": "古风MV" + }, + { + "type_name": "闽南语MV", + "type_id": "闽南语MV" + }, + { + "type_name": "印度歌舞", + "type_id": "印度歌舞MV" + }, + + { + "type_name": "网红翻唱", + "type_id": "网红翻唱MV" + }, + { + "type_name": "韩国女团", + "type_id": "韩国女团MV" + }, + { + "type_name": "A阿黛尔", + "type_id": "阿黛尔MV" + }, + + { + "type_name": "Blackpink", + "type_id": "blackpinkMV" + }, + { + "type_name": "Beyond", + "type_id": "beyondMV" + }, + { + "type_name": "B坂井泉水", + "type_id": "坂井泉水MV" + }, + { + "type_name": "B宝丽金", + "type_id": "宝丽金MV" + }, + { + "type_name": "B布兰妮", + "type_id": "布兰妮MV" + }, + { + "type_name": "C崔健", + "type_id": "催件MV" + }, + { + "type_name": "C草蜢", + "type_id": "草蜢MV" + }, + { + "type_name": "Coldplay", + "type_id": "coldplayMV" + }, + { + "type_name": "C陈慧娴", + "type_id": "陈慧娴MV" + }, + { + "type_name": "C陈百强", + "type_id": "陈百强MV" + }, + { + "type_name": "C陈淑桦", + "type_id": "陈淑桦MV" + }, + + { + "type_name": "C陈慧琳", + "type_id": "陈慧琳MV" + }, + { + "type_name": "D邓丽君", + "type_id": "邓丽君MV" + }, + { + "type_name": "D邓紫棋", + "type_id": "邓紫棋MV" + }, + { + "type_name": "D刀郎", + "type_id": "刀郎MV" + }, + { + "type_name": "D达明一派", + "type_id": "刘以达MV" + }, + { + "type_name": "F费玉清", + "type_id": "费玉清MV" + }, + { + "type_name": "F飞图", + "type_id": "飞图MV" + }, + { + "type_name": "G谷村新司", + "type_id": "谷村新司MV" + }, + { + "type_name": "G郭富城", + "type_id": "郭富城MV" + }, + { + "type_name": "G关淑怡", + "type_id": "关淑怡MV" + }, + { + "type_name": "H黄凯芹", + "type_id": "黄凯芹MV" + }, + { + "type_name": "J降央卓玛", + "type_id": "降央卓玛MV" + }, + + { + "type_name": "J江慧", + "type_id": "江慧MV" + }, + { + "type_name": "J吉永小百合", + "type_id": "吉永小百合MV" + }, + { + "type_name": "J金庸", + "type_id": "金庸影视MV" + }, + { + "type_name": "K柯以敏", + "type_id": "柯以敏MV" + }, + { + "type_name": "K邝美云", + "type_id": "邝美云MV" + }, + { + "type_name": "L刘德华", + "type_id": "刘德华MV" + }, + { + "type_name": "Lady Gaga", + "type_id": "Lady GagaMV" + }, + { + "type_name": "L龙飘飘", + "type_id": "龙飘飘MV" + }, + { + "type_name": "L罗大佑", + "type_id": "罗大佑MV" + }, + { + "type_name": "L林志炫", + "type_id": "林志炫MV" + }, + { + "type_name": "L林忆莲", + "type_id": "林忆莲MV" + }, + { + "type_name": "L李知恩", + "type_id": "李知恩MV" + }, + { + "type_name": "L梁静茹", + "type_id": "梁静茹MV" + }, + { + "type_name": "L冷漠", + "type_id": "冷漠MV" + }, + { + "type_name": "L李克勤", + "type_id": "李克勤MV" + }, + { + "type_name": "L林子祥", + "type_id": "林子祥MV" + }, + { + "type_name": "L黎明", + "type_id": "黎明MV" + }, + { + "type_name": "L刘若英", + "type_id": "刘若英MV" + }, + { + "type_name": "M莫文蔚", + "type_id": "莫文蔚MV" + }, + { + "type_name": "M孟庭苇", + "type_id": "孟庭苇MV" + }, + { + "type_name": "M麦当娜", + "type_id": "麦当娜MV" + }, + + { + "type_name": "M迈克杰克逊", + "type_id": "迈克杰克逊MV" + }, + { + "type_name": "N雅尼紫禁城", + "type_id": "雅尼紫禁城MV" + }, + { + "type_name": "P潘越云", + "type_id": "潘越云MV" + }, + { + "type_name": "P潘美辰", + "type_id": "潘美辰MV" + }, + { + "type_name": "Q齐秦", + "type_id": "齐秦MV" + }, + + { + "type_name": "R任贤齐", + "type_id": "任贤齐MV" + }, + { + "type_name": "S苏慧伦", + "type_id": "苏慧伦MV" + }, + { + "type_name": "T童安格", + "type_id": "童安格MV" + }, + { + "type_name": "TFBOYS", + "type_id": "TFBOYSMV" + }, + { + "type_name": "T太极乐队", + "type_id": "太极乐队MV" + }, + { + "type_name": "T唐朝摇滚", + "type_id": "唐朝摇滚MV" + }, + + { + "type_name": "T谭咏麟", + "type_id": "谭咏麟MV" + }, + + { + "type_name": "W王琪", + "type_id": "王琪MV" + }, + { + "type_name": "W伍珂玥", + "type_id": "伍珂玥MV" + }, + { + "type_name": "W王杰", + "type_id": "王杰MV" + }, + { + "type_name": "W伍佰", + "type_id": "伍佰MV" + }, + { + "type_name": "W温兆伦", + "type_id": "温兆伦MV" + }, + { + "type_name": "W王菲", + "type_id": "王菲MV" + }, + { + "type_name": "X徐小凤", + "type_id": "徐小凤MV" + }, + { + "type_name": "X席琳迪翁", + "type_id": "席琳迪翁MV" + }, + { + "type_name": "X许嵩", + "type_id": "黄许嵩MV" + }, + { + "type_name": "X许美静", + "type_id": "许美静MV" + }, + { + "type_name": "X许冠杰", + "type_id": "许冠杰MV" + }, + { + "type_name": "X熊天平", + "type_id": "熊天平MV" + }, + { + "type_name": "X小虎队", + "type_id": "小虎队MV" + }, + { + "type_name": "X许巍", + "type_id": "许巍MV" + }, + { + "type_name": "Y叶启田", + "type_id": "叶启田MV" + }, + { + "type_name": "Y杨钰莹", + "type_id": "杨钰莹MV" + }, + { + "type_name": "Y叶玉卿", + "type_id": "叶玉卿MV" + }, + { + "type_name": "Y杨千嬅", + "type_id": "杨千嬅MV" + }, + { + "type_name": "Y怡正宵", + "type_id": "怡正宵MV" + }, + { + "type_name": "Z左麟右李", + "type_id": "左麟右李MV" + }, + { + "type_name": "Z张楚", + "type_id": "张楚MV" + }, + { + "type_name": "Z张真", + "type_id": "张真MV" + }, + { + "type_name": "Z张震岳", + "type_id": "张震岳MV" + }, + { + "type_name": "Z赵传", + "type_id": "赵传MV" + }, + { + "type_name": "Z周华健", + "type_id": "周华健MV" + }, + { + "type_name": "Z周启生", + "type_id": "周启生MV" + }, + { + "type_name": "Z张信哲", + "type_id": "张信哲MV" + }, + { + "type_name": "Z张也", + "type_id": "张也MV" + }, + + { + "type_name": "Z周慧敏", + "type_id": "周慧敏MV" + }, + + { + "type_name": "Z张碧晨", + "type_id": "张碧晨MV" + }, + { + "type_name": "Z中岛美雪", + "type_id": "中岛美雪MV" + }, + { + "type_name": "Z张学友", + "type_id": "张学友MV" + }, + { + "type_name": "Z猪哥亮", + "type_id": "猪哥亮MV" + }, + { + "type_name": "Z周杰伦", + "type_id": "周杰伦MV" + }, + { + "type_name": "Z周深", + "type_id": "周深MV" + }, + { + "type_name": "Z张蔷", + "type_id": "张蔷MV" + }, + { + "type_name": "Z张帝", + "type_id": "张帝MV" + }, + { + "type_name": "Z张国荣", + "type_id": "张国荣MV" + }, + { + "type_name": "Z周传雄", + "type_id": "周传雄MV" + }, + { + "type_name": "公众号“吾爱有三日月与卿”和“吾爱评测”整理", + "type_id": "吾爱评测" + } + ], + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "TVBox": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "MV", + "v": "儿童MV" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "MV": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "MV" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/Nfuxs.json b/XPath/Nfuxs.json new file mode 100644 index 0000000..d5e9217 --- /dev/null +++ b/XPath/Nfuxs.json @@ -0,0 +1,730 @@ +{ + "author": "Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.nfuxs.com/", + "cateNode": "//ul[contains(@class,'nav-menu')]/li/a[contains(@href, 'vodtype')]", + "cateName": "/span/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "//div[@class='module-item-pic']/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//div[@class='module-item-caption']/span[1]/text()", + "cateUrl": "https://www.nfuxs.com/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-item']", + "cateVodName": "//div[@class='module-item-pic']/a/@title", + "cateVodId": "//div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "//div[@class='module-item-pic']/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//div[@class='module-item-caption']/span[1]/text()", + "dtUrl": "https://www.nfuxs.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='video-info-header']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']/div/div/img/@data-src", + "dtImgR": "", + "dtCate": "//div[@class='tag-link']/span/following-sibling::a/text()", + "dtYear": "//div[contains(@class,'video-info-aux')]/a[2]/text()", + "dtArea": "//div[contains(@class,'video-info-aux')]/a[3]/text()", + "dtMark": "", + "dtDirector": "//span[contains(text(), '导演')]/parent::*/div/span/following-sibling::*/text()", + "dtActor": "//span[contains(text(), '主演')]/parent::*/div/span/following-sibling::*/text()", + "dtDesc": "//span[contains(text(), '剧情')]/parent::*/div/span/text()", + "dtFromNode": "//div[@class='module-tab-content']/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='scroll-content']", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.nfuxs.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.nfuxs.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "更新", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "更新", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "更新", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "更新", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/Omo动漫.json b/XPath/Omo动漫.json new file mode 100644 index 0000000..758b4a6 --- /dev/null +++ b/XPath/Omo动漫.json @@ -0,0 +1,68 @@ +{ + "author": "20220609", + "name": "OmoFun动漫", + "url": "https://www.omofun.tv", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "日漫$/vod/show/id/20/page/#热血$/vod/show/class/热血/id/20/page/#穿越$/vod/show/class/穿越/id/20/page/#奇幻$/vod/show/class/奇幻/id/20/page/#战斗$/vod/show/class/战斗/id/20/page/#搞笑$/vod/show/class/搞笑/id/20/page/#日常$/vod/show/class/日常/id/20/page/#科幻$/vod/show/class/科幻/id/20/page/#萌系$/vod/show/class/萌系/id/20/page/#治愈$/vod/show/class/治愈/id/20/page/#校园$/vod/show/class/校园/id/20/page/#恋爱$/vod/show/class/恋爱/id/20/page/#魔法$/vod/show/class/魔法/id/20/page/#冒险$/vod/show/class/冒险/id/20/page/#机战$/vod/show/class/机战/id/20/page/#催泪$/vod/show/class/催泪/id/20/page/#音乐$/vod/show/class/音乐/id/20/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "
    ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "备注:", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "introduction-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "
    ", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "style=\"max-height", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/VIPdy1280.json b/XPath/VIPdy1280.json new file mode 100644 index 0000000..c9b65fa --- /dev/null +++ b/XPath/VIPdy1280.json @@ -0,0 +1,75 @@ +// https://wds.ecsxs.com/224261.json +{ + "author": "春风", + "ua": "Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/99.0", + "homeUrl": "http://www.vip1280.net", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "国产剧": "2", + "港台剧": "3", + "日韩剧": "5", + "欧美剧": "4", + "泰剧": "22", + "动作片": "6", + "喜剧片": "11", + "科幻片": "8", + "爱情片": "7", + "恐怖片": "9", + "战争片": "10", + "剧情片": "20", + "动画片": "21" + }, + "homeVodNode": "//div[@class='stui-pannel stui-pannel-bg clearfix'][position()>2]//div[@class='stui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/movie/(\\S+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "http://www.vip1280.net/frim/index{cateId}/page/{catePg}.html", + "cateVodNode": "//div[@class='stui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/movie/(\\S+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "http://www.vip1280.net/movie/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(@class,'detail-content')]/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-pannel__head')]/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='stui-content__playlist clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.vip1280.net/play/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.vip1280.net/search.html?wd={wd}&submit=", + "scVodNode": "//a[contains(@class,'v-thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/movie/(\\S+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/agefans.json b/XPath/agefans.json new file mode 100644 index 0000000..74ff8c1 --- /dev/null +++ b/XPath/agefans.json @@ -0,0 +1,49 @@ +{ + "ua": "", + "homeUrl": "https://www.agefans.live/update", + "cateManual": { + "全部": "", + "中国": "-中国-all-all", + "日本": "-日本-all-all", + "欧美": "-欧美-all-all" + }, + "homeVodNode": "//div[@class='blockcontent']//ul[@class='ul_li_a6']/li", + "homeVodName": "/h4[@class='anime_icon2_name']/a/text()", + "homeVodId": "/h4[@class='anime_icon2_name']/a/@href", + "homeVodIdR": "/detail/(\\w+)", + "homeVodImg": "//img/@src", + "homeVodMark": "//img/@title", + "cateUrl": "https://www.agefans.live/catalog/all-all-all-all-all-time-{catePg}{cateId}", + "cateVodNode": "//div[@class='blockcontent1']/div/a", + "cateVodName": "/img/@alt", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+)", + "cateVodImg": "/img/@src", + "cateVodMark": "/span[@class='newname']/text()", + "dtUrl": "https://www.agefans.live/detail/{vid}", + "dtNode": "//div[@id='container']", + "dtName": "//div[@class='div_left']/div[@class='baseblock'][1]/div[@class='blockcontent']/img/@alt", + "dtImg": "//div[@class='div_left']/div[@class='baseblock'][1]/div[@class='blockcontent']/img/@src", + "dtCate": "//div[@class='div_left']/div[@class='baseblock'][2]//span[@class='detail_imform_tag' and contains(text(), '剧情类型')]/following-sibling::*/text()", + "dtYear": "//div[@class='div_left']/div[@class='baseblock'][2]//span[@class='detail_imform_tag' and contains(text(), '首播时间')]/following-sibling::*/text()", + "dtArea": "//div[@class='div_left']/div[@class='baseblock'][2]//span[@class='detail_imform_tag' and contains(text(), '地区')]/following-sibling::*/text()", + "dtMark": "", + "dtDirector": "//div[@class='div_left']/div[@class='baseblock'][2]//span[@class='detail_imform_tag' and contains(text(), '制作公司')]/following-sibling::*/text()", + "dtDesc": "//div[@class='div_right']/div[@class='baseblock'][2]//p/text()", + "dtFromNode": "//div[@id='playlist-div']/ul[@class='menu0']/li", + "dtFromName": "/text()", + "dtUrlNode": "//div[@id='playlist-div']/div[@class='main0']/div", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+)", + "dtUrlName": "/text()", + "playUrl": "https://www.agefans.live/play/{playUrl}", + "playUa": "", + "searchUrl": "https://www.agefans.live/search?query={wd}&page=1", + "scVodNode": "//div[@class='blockcontent1']/div/a", + "scVodName": "/img/@alt", + "scVodId": "/@href", + "scVodIdR": "/detail/(\\w+)", + "scVodImg": "/img/@src", + "scVodMark": "/span[@class='newname']/text()" +} \ No newline at end of file diff --git a/XPath/aidi.json b/XPath/aidi.json new file mode 100644 index 0000000..45bc1f2 --- /dev/null +++ b/XPath/aidi.json @@ -0,0 +1,63 @@ +{ + "author":"takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://aidi.tv/", + "cateManual": { + "电影": "dianying", + "国产剧": "guochanju", + "港台剧": "gangtaiju", + "欧美剧": "meiju", + "日本剧": "riju", + "韩国剧": "hanju", + "综艺": "zongyi", + "动漫": "dongman" + }, + +// Home Summary ==================================================== + "homeVodNode": "//div[@class='cbox_list']/div/ul/li[contains(@class, 'vodlist_item')]", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/movie/(\\w+).html", + "homeVodImg": "/a/@data-original", + "homeVodMark": "/span[2]/text()", + +// Category Summary ================================================ + "cateUrl": "https://aidi.tv/show/{cateId}--------{catePg}---.html", + "cateVodNode": "//ul[contains(@class,'vodlist vodlist_wi')]/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/movie/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[2]/text()", + +// Category Details ================================================ + "dtUrl": "https://aidi.tv/movie/{vid}.html", + "dtNode": "//div[@class='content_box clearfix']", // must be unique + "dtName": "/div/a/@title", + "dtImg": "/div/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[contains(@class,'content_detail content_min fl')]/ul/li/span[contains(text(), '状态')]/following-sibling::a/text()", + "dtDirector": "//div[contains(@class,'content_detail content_min fl')]/ul/li/span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//div[contains(@class,'content_detail content_min fl')]/ul/li/span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//div[contains(@class,'content_detail content_min fl')]/ul/li[5]", + +// Playlist ======================================================== + "dtFromNode": "//a[contains(.,'云') or contains(.,'旋') or contains(.,'爱')]", + "dtFromName": "/@alt", + "dtUrlNode": "//div[contains(@id,'playlistbox')]", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "/@href", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "{playUrl}", + "playUa": "", + +// Search Results ================================================== + "searchUrl": "https://aidi.tv/vsearch/-------------.html?wd={wd}&submit=", + "scVodNode": "//a[contains(@class,'myui-vodlist__thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "", + "scVodImg": "/@data-original", + "scVodMark": "" +} diff --git a/XPath/aidi2.json b/XPath/aidi2.json new file mode 100644 index 0000000..9d8b3d0 --- /dev/null +++ b/XPath/aidi2.json @@ -0,0 +1,489 @@ +{ + "url": "https://aidi.tv", + "host": "aidi.tv", + "regexCategory": "/v/(\\w+).html", + "regexVid": "/movie/(\\w+).html", + "regexPlay": "\\S+/play/(\\w+)-(\\d+)-(\\d+).html", + "regexPage": "/show/(\\S+).html", + "urlCategory": "/show/|.html", + "urlDetail": "/movie/|.html", + "urlPlay": "/play/|.html", + "urlSearch": "/vsearch/-------------.html?wd=|&submit=", + "player": { + "xg_app_player": { "sh": "app全局解析", "pu": "", "sn": 0, "or": 999 }, + "dplayer": { "sh": "dplayer", "pu": "", "sn": 0, "or": 999 }, + "videojs": { "sh": "videojs-H5播放器", "pu": "", "sn": 0, "or": 999 }, + "iva": { "sh": "iva-H5播放器", "pu": "", "sn": 0, "or": 999 }, + "iframe": { "sh": "iframe外链数据", "pu": "", "sn": 0, "or": 999 }, + "link": { "sh": "外链数据", "pu": "top.", "sn": 0, "or": 999 }, + "swf": { "sh": "Flash文件", "pu": "", "sn": 0, "or": 999 }, + "flv": { "sh": "Flv文件", "pu": "", "sn": 0, "or": 999 }, + "qiepian": { "sh": "爱迪云播", "pu": "", "sn": 0, "or": 999 }, + "ckm3u8": { "sh": "爱迪云播二", "pu": "", "sn": 0, "or": 999 }, + "xuanfeng": { "sh": "爱迪旋速", "pu": "", "sn": 0, "or": 999 }, + "jisu": { "sh": "爱迪云播三", "pu": "", "sn": 0, "or": 999 }, + "aidiyunsi": { "sh": "爱迪云播四", "pu": "", "sn": 0, "or": 999 }, + "ppyun": { "sh": "爱迪云链", "pu": "", "sn": 0, "or": 999 }, + "xin": { "sh": "爱迪高速", "pu": "", "sn": 0, "or": 999 }, + "gaosu": { "sh": "爱迪高速二", "pu": "", "sn": 0, "or": 999 }, + "ppayun": { + "sh": "pp云", + "pu": "https://wy.ppayun.cn/api/ShowVideoWy/973ed6d6891c43269706718cb0aedb72/", + "sn": 0, + "or": 999 + }, + "yun3edu": { "sh": "爱迪云三", "pu": "", "sn": 0, "or": 999 }, + "ddyunp": { "sh": "蓝光线路", "pu": "", "sn": 0, "or": 999 }, + "guoji": { "sh": "國際路線", "pu": "", "sn": 0, "or": 999 }, + "eduyun": { "sh": "爱迪云二", "pu": "", "sn": 0, "or": 999 }, + "dbm3u8": { "sh": "720P线路", "pu": "", "sn": 0, "or": 999 }, + "yjm3u8": { "sh": "备用线路", "pu": "", "sn": 0, "or": 999 }, + "yidongyun": { "sh": "app专用", "pu": "", "sn": 0, "or": 999 } + }, + "filter": { + "dianying": [ + { + "key": 0, + "name": "分类", + "value": [ + { "n": "全部", "v": "dianying" }, + { "n": "动作片", "v": "dongzuopian" }, + { "n": "喜剧片", "v": "xijupian" }, + { "n": "爱情片", "v": "aiqingpian" }, + { "n": "科幻片", "v": "kehuanpian" }, + { "n": "恐怖片", "v": "kongbupian" }, + { "n": "剧情片", "v": "juqingpian" }, + { "n": "战争片", "v": "zhanzhengpian" }, + { "n": "传记", "v": "zhuanji" } + ] + }, + { + "key": 3, + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "动作", "v": "动作" }, + { "n": "科幻", "v": "科幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "战争", "v": "战争" }, + { "n": "警匪", "v": "警匪" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动画", "v": "动画" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "武侠", "v": "武侠" }, + { "n": "冒险", "v": "冒险" }, + { "n": "枪战", "v": "枪战" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "经典", "v": "经典" }, + { "n": "青春", "v": "青春" }, + { "n": "文艺", "v": "文艺" }, + { "n": "微电影", "v": "微电影" }, + { "n": "古装", "v": "古装" }, + { "n": "历史", "v": "历史" }, + { "n": "运动", "v": "运动" }, + { "n": "农村", "v": "农村" }, + { "n": "儿童", "v": "儿童" }, + { "n": "网络电影", "v": "网络电影" }, + { "n": "情色", "v": "情色" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "德国", "v": "德国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "意大利", "v": "意大利" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "法语", "v": "法语" }, + { "n": "德语", "v": "德语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "lianxuju": [ + { + "key": 0, + "name": "分类", + "value": [ + { "n": "全部", "v": "lianxuju" }, + { "n": "国产剧", "v": "guochanju" }, + { "n": "港台剧", "v": "gangtaiju" }, + { "n": "韩剧", "v": "hanju" }, + { "n": "美剧", "v": "meiju" }, + { "n": "日剧", "v": "riju" }, + { "n": "英剧", "v": "yingju" }, + { "n": "泰剧", "v": "taiju" } + ] + }, + { + "key": 3, + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + { "n": "青春偶像", "v": "青春偶像" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "家庭", "v": "家庭" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "经典", "v": "经典" }, + { "n": "乡村", "v": "乡村" }, + { "n": "情景", "v": "情景" }, + { "n": "商战", "v": "商战" }, + { "n": "网剧", "v": "网剧" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "韩国", "v": "韩国" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "zongyi": [ + { + "key": 0, + "name": "分类", + "value": [ + { "n": "全部", "v": "zongyi" }, + { "n": "内地综艺", "v": "ndzy" }, + { "n": "港台综艺", "v": "gtzy" }, + { "n": "韩国综艺节目", "v": "variety" }, + { "n": "欧美综艺", "v": "oumeizongyi" } + ] + }, + { + "key": 3, + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "选秀", "v": "选秀" }, + { "n": "情感", "v": "情感" }, + { "n": "访谈", "v": "访谈" }, + { "n": "播报", "v": "播报" }, + { "n": "旅游", "v": "旅游" }, + { "n": "音乐", "v": "音乐" }, + { "n": "美食", "v": "美食" }, + { "n": "纪实", "v": "纪实" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "生活", "v": "生活" }, + { "n": "游戏互动", "v": "游戏互动" }, + { "n": "财经", "v": "财经" }, + { "n": "求职", "v": "求职" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "dongman": [ + { + "key": 0, + "name": "分类", + "value": [ + { "n": "全部", "v": "dongman" }, + { "n": "日韩动漫", "v": "rihan" }, + { "n": "国产动漫", "v": "guoman" }, + { "n": "欧美动漫", "v": "oumei" }, + { "n": "动漫电影", "v": "cartoon" } + ] + }, + { + "key": 3, + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "情感", "v": "情感" }, + { "n": "科幻", "v": "科幻" }, + { "n": "热血", "v": "热血" }, + { "n": "推理", "v": "推理" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "冒险", "v": "冒险" }, + { "n": "萝莉", "v": "萝莉" }, + { "n": "校园", "v": "校园" }, + { "n": "动作", "v": "动作" }, + { "n": "机战", "v": "机战" }, + { "n": "运动", "v": "运动" }, + { "n": "战争", "v": "战争" }, + { "n": "少年", "v": "少年" }, + { "n": "少女", "v": "少女" }, + { "n": "社会", "v": "社会" }, + { "n": "原创", "v": "原创" }, + { "n": "亲子", "v": "亲子" }, + { "n": "益智", "v": "益智" }, + { "n": "励志", "v": "励志" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产", "v": "国产" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "jilu": [ + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] + } +} diff --git a/XPath/aidiyingshi.json b/XPath/aidiyingshi.json new file mode 100644 index 0000000..e471a4a --- /dev/null +++ b/XPath/aidiyingshi.json @@ -0,0 +1,63 @@ +{ + "author":"takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://aidi.tv/", + "cateManual": { + "电影": "dianying", + "国产剧": "guochanju", + "港台剧": "gangtaiju", + "欧美剧": "meiju", + "日本剧": "riju", + "韩国剧": "hanju", + "综艺": "zongyi", + "动漫": "dongman" + }, + +// Home Summary ==================================================== + "homeVodNode": "//div[@class='cbox_list']/div/ul/li[contains(@class, 'vodlist_item')]", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/movie/(\\w+).html", + "homeVodImg": "/a/@data-original", + "homeVodMark": "/span[2]/text()", + +// Category Summary ================================================ + "cateUrl": "https://aidi.tv/show/{cateId}--------{catePg}---.html", + "cateVodNode": "//ul[contains(@class,'vodlist vodlist_wi')]/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/movie/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[2]/text()", + +// Category Details ================================================ + "dtUrl": "https://aidi.tv/movie/{vid}.html", + "dtNode": "//div[@class='content_box clearfix']", // must be unique + "dtName": "/div/a/@title", + "dtImg": "/div/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[contains(@class,'content_detail content_min fl')]/ul/li/span[contains(text(), '状态')]/following-sibling::a/text()", + "dtDirector": "//div[contains(@class,'content_detail content_min fl')]/ul/li/span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//div[contains(@class,'content_detail content_min fl')]/ul/li/span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//div[contains(@class,'content_detail content_min fl')]/ul/li[5]", + +// Playlist ======================================================== + "dtFromNode": "//a[contains(.,'云') or contains(.,'旋') or contains(.,'爱')]", + "dtFromName": "/@alt", + "dtUrlNode": "//div[contains(@id,'playlistbox')]", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "/@href", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "{playUrl}", + "playUa": "", + +// Search Results ================================================== + "searchUrl": "https://aidi.tv/vsearch/-------------.html?wd={wd}&submit=", + "scVodNode": "//a[contains(@class,'myui-vodlist__thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "", + "scVodImg": "/@data-original", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/aikanmeiju.json b/XPath/aikanmeiju.json new file mode 100644 index 0000000..262c430 --- /dev/null +++ b/XPath/aikanmeiju.json @@ -0,0 +1,67 @@ +{ + "ua": "", + "homeUrl": "https://www.akmeiju.cc/", + "dcVipFlag": "true", + "pCfgJs": "https://www.akmeiju.cc/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[@class='item nav-list clearfix']/li/a[contains(@href, 'vtype')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vtype(\\S+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='myui-vodlist__box']", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/vdetail(\\S+).html", + "homeVodImg": "/a/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/a/span[3]/text()", + "cateUrl": "https://www.akmeiju.cc/vtype/{cateId}-{catePg}.html", + "cateVodNode": "//li[@class='col-lg-8 col-md-6 col-sm-4 col-xs-3']", + "cateVodName": "/div/a/@title", + "cateVodId": "/div/a/@href", + "cateVodIdR": "/vdetail(\\S+).html", + "cateVodImg": "/div/a/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div/a/span[3]/text()", + "dtUrl": "https://www.akmeiju.cc/vdetail/{vid}.html", + "dtNode": "//div[@class='col-xs-1'][2]", + "dtName": "/div[2]/h1[@class='title']/text()", + "dtNameR": "", + "dtImg": "/div[1]/a/img/@data-original", + "dtImgR": "", + "dtCate": "/div[2]/p[1]/a[1]/text()", + "dtCateR": "", + "dtYear": "/div[2]/p[1]/a[3]/text()", + "dtYearR": "", + "dtArea": "/div[2]/p[1]/a[2]/text()", + "dtAreaR": "", + "dtMark": "/div[2]/p[2]/span[2]/text()", + "dtMarkR": "", + "dtActor": "/div[2]/p[3]/a/text()", + "dtActorR": "", + "dtDirector": "/div[2]/p[4]/a/text()", + "dtDirectorR": "", + "dtDesc": "div[2]/p[5]/text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='myui-content__list scrollbar sort-list clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vplay(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.akmeiju.cc/vplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.akmeiju.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/aikanyingshi.json b/XPath/aikanyingshi.json new file mode 100644 index 0000000..8a9d8f7 --- /dev/null +++ b/XPath/aikanyingshi.json @@ -0,0 +1,91 @@ +{ + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1", + "homeUrl": "https://ikan6.vip/", + "cateManual":{"电影": "1", "国产剧": "2", "日韩剧": "15", "美剧": "16", "综艺": "3", "动漫": "4", "港台剧": "14", "记录片": "20"}, + "homeVodNode": "//div[@class='module-item']", + "homeVodName":"//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/voddetail/(\\S+)", + "homeVodImg": "//div[@class='module-item-cover']//div[@class='module-item-pic']/img/@data-src", + "homeVodMark": "//div[@class='module-item-text']/text()", + + //"cateUrl": "https://ikan6.vip/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}/", + "cateUrl": "https://ikan6.vip/vodshow/{cateId}--------{catePg}---/", + "cateVodNode": "//div[@class='module-item']", + "cateVodName":"//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@title", + "cateVodId": "//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/voddetail/(\\S+)", + "cateVodImg": "//div[@class='module-item-cover']//div[@class='module-item-pic']/img/@data-src", + "cateVodMark": "//div[@class='module-item-text']/text()", + + "dtUrl": " https://ikan6.vip/voddetail/{vid}/", + "dtNode": "//body", + "dtName": "//*[@id='main']/div/div[1]/div[3]/div[1]/h1/text()", + "dtImg":"//*[@id='main']/div/div[1]/div[2]/div/div/img/@data-src", + "dtCate": "//*[@id='main']/div/div[1]/div[3]/div[1]/div/div/div/a/text()", + "dtArea": "//*[@id='main']/div/div[1]/div[3]/div[1]/div/div/a[3]/text()", + "dtYear": "//*[@id='main']/div/div[1]/div[3]/div[2]/div[3]/div/text()", + "dtDesc": "//*[@id='main']/div/div[1]/div[3]/div[2]/div[6]/div/span/text()", + "dtActor": "//*[@id=main]/div/div[1]/div[3]/div[2]/div[2]/div/descendant::*/text()", + "dtDirector": "//*[@id='main']/div/div[1]/div[3]/div[2]/div[1]/div/a/text()", + + "dtFromNode": "//div[contains(@class,'module-tab-item tab-item')]", + "dtFromName": "//span/text()", + "dtUrlNode": "//div[@class='sort-item']", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+)", + "dtUrlName": "/span/text()", + "playUrl": "https://ikan6.vip/vodplay/{playUrl}", + + "searchUrl": "https://ikan6.vip/vodsearch/{wd}-------------/", + "scVodNode": "//div[@class='module-item']", + "scVodName":"//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@title", + "scVodId": "//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@href", + "scVodIdR": "/voddetail/(\\S+)", + "scVodImg": "//div[@class='module-item-cover']//div[@class='module-item-pic']/img/@data-src", + "scVodMark": "//div[@class='module-item-text']/text()", +"filter":{ +"1": [ +{"name":"分类","key":"cateId","value":[{"n":"全部","v":""},{"n":"动作片","v":"6"},{"n":"喜剧片","v":"7"},{"n":"爱情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"恐怖片","v":"10"},{"n":"剧情片","v":"11"},{"n":"战争片","v":"12"},{"n":"灾难片","v":"24"}]}, +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"2": [ +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"古装","v":"古装"},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"3": [ +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"游戏互动","v":"游戏互动"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"4": [ +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"15": [ +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"16": [ +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"14": [ +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"20": [ +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +] +} + +} \ No newline at end of file diff --git a/XPath/appysv2.json b/XPath/appysv2.json new file mode 100644 index 0000000..daf4d17 --- /dev/null +++ b/XPath/appysv2.json @@ -0,0 +1,221 @@ +{ +"sites":{ +"星空影视":{"url":"https://xkys.tv/xgapp.php/v1/"}, +"饭团影视":{"url":"http://television.wkfile.com/api.php/app/"}, +"天空影视":{"url":"https://tkys.tv/xgapp.php/v1/"}, +"手指影视":{"url":"https://szys5678.com/mogai_api.php/v1.vod"}, +"心爱影视":{"url":"https://xays6677.com/mogai_api.php/v1.vod"}, +"913e影视":{"url":"http://www.913e.net/xgapp.php/v1/"}, +"无名影视":{"url":"http://ccxg.xazhutu.com/xgapp.php/v1/"}, +"TV酷":{"url":"https://www.u23c.com/api.php/app/"}, +"vip影院":{"url":"http://360yy.cn/api.php/app/"}, +"爱迪影视":{"url":"https://aidi.fun/xgapp.php/v1/"}, +"播放呀":{"url":"https://www.bofangya.com/xgapp.php/v1/"}, +"苍蓝资源":{"url":"https://vip.ruifenglb.com:4433/api.php/app/"}, +"段友影视3":{"url":"http://js.66app.me/api.php/app/"}, +"非凡TV":{"url":"https://app.feifan.live:2087/xgapp.php/v1/"}, +"神马影视2":{"url":"http://summ.vip/api.php/v1.vod"}, +"海胆影视":{"url":"http://xf123.cc/api.php/app/"}, +"海棠视频":{"url":"https://www.haitangsp.net/api.php/app/"}, +"京广航":{"url":"https://www.jingguanhang.com/api.php/app/"}, +"久九影视":{"url":"https://api.58qxk.cn/xgapp.php/v1/"}, +"看365":{"url":"https://www.kan365.xyz/api.php/app/"}, +"快云影音":{"url":"https://www.kuaiyunyy.com/api.php/app/"}, +"灵狐影视":{"url":"http://x.dmntv.com/api.php/app/"}, +"抹茶猪":{"url":"https://www.mczdyw.com/api.php/app/"}, +"萌蛋蛋":{"url":"http://app.mengdandan.com/xgapp.php/v1/"}, +"莫扎兔":{"url":"http://www.mozhatu.xyz/api.php/app/"}, +"躺平影视":{"url":"http://www.lltpys.com/api.php/app/"}, +"天神影视":{"url":"https://deity.fun/api.php/app/"}, +"我爱电影":{"url":"http://xg.5imv.net/api.php/app/"}, +"小七影视":{"url":"http://ys.kd60.cn/api.php/app/"}, +"免费看2":{"url":"https://freekan.vip/mogai_api.php/v1.vod"}, +"林谷影视":{"url":"http://ys.linguyy.xyz/mogai_api.php/v1.vod"}, +"饭后电影2":{"url":"http://summ.vip/api.php/v1.vod"}, + +"1080p":{"url":"https://1080p.one/mogai_api.php/v1.vod"}, +"1231D":{"url":"https://vue.app.yunboys.cn/api.php/v1.vod"}, +"300看世界":{"url":"https://300ys.xyz/api.php/v1.vod"}, +"4K影院":{"url":"http://1api.4kdytv.com/api.php/v1.vod"}, +"80K影视":{"url":"https://1080p.tv/api.php/v1.vod"}, +"CJT影院":{"url":"https://www.cjt521.com/api.php/v1.vod"}, +"DC影视":{"url":"http://chaorenbb.com/api.php/v1.vod"}, +"F7高清":{"url":"http://bc.haokanju1.cc/lvdou_api.php/v1.vod"}, +"HG影视":{"url":"http://hgyx.vip/api.php/v1.vod"}, +"l0l影院":{"url":"https://l0l.tv/api.php/v1.vod"}, +"爱看美剧":{"url":"https://www.uumjw.com/api.php/v1.vod"}, +"爱酷影视":{"url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +"爱看影院":{"url":"http://www.a91.cm/api.php/v1.vod"}, +"菜鸟追剧":{"url":"http://81.71.18.95:5555/mogai_api.php/v1.vod"}, +"白嫖影视":{"url":"http://zgjxdtg.cn/api.php/v1.vod"}, +"初心影视":{"url":"https://www.18mv.club/api.php/v1.vod"}, +"独播社":{"url":"http://35ys.cc/api.php/v1.vod"}, +"叮当影视":{"url":"https://tv.0573wl.com/api.php/v1.vod"}, +"段友影视":{"url":"http://121.204.249.135:4433/ruifenglb_api.php/v1.vod"}, +"段友影视2":{"url":"https://shangjihuoke.com/api.php/tv.vod"}, +"饭后电影":{"url":"http://baicai.summ.vip/api.php/v1.vod"}, +"飞捷影视":{"url":"https://www.fj6080.com/api.php/v1.vod"}, +"疯狂看":{"url":"http://app.fkkdy.vip/mogai_api.php/v1.vod"}, +"粉象视界":{"url":"http://42.157.129.15:34444/lvdou_api.php/v1.vod"}, +"飞云视频":{"url":"http://app.kxtv.ltd/lvdou_api.php/v1.vod"}, +"虎猫视频":{"url":"https://humaosp.com/mogai_api.php/v1.vod"}, +"看看影视":{"url":"http://kk.ccboke.top/ruifenglb_api.php/v1.vod"}, +"可米影视":{"url":"http://www.kmys.vip/api.php/v1.vod"}, +"康耀影视":{"url":"http://124.222.126.23:999/mogai_api.php/v1.vod"}, +"六把刀影院":{"url":"https://pro.6bd.net/mogai_api.php/v1.vod"}, +"绿箭影视":{"url":"http://www.69ty.cc/mogai_api.php/v1.vod"}, +"零刻影院":{"url":"https://ys.ling00.cn/api.php/v1.vod"}, +"懒猫电影":{"url":"http://lanmao.lanmaoymw.cn/ruifenglb_api.php/v1.vod"}, +"蓝猫影院":{"url":"http://www.baofu111.top/mogai_api.php/v1.vod"}, +"琅琊影视":{"url":"http://fgyuu.top/lehailb_api.php/v1.vod"}, +"蜜蜂影视":{"url":"http://app.f8tp.com/lvdou_api.php/v1.vod"}, +"麻瓜视频":{"url":"http://aliyun.k8aa.com/mogai_api.php/v1.vod"}, +"美剧虫":{"url":"https://meijuchong.com/api.php/v1.vod"}, +"木子电影":{"url":"http://www.muzidy.top/mogai_api.php/v1.vod"}, +"奈非迷":{"url":"https://app.netflixmi.com/api.php/v1.vod"}, +"暖光影视":{"url":"https://app.bl210.com/api.php/v1.vod"}, +"念念影视":{"url":"https://998.yuanmajs.cn/api.php/v1.vod"}, +"柠柚影视":{"url":"http://nu.e4tv.cn/lvdou_api.php/v1.vod"}, +"奇怪视频":{"url":"https://giguai.net/api.php/v1.vod"}, +"瑞丰资源":{"url":"https://tv.yjhan.com:4433/api.php/v1.vod"}, +"思乐影视":{"url":"https://www.huandian.top/ruifenglb_api.php/v1.vod"}, +"天诚影视":{"url":"http://tcspvip.cn/mogai_api.php/v1.vod"}, +"天天影视":{"url":"https://app.daishusc.com/api.php/v1.vod"}, +"小白动漫":{"url":"http://121.62.60.222:20222/mogai_api.php/v1.vod"}, +"星辰视频":{"url":"https://m.hj0999.com/api.php/v1.vod"}, +"兄弟影视":{"url":"http://app.xdys.vip/mogai_api.php/v1.vod"}, +"小极影视":{"url":"http://app.8d8q.com/api.php/v1.vod"}, +"心鸾影视":{"url":"http://zhiyutv.xyz/api.php/v1.vod"}, +"雪人影视":{"url":"https://zy.qd234.cn/mogai_api.php/v1.vod"}, +"益达影院":{"url":"http://luobu.yss6080.com/mogai_api.php/v1.vod"}, +"雨果影视":{"url":"http://2.yhys63.com/api.php/v1.vod"}, +"影视大全":{"url":"http://app.269w.com/api.php/v1.vod"}, +"月色影视":{"url":"http://69ty.cc/mogai_api.php/v1.vod"}, +"优视影视":{"url":"http://app.ysys.asia/lvdou_api.php/v1.vod"}, +"影阅阁":{"url":"http://221.236.18.12:665/api.php/v1.vod"}, +"追剧吧":{"url":"http://zhuiju8.vip/api.php/v1.vod"}, +"51视频":{"url":"http://51shipin.cc/mogai_api.php/v1.vod"}, +"JDODO":{"url":"https://appys.jdodo.xyz/mogai_api.php/v1.vod"}, +"QC影视":{"url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +"U5影视":{"url":"https://appx.uy07.com/api.php/v1.vod"}, +"XG影视":{"url":"http://cms.xggm.top/ruifenglb_api.php/v1.vod"}, +"yoyo":{"url":"http://jx.wnvod.net/ruifenglb_api.php/v1.vod"}, +"阿里影视":{"url":"http://aliys.cn:90/api.php/v1.vod"}, +"艾特影视":{"url":"https://www.aitee.cc/api.php/v1.vod"}, +"嗷呜影院":{"url":"http://aowu.pro/api.php/v1.vod"}, +"爱影视":{"url":"https://www.hzlff.cn/api.php/v1.vod"}, +"安云影视":{"url":"http://api.vue8.cc/lvdou_api.php/v1.vod"}, +"哔哔影院":{"url":"http://baofu111.top/mogai_api.php/v1.vod"}, +"多啦咪PRO":{"url":"http://yuenos-pro.miyuen.cn/qingdoujiekou.php/v1.vod"}, +"比邻影视":{"url":"http://0hzy.cn:9990/mogai_api.php/v1.vod"}, +"大头影视":{"url":"http://dy.idsao.com/mogai_api.php/v1.vod"}, +"灯塔影视":{"url":"https://cc.hwh.ink/lvdou_api.php/v1.vod"}, +"豆渣影视":{"url":"http://douzhayss.cc/api.php/v1.vod"}, +"恒大影视":{"url":"https://www.hdys.org/api.php/v1.vod"}, +"寒枫视频":{"url":"https://vip.shenyunwl.cn/mogai_api.php/v1.vod"}, +"辉哥影视":{"url":"https://app.y.hgyule8.com/api.php/v1.vod"}, +"黄河影视":{"url":"http://i.ledu8.cn/api.php/v1.vod"}, +"火星人":{"url":"https://www.huoxing9.com/mogai_api.php/v1.vod"}, +"晗先森":{"url":"https://hantv.top/api.php/v1.vod"}, +"盒子影院":{"url":"http://i.nihaohezi.com/api.php/v1.vod"}, +"筋斗云":{"url":"https://tv.jindcloud.com/api.php/v1.vod"}, +"极光影院":{"url":"http://app.winxz.cc/api.php/v1.vod"}, +"聚合视频":{"url":"https://app.jhystv.com/mogai_api.php/v1.vod"}, +"久久影视":{"url":"http://s9t9.com/api.php/v1.vod"}, +"极酷视频":{"url":"https://jiku.vip/mogai_api.php/v1.vod"}, +"剧迷视频":{"url":"http://pan.hzafw.com/api.php/v1.vod"}, +"极品影视":{"url":"http://app.yhzy.xyz/lvdou_api.php/v1.vod"}, +"橘子影视":{"url":"http://jz.juzidy.vip/mogai_api.php/v1.vod"}, +"看剧吧":{"url":"http://app.ishen520.com/api.php/v1.vod"}, +"看看剧":{"url":"https://www.kankanju.cn/api.php/v1.vod"}, +"可米影视2":{"url":"http://sj.kmys.vip/ruifenglb_api.php/v1.vod"}, +"绿豆视频":{"url":"https://v.lvdoui.cn/mogai_api.php/v1.vod"}, +"蓝光视频":{"url":"http://vip.91iqiyi.com/mogai_api.php/v1.vod"}, +"冷视TV":{"url":"https://len.tv/api.php/v1.vod"}, +"免费影视":{"url":"http://111.229.120.180:88/lvdou_api.php/v1.vod"}, +"美剧范":{"url":"http://ttzmz.net/api.php/v1.vod"}, +"喵乐影视":{"url":"http://miaoleys.com/api.php/v1.vod"}, +"奈飞中文":{"url":"https://www.naifei.org/api.php/v1.vod"}, +"皮皮动漫":{"url":"http://dm.muying.me/mogai_api.php/v1.vod"}, +"奇趣影视":{"url":"https://app.qiqu.me/mogai_api.php/v1.vod"}, +"任性看":{"url":"https://renxingkan.net/api.php/v1.vod"}, +"思奇影视":{"url":"http://app.siqitv.vip/mogai_api.php/v1.vod"}, +"三日影院":{"url":"https://www.3ri.net/api.php/v1.vod"}, +"神马影视":{"url":"http://xs.78tv.cc/mogai_api.php/v1.vod"}, +"视听星球":{"url":"http://zjyapijzys.shynwlkj.com/api.php/v1.vod"}, +"淘剧社":{"url":"https://app.shuhai99.com/api.php/v1.vod"}, +"天天视频":{"url":"http://app.qianju.cc/api.php/v1.vod"}, +"兔子窝":{"url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod"}, +"我爱跟剧":{"url":"https://www.genmov.com/mogai_api.php/v1.vod"}, +"吾爱影视":{"url":"http://app.5lp.net/api.php/v1.vod"}, +"蜗牛动漫":{"url":"http://woniudm.woniu.cyou:20000/mogai_api.php/v1.vod"}, +"寻常影视":{"url":"http://tv.91ymz.cn/api.php/v1.vod"}, +"熊猫动漫":{"url":"http://dongman.k8aa.com/mogai_api.php/v1.vod"}, +"熊猫视频":{"url":"http://anegh.com/lvdou_api.php/v1.vod"}, +"小鸟动漫":{"url":"http://xydm.baicai.buzz/mogai_api.php/v1.vod"}, +"玺娜影视":{"url":"https://pp.wxina.cn/api.php/v1.vod"}, +"小蜻蜓":{"url":"http://3ketv.com/mogai_api.php/v1.vod"}, +"星球视频":{"url":"http://119.29.121.48:8088/api.php/v1.vod"}, +"玺心影视":{"url":"https://tv.arbd.cn/api.php/v1.vod"}, +"云城影院":{"url":"https://ayyf.cn/mubai_api.php/m2.vod"}, +"月儿影视":{"url":"https://yue52.xyz/api.php/v1.vod"}, +"樱花动漫":{"url":"https://www.dmwu.cc/api.php/v1.vod"}, +"云梦影视":{"url":"https://yun.yunl.xyz/mogai_api.php/v1.vod"}, +"影视大全2":{"url":"https://xc.xixi2yy.xyz/mogai_api.php/v1.vod"}, +"影视热剧":{"url":"http://lb.26ys.cn/api.php/v1.vod"}, +"渔渔影视":{"url":"http://luobo.yugenye.site/api.php/v1.vod"}, +"优优影院":{"url":"http://xin.jjsvip.cc/mogai_api.php/v1.vod"}, +"柚子视频":{"url":"http://yz.26ys.cn/api.php/v1.vod"}, +"鱼仔影视":{"url":"http://yuzaio.top/api.php/v1.vod"}, +"追剧吧2":{"url":"http://wtv.fit/api.php/v1.vod"}, +"追剧达人":{"url":"https://vipmv.co/xgapp.php/v1/"}, +"追剧猫":{"url":"http://tv.kmtvb.com/api.php/v1.vod"}, +"侦探影视":{"url":"http://ys.huangguay.com/mogai_api.php/v1.vod"}, +"猪猪影院":{"url":"http://app.2zdyy.com/api.php/v1.vod"}, +"2号币":{"url":"http://phoebe.cf/api.php/iptv/vod/"}, +"CV影视":{"url":"http://www.cccvvv.top/api.php/iptv/vod/"}, +"HG影视2":{"url":"http://api.hgyx.vip/api.php/iptv/vod/"}, +"傲视影院":{"url":"http://j.zjj.life:88/mv/api.php/Chengcheng/vod/"}, +"爱西西TV":{"url":"http://tv2.aixixi.vip/api.php/iptv/vod/"}, +"刺桐影视":{"url":"http://tv.cttv.vip/api.php/iptv/vod/"}, +"叮当TV":{"url":"http://tv.hyddys.top/api.php/iptv/vod/"}, +"嘀哩嘀哩":{"url":"https://api.diliktv.xyz/api.php/Chengcheng/vod/"}, +"大师兄":{"url":"http://dsxtv.tv.ci/api.php/dsx/vod/"}, +"二货影视":{"url":"http://d.zjj.life:88/mv/api.php/Chengcheng/vod/"}, +"非凡影院":{"url":"http://cms.feifan12.xyz/api.php/iptv/vod/"}, +"飞扬TV":{"url":"http://diancj.zhenfy.cn/api.php/Chengcheng/vod/"}, +"嘿荼锋":{"url":"http://tv.hfys8.vip/api.php/Sntv/vod/"}, +"黑龙影视":{"url":"http://vip.ji-ding-he.site/api.php/iptv/vod/"}, +"聚多影视":{"url":"http://jdyy.weetai.cn/api.php/iptv/vod/"}, +"极品影视2":{"url":"http://jpsb.yhzy.xyz/api.php/iptv/vod/"}, +"乐酷TV":{"url":"http://103.45.161.138:2021/api.php/Chengcheng/vod/"}, +"六维影视":{"url":"http://liuweiiptv.gq:1357/api.php/iptv/vod/"}, +"流星雨":{"url":"http://nn.lxyyy.xyz:8/c/api.php/WAiLaowang/vod/"}, +"冷月TV":{"url":"https://tv.521x5.com/api.php/iptv/vod/"}, +"荔枝影视":{"url":"http://api.zjys.vip/api.php/iptv/vod/"}, +"免费看TV":{"url":"http://www.freekan.vip/api.php/iptv/vod/"}, +"蜜果TV":{"url":"http://vv.miguotv.net/m/api.php/Chengcheng/vod/"}, +"米来影视":{"url":"http://42.51.37.161:2346/api.php/iptv/vod/"}, +"米奇TV":{"url":"http://www.s6ep3.top/api.php/iptv/vod/"}, +"七科影视":{"url":"http://tv.7kfm.cn/api.php/iptv/vod/"}, +"青杏TV":{"url":"http://pp.ddmym.cn/api.php/iptv/vod/"}, +"若惜影视":{"url":"http://rxw.ruoxinew.com/api.php/Sntv/vod/"}, +"思奇TV":{"url":"http://tv.siqitv.vip/api.php/iptv/vod/"}, +"山楂影视":{"url":"http://dy6.dcd1.cn/api.php/iptv/vod/"}, +"天空TV":{"url":"http://tv.tkys.tv/api.php/iptv/vod/"}, +"虾皮视频":{"url":"http://tv.cmt8.xyz/api.php/iptv/vod/"}, +"小极TV":{"url":"http://api.8d8q.com/mmv/api.php/Chengcheng/vod/"}, +"小熊猫TV":{"url":"http://tv2.hetaoys.vip/api.php/iptv/vod/"}, +"影视阁":{"url":"http://216.98.10.85/api.php/iptv/vod/"}, +"nod影视":{"url":"http://yss.kkysw.top/mogai_api.php/v1.vod"}, +"百淘影视":{"url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +"百淘影视2":{"url":"http://ys.58g8.com/lvdou_api.php/v1.vod"}, +"乐云影视":{"url":"https://www.leyun.tv/api.php/v1.vod"}, +"猫咪TV":{"url":"http://106.12.113.90:6565/api.php/iptv/vod/"}, +"乐看影视":{"url":"http://z001.cye1688.com/api.php/v1.vod"}, +"速播影院":{"url":"http://subolg.com/lvdou_api.php/v1.vod"}, +"源来影视":{"url":"http://ld.ylaiys.com/lvdou_api.php/v1.vod"}, +"CC影视":{"url":"https://ccbug.cc/lvdou_api.php/v1.vod"} +}, +"jx":[] +} diff --git a/XPath/auete.json b/XPath/auete.json new file mode 100644 index 0000000..409376b --- /dev/null +++ b/XPath/auete.json @@ -0,0 +1,147 @@ +{ + "author": "takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://auete.com", + "cateManual": { + "Netflix影视": "Netflix/movies", + "谍战剧集推荐": "diezhan/index", + "豆瓣TOP250": "Top250/movie", + "电影": "Movie/index", + "电视剧": "Tv/index", + "综艺": "Zy/index", + "动漫": "Dm/index", + "其他": "qita/index" + // "美剧": "Tv/oumei/index", + // "韩剧": "Tv/hanju/index", + // "日剧": "Tv/riju/index", + // "泰剧": "Tv/yataiju/index", + // "网剧": "Tv/wangju/index", + // "台剧": "Tv/taiju/index", + // "国产": "Tv/neidi/index", + // "港剧": "Tv/tvbgj/index", + // "英剧": "Tv/yingju/index", + // "动画": "Dm/donghua/index", + // "日漫": "Dm/riman/index", + // "国漫": "Dm/guoman/index", + // "美漫": "Dm/meiman/index" + }, + // Home Summary ================================================ + "homeVodNode": "//div[contains(@class,'picture_list_container')]/ul/li", + "homeVodName": "/a/img/@title", + "homeVodId": "/h2/a/@href", + "homeVodImg": "/a/img/@src", + "homeVodMark": "/a/button/text()", + // Category Summary ================================================ + "cateUrl": "https://auete.com/{cateId}{catePg}.html", + "cateVodNode": "//div[contains(@class,'picture_list_container')]/ul/li", + "cateVodName": "/a/img/@title", + "cateVodId": "/h2/a/@href", + "cateVodImg": "/a/img/@src", + "cateVodMark": "/a/button/text()", + // Category Details ================================================ + "dtUrl": "https://auete.com/{vid}", + "dtNode": "//div[@class='card-body']", + "dtName": "//h1[contains(@class,'title break-all')]/text()", + "dtImg": "//div[@class='cover']/a/@href", + "dtCate": "//div[@class='message break-all']/p[8]/text()", + "dtArea": "//div[@class='message break-all']/p[10]/text()", + "dtYear": "//div[@class='message break-all']/p[11]/text()", + "dtActor": "//div[@class='message break-all']/p[7]/text()", + "dtDirector": "//div[@class='message break-all']/p[5]/text()", + "dtMark": "//div[@class='message break-all']/p[14]/text()", + "dtDesc": "//div[@class='message break-all']/p[16]/text()", + // Playlist ===================================================== + "dtFromNode": "//div[contains(@id,'player_list')]/h2", + "dtFromName": "[substring-after(text(),'播')]", // number must match + "dtUrlNode": "//div[contains(@id,'player_list')]/ul", // number must match + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlName": "/text()", + "playUrl": "https://auete.com/{playUrl}", + "playUa": "", + // Search Results ================================================ + "searchUrl": "https://auete.com/search.php?searchword={wd}", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + // Filters ======================================================= + "filter": { + "Movie/index": [ // 电影 + { + "key": "cateId", + "name": "分类", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧片", "v": "Movie/xjp/index" }, + { "n": "动作片", "v": "Movie/dzp/index" }, + { "n": "爱情片", "v": "Movie/aqp/index" }, + { "n": "科幻片", "v": "Movie/khp/index" }, + { "n": "恐怖片", "v": "Movie/kbp/index" }, + { "n": "惊悚片", "v": "Movie/jsp/index" }, + { "n": "战争片", "v": "Movie/zzp/index" }, + { "n": "剧情片", "v": "Movie/jqp/index" } + ] + } + ], + "Tv/index": [ // 电视剧 + { + "key": "cateId", + "name": "分类", + "value": [ + { "n": "全部", "v": "" }, + { "n": "美剧", "v": "Tv/oumei/index" }, + { "n": "韩剧", "v": "Tv/hanju/index" }, + { "n": "日剧", "v": "Tv/riju/index" }, + { "n": "泰剧", "v": "Tv/yataiju/index" }, + { "n": "网剧", "v": "Tv/wangju/index" }, + { "n": "台剧", "v": "Tv/taiju/index" }, + { "n": "国产", "v": "Tv/neidi/index" }, + { "n": "港剧", "v": "Tv/tvbgj/index" }, + { "n": "英剧", "v": "Tv/yingju/index" } + ] + } + ], + // "Zy/index": [ // 综艺 + // { + // "key": "cateId", + // "name": "分类", + // "value": [ + // { "n": "全部", "v": "" }, + // { "n": "国综", "v": "Zy/guozong/index" }, + // { "n": "韩综", "v": "Zy/hanzong/index" }, + // { "n": "美综", "v": "Zy/meizong/index" } + // ] + // } + // ], + "Dm/index": [ // 动漫 + { + "key": "cateId", + "name": "分类", + "value": [ + { "n": "全部", "v": "" }, + { "n": "动画", "v": "Dm/donghua/index" }, + { "n": "日漫", "v": "Dm/riman/index" }, + { "n": "国漫", "v": "Dm/guoman/index" }, + { "n": "美漫", "v": "Dm/meiman/index" } + ] + } + ], + "qita/index": [ // 其他 + { + "key": "cateId", + "name": "分类", + "value": [ + { "n": "全部", "v": "" }, + { "n": "记录片", "v": "qita/Jlp/index" }, + { "n": "经典片", "v": "qita/Jdp/index" }, + { "n": "经典剧", "v": "qita/Jdj/index" }, + { "n": "网大电影", "v": "qita/wlp/index" }, + { "n": "国产老电影", "v": "qita/laodianying/index" } + ] + } + ] + } + } diff --git a/XPath/bdys.json b/XPath/bdys.json new file mode 100644 index 0000000..a7e5c54 --- /dev/null +++ b/XPath/bdys.json @@ -0,0 +1,57 @@ +{ + "ua": "", + "homeUrl": "https://www.bdys01.com", + "dcPlayUrl": "true", + "cateNode": "//a[contains(@href,'/s/')]", + "cateName": "concat(//span[contains(@class,'nav-link-title')]/text(),//a[contains(@class,'dropdown-item')]/text())", + "cateId": "/@href", + "cateIdR": "/s/(\\w+)", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'col-4 rows-md-7')]/div[contains(@class,'card card-sm card-link')]", + "homeVodName": "//h3/text()", + "homeVodId": "/a/@href", + "homeVodIdR": "/(\\S+).htm", + "homeVodImg": "/a/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "concat(//div[contains(@class,'ribbon ribbon-bookmark ribbon-top bg-azure p-0')]/text(),//span[contains(@class,'badge bg-pink position-absolute top-0 start-0')]/text())", + "cateUrl": "https://www.bdys01.com/s/{cateId}/{catePg}", + "cateVodNode": "//div[contains(@class,'col-lg-8 col-4')]/div[contains(@class,'card card-sm card-link')]", + "cateVodName": "//h3/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "/(\\S+).htm", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "concat(//div[contains(@class,'ribbon ribbon-bookmark ribbon-top bg-azure p-0')]/text(),//span[contains(@class,'badge bg-pink position-absolute top-0 start-0')]/text())", + "dtUrl": "https://www.bdys01.com/{vid}.htm", + "dtNode": "//body", + "dtName": "//h2/text()", + "dtNameR": "", + "dtImg": "//div[contains(@class,'col-md-auto')]/img/@src", + "dtImgR": "", + "dtCate": "//div[@class='col mb-2']/p/a[contains(@target,'new')]/text()", + "dtArea": "//div[@class='col mb-2']//strong[contains(text(),'地区')]/parent::text()", + "dtAreaR": "\\[(\\S+)\\]", + "dtYear": "//div[@class='col mb-2']//strong[contains(text(),'上映日期')]/parent::text()", + "dtYearR": "(\\w+)", + "dtActor": "//div[@class='col mb-2']//a[contains(@href,'performer')]/text()", + "dtDirector": "//div[@class='col mb-2']//a[contains(@href,'director')]/text()", + "dtDesc": "//div[@class='card collapse']//div[@class='card-body']/text()", + + //获取magnet链接 + "dtFromNode": "//tbody[contains(@id,'download-list')]/tr", + "dtFromName": "/td[2]/text()", + "dtUrlNode": "//tbody[contains(@id,'download-list')]", + "dtUrlSubNode": "/tr", + "dtUrlId": "/td[3]/a/@href", + "dtUrlIdR": "", + "dtUrlName": "/td[2]/text()", + + + "searchUrl": "https://www.bdys01.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/bidiyingshi.json b/XPath/bidiyingshi.json new file mode 100644 index 0000000..0fb0e1a --- /dev/null +++ b/XPath/bidiyingshi.json @@ -0,0 +1,71 @@ +{ + "ua": "", + "homeUrl": "https://www.bidiys.cc/", + "dcVipFlag": "true", + "pCfgJs": "https://www.bidiys.cc/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "南瓜电影": "nanguady", + "4K专区": "huiyuanzhuanqu", + "电影": "dianying", + //"连续剧": "lianxuju", + "国产剧": "guochanju", + "港台剧": "gangtaiju", + "日韩剧": "rihanju", + "欧美剧": "oumeiju", + "其他海外": "qita", + "日本番剧": "rbdm", + "动漫": "dongman", + "综艺": "zongyi" + }, + + "homeVodNode": "//div[@class=('module-item-cover')]", + "homeVodName": "//div[@class=('module-item-pic')]/a/@title", + "homeVodId": "/div[@class=('module-item-pic')]/a/@href", + "homeVodIdR": "/voddetail-(\\S+).html", + "homeVodImg": "/div[@class=('module-item-pic')]/img/@data-src", + "homeVodImgR": "(http\\S+)", + "homeVodMark": "/div[@class='module-item-caption']/span/text()", + + "cateUrl": "https://www.bidiys.cc/vodshow-{cateId}--hits------{catePg}---.html", + "cateVodNode": "//div[@class=('module-item-cover')]", + "cateVodName": "/div[@class=('module-item-pic')]/a/@title", + "cateVodId": "/div[@class=('module-item-pic')]/a/@href", + "cateVodIdR": "/voddetail-(\\S+).html", + "cateVodImg": "/div[@class=('module-item-pic')]/img/@data-src", + "cateVodImgR": "(http\\S+)", + "cateVodMark": "/div[@class='module-item-caption']/span/text()", + + "dtUrl": "https://www.bidiys.cc/voddetail-{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'video-info-header')]/h1[@class='page-title']/text()", + "dtImg": "//div[@class=('module-item-pic')]/img/@data-src", + "dtImgR": "(http\\S+)", + "dtCate": "//div[contains(@class,'tag-link')]/a/text()", + "dtYear": "//a[@class='tag-link'][2]/text()", + "dtArea": "//a[@class='tag-link'][3]/text()", + "dtDirector": "concat(//span[contains(text(), '导演')]/parent::*/div/a/text())", + "dtActor": "concat(//span[contains(text(), '主演')]/parent::*/div/a/text())", + "dtDesc": "//span[contains(text(), '剧情')]/parent::*/div/span/text()", + + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'module-tab-content')]//div[contains(@class,'sort-item')]", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay-(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.bidiys.cc/vodplay-{playUrl}.html", + + "searchUrl": "https://www.bidiys.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/bidiys.json b/XPath/bidiys.json new file mode 100644 index 0000000..cbc4e42 --- /dev/null +++ b/XPath/bidiys.json @@ -0,0 +1,60 @@ +{ + "author": "vx:bktx123", + "ua": "", + "homeUrl": "http://118.190.244.195/gengduoziyuansouweixingongzhonghaobktx123/cat/cc/bidi/", + //"dcVipFlag": "true", + //"pCfgJs": "http://www.rr520.cc/static/js/playerconfig.js", + // "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + //"dcShow2Vip": {}, + //"dcPlayUrl": "true", + "cateManual": { + "南瓜电影": "nanguady", + "4K专区": "huiyuanzhuanqu", + "电影": "dianying", + "连续剧": "lianxuju", + "动漫": "dongman" + }, + "homeVodNode": "//div[contains(@class,'module-item-pic')]", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/voddetail-(\\S+).html", + "homeVodImg": "/img/@data-src", + "homeVodMark": "", + // + "cateUrl": "https://www.bidiys.cc/vodshow-{cateId}--hits------{catePg}---.html", + "cateVodNode": "//div[contains(@class, 'module-item-pic')]", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/voddetail-(\\S+).html", + "cateVodImg": "/img/@data-src", + "cateVodMark": "", + // + "dtUrl": "https://www.bidiys.cc/voddetail-{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='module-item-pic']/img[contains(@class,'lazyload')]/@alt", + "dtImg": "//div[@class='module-item-pic']/img[contains(@class,'lazyload')]/@data-src", + //"dtCate": "//ul[@class='moviedteail_list']/li[contains(text(),'类型')]/a/text()", + //"dtYear": "//ul[@class='moviedteail_list']/li[contains(text(),'年份')]/a/text()", + //"dtArea": "//ul[@class='moviedteail_list']/li[contains(text(),'地区')]/a/text()", + // "dtActor": "//ul[@class='moviedteail_list']/li[contains(text(),'主演')]/a/text()", + // "dtDirector": "//ul[@class='moviedteail_list']/li[contains(text(),'导演')]/a/text()", + //"dtFromNode": "//div[contains(@class,'mi_paly_box')]//div[@class='ypxingq_t']", + //"dtFromName": "/text()", + "dtFromNode": "//div[2][@class='module-tab-content']//div//span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//body", + "dtUrlSubNode": "//div[@class='scroll-content']/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay-(\\S+).html", + "dtUrlName": "//span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.bidiys.cc/vodplay-{playUrl}.html", + "searchUrl": "https://www.bidiys.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/bilibili.json b/XPath/bilibili.json new file mode 100644 index 0000000..fbcaabf --- /dev/null +++ b/XPath/bilibili.json @@ -0,0 +1,1440 @@ +{ + "classes": [ + { + "type_name": "搞笑", + "type_id": "搞笑" + }, + { + "type_name": "鬼畜", + "type_id": "鬼畜" + }, + { + "type_name": "Sports", + "type_id": "球星" + }, + { + "type_name": "戏曲", + "type_id": "戏曲" + }, + { + "type_name": "演唱会", + "type_id": "演唱会" + }, + { + "type_name": "动物世界", + "type_id": "动物世界" + }, + { + "type_name": "假窗白噪音", + "type_id": "窗白噪音" + }, + { + "type_name": "相声小品", + "type_id": "相声小品" + }, + { + "type_name": "儿童", + "type_id": "儿童" + } + ], + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "鬼畜": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/bttwoo.json b/XPath/bttwoo.json new file mode 100644 index 0000000..8c07210 --- /dev/null +++ b/XPath/bttwoo.json @@ -0,0 +1,78 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.bttwoo.com", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "最新电影": "new-movie", + "热门电影": "hot", + "本月热门": "hot-month", + "高分电影": "gf", + "国产剧": "zgjun", + "美剧": "meiju", + "日韩剧": "jpsrtv", + "喜剧": "movie_bt_tags/xiju", + "爱情": "movie_bt_tags/aiqing", + "冒险": "movie_bt_tags/adt", + "动作": "movie_bt_tags/at", + "奇幻": "movie_bt_tags/qihuan", + "悬疑": "movie_bt_tags/xuanni", + "惊悚": "movie_bt_tags/jingsong", + "武侠": "movie_bt_tags/wuxia", + "国漫": "movie_bt/movie_bt_cat/dl/movie_bt_tags/donghua", + "日漫": "movie_bt/movie_bt_cat/rb/movie_bt_tags/donghua", + "美漫": "movie_bt/movie_bt_cat/mg/movie_bt_tags/donghua" + }, + "homeVodNode": "//div[contains(@class,'bt_img')]/ul/li", + "homeVodName": "/h3/a/text()", + "homeVodId": "/a/@href", + "homeVodIdR": "https://www.bttwoo.com/(\\S+).html", + "homeVodImg": "/a/img/@data-original", + "homeVodImgR": "", + "homeVodMark": "", + "cateUrl": "https://www.bttwoo.com/{cateId}/page/{catePg}", + "cateVodNode": "//div[contains(@class,'bt_img')]/ul/li", + "cateVodName": "/h3/a/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "https://www.bttwoo.com/(\\S+).html", + "cateVodImg": "/a/img/@data-original", + "cateVodImgR": "", + "cateVodMark": "", + "dtUrl": "https://www.bttwoo.com/{vid}.html", + "dtNode": "//body", + "dtName": "//h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='dyimg fl']/img/@src", + "dtImgR": "", + "dtCate": "//li[contains(text(), '类型')]/child::text()", + "dtCateR": "", + "dtYear": "//li[contains(text(), '年份')]/child::text()", + "dtYearR": "", + "dtArea": "//li[contains(text(), '地区')]/child::text()", + "dtAreaR": "", + "dtDirector": "//li[contains(text(), '导演')]/child::text()", + "dtDirectorR": "", + "dtActor": "//li[contains(text(), '主演')]/child::text()", + "dtActorR": "", + "dtDesc": "concat(//div[@class='yp_context']/text(),//div[@class='yp_context']/p/text())", + "dtDescR": "", + "dtFromNode": "//div[@class='mi_paly_box']/div/div[@class='ypxingq_t']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='paly_list_btn']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "https://www.bttwoo.com/v_play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.bttwoo.com/v_play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.bttwoo.com/xssearch?q={wd}", + "scVodNode": "//div[contains(@class,'search_list')]/ul/li", + "scVodName": "/h3/a/text()", + "scVodId": "/@href", + "scVodIdR": "https://www.bttwoo.com/(\\S+).html", + "scVodImg": "//img/@data-original", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/bttwoo2.json b/XPath/bttwoo2.json new file mode 100644 index 0000000..5959389 --- /dev/null +++ b/XPath/bttwoo2.json @@ -0,0 +1,78 @@ +{ + "author": "", + "ua": "", + "homeUrl": "https://www.bttwoo.com", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "最新电影": "new-movie", + "热门电影": "hot", + "本月热门": "hot-month", + "高分电影": "gf", + "国产剧": "zgjun", + "美剧": "meiju", + "日韩剧": "jpsrtv", + "喜剧": "movie_bt_tags/xiju", + "爱情": "movie_bt_tags/aiqing", + "冒险": "movie_bt_tags/adt", + "动作": "movie_bt_tags/at", + "奇幻": "movie_bt_tags/qihuan", + "悬疑": "movie_bt_tags/xuanni", + "惊悚": "movie_bt_tags/jingsong", + "武侠": "movie_bt_tags/wuxia", + "国漫": "movie_bt/movie_bt_cat/dl/movie_bt_tags/donghua", + "日漫": "movie_bt/movie_bt_cat/rb/movie_bt_tags/donghua", + "美漫": "movie_bt/movie_bt_cat/mg/movie_bt_tags/donghua" + }, + "homeVodNode": "//div[contains(@class,'bt_img')]/ul/li", + "homeVodName": "/h3/a/text()", + "homeVodId": "/a/@href", + "homeVodIdR": "https://www.bttwoo.com/(\\S+).html", + "homeVodImg": "/a/img/@data-original", + "homeVodImgR": "", + "homeVodMark": "", + "cateUrl": "https://www.bttwoo.com/{cateId}/page/{catePg}", + "cateVodNode": "//div[contains(@class,'bt_img')]/ul/li", + "cateVodName": "/h3/a/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "https://www.bttwoo.com/(\\S+).html", + "cateVodImg": "/a/img/@data-original", + "cateVodImgR": "", + "cateVodMark": "", + "dtUrl": "https://www.bttwoo.com/{vid}.html", + "dtNode": "//body", + "dtName": "//h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='dyimg fl']/img/@src", + "dtImgR": "", + "dtCate": "//li[contains(text(), '类型')]/child::text()", + "dtCateR": "", + "dtYear": "//li[contains(text(), '年份')]/child::text()", + "dtYearR": "", + "dtArea": "//li[contains(text(), '地区')]/child::text()", + "dtAreaR": "", + "dtDirector": "//li[contains(text(), '导演')]/child::text()", + "dtDirectorR": "", + "dtActor": "//li[contains(text(), '主演')]/child::text()", + "dtActorR": "", + "dtDesc": "concat(//div[@class='yp_context']/text(),//div[@class='yp_context']/p/text())", + "dtDescR": "", + "dtFromNode": "//div[@class='mi_paly_box']/div/div[@class='ypxingq_t']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='paly_list_btn']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "https://www.bttwoo.com/v_play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.bttwoo.com/v_play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.bttwoo.com/xssearch?q={wd}", + "scVodNode": "//div[contains(@class,'search_list')]/ul/li", + "scVodName": "/h3/a/text()", + "scVodId": "/@href", + "scVodIdR": "https://www.bttwoo.com/(\\S+).html", + "scVodImg": "//img/@data-original", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/buka.json b/XPath/buka.json new file mode 100644 index 0000000..83640a0 --- /dev/null +++ b/XPath/buka.json @@ -0,0 +1,279 @@ +{ + "url": "https://www.zhenbuka3.com", + "host": "www.zhenbuka3.com", + "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", + "regexCategory": "/vodtype/(\\w+)/", + "regexVid": "/voddetail/(\\w+)/", + "regexPlay": "/vodplay/(\\w+)-(\\d+)-(\\d+)/", + "regexPage": "/vodshow/(\\S+)/", + "urlCategory": "/vodshow/|/", + "urlDetail": "/voddetail/|/", + "urlPlay": "/vodplay/|/", + "urlSearch": "", + "player": { + "qqpic": { + "sh": "不卡超清[推荐]", + "pu": "http://good-vip.mmiyue.com/zhenbuka2/player/index.php?video_id=", + "sn": 0, + "or": 999 + }, + "niuxyun": { + "sh": "不卡备用[推荐]", + "pu": "http://good-vip.mmiyue.com/jiekou/zbk-bkby/jx.php?id=", + "sn": 0, + "or": 999 + }, + "vipjx": { + "sh": "不卡备用③[推荐]", + "pu": "https://cq.mmiyue.com/zhenbuka2/player/index.php?url=", + "sn": 0, + "or": 999 + }, + "bkm3u8": { + "sh": "不卡备用②[推荐]", + "pu": "http://good-vip.mmiyue.com/zhenbuka2/player/index.php?url=//good-vip.mmiyue.com/zhenbuka2/api/dymp4.php?video_id=", + "sn": 0, + "or": 999 + }, + "cy": { + "sh": "动漫云", + "pu": "https://cq.mmiyue.com/jiekou/zbk-bkby/jx.php?id=", + "sn": 0, + "or": 999 + }, + "mgtv": { + "sh": "不卡芒果", + "pu": "https://cq.mmiyue.com/zhenbuka2/player/index.php?url=", + "sn": 0, + "or": 999 + }, + "qiyi": { + "sh": "不卡奇艺", + "pu": "https://cq.mmiyue.com/zhenbuka2/player/index.php?url=", + "sn": 0, + "or": 999 + }, + "qq": { + "sh": "不卡企鹅", + "pu": "https://cq.mmiyue.com/zhenbuka2/player/index.php?url=", + "sn": 0, + "or": 999 + }, + "youku": { + "sh": "不卡优酷", + "pu": "https://cq.mmiyue.com/zhenbuka2/player/index.php?url=", + "sn": 0, + "or": 999 + }, + "dbm3u8": { "sh": "资源备用[不推荐]", "pu": "", "sn": 0, "or": 999 }, + "niuyun": { + "sh": "超清备用", + "pu": "https://api.l32c.cn/danmu/niuyun.php?id=", + "sn": 0, + "or": 999 + }, + "123kum3u8": { "sh": "资源备用[不推荐]", "pu": "", "sn": 0, "or": 999 }, + "sixpan": { + "sh": "不卡备用②[推荐]", + "pu": "https://cq.mmiyue.com/zhenbuka2/player/index.php?url=//cq.mmiyue.com/m3u8/buka/", + "sn": 0, + "or": 999 + }, + "qq1": { + "sh": "超清云播", + "pu": "https://api.nixingle.com/zhenbuka/player/index.php?id=", + "sn": 0, + "or": 999 + } + }, + "filter": { + "1": [ + { + "key": 0, + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" }, + { "n": "动画片", "v": "23" }, + { "n": "纪录片", "v": "25" }, + { "n": "犯罪片", "v": "26" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "中国香港", "v": "中国香港" }, + { "n": "中国台湾", "v": "中国台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "德国", "v": "德国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "意大利", "v": "意大利" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + } + ], + "2": [ + { + "key": 0, + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "14" }, + { "n": "日韩剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "海外剧", "v": "20" }, + { "n": "纪录片", "v": "24" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "中国香港", "v": "中国香港" }, + { "n": "中国台湾", "v": "中国台湾" }, + { "n": "韩国", "v": "韩国" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + } + ], + "3": [ + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "中国香港", "v": "中国香港" }, + { "n": "中国台湾", "v": "中国台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "美国", "v": "美国" }, + { "n": "英国", "v": "英国" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "4": [ + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ] + } +} diff --git a/XPath/bwl87.json b/XPath/bwl87.json new file mode 100644 index 0000000..4a5ce64 --- /dev/null +++ b/XPath/bwl87.json @@ -0,0 +1,487 @@ +{ + "url": "https://www.bwl87.com", + "host": "www.bwl87.com", + "regexCategory": "/type/(\\w+)/", + "regexVid": "/detail/(\\w+)/", + "regexPlay": "/play/(\\w+)-(\\d+)-(\\d+)/", + "regexPage": "/show/(\\S+)/", + "urlCategory": "/show/|/", + "urlDetail": "/detail/|/", + "urlPlay": "/play/|/", + "player": { + "xfyun": { + "sh": "未央宫", + "sn": 1, + "pu": "https://jx.ak1080.me/?url=", + "or": 999 + }, + "m3u8": { + "sh": "大明宫", + "sn": 0, + "pu": "https://bwl87.com/play/dm.php?url=", + "or": 999 + }, + "xin": { + "sh": "阿房宫", + "sn": 1, + "pu": "https://haha.90mm.me/play.php?url=", + "or": 999 + }, + "age01": { + "sh": "动漫线路", + "sn": 0, + "pu": "https://www.bwl87.com/play/?url=", + "or": 999 + }, + "age02": { + "sh": "动漫专线", + "sn": 0, + "pu": "https://www.bwl87.com/play/?url=", + "or": 999 + }, + "qie": { "sh": "上林苑", "sn": 0, "pu": "", "or": 999 }, + "dplayer": { "sh": "DPlayer-H5播放器", "sn": 0, "pu": "", "or": 999 }, + "videojs": { "sh": "videojs-H5播放器", "sn": 0, "pu": "", "or": 999 }, + "iva": { "sh": "iva-H5播放器", "sn": 0, "pu": "", "or": 999 }, + "iframe": { "sh": "iframe外链数据", "sn": 0, "pu": "", "or": 999 }, + "link": { "sh": "外链数据", "sn": 0, "pu": "", "or": 999 }, + "swf": { "sh": "Flash文件", "sn": 0, "pu": "", "or": 999 }, + "flv": { "sh": "Flv文件", "sn": 0, "pu": "", "or": 999 } + }, + "filter": { + "1": [ + { + "key": 0, + "name": "类型", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" }, + { "n": "奇幻片", "v": "22" }, + { "n": "悬疑片", "v": "23" }, + { "n": "犯罪片", "v": "24" }, + { "n": "动漫电影", "v": "26" } + ] + }, + { + "key": 3, + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "动作", "v": "动作" }, + { "n": "科幻", "v": "科幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "战争", "v": "战争" }, + { "n": "警匪", "v": "警匪" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动画", "v": "动画" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "武侠", "v": "武侠" }, + { "n": "冒险", "v": "冒险" }, + { "n": "枪战", "v": "枪战" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "经典", "v": "经典" }, + { "n": "青春", "v": "青春" }, + { "n": "文艺", "v": "文艺" }, + { "n": "微电影", "v": "微电影" }, + { "n": "古装", "v": "古装" }, + { "n": "历史", "v": "历史" }, + { "n": "运动", "v": "运动" }, + { "n": "农村", "v": "农村" }, + { "n": "儿童", "v": "儿童" }, + { "n": "网络电影", "v": "网络电影" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "德国", "v": "德国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "意大利", "v": "意大利" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "法语", "v": "法语" }, + { "n": "德语", "v": "德语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2": [ + { + "key": 0, + "name": "类型", + "value": [ + { "n": "全部", "v": "2" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "14" }, + { "n": "韩日剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "泰国剧", "v": "21" }, + { "n": "日本剧", "v": "27" } + ] + }, + { + "key": 3, + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + { "n": "青春偶像", "v": "青春偶像" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "家庭", "v": "家庭" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "经典", "v": "经典" }, + { "n": "乡村", "v": "乡村" }, + { "n": "情景", "v": "情景" }, + { "n": "商战", "v": "商战" }, + { "n": "网剧", "v": "网剧" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "韩国", "v": "韩国" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3": [ + { + "key": 3, + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "选秀", "v": "选秀" }, + { "n": "情感", "v": "情感" }, + { "n": "访谈", "v": "访谈" }, + { "n": "播报", "v": "播报" }, + { "n": "旅游", "v": "旅游" }, + { "n": "音乐", "v": "音乐" }, + { "n": "美食", "v": "美食" }, + { "n": "纪实", "v": "纪实" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "生活", "v": "生活" }, + { "n": "游戏互动", "v": "游戏互动" }, + { "n": "财经", "v": "财经" }, + { "n": "求职", "v": "求职" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "4": [ + { + "key": 3, + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "情感", "v": "情感" }, + { "n": "科幻", "v": "科幻" }, + { "n": "热血", "v": "热血" }, + { "n": "推理", "v": "推理" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "冒险", "v": "冒险" }, + { "n": "萝莉", "v": "萝莉" }, + { "n": "校园", "v": "校园" }, + { "n": "动作", "v": "动作" }, + { "n": "机战", "v": "机战" }, + { "n": "运动", "v": "运动" }, + { "n": "战争", "v": "战争" }, + { "n": "少年", "v": "少年" }, + { "n": "少女", "v": "少女" }, + { "n": "社会", "v": "社会" }, + { "n": "原创", "v": "原创" }, + { "n": "亲子", "v": "亲子" }, + { "n": "益智", "v": "益智" }, + { "n": "励志", "v": "励志" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产", "v": "国产" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "20": [ + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] + } +} diff --git a/XPath/cctv68.json b/XPath/cctv68.json new file mode 100644 index 0000000..17a53c1 --- /dev/null +++ b/XPath/cctv68.json @@ -0,0 +1,56 @@ +{ + "author": "ShiXue", + "ua": "", + "homeUrl": "https://www.cctv-68.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.cctv-68.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class, 'nav-menu-items')]//li[@class='grid-item']/a[contains(@href, 'vodtype')]", + "cateName": "/@title", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+).html", + "homeVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "homeVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "homeVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div[contains(@class,'module-item-text')]/text()", + "cateUrl": "https://www.cctv-68.com/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//div[@class='module-items']/div/div/div[@class='module-item-pic']", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "", + "dtUrl": "https://www.cctv-68.com/voddetail/{vid}.html", + "dtNode": "//div[@class='box view-heading']", + "dtName": "//div[@class='video-info']/div[@class='video-info-header']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//div[@class='module-item-pic']/img/@data-src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='video-info']//div[@class='tag-link']/span/following-sibling::*/text()", + "dtYear": "//div[@class='video-info']//span[contains(@class,'itemtitle') and contains(text(), '年代')]/following-sibling::div/a/text()", + "dtArea": "", + "dtActor": "//div[@class='video-info']//span[contains(@class,'itemtitle') and contains(text(), '主演')]/following-sibling::div/a/text()", + "dtDirector": "//div[@class='video-info']//span[contains(@class,'itemtitle') and contains(text(), '导演')]/following-sibling::div/a/text()", + "dtDesc": "//div[@class='video-info']//span[contains(@class,'itemtitle') and contains(text(), '剧情')]/following-sibling::div//p/text()", + "dtFromNode": "//div[contains(@class, 'module-tab-content')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "playUrl": "https://www.cctv-68.com/vodplay/{playUrl}.html", + "searchUrl": "https://www.cctv-68.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=5", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/changzhangziyuan.json b/XPath/changzhangziyuan.json new file mode 100644 index 0000000..64e207d --- /dev/null +++ b/XPath/changzhangziyuan.json @@ -0,0 +1,82 @@ +{ + "ua": "", + "homeUrl": "https://www.czspp.com", + "cateNode": "//ul[@class='navlist hidden-md-and-down']/li[contains(@id,'menu-item') and not (contains(@id,'33'))]/a", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "(\\w+)", + "cateManual": { + "本月热门":"benyueremen", + "高分影视":"gaofenyingshi", + "豆瓣电影TOP250": "dbtop250", + "最新电影": "zuixindianying", + "电视剧": "dsj", + "国产剧": "gcj", + "美剧": "meijutt", + "韩剧": "hanjutv", + "日剧":"movie_bt_series/rj", + "海外剧": "movie_bt_series/hwj", + "番剧": "fanju", + "动漫": "dm", + "韩国电影":"movie_bt_series/hanguodianying", + "纪录片":"movie_bt/movie_bt_tags/jlpp" + }, + + "homeVodNode": "//div[contains(@class,'bt_img mi_ne_kd')]/ul/li/a", + "homeVodName": "/following-sibling::h3/a/text()", + "homeVodId": "/@href", + "homeVodIdR": "/movie/(\\w+).html", + "homeVodImg": "/img/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div/span/text()", + + "cateUrl": "https://www.czspp.com/{cateId}/page/{catePg}", + "cateVodNode": "//div[@class='bt_img mi_ne_kd mrb']/ul/li/a", + "cateVodName": "/following-sibling::h3/a/text()", + "cateVodId": "/@href", + "cateVodIdR": "/movie/(\\w+).html", + "cateVodImg": "/img/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div/span/text()", + + "dtUrl": "https://www.czspp.com/movie/{vid}.html", + "dtNode": "//div[@class='mi_ne_kd dypre']", + "dtName": "/div[@class='dytext fl']/div/h1/text()", + "dtNameR": "/movie/(\\w+).html", + "dtImg": "/div[@class='dyimg fl']/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "/div[@class='dytext fl']/ul/li[contains(text(),'类型')]/a/text()", + "dtCateR": "", + "dtYear": "/div[@class='dytext fl']/ul/li[contains(text(),'年份')]/a/text()", + "dtYearR": "", + "dtArea": "/div[@class='dytext fl']/ul/li[contains(text(),'地区')]/a/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "/div[@class='dytext fl']/ul/li[contains(text(),'主演')]/a/text()", + "dtActorR": "", + "dtDirector": "/div[@class='dytext fl']/ul/li[contains(text(),'导演')/a/text()", + "dtDirectorR": "", + "dtDesc": "", + "dtDescR": "", + + "dtFromNode": "//div[@class='mi_paly_box']/div[@class='mi_ne_kd']", + "dtFromName": "/div[@class='ypxingq_t']/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='paly_list_btn']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/v_play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.czspp.com/v_play/{playUrl}.html", + "playUa": "", + + "searchUrl": "https://www.czspp.com/xssearch?q={wd}", + "scVodNode": "//div[@class='bt_img mi_ne_kd search_list']/ul/li/a", + "scVodName": "/img/@alt", + "scVodId": "/@href", + "scVodIdR": "/movie/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/div[@class='jidi']/span/text()" +} \ No newline at end of file diff --git a/XPath/chenluodianying.json b/XPath/chenluodianying.json new file mode 100644 index 0000000..4abd1ad --- /dev/null +++ b/XPath/chenluodianying.json @@ -0,0 +1,62 @@ +{ + "ua": "", + "homeUrl": "https://v.xuangz.cn/", + "cateNode": "//ul[@class='nav navbar-nav']/li/a[contains(@href,'whole') and not(contains(@href, '5'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/whole(\\S+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='movie-item-in']", + "homeVodName": "/div/h1/a/text()", + "homeVodId": "/div/h1/a/@href", + "homeVodIdR": "/show(\\S+).html", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "", + "homeVodMark": "", + "cateUrl": "https://v.xuangz.cn/whole/{cateId}_______0_addtime_{catePg}.html", + "cateVodNode": "//div[@class='movie-item-in']", + "cateVodName": "/div/h1/a/text()", + "cateVodId": "/div/h1/a/@href", + "cateVodIdR": "/show(\\S+).html", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "", + "cateVodMark": "", + "dtUrl": "https://v.xuangz.cn/show/{vid}.html", + "dtNode": "//div[@class='row']", + "dtName": "/div/h1/text()", + "dtNameR": "", + "dtImg": "/div/div/div[1]/img/@src", + "dtImgR": "", + "dtCate": "/div/div/div[2]/table/tbody/tr[3]/td[2]/a/text()", + "dtCateR": "", + "dtYear": "div/div/div[2]/table/tbody/tr[6]/td[2]/a/text()", + "dtYearR": "", + "dtArea": "/div/div/div[2]/table/tbody/tr[4]/td[2]/a/text()", + "dtAreaR": "", + "dtMark": "/div/div/div[2]/table/tbody/tr[7]/td[2]/text()", + "dtMarkR": "", + "dtActor": "/div/div/div[2]/table/tbody/tr[2]/td[2]/a/text()", + "dtActorR": "", + "dtDirector": "/div/div/div[2]/table/tbody/tr[1]/td[2]/a/text()", + "dtDirectorR": "", + "dtDesc": "/div/div[2]/div[2]/p/span//span/text()", + "dtDescR": "", + "dtFromNode": "//ul[@id='tvTabs']/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='row tv-js-list']", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://v.xuangz.cn//play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://v.xuangz.cn/?c=search&wd={wd}", + "scVodNode": "//div[@class='movie-item-in']", + "scVodName": "/a/@title", + "scVodId": "/div/h1/a/@href", + "scVodIdR": "/show/(\\S+).html", + "scVodImg": "/a/img/@src", + "scVodMark": "/a/span/text()" +} \ No newline at end of file diff --git a/XPath/chinady..json b/XPath/chinady..json new file mode 100644 index 0000000..5382350 --- /dev/null +++ b/XPath/chinady..json @@ -0,0 +1,319 @@ +{ + "author": "csp_XPathFilter", + "ua":"", + "homeUrl": "https://www.chinady.ga/", + //"dcVipFlag":"true", + //"dcPlayUrl":"true", + //"dcshow2Vip":{}, + "cateManual": { + "电影": "dianying", + "剧集": "dsj", + "综艺": "zy", + "动漫": "dm" + }, + "homeVodNode": "//div[@class='module'][1]//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/vod/(.+).html", + "homeVodImg": "//img/@data-src", + "homeVodImgR": "(https?.+)", + "homeVodMark": "/div[@class='module-item-text']/text()", + "cateUrl": "https://www.chinady.ga/vodshow/{cateId}--{by}------{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-items']/div[@class='module-item']", + "cateVodName": "//div[@class='module-item-pic']/a/@title", + "cateVodId": "//div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/vod/(.+).html", + "cateVodImg": "//img/@data-src", + "cateVodImgR": "(https?.+)", + "cateVodMark": "/div[@class='module-item-text']/text()", + "dtUrl": "https://www.chinady.ga/vod/{vid}.html", + "dtNode": "//body", + "dtName": "//h1/text()", + "dtImg": "//div[@class='video-cover']/div[@class='module-item-cover']/div[@class='module-item-pic']/img/@data-src", + "dtImgR": "(https?.+)", + + "dtCate": "concat(//div[@class='tag-link']//text())", + "dtCateR":"^/*(.+?)/*$", + "dtActor": "concat(//div[@class='video-info-items'][2]/div[@class='video-info-item video-info-actor']//text())", + "dtActorR":"^/*(.+?)/*$", + "dtDirector": "concat(//div[@class='video-info-items'][1]/div[@class='video-info-item video-info-actor']//text())", + "dtDirectorR":"^/*(.+?)/*$", + "dtDesc": "//div[@class='video-info-items'][6]/div[@class='video-info-item video-info-content vod_content']/span/text()", + + "dtFromNode": "//div[contains(@class,'module-tab-item tab-item')]", + "dtFromName": "concat(//text(),'集')", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='scroll-content']", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(.+).html", + "dtUrlName": "//text()", + "dtUrlNameR": "", + "playUrl": "https://www.chinady.ga/vodplay/{playUrl}.html", + + "playUa": "", + "searchUrl": "https://www.chinady.ga/index.php/ajax/suggest?mid=1&wd={wd}&limit=5", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter":{"dianying": [ + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "时间排序", + "v": "time" + }, { + "n": "人气排序", + "v": "hits" + }, { + "n": "评分排序", + "v": "score" + }] + }], + "dsj": [ + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "时间排序", + "v": "time" + }, { + "n": "人气排序", + "v": "hits" + }, { + "n": "评分排序", + "v": "score" + }] + }], + "zy": [ + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "时间排序", + "v": "time" + }, { + "n": "人气排序", + "v": "hits" + }, { + "n": "评分排序", + "v": "score" + }] + }], + "dm": [ + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "时间排序", + "v": "time" + }, { + "n": "人气排序", + "v": "hits" + }, { + "n": "评分排序", + "v": "score" + }] + }] +} +} \ No newline at end of file diff --git a/XPath/chinady.json b/XPath/chinady.json new file mode 100644 index 0000000..bf943f8 --- /dev/null +++ b/XPath/chinady.json @@ -0,0 +1,64 @@ +{ + "author":"20220522", + "ua": "", + "homeUrl": "https://www.chinady.ga/", + "dcVipFlag": "true", + //"pCfgJs": "https://www.chinady.ga/static/js/playerconfig.js", + //"pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + //"dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": {"电影": "dianying","电视剧": "dsj","综艺": "zy","动漫": "dm"}, + "homeVodNode": "//div[contains(@class,'module-items')]/div[contains(@class,'module-item')]", + "homeVodName": "//div[contains(@class, 'module-item-titlebox')]/a[contains(@class, 'module-item-title')]/@title", + "homeVodId": "//div[contains(@class, 'module-item-titlebox')]/a/@href", + "homeVodIdR": "/vod/(\\w+).html", + "homeVodImg": "//div[contains(@class, 'module-item-pic')]/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//div[contains(@class,'module-item-text')]/text()", + "cateUrl": "https://www.chinady.ga/v/{cateId}/{catePg}.html", + "cateVodNode": "//div[contains(@class,'module-items')]/div[contains(@class,'module-item')]", + "cateVodName": "//div[contains(@class, 'module-item-titlebox')]/a[contains(@class, 'module-item-title')]/@title", + "cateVodId": "//div[contains(@class, 'module-item-titlebox')]/a/@href", + "cateVodIdR": "/vod/(\\w+).html", + "cateVodImg": "//div[contains(@class, 'module-item-pic')]/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div[contains(@class,'module-item-text')]/text()", + + "dtUrl": "https://www.chinady.ga/vod/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'video-info-header')]/h1[@class='page-title']/text()", + "dtNameR": "", + "dtImg": "//div[@class=('module-item-pic')]/img/@data-src", + "dtImgR": "(http\\S+)", + "dtCate": "//div[contains(@class,'tag-link')]/a/text()", + "dtCateR": "", + "dtYear": "//a[@class='tag-link'][1]/text()", + "dtArea": "//a[@class='tag-link'][2]/text()", + "dtAreaR": "", + "dtDesc": "concat(//span[contains(text(), '剧情')]/parent::*/div/span/text())", + "dtDescR": "", + "dtActor": "concat(//span[contains(text(), '主演')]/parent::*/div/a/text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(), '导演')]/parent::*/div/a/text())", + "dtDirectorR": "", + + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'module-blocklist')]//div[contains(@class,'scroll-content')]", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.chinady.ga/vodplay/{playUrl}.html", + "playUa": "", + + "searchUrl": "https://www.chinady.ga/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" + } \ No newline at end of file diff --git a/XPath/chongtmtv.json b/XPath/chongtmtv.json new file mode 100644 index 0000000..37e8cd4 --- /dev/null +++ b/XPath/chongtmtv.json @@ -0,0 +1,612 @@ +{ + "author": "takagen99", + "ua": "", + "homeUrl": "https://chongtmtv.com", + "dcVipFlag": "true", + "pCfgJs": "https://chongtmtv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "国产剧": "30", + "欧美剧": "33", + "韩国剧": "50", + "香港剧": "31", + "日本剧": "32", + "海外剧": "49", + "台湾剧": "51", + "泰剧": "62", + "综艺": "3", + "日漫": "39", + "国漫": "38", + "欧美": "4", + "纪录片": "29", + "体育频道": "42" + + }, + // Home Summary ================================================ + //"homeVodNode": "//a[@class='aplus-exp ecimgbor']", + "homeVodNode": "//div[contains(@class,'pack-ykpack hot')]/div[@class='pack-packcover returl list-top-b']/a[@class='aplus-exp ecimgbor']", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "homeVodImg": "//div[@class='bj eclazy']/@data-original", + "homeVodMark": "//span[@class='pack-prb hidden']/text()", + // Category Summary ================================================ + "cateUrl": "https://chongtmtv.com/index.php/vod/show{area}/id/{cateId}/page/{catePg}{year}.html", + "cateVodNode": "//a[@class='aplus-exp ecimgbor']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "cateVodImg": "//div[@class='bj eclazy']/@data-original", + "cateVodMark": "//span[@class='pack-prb hidden']/text()", + // Category Details ================================================ + "dtUrl": "https://chongtmtv.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'s-top-info')]/h1/text()", + "dtNameR": "", + "dtImg": "//div[contains(@class,'s-cover')]/a/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[contains(text(), '类型')]/a/text()", + "dtCateR": "", + "dtYear": "//p[contains(text(), '年代')]/a/text()", + "dtYearR": "", + "dtArea": "//p[contains(text(), '地区')]/a/text()", + "dtAreaR": "", + "dtMark": "//p[contains(text(), '更新')]/text()", + "dtMarkR": "", + "dtActor": "//p[contains(text(), '演员')]/*/text()", + "dtActorR": "", + "dtDirector": "//p[contains(text(), '导演')]/*/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(@class,'desc_txt')]/span/text()", + "dtDescR": "", + // Playlist ===================================================== + "dtFromNode": "//div[contains(@class,'swiper-wrapper')]/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='playlist_notfull']", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://chongtmtv.com/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + // Search Results ================================================ + "searchUrl": "https://chongtmtv.com/index.php/vod/search?wd={wd}", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + // Filters ======================================================= + "filter": { + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "法国","v": "/area/法国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "德国","v": "/area/德国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "印度","v": "/area/印度"}, + {"n": "意大利","v": "/area/意大利"}, + {"n": "西班牙","v": "/area/西班牙"}, + {"n": "加拿大","v": "/area/加拿大"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "42": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "新加坡","v": "/area/新加坡"}, + {"n": "英国","v": "/area/英国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "30": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "31": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "51": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "33": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "32": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "50": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/内地"}, + {"n": "港台","v": "/area/港台"}, + {"n": "日韩","v": "/area/日韩"}, + {"n": "欧美","v": "/area/欧美"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "39": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "38": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "49": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "62": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "4": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "29": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/内地"}, + {"n": "港台","v": "/area/港台"}, + {"n": "日韩","v": "/area/日韩"}, + {"n": "欧美","v": "/area/欧美"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/cjtys.json b/XPath/cjtys.json new file mode 100644 index 0000000..a5fc9bc --- /dev/null +++ b/XPath/cjtys.json @@ -0,0 +1,52 @@ +{ + "ua": "", + "homeUrl": "https://cjt521.com", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'ec-allnav')]//ul/li/a[contains(@href, 'vod/type')]", + "cateName": "/spam/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/type/id/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'top20')]//h2[contains(@class,'title-name')and(/span[contains(text(),'最新')])]/parent::*/parent::*/div[contains(@class,'vodlist') and not(contains(@style,'display:none'))]//a[contains(@class,'aplus-exp')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/index.php/vod/play/id/(\\w+)/sid/.+", + "homeVodImg": "/div[contains(@class, 'eclazy')]/@data-original", + "homeVodMark": "/span[contains(@class, 'pack-prb')]/text()", + "cateUrl": "https://cjt521.com/index.php/vod/show/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//div[contains(@class, 'vodlist')]//a[contains(@class,'aplus-exp')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/play/id/(\\w+)/sid/.+", + "cateVodImg": "/div[contains(@class, 'eclazy')]/@data-original", + "cateVodMark": "/span[contains(@class, 'pack-prb')]/text()", + "dtUrl": "https://cjt521.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//div[@class='vod-detail']", + "dtName": "//div[contains(@class,'s-top-right')]/div[contains(@class,'s-top-info-title')]/h1/text()", + "dtImg": "//a[contains(@class,'s-cover-img')]/img/@src", + "dtCate": "//div[contains(@class,'s-top-info-detail')]/p[contains(@class,'item') and contains(/span/text(),'类型')]/span/following-sibling::*/text()", + "dtArea": "//div[contains(@class,'s-top-info-detail')]/p[contains(@class,'item') and contains(/span/text(),'地区')]/span/following-sibling::*/text()", + "dtYear": "//div[contains(@class,'s-top-info-detail')]/p[contains(@class,'item') and contains(/span/text(),'年代')]/span/following-sibling::*/text()", + "dtActor": "//div[contains(@class,'s-top-info-detail')]/p[contains(@class,'item') and contains(/span/text(),'演员')]/span/following-sibling::*/text()", + "dtDirector": "//div[contains(@class,'s-top-info-detail')]/p[contains(@class,'item') and contains(/span/text(),'导演')]/span/following-sibling::*/text()", + "dtDesc": "//div[contains(@class,'s-top-info-detail')]/p[contains(@class,'item-desc')]/span/following-sibling::*/text()", + "dtFromNode": "//div[contains(@class, 'play_source')]/div[contains(@class,'play_source_tab')]/div/a", + "dtFromName": "/text()", + "dtFromNameR": "(.+)\\(", + "dtUrlNode": "//div[contains(@class, 'play_source')]//div[contains(@class, 'play_list_box')]//ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/index.php/vod/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://cjt521.com/index.php/vod/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://cjt521.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/cls.json b/XPath/cls.json new file mode 100644 index 0000000..c0f1568 --- /dev/null +++ b/XPath/cls.json @@ -0,0 +1,32 @@ +{ +"ua": "", +"dtUrl": "https://1024bt25.xyz{vid}", +"dtNode": "//div[@id='content']", +"dtName": "//h2/text()", +"dtNameR": "", +"dtImg": "/@null", +"dtCate": "concat(//tbody/td[1]//text())", +"dtCateR": "", +"dtYear": "concat(//tbody/td[2]//text())", +"dtYearR": "", +"dtDesc": "concat(//ol//text(),'')", +"dtDescR": "", +"dtFromNode": "//div[@id='wall']", +"dtFromName": "concat('磁力链接','')", +"dtFromNameR": "", +"dtUrlNode": "//div[@id='magnet']", +"dtUrlSubNode": "//a", +"dtUrlId": "/@href", +"dtUrlIdR": "", +"dtUrlName": "/text()", +"playUrl": "{playUrl}", +"playUa": "", +"searchUrl": "https://1024bt25.xyz/main-search-kw-{wd}-length-1.html", +"scVodNode": "//div[@class='item-title']/h3/a", +"scVodName": "/@title", +"scVodId": "/@href", +"scVodIdR": "", +"scVodImg": "/@null", +"scVodImgR": "", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/cokemv.json b/XPath/cokemv.json new file mode 100644 index 0000000..7ff2a9f --- /dev/null +++ b/XPath/cokemv.json @@ -0,0 +1,444 @@ +{ + "author":"takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://cokemv.me/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "dcShow2Vip": {}, + "pCfgJs": "https://cokemv.me/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "cateManual": { + "抖音电影": "5", + "电影": "1", + "大陸劇": "13", + "香港剧": "14", + "韩国剧": "15", + "欧美剧": "16", + "日本剧": "20", + "台灣劇": "21", + "泰國劇": "22", + "动漫": "4", + "综艺": "3" + }, + + // Home Summary ==================================================== + "homeVodNode": "//a[@class='module-poster-item module-item']", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\w+).html", + "homeVodImg": "//img[@class='lazy lazyload']/@data-original", + "homeVodMark": "//div[@class='module-item-note']/text()", + + // Category Summary ================================================ + "cateUrl": "https://cokemv.me/vodshow/{cateId}-{area}---{lang}----{catePg}---{year}.html", + "cateVodNode": "//a[@class='module-poster-item module-item']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\w+).html", + "cateVodImg": "//img[@class='lazy lazyload']/@data-original", + "cateVodMark": "//div[@class='module-item-note']/text()", + + // Category Details ================================================ + "dtUrl": "https://cokemv.me/voddetail/{vid}.html", + "dtNode": "//div[@class='module module-info']", + "dtName": "//div[@class='module-info-main']/div[@class='module-info-heading']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='module-info-poster']//div[@class='module-item-pic']/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='module-info-tag']//div[@class='module-info-tag-link'][3]/following-sibling::*/text()", + "dtYear": "//div[@class='module-info-tag']//div[@class='module-info-tag-link'][1]/following-sibling::a/text()", + "dtArea": "//div[@class='module-info-tag']//div[@class='module-info-tag-link'][2]/following-sibling::a/text()", + "dtActor": "//div[@class='module-info-items']//span[contains(@class,'module-info-item-title') and contains(text(), '主演:')]/following-sibling::div/a/text()", + "dtDirector": "//div[@class='module-info-items']//span[contains(@class,'module-info-item-title') and contains(text(), '导演:')]/following-sibling::div/a/text()", + "dtDesc": "//div[@class='module-info-introduction-content']/p/text()", + + // Playlist ======================================================== + "dtFromNode": "//div[contains(@class, 'module-tab-items-box')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-play-list')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://cokemv.me/vodplay/{playUrl}.html", + "playUa": "", + + // Search Results ================================================== + "searchUrl": "https://cokemv.me/vodsearch/-------------.html?wd={wd}", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + + // Filters ======================================================= + "filter": { + "5": [ // 抖音电影 + { + "key": "lang", + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "國語" }, + { "n": "英语", "v": "英語" }, + { "n": "粤语", "v": "粵語" }, + { "n": "闽南语", "v": "閩南語" }, + { "n": "韩语", "v": "韓語" }, + { "n": "日语", "v": "日語" }, + { "n": "法语", "v": "法語" }, + { "n": "德语", "v": "德語" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + } + ], + "1": [ // 电影 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "韩国", "v": "韩国" }, + { "n": "中国香港", "v": "中国香港" }, + { "n": "中国台湾", "v": "中国台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "法语", "v": "法语" }, + { "n": "德语", "v": "德语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + } + ], + "13": [ // 大陸劇 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "14": [ // 香港剧 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "15": [ // 韩国剧 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "16": [ // 欧美剧 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "20": [ // 日本剧 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "21": [ // 台灣劇 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "22": [ // 泰國劇 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "3": [ // 综艺 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "韩国", "v": "韩国" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "4": [ // 动漫 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ] + } + } diff --git a/XPath/czspp.json b/XPath/czspp.json new file mode 100644 index 0000000..50561a1 --- /dev/null +++ b/XPath/czspp.json @@ -0,0 +1,164 @@ +{ + "ua": "", + "homeUrl": "https://www.czspp.com", + "cateNode": "//ul[@class='navlist hidden-md-and-down']/li[contains(@id,'menu-item') and not (contains(@id,'33'))]/a", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "(\\w+)", + "cateManual": { + "本月热门":"benyueremen", + "高分影视":"gaofenyingshi", + "豆瓣电影TOP250": "dbtop250", + "最新电影": "zuixindianying", + "电影": "movie_bt_series/dyy", + "电视剧": "movie_bt_series/dianshiju" + }, + + "homeVodNode": "//div[contains(@class,'bt_img mi_ne_kd')]/ul/li/a", + "homeVodName": "/following-sibling::h3/a/text()", + "homeVodId": "/@href", + "homeVodIdR": "/movie/(\\w+).html", + "homeVodImg": "/img/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div/span/text()", + + "cateUrl": "https://www.czspp.com/{cateId}/page/{catePg}", + "cateVodNode": "//div[@class='bt_img mi_ne_kd mrb']/ul/li/a", + "cateVodName": "/following-sibling::h3/a/text()", + "cateVodId": "/@href", + "cateVodIdR": "/movie/(\\w+).html", + "cateVodImg": "/img/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div/span/text()", + + "dtUrl": "https://www.czspp.com/movie/{vid}.html", + "dtNode": "//div[@class='mi_ne_kd dypre']", + "dtName": "/div[@class='dytext fl']/div/h1/text()", + "dtNameR": "/movie/(\\w+).html", + "dtImg": "/div[@class='dyimg fl']/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "/div[@class='dytext fl']/ul/li[contains(text(),'类型')]/a/text()", + "dtCateR": "", + "dtYear": "/div[@class='dytext fl']/ul/li[contains(text(),'年份')]/a/text()", + "dtYearR": "", + "dtArea": "/div[@class='dytext fl']/ul/li[contains(text(),'地区')]/a/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "/div[@class='dytext fl']/ul/li[contains(text(),'主演')]/a/text()", + "dtActorR": "", + "dtDirector": "/div[@class='dytext fl']/ul/li[contains(text(),'导演')/a/text()", + "dtDirectorR": "", + "dtDesc": "", + "dtDescR": "", + + "dtFromNode": "//div[@class='mi_paly_box']/div[@class='mi_ne_kd']", + "dtFromName": "/div[@class='ypxingq_t']/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='paly_list_btn']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/v_play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.czspp.com/v_play/{playUrl}.html", + "playUa": "", + + "searchUrl": "https://www.czspp.com/xssearch?q={wd}", + "scVodNode": "//div[@class='bt_img mi_ne_kd search_list']/ul/li/a", + "scVodName": "/img/@alt", + "scVodId": "/@href", + "scVodIdR": "/movie/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/div[@class='jidi']/span/text()", + + "filter":{ + "movie_bt_series/dyy":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": "movie_bt_series/dyy"}, + {"n": "国语","v": "movie_bt_series/huayudianying"}, + {"n": "韩国","v": "movie_bt_series/hanguodianying"}, + {"n": "日本","v": "movie_bt_series/ribendianying"}, + {"n": "美国","v": "movie_bt_series/meiguodianying"}, + {"n": "英国","v": "movie_bt_series/yingguodianying"}, + {"n": "法国","v": "movie_bt_series/faguodianying"}, + {"n": "俄罗斯","v": "movie_bt_series/eluosidianying"}, + {"n": "加拿大","v": "movie_bt_series/jianadadianying"}, + {"n": "印度","v": "movie_bt_series/yindudianying"}, + {"n": "传记","v": "movie_bt_tags/chuanji/movie_bt_series/dyy"}, + {"n": "儿童","v": "movie_bt_tags/etet/movie_bt_series/dyy"}, + {"n": "冒险","v": "movie_bt_tags/maoxian/movie_bt_series/dyy"}, + {"n": "剧情","v": "movie_bt_tags/juqing/movie_bt_series/dyy"}, + {"n": "动作","v": "movie_bt_tags/dozuo/movie_bt_series/dyy"}, + {"n": "动漫","v": "movie_bt_tags/doman/movie_bt_series/dyy"}, + {"n": "动画","v": "movie_bt_tags/dhh/movie_bt_series/dyy"}, + {"n": "历史","v": "movie_bt_tags/lishi/movie_bt_series/dyy"}, + {"n": "古装","v": "movie_bt_tags/guzhuang/movie_bt_series/dyy"}, + {"n": "同性","v": "movie_bt_tags/tongxing/movie_bt_series/dyy"}, + {"n": "喜剧","v": "movie_bt_tags/xiju/movie_bt_series/dyy"}, + {"n": "奇幻","v": "movie_bt_tags/qihuan/movie_bt_series/dyy"}, + {"n": "家庭","v": "movie_bt_tags/jiating/movie_bt_series/dyy"}, + {"n": "恐怖","v": "movie_bt_tags/kubu/movie_bt_series/dyy"}, + {"n": "悬疑","v": "movie_bt_tags/xuanyi/movie_bt_series/dyy"}, + {"n": "情色","v": "movie_bt_tags/qingse/movie_bt_series/dyy"}, + {"n": "惊悚","v": "movie_bt_tags/kingsong/movie_bt_series/dyy"}, + {"n": "战争","v": "movie_bt_tags/zhanzhen/movie_bt_series/dyy"}, + {"n": "歌舞","v": "movie_bt_tags/gw/movie_bt_series/dyy"}, + {"n": "武侠","v": "movie_bt_tags/wuxia/movie_bt_series/dyy"}, + {"n": "灾难","v": "movie_bt_tags/zainan/movie_bt_series/dyy"}, + {"n": "爱情","v": "movie_bt_tags/aiqing/movie_bt_series/dyy"}, + {"n": "犯罪","v": "movie_bt_tags/fanzui/movie_bt_series/dyy"}, + {"n": "短片","v": "movie_bt_tags/dp/movie_bt_series/dyy"}, + {"n": "科幻","v": "movie_bt_tags/kh/movie_bt_series/dyy"}, + {"n": "纪录片","v": "movie_bt_tags/jlpp/movie_bt_series/dyy"}, + {"n": "西部","v": "movie_bt_tags/xb/movie_bt_series/dyy"}, + {"n": "运动","v": "movie_bt_tags/yd/movie_bt_series/dyy"}, + {"n": "音乐","v": "movie_bt_tags/yy/movie_bt_series/dyy"} + ]} + ], + "movie_bt_series/dianshiju":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": "movie_bt_series/dianshiju"}, + {"n": "国产","v": "movie_bt_series/guochanju"}, + {"n": "香港","v": "movie_bt_series/gj"}, + {"n": "台湾","v": "movie_bt_series/tj"}, + {"n": "日本","v": "movie_bt_series/rj"}, + {"n": "韩国","v": "movie_bt_series/hj"}, + {"n": "美国","v": "movie_bt_series/mj"}, + {"n": "海外","v": "movie_bt_series/hwj"}, + {"n": "传记","v": "movie_bt_tags/chuanji/movie_bt_series/dianshiju"}, + {"n": "儿童","v": "movie_bt_tags/etet/movie_bt_series/dianshiju"}, + {"n": "冒险","v": "movie_bt_tags/maoxian/movie_bt_series/dianshiju"}, + {"n": "剧情","v": "movie_bt_tags/juqing/movie_bt_series/dianshiju"}, + {"n": "动作","v": "movie_bt_tags/dozuo/movie_bt_series/dianshiju"}, + {"n": "动漫","v": "movie_bt_tags/doman/movie_bt_series/dianshiju"}, + {"n": "动画","v": "movie_bt_tags/dhh/movie_bt_series/dianshiju"}, + {"n": "历史","v": "movie_bt_tags/lishi/movie_bt_series/dianshiju"}, + {"n": "古装","v": "movie_bt_tags/guzhuang/movie_bt_series/dianshiju"}, + {"n": "同性","v": "movie_bt_tags/tongxing/movie_bt_series/dianshiju"}, + {"n": "喜剧","v": "movie_bt_tags/xiju/movie_bt_series/dianshiju"}, + {"n": "奇幻","v": "movie_bt_tags/qihuan/movie_bt_series/dianshiju"}, + {"n": "家庭","v": "movie_bt_tags/jiating/movie_bt_series/dianshiju"}, + {"n": "恐怖","v": "movie_bt_tags/kubu/movie_bt_series/dianshiju"}, + {"n": "悬疑","v": "movie_bt_tags/xuanyi/movie_bt_series/dianshiju"}, + {"n": "情色","v": "movie_bt_tags/qingse/movie_bt_series/dianshiju"}, + {"n": "惊悚","v": "movie_bt_tags/kingsong/movie_bt_series/dianshiju"}, + {"n": "战争","v": "movie_bt_tags/zhanzhen/movie_bt_series/dianshiju"}, + {"n": "歌舞","v": "movie_bt_tags/gw/movie_bt_series/dianshiju"}, + {"n": "武侠","v": "movie_bt_tags/wuxia/movie_bt_series/dianshiju"}, + {"n": "灾难","v": "movie_bt_tags/zainan/movie_bt_series/dianshiju"}, + {"n": "爱情","v": "movie_bt_tags/aiqing/movie_bt_series/dianshiju"}, + {"n": "犯罪","v": "movie_bt_tags/fanzui/movie_bt_series/dianshiju"}, + {"n": "真人秀","v": "movie_bt_tags/zrx/movie_bt_series/dianshiju"}, + {"n": "短片","v": "movie_bt_tags/dp/movie_bt_series/dianshiju"}, + {"n": "科幻","v": "movie_bt_tags/kh/movie_bt_series/dianshiju"}, + {"n": "纪录片","v": "movie_bt_tags/jlpp/movie_bt_series/dianshiju"}, + {"n": "西部","v": "movie_bt_tags/xb/movie_bt_series/dianshiju"}, + {"n": "运动","v": "movie_bt_tags/yd/movie_bt_series/dianshiju"}, + {"n": "音乐","v": "movie_bt_tags/yy/movie_bt_series/dianshiju"}]}]}} \ No newline at end of file diff --git a/XPath/dadagui.json b/XPath/dadagui.json new file mode 100644 index 0000000..6be00a2 --- /dev/null +++ b/XPath/dadagui.json @@ -0,0 +1,1024 @@ +{ + "author": "Tangsan99999", + "ua": "", + "homeUrl": "http://www.dadagui.com/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'vodtype')and not(contains(@href,'20'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://www.dadagui.com/vodshow/{cateId}-{area}-{by}-{abc}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://www.dadagui.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + "dtNameR": "", + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[contains(@class,'data')][4]/text()", + "dtCateR": "\\S+:(\\S+)", + "dtYear": "//p[contains(@class,'data')][3]/text()", + "dtYearR": "\\S+:(\\S+)", + "dtArea": "//p[contains(@class,'data')][1]/text()", + "dtAreaR": "\\S+:(\\S+)", + "dtMark": "//p[contains(@class,'data')][7]/text()", + "dtMarkR": "\\S+:(\\S+)", + "dtDirector": "//p[contains(@class,'data')][6]/text()", + "dtDirectorR": "\\S+:(\\S+)", + "dtActor": "//p[contains(@class,'data')][5]/text()", + "dtActorR": "\\S+:(\\S+)", + "dtDesc": "//span[@class='detail-content']/text()", + "dtFromNode": "//h3[contains(text(), '播')]", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//h3[contains(text(), '播')]) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.dadagui.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.dadagui.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "1" + }, + { + "n": "动作片", + "v": "6" + }, + { + "n": "喜剧片", + "v": "7" + }, + { + "n": "爱情片", + "v": "8" + }, + { + "n": "科幻片", + "v": "9" + }, + { + "n": "恐怖片", + "v": "10" + }, + { + "n": "剧情片", + "v": "11" + }, + { + "n": "动画片", + "v": "20" + }, + { + "n": "犯罪片", + "v": "21" + }, + { + "n": "纪录片", + "v": "22" + }, + { + "n": "音乐片", + "v": "23" + }, + { + "n": "微电影", + "v": "24" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "法语", + "v": "法语" + }, + { + "n": "德语", + "v": "德语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "abc", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + }, + { + "n": "0-9", + "v": "0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "2" + }, + { + "n": "国剧", + "v": "13" + }, + { + "n": "韩剧", + "v": "14" + }, + { + "n": "美剧", + "v": "15" + }, + { + "n": "港剧", + "v": "16" + }, + { + "n": "日剧", + "v": "25" + }, + { + "n": "台剧", + "v": "26" + }, + { + "n": "泰剧", + "v": "27" + }, + { + "n": "越剧", + "v": "28" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "法语", + "v": "法语" + }, + { + "n": "德语", + "v": "德语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "abc", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + }, + { + "n": "0-9", + "v": "0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "4" + }, + { + "n": "国产动漫", + "v": "33" + }, + { + "n": "日本动漫", + "v": "34" + }, + { + "n": "港台动漫", + "v": "35" + }, + { + "n": "欧美动漫", + "v": "36" + }, + { + "n": "其它动漫", + "v": "37" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "3" + }, + { + "n": "大陆综艺", + "v": "29" + }, + { + "n": "港台综艺", + "v": "30" + }, + { + "n": "日韩综艺", + "v": "31" + }, + { + "n": "欧美综艺", + "v": "32" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "日韩", + "v": "日韩" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/dadatuosx3.json b/XPath/dadatuosx3.json new file mode 100644 index 0000000..55245ca --- /dev/null +++ b/XPath/dadatuosx3.json @@ -0,0 +1,51 @@ +{ + "ua": "", + "homeUrl": "https://www.osx3.com/", + "cateManual": { + "电影": "movie", + "连续剧": "tv", + "动漫": "dongman", + "综艺": "zongyi" + }, + "homeVodNode": "//li[@class='fed-list-item fed-padding fed-col-xs4 fed-col-sm3 fed-col-md2']", + "homeVodName": "/a[contains(@class,'fed-list-title')]/text()", + "homeVodId": "/a[contains(@class,'fed-list-title')]/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "/a[contains(@class,'fed-list-pics')]/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "cateUrl": "https://www.osx3.com/t/{cateId}.html", + "cateVodNode": "//li[@class='fed-list-item fed-padding fed-col-xs4 fed-col-sm3 fed-col-md2']", + "cateVodName": "/a[contains(@class,'fed-list-title')]/text()", + "cateVodId": "/a[contains(@class,'fed-list-title')]/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "/a[contains(@class,'fed-list-pics')]/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "dtUrl": "https://www.osx3.com/v/{vid}.html", + "dtNode": "//body", + "dtName": "//dd[@class='fed-deta-content fed-col-xs7 fed-col-sm8 fed-col-md10']/h1/a/span/text()", + "dtImg": "//dt[@class='fed-deta-images fed-list-info fed-col-xs3']/a/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//span[contains(text(), '简介')]/parent::text()", + "dtFromNode": "//div[@class='fed-drop-boxs fed-drop-tops fed-matp-v']/ul/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='fed-drop-boxs fed-drop-btms fed-matp-v']/div/ul[@class='fed-part-rows']", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.osx3.com/p/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.osx3.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/dandan.json b/XPath/dandan.json new file mode 100644 index 0000000..50f70fe --- /dev/null +++ b/XPath/dandan.json @@ -0,0 +1,1257 @@ +{ + "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36", + "homeUrl": "https://www.dandanzan10.top/", + "cateNode": "//div[@class='nav']/ul/li/a[@href!='/']", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/(\\S+)/", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'lists-thumb-top') and @id='slider']//div[@class='lists-content']/ul/li", + "homeVodName": "/h2/a/text()", + "homeVodId": "/h2/a/@href", + "homeVodIdR": "/(\\S+).html", + "homeVodImg": "/a/img/@src", + "homeVodMark": "/a/div[@class='note']/span/text()", + "cateUrl": "https://www.dandanzan10.top/{cateId}/{class}-{area}-{year}-{catePg}-{by}.html", + "cateVodNode": "//div[@class='lists-content']/ul/li", + "cateVodName": "/h2/a/text()", + "cateVodId": "/h2/a/@href", + "cateVodIdR": "/(\\S+).html", + "cateVodImg": "/a/img/@src", + "cateVodMark": "/a/div[@class='note']/span/text()", + "dtUrl": "https://www.dandanzan10.top/{vid}.html", + "dtNode": "//header[@class='product-header']", + "dtName": "//h1[contains(@class,'product-title')]/text()", + "dtImg": "/img[1]/@src", + "dtCate": "/div[@class='product-excerpt' and contains(text(),'类型')]/span/a/text()", + "dtYear": "//h1[contains(@class,'product-title')]/span[1]/text()", + "dtYearR": "\\((\\S+)\\)", + "dtArea": "/div[@class='product-excerpt' and contains(text(),'地区')]/span/a/text()", + "dtActor": "/div[@class='product-excerpt' and contains(text(),'主演')]/span/a/text()", + "dtDirector": "/div[@class='product-excerpt' and contains(text(),'导演')]/span/a/text()", + "dtDesc": "/div[@class='product-excerpt' and contains(text(),'剧情简介')]/span/text()", + "dtFromNode": "/nil", + "dtUrlNode": "/nil", + "playUrl": "https://www.dandanzan10.top/url.php", + "searchUrl": "https://www.dandanzan10.top/so/{wd}-{wd}--.html", + "scVodNode": "//div[@class='lists-content']/ul/li", + "scVodName": "/h2/a/text()", + "scVodId": "/h2/a/@href", + "scVodIdR": "/(\\S+).html", + "scVodImg": "/a/img/@src", + "scVodMark": "/a/div[@class='note']/span/text()", + "filter": { + "dianying": [ + { + "key": "class", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "同性", + "v": "同性" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "歌舞", + "v": "歌舞" + }, + { + "n": "传记", + "v": "传记" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "西部", + "v": "西部" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "灾难", + "v": "灾难" + }, + { + "n": "武侠", + "v": "武侠" + } + + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "中国大陆" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "澳大利亚", + "v": "澳大利亚" + }, + { + "n": "爱尔兰", + "v": "爱尔兰" + }, + { + "n": "瑞典", + "v": "瑞典" + }, + { + "n": "巴西", + "v": "巴西" + }, + { + "n": "丹麦", + "v": "丹麦" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "更早", + "v": "1__2001" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "newstime" + }, + { + "n": "人气", + "v": "onclick" + }, + { + "n": "评分", + "v": "rating" + } + ] + } + ], + "dianshiju": [ + { + "key": "class", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "同性", + "v": "同性" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "歌舞", + "v": "歌舞" + }, + { + "n": "传记", + "v": "传记" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "西部", + "v": "西部" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "灾难", + "v": "灾难" + }, + { + "n": "武侠", + "v": "武侠" + } + + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "中国大陆" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "澳大利亚", + "v": "澳大利亚" + }, + { + "n": "爱尔兰", + "v": "爱尔兰" + }, + { + "n": "瑞典", + "v": "瑞典" + }, + { + "n": "巴西", + "v": "巴西" + }, + { + "n": "丹麦", + "v": "丹麦" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "更早", + "v": "1__2001" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "newstime" + }, + { + "n": "人气", + "v": "onclick" + }, + { + "n": "评分", + "v": "rating" + } + ] + } + ], + "zongyi": [ + { + "key": "class", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "同性", + "v": "同性" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "歌舞", + "v": "歌舞" + }, + { + "n": "传记", + "v": "传记" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "西部", + "v": "西部" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "灾难", + "v": "灾难" + }, + { + "n": "武侠", + "v": "武侠" + } + + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "中国大陆" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "澳大利亚", + "v": "澳大利亚" + }, + { + "n": "爱尔兰", + "v": "爱尔兰" + }, + { + "n": "瑞典", + "v": "瑞典" + }, + { + "n": "巴西", + "v": "巴西" + }, + { + "n": "丹麦", + "v": "丹麦" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "更早", + "v": "1__2001" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "newstime" + }, + { + "n": "人气", + "v": "onclick" + }, + { + "n": "评分", + "v": "rating" + } + ] + } + ], + "dongman": [ + { + "key": "class", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "同性", + "v": "同性" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "歌舞", + "v": "歌舞" + }, + { + "n": "传记", + "v": "传记" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "西部", + "v": "西部" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "灾难", + "v": "灾难" + }, + { + "n": "武侠", + "v": "武侠" + } + + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "中国大陆" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "澳大利亚", + "v": "澳大利亚" + }, + { + "n": "爱尔兰", + "v": "爱尔兰" + }, + { + "n": "瑞典", + "v": "瑞典" + }, + { + "n": "巴西", + "v": "巴西" + }, + { + "n": "丹麦", + "v": "丹麦" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "更早", + "v": "1__2001" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "newstime" + }, + { + "n": "人气", + "v": "onclick" + }, + { + "n": "评分", + "v": "rating" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/dandanzan.json b/XPath/dandanzan.json new file mode 100644 index 0000000..3132895 --- /dev/null +++ b/XPath/dandanzan.json @@ -0,0 +1,442 @@ +{ + "author": "vx:bktx123", + "ua": "", + "homeUrl": "https://www.dandanzan10.top/", + "cateManual": { + "电影": "dianying" + //"电视剧": "dianshiju", + //"综艺": "zongyi", + //"动漫": "dongman" + }, + "homeVodNode": "//div[contains(@class,'lists')]/ul/li/a", + "homeVodName": "/img/@alt", + "homeVodId": "/@href", + "homeVodIdR": "/(\\S+).html", + "homeVodImg": "/img/@src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div/span/text()", + "cateUrl": "https://www.dandanzan10.top/{cateId}/{class}-{area}-{year}-{catePg}-{by}.html", + "cateVodNode": "//div[contains(@class,'lists-content')]/ul/li/a", + "cateVodName": "/img/@alt", + "cateVodId": "/@href", + "cateVodIdR": "/(\\S+).html", + "cateVodImg": "/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div/span/text()", + "dtUrl": "https://www.dandanzan10.top/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[contains(@class,'product-title')]/text()", + "dtNameR": "", + "dtImg": "//header[contains(@class,'product-header')]/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[contains(text(), '类型')]/span/a/text()", + "dtCateR": "", + "dtYear": "//h1[contains(@class,'product-title')]/span/text()", + "dtYearR": "", + "dtArea": "//div[contains(text(), '地区')]/span/a/text()", + "dtAreaR": "", + "dtMark": "//div[contains(text(), '又名')]/text()", + "dtMarkR": "", + "dtActor": "//div[contains(text(), '主演')]/span/*/text()", + "dtActorR": "", + "dtDirector": "//div[contains(text(), '导演')]/span/a/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(text(), '剧情简介')]/span/text()", + "dtDescR": "", + "dtFromNode": "//footer[contains(@class,'footer')]/div/a", + "dtFromName": "/text()", + "dtUrlNode": "//head", + "dtUrlSubNode": "//head", + "dtUrlId": "//meta[@property='og:url']/@content", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.dandanzan10.top/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.dandanzan10.top/so/{wd}-{wd}--.html", + "scVodNode": "//div[@class=('lists-content')]/ul/li/a", + "scVodName": "/img/@alt", + "scVodId": "/@href", + "scVodIdR": "/(\\S+).html", + "scVodImg": "/img/@src", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "/div[@class='note']/span/text()", + "filter": { + "dianying": [ + { + "key": "class", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"}, + {"n": "科幻","v": "科幻"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "音乐","v": "音乐"}, + {"n": "歌舞","v": "歌舞"}, + {"n": "传记","v": "传记"}, + {"n": "历史","v": "历史"}, + {"n": "战争","v": "战争"}, + {"n": "西部","v": "西部"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "灾难","v": "灾难"}, + {"n": "武侠","v": "武侠"} + + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "中国大陆"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "德国","v": "德国"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "印度","v": "印度"}, + {"n": "泰国","v": "泰国"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "澳大利亚","v": "澳大利亚"}, + {"n": "爱尔兰","v": "爱尔兰"}, + {"n": "瑞典","v": "瑞典"}, + {"n": "巴西","v": "巴西"}, + {"n": "丹麦","v": "丹麦"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "更早","v": "1__2001"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "newstime"}, + {"n": "人气","v": "onclick"}, + {"n": "评分","v": "rating"} + ] + } + ], + "dianshiju": [ + { + "key": "class", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"}, + {"n": "科幻","v": "科幻"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "音乐","v": "音乐"}, + {"n": "歌舞","v": "歌舞"}, + {"n": "传记","v": "传记"}, + {"n": "历史","v": "历史"}, + {"n": "战争","v": "战争"}, + {"n": "西部","v": "西部"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "灾难","v": "灾难"}, + {"n": "武侠","v": "武侠"} + + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "中国大陆"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "德国","v": "德国"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "印度","v": "印度"}, + {"n": "泰国","v": "泰国"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "澳大利亚","v": "澳大利亚"}, + {"n": "爱尔兰","v": "爱尔兰"}, + {"n": "瑞典","v": "瑞典"}, + {"n": "巴西","v": "巴西"}, + {"n": "丹麦","v": "丹麦"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "更早","v": "1__2001"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "newstime"}, + {"n": "人气","v": "onclick"}, + {"n": "评分","v": "rating"} + ] + } + ], + "zongyi": [ + { + "key": "class", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"}, + {"n": "科幻","v": "科幻"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "音乐","v": "音乐"}, + {"n": "歌舞","v": "歌舞"}, + {"n": "传记","v": "传记"}, + {"n": "历史","v": "历史"}, + {"n": "战争","v": "战争"}, + {"n": "西部","v": "西部"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "灾难","v": "灾难"}, + {"n": "武侠","v": "武侠"} + + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "中国大陆"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "德国","v": "德国"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "印度","v": "印度"}, + {"n": "泰国","v": "泰国"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "澳大利亚","v": "澳大利亚"}, + {"n": "爱尔兰","v": "爱尔兰"}, + {"n": "瑞典","v": "瑞典"}, + {"n": "巴西","v": "巴西"}, + {"n": "丹麦","v": "丹麦"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "更早","v": "1__2001"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "newstime"}, + {"n": "人气","v": "onclick"}, + {"n": "评分","v": "rating"} + ] + } + ], + "dongman": [ + { + "key": "class", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"}, + {"n": "科幻","v": "科幻"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "音乐","v": "音乐"}, + {"n": "歌舞","v": "歌舞"}, + {"n": "传记","v": "传记"}, + {"n": "历史","v": "历史"}, + {"n": "战争","v": "战争"}, + {"n": "西部","v": "西部"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "灾难","v": "灾难"}, + {"n": "武侠","v": "武侠"} + + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "中国大陆"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "德国","v": "德国"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "印度","v": "印度"}, + {"n": "泰国","v": "泰国"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "澳大利亚","v": "澳大利亚"}, + {"n": "爱尔兰","v": "爱尔兰"}, + {"n": "瑞典","v": "瑞典"}, + {"n": "巴西","v": "巴西"}, + {"n": "丹麦","v": "丹麦"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "更早","v": "1__2001"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "newstime"}, + {"n": "人气","v": "onclick"}, + {"n": "评分","v": "rating"} + ] + } + ] + } + } \ No newline at end of file diff --git a/XPath/dandanzan10.json b/XPath/dandanzan10.json new file mode 100644 index 0000000..3132895 --- /dev/null +++ b/XPath/dandanzan10.json @@ -0,0 +1,442 @@ +{ + "author": "vx:bktx123", + "ua": "", + "homeUrl": "https://www.dandanzan10.top/", + "cateManual": { + "电影": "dianying" + //"电视剧": "dianshiju", + //"综艺": "zongyi", + //"动漫": "dongman" + }, + "homeVodNode": "//div[contains(@class,'lists')]/ul/li/a", + "homeVodName": "/img/@alt", + "homeVodId": "/@href", + "homeVodIdR": "/(\\S+).html", + "homeVodImg": "/img/@src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div/span/text()", + "cateUrl": "https://www.dandanzan10.top/{cateId}/{class}-{area}-{year}-{catePg}-{by}.html", + "cateVodNode": "//div[contains(@class,'lists-content')]/ul/li/a", + "cateVodName": "/img/@alt", + "cateVodId": "/@href", + "cateVodIdR": "/(\\S+).html", + "cateVodImg": "/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div/span/text()", + "dtUrl": "https://www.dandanzan10.top/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[contains(@class,'product-title')]/text()", + "dtNameR": "", + "dtImg": "//header[contains(@class,'product-header')]/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[contains(text(), '类型')]/span/a/text()", + "dtCateR": "", + "dtYear": "//h1[contains(@class,'product-title')]/span/text()", + "dtYearR": "", + "dtArea": "//div[contains(text(), '地区')]/span/a/text()", + "dtAreaR": "", + "dtMark": "//div[contains(text(), '又名')]/text()", + "dtMarkR": "", + "dtActor": "//div[contains(text(), '主演')]/span/*/text()", + "dtActorR": "", + "dtDirector": "//div[contains(text(), '导演')]/span/a/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(text(), '剧情简介')]/span/text()", + "dtDescR": "", + "dtFromNode": "//footer[contains(@class,'footer')]/div/a", + "dtFromName": "/text()", + "dtUrlNode": "//head", + "dtUrlSubNode": "//head", + "dtUrlId": "//meta[@property='og:url']/@content", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.dandanzan10.top/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.dandanzan10.top/so/{wd}-{wd}--.html", + "scVodNode": "//div[@class=('lists-content')]/ul/li/a", + "scVodName": "/img/@alt", + "scVodId": "/@href", + "scVodIdR": "/(\\S+).html", + "scVodImg": "/img/@src", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "/div[@class='note']/span/text()", + "filter": { + "dianying": [ + { + "key": "class", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"}, + {"n": "科幻","v": "科幻"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "音乐","v": "音乐"}, + {"n": "歌舞","v": "歌舞"}, + {"n": "传记","v": "传记"}, + {"n": "历史","v": "历史"}, + {"n": "战争","v": "战争"}, + {"n": "西部","v": "西部"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "灾难","v": "灾难"}, + {"n": "武侠","v": "武侠"} + + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "中国大陆"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "德国","v": "德国"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "印度","v": "印度"}, + {"n": "泰国","v": "泰国"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "澳大利亚","v": "澳大利亚"}, + {"n": "爱尔兰","v": "爱尔兰"}, + {"n": "瑞典","v": "瑞典"}, + {"n": "巴西","v": "巴西"}, + {"n": "丹麦","v": "丹麦"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "更早","v": "1__2001"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "newstime"}, + {"n": "人气","v": "onclick"}, + {"n": "评分","v": "rating"} + ] + } + ], + "dianshiju": [ + { + "key": "class", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"}, + {"n": "科幻","v": "科幻"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "音乐","v": "音乐"}, + {"n": "歌舞","v": "歌舞"}, + {"n": "传记","v": "传记"}, + {"n": "历史","v": "历史"}, + {"n": "战争","v": "战争"}, + {"n": "西部","v": "西部"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "灾难","v": "灾难"}, + {"n": "武侠","v": "武侠"} + + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "中国大陆"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "德国","v": "德国"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "印度","v": "印度"}, + {"n": "泰国","v": "泰国"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "澳大利亚","v": "澳大利亚"}, + {"n": "爱尔兰","v": "爱尔兰"}, + {"n": "瑞典","v": "瑞典"}, + {"n": "巴西","v": "巴西"}, + {"n": "丹麦","v": "丹麦"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "更早","v": "1__2001"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "newstime"}, + {"n": "人气","v": "onclick"}, + {"n": "评分","v": "rating"} + ] + } + ], + "zongyi": [ + { + "key": "class", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"}, + {"n": "科幻","v": "科幻"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "音乐","v": "音乐"}, + {"n": "歌舞","v": "歌舞"}, + {"n": "传记","v": "传记"}, + {"n": "历史","v": "历史"}, + {"n": "战争","v": "战争"}, + {"n": "西部","v": "西部"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "灾难","v": "灾难"}, + {"n": "武侠","v": "武侠"} + + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "中国大陆"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "德国","v": "德国"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "印度","v": "印度"}, + {"n": "泰国","v": "泰国"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "澳大利亚","v": "澳大利亚"}, + {"n": "爱尔兰","v": "爱尔兰"}, + {"n": "瑞典","v": "瑞典"}, + {"n": "巴西","v": "巴西"}, + {"n": "丹麦","v": "丹麦"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "更早","v": "1__2001"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "newstime"}, + {"n": "人气","v": "onclick"}, + {"n": "评分","v": "rating"} + ] + } + ], + "dongman": [ + { + "key": "class", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"}, + {"n": "科幻","v": "科幻"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "音乐","v": "音乐"}, + {"n": "歌舞","v": "歌舞"}, + {"n": "传记","v": "传记"}, + {"n": "历史","v": "历史"}, + {"n": "战争","v": "战争"}, + {"n": "西部","v": "西部"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "灾难","v": "灾难"}, + {"n": "武侠","v": "武侠"} + + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "中国大陆"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "德国","v": "德国"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "印度","v": "印度"}, + {"n": "泰国","v": "泰国"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "澳大利亚","v": "澳大利亚"}, + {"n": "爱尔兰","v": "爱尔兰"}, + {"n": "瑞典","v": "瑞典"}, + {"n": "巴西","v": "巴西"}, + {"n": "丹麦","v": "丹麦"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "更早","v": "1__2001"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "newstime"}, + {"n": "人气","v": "onclick"}, + {"n": "评分","v": "rating"} + ] + } + ] + } + } \ No newline at end of file diff --git a/XPath/dashixiongyingshi.json b/XPath/dashixiongyingshi.json new file mode 100644 index 0000000..476f413 --- /dev/null +++ b/XPath/dashixiongyingshi.json @@ -0,0 +1,73 @@ +{ + "author":"Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://dsxys.com/", + "dcVipFlag": "true", + "pCfgJs": "https://dsxys.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class, 'myui-header__menu nav-menu')]/li[@class='dropdown-hover']//div/ul/li/a[contains(@href, 'type') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\w+).html", + "cateManual": { + "电影":"1", + "连续剧":"2", + "动漫":"4", + "综艺":"3"}, + "homeVodNode": "//div[contains(@class, 'col-lg-wide-75')]//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://dsxys.com/vodshow/{cateId}-{area}--{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://dsxys.com/v/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//span[@class='sketch content']/text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://dsxys.com/p/{playUrl}.html", + "playUa": "", + "searchUrl": "https://dsxys.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter":{"1":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":""},{"n":"动作片","v":"6"},{"n":"喜剧片","v":"7"},{"n":"爱情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"奇幻片","v":"38"},{"n":"恐怖片","v":"10"},{"n":"剧情片","v":"11"},{"n":"战争片","v":"12"},{"n":"纪录片","v":"22"},{"n":"悬疑片","v":"44"},{"n":"冒险片","v":"45"},{"n":"犯罪片","v":"46"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"2":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":""},{"n":"国产剧","v":"13"},{"n":"港台剧","v":"14"},{"n":"日韩剧","v":"15"},{"n":"欧美剧","v":"16"},{"n":"海外剧","v":"23"},{"n":"动画片","v":"50"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"古装","v":"古装"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"韩国","v":"韩国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南话","v":"闽南话"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"3":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":""},{"n":"内地综艺","v":"29"},{"n":"港台综艺","v":"30"},{"n":"日韩综艺","v":"31"},{"n":"欧美综艺","v":"32"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"4":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":""},{"n":"国产动漫","v":"33"},{"n":"日韩动漫","v":"34"},{"n":"欧美动漫","v":"35"},{"n":"港台动漫","v":"36"},{"n":"海外动漫","v":"37"},{"n":"动漫电影","v":"39"},{"n":"番剧","v":"60"},{"n":"国创","v":"61"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"国产","v":"国产"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}]}} +} \ No newline at end of file diff --git a/XPath/dd520.json b/XPath/dd520.json new file mode 100644 index 0000000..0c1ed0b --- /dev/null +++ b/XPath/dd520.json @@ -0,0 +1,60 @@ +{ + "ua": "", + "homeUrl": "https://www.dd520.cc/", + // "dcVipFlag": "true", + // "pCfgJs": "https://www.dd520.cc/static/js/playerconfig.js", + // "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + // "dcShow2Vip": {}, + // "dcPlayUrl": "true", + "cateNode": "//div[@class='nav']/ul/li/a[contains(@href, 'vodtype')]", + "cateName": "/span/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='module-item']//div[@class='module-item-pic']", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/duoduo/(\\w+).html", + "homeVodImg": "/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//div[@class='module-item-text']/text()", + "cateUrl": "https://www.dd520.cc/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//div[@class='module-item']//div[@class='module-item-pic']", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/duoduo/(\\w+).html", + "cateVodImg": "/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//div[@class='module-item-text']/text()", + "dtUrl": "https://www.dd520.cc/duoduo/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[@class='page-title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//div[@class='module-item-pic']/img/@data-src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='tag-link']/a/text()", + "dtYear": "//a[@class='tag-link'][2]/text()", + "dtArea": "//a[@class='tag-link'][3]/text()", + "dtMark": "//div[contains(@class,'video-info-items')]/span[contains(text(), '备注')]/following-sibling::*/text()", + "dtDirector": "//div[contains(@class,'video-info-items')]/span[contains(text(), '导演')]/following-sibling::*/a/text()", + "dtActor": "//div[contains(@class,'video-info-items')]/span[contains(text(), '主演')]/following-sibling::*/a/text()", + "dtDesc": "//div[contains(@class,'vod_content')]/span/text()", + "dtFromNode": "//div[@class='module-tab-content']/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='scroll-content']", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/dianying/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.dd520.cc/dianying/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.dd520.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/ddk.json b/XPath/ddk.json new file mode 100644 index 0000000..0f1d55b --- /dev/null +++ b/XPath/ddk.json @@ -0,0 +1,51 @@ +{ + "author": "dj22.9.7", + "homeUrl": "http://www.jrskanqiu.com/",//http://didiaokan2018.com/ + "ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + + "cateManual": {"DJ-JRS低调看": "666"}, + + // 首页 + "cateUrl": "http://www.jrskanqiu.com/", + // 首页推荐视频的节点 + "cateVodNode": "//div [@class='listBox']", + // 首页推荐视频的名称 + "cateVodName": "concat(/div[@class='myList']/div[@class='timer']/text(),':',/div[@class='myList']/div[@class='matchType']/text())", + // 首页推荐视频的id + "cateVodId": "/div[@class='download']/div[@class='status']/a/@href", + "cateVodIdR": "/live/(\\d+).html", + // 首页推荐视频的图片 + "cateVodImg": "/div[@class='myList']/div[@class='team']/p[1]/img/@src", + // 首页推荐视频的简介 + "cateVodMark": "concat(/div[@class='myList']/div[@class='team']/p[1]/text(),'vs',/div[@class='myList']/div[@class='team']/p[3]/text())", + + + // 详情页 + "dtUrl": "http://www.jrskanqiu.com/live/{vid}.html", + // 详情节点 + "dtNode": "//div[@class='msg']", + // 视频名 + "dtName": "concat(/ul/li[1]/text(),'vs',/ul/li[7]/text())", + // 视频图片 + "dtImg": "/ul/li[2]/img/@src", + // 视频简介 + "dtDesc": "concat('DJ - ','Never underestimate the heart of a champion! ','篮球迷588741862')", + + // 播放源节点 + "dtFromNode": "//ul[@class='checkChannel']", + // 播放源名称 + "dtFromName": "'【直播源】'", + // 播放列表节点 + "dtUrlNode": "//ul[@class='checkChannel']", + // 播放地址节点 + "dtUrlSubNode": "/li/a[@data-url]", + // 播放地址 + "dtUrlId": "@data-url", + "dtUrlIdR": "http(\\S+)", + // 剧集名称 + "dtUrlName": "/text()", + + //播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl":"http{playUrl}" + +} \ No newline at end of file diff --git a/XPath/dianying888.json b/XPath/dianying888.json new file mode 100644 index 0000000..a8f16ee --- /dev/null +++ b/XPath/dianying888.json @@ -0,0 +1,52 @@ +{ + "ua": "", + "homeUrl": "https://www.dy888.tv", + "cateNode": "//ul[contains(@class,'top_nav clearfix')]//li/a", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4" + }, + "homeVodNode": "//ul[contains(@class,'vodlist vodlist_wi')]/li/a[contains(@class, 'vodlist_thumb lazyload')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\s+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "", + "cateUrl": "https://www.dy888.tv/index.php/vod/show/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//ul[contains(@class,'vodlist vodlist_wi clearfix')]/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\s+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "", + "dtUrl": "https://www.dy888.tv/index.php/vod/detail/id/{vid}.html", + "dtNode": "//div[contains(@class,'content_box clearfix')]", + "dtName": "//div[contains(@class,'pannel_head clearfix')]/h2[contains(@class,'title')]/text()", + "dtImg": "//div[contains(@class,'content_thumb fl')]/a[contains(@class,'vodlist_thumb lazyload')]/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(),'类型')]/following-sibling::*/text()", + "dtYear": "//span[contains(text(),'年份')]/following-sibling::*/text()", + "dtArea": "//span[contains(text(),'地区')]/following-sibling::*/text()", + "dtDesc": "//span[contains(text(),'简介')]/following-sibling::*/text()", + "dtDescR": "", + "dtFromNode": "//a[@class='active' and contains(@href, 'javascript')]", + "dtFromName": "/text()", + "dtUrlNode": "//div[@id='playlistbox' and contains(@class, 'playlist_notfull')]", + "dtUrlSubNode": "/ul//li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/40592/sid/1/nid/(\\d+).html", + "dtUrlName": "/text()", + "playUrl": "https://www.dy888.tv/index.php/vod/play/id/40592/sid/1/nid/{playUrl}.html", + "searchUrl": "https://www.dy888.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/dianyingmi.json b/XPath/dianyingmi.json new file mode 100644 index 0000000..e61402b --- /dev/null +++ b/XPath/dianyingmi.json @@ -0,0 +1,72 @@ +{ + "ua": "", + "homeUrl": "https://www.dym8.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.dym8.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//header//nav/ul/li/a[contains(@href, '/vod/type')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vod/type/(\\S+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4" + }, + "homeVodNode": "//li[contains(@class, 'item')]/div[contains(@class, 'item-con')]", + "homeVodName": "/a[1]/@title", + "homeVodId": "/a[1]/@href", + "homeVodIdR": "/vod/detail(\\S+).html", + "homeVodImg": "/a[1]/img/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span/em/text()", + "cateUrl": "https://www.dym8.com/vod/type/{cateId}-{catePg}.html", + "cateVodNode": "//li[contains(@class, 'item')]/div[contains(@class, 'item-con')]", + "cateVodName": "/a[1]/@title", + "cateVodId": "/a[1]/@href", + "cateVodIdR": "/vod/detail(\\S+).html", + "cateVodImg": "/a[1]/img/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span/em/text()", + "dtUrl": "https://www.dym8.com/vod/detail/{vid}.html", + "dtNode": "//div[contains(@class,'main-content')]", + "dtName": "//h1[contains(@class,'article-subject-m')]/a/text()", + "dtNameR": "", + "dtImg": "//div[@class='thumb-wrap']/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='tags']/span/a/text()", + "dtCateR": "", + "dtYear": "//p[@class='year']/span/a/text()", + "dtYearR": "", + "dtArea": "//p[@class='country']/span/a/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//p[@class='performer']/span/a/text()", + "dtActorR": "", + "dtDirector": "//p[@class='director']/span/a/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='summary-con']/p/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'resource-box-nav')]/ul/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'episodes-list')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vod/play(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.dym8.com/vod/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.dym8.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/dianyingniu.json b/XPath/dianyingniu.json new file mode 100644 index 0000000..f2fe061 --- /dev/null +++ b/XPath/dianyingniu.json @@ -0,0 +1,717 @@ +{ + "author": "ajk", + "ua": "", + // 首页地址 用于获取 分类和首页推荐 + "homeUrl": "https://www.dianyingn.com", + // 分类节点 + //"cateNode": "//ul[@class='clearfix']//a[contains(@href,'/vod/type/')]", + // 分类名 + //"cateName": "/text()", + // 分类id + //"cateId": "/@href", + // 分类id二次处理正则 + //"cateIdR": "", + // 手动设置分类,如果手动设置了分类则不使用上面的分类xpath获取分类 例如 "cateManual": {"电影": "1", "电视剧": "2"}, + "cateManual": { + "电影": "dianying", + "电视剧": "dianshiju", + "综艺": "zongyi", + "动漫": "dongman" +}, + // 首页模块 ================================================ + // 首页推荐视频的节点 + "homeVodNode": "//ul[contains(@class,'fed-list-info fed-part-rows')]/li", + // 首页推荐视频的名称 + "homeVodName": "/a[contains(@class,'fed-list-title')]/text()", + // 二次处理正则 + "homeVodNameR": "", + // 首页推荐视频的id + "homeVodId": "/a[contains(@class,'fed-list-pics')]/@href", + // 二次处理正则 + "homeVodIdR": "/voddetail/(\\S+).html", + // 首页推荐视频的图片 + "homeVodImg": "/a[contains(@class,'fed-list-pics')]/@data-original", + // 二次处理正则 + "homeVodImgR": "", + // 首页推荐视频的简介 + "homeVodMark": "//span[contains(@class,'fed-list-remarks')]/text()", + // 二次处理正则 + "homeVodMarkR": "", + // 分类模块 ================================================ + // 分类页地址 {cateId} 分类id {catePg} 当前页 + //https://www.dianyingn.com/vodshow/{cateId}--------{catePg}---.html + "cateUrl": "https://www.dianyingn.com/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//ul[contains(@class,'fed-list-info fed-part-rows')]/li", + "cateVodName": "/a[contains(@class,'fed-list-title')]/text()", + "cateVodId": "/a[contains(@class,'fed-list-pics')]/@href", + "cateVodIdR": "/voddetail/(\\S+).html", + "cateVodImg": "/a[contains(@class,'fed-list-pics')]/@data-original", + "cateVodMark": "//span[contains(@class,'fed-list-remarks')]/text()", + // 详情模块 ================================================ + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://www.dianyingn.com/voddetail/{vid}.html", + // 详情节点 + "dtNode": "//body", + // 视频名 + "dtName": "//dd[contains(@class,'fed-deta-content')]/h1/a/text()", + "dtNameR": "", + // 视频图片 + "dtImg": "//dt[contains(@class,'fed-deta-images')]/a/@data-original", + "dtImgR": "", + // 视频分类 + "dtCate": "concat(//span[contains(text(),'分类')]/following-sibling::*//text())", + "dtCateR": "", + "dtArea": "concat(//span[contains(text(),'地区')]/following-sibling::*//text())", + "dtAreaR": "", + // 视频状态 + "dtMark": "concat(//span[contains(text(),'更新')]/following-sibling::*//text())", + "dtMarkR": "", + // 主演 + "dtActor": "concat(//span[contains(text(),'主演')]/following-sibling::*//text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(),'导演')]/following-sibling::*//text())", + "dtDirectorR": "", + // 视频年份 + "dtYear": "concat(//span[contains(text(),'年份')]/following-sibling::*//text())", + // 视频简介 + "dtDesc": "//p[contains(@class,'fed-part-both')]/text()", + "dtDescR": "", + // 播放模块 ===================================================== + // 播放源节点 + "dtFromNode": "//ul[contains(@class,'fed-part-rows')]/li[contains(@class,'fed-drop-btns')]/a", + // 播放源名称 多个重名播放源 + // "dtFromName": "concat('播放来源',count(parent::*/preceding::*//div[contains(@class,'tabs')]/ul[@class='t-ul']) + 1)", + "dtFromName":"/text()", + // 二次处理正则 + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[contains(@class,'fed-play-item')]/ul[@class='fed-part-rows']", + // 播放地址节点 + "dtUrlSubNode": "/li/a", + // 播放地址 + "dtUrlId": "/@href", + // 二次处理正则 + "dtUrlIdR": "/vodplay/(\\S+).html", + // 剧集名称 + "dtUrlName": "/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "https://www.dianyingn.com/vodplay/{playUrl}.html", + // 解析webview的user-agent + "playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + // 搜索模块 ================================================ + // 搜索地址 + "searchUrl": "https://www.dianyingn.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "dianying": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "动作片", + "v": "dongzuopian" + }, + { + "n": "喜劇片", + "v": "xijupian" + }, + { + "n": "愛情片", + "v": "aiqingpian" + }, + { + "n": "科幻片", + "v": "kehuanpian" + }, + { + "n": "恐怖片", + "v": "kongbupian" + }, + { + "n": "劇情片", + "v": "juqingpian" + }, + { + "n": "戰爭片", + "v": "zhanzhengpian" + }, + { + "n": "动画片", + "v": "donghua" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "中国香港", + "v": "中国香港" + }, + { + "n": "中国台湾", + "v": "中国台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "马来西亚", + "v": "马来西亚" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "dianshiju": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陸劇", + "v": "guochanju" + }, + { + "n": "港台劇", + "v": "gangtaiju" + }, + { + "n": "日韓劇", + "v": "rihanju" + }, + { + "n": "欧美劇", + "v": "oumeiju" + }, + { + "n": "其他劇", + "v": "qitaju" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "zongyi": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "dongman": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/dingzidianying.json b/XPath/dingzidianying.json new file mode 100644 index 0000000..9f60899 --- /dev/null +++ b/XPath/dingzidianying.json @@ -0,0 +1,69 @@ +{ + "ua": "", + "homeUrl": "https://www.dingzidy.wang", + "dcPlayUrl": "true", + "dcShow2Vip": {}, + "cateNode": "//nav[contains(@class,'navbar')]/div[contains(@class,'container')]/div[contains(@class,'collapse')]/ul[contains(@class, 'nav')]/li/a[contains(@href,'type')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\S+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "4", + "动漫": "3" + }, + "homeVodNode": "//div[contains(@class, 'row')]/div/div[contains(@class, 'movie-item')]", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/show(\\S+).html", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/a/button[contains(@class,'hdtag')]/text()", + "cateUrl": "https://www.dingzidy.wang/type/{cateId}-{catePg}.html", + "cateVodNode": "//div[contains(@class, 'col-md-1-5')]/div[contains(@class, 'movie-item')]", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/show(\\S+).html", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/a/button[contains(@class,'hdtag')]/text()", + "dtUrl": "https://www.dingzidy.wang/show/{vid}.html", + "dtNode": "//div[@class='row']", + "dtName": "/div/h1/text()", + "dtNameR": "", + "dtImg": "/div/div/div[1]/a/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "/div/div/div[2]/table/tbody/tr[3]/td[2]/a/text()", + "dtCateR": "", + "dtYear": "/div/div/div[2]/table/tbody/tr[6]/td[2]/text()", + "dtYearR": "", + "dtArea": "/div/div/div[2]/table/tbody/tr[4]/td[2]/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "/div/div/div[2]/table/tbody/tr[2]/td[2]/a/text()", + "dtActorR": "", + "dtDirector": "/div/div/div[2]/table/tbody/tr[1]/td[2]/a/text()", + "dtDirectorR": "", + "dtDesc": "/div[2]/div/div[2]/p[3]/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='panel-heading']/strong/parent::*", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//div[@class='panel-heading']/strong)+ 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//ul[@class='dslist-group']", + "dtUrlSubNode": "/li[@class='dslist-group-item']/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.dingzidy.wang/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.dingzidy.wang/s.html?wd={wd}", + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\S+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} \ No newline at end of file diff --git a/XPath/dingzidy.json b/XPath/dingzidy.json new file mode 100644 index 0000000..c5e013d --- /dev/null +++ b/XPath/dingzidy.json @@ -0,0 +1,69 @@ +{ + "ua": "", + "homeUrl": "https://www.dingzidy.wang", + "dcPlayUrl": "true", + "dcShow2Vip": {}, + "cateNode": "//nav[contains(@class,'navbar')]/div[contains(@class,'container')]/div[contains(@class,'collapse')]/ul[contains(@class, 'nav')]/li/a[contains(@href,'type')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\S+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "4", + "动漫": "3" + }, + "homeVodNode": "//div[contains(@class, 'row')]/div/div[contains(@class, 'movie-item')]", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/show(\\S+).html", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/a/button[contains(@class,'hdtag')]/text()", + "cateUrl": "https://www.dingzidy.wang/type/{cateId}-{catePg}.html", + "cateVodNode": "//div[contains(@class, 'col-md-1-5')]/div[contains(@class, 'movie-item')]", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/show(\\S+).html", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/a/button[contains(@class,'hdtag')]/text()", + "dtUrl": "https://www.dingzidy.wang/show/{vid}.html", + "dtNode": "//div[@class='row']", + "dtName": "/div/h1/text()", + "dtNameR": "", + "dtImg": "/div/div/div[1]/a/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "/div/div/div[2]/table/tbody/tr[3]/td[2]/a/text()", + "dtCateR": "", + "dtYear": "/div/div/div[2]/table/tbody/tr[6]/td[2]/text()", + "dtYearR": "", + "dtArea": "/div/div/div[2]/table/tbody/tr[4]/td[2]/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "/div/div/div[2]/table/tbody/tr[2]/td[2]/a/text()", + "dtActorR": "", + "dtDirector": "/div/div/div[2]/table/tbody/tr[1]/td[2]/a/text()", + "dtDirectorR": "", + "dtDesc": "/div[2]/div/div[2]/p[3]/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='panel-heading']/strong/parent::*", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//div[@class='panel-heading']/strong)+ 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//ul[@class='dslist-group']", + "dtUrlSubNode": "/li[@class='dslist-group-item']/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.dingzidy.wang/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.dingzidy.wang/s.html?wd={wd}", + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\S+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} diff --git a/XPath/dm84.json b/XPath/dm84.json new file mode 100644 index 0000000..934392b --- /dev/null +++ b/XPath/dm84.json @@ -0,0 +1,251 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://dm84.tv", + "cateNode": "//ul[contains(@class,'nav_row')]/li/a[contains(@href, '.html')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list-(\\d+).html", + "cateManual": {}, + "homeVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "homeVodName": "/a[@class='title']/@title", + "homeVodId": "/a[@class='title']/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "/a/@data-bg", + "homeVodMark": "/span[@class='desc']/text()", + "cateUrl": "https://dm84.tv/show-{cateId}--{by}-{catelog}--{year}-{catePg}.html", + "cateVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "cateVodName": "/a[@class='title']/@title", + "cateVodId": "/a[@class='title']/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "/a/@data-bg", + "cateVodMark": "/span[@class='desc']/text()", + "dtUrl": "https://dm84.tv/v/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[@class='v_title']/a/text()", + "dtImg": "//div[@class='cover']/img/@src", + "dtCate": "concat(//p[@class='v_desc']/a/text())", + "dtCateR": "", + "dtYear": "//p[@class='v_desc']/text()", + "dtYearR": "", + "dtArea": "//p[@class='v_desc']/text()[2]", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//p[contains(text(),'主演')]/text()", + "dtActorR": "\\S+:(\\S+)", + "dtDirector": "//p[contains(text(),'导演')]/text()", + "dtDirectorR": "\\S+:(\\S+)", + "dtDesc": "//p[contains(text(),'剧情')]/text()", + "dtDescR": "\\S+:(\\S+)", + "dtFromNode": "//ul[contains(@class,'play_from')]/li", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'play_list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "https://dm84.tv/p/{playUrl}.html", + "searchUrl": "https://dm84.tv/s----------.html?wd={wd}", + "scVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "scVodName": "/a[@class='title']/@title", + "scVodId": "/a[@class='title']/@href", + "scVodIdR": "/v/(\\w+).html", + "scVodImg": "/a/@data-bg", + "scVodMark": "/span[@class='desc']/text()", + "filter": { + "1": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "奇幻","v": "奇幻"}, + {"n": "战斗","v": "战斗"}, + {"n": "玄幻","v": "玄幻"}, + {"n": "穿越","v": "穿越"}, + {"n": "科幻","v": "科幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "热血","v": "热血"}, + {"n": "耽美","v": "耽美"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "动态漫画","v": "动态漫画"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "2": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "冒险","v": "冒险"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "战斗","v": "战斗"}, + {"n": "后宫","v": "后宫"}, + {"n": "热血","v": "热血"}, + {"n": "励志","v": "励志"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "校园","v": "校园"}, + {"n": "机战","v": "机战"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "治愈","v": "治愈"}, + {"n": "百合","v": "百合"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "泡面番","v": "泡面番"}, + {"n": "恋爱","v": "恋爱"}, + {"n": "推理","v": "推理"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "3": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "科幻","v": "科幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "战斗","v": "战斗"}, + {"n": "百合","v": "百合"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "热血","v": "热血"}, + {"n": "搞笑","v": "搞笑"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "4": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "搞笑","v": "搞笑"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "治愈","v": "治愈"}, + {"n": "科幻","v": "科幻"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "冒险","v": "冒险"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/dmd.json b/XPath/dmd.json new file mode 100644 index 0000000..37f0617 --- /dev/null +++ b/XPath/dmd.json @@ -0,0 +1,181 @@ +//www.dm55.cc +{ + "author":"动漫岛", + "ua": "", + "homeUrl": "http://www.dmd85.com", + "cateManual": { + "新番连载": "1", + "完结日漫": "3", + "热门国漫": "4", + "剧场动漫": "16" + }, + +// Home Summary ================================================ + "homeVodNode": "//div[@class='cn2_l']/div[@class='c2_contact']/div[@class='c1_l_wap_contact']/ul/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/a/img/@src", + "homeVodMark": "/p[@class='time']/font/text()", + +// Category Summary ================================================ + "cateUrl": "http://www.dmd85.com/vod-list-id-{cateId}-pg-{catePg}-order--by--class--year-{year}-letter--area--lang-.html", + "cateVodNode": "//div[@class='list3_cn_box']/div[@class='cn_box2']", + "cateVodName": "/div/div/a/@title", + "cateVodId": "/div/div/a/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/div/div/a/img/@src", + "cateVodMark": "/ul[@class='list_20']/li[2]/span/font/text()", + +// Category Details ================================================ + "dtUrl": "http://www.dmd85.com/detail/{vid}.html", + "dtNode": "//div[(@class='warp')]", + "dtName": "//div[@class='info-title']/h1/text()", + "dtImg": "//div[@class='info-box']/div[@class='o_list']/div[@class='o_big_img_bg_b']/img/@src", + "dtCate": "//div[@class='o_r_contact']/ul/li[8]/label/font[1]/text()", + "dtYear": "//div[@class='o_r_contact']/ul/li[6]/text()", + "dtArea": "//div[@class='o_r_contact']/ul/li[4]/label/text()", + "dtActor": "//div[@class='o_r_contact']/ul/li[3]/span/text()", + "dtMark": "//div[@class='o_r_contact']/ul/li[7]/label/font[1]/text()", + "dtDirector": "//div[@class='o_r_contact']/ul/li[2]/span/text()", + "dtDesc": "", + +// Playlist ===================================================== +// "dtFromNode": "//div[contains(@class,'from-tabs')]/label[contains(text(),'线路') or contains(text(),'云')]", + "dtFromNode": "//div[contains(@class,'from-tabs')]/label", + "dtFromName": "/text()", + "dtFromNameR": "", +// "dtUrlNode": "//div[contains(@class,'current-tab')]", + "dtUrlNode": "//div[contains(@class,'tabs-list')]", + "dtUrlSubNode": "/div/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "http://www.dmd85.com/play/{playUrl}.html", + "playUa": "", + +// Search Results ================================================ + "searchUrl": "http://www.dmd85.com/index.php?m=vod-search-wd-{wd}", + "scVodNode": "//div[@class='list3_cn_box']/div[@class='cn_box2']", + "scVodName": "/div/div/a/@title", + "scVodId": "/div/div/a/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/div/div/a/img/@src", + "scVodMark": "/ul[@class='list_20']/li[2]/span/font/text()", + +// Filters ======================================================= + "filter": { + "1": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "3": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "4": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "16": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ] + + } +} \ No newline at end of file diff --git a/XPath/dmntv.json b/XPath/dmntv.json new file mode 100644 index 0000000..127989c --- /dev/null +++ b/XPath/dmntv.json @@ -0,0 +1,938 @@ +{ + "author":"Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://dmntv.com", + "dcVipFlag": "true", + "pCfgJs": "https://dmntv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[@class='nav']/ul/li/a[contains(@href, 'vodtype') and not(contains(@href, 'gbook'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+)/", + "cateManual": {}, + "homeVodNode": "//div[@class='bd']/div[2]/ul/li/a[contains(@class,'vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/p/(\\d+)/", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div[@class='note']/span/text()", + "cateUrl": "https://dmntv.com/vodshow/{cateId}/area/{area}/by/{by}/page/{catePg}/year/{year}/", + "cateVodNode": "//div[@class='lists-content']/ul/li", + "cateVodName": "/h2/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/p/(\\d+)/", + "cateVodImg": "/a/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/a/div[@class='note']/span/text()", + "dtUrl": "https://dmntv.com/{vid}/", + "dtNode": "//div[contains(@class, 'menu-list')]", + "dtName": "//h1/a/text()", + "dtNameR": "", + "dtImg": "//img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[(@class='product-excerpt') and contains(text(), '类型:')]/span//a/text()", + "dtCateR": "", + "dtYear": "//div[(@class='product-excerpt') and contains(text(), '类型:')]/span//a/text()", + "dtYearR": "", + "dtArea": "//div[(@class='product-excerpt') and contains(text(), '制片国家/地区:')]/span//a/text()", + "dtAreaR": "", + "dtMark": "//div[(@class='product-excerpt') and contains(text(), '又名:')]/span//a/text()", + "dtMarkR": "", + "dtActor": "//div[(@class='product-excerpt') and contains(text(), '主演:')]/span//a/text()", + "dtActorR": "", + "dtDirector": "//div[(@class='product-excerpt') and contains(text(), '导演:')]/span//a/text()", + "dtDirectorR": "", + "dtDesc": "//div[(@class='product-excerpt') and contains(text(), '剧情简介:')]/span/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='playlists']//dl/dt", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='tempWrap']/div/div", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\d+)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://dmntv.com/{playUrl}/", + "playUa": "", + "searchUrl": "https://dmntv.com/vodsearch/?wd={wd}", + "scVodNode": "//div[@class='lists-content']/ul/li", + "scVodName": "/h2/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/p/(\\d+)/", + "scVodImg": "/a/@data-original", + "scVodMark": "/a/div[@class='note']/span/text()", + "filter": { + "movie": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "tv": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "variety": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "cartoon": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "bili": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "child": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} diff --git a/XPath/dmw.json b/XPath/dmw.json new file mode 100644 index 0000000..d1439ba --- /dev/null +++ b/XPath/dmw.json @@ -0,0 +1,182 @@ +//www.dm55.cc +{ + "author":"takagen99", + "ua": "", + "homeUrl": "http://www.88dmw.com", + "cateManual": { + "新番连载": "1", + "完结日漫": "3", + "热门国漫": "4", + "剧场动漫": "16" + }, + +// Home Summary ================================================ + "homeVodNode": "//div[@class='cn2_l']/div[@class='c2_contact']/div[@class='c1_l_wap_contact']/ul/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/a/img/@src", + "homeVodMark": "/p[@class='time']/font/text()", + +// Category Summary ================================================ + "cateUrl": "http://www.88dmw.com/vod-list-id-{cateId}-pg-{catePg}-order--by--class--year-{year}-letter--area--lang-.html", + "cateVodNode": "//div[@class='list3_cn_box']/div[@class='cn_box2']", + "cateVodName": "/div/div/a/@title", + "cateVodId": "/div/div/a/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/div/div/a/img/@src", + "cateVodMark": "/ul[@class='list_20']/li[2]/span/font/text()", + +// Category Details ================================================ + "dtUrl": "http://www.88dmw.com/detail/{vid}.html", + "dtNode": "//div[(@class='warp')]", + "dtName": "//div[@class='info-title']/h1/text()", + "dtImg": "//div[@class='info-box']/div[@class='o_list']/div[@class='o_big_img_bg_b']/img/@src", + "dtCate": "//div[@class='o_r_contact']/ul/li[8]/label/font[1]/text()", + "dtYear": "//div[@class='o_r_contact']/ul/li[6]/text()", + "dtArea": "//div[@class='o_r_contact']/ul/li[4]/label/text()", + "dtActor": "//div[@class='o_r_contact']/ul/li[3]/span/text()", + "dtMark": "//div[@class='o_r_contact']/ul/li[7]/label/font[1]/text()", + "dtDirector": "//div[@class='o_r_contact']/ul/li[2]/span/text()", + "dtDesc": "", + +// Playlist ===================================================== +// "dtFromNode": "//div[contains(@class,'from-tabs')]/label[contains(text(),'线路') or contains(text(),'云')]", + "dtFromNode": "//div[contains(@class,'from-tabs')]/label", + "dtFromName": "/text()", + "dtFromNameR": "", +// "dtUrlNode": "//div[contains(@class,'current-tab')]", + "dtUrlNode": "//div[contains(@class,'tabs-list')]", + "dtUrlSubNode": "/div/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "http://www.88dmw.com/play/{playUrl}.html", + "playUa": "", + +// Search Results ================================================ + "searchUrl": "http://www.88dmw.com/index.php?m=vod-search-wd-{wd}", + "scVodNode": "//div[@class='list3_cn_box']/div[@class='cn_box2']", + "scVodName": "/div/div/a/@title", + "scVodId": "/div/div/a/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/div/div/a/img/@src", + "scVodMark": "/ul[@class='list_20']/li[2]/span/font/text()", + +// Filters ======================================================= + "filter": { + "1": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "3": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "4": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "16": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ] + } + +} diff --git a/XPath/dongman84.json b/XPath/dongman84.json new file mode 100644 index 0000000..934392b --- /dev/null +++ b/XPath/dongman84.json @@ -0,0 +1,251 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://dm84.tv", + "cateNode": "//ul[contains(@class,'nav_row')]/li/a[contains(@href, '.html')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list-(\\d+).html", + "cateManual": {}, + "homeVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "homeVodName": "/a[@class='title']/@title", + "homeVodId": "/a[@class='title']/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "/a/@data-bg", + "homeVodMark": "/span[@class='desc']/text()", + "cateUrl": "https://dm84.tv/show-{cateId}--{by}-{catelog}--{year}-{catePg}.html", + "cateVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "cateVodName": "/a[@class='title']/@title", + "cateVodId": "/a[@class='title']/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "/a/@data-bg", + "cateVodMark": "/span[@class='desc']/text()", + "dtUrl": "https://dm84.tv/v/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[@class='v_title']/a/text()", + "dtImg": "//div[@class='cover']/img/@src", + "dtCate": "concat(//p[@class='v_desc']/a/text())", + "dtCateR": "", + "dtYear": "//p[@class='v_desc']/text()", + "dtYearR": "", + "dtArea": "//p[@class='v_desc']/text()[2]", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//p[contains(text(),'主演')]/text()", + "dtActorR": "\\S+:(\\S+)", + "dtDirector": "//p[contains(text(),'导演')]/text()", + "dtDirectorR": "\\S+:(\\S+)", + "dtDesc": "//p[contains(text(),'剧情')]/text()", + "dtDescR": "\\S+:(\\S+)", + "dtFromNode": "//ul[contains(@class,'play_from')]/li", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'play_list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "https://dm84.tv/p/{playUrl}.html", + "searchUrl": "https://dm84.tv/s----------.html?wd={wd}", + "scVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "scVodName": "/a[@class='title']/@title", + "scVodId": "/a[@class='title']/@href", + "scVodIdR": "/v/(\\w+).html", + "scVodImg": "/a/@data-bg", + "scVodMark": "/span[@class='desc']/text()", + "filter": { + "1": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "奇幻","v": "奇幻"}, + {"n": "战斗","v": "战斗"}, + {"n": "玄幻","v": "玄幻"}, + {"n": "穿越","v": "穿越"}, + {"n": "科幻","v": "科幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "热血","v": "热血"}, + {"n": "耽美","v": "耽美"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "动态漫画","v": "动态漫画"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "2": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "冒险","v": "冒险"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "战斗","v": "战斗"}, + {"n": "后宫","v": "后宫"}, + {"n": "热血","v": "热血"}, + {"n": "励志","v": "励志"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "校园","v": "校园"}, + {"n": "机战","v": "机战"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "治愈","v": "治愈"}, + {"n": "百合","v": "百合"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "泡面番","v": "泡面番"}, + {"n": "恋爱","v": "恋爱"}, + {"n": "推理","v": "推理"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "3": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "科幻","v": "科幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "战斗","v": "战斗"}, + {"n": "百合","v": "百合"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "热血","v": "热血"}, + {"n": "搞笑","v": "搞笑"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "4": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "搞笑","v": "搞笑"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "治愈","v": "治愈"}, + {"n": "科幻","v": "科幻"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "冒险","v": "冒险"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/dongmandao88.json b/XPath/dongmandao88.json new file mode 100644 index 0000000..4c6c929 --- /dev/null +++ b/XPath/dongmandao88.json @@ -0,0 +1,182 @@ +//www.dm55.cc +{ + "author":"takagen99", + "ua": "", + "homeUrl": "http://www.88dmw.com", + "cateManual": { + "新番连载": "1", + "完结日漫": "3", + "热门国漫": "4", + "剧场动漫": "16" + }, + +// Home Summary ================================================ + "homeVodNode": "//div[@class='cn2_l']/div[@class='c2_contact']/div[@class='c1_l_wap_contact']/ul/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/a/img/@src", + "homeVodMark": "/p[@class='time']/font/text()", + +// Category Summary ================================================ + "cateUrl": "http://www.88dmw.com/vod-list-id-{cateId}-pg-{catePg}-order--by--class--year-{year}-letter--area--lang-.html", + "cateVodNode": "//div[@class='list3_cn_box']/div[@class='cn_box2']", + "cateVodName": "/div/div/a/@title", + "cateVodId": "/div/div/a/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/div/div/a/img/@src", + "cateVodMark": "/ul[@class='list_20']/li[2]/span/font/text()", + +// Category Details ================================================ + "dtUrl": "http://www.88dmw.com/detail/{vid}.html", + "dtNode": "//div[(@class='warp')]", + "dtName": "//div[@class='info-title']/h1/text()", + "dtImg": "//div[@class='info-box']/div[@class='o_list']/div[@class='o_big_img_bg_b']/img/@src", + "dtCate": "//div[@class='o_r_contact']/ul/li[8]/label/font[1]/text()", + "dtYear": "//div[@class='o_r_contact']/ul/li[6]/text()", + "dtArea": "//div[@class='o_r_contact']/ul/li[4]/label/text()", + "dtActor": "//div[@class='o_r_contact']/ul/li[3]/span/text()", + "dtMark": "//div[@class='o_r_contact']/ul/li[7]/label/font[1]/text()", + "dtDirector": "//div[@class='o_r_contact']/ul/li[2]/span/text()", + "dtDesc": "", + +// Playlist ===================================================== +// "dtFromNode": "//div[contains(@class,'from-tabs')]/label[contains(text(),'线路') or contains(text(),'云')]", + "dtFromNode": "//div[contains(@class,'from-tabs')]/label", + "dtFromName": "/text()", + "dtFromNameR": "", +// "dtUrlNode": "//div[contains(@class,'current-tab')]", + "dtUrlNode": "//div[contains(@class,'tabs-list')]", + "dtUrlSubNode": "/div/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "http://www.88dmw.com/play/{playUrl}.html", + "playUa": "", + +// Search Results ================================================ + "searchUrl": "http://www.88dmw.com/index.php?m=vod-search-wd-{wd}", + "scVodNode": "//div[@class='list3_cn_box']/div[@class='cn_box2']", + "scVodName": "/div/div/a/@title", + "scVodId": "/div/div/a/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/div/div/a/img/@src", + "scVodMark": "/ul[@class='list_20']/li[2]/span/font/text()", + +// Filters ======================================================= + "filter": { + "1": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "3": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "4": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "16": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ] + } + +} \ No newline at end of file diff --git a/XPath/douban.json b/XPath/douban.json new file mode 100644 index 0000000..e37bd25 --- /dev/null +++ b/XPath/douban.json @@ -0,0 +1 @@ +{"class":[{"type_id":"interests","type_name":"我的豆瓣"},{"type_id":"hot_gaia","type_name":"热门电影"},{"type_id":"tv_hot","type_name":"热播剧集"},{"type_id":"show_hot","type_name":"热播综艺"},{"type_id":"movie","type_name":"电影筛选"},{"type_id":"tv","type_name":"电视筛选"},{"type_id":"rank_list_movie","type_name":"电影榜单"},{"type_id":"rank_list_tv","type_name":"电视榜单"}],"filters":{"interests":[{"key":"status","name":"状态","value":[{"n":"想看","v":"mark"},{"n":"在看","v":"doing"},{"n":"看过","v":"done"}]},{"key":"subtype_tag","name":"形式","value":[{"n":"全部","v":""},{"n":"电影","v":"movie"},{"n":"电视","v":"tv"}]},{"key":"year_tag","name":"年代","value":[{"n":"全部","v":"全部"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2010年代","v":"2010年代"},{"n":"2000年代","v":"2000年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"},{"n":"70年代","v":"70年代"},{"n":"60年代","v":"60年代"},{"n":"更早","v":"更早"}]}],"hot_gaia":[{"key":"sort","name":"排序","value":[{"n":"热度","v":"recommend"},{"n":"最新","v":"time"},{"n":"评分","v":"rank"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":"全部"},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"}]}],"tv_hot":[{"key":"type","name":"分类","value":[{"n":"综合","v":"tv_hot"},{"n":"国产剧","v":"tv_domestic"},{"n":"欧美剧","v":"tv_american"},{"n":"日剧","v":"tv_japanese"},{"n":"韩剧","v":"tv_korean"},{"n":"动画","v":"tv_animation"}]}],"show_hot":[{"key":"type","name":"分类","value":[{"n":"综合","v":"show_hot"},{"n":"国内","v":"show_domestic"},{"n":"国外","v":"show_foreign"}]}],"movie":[{"key":"类型","name":"类型","value":[{"n":"全部类型","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"动画","v":"动画"},{"n":"悬疑","v":"悬疑"},{"n":"犯罪","v":"犯罪"},{"n":"惊悚","v":"惊悚"},{"n":"冒险","v":"冒险"},{"n":"音乐","v":"音乐"},{"n":"历史","v":"历史"},{"n":"奇幻","v":"奇幻"},{"n":"恐怖","v":"恐怖"},{"n":"战争","v":"战争"},{"n":"传记","v":"传记"},{"n":"歌舞","v":"歌舞"},{"n":"武侠","v":"武侠"},{"n":"情色","v":"情色"},{"n":"灾难","v":"灾难"},{"n":"西部","v":"西部"},{"n":"纪录片","v":"纪录片"},{"n":"短片","v":"短片"}]},{"key":"地区","name":"地区","value":[{"n":"全部地区","v":""},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"中国大陆","v":"中国大陆"},{"n":"美国","v":"美国"},{"n":"中国香港","v":"中国香港"},{"n":"中国台湾","v":"中国台湾"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"印度","v":"印度"},{"n":"泰国","v":"泰国"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"加拿大","v":"加拿大"},{"n":"澳大利亚","v":"澳大利亚"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"丹麦","v":"丹麦"}]},{"key":"sort","name":"排序","value":[{"n":"近期热度","v":"T"},{"n":"首映时间","v":"R"},{"n":"高分优先","v":"S"}]},{"key":"年代","name":"年代","value":[{"n":"全部年代","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2010年代","v":"2010年代"},{"n":"2000年代","v":"2000年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"},{"n":"70年代","v":"70年代"},{"n":"60年代","v":"60年代"},{"n":"更早","v":"更早"}]}],"tv":[{"key":"类型","name":"类型","value":[{"n":"不限","v":""},{"n":"电视剧","v":"电视剧"},{"n":"综艺","v":"综艺"}]},{"key":"电视剧形式","name":"电视剧形式","value":[{"n":"不限","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"悬疑","v":"悬疑"},{"n":"动画","v":"动画"},{"n":"武侠","v":"武侠"},{"n":"古装","v":"古装"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"科幻","v":"科幻"},{"n":"恐怖","v":"恐怖"},{"n":"历史","v":"历史"},{"n":"战争","v":"战争"},{"n":"动作","v":"动作"},{"n":"冒险","v":"冒险"},{"n":"传记","v":"传记"},{"n":"剧情","v":"剧情"},{"n":"奇幻","v":"奇幻"},{"n":"惊悚","v":"惊悚"},{"n":"灾难","v":"灾难"},{"n":"歌舞","v":"歌舞"},{"n":"音乐","v":"音乐"}]},{"key":"综艺形式","name":"综艺形式","value":[{"n":"不限","v":""},{"n":"真人秀","v":"真人秀"},{"n":"脱口秀","v":"脱口秀"},{"n":"音乐","v":"音乐"},{"n":"歌舞","v":"歌舞"}]},{"key":"地区","name":"地区","value":[{"n":"全部地区","v":""},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"国外","v":"国外"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"中国大陆","v":"中国大陆"},{"n":"中国香港","v":"中国香港"},{"n":"美国","v":"美国"},{"n":"英国","v":"英国"},{"n":"泰国","v":"泰国"},{"n":"中国台湾","v":"中国台湾"},{"n":"意大利","v":"意大利"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"西班牙","v":"西班牙"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"丹麦","v":"丹麦"},{"n":"印度","v":"印度"},{"n":"加拿大","v":"加拿大"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"澳大利亚","v":"澳大利亚"}]},{"key":"sort","name":"排序","value":[{"n":"近期热度","v":"T"},{"n":"首播时间","v":"R"},{"n":"高分优先","v":"S"}]},{"key":"年代","name":"年代","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2010年代","v":"2010年代"},{"n":"2000年代","v":"2000年代"},{"n":"90年代","v":"90年代"},{"n":"80年代","v":"80年代"},{"n":"70年代","v":"70年代"},{"n":"60年代","v":"60年代"},{"n":"更早","v":"更早"}]},{"key":"平台","name":"平台","value":[{"n":"全部","v":""},{"n":"腾讯视频","v":"腾讯视频"},{"n":"爱奇艺","v":"爱奇艺"},{"n":"优酷","v":"优酷"},{"n":"湖南卫视","v":"湖南卫视"},{"n":"Netflix","v":"Netflix"},{"n":"HBO","v":"HBO"},{"n":"BBC","v":"BBC"},{"n":"NHK","v":"NHK"},{"n":"CBS","v":"CBS"},{"n":"NBC","v":"NBC"},{"n":"tvN","v":"tvN"}]}],"rank_list_movie":[{"key":"榜单","name":"榜单","value":[{"n":"实时热门电影","v":"movie_real_time_hotest"},{"n":"一周口碑电影榜","v":"movie_weekly_best"},{"n":"豆瓣电影Top250","v":"movie_top250"}]}],"rank_list_tv":[{"key":"榜单","name":"榜单","value":[{"n":"实时热门电视","v":"tv_real_time_hotest"},{"n":"华语口碑剧集榜","v":"tv_chinese_best_weekly"},{"n":"全球口碑剧集榜","v":"tv_global_best_weekly"},{"n":"国内口碑综艺榜","v":"show_chinese_best_weekly"},{"n":"国外口碑综艺榜","v":"show_global_best_weekly"}]}]}} diff --git a/XPath/doujiaow.json b/XPath/doujiaow.json new file mode 100644 index 0000000..5fcc9c5 --- /dev/null +++ b/XPath/doujiaow.json @@ -0,0 +1,65 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://m.doujiaow1.com/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "视频大全": "25", + "动漫": "4", + "综艺": "30" + }, + "homeVodNode": "//div[@class='con']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vodhtml/(\\w+)/", + "homeVodImg": "//@data-src", + "homeVodImgR": "", + "homeVodMark": "//em/text()", + "cateUrl": "https://m.doujiaow1.com/index.php?m=vod-list-id-{cateId}-pg-{catePg}-order--by-time-class--year--letter--area--lang-.html/page/.html", + "cateVodNode": "//div[@class='con']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vodhtml/(\\w+)/", + "cateVodImg": "//@data-src", + "cateVodImgR": "", + "cateVodMark": "//em/text()", + "dtUrl": "https://m.doujiaow1.com/vodhtml/{vid}/", + "dtNode": "//section[@class='main']", + "dtName": "//h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='posterPic']/a//@src", + "dtImgR": "", + "dtCate": "//p[@class='pBottom']/span[4]/text()", + "dtCateR": "类型/评分:(.*)", + "dtYear": "//p[@class='pBottom']/span[3]/text()", + "dtYearR": "地区/年代:\\S+ / (\\S+)", + "dtArea": "//p[@class='pBottom']/span[3]/text()", + "dtAreaR": "地区/年代:(\\S+) / \\S+", + "dtDirector": "//p[@class='pBottom']/span[5]/text()", + "dtDirectorR": "导演:(\\S+)", + "dtActor": "//p[@class='pBottom']/span[6]/text()", + "dtActorR": "主演:(\\S+)", + "dtDesc": "//div[@class='tabCon']/p[2]/text()", + "dtDescR": "剧情:(.*)", + "dtFromNode": "//dt[@class='tabt3']/span[@id and and not(contains(text(),'迅雷')) and not(contains(text(),'百度'))]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'ulNumList')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplayhtml/(\\S+)", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://m.doujiaow1.com/vodplayhtml/{playUrl}.html", + "playUa": "", + "searchUrl": "https://m.doujiaow1.com/index.php?m=vod-search&wd={wd}", + "scVodNode": "//div[@class='pic']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vodhtml/(\\w+)/", + "scVodImg": "//@data-src", + "scVodMark": "//text()" +} \ No newline at end of file diff --git a/XPath/doujiaowang.json b/XPath/doujiaowang.json new file mode 100644 index 0000000..5fcc9c5 --- /dev/null +++ b/XPath/doujiaowang.json @@ -0,0 +1,65 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://m.doujiaow1.com/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "视频大全": "25", + "动漫": "4", + "综艺": "30" + }, + "homeVodNode": "//div[@class='con']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vodhtml/(\\w+)/", + "homeVodImg": "//@data-src", + "homeVodImgR": "", + "homeVodMark": "//em/text()", + "cateUrl": "https://m.doujiaow1.com/index.php?m=vod-list-id-{cateId}-pg-{catePg}-order--by-time-class--year--letter--area--lang-.html/page/.html", + "cateVodNode": "//div[@class='con']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vodhtml/(\\w+)/", + "cateVodImg": "//@data-src", + "cateVodImgR": "", + "cateVodMark": "//em/text()", + "dtUrl": "https://m.doujiaow1.com/vodhtml/{vid}/", + "dtNode": "//section[@class='main']", + "dtName": "//h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='posterPic']/a//@src", + "dtImgR": "", + "dtCate": "//p[@class='pBottom']/span[4]/text()", + "dtCateR": "类型/评分:(.*)", + "dtYear": "//p[@class='pBottom']/span[3]/text()", + "dtYearR": "地区/年代:\\S+ / (\\S+)", + "dtArea": "//p[@class='pBottom']/span[3]/text()", + "dtAreaR": "地区/年代:(\\S+) / \\S+", + "dtDirector": "//p[@class='pBottom']/span[5]/text()", + "dtDirectorR": "导演:(\\S+)", + "dtActor": "//p[@class='pBottom']/span[6]/text()", + "dtActorR": "主演:(\\S+)", + "dtDesc": "//div[@class='tabCon']/p[2]/text()", + "dtDescR": "剧情:(.*)", + "dtFromNode": "//dt[@class='tabt3']/span[@id and and not(contains(text(),'迅雷')) and not(contains(text(),'百度'))]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'ulNumList')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplayhtml/(\\S+)", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://m.doujiaow1.com/vodplayhtml/{playUrl}.html", + "playUa": "", + "searchUrl": "https://m.doujiaow1.com/index.php?m=vod-search&wd={wd}", + "scVodNode": "//div[@class='pic']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vodhtml/(\\w+)/", + "scVodImg": "//@data-src", + "scVodMark": "//text()" +} \ No newline at end of file diff --git a/XPath/duboku.json b/XPath/duboku.json new file mode 100644 index 0000000..2447fa6 --- /dev/null +++ b/XPath/duboku.json @@ -0,0 +1,385 @@ +{ + "author":"takagen99", + "ua": "", + "homeUrl": "https://www.duboku.tv/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'nav-menu')]/li/a[contains(@href, 'vodtype')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": { + "陆剧": "13", + "日韩剧": "15", + "短剧": "21", + "英美剧": "16", + "台泰剧": "14", + "港剧": "20", + "综艺": "3", + "动漫": "4" + }, + +// Home Summary ================================================ + "homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pic-text')]/text()", + +// Category Summary ================================================ + "cateUrl": "https://www.duboku.tv/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pic-text')]/text()", + +// Category Details ================================================ + "dtUrl": "https://my.duboku.vip/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'myui-content__thumb')]/a/@title", + "dtNameR": "", + "dtImg": "//div[contains(@class,'myui-content__thumb')]/a/img/@data-original", + "dtImgR": "", + "dtCate": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '分类')]/following-sibling::a/text()", + "dtYear": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '年份')]/following-sibling::a/text()", + "dtArea": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '地区')]/following-sibling::a/text()", + "dtMark": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '更新')]/following-sibling::a/text()", + "dtDirector": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '简介')]/following-sibling::a/text()", + +// Playlist ===================================================== + "dtFromNode": "//ul[contains(@class,'nav-tabs')]/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://my.duboku.vip/vodplay/{playUrl}.html", + "playUa": "", + +// Search Results ================================================ + "searchUrl": "https://my.duboku.vip/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + +// Filters ======================================================= + "filter": { + "13": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "20": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "14": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "16": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "15": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "陆剧","v": "13"}, + {"n": "日韩剧","v": "15"}, + {"n": "英美剧","v": "16"}, + {"n": "台泰剧","v": "14"}, + {"n": "港剧","v": "20"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "巴西","v": "巴西"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "泰国","v": "泰国"}, + {"n": "德国","v": "德国"}, + {"n": "法国","v": "法国"}, + {"n": "日本","v": "日本"}, + {"n": "荷兰","v": "荷兰"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "韩国","v": "韩国"}, + {"n": "美国","v": "美国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "20": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "21": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ] + } + } diff --git a/XPath/duboku2.json b/XPath/duboku2.json new file mode 100644 index 0000000..1df211b --- /dev/null +++ b/XPath/duboku2.json @@ -0,0 +1,67 @@ +{ + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.duboku.su", + "dcVipFlag": "true", + "pCfgJs": "https://www.duboku.su/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'myui-header__menu nav-menu')]/li[contains(@class, 'dropdown-hover')]//div/ul/li/a[contains(@href, 'vodtype') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'padding-0')]//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://duboku.su/vodtype/{cateId}-{catePg}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://duboku.su/voddetail/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/video/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://duboku.su/video/{playUrl}.html", + "playUa": "", + "searchUrl": "https://duboku.su/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/dubuku.json b/XPath/dubuku.json new file mode 100644 index 0000000..865afdb --- /dev/null +++ b/XPath/dubuku.json @@ -0,0 +1,385 @@ +{ + "author":"takagen99", + "ua": "", + "homeUrl": "https://www.duboku.tv/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'nav-menu')]/li/a[contains(@href, 'vodtype')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": { + "陆剧": "13", + "日韩剧": "15", + "短剧": "21", + "英美剧": "16", + "台泰剧": "14", + "港剧": "20", + "综艺": "3", + "动漫": "4" + }, + +// Home Summary ================================================ + "homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pic-text')]/text()", + +// Category Summary ================================================ + "cateUrl": "https://www.duboku.tv/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pic-text')]/text()", + +// Category Details ================================================ + "dtUrl": "https://my.duboku.vip/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'myui-content__thumb')]/a/@title", + "dtNameR": "", + "dtImg": "//div[contains(@class,'myui-content__thumb')]/a/img/@data-original", + "dtImgR": "", + "dtCate": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '分类')]/following-sibling::a/text()", + "dtYear": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '年份')]/following-sibling::a/text()", + "dtArea": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '地区')]/following-sibling::a/text()", + "dtMark": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '更新')]/following-sibling::a/text()", + "dtDirector": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//div[contains(@class,'myui-content__detail')]/p/span[contains(text(), '简介')]/following-sibling::a/text()", + +// Playlist ===================================================== + "dtFromNode": "//ul[contains(@class,'nav-tabs')]/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://my.duboku.vip/vodplay/{playUrl}.html", + "playUa": "", + +// Search Results ================================================ + "searchUrl": "https://my.duboku.vip/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + +// Filters ======================================================= + "filter": { + "13": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "20": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "14": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "16": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "15": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "陆剧","v": "13"}, + {"n": "日韩剧","v": "15"}, + {"n": "英美剧","v": "16"}, + {"n": "台泰剧","v": "14"}, + {"n": "港剧","v": "20"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "巴西","v": "巴西"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "泰国","v": "泰国"}, + {"n": "德国","v": "德国"}, + {"n": "法国","v": "法国"}, + {"n": "日本","v": "日本"}, + {"n": "荷兰","v": "荷兰"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "韩国","v": "韩国"}, + {"n": "美国","v": "美国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "20": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "21": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "排序","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ] + } + } \ No newline at end of file diff --git a/XPath/dy888.json b/XPath/dy888.json new file mode 100644 index 0000000..a8f16ee --- /dev/null +++ b/XPath/dy888.json @@ -0,0 +1,52 @@ +{ + "ua": "", + "homeUrl": "https://www.dy888.tv", + "cateNode": "//ul[contains(@class,'top_nav clearfix')]//li/a", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4" + }, + "homeVodNode": "//ul[contains(@class,'vodlist vodlist_wi')]/li/a[contains(@class, 'vodlist_thumb lazyload')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\s+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "", + "cateUrl": "https://www.dy888.tv/index.php/vod/show/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//ul[contains(@class,'vodlist vodlist_wi clearfix')]/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\s+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "", + "dtUrl": "https://www.dy888.tv/index.php/vod/detail/id/{vid}.html", + "dtNode": "//div[contains(@class,'content_box clearfix')]", + "dtName": "//div[contains(@class,'pannel_head clearfix')]/h2[contains(@class,'title')]/text()", + "dtImg": "//div[contains(@class,'content_thumb fl')]/a[contains(@class,'vodlist_thumb lazyload')]/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(),'类型')]/following-sibling::*/text()", + "dtYear": "//span[contains(text(),'年份')]/following-sibling::*/text()", + "dtArea": "//span[contains(text(),'地区')]/following-sibling::*/text()", + "dtDesc": "//span[contains(text(),'简介')]/following-sibling::*/text()", + "dtDescR": "", + "dtFromNode": "//a[@class='active' and contains(@href, 'javascript')]", + "dtFromName": "/text()", + "dtUrlNode": "//div[@id='playlistbox' and contains(@class, 'playlist_notfull')]", + "dtUrlSubNode": "/ul//li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/40592/sid/1/nid/(\\d+).html", + "dtUrlName": "/text()", + "playUrl": "https://www.dy888.tv/index.php/vod/play/id/40592/sid/1/nid/{playUrl}.html", + "searchUrl": "https://www.dy888.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/dym8.json b/XPath/dym8.json new file mode 100644 index 0000000..e61402b --- /dev/null +++ b/XPath/dym8.json @@ -0,0 +1,72 @@ +{ + "ua": "", + "homeUrl": "https://www.dym8.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.dym8.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//header//nav/ul/li/a[contains(@href, '/vod/type')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vod/type/(\\S+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4" + }, + "homeVodNode": "//li[contains(@class, 'item')]/div[contains(@class, 'item-con')]", + "homeVodName": "/a[1]/@title", + "homeVodId": "/a[1]/@href", + "homeVodIdR": "/vod/detail(\\S+).html", + "homeVodImg": "/a[1]/img/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span/em/text()", + "cateUrl": "https://www.dym8.com/vod/type/{cateId}-{catePg}.html", + "cateVodNode": "//li[contains(@class, 'item')]/div[contains(@class, 'item-con')]", + "cateVodName": "/a[1]/@title", + "cateVodId": "/a[1]/@href", + "cateVodIdR": "/vod/detail(\\S+).html", + "cateVodImg": "/a[1]/img/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span/em/text()", + "dtUrl": "https://www.dym8.com/vod/detail/{vid}.html", + "dtNode": "//div[contains(@class,'main-content')]", + "dtName": "//h1[contains(@class,'article-subject-m')]/a/text()", + "dtNameR": "", + "dtImg": "//div[@class='thumb-wrap']/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='tags']/span/a/text()", + "dtCateR": "", + "dtYear": "//p[@class='year']/span/a/text()", + "dtYearR": "", + "dtArea": "//p[@class='country']/span/a/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//p[@class='performer']/span/a/text()", + "dtActorR": "", + "dtDirector": "//p[@class='director']/span/a/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='summary-con']/p/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'resource-box-nav')]/ul/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'episodes-list')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vod/play(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.dym8.com/vod/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.dym8.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/dyn.json b/XPath/dyn.json new file mode 100644 index 0000000..f2fe061 --- /dev/null +++ b/XPath/dyn.json @@ -0,0 +1,717 @@ +{ + "author": "ajk", + "ua": "", + // 首页地址 用于获取 分类和首页推荐 + "homeUrl": "https://www.dianyingn.com", + // 分类节点 + //"cateNode": "//ul[@class='clearfix']//a[contains(@href,'/vod/type/')]", + // 分类名 + //"cateName": "/text()", + // 分类id + //"cateId": "/@href", + // 分类id二次处理正则 + //"cateIdR": "", + // 手动设置分类,如果手动设置了分类则不使用上面的分类xpath获取分类 例如 "cateManual": {"电影": "1", "电视剧": "2"}, + "cateManual": { + "电影": "dianying", + "电视剧": "dianshiju", + "综艺": "zongyi", + "动漫": "dongman" +}, + // 首页模块 ================================================ + // 首页推荐视频的节点 + "homeVodNode": "//ul[contains(@class,'fed-list-info fed-part-rows')]/li", + // 首页推荐视频的名称 + "homeVodName": "/a[contains(@class,'fed-list-title')]/text()", + // 二次处理正则 + "homeVodNameR": "", + // 首页推荐视频的id + "homeVodId": "/a[contains(@class,'fed-list-pics')]/@href", + // 二次处理正则 + "homeVodIdR": "/voddetail/(\\S+).html", + // 首页推荐视频的图片 + "homeVodImg": "/a[contains(@class,'fed-list-pics')]/@data-original", + // 二次处理正则 + "homeVodImgR": "", + // 首页推荐视频的简介 + "homeVodMark": "//span[contains(@class,'fed-list-remarks')]/text()", + // 二次处理正则 + "homeVodMarkR": "", + // 分类模块 ================================================ + // 分类页地址 {cateId} 分类id {catePg} 当前页 + //https://www.dianyingn.com/vodshow/{cateId}--------{catePg}---.html + "cateUrl": "https://www.dianyingn.com/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//ul[contains(@class,'fed-list-info fed-part-rows')]/li", + "cateVodName": "/a[contains(@class,'fed-list-title')]/text()", + "cateVodId": "/a[contains(@class,'fed-list-pics')]/@href", + "cateVodIdR": "/voddetail/(\\S+).html", + "cateVodImg": "/a[contains(@class,'fed-list-pics')]/@data-original", + "cateVodMark": "//span[contains(@class,'fed-list-remarks')]/text()", + // 详情模块 ================================================ + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://www.dianyingn.com/voddetail/{vid}.html", + // 详情节点 + "dtNode": "//body", + // 视频名 + "dtName": "//dd[contains(@class,'fed-deta-content')]/h1/a/text()", + "dtNameR": "", + // 视频图片 + "dtImg": "//dt[contains(@class,'fed-deta-images')]/a/@data-original", + "dtImgR": "", + // 视频分类 + "dtCate": "concat(//span[contains(text(),'分类')]/following-sibling::*//text())", + "dtCateR": "", + "dtArea": "concat(//span[contains(text(),'地区')]/following-sibling::*//text())", + "dtAreaR": "", + // 视频状态 + "dtMark": "concat(//span[contains(text(),'更新')]/following-sibling::*//text())", + "dtMarkR": "", + // 主演 + "dtActor": "concat(//span[contains(text(),'主演')]/following-sibling::*//text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(),'导演')]/following-sibling::*//text())", + "dtDirectorR": "", + // 视频年份 + "dtYear": "concat(//span[contains(text(),'年份')]/following-sibling::*//text())", + // 视频简介 + "dtDesc": "//p[contains(@class,'fed-part-both')]/text()", + "dtDescR": "", + // 播放模块 ===================================================== + // 播放源节点 + "dtFromNode": "//ul[contains(@class,'fed-part-rows')]/li[contains(@class,'fed-drop-btns')]/a", + // 播放源名称 多个重名播放源 + // "dtFromName": "concat('播放来源',count(parent::*/preceding::*//div[contains(@class,'tabs')]/ul[@class='t-ul']) + 1)", + "dtFromName":"/text()", + // 二次处理正则 + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[contains(@class,'fed-play-item')]/ul[@class='fed-part-rows']", + // 播放地址节点 + "dtUrlSubNode": "/li/a", + // 播放地址 + "dtUrlId": "/@href", + // 二次处理正则 + "dtUrlIdR": "/vodplay/(\\S+).html", + // 剧集名称 + "dtUrlName": "/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "https://www.dianyingn.com/vodplay/{playUrl}.html", + // 解析webview的user-agent + "playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + // 搜索模块 ================================================ + // 搜索地址 + "searchUrl": "https://www.dianyingn.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "dianying": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "动作片", + "v": "dongzuopian" + }, + { + "n": "喜劇片", + "v": "xijupian" + }, + { + "n": "愛情片", + "v": "aiqingpian" + }, + { + "n": "科幻片", + "v": "kehuanpian" + }, + { + "n": "恐怖片", + "v": "kongbupian" + }, + { + "n": "劇情片", + "v": "juqingpian" + }, + { + "n": "戰爭片", + "v": "zhanzhengpian" + }, + { + "n": "动画片", + "v": "donghua" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "中国香港", + "v": "中国香港" + }, + { + "n": "中国台湾", + "v": "中国台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "马来西亚", + "v": "马来西亚" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "dianshiju": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陸劇", + "v": "guochanju" + }, + { + "n": "港台劇", + "v": "gangtaiju" + }, + { + "n": "日韓劇", + "v": "rihanju" + }, + { + "n": "欧美劇", + "v": "oumeiju" + }, + { + "n": "其他劇", + "v": "qitaju" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "zongyi": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "dongman": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/egg.json b/XPath/egg.json new file mode 100644 index 0000000..b77688c --- /dev/null +++ b/XPath/egg.json @@ -0,0 +1,43 @@ +{ + "ua": "", + "homeUrl": "https://www.dandanzan.cc", + "cateNode": "//div[@class='nav']/ul/li/a[@href!='/']", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/(\\S+)/", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'lists-thumb-top') and @id='slider']//div[@class='lists-content']/ul/li", + "homeVodName": "/h2/a/text()", + "homeVodId": "/h2/a/@href", + "homeVodIdR": "/(\\S+).html", + "homeVodImg": "/a/img/@src", + "homeVodMark": "/a/div[@class='note']/span/text()", + "cateUrl": "https://www.dandanzan.cc/{cateId}/", + "cateVodNode": "//div[@class='lists-content']/ul/li", + "cateVodName": "/h2/a/text()", + "cateVodId": "/h2/a/@href", + "cateVodIdR": "/(\\S+).html", + "cateVodImg": "/a/img/@src", + "cateVodMark": "/a/div[@class='note']/span/text()", + "dtUrl": "http://www.dandanzan.cc/{vid}.html", + "dtNode": "//header[@class='product-header']", + "dtName": "//h1[contains(@class,'product-title')]/text()", + "dtImg": "/img[1]/@src", + "dtCate": "/div[@class='product-excerpt' and contains(text(),'类型')]/span/a/text()", + "dtYear": "//h1[contains(@class,'product-title')]/span[1]/text()", + "dtYearR": "\\((\\S+)\\)", + "dtArea": "/div[@class='product-excerpt' and contains(text(),'地区')]/span/a/text()", + "dtActor": "/div[@class='product-excerpt' and contains(text(),'主演')]/span/a/text()", + "dtDirector": "/div[@class='product-excerpt' and contains(text(),'导演')]/span/a/text()", + "dtDesc": "/div[@class='product-excerpt' and contains(text(),'剧情简介')]/span/text()", + "dtFromNode": "/nil", + "dtUrlNode": "/nil", + "playUrl": "https://www.dandanzan.cc/url.php", + "searchUrl": "https://www.dandanzan.cc/so/{wd}-{wd}--.html", + "scVodNode": "//div[@class='lists-content']/ul/li", + "scVodName": "/h2/a/text()", + "scVodId": "/h2/a/@href", + "scVodIdR": "/(\\S+).html", + "scVodImg": "/a/img/@src", + "scVodMark": "/a/div[@class='note']/span/text()" +} \ No newline at end of file diff --git a/XPath/emsdn.json b/XPath/emsdn.json new file mode 100644 index 0000000..2195458 --- /dev/null +++ b/XPath/emsdn.json @@ -0,0 +1,63 @@ +{ + "ua": "", + "homeUrl": "https://v.emsdn.cn", + "cateNode": "//div[@class='l']/a[contains(@href, 'vod-type-id-')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "vod-type-id-(\\d+)-pg-1.html", + "cateManual": {}, + "homeVodNode": "//ul[@id='index_tt7_con']/li/a", + "homeVodName": "/@title", + "homeVodNameR": "", + "homeVodId": "/@href", + "homeVodIdR": "/vod-detail-id-(\\w+).html", + "homeVodImg": "/img/@src", + "homeVodImgR": "", + "homeVodMark": "", + "homeVodMarkR": "", + "cateUrl": "https://v.emsdn.cn/vod-type-id-{cateId}-pg-{catePg}.html", + "cateVodNode": "//ul[@class='list_01 list_01_03_02']/li/a[@class='b_a']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod-detail-id-(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/font/text()", + "dtUrl": "https://v.emsdn.cn/vod-detail-id-{vid}.html", + "dtNode": "//div[@class='g_box_02']", + "dtName": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='fen']/h1/text()", + "dtNameR": "", + "dtImg": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='lef']/img/@src", + "dtImgR": "", + "dtCate": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='lef-sort']/div[@class='d_z_y'][3]/font/a/text()", + "dtCateR": "", + "dtYear": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='lef-sort']/div[@class='d_z_y'][6]/font/a/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='lef-sort']/div[@class='d_z_y'][2]/font/a/text()", + "dtActorR": "", + "dtDirector": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='lef-sort']/div[@class='d_z_y'][1]/font/a/text()", + "dtDirectorR": "", + "dtDesc": "/div[@class='new-left']/div[@class='content_01 content_01_bg']/ul[@class='list_06']/div[@class='jjie']", + "dtDescR": "", + "dtFromNode": "//div[@class='block_ku clear']", + "dtFromName": "/div[@class='soybox']/h2/span/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='soyurl']", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://v.emsdn.cn/{playUrl}.html", + "playUa": "", + "searchUrl": "https://v.emsdn.cn/index.php?m=vod-search-wd-{wd}.html", + "scVodNode": "/ul[@class='list_01 list_01_03_02']/li/a[@class='b_a']", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vod-detail-id-(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/font/text()" +} \ No newline at end of file diff --git a/XPath/fantuan.json b/XPath/fantuan.json new file mode 100644 index 0000000..a0c2eb2 --- /dev/null +++ b/XPath/fantuan.json @@ -0,0 +1,389 @@ +{ + "url": "https://fantuan.tv", + "host": "fantuan.tv", + "regexCategory": "/vodtype/(\\w+).html", + "regexVid": "/voddetail/(\\w+).html", + "regexPlay": "/vodplay/(\\w+)-(\\d+)-(\\d+).html", + "regexPage": "/vodshow/\\S+/page/(\\d+).html", + "urlCategory": "/vodshow/|.html", + "urlDetail": "/voddetail/|.html", + "urlPlay": "/vodplay/|.html", + "urlSearch": "/vodsearch/-------------.html?wd=|&submit=", + "player": { + "xg_app_player": { "sh": "app全局解析", "pu": "", "sn": 0, "or": 999 }, + "ftqp2": { "sh": "饭团线路1", "pu": "", "sn": 0, "or": 999 }, + "ftqp3": { "sh": "饭团线路2", "pu": "", "sn": 0, "or": 999 }, + "ftqp4": { "sh": "饭团线路3", "pu": "", "sn": 0, "or": 999 }, + "ftqp5": { "sh": "饭团线路4", "pu": "", "sn": 0, "or": 999 }, + "ftqp6": { "sh": "饭团线路5", "pu": "", "sn": 0, "or": 999 }, + "ftqp7": { "sh": "饭团线路6", "pu": "", "sn": 0, "or": 999 }, + "ftqp8": { "sh": "饭团线路7", "pu": "", "sn": 0, "or": 999 }, + "ftqp9": { "sh": "饭团线路8", "pu": "", "sn": 0, "or": 999 }, + "fantuan2": { "sh": "饭团线路12", "pu": "", "sn": 0, "or": 999 }, + "fttx": { "sh": "饭团线路14", "pu": "", "sn": 0, "or": 999 }, + "ftqp": { "sh": "饭团线路16", "pu": "", "sn": 0, "or": 999 }, + "qiyi": { "sh": "备用线路→【1】", "pu": "", "sn": 0, "or": 999 }, + "youku": { "sh": "备用线路→【2】", "pu": "", "sn": 0, "or": 999 }, + "qq": { "sh": "备用线路→【3】", "pu": "", "sn": 0, "or": 999 }, + "mgtv": { "sh": "备用线路→【4】", "pu": "", "sn": 0, "or": 999 }, + "pptv": { "sh": "备用线路→【6】", "pu": "", "sn": 0, "or": 999 }, + "letv": { "sh": "备用线路→【7】", "pu": "", "sn": 0, "or": 999 }, + "sohu": { "sh": "备用线路→【8】", "pu": "", "sn": 0, "or": 999 }, + "bilibili": { "sh": "备用线路→【5】", "pu": "", "sn": 0, "or": 999 }, + "videojs": { "sh": "videojs-H5播放器", "pu": "", "sn": 0, "or": 999 }, + "dplayer": { "sh": "DPlayer-H5播放器", "pu": "", "sn": 0, "or": 999 }, + "iva": { "sh": "iva-H5播放器", "pu": "", "sn": 0, "or": 999 }, + "iframe": { "sh": "iframe外链数据", "pu": "", "sn": 0, "or": 999 }, + "link": { "sh": "外链数据", "pu": "top.", "sn": 0, "or": 999 }, + "swf": { "sh": "Flash文件", "pu": "", "sn": 0, "or": 999 }, + "flv": { "sh": "Flv文件", "pu": "", "sn": 0, "or": 999 } + }, + "filter": { + "1": [ + { + "key": "id", + "name": "类型", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" }, + { "n": "微电影", "v": "21" }, + { "n": "灾难片", "v": "22" }, + { "n": "其它", "v": "23" } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "动作", "v": "动作" }, + { "n": "枪战", "v": "枪战" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "动画", "v": "动画" }, + { "n": "家庭", "v": "家庭" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "魔幻", "v": "魔幻" }, + { "n": "科幻", "v": "科幻" }, + { "n": "战争", "v": "战争" }, + { "n": "青春", "v": "青春" }, + { "n": "剧情", "v": "剧情" }, + { "n": "西部", "v": "西部" }, + { "n": "伦理", "v": "伦理" }, + { "n": "纪录", "v": "纪录" }, + { "n": "音乐", "v": "音乐" }, + { "n": "歌舞", "v": "歌舞" }, + { "n": "运动", "v": "运动" }, + { "n": "历史", "v": "历史" }, + { "n": "武侠", "v": "武侠" }, + { "n": "冒险", "v": "冒险" }, + { "n": "传记", "v": "传记" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "香港", "v": "香港" }, + { "n": "美国", "v": "美国" }, + { "n": "欧洲", "v": "欧洲" }, + { "n": "韩国", "v": "韩国" }, + { "n": "日本", "v": "日本" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016-2011", "v": "2016-2011" }, + { "n": "2010-2000", "v": "2010-2000" }, + { "n": "1999-1990", "v": "1999-1990" }, + { "n": "1989-1980", "v": "1989-1980" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2": [ + { + "key": "id", + "name": "类型", + "value": [ + { "n": "全部", "v": "2" }, + { "n": "国产剧", "v": "13" }, + { "n": "港剧", "v": "14" }, + { "n": "韩剧", "v": "15" }, + { "n": "美剧", "v": "16" }, + { "n": "日剧", "v": "24" }, + { "n": "泰剧", "v": "25" }, + { "n": "台剧", "v": "26" }, + { "n": "英剧", "v": "27" }, + { "n": "其它", "v": "28" } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "古装", "v": "古装" }, + { "n": "言情", "v": "言情" }, + { "n": "武侠", "v": "武侠" }, + { "n": "偶像", "v": "偶像" }, + { "n": "家庭", "v": "家庭" }, + { "n": "青春", "v": "青春" }, + { "n": "都市", "v": "都市" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "战争", "v": "战争" }, + { "n": "军旅", "v": "军旅" }, + { "n": "谍战", "v": "谍战" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "罪案", "v": "罪案" }, + { "n": "穿越", "v": "穿越" }, + { "n": "宫廷", "v": "宫廷" }, + { "n": "历史", "v": "历史" }, + { "n": "神话", "v": "神话" }, + { "n": "科幻", "v": "科幻" }, + { "n": "年代", "v": "年代" }, + { "n": "农村", "v": "农村" }, + { "n": "商战", "v": "商战" }, + { "n": "剧情", "v": "剧情" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "网剧", "v": "网剧" }, + { "n": "真人动漫", "v": "真人动漫" }, + { "n": "体育电竞", "v": "体育电竞" }, + { "n": "竖短片", "v": "竖短片" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "香港", "v": "香港" }, + { "n": "韩国", "v": "韩国" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "泰国", "v": "泰国" }, + { "n": "台湾", "v": "台湾" }, + { "n": "英国", "v": "英国" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016-2011", "v": "2016-2011" }, + { "n": "2010-2000", "v": "2010-2000" }, + { "n": "1999-1990", "v": "1999-1990" }, + { "n": "1989-1980", "v": "1989-1980" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3": [ + { + "key": "id", + "name": "类型", + "value": [ + { "n": "全部", "v": "3" }, + { "n": "大陆综艺", "v": "29" }, + { "n": "台湾综艺", "v": "30" }, + { "n": "韩国综艺", "v": "31" }, + { "n": "日本综艺", "v": "32" }, + { "n": "欧美综艺", "v": "33" }, + { "n": "香港综艺", "v": "34" }, + { "n": "其它", "v": "40" } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "表演", "v": "表演" }, + { "n": "播报", "v": "播报" }, + { "n": "访谈", "v": "访谈" }, + { "n": "体验", "v": "体验" }, + { "n": "养成", "v": "养成" }, + { "n": "游戏", "v": "游戏" }, + { "n": "亲子", "v": "亲子" }, + { "n": "美食", "v": "美食" }, + { "n": "情感", "v": "情感" }, + { "n": "选秀", "v": "选秀" }, + { "n": "益智", "v": "益智" }, + { "n": "晚会", "v": "晚会" }, + { "n": "音乐", "v": "音乐" }, + { "n": "文化", "v": "文化" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "职场", "v": "职场" }, + { "n": "脱口秀", "v": "脱口秀" }, + { "n": "真人秀", "v": "真人秀" }, + { "n": "竞技", "v": "竞技" }, + { "n": "潮流文化", "v": "潮流文化" }, + { "n": "体育", "v": "体育" }, + { "n": "资讯", "v": "资讯" }, + { "n": "萌宠", "v": "萌宠" }, + { "n": "生活服务", "v": "生活服务" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "香港", "v": "香港" }, + { "n": "韩国", "v": "韩国" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "台湾", "v": "台湾" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016-2011", "v": "2016-2011" }, + { "n": "2010-2000", "v": "2010-2000" }, + { "n": "1999-1990", "v": "1999-1990" }, + { "n": "1989-1980", "v": "1989-1980" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "4": [ + { + "key": "class", + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "热门", "v": "热门" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "番剧", "v": "番剧" }, + { "n": "国创", "v": "国创" }, + { "n": "大电影", "v": "大电影" }, + { "n": "热血", "v": "热血" }, + { "n": "催泪", "v": "催泪" }, + { "n": "治愈", "v": "治愈" }, + { "n": "励志", "v": "励志" }, + { "n": "机战", "v": "机战" }, + { "n": "战斗", "v": "战斗" }, + { "n": "恋爱", "v": "恋爱" }, + { "n": "科幻", "v": "科幻" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "魔幻", "v": "魔幻" }, + { "n": "推理", "v": "推理" }, + { "n": "校园", "v": "校园" }, + { "n": "日常", "v": "日常" }, + { "n": "经典", "v": "经典" }, + { "n": "历史", "v": "历史" }, + { "n": "美食", "v": "美食" }, + { "n": "职场", "v": "职场" }, + { "n": "偶像", "v": "偶像" }, + { "n": "泡面", "v": "泡面" }, + { "n": "冒险", "v": "冒险" }, + { "n": "竞技", "v": "竞技" }, + { "n": "合家欢", "v": "合家欢" }, + { "n": "武侠", "v": "武侠" }, + { "n": "玄幻", "v": "玄幻" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016-2011", "v": "2016-2011" }, + { "n": "2010-2000", "v": "2010-2000" }, + { "n": "1999-1990", "v": "1999-1990" }, + { "n": "1989-1980", "v": "1989-1980" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] + } +} diff --git a/XPath/fantuan2.json b/XPath/fantuan2.json new file mode 100644 index 0000000..06dfcf5 --- /dev/null +++ b/XPath/fantuan2.json @@ -0,0 +1,60 @@ +{ + "ua": "", + "homeUrl": "https://fantuan.tv/", + "dcVipFlag": "true", + "pCfgJs": "https://fantuan.tv/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'nav-menu')]/li/a[contains(@href, 'vodtype')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='myui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://fantuan.tv/vodtype/{cateId}-{catePg}.html", + "cateVodNode": "//div[@class='myui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://fantuan.tv/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__detail']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@src", + "dtImgR": "", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtMark": "//span[contains(text(), '更新')]/following-sibling::a/text()", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::*/text()", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::*/text()", + "dtDesc": "//span[contains(@class, 'sketch content')]/text()", + "dtFromNode": "//ul[contains(@class,'nav-tabs')]/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://fantuan.tv/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://fantuan.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/fositv.json b/XPath/fositv.json new file mode 100644 index 0000000..e7700a8 --- /dev/null +++ b/XPath/fositv.json @@ -0,0 +1,63 @@ + +{ + "title": "聚合", + "author": "聚合", + "UserAgent": "Mozilla/5.0 (Linux; Android 12; M2102J2SC Build/SKQ1.211006.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.104 Mobile Safari/537.36", + "User": "User-Agent:Dart/2.14 (dart:io)", + "Host": "play.fositv.com", + "Referer": "WebView", + "cookie": "history=%5B%7B%22name%22%3A%22%E8%8B%8D%E5%85%B0%E8%AF%80%22%2C%22pic%22%3A%22https%3A%2F%2Fpic8.iqiyipic.com%2Fimage%2F20220804%2F64%2Fe6%2Fa_100447503_m_601_m4_579_772.jpg%22%2C%22link%22%3A%22%2Fvodplay%2F69414-1-2.html%22%2C%22part%22%3A%22%E7%AC%AC2%E9%9B%86%22%7D%2C%7B%22name%22%3A%22%E5%9B%9E%E5%BB%8A%E4%BA%AD%22%2C%22pic%22%3A%22https%3A%2F%2Fm.ykimg.com%2F0526000062A9712F13F7FF09501EDF1D%22%2C%22link%22%3A%22%2Fvodplay%2F9709-1-1.html%22%2C%22part%22%3A%22%E7%AC%AC1%E9%9B%86%22%7D%2C%7B%22name%22%3A%22%E5%8B%87%E8%80%85%E6%97%A0%E6%83%A7%22%2C%22pic%22%3A%22https%3A%2F%2Fm.ykimg.com%2F0526000063109ED21FD852097EF7151C%22%2C%22link%22%3A%22%2Fvodplay%2F70788-4-1.html%22%2C%22part%22%3A%22%E7%AC%AC01%E9%9B%86%22%7D%5D", + "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", + "firstpage": "1", + "homeContent": "1", + "class_url": "https://fositv.com/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", + "class_name": "电视剧&电影&动漫&综艺&纪录片", + "class_value": "2&1&4&3&5&", + "filterdata": "", + "cat_YN_twice": "0", + "cat_arr_pre": "class=\"myui-vodlist__thumb", + "cat_arr_suf": "", + "cat_pic": "data-original=\"&&\"", + "cat_title": "title=\"&&\"", + "cat_subtitle": "text-right\">&&", + "cat_url": "href=\"&&\"", + "cat_prefix": "https://fositv.com", + "cat_suffix": "", + "search_mode": "0", + "jsonpic": "pic", + "jsonname": "name", + "jsonid": "id", + "jsonstitle": "", + "force_play": "0", + "play_prefix": "", + "play_suffix": "", + "play_header": "", + "proj_actor": "主演:&&

    ", + "proj_plot": "&&", + "tab_YN_twice": "0", + "tab_twice_pre": "
      ", + "tab_twice_suf": "
    ", + "tab_arr_pre": "", + "tab_title": ">&&<", + "list_YN_twice": "0", + "list_twice_pre": "空", + "list_twice_suf": "空", + "list_arr_pre": "class=\"myui-content__list", + "list_arr_suf": "", + "epi_YN_twice": "0", + "epi_twice_pre": "空", + "epi_twice_suf": "空", + "epi_arr_pre": "", + "epi_title": ">&&<", + "epi_url": "href=\"&&\"", + "epiurl_prefix": "https://fositv.com", + "epiurl_suffix": "", + "Anal_MacPlayer":"0", + "ManualSniffer":"1", + //手动嗅探视频链接关键字,每个用#隔开 + "VideoFormat":".m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#item/video#is_play_url=1", + //手动嗅探视频链接过滤关键词,每个用#隔开 + "VideoFilter":".html#=http" +} diff --git a/XPath/gaze.json b/XPath/gaze.json new file mode 100644 index 0000000..8f5a4c2 --- /dev/null +++ b/XPath/gaze.json @@ -0,0 +1,912 @@ +{ + "ua": "", + "homeUrl": "https://gaze.run/", + + "homeVodNode": "//div[@id='portfolio']/div[contains(@class, 'container')]/div[contains(@class, 'row')][position() < 2]//div[@class='card']", + "homeVodName": "//h6[contains(@class, 'card-title')]/text()", + "homeVodId": "//a/@href", + "homeVodIdR": "play/(.+)", + "homeVodImg": "//img/@data-src", + "homeVodMark": "//div[contains(@class, 'badge-danger')]/text()", + + "cateManual": { + "电影": "1", + "电视剧": "2", + "番剧": "bangumi", + "国漫": "chinese_cartoon" + }, + + "cateUrl": "https://gaze.run/filter_movielist", + + "dtUrl": "https://gaze.run/play/{vid}", + "dtNode": "//head", + "dtName": "/meta[@property='og:title']/@content", + "dtImg": "/meta[@property='og:image']/@content", + "dtCate": "/meta[@property='og:type']/@content", + "dtArea": "/meta[@property='og:locale']/@content", + "dtDesc": "/meta[@property='og:description']/@content", + + "searchUrl": "https://gaze.run/filter_movielist", + "filter": { + "1": [ + { + "key": "tag_arr[]", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "all" + }, + { + "n": "剧情", + "v": "1" + }, + { + "n": "动作", + "v": "2" + }, + { + "n": "喜剧", + "v": "3" + }, + { + "n": "爱情", + "v": "4" + }, + { + "n": "科幻", + "v": "5" + }, + { + "n": "悬疑", + "v": "6" + }, + { + "n": "惊悚", + "v": "7" + }, + { + "n": "恐怖", + "v": "8" + }, + { + "n": "犯罪", + "v": "9" + }, + { + "n": "音乐", + "v": "10" + }, + { + "n": "冒险", + "v": "11" + }, + { + "n": "历史", + "v": "12" + }, + { + "n": "战争", + "v": "13" + }, + { + "n": "奇幻", + "v": "14" + }, + { + "n": "黑帮", + "v": "15" + }, + { + "n": "文艺", + "v": "16" + }, + { + "n": "传记", + "v": "17" + }, + { + "n": "运动", + "v": "18" + }, + { + "n": "同性", + "v": "19" + }, + { + "n": "情色", + "v": "20" + } + ] + }, + { + "key": "mcountry", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "all" + }, + { + "n": "中国大陆", + "v": "1" + }, + { + "n": "中国台湾", + "v": "2" + }, + { + "n": "中国香港", + "v": "3" + }, + { + "n": "韩国", + "v": "4" + }, + { + "n": "俄罗斯", + "v": "5" + }, + { + "n": "美国", + "v": "6" + }, + { + "n": "日本", + "v": "7" + }, + { + "n": "印度", + "v": "8" + }, + { + "n": "英国", + "v": "9" + }, + { + "n": "德国", + "v": "10" + }, + { + "n": "法国", + "v": "11" + }, + { + "n": "意大利", + "v": "12" + }, + { + "n": "泰国", + "v": "13" + }, + { + "n": "爱沙尼亚", + "v": "14" + }, + { + "n": "哈萨克斯坦", + "v": "15" + }, + { + "n": "西班牙", + "v": "16" + }, + { + "n": "黎巴嫩", + "v": "17" + }, + { + "n": "巴西", + "v": "18" + }, + { + "n": "澳大利亚", + "v": "19" + }, + { + "n": "丹麦", + "v": "20" + }, + { + "n": "瑞典", + "v": "21" + }, + { + "n": "以色列", + "v": "22" + }, + { + "n": "荷兰", + "v": "23" + }, + { + "n": "伊朗", + "v": "24" + }, + { + "n": "墨西哥", + "v": "25" + } + ] + }, + { + "key": "sort", + "name": "排序", + "value": [ + { + "n": "默认排序", + "v": "default" + }, + { + "n": "评分排序", + "v": "grade" + }, + { + "n": "名称排序", + "v": "name" + } + ] + } + ], + "2": [ + { + "key": "tag_arr[]", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "all" + }, + { + "n": "剧情", + "v": "1" + }, + { + "n": "动作", + "v": "2" + }, + { + "n": "喜剧", + "v": "3" + }, + { + "n": "爱情", + "v": "4" + }, + { + "n": "科幻", + "v": "5" + }, + { + "n": "悬疑", + "v": "6" + }, + { + "n": "惊悚", + "v": "7" + }, + { + "n": "恐怖", + "v": "8" + }, + { + "n": "犯罪", + "v": "9" + }, + { + "n": "音乐", + "v": "10" + }, + { + "n": "冒险", + "v": "11" + }, + { + "n": "历史", + "v": "12" + }, + { + "n": "战争", + "v": "13" + }, + { + "n": "奇幻", + "v": "14" + }, + { + "n": "黑帮", + "v": "15" + }, + { + "n": "文艺", + "v": "16" + }, + { + "n": "传记", + "v": "17" + }, + { + "n": "运动", + "v": "18" + }, + { + "n": "同性", + "v": "19" + }, + { + "n": "情色", + "v": "20" + } + ] + }, + { + "key": "mcountry", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "all" + }, + { + "n": "中国大陆", + "v": "1" + }, + { + "n": "中国台湾", + "v": "2" + }, + { + "n": "中国香港", + "v": "3" + }, + { + "n": "韩国", + "v": "4" + }, + { + "n": "俄罗斯", + "v": "5" + }, + { + "n": "美国", + "v": "6" + }, + { + "n": "日本", + "v": "7" + }, + { + "n": "印度", + "v": "8" + }, + { + "n": "英国", + "v": "9" + }, + { + "n": "德国", + "v": "10" + }, + { + "n": "法国", + "v": "11" + }, + { + "n": "意大利", + "v": "12" + }, + { + "n": "泰国", + "v": "13" + }, + { + "n": "爱沙尼亚", + "v": "14" + }, + { + "n": "哈萨克斯坦", + "v": "15" + }, + { + "n": "西班牙", + "v": "16" + }, + { + "n": "黎巴嫩", + "v": "17" + }, + { + "n": "巴西", + "v": "18" + }, + { + "n": "澳大利亚", + "v": "19" + }, + { + "n": "丹麦", + "v": "20" + }, + { + "n": "瑞典", + "v": "21" + }, + { + "n": "以色列", + "v": "22" + }, + { + "n": "荷兰", + "v": "23" + }, + { + "n": "伊朗", + "v": "24" + }, + { + "n": "墨西哥", + "v": "25" + } + ] + }, + { + "key": "sort", + "name": "排序", + "value": [ + { + "n": "默认排序", + "v": "default" + }, + { + "n": "评分排序", + "v": "grade" + }, + { + "n": "名称排序", + "v": "name" + } + ] + } + ], + "bangumi": [ + { + "key": "tag_arr[]", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "all" + }, + { + "n": "剧情", + "v": "1" + }, + { + "n": "动作", + "v": "2" + }, + { + "n": "喜剧", + "v": "3" + }, + { + "n": "爱情", + "v": "4" + }, + { + "n": "科幻", + "v": "5" + }, + { + "n": "悬疑", + "v": "6" + }, + { + "n": "惊悚", + "v": "7" + }, + { + "n": "恐怖", + "v": "8" + }, + { + "n": "犯罪", + "v": "9" + }, + { + "n": "音乐", + "v": "10" + }, + { + "n": "冒险", + "v": "11" + }, + { + "n": "历史", + "v": "12" + }, + { + "n": "战争", + "v": "13" + }, + { + "n": "奇幻", + "v": "14" + }, + { + "n": "黑帮", + "v": "15" + }, + { + "n": "文艺", + "v": "16" + }, + { + "n": "传记", + "v": "17" + }, + { + "n": "运动", + "v": "18" + }, + { + "n": "同性", + "v": "19" + }, + { + "n": "情色", + "v": "20" + } + ] + }, + { + "key": "mcountry", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "all" + }, + { + "n": "中国大陆", + "v": "1" + }, + { + "n": "中国台湾", + "v": "2" + }, + { + "n": "中国香港", + "v": "3" + }, + { + "n": "韩国", + "v": "4" + }, + { + "n": "俄罗斯", + "v": "5" + }, + { + "n": "美国", + "v": "6" + }, + { + "n": "日本", + "v": "7" + }, + { + "n": "印度", + "v": "8" + }, + { + "n": "英国", + "v": "9" + }, + { + "n": "德国", + "v": "10" + }, + { + "n": "法国", + "v": "11" + }, + { + "n": "意大利", + "v": "12" + }, + { + "n": "泰国", + "v": "13" + }, + { + "n": "爱沙尼亚", + "v": "14" + }, + { + "n": "哈萨克斯坦", + "v": "15" + }, + { + "n": "西班牙", + "v": "16" + }, + { + "n": "黎巴嫩", + "v": "17" + }, + { + "n": "巴西", + "v": "18" + }, + { + "n": "澳大利亚", + "v": "19" + }, + { + "n": "丹麦", + "v": "20" + }, + { + "n": "瑞典", + "v": "21" + }, + { + "n": "以色列", + "v": "22" + }, + { + "n": "荷兰", + "v": "23" + }, + { + "n": "伊朗", + "v": "24" + }, + { + "n": "墨西哥", + "v": "25" + } + ] + }, + { + "key": "sort", + "name": "排序", + "value": [ + { + "n": "默认排序", + "v": "default" + }, + { + "n": "评分排序", + "v": "grade" + }, + { + "n": "名称排序", + "v": "name" + } + ] + } + ], + "chinese_cartoon": [ + { + "key": "tag_arr[]", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "all" + }, + { + "n": "剧情", + "v": "1" + }, + { + "n": "动作", + "v": "2" + }, + { + "n": "喜剧", + "v": "3" + }, + { + "n": "爱情", + "v": "4" + }, + { + "n": "科幻", + "v": "5" + }, + { + "n": "悬疑", + "v": "6" + }, + { + "n": "惊悚", + "v": "7" + }, + { + "n": "恐怖", + "v": "8" + }, + { + "n": "犯罪", + "v": "9" + }, + { + "n": "音乐", + "v": "10" + }, + { + "n": "冒险", + "v": "11" + }, + { + "n": "历史", + "v": "12" + }, + { + "n": "战争", + "v": "13" + }, + { + "n": "奇幻", + "v": "14" + }, + { + "n": "黑帮", + "v": "15" + }, + { + "n": "文艺", + "v": "16" + }, + { + "n": "传记", + "v": "17" + }, + { + "n": "运动", + "v": "18" + }, + { + "n": "同性", + "v": "19" + }, + { + "n": "情色", + "v": "20" + } + ] + }, + { + "key": "mcountry", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "all" + }, + { + "n": "中国大陆", + "v": "1" + }, + { + "n": "中国台湾", + "v": "2" + }, + { + "n": "中国香港", + "v": "3" + }, + { + "n": "韩国", + "v": "4" + }, + { + "n": "俄罗斯", + "v": "5" + }, + { + "n": "美国", + "v": "6" + }, + { + "n": "日本", + "v": "7" + }, + { + "n": "印度", + "v": "8" + }, + { + "n": "英国", + "v": "9" + }, + { + "n": "德国", + "v": "10" + }, + { + "n": "法国", + "v": "11" + }, + { + "n": "意大利", + "v": "12" + }, + { + "n": "泰国", + "v": "13" + }, + { + "n": "爱沙尼亚", + "v": "14" + }, + { + "n": "哈萨克斯坦", + "v": "15" + }, + { + "n": "西班牙", + "v": "16" + }, + { + "n": "黎巴嫩", + "v": "17" + }, + { + "n": "巴西", + "v": "18" + }, + { + "n": "澳大利亚", + "v": "19" + }, + { + "n": "丹麦", + "v": "20" + }, + { + "n": "瑞典", + "v": "21" + }, + { + "n": "以色列", + "v": "22" + }, + { + "n": "荷兰", + "v": "23" + }, + { + "n": "伊朗", + "v": "24" + }, + { + "n": "墨西哥", + "v": "25" + } + ] + }, + { + "key": "sort", + "name": "排序", + "value": [ + { + "n": "默认排序", + "v": "default" + }, + { + "n": "评分排序", + "v": "grade" + }, + { + "n": "名称排序", + "v": "name" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/gb4k磁力.json b/XPath/gb4k磁力.json new file mode 100644 index 0000000..7e1dfcd --- /dev/null +++ b/XPath/gb4k磁力.json @@ -0,0 +1,98 @@ +{ + "ua": "", + // 首页地址 用于获取 分类和首页推荐 + "homeUrl": "https://www.grab4k.com", + // 分类节点 + "cateNode": "//div[@class='nav']//a[contains(@href,'/vod/')]", + // 分类名 + "cateName": "/@title", + // 分类id + "cateId": "/@href", + // 分类id二次处理正则 + "cateIdR": "/vod/show/id/(\\S+).html", + // 手动设置分类,如果手动设置了分类则不使用上面的分类xpath获取分类 例如 "cateManual": {"电影": "1", "电视剧": "2"}, + "cateManual": {}, + // 首页推荐视频的节点 + "cateVodNode": "//div[@class='module-item-pic']", + "homeVodName": "/a/@title", + "homeVodNameR": "", + "homeVodId": "/a/@href", + "homeVodIdR": "/down/(\\S+).html", + "homeVodImg": "/img/@data-src", + "homeVodImgR": "", + "homeVodMark": "/parent::*//span[contains(text(),'豆瓣')]/text()", + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "https://www.grab4k.com/vod/show/id/{cateId}/page/{catePg}.html", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//div[@class='module-item-pic']", + "cateVodName": "/a/@title", + "cateVodNameR": "", + "cateVodId": "/a/@href", + "cateVodIdR": "/down/(\\S+).html", + "cateVodImg": "/img/@data-src", + "cateVodImgR": "", + "cateVodMark": "/parent::*//span[contains(text(),'豆瓣')]/text()", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://www.grab4k.com/down/{vid}.html", + // 详情节点 + "dtNode": "//main[@id='main']", + // 视频名 + "dtName": "//img[@alt]/@alt", + "dtNameR": "", + // 视频图片 + "dtImg": "//img[@alt]/@data-src", + "dtImgR": "", + // 视频分类 + "dtCate": "//div[@class='video-info-aux scroll-content']/a[1]/text()", + "dtCateR": "", + // 视频年份 + "dtYear": "//div[@class='video-info-aux scroll-content']/a[2]/text()", + "dtYearR": "", + // 视频地区 + "dtArea": "//div[contains(@class,'video-info-aux')]/a[3]/text()", + "dtAreaR": "", + // 视频状态 + "dtMark": "//span[contains(text(),'更新')]/following-sibling::*//text()", + "dtMarkR": "", + // 主演 + "dtActor": "concat(//span[contains(text(),'主演')]/following-sibling::*//text())", + "dtActorR": "", + // 导演 + "dtDirector": "concat(//span[contains(text(),'导演')]/following-sibling::*//text())", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "//div[contains(@class,'video-info-content')]/span/text()", + "dtDescR": "", + // 播放源节点 + "dtFromNode": "//div[@id='download-list']", + // 播放源名称 + "dtFromName": "//h2/text()", + // 二次处理正则 + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[@class='module-row-one']", + // 播放地址节点 + "dtUrlSubNode": "/div[last()]/a/div[@class='module-row-title']", + // 播放地址 + "dtUrlId": "/p/text()", + // 二次处理正则 + "dtUrlIdR": "(\\S+)&\\S+", + // 剧集名称 + "dtUrlName": "/h4/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "{playUrl}", + // 解析webview的user-agent + "playUa": "", + // 搜索地址 + "searchUrl": "https://www.grab4k.com/vod/search.html?wd={wd}", + "scVodNode": "//div[@class='module-item-pic']", + "scVodName": "/a/@title", + "scVodNameR": "", + "scVodId": "/a/@href", + "scVodIdR": "/down/(\\S+).html", + "scVodImg": "/img/@data-src", + "scVodImgR": "", + "scVodMark": "/parent::*//span[contains(text(),'豆瓣')]/text()" +} \ No newline at end of file diff --git a/XPath/gongren.json b/XPath/gongren.json new file mode 100644 index 0000000..55721d4 --- /dev/null +++ b/XPath/gongren.json @@ -0,0 +1,90 @@ +{ + "author": "春风", + "ua": "Mozilla/5.0 (Linux; Android 10; LYA-AL00; HMSCore 6.4.0.312; GMSCore 20.15.16) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.4.300 Mobile Safari/537.36", + "homeUrl": "https://v.xiangdao.me", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "综艺": "3" + + }, + "homeVodNode": "//section/section[position()>2]//ul[@class='resize_list']/li/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\S+).html", + "homeVodImg": "//@data-echo", + "homeVodImgR": "", + "homeVodMark": "/div/span[2]/span/text()", + "cateUrl": "https://v.xiangdao.me/index.php?m=vod-list-id-{cateId}-pg-{catePg}.html", + "cateVodNode": "//ul[@class='resize_list']/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\S+).html", + "cateVodImg": "//@data-echo", + "cateVodImgR": "", + "cateVodMark": "/div/span[2]/span/em/text()", + "dtUrl": "https://v.xiangdao.me/{vid}.html", + "dtNode": "//body", + "dtName": "//section[@class='page-hd']/a/@title", + "dtNameR": "", + "dtImg": "//section[@class='page-hd']/a/img/@src", + "dtImgR": "", + "dtCate": "", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年代')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//article[@class='detail-con']/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='hd']/ul/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='numList']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://v.xiangdao.me/{playUrl}.html", + "playUa": "", + "searchUrl": "https://v.xiangdao.me/index.php?m=vod-search&wd={wd}", + "scVodNode": "//ul[@class='ulPicTxt clearfix']/li", + "scVodName": "//span[@class='sTit']/text()", + "scVodId": "//span[@class='sBtn']/a/@href", + "scVodIdR": "/(\\S+).html", + "scVodImg": "//img/@data-src", + "scVodMark": "//span[@class='sDes'][2]/text()", + "filter":{ +"1": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"1"},{"n":"动作片","v":"5"},{"n":"喜剧片","v":"6"},{"n":"爱情片","v":"7"},{"n":"科幻片","v":"8"},{"n":"恐怖片","v":"9"},{"n":"剧情片","v":"10"},{"n":"战争片","v":"11"},{"n":"惊悚片","v":"16"},{"n":"奇幻片","v":"17"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"2": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"12"},{"n":"港台剧","v":"13"},{"n":"日韩剧","v":"14"},{"n":"欧美剧","v":"15"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"3": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"3"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"4": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"4"},{"n":"动漫剧","v":"18"},{"n":"动漫片","v":"19"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +] +}} \ No newline at end of file diff --git a/XPath/gongreng.json b/XPath/gongreng.json new file mode 100644 index 0000000..a216fce --- /dev/null +++ b/XPath/gongreng.json @@ -0,0 +1,90 @@ +{ + "author": "春风", + "ua": "Mozilla/5.0 (Linux; Android 10; LYA-AL00; HMSCore 6.4.0.312; GMSCore 20.15.16) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.4.300 Mobile Safari/537.36", + "homeUrl": "https://v.xiangdao.me", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "综艺": "3" + + }, + "homeVodNode": "//section/section[position()>2]//ul[@class='resize_list']/li/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\S+).html", + "homeVodImg": "//@data-echo", + "homeVodImgR": "", + "homeVodMark": "/div/span[2]/span/text()", + "cateUrl": "https://v.xiangdao.me/index.php?m=vod-list-id-{cateId}-pg-{catePg}.html", + "cateVodNode": "//ul[@class='resize_list']/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\S+).html", + "cateVodImg": "//@data-echo", + "cateVodImgR": "", + "cateVodMark": "/div/span[2]/span/em/text()", + "dtUrl": "https://v.xiangdao.me/{vid}.html", + "dtNode": "//body", + "dtName": "//section[@class='page-hd']/a/@title", + "dtNameR": "", + "dtImg": "//section[@class='page-hd']/a/img/@src", + "dtImgR": "", + "dtCate": "", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年代')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//article[@class='detail-con']/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='hd']/ul/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='numList']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://v.xiangdao.me/{playUrl}.html", + "playUa": "", + "searchUrl": "https://v.xiangdao.me/index.php?m=vod-search&wd={wd}", + "scVodNode": "//ul[@class='ulPicTxt clearfix']/li", + "scVodName": "//span[@class='sTit']/text()", + "scVodId": "//span[@class='sBtn']/a/@href", + "scVodIdR": "/(\\S+).html", + "scVodImg": "//img/@data-src", + "scVodMark": "//span[@class='sDes'][2]/text()", + "filter":{ +"1": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"1"},{"n":"动作片","v":"5"},{"n":"喜剧片","v":"6"},{"n":"爱情片","v":"7"},{"n":"科幻片","v":"8"},{"n":"恐怖片","v":"9"},{"n":"剧情片","v":"10"},{"n":"战争片","v":"11"},{"n":"惊悚片","v":"16"},{"n":"奇幻片","v":"17"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"2": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"12"},{"n":"港台剧","v":"13"},{"n":"日韩剧","v":"14"},{"n":"欧美剧","v":"15"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"3": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"3"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"4": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"4"},{"n":"动漫剧","v":"18"},{"n":"动漫片","v":"19"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +] +}} diff --git a/XPath/haiyingku.json b/XPath/haiyingku.json new file mode 100644 index 0000000..93d24f7 --- /dev/null +++ b/XPath/haiyingku.json @@ -0,0 +1,62 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.hyingku.com/", + "cateNode": "//ul[contains(@class,'navbar-nav')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + "cateName": "/text()", + "cateNameR": "热门(.+)", + "cateId": "/@href", + "cateIdR": "/type/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='col-md-12 movie-item-out']//a[not(contains(@href, '6'))]/parent::*/parent::*/parent::*/div[contains(@class, 'movie-item-out') and position()<10]/div[@class='movie-item']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/img/@src", + "homeVodMark": "/button/text()", + "cateUrl": "https://www.hyingku.com//type/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='movie-item']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/button/text()", + "dtUrl": "https://www.hyingku.com//show/{vid}.html", + "dtNode": "//div[@class='container-fluid']", + "dtName": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@src", + "dtImgR": "", + "dtCate": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '类型')]/parent::*/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '日期')]/parent::*/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '国家')]/parent::*/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '状态')]/parent::*/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '主演')]/parent::*/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '导演')]/parent::*/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//p[@class='summary']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'resource-list')]/div[@class='panel-heading']/strong", + "dtFromName": "/text()", + "dtFromNameR": "\\S+\\.(\\S+) \\(", + "dtUrlNode": "//div[contains(@class,'resource-list')]/ul[@class='dslist-group']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.hyingku.com//play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.40mdd.com/search?wd={wd}", + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} \ No newline at end of file diff --git a/XPath/hancheng.json b/XPath/hancheng.json new file mode 100644 index 0000000..8b56ff6 --- /dev/null +++ b/XPath/hancheng.json @@ -0,0 +1,322 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "http://hancheng.tv/", + "dcVipFlag": "true", + "pCfgJs": "http://hancheng.tv/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'xiaoyinqing')]/a[contains(@href, 'type') and not(contains(@href,'26') or contains(@href,'27'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/type/id/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'public')]/div/div[contains(@class,'pack-ykpack')]", + "homeVodName": "//div[contains(@class,'pack-title')]/a/text()", + "homeVodId": "//div[contains(@class,'pack-title')]/a/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "homeVodImg": "//div[@class='ec-jabj eclazy']/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[@class='pack-prb']/span/text()", + "cateUrl": "http://hancheng.tv/index.php/vod/show/id/{cateId}/area/{area}/page/{catePg}/year/{year}/by/{by}.html", + "cateVodNode": "//div[contains(@class,'pack-ykpack')]", + "cateVodName": "//a[contains(@class,'channelname')]/text()", + "cateVodId": "//a[contains(@class,'channelname')]/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "cateVodImg": "//div[@class='ec-jabj eclazy']/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[@class='pack-prb']/span/text()", + "dtUrl": "http://hancheng.tv/index.php/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'s-top-info')]/h1/text()", + "dtNameR": "", + "dtImg": "//div[contains(@class,'s-cover')]/a/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[contains(text(), '类型')]/a/text()", + "dtCateR": "", + "dtYear": "//p[contains(text(), '年代')]/a/text()", + "dtYearR": "", + "dtArea": "//p[contains(text(), '地区')]/a/text()", + "dtAreaR": "", + "dtMark": "//p[contains(text(), '更新')]/text()", + "dtMarkR": "", + "dtActor": "//p[contains(text(), '演员')]/*/text()", + "dtActorR": "", + "dtDirector": "//p[contains(text(), '导演')]/*/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(@class,'desc_txt')]/span/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'swiper-wrapper')]/a", + "dtFromName": "/@alt", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='playlist_notfull']", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://hancheng.tv/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + "searchUrl": "http://hancheng.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "20": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"}, + {"n": "新马泰","v": "新马泰"}, + {"n": "其它","v": "其它"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014-2011","v": "2014-2011"}, + {"n": "2010-2000","v": "2010-2000"}, + {"n": "90年代80年代更早","v": "90年代80年代更早"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "21": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"}, + {"n": "新马泰","v": "新马泰"}, + {"n": "其它","v": "其它"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014-2011","v": "2014-2011"}, + {"n": "2010-2000","v": "2010-2000"}, + {"n": "90年代80年代更早","v": "90年代80年代更早"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "22": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"}, + {"n": "新马泰","v": "新马泰"}, + {"n": "其它","v": "其它"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014-2011","v": "2014-2011"}, + {"n": "2010-2000","v": "2010-2000"}, + {"n": "90年代80年代更早","v": "90年代80年代更早"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "23": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"}, + {"n": "新马泰","v": "新马泰"}, + {"n": "其它","v": "其它"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014-2011","v": "2014-2011"}, + {"n": "2010-2000","v": "2010-2000"}, + {"n": "90年代80年代更早","v": "90年代80年代更早"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "24": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"}, + {"n": "新马泰","v": "新马泰"}, + {"n": "其它","v": "其它"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014-2011","v": "2014-2011"}, + {"n": "2010-2000","v": "2010-2000"}, + {"n": "90年代80年代更早","v": "90年代80年代更早"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "25": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"}, + {"n": "新马泰","v": "新马泰"}, + {"n": "其它","v": "其它"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014-2011","v": "2014-2011"}, + {"n": "2010-2000","v": "2010-2000"}, + {"n": "90年代80年代更早","v": "90年代80年代更早"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/hdmoli.json b/XPath/hdmoli.json new file mode 100644 index 0000000..a8f4ccd --- /dev/null +++ b/XPath/hdmoli.json @@ -0,0 +1,466 @@ +{ + "ua": "", + "homeUrl": "https://www.hdmoli.com/", + + "homeVodNode": "//body/div[@class='container']//div[@class='myui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(.+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[contains(@class, 'pic-text')]/text()", + + "cateManual": { + "电影": "1", + "电视剧": "2" + }, + + "cateUrl": "https://www.hdmoli.com/search.php?page={catePg}&searchtype=5&order={by}&tid={cateId}&area={area}&year={year}&letter=&yuyan=&state=&money=&ver=&jq=", + "cateVodNode": "//body/div[@class='container']//div[@class='myui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(.+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[contains(@class, 'pic-text')]/text()", + + "dtUrl": "https://www.hdmoli.com/{vid}.html", + "dtNode": "//div[contains(@class,'myui-content__detail')]", + "dtName": "/h1/text()", + "dtImg": "//div[@class='thumb-div']/img/@src", + "dtCate": "/p/span[contains(text(), '分类')]/following-sibling::text()/text()", + "dtYear": "/p/span[contains(text(), '年份')]/following-sibling::text()/text()", + "dtArea": "/p/span[contains(text(), '地区')]/following-sibling::text()/text()", + "dtMark": "/p/span[contains(text(), '更新')]/following-sibling::text()/text()", + "dtDirector": "/p/span[contains(text(), '导演')]/following-sibling::text()/text()", + "dtActor": "/p/span[contains(text(), '演员')]/following-sibling::a/text()/text()", + "dtDesc": "//span[@class='desc text-collapse hidden-xs']/text()", + + "dtFromNode": "//h3[contains(text(), '播放地址')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@id='playlist1']//ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/(.+)", + "dtUrlName": "/@title", + "dtUrlNameR": "", + "playUrl": "", + "playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36", + + "searchUrl": "https://www.hdmoli.com/search.php?searchword={wd}", + "scVodNode": "//div[@class='container min']/ul[contains(@class, 'myui-vodlist__media')]/li", + "scVodName": "//a/@title", + "scVodId": "//a/@href", + "scVodIdR": "/(.+).html", + "scVodImg": "//a/@data-original", + "scVodMark": "//a/span[contains(@class, 'pic-text')]/text()", + "filter": { + "1": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "1" + }, + { + "n": "动作", + "v": "5" + }, + { + "n": "爱情", + "v": "6" + }, + { + "n": "科幻", + "v": "7" + }, + { + "n": "恐怖", + "v": "8" + }, + { + "n": "战争", + "v": "9" + }, + { + "n": "喜剧", + "v": "10" + }, + { + "n": "纪录", + "v": "11" + }, + { + "n": "剧情", + "v": "12" + }, + { + "n": "犯罪", + "v": "30" + }, + { + "n": "动画", + "v": "32" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "中国", + "v": "中国" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "更早", + "v": "1__2001" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "time" + }, + { + "n": "评分", + "v": "douban" + } + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "2" + }, + { + "n": "美剧", + "v": "15" + }, + { + "n": "韩剧", + "v": "16" + }, + { + "n": "日剧", + "v": "13" + }, + { + "n": "英剧", + "v": "34" + }, + { + "n": "中国", + "v": "14" + }, + { + "n": "泰国", + "v": "29" + }, + { + "n": "动画", + "v": "33" + }, + { + "n": "综艺", + "v": "39" + }, + { + "n": "其他", + "v": "38" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "中国", + "v": "中国" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "更早", + "v": "1__2001" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "time" + }, + { + "n": "评分", + "v": "douban" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/huaherobot.json b/XPath/huaherobot.json new file mode 100644 index 0000000..cc809f8 --- /dev/null +++ b/XPath/huaherobot.json @@ -0,0 +1,95 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "http://www.huaherobot.com", + "dcVipFlag": "true", + "pCfgJs": "http://www.huaherobot.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "综艺": "3" + }, + "homeVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/xvideo/(\\w+)/", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + // "cateUrl": "http://www.huaherobot.com/mtype/{cateId}-{catePg}", + "cateUrl": "http://www.huaherobot.com/vs/{cateId}-{area}-{by}-{catelog}-----{catePg}---{year}/", + "cateVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/xvideo/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "http://www.huaherobot.com/xvideo/{vid}/", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/parent::text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/parent::text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//div[@class='stui-pannel__head clearfix']/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='stui-content__playlist clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.huaherobot.com/{playUrl}", + "playUa": "", + "searchUrl": "http://www.huaherobot.com/vsearch/-------------/?wd={wd}&submit=", + "scVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/xvideo/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()", + "filter": { +"1": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"1"},{"n":"动作片","v":"5"},{"n":"喜剧片","v":"6"},{"n":"爱情片","v":"7"},{"n":"科幻片","v":"8"},{"n":"恐怖片","v":"9"},{"n":"剧情片","v":"10"},{"n":"战争片","v":"11"},{"n":"惊悚片","v":"16"},{"n":"奇幻片","v":"17"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"2": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"12"},{"n":"港台剧","v":"13"},{"n":"日韩剧","v":"14"},{"n":"欧美剧","v":"15"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"3": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"3"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"4": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"4"},{"n":"动漫剧","v":"18"},{"n":"动漫片","v":"19"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +] +}} + + diff --git a/XPath/huigutongying.json b/XPath/huigutongying.json new file mode 100644 index 0000000..dc5bea6 --- /dev/null +++ b/XPath/huigutongying.json @@ -0,0 +1,66 @@ +{ + "ua": "", + "homeUrl": "http://m.huigutongying.cn", + "cateNode": "//ul[contains(@class,'tag tag-type')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/lists/(\\w+).html", + "cateManual": { + "电影": "1", + "电视剧": "2", + "综艺": "4", + "动漫": "3" + }, + "homeVodNode": "//div[contains(@class,'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/view/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(https\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://m.huigutongying.cn/list/{cateId}_{catePg}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/view/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://m.huigutongying.cn/view/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='stui-content__thumb']/a[contains(@class,'stui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a[contains(@class,'stui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtCateR": "//span[text-muted hidden-xs(text(), '年份')]/following-sibling::/ptext()", + "dtYearR": "", + "dtArea": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted hidden-xs') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'down')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'down')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://m.huigutongying.cn/play/{playUrl}.html", + "playUa": "Mozilla/5.0(Linux;Android 11;M2102K1AC Build/RKQ1.201112.002;wv)AppleWebKit/537.36(KHTML,like Gecko)Version/4.0Chrome/76.0.3809.89Mobile Safari/537.36T7/12.16SearchCraft/3.9.1(Baidu;P1 11)", + "searchUrl": "http://m.huigutongying.cn/search.php?searchword=wd;post;utf-8", + "scVodNode": "json:lists", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/huohuo99.json b/XPath/huohuo99.json new file mode 100644 index 0000000..4220410 --- /dev/null +++ b/XPath/huohuo99.json @@ -0,0 +1,48 @@ +{ + "ua": "", + "homeUrl": "https://www.huohuo99.com/", + //"dcVipFlag": "true", + //"pCfgJs": "/static/js/playerconfig.js", + //"pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + //"dcShow2Vip": {}, + //"dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "电视剧": "2", + "动漫": "4", + "综艺": "3", + "纪录片": "5" + }, + "homeVodNode": "//ul[contains(@class, 'hl-vod-list clearfix')]/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/voddetail/(\\S+).html", + "homeVodImg": "/a/@data-original", + "homeVodMark": "", + "cateUrl": "https://www.huohuo99.com/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//ul[contains(@class, 'hl-vod-list clearfix')]/li", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/voddetail/(\\S+).html", + "cateVodImg": "/a/@data-original", + "cateVodMark": "", + "dtUrl": "https://www.huohuo99.com/voddetail/{vid}.html", + "dtNode": "//div[contains(@class,'hl-detail-content hl-marg-right50 clearfix')]/div[1]", + "dtName": "/span/@title", + "dtImg": "/span/@data-original", + "dtFromNode": "//div[contains(@class,'hl-plays-from hl-tabs swiper-wrapper clearfix')]", + "dtFromName": "//a[@href='javascript:void(0);' and contains(@class, 'hl-tabs-btn hl-slide-swiper')]/@alt", + "dtUrlNode": "//ul[contains(@class,'hl-plays-list hl-sort-list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "https://www.huohuo99.com/vodplay/{playUrl}.html", + "searchUrl": "/index.php/ajax/suggest?mid=1&wd={wd}", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/huya.json b/XPath/huya.json new file mode 100644 index 0000000..9ef1f29 --- /dev/null +++ b/XPath/huya.json @@ -0,0 +1,51 @@ +{ + "author": "baddychen", + "ua": "", + "homeUrl": "https://www.huya.com/g/", + "cateNode": "//ul[@class='game-list clearfix']/li/a", + "cateName": "/p/text()", + "cateId": "/@href", + "cateIdR": "https://www.huya.com/g/(\\S+)", + "cateManual": {}, + "homeVodNode": "//ul[@class='live-list clearfix']/li", + "homeVodName": "/a[contains(@class,'title')]/text()", + "homeVodId": "/a[contains(@class,'video-info')]/@href", + "homeVodIdR": "https://www.huya.com/(\\w+)", + "homeVodImg": "/a[contains(@class,'video-info')]/img/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "concat(/a[contains(@class,'video-info')]/em/text(),'-',/a[contains(@class,'video-info')]/p/em/text(),'-','g2.pub')", + "cateUrl": "https://www.huya.com/g/{cateId}?page={catePg}", + "cateVodNode": "//ul[@class='live-list clearfix']/li", + "cateVodName": "/a[contains(@class,'title')]/text()", + "cateVodId": "/a[contains(@class,'video-info')]/@href", + "cateVodIdR": "https://www.huya.com/(\\w+)", + "cateVodImg": "/a[contains(@class,'video-info')]/img/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "concat(/a[contains(@class,'video-info')]/em/text(),'-',/a[contains(@class,'video-info')]/p/em/text(),'-','g2.pub')", + "dtUrl": "https://www.huya.com/{vid}", + "dtNode": "//body", + "dtName": "//div[@class='host-info']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='host-pic']/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[@class='host-channel']/a[2]/text()", + "dtArea": "//span[@class='host-channel']/a[1]/text()", + "dtFromNode": "//h3[@class='host-name']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='sidebar-icon-list']", + "dtUrlSubNode": "/li[contains(@class,'allLive')]/a", + "dtUrlId": "@eid_desc", + "dtUrlIdR": "\\S+/(\\S+)", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://hd.huya.com/h5/liveshare/index.html?type=middlepage&rso=wap-live-share&lp={playUrl}", + "playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + "searchUrl": "https://www.huya.com/search?hsk={wd}", + "scVodNode": "//ul[@class='js-live-list']/li", + "scVodName": "/a[@class='title new-clickstat']/@title", + "scVodId": "/a[@class='title new-clickstat']/@href", + "scVodIdR": "https://www.huya.com/(\\w+)", + "scVodImg": "/a[@class='video-info new-clickstat']/img/@src", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/huya2.json b/XPath/huya2.json new file mode 100644 index 0000000..d350fa5 --- /dev/null +++ b/XPath/huya2.json @@ -0,0 +1,51 @@ +{ + "author": "baddychen", + "ua": "", + "homeUrl": "https://www.huya.com/g/", + "cateNode": "//ul[@class='game-list clearfix']/li/a", + "cateName": "/p/text()", + "cateId": "/@href", + "cateIdR": "https://www.huya.com/g/(\\S+)", + "cateManual": {}, + "homeVodNode": "//ul[@class='live-list clearfix']/li", + "homeVodName": "/a[contains(@class,'title')]/text()", + "homeVodId": "/a[contains(@class,'video-info')]/@href", + "homeVodIdR": "https://www.huya.com/(\\w+)", + "homeVodImg": "/a[contains(@class,'video-info')]/img/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "concat(/a[contains(@class,'video-info')]/em/text(),'-',/a[contains(@class,'video-info')]/p/em/text(),'-','猫群首发751165954')", + "cateUrl": "https://www.huya.com/g/{cateId}?page={catePg}", + "cateVodNode": "//ul[@class='live-list clearfix']/li", + "cateVodName": "/a[contains(@class,'title')]/text()", + "cateVodId": "/a[contains(@class,'video-info')]/@href", + "cateVodIdR": "https://www.huya.com/(\\w+)", + "cateVodImg": "/a[contains(@class,'video-info')]/img/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "concat(/a[contains(@class,'video-info')]/em/text(),'-',/a[contains(@class,'video-info')]/p/em/text(),'-','猫群首发751165954')", + "dtUrl": "https://www.huya.com/{vid}", + "dtNode": "//body", + "dtName": "//div[@class='host-info']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='host-pic']/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[@class='host-channel']/a[2]/text()", + "dtArea": "//span[@class='host-channel']/a[1]/text()", + "dtFromNode": "//h3[@class='host-name']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='sidebar-icon-list']", + "dtUrlSubNode": "/li[contains(@class,'allLive')]/a", + "dtUrlId": "@eid_desc", + "dtUrlIdR": "\\S+/(\\S+)", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://hd.huya.com/h5/liveshare/index.html?type=middlepage&rso=wap-live-share&lp={playUrl}", + "playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + "searchUrl": "https://www.huya.com/search?hsk={wd}", + "scVodNode": "//ul[@class='js-live-list']/li", + "scVodName": "/a[@class='title new-clickstat']/@title", + "scVodId": "/a[@class='title new-clickstat']/@href", + "scVodIdR": "https://www.huya.com/(\\w+)", + "scVodImg": "/a[@class='video-info new-clickstat']/img/@src", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/hyingku.json b/XPath/hyingku.json new file mode 100644 index 0000000..2169ff1 --- /dev/null +++ b/XPath/hyingku.json @@ -0,0 +1,62 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.hyingku.com/", + "cateNode": "//ul[contains(@class,'navbar-nav')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + "cateName": "/text()", + "cateNameR": "热门(.+)", + "cateId": "/@href", + "cateIdR": "/type/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='col-md-12 movie-item-out']//a[not(contains(@href, '6'))]/parent::*/parent::*/parent::*/div[contains(@class, 'movie-item-out') and position()<10]/div[@class='movie-item']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/img/@src", + "homeVodMark": "/button/text()", + "cateUrl": "https://www.hyingku.com//type/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='movie-item']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/button/text()", + "dtUrl": "https://www.hyingku.com//show/{vid}.html", + "dtNode": "//div[@class='container-fluid']", + "dtName": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@src", + "dtImgR": "", + "dtCate": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '类型')]/parent::*/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '日期')]/parent::*/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '国家')]/parent::*/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '状态')]/parent::*/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '主演')]/parent::*/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '导演')]/parent::*/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//p[@class='summary']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'resource-list')]/div[@class='panel-heading']/strong", + "dtFromName": "/text()", + "dtFromNameR": "\\S+\\.(\\S+) \\(", + "dtUrlNode": "//div[contains(@class,'resource-list')]/ul[@class='dslist-group']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.hyingku.com//play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.40mdd.com/search?wd={wd}", + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} diff --git a/XPath/jipin.json b/XPath/jipin.json new file mode 100644 index 0000000..51a6bbe --- /dev/null +++ b/XPath/jipin.json @@ -0,0 +1,467 @@ +{ + "url": "https://www.jpysvip.net", + "host": "www.jpysvip.net", + "regexCategory": "/vodtype/(\\w+).html", + "regexVid": "/voddetail/(\\w+).html", + "regexPlay": "/vodplay/(\\w+)-(\\d+)-(\\d+).html", + "regexPage": "/vodshow/(\\S+).html", + "urlCategory": "/vodshow/|.html", + "urlDetail": "/voddetail/|.html", + "urlPlay": "/vodplay/|.html", + "urlSearch": "/vodsearch/-------------.html?wd=|&submit=", + "player": { + "mx771": {"sh": "MX蓝光","sn": 0,"pu": "","or":999}, + "anyiyun": {"sh": "云海蓝光","sn": 0,"pu": "","or":999}, + "renrenmi": {"sh": "RR蓝光","sn": 0,"pu": "","or":999}, + "rx": {"sh": "rx","sn": 0,"pu": "","or":999}, + "mengxin886": {"sh": "mengxin886","sn": 0,"pu": "","or":999}, + "ltm3u8": {"sh": "蓝光线路","sn": 0,"pu": "","or":999}, + "dplayer": {"sh": "蓝光极速","sn": 0,"pu": "","or":999}, + "niuxyun": {"sh": "首选蓝光","sn": 0,"pu": "","or":999}, + "189pan": {"sh": "蓝光线路","sn": 0,"pu": "","or":999}, + "mm": {"sh": "PP云","sn": 0,"pu": "","or":999}, + "fanqie": {"sh": "番茄资源","sn": 0,"pu": "","or":999}, + "ddyunp": {"sh": "多多蓝光","sn": 0,"pu": "","or":999}, + "fuckapp": {"sh": "闪电蓝光","sn": 0,"pu": "","or":999}, + "xinm3u8": {"sh": "不卡线路","sn": 0,"pu": "","or":999}, + "iframe": {"sh": "超快云播","ps": "0","pu": "","or":999}, + "aliplayer": {"sh": "阿里云","sn": 0,"pu": "","or":999}, + "funshion": {"sh": "风行视频","sn": 0,"pu": "","or":999}, + "videojs": {"sh": "videojs-H5播放器","ps": "0","pu": "","or":999}, + "iva": {"sh": "H5自带解析","ps": "0","pu": "","or":999}, + "xigua": {"sh": "西瓜影音","ps": "0","pu": "","or":999}, + "ffhd": {"sh": "非凡影音","ps": "0","pu": "","or":999}, + "wasu": {"sh": "华数tv","sn": 1,"pu": "","or":999}, + "letv": {"sh": "乐视视频","sn": 1,"pu": "","or":999}, + "mgtv": {"sh": "芒果tv","sn": 1,"pu": "","or":999}, + "pptv": {"sh": "pptv","sn": 0,"pu": "","or":999}, + "135m3u8": {"sh": "极速云播","ps": "0","pu": "","or":999}, + "ckm3u8": {"sh": "酷云","ps": "0","pu": "","or":999}, + "migu": {"sh": "咪咕视频","sn": 1,"pu": "","or":999}, + "youku": {"sh": "优酷视频","sn": 1,"pu": "","or":999}, + "qq": {"sh": "腾讯视频","sn": 1,"pu": "","or":999}, + "sohu": {"sh": "搜狐视频","sn": 1,"pu": "","or":999}, + "qiyi": {"sh": "奇艺视频","sn": 1,"pu": "","or":999}, + "wjm3u8": {"sh": "线路①","sn": 0,"pu": "","or":999}, + "dbm3u8": {"sh": "百度云M3U8","sn": 0,"pu": "","or":999}, + "zuidam3u8": {"sh": "高清云","sn": 0,"pu": "","or":999}, + "kuyun": {"sh": "kuyun","ps": "0","pu": "","or":999}, + "mahua": {"sh": "线路1","sn": 0,"pu": "","or":999}, + "subom3u8": {"sh": "极速云播","sn": 0,"pu": "","or":999}, + "bjm3u8": {"sh": "极速蓝光","sn": 0,"pu": "","or":999}, + "appplayer": {"sh": "秒播不失效","sn": 0,"pu": "","or":999} + }, + "filter": { + "1": [ + { + "key": 0, + "name": "类型", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" } + ] + }, + { + "key": 3, + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "动作", "v": "动作" }, + { "n": "科幻", "v": "科幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "战争", "v": "战争" }, + { "n": "警匪", "v": "警匪" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动画", "v": "动画" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "武侠", "v": "武侠" }, + { "n": "冒险", "v": "冒险" }, + { "n": "枪战", "v": "枪战" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "经典", "v": "经典" }, + { "n": "青春", "v": "青春" }, + { "n": "文艺", "v": "文艺" }, + { "n": "微电影", "v": "微电影" }, + { "n": "古装", "v": "古装" }, + { "n": "历史", "v": "历史" }, + { "n": "运动", "v": "运动" }, + { "n": "农村", "v": "农村" }, + { "n": "儿童", "v": "儿童" }, + { "n": "网络电影", "v": "网络电影" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "德国", "v": "德国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "意大利", "v": "意大利" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "法语", "v": "法语" }, + { "n": "德语", "v": "德语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2": [ + { + "key": 0, + "name": "类型", + "value": [ + { "n": "全部", "v": "2" }, + { "n": "国产剧", "v": "13" }, + { "n": "香港剧", "v": "14" }, + { "n": "韩国剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "日本剧", "v": "20" }, + { "n": "台湾剧", "v": "21" }, + { "n": "泰国剧", "v": "22" } + ] + }, + { + "key": 3, + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + { "n": "青春偶像", "v": "青春偶像" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "家庭", "v": "家庭" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "经典", "v": "经典" }, + { "n": "乡村", "v": "乡村" }, + { "n": "情景", "v": "情景" }, + { "n": "商战", "v": "商战" }, + { "n": "网剧", "v": "网剧" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "韩国", "v": "韩国" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3": [ + { + "key": 3, + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "选秀", "v": "选秀" }, + { "n": "情感", "v": "情感" }, + { "n": "访谈", "v": "访谈" }, + { "n": "播报", "v": "播报" }, + { "n": "旅游", "v": "旅游" }, + { "n": "音乐", "v": "音乐" }, + { "n": "美食", "v": "美食" }, + { "n": "纪实", "v": "纪实" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "生活", "v": "生活" }, + { "n": "游戏互动", "v": "游戏互动" }, + { "n": "财经", "v": "财经" }, + { "n": "求职", "v": "求职" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "4": [ + { + "key": 3, + "name": "剧情", + "value": [ + { "n": "全部", "v": "" }, + { "n": "情感", "v": "情感" }, + { "n": "科幻", "v": "科幻" }, + { "n": "热血", "v": "热血" }, + { "n": "推理", "v": "推理" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "冒险", "v": "冒险" }, + { "n": "萝莉", "v": "萝莉" }, + { "n": "校园", "v": "校园" }, + { "n": "动作", "v": "动作" }, + { "n": "机战", "v": "机战" }, + { "n": "运动", "v": "运动" }, + { "n": "战争", "v": "战争" }, + { "n": "少年", "v": "少年" }, + { "n": "少女", "v": "少女" }, + { "n": "社会", "v": "社会" }, + { "n": "原创", "v": "原创" }, + { "n": "亲子", "v": "亲子" }, + { "n": "益智", "v": "益智" }, + { "n": "励志", "v": "励志" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 1, + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产", "v": "国产" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": 11, + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": 4, + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": 2, + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] + } +} diff --git a/XPath/jipinyingshi.json b/XPath/jipinyingshi.json new file mode 100644 index 0000000..4b123b6 --- /dev/null +++ b/XPath/jipinyingshi.json @@ -0,0 +1,918 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "http://www.jpys.me", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'myui-header__menu')]/li[@class='dropdown-hover']//ul/li/a[contains(@href, 'vodtype') and not(contains(@href, '26'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "3", + "综艺": "4" + }, + "homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://www.jpys.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://www.jpys.me/voddetail/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.jpys.me/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.jpys.me/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "动作片", + "v": "6" + }, + { + "n": "喜剧片", + "v": "7" + }, + { + "n": "爱情片", + "v": "8" + }, + { + "n": "科幻片", + "v": "9" + }, + { + "n": "恐怖片", + "v": "10" + }, + { + "n": "剧情片", + "v": "11" + }, + { + "n": "战争片", + "v": "12" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "警匪", + "v": "警匪" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "动画", + "v": "动画" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "武侠", + "v": "武侠" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "枪战", + "v": "枪战" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "经典", + "v": "经典" + }, + { + "n": "青春", + "v": "青春" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆剧", + "v": "13" + }, + { + "n": "香港剧", + "v": "14" + }, + { + "n": "欧美剧", + "v": "15" + }, + { + "n": "韩国剧", + "v": "16" + }, + { + "n": "日本剧", + "v": "20" + }, + { + "n": "台湾剧", + "v": "21" + }, + { + "n": "泰国剧", + "v": "22" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "古装", + "v": "古装" + }, + { + "n": "青春偶像", + "v": "青春偶像" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "家庭", + "v": "家庭" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "经典", + "v": "经典" + }, + { + "n": "乡村", + "v": "乡村" + }, + { + "n": "情景", + "v": "情景" + }, + { + "n": "商战", + "v": "商战" + }, + { + "n": "网剧", + "v": "网剧" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南话", + "v": "闽南话" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "日韩", + "v": "日韩" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/jiujiukanpian.json b/XPath/jiujiukanpian.json new file mode 100644 index 0000000..515acc4 --- /dev/null +++ b/XPath/jiujiukanpian.json @@ -0,0 +1,62 @@ +{ + "author": "vx:bktx123", + "ua": "", + "homeUrl": "https://www.jiujiukanpian.com/", + "cateNode": "//ul[contains(@class,'navbar-nav')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + "cateName": "/text()", + "cateNameR": "热门(.+)", + "cateId": "/@href", + "cateIdR": "/type/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='col-md-12 movie-item-out']//a[not(contains(@href, '6'))]/parent::*/parent::*/parent::*/div[contains(@class, 'movie-item-out') and position()<10]/div[@class='movie-item']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/img/@src", + "homeVodMark": "/button/text()", + "cateUrl": "https://www.40mdd.com/type/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='movie-item']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/button/text()", + "dtUrl": "https://www.40mdd.com/show/{vid}.html", + "dtNode": "//div[@class='container-fluid']", + "dtName": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@src", + "dtImgR": "", + "dtCate": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '类型')]/parent::*/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '日期')]/parent::*/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '国家')]/parent::*/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '状态')]/parent::*/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '主演')]/parent::*/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '导演)]/parent::*/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//p[@class='summary']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'resource-list')]/div[@class='panel-heading']/strong", + "dtFromName": "/text()", + "dtFromNameR": "\\S+\\.(\\S+) \\(", + "dtUrlNode": "//div[contains(@class,'resource-list')]/ul[@class='dslist-group']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.40mdd.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.40mdd.com/search?wd={wd}", + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} \ No newline at end of file diff --git a/XPath/jjkp.json b/XPath/jjkp.json new file mode 100644 index 0000000..30e57b8 --- /dev/null +++ b/XPath/jjkp.json @@ -0,0 +1,61 @@ +{ + "ua": "", + "homeUrl": "https://www.jiujiukanpian.com", + "cateNode": "//ul[contains(@class,'navbar-nav')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + "cateName": "/text()", + "cateNameR": "热门(.+)", + "cateId": "/@href", + "cateIdR": "/type/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='col-md-12 movie-item-out']//a[not(contains(@href, '6'))]/parent::*/parent::*/parent::*/div[contains(@class, 'movie-item-out') and position()<10]/div[@class='movie-item']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/img/@src", + "homeVodMark": "/button/text()", + "cateUrl": "https://www.jiujiukanpian.com/type/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='movie-item']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/button/text()", + "dtUrl": "https://www.jiujiukanpian.com/show/{vid}.html", + "dtNode": "//div[@class='container-fluid']", + "dtName": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@src", + "dtImgR": "", + "dtCate": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '类型')]/parent::*/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '日期')]/parent::*/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '国家')]/parent::*/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '状态')]/parent::*/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '主演')]/parent::*/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '导演')]/parent::*/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//p[@class='summary']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'resource-list')]/div[@class='panel-heading']/strong", + "dtFromName": "/text()", + "dtFromNameR": "\\S+\\.(\\S+) \\(", + "dtUrlNode": "//div[contains(@class,'resource-list')]/ul[@class='dslist-group']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.jiujiukanpian.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.jiujiukanpian.com/search?wd={wd}", + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} \ No newline at end of file diff --git a/XPath/jpys.json b/XPath/jpys.json new file mode 100644 index 0000000..c6c2b2a --- /dev/null +++ b/XPath/jpys.json @@ -0,0 +1,918 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "http://www.jpys.me", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'myui-header__menu')]/li[@class='dropdown-hover']//ul/li/a[contains(@href, 'vodtype') and not(contains(@href, '26'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "3", + "综艺": "4" + }, + "homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://www.jpys.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://www.jpys.me/voddetail/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.jpys.me/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.jpys.me/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "动作片", + "v": "6" + }, + { + "n": "喜剧片", + "v": "7" + }, + { + "n": "爱情片", + "v": "8" + }, + { + "n": "科幻片", + "v": "9" + }, + { + "n": "恐怖片", + "v": "10" + }, + { + "n": "剧情片", + "v": "11" + }, + { + "n": "战争片", + "v": "12" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "警匪", + "v": "警匪" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "动画", + "v": "动画" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "武侠", + "v": "武侠" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "枪战", + "v": "枪战" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "经典", + "v": "经典" + }, + { + "n": "青春", + "v": "青春" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆剧", + "v": "13" + }, + { + "n": "香港剧", + "v": "14" + }, + { + "n": "欧美剧", + "v": "15" + }, + { + "n": "韩国剧", + "v": "16" + }, + { + "n": "日本剧", + "v": "20" + }, + { + "n": "台湾剧", + "v": "21" + }, + { + "n": "泰国剧", + "v": "22" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "古装", + "v": "古装" + }, + { + "n": "青春偶像", + "v": "青春偶像" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "家庭", + "v": "家庭" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "经典", + "v": "经典" + }, + { + "n": "乡村", + "v": "乡村" + }, + { + "n": "情景", + "v": "情景" + }, + { + "n": "商战", + "v": "商战" + }, + { + "n": "网剧", + "v": "网剧" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南话", + "v": "闽南话" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "日韩", + "v": "日韩" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} diff --git a/XPath/jrskan.json b/XPath/jrskan.json new file mode 100644 index 0000000..047ffa2 --- /dev/null +++ b/XPath/jrskan.json @@ -0,0 +1,91 @@ +{ + "author": "dj", + "ua": "", + "homeUrl": "http://www.jrskan.com/", + //"homeUrl": "http://jrsbxj.com/", + //"homeUrl": "http://jrsyyds.com/", + + "cateManual": { + "DJ看": "1" + }, + + // 首页推荐视频的节点 + "homeVodNode": "//ul[@data-stype='zqlq']", + // 首页推荐视频的名称 + //"homeVodName": "/li[@class='lab_events']/span/text()", + "homeVodName": "concat(/li[@class='lab_time']/text(),'-',/li[@class='lab_events']/span/text())", + // 首页推荐视频的id + "homeVodId": "/li[@class='lab_channel']/a[1]/@href", + // 二次处理正则 + "homeVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + // 首页推荐视频的图片 + "homeVodImg": "/li[@class='lab_team_home']/span/img/@src", + // 首页推荐视频的简介 + "homeVodMark": "concat(//li[@class='lab_team_home']/strong/text(),'-',//li[@class='lab_team_away']/strong/text(),'-dj')", + "home": "dj", + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "http://www.jrskan.com/", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//ul[@data-stype='zqlq']", + //"cateVodName": "/li[@class='lab_events']/span/text()", + "cateVodName": "concat(/li[@class='lab_time']/text(),'-',/li[@class='lab_events']/span/text(),'dj')", + "cateVodId": "/li[@class='lab_channel']/a[1]/@href", + "cateVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + "cateVodImg": "/li[@class='lab_team_home']/span/img/@src", + "cateVodMark": "concat(//li[@class='lab_team_home']/strong/text(),'-',//li[@class='lab_team_away']/strong/text())", + //"cateVodMark": "{vid}", + "cate": "dj", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + //"dtUrl": "{vid}", + "dtUrl": "http://play.sportsteam333.com/play/steam{vid}.html", + // 详情节点 + "dtNode": "//ul[@data-stype='zqlq']", + // 视频名 + "dtName": "/li[1]/span/text()", + // 视频图片 + "dtImg": "/li[3]/span/img/@src", + // 视频分类 + "dtCate": "/li[1]/span/text()", + //演员 + "dtActor": "/li[1]/span/text()", + // 导演 + "dtDirector": "concat('xxx -','Never underestimate the heart of a champion! ')", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "concat(/li[3]/strong/text(),'-',/li[5]/strong/text(),'-dj')", + + // 播放源节点 + "dtFromNode": "//div[@class='sub_channel']/a/strong", + // 播放源名称 + "dtFromName": "concat('dj-',/text())", + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[@class='sub_channel']", + // 播放地址节点 + "dtUrlSubNode": "/a", + "dtUrlSub": "/ff", + // 播放地址 + "dtUrlId": "@data-play", + "dtUrlIdR": "/play/(\\S+)", + //"dtUrlIdR": "\\S+/(\\d+)&id2=", + // 剧集名称 + "dtUrlName": "/strong/text()", + "dtUrlNameR": "", + + //播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl":"http://play.sportsteam333.com/play/{playUrl}#ff", + //"playUrl":"http://play.sportsteam666.com/play/{playUrl}", + //"playUrl": "http://play.sportsteam365.com/play/{playUrl}", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", + + "searchUrl": "http://www.jrskan.com?key={wd}", + "scVodNode": "//div[@class='play_xg']/li", + "scVodName": "//div[@class='name']/a/@title", + "scVodId": "//div[@class='name']/a/@href", + "scVodIdR": "/play/(\\d+).html", + "scVodImg": "//div[@class='pic']/a/img/@src", + "scVodMark": "" +} diff --git a/XPath/jrskan2.json b/XPath/jrskan2.json new file mode 100644 index 0000000..c72e809 --- /dev/null +++ b/XPath/jrskan2.json @@ -0,0 +1,70 @@ +{ + "author": "dj22.9.17", + "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", + "homeUrl": "http://www.jrskan.com/", + //"homeUrl": "http://jrsbxj.com/", + //"homeUrl": "http://jrsyyds.com/", + + "cateManual": { + "DJ-JRS直播": "dj666" + }, + + + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "http://www.jrskan.com/", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//ul[@data-stype='zqlq']", + //"cateVodName": "/li[@class='lab_events']/span/text()", + "cateVodName": "concat(/li[@class='lab_time']/text(),'-',/li[@class='lab_events']/span/text(),'dj')", + "cateVodId": "/li[@class='lab_channel']/a[1]/@href", + "cateVodIdR": "http://play.sportsteam666.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + "cateVodImg": "/li[@class='lab_team_home']/span/img/@src", + "cateVodMark": "concat(//li[@class='lab_team_home']/strong/text(),'-',//li[@class='lab_team_away']/strong/text())", + //"cateVodMark": "{vid}", + "cate": "dj", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + //"dtUrl": "{vid}", + "dtUrl": "http://play.sportsteam666.com/play/steam{vid}.html", + // 详情节点 + "dtNode": "//ul[@data-stype='zqlq']", + // 视频名 + "dtName": "/li[1]/span/text()", + // 视频图片 + "dtImg": "/li[3]/span/img/@src", + // 视频分类 + "dtCate": "/li[1]/span/text()", + //演员 + "dtActor": "/li[1]/span/text()", + // 导演 + "dtDirector": "concat('勇士总冠军')", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "concat(/li[3]/strong/text(),' VS ',/li[5]/strong/text())", + + // 播放源节点 + "dtFromNode": "//div[@class='sub_channel']", + // 播放源名称 + "dtFromName": "concat('【直播源','】')", + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[@class='sub_channel']", + // 播放地址节点 + "dtUrlSubNode": "/a", + "dtUrlSub": "/ff", + // 播放地址 + "dtUrlId": "@data-play", + "dtUrlIdR": "/play/(\\S+)", + //"dtUrlIdR": "\\S+/(\\d+)&id2=", + // 剧集名称 + "dtUrlName": "/strong/text()", + "dtUrlNameR": "", + + //播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + //"playUrl":"http://play.sportsteam333.com/play/{playUrl}#ff", + //"playUrl":"http://play.sportsteam365.com/play/{playUrl}", + "playUrl": "http://play.sportsteam666.com/play/{playUrl}" + //"playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", + +} \ No newline at end of file diff --git a/XPath/jubaibai.json b/XPath/jubaibai.json new file mode 100644 index 0000000..1065d9e --- /dev/null +++ b/XPath/jubaibai.json @@ -0,0 +1,668 @@ +{ + "author": "Tangsan99999", + "ua": "", + "homeUrl": "https://www.jubaibai.cc/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'type')and not(contains(@href,'zhibo'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vod/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pic-text text-right')]/b/text()", + "cateUrl": "https://www.jubaibai.cc/vodshow/id/{cateId}/area/{area}/by/{by}/page/{catePg}/year/{year}.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pic-text text-right')]/b/text()", + "dtUrl": "https://www.jubaibai.cc/vod/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + "dtNameR": "", + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[contains(@class,'data')][1]/text()", + "dtCateR": "\\S+:(\\S+)", + "dtYear": "//p[contains(@class,'data')][5]/text()", + "dtYearR": "\\S+:(\\S+)", + "dtArea": "//p[contains(@class,'data')][3]/text()", + "dtAreaR": "\\S+:(\\S+)", + "dtMark": "//p[contains(@class,'data')][8]/span/text()", + "dtMarkR": "", + "dtDirector": "//p[contains(@class,'data')][6]/a/text()", + "dtDirectorR": "\\S+:(\\S+)", + "dtActor": "//p[contains(@class,'data')][7]/a/text()", + "dtActorR": "\\S+:(\\S+)", + "dtDesc": "//span[@class='detail-content']/text()", + "dtFromNode": "//div[@class='stui-vodlist__head']/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.jubaibai.cc/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.jubaibai.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "dianying": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "动作片", + "v": "dongzuopian" + }, + { + "n": "喜劇片", + "v": "xijupian" + }, + { + "n": "愛情片", + "v": "aiqingpian" + }, + { + "n": "科幻片", + "v": "kehuanpian" + }, + { + "n": "恐怖片", + "v": "kongbupian" + }, + { + "n": "劇情片", + "v": "juqingpian" + }, + { + "n": "戰爭片", + "v": "zhanzhengpian" + }, + { + "n": "动画片", + "v": "donghua" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "中国香港", + "v": "中国香港" + }, + { + "n": "中国台湾", + "v": "中国台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "马来西亚", + "v": "马来西亚" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "dianshiju": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陸劇", + "v": "guochanju" + }, + { + "n": "港台劇", + "v": "gangtaiju" + }, + { + "n": "日韓劇", + "v": "rihanju" + }, + { + "n": "欧美劇", + "v": "oumeiju" + }, + { + "n": "其他劇", + "v": "qitaju" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "zongyi": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "dongman": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/juhuang.json b/XPath/juhuang.json new file mode 100644 index 0000000..3362b4f --- /dev/null +++ b/XPath/juhuang.json @@ -0,0 +1,64 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://juhuang.tv/", + "dcVipFlag": "true", + "pCfgJs": "https://juhuang.tv//static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "剧集": "2", + "韩剧": "13", + "日剧": "15", + "美剧": "16", + "动漫": "4", + "纪录片": "21" + }, + "homeVodNode": "//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/play/(\\S+)_play_1_1.html", + "homeVodImg": "//div[@class='module-item-pic']//@data-src", + "homeVodImgR": "", + "homeVodMark": "/div[@class='module-item-text']/text()", + "cateUrl": "https://juhuang.tv/type/{cateId}_type_{catePg}.html", + "cateVodNode": "//div[@class='module-item']", + "cateVodName": "//div[@class='module-item-pic']/a/@title", + "cateVodId": "///div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/play/(\\S+)_play_1_1.html", + "cateVodImg": "//div[@class='module-item-pic']//@data-src", + "cateVodImgR": "", + "cateVodMark": "/div[@class='module-item-text']/text()", + "dtUrl": "https://juhuang.tv/play/{vid}_play_1_1.html", + "dtNode": "//main", + "dtName": "//h1/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='module-items']/div[1]//img/@data-src", + "dtImgR": "", + "dtCate": "//span[@class='video-tag-icon']/a/text()", + "dtYear": "//div[@class='video-info-aux']/a[3]/text()", + "dtArea": "//div[@class='video-info-aux']/a[2]/text()", + "dtDirector": "", + "dtActor": "", + "dtDesc": "//span[contains(text(),'剧情')]/following-sibling::div/p[1]/text()", + "dtFromNode": "//div[@class='module-tab-title']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='sort-item']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://juhuang.tv/play/{playUrl}.html", + "playUa": "Mozilla/5.0 (Linux; Android 10; LYA-AL00 Build/HUAWEILYA-AL00L; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/73.0.3683.121 Mobile Safari/537.36", + "searchUrl": "https://so.juhuang.tv/soapi.php?wd={wd}", + "scVodNode": "json:list", + "scVodName": "vod_name", + "scVodId": "vod_id", + "scVodIdR": "", + "scVodImg": "vod_pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/juhuangTV.json b/XPath/juhuangTV.json new file mode 100644 index 0000000..3362b4f --- /dev/null +++ b/XPath/juhuangTV.json @@ -0,0 +1,64 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://juhuang.tv/", + "dcVipFlag": "true", + "pCfgJs": "https://juhuang.tv//static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "剧集": "2", + "韩剧": "13", + "日剧": "15", + "美剧": "16", + "动漫": "4", + "纪录片": "21" + }, + "homeVodNode": "//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/play/(\\S+)_play_1_1.html", + "homeVodImg": "//div[@class='module-item-pic']//@data-src", + "homeVodImgR": "", + "homeVodMark": "/div[@class='module-item-text']/text()", + "cateUrl": "https://juhuang.tv/type/{cateId}_type_{catePg}.html", + "cateVodNode": "//div[@class='module-item']", + "cateVodName": "//div[@class='module-item-pic']/a/@title", + "cateVodId": "///div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/play/(\\S+)_play_1_1.html", + "cateVodImg": "//div[@class='module-item-pic']//@data-src", + "cateVodImgR": "", + "cateVodMark": "/div[@class='module-item-text']/text()", + "dtUrl": "https://juhuang.tv/play/{vid}_play_1_1.html", + "dtNode": "//main", + "dtName": "//h1/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='module-items']/div[1]//img/@data-src", + "dtImgR": "", + "dtCate": "//span[@class='video-tag-icon']/a/text()", + "dtYear": "//div[@class='video-info-aux']/a[3]/text()", + "dtArea": "//div[@class='video-info-aux']/a[2]/text()", + "dtDirector": "", + "dtActor": "", + "dtDesc": "//span[contains(text(),'剧情')]/following-sibling::div/p[1]/text()", + "dtFromNode": "//div[@class='module-tab-title']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='sort-item']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://juhuang.tv/play/{playUrl}.html", + "playUa": "Mozilla/5.0 (Linux; Android 10; LYA-AL00 Build/HUAWEILYA-AL00L; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/73.0.3683.121 Mobile Safari/537.36", + "searchUrl": "https://so.juhuang.tv/soapi.php?wd={wd}", + "scVodNode": "json:list", + "scVodName": "vod_name", + "scVodId": "vod_id", + "scVodIdR": "", + "scVodImg": "vod_pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/jumiTV.json b/XPath/jumiTV.json new file mode 100644 index 0000000..6ceb23f --- /dev/null +++ b/XPath/jumiTV.json @@ -0,0 +1,1124 @@ +{ + "author": "Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://dsxys.com/", + "dcVipFlag": "true", + "pCfgJs": "https://dsxys.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class, 'myui-header__menu nav-menu')]/li[@class='dropdown-hover']//div/ul/li/a[contains(@href, 'type') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\w+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "综艺": "3" + }, + "homeVodNode": "//div[contains(@class, 'col-lg-wide-75')]//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://dsxys.com/vodshow/{cateId}-{area}--{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://dsxys.com/v/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//span[@class='sketch content']/text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://dsxys.com/p/{playUrl}.html", + "playUa": "", + "searchUrl": "https://dsxys.com/sb/ke7nhZe3c1-.html?wd={wd}", + "scVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/v/(\\w+).html", + "scVodImg": "/@data-original", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "/span[contains(@class,'pic-text')]/text()", + "filter": { + "1": [{ + "key": "cateId", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "动作片", + "v": "6" + }, + { + "n": "喜剧片", + "v": "7" + }, + { + "n": "爱情片", + "v": "8" + }, + { + "n": "科幻片", + "v": "9" + }, + { + "n": "奇幻片", + "v": "38" + }, + { + "n": "恐怖片", + "v": "10" + }, + { + "n": "剧情片", + "v": "11" + }, + { + "n": "战争片", + "v": "12" + }, + { + "n": "纪录片", + "v": "22" + }, + { + "n": "悬疑片", + "v": "44" + }, + { + "n": "冒险片", + "v": "45" + }, + { + "n": "犯罪片", + "v": "46" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "警匪", + "v": "警匪" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "动画", + "v": "动画" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "武侠", + "v": "武侠" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "枪战", + "v": "枪战" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "经典", + "v": "经典" + }, + { + "n": "青春", + "v": "青春" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "2": [{ + "key": "cateId", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "国产剧", + "v": "13" + }, + { + "n": "港台剧", + "v": "14" + }, + { + "n": "日韩剧", + "v": "15" + }, + { + "n": "欧美剧", + "v": "16" + }, + { + "n": "海外剧", + "v": "23" + }, + { + "n": "动画片", + "v": "50" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "古装", + "v": "古装" + }, + { + "n": "青春偶像", + "v": "青春偶像" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "家庭", + "v": "家庭" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "经典", + "v": "经典" + }, + { + "n": "乡村", + "v": "乡村" + }, + { + "n": "情景", + "v": "情景" + }, + { + "n": "商战", + "v": "商战" + }, + { + "n": "网剧", + "v": "网剧" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南话", + "v": "闽南话" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [{ + "key": "cateId", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "内地综艺", + "v": "29" + }, + { + "n": "港台综艺", + "v": "30" + }, + { + "n": "日韩综艺", + "v": "31" + }, + { + "n": "欧美综艺", + "v": "32" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "选秀", + "v": "选秀" + }, + { + "n": "情感", + "v": "情感" + }, + { + "n": "访谈", + "v": "访谈" + }, + { + "n": "播报", + "v": "播报" + }, + { + "n": "旅游", + "v": "旅游" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "美食", + "v": "美食" + }, + { + "n": "纪实", + "v": "纪实" + }, + { + "n": "曲艺", + "v": "曲艺" + }, + { + "n": "生活", + "v": "生活" + }, + { + "n": "财经", + "v": "财经" + }, + { + "n": "求职", + "v": "求职" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "日韩", + "v": "日韩" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [{ + "key": "cateId", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "国产动漫", + "v": "33" + }, + { + "n": "日韩动漫", + "v": "34" + }, + { + "n": "欧美动漫", + "v": "35" + }, + { + "n": "港台动漫", + "v": "36" + }, + { + "n": "海外动漫", + "v": "37" + }, + { + "n": "动漫电影", + "v": "39" + }, + { + "n": "番剧", + "v": "60" + }, + { + "n": "国创", + "v": "61" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "情感", + "v": "情感" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "热血", + "v": "热血" + }, + { + "n": "推理", + "v": "推理" + }, + { + "n": "搞笑", + "v": "搞笑" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "萝莉", + "v": "萝莉" + }, + { + "n": "校园", + "v": "校园" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "机战", + "v": "机战" + }, + { + "n": "运动", + "v": "运动" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "少年", + "v": "少年" + }, + { + "n": "少女", + "v": "少女" + }, + { + "n": "社会", + "v": "社会" + }, + { + "n": "原创", + "v": "原创" + }, + { + "n": "亲子", + "v": "亲子" + }, + { + "n": "益智", + "v": "益智" + }, + { + "n": "励志", + "v": "励志" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} +} \ No newline at end of file diff --git a/XPath/juzitv.json b/XPath/juzitv.json new file mode 100644 index 0000000..8b360aa --- /dev/null +++ b/XPath/juzitv.json @@ -0,0 +1,109 @@ +{ + "author": "匿名20220806", + "ua": "Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/99.0", + // 首页地址 用于获取 分类和首页推荐 + "homeUrl": "https://juztv.com", + // 分类节点 + "cateNode": "//ul[@class='dropdown']/li/a[contains(@href, 'vodtype')]", + // 分类名 + "cateName": "/text()", + // 分类id + "cateId": "/@href", + // 分类id二次处理正则 + "cateIdR": "/vodtype/(\\d+)/", + // 手动设置分类,如果手动设置了分类则不使用上面的分类xpath获取分类 例如 "cateManual": {"电影": "1", "电视剧": "2"}, + "cateManual": {}, + // 首页推荐视频的节点 + "homeVodNode": "//li[contains(@class,'col-sm-4')]", + // 首页推荐视频的名称 + "homeVodName": "/div/a/@title", + // 二次处理正则 + "homeVodNameR": "", + // 首页推荐视频的id + "homeVodId": "/div/a/@href", + // 二次处理正则 + "homeVodIdR": "/voddetail/(\\d+)/", + // 首页推荐视频的图片 + "homeVodImg": "/div/a/@data-original", + // 二次处理正则 + "homeVodImgR": "", + // 首页推荐视频的简介 + "homeVodMark": "/div/a/span/text()", + // 二次处理正则 + "homeVodMarkR": "", + + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "https://juztv.com/vodtype/{cateId}-{catePg}/", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//li[contains(@class,'col-sm-4')]", + "cateVodName": "/div/a/@title", + "cateVodId": "/div/a/@href", + "cateVodIdR": "/voddetail/(\\d+)/", + "cateVodImg": "/div/a/@data-original", + "cateVodMark": "/div/a/span/text()", + + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://juztv.com/voddetail/{vid}/", + // 详情节点 + "dtNode": "//body", + // 视频名 + "dtName": "//div[@class='stui-content__detail']/h1/text()", + "dtNameR": "", + // 视频图片 + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a/img/@data-original", + "dtImgR": "", + // 视频分类 + "dtCate": "//div[contains(@class,'stui-content__detail')]/p/span[contains(text(),'类型')]/following-sibling::*/text()", + "dtCateR": "", + // 视频年份 + "dtYear": "//div[contains(@class,'stui-content__detail')]/p/span[contains(text(),'年份')]/following-sibling::*/text()", + "dtYearR": "", + // 视频地区 + "dtArea": "//div[contains(@class,'stui-content__detail')]/p/span[contains(text(),'地区')]/following-sibling::*/text()", + "dtAreaR": "", + // 视频状态 + "dtMark": "//div[contains(@class,'stui-content__detail')]/p[contains(@class,'data hidden-sm')]/text()", + "dtMarkR": "", + // 主演 + "dtActor": "//div[contains(@class,'stui-content__detail')]/p/span[contains(text(),'主演')]/following-sibling::a/text()", + "dtActorR": "", + // 导演 + "dtDirector": "//div[contains(@class,'stui-content__detail')]/p/span[contains(text(),'导演')]/following-sibling::a/text()", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "//div[contains(@class,'stui-content__detail')]//p[contains(@class,'desc')]/span[@class='detail-content']/text()", + "dtDescR": "", + // 播放源节点 + "dtFromNode": "//div[contains(@class,'stui-pannel_hd')]/div[contains(@class,'stui-pannel__head bottom-line')]/h3", + // 播放源名称 + "dtFromName": "/text()", + // 二次处理正则 + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + // 播放地址节点 + "dtUrlSubNode": "/li/a", + // 播放地址 + "dtUrlId": "/@href", + // 二次处理正则 + "dtUrlIdR": "/vodplay/(\\S+)/", + // 剧集名称 + "dtUrlName": "/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "https://juztv.com/vodplay/{playUrl}/", + // 解析webview的user-agent + "playUa": "", + + + // 搜索地址 + "searchUrl": "https://juztv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + // 同上面的homeVod字段 搜索结果中的视频信息, 这里有对苹果cms suggest搜索接口的特殊支持,参考示例中的极品影视 + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "img", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/ktkkt.json b/XPath/ktkkt.json new file mode 100644 index 0000000..d23972c --- /dev/null +++ b/XPath/ktkkt.json @@ -0,0 +1,51 @@ +{ + "ua": "", + "homeUrl": "https://www.ktkkt.top", + "cateNode": "//ul[contains(@class,'myui-header__menu')]/li[contains(@class, '')]/a[contains(@href, 'frim') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/frim/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'myui-vodlist__box')]//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "https://www.ktkkt.top/movie/(\\w+).html", + "homeVodImg": "/@/@style", + "homeVodImgR": "(http(\\S+).jpg", + "homeVodMark": "", + "cateUrl": "https:///www.ktkkt.top/frim/{cateId}-{catePg}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "https:///www.ktkkt.top/movie/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "", + "dtUrl": "https://www.ktkkt.top/movie/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__detail']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img[@class='lazyload']/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']/p[@class='data'][1]/a/text()", + "dtCateR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist1')]", + "dtFromName": "/text()", + "dtFromNameR": "", + // "dtUrlNode": "//div[contains(@class,'tab-content')]//ul[contains(@id, 'playlist')]", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist1')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.ktkkt.top/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.ktkkt.top/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/kuqi.json b/XPath/kuqi.json new file mode 100644 index 0000000..073df9a --- /dev/null +++ b/XPath/kuqi.json @@ -0,0 +1,54 @@ +{ + "author": "vx:bktx123", + "ua": "", + "homeUrl": "https://www.kuqimv.com/play/", + "cateManual": { + "华语高清": "1", + "日韩精选": "2", + "欧美MV": "3", + "高清现场": "4", + "影视MV": "5", + "夜店现场": "6", + "车模视频": "7", + "热舞视频": "8", + "美女写真": "9", + "美女打碟": "10" + }, + "homeVodNode": "//div[@class='mv_list']/li", + "homeVodName": "/div[@class='name']/a/@title", + "homeVodId": "/div[@class='name']/a/@href", + "homeVodIdR": "/play/(\\d+).html", + "homeVodImg": "/div[@class='pic']/a/img/@src", + "homeVodMark": "concat(//div[@class='time']/text(),'-',//div[@class='singer']/a/text())", + "cateUrl": "https://www.kuqimv.com/play/{cateId}_{catePg}.html", + "cateVodNode": "//div[@class='mv_list']/li", + "cateVodName": "/div[@class='name']/a/@title", + "cateVodId": "/div[@class='name']/a/@href", + "cateVodIdR": "/play/(\\d+).html", + "cateVodImg": "/div[@class='pic']/a/img/@src", + "cateVodMark": "concat(//div[@class='time']/text(),'-',//div[@class='singer']/a/text())", + "dtUrl": "https://www.kuqimv.com/play/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='lei_info mt']/div[2]/h1/text()", + "dtImg": "//div[@class='lei_info mt']/div[1]/img/@src", + "dtCate": "//div[@class='play_info']/li[3]/a/text()", + "dtActor": "//div[@class='play_info']/li[4]/a/text()", + "dtFromNode": "//div[@class='lei_title']/h1", + "dtFromName": "/text()", + "dtFromNameR": "(\\S+) mp4\\S+", + "dtUrlNode": "//div[@class='down_sm mt']/p[2]", + "dtUrlSubNode": "/a", + "dtUrlId": "@data-clipboard-text", + "dtUrlIdR": "\\S+/(\\d+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.kuqimv.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.kuqimv.com/search.php?key={wd}", + "scVodNode": "//div[@class='play_xg']/li", + "scVodName": "//div[@class='name']/a/@title", + "scVodId": "//div[@class='name']/a/@href", + "scVodIdR": "/play/(\\d+).html", + "scVodImg": "//div[@class='pic']/a/img/@src", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/kuqimv.json b/XPath/kuqimv.json new file mode 100644 index 0000000..073df9a --- /dev/null +++ b/XPath/kuqimv.json @@ -0,0 +1,54 @@ +{ + "author": "vx:bktx123", + "ua": "", + "homeUrl": "https://www.kuqimv.com/play/", + "cateManual": { + "华语高清": "1", + "日韩精选": "2", + "欧美MV": "3", + "高清现场": "4", + "影视MV": "5", + "夜店现场": "6", + "车模视频": "7", + "热舞视频": "8", + "美女写真": "9", + "美女打碟": "10" + }, + "homeVodNode": "//div[@class='mv_list']/li", + "homeVodName": "/div[@class='name']/a/@title", + "homeVodId": "/div[@class='name']/a/@href", + "homeVodIdR": "/play/(\\d+).html", + "homeVodImg": "/div[@class='pic']/a/img/@src", + "homeVodMark": "concat(//div[@class='time']/text(),'-',//div[@class='singer']/a/text())", + "cateUrl": "https://www.kuqimv.com/play/{cateId}_{catePg}.html", + "cateVodNode": "//div[@class='mv_list']/li", + "cateVodName": "/div[@class='name']/a/@title", + "cateVodId": "/div[@class='name']/a/@href", + "cateVodIdR": "/play/(\\d+).html", + "cateVodImg": "/div[@class='pic']/a/img/@src", + "cateVodMark": "concat(//div[@class='time']/text(),'-',//div[@class='singer']/a/text())", + "dtUrl": "https://www.kuqimv.com/play/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='lei_info mt']/div[2]/h1/text()", + "dtImg": "//div[@class='lei_info mt']/div[1]/img/@src", + "dtCate": "//div[@class='play_info']/li[3]/a/text()", + "dtActor": "//div[@class='play_info']/li[4]/a/text()", + "dtFromNode": "//div[@class='lei_title']/h1", + "dtFromName": "/text()", + "dtFromNameR": "(\\S+) mp4\\S+", + "dtUrlNode": "//div[@class='down_sm mt']/p[2]", + "dtUrlSubNode": "/a", + "dtUrlId": "@data-clipboard-text", + "dtUrlIdR": "\\S+/(\\d+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.kuqimv.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.kuqimv.com/search.php?key={wd}", + "scVodNode": "//div[@class='play_xg']/li", + "scVodName": "//div[@class='name']/a/@title", + "scVodId": "//div[@class='name']/a/@href", + "scVodIdR": "/play/(\\d+).html", + "scVodImg": "//div[@class='pic']/a/img/@src", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/languangyingyuan.json b/XPath/languangyingyuan.json new file mode 100644 index 0000000..a4890e2 --- /dev/null +++ b/XPath/languangyingyuan.json @@ -0,0 +1,99 @@ +{ + "ua": "Mozilla/5.0 (Linux; Android 10; moto g(7) play) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.79 Mobile Safari/537.36", + "homeUrl": "http://www.lgyy.cc", + "dcVipFlag": "true", + "pCfgJs": "http://www.lgyy.cc/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": {"电影": "1","连续剧": "2", "动漫": "5","综艺": "3","纪录片": "4"}, + "homeVodNode": "//a[@class='module-poster-item module-item']", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "//div[@class='module-item-pic']/img/@data-original", + "homeVodImgR": "", + "homeVodMark": "//div[@class='module-item-note']/text()", + "cateUrl": "http://www.lgyy.cc/vodshow/{cateId}-{area}-{by}---{letter}---{catePg}---{year}/", + "cateVodNode": "//a[@class='module-poster-item module-item']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "//div[@class='module-item-pic']/img/@data-original", + "cateVodImgR": "", + "cateVodMark": "//div[@class='module-item-note']/text()", + "dtUrl": "http://www.lgyy.cc/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='module-info-heading']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='module-item-pic']/img[contains(@class,'ls-is-cached')]/@data-original", + "dtImgR": "", + "dtCate": "//div[@class='module-info-tag-link'][3]/text()", + "dtCateR": "", + "dtYear": "//div[@class='module-info-tag-link'][1]/text()", + "dtYearR": "", + "dtArea": "//div[@class='module-info-tag-link'][2]/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::div/a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::div/a/text()", + "dtActorR": "", + "dtDesc": "//div[@class='module-info-introduction-content']/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@id='y-playList']/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'module-play-list-content')]", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "http://www.lgyy.cc/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.lgyy.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter":{ +"1": [ +{"name":"分类","key":"cateId","value":[{"n":"全部","v":"1"},{"n":"动作片","v":"6"},{"n":"喜剧片","v":"7"},{"n":"爱情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"恐怖片","v":"10"},{"n":"剧情片","v":"11"},{"n":"战争片","v":"12"},{"n":"惊悚片","v":"20"},{"n":"犯罪片","v":"21"},{"n":"冒险片","v":"22"},{"n":"悬疑片","v":"23"},{"n":"武侠片","v":"24"},{"n":"奇幻片","v":"25"}]}, +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]}, +{"name":"字母","key":"letter","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"2": [ +{"name":"分类","key":"cateId","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"13"},{"n":"港台剧","v":"14"},{"n":"日韩剧","v":"15"},{"n":"欧美剧","v":"16"},{"n":"泰国剧","v":"26"}]}, +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"古装","v":"古装"},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"韩国","v":"韩国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]}, +{"name":"字母","key":"letter","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"3": [ +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"游戏互动","v":"游戏互动"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]}, +{"name":"字母","key":"letter","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"5": [ +{"name":"分类","key":"cateId","value":[{"n":"全部","v":"5"},{"n":"番剧","v":"17"},{"n":"国创","v":"18"},{"n":"动画片","v":"27"}]}, +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]}, +{"name":"字母","key":"letter","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"4": [ +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"字母","key":"letter","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"},{"n":"0-9","v":"0-9"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +] +} +} \ No newline at end of file diff --git a/XPath/lanmei.json b/XPath/lanmei.json new file mode 100644 index 0000000..2f73f64 --- /dev/null +++ b/XPath/lanmei.json @@ -0,0 +1,388 @@ +{ + "author": "Tangsan99999", + "ua": "", + "homeUrl": "https://lanmeiguojiang.com/index.php", + "dcVipFlag": "true", + "pCfgJs": "https://lanmeiguojiang.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[@class='stui-header__menu']/li/a[contains(@href, 'type') and not(contains(@href,'24'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vod/type/id/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='stui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vod/detail/id/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[@class='pic-text text-right']/b/text()", + "cateUrl": "https://lanmeiguojiang.com/index.php/vod/show/area/{area}/by/{by}/id/{cateId}/page/{catePg}/year/{year}.html", + "cateVodNode": "//div[@class='stui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/detail/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[@class='pic-text text-right']/b/text()", + "dtUrl": "https://lanmeiguojiang.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + "dtNameR": "", + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[contains(@class,'data')][1]/text()", + "dtCateR": "\\S+:(\\S+)", + "dtYear": "//p[contains(@class,'data')][5]/text()", + "dtYearR": "\\S+:(\\S+)", + "dtArea": "//p[contains(@class,'data')][3]/text()", + "dtAreaR": "\\S+:(\\S+)", + "dtMark": "//p[contains(@class,'data')][4]/text()", + "dtDirector": "//p[contains(text(), '导演')]/a/text()", + "dtActor": "///p[contains(text(), '主演')]/a/following-sibling::*/text()", + "dtDesc": "//span[@class='detail-content']/text()", + "dtFromNode": "//ul[contains(@class,'nav nav-tabs')]/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://lanmeiguojiang.com/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + "searchUrl": "https://lanmeiguojiang.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "32": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "23": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "1": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "动作片","v": "6"}, + {"n": "喜剧片","v": "7"}, + {"n": "爱情片","v": "8"}, + {"n": "科幻片","v": "9"}, + {"n": "恐怖片","v": "10"}, + {"n": "剧情片","v": "11"}, + {"n": "战争片","v": "12"}, + {"n": "动画片","v": "20"}, + {"n": "纪录片","v": "25"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产剧","v": "13"}, + {"n": "港台剧","v": "14"}, + {"n": "日韩剧","v": "15"}, + {"n": "欧美剧","v": "16"}, + {"n": "其他剧","v": "21"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "4": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "bilibili","v": "5"}, + {"n": "日韩动漫","v": "27"}, + {"n": "国创动漫","v": "28"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/ldb.json b/XPath/ldb.json new file mode 100644 index 0000000..443413e --- /dev/null +++ b/XPath/ldb.json @@ -0,0 +1,49 @@ +{ + "author": "dj22.9.8", + "homeUrl": "http://www.jrszx.com/",//http://www.jrszx.com/ + "cateManual": {"DJ-零点吧-体育直播": "666"}, + + // 首页 + "cateUrl": "http://www.jrszx.com/", + // 首页推荐视频的节点 + "cateVodNode": "//div[@class='txtdiv']/parent::li", + // 首页推荐视频的名称 + "cateVodName": "/div/text()", + // 首页推荐视频的id + "cateVodId": "/a[1]/@href", + "cateVodIdR": "/shipin-(\\d+).html", + // 首页推荐视频的图片 + "cateVodImg": "'http://ys-f.ysepan.com/621545016/119101634/h485U2V3523QLJkfsqlj8a/%E5%B0%81%E9%9D%A2.jpg'", + // 首页推荐视频的简介 + "cateVodMark":"", + + + // 详情页 + "dtUrl": "http://www.jrszx.com/vedio/shipin-{vid}.html", + // 详情节点 + "dtNode": "//head", + // 视频名 + "dtName": "/title/text()", + // 视频图片 + "dtImg": "'http://ys-f.ysepan.com/621545016/119101634/h485U2V3523QLJkfsqlj8a/%E5%B0%81%E9%9D%A2.jpg'", + // 视频简介 + "dtDesc": "concat('DJ - ','Never underestimate the heart of a champion! ','篮球迷588741862')", + + // 播放源节点 + "dtFromNode": "//body", + // 播放源名称 + "dtFromName": "'【直播源】'", + // 播放列表节点 + "dtUrlNode": "//div[@class='pmain2']/dl/dt", + // 播放地址节点 + "dtUrlSubNode": "/li/a[contains(@href, 'http')]", + // 播放地址 + "dtUrlId": "/@href", + "dtUrlIdR": "http(\\S+)", + // 剧集名称 + "dtUrlName": "/span/text()", + + //播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl":"http{playUrl}" + +} \ No newline at end of file diff --git a/XPath/lezhuTV.json b/XPath/lezhuTV.json new file mode 100644 index 0000000..4b36861 --- /dev/null +++ b/XPath/lezhuTV.json @@ -0,0 +1,69 @@ +{ + "author": "Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "http://www.lezhutv.com", + "dcVipFlag": "true", + "pCfgJs": "http://www.lezhutv.com/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'head')]/div[contains(@class, 'nav')]/a[contains(@href,'type')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\S+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "韩剧": "14", + "综艺": "3" + }, + "homeVodNode": "//ul[contains(@class, 'tbox_m')]/li[contains(@class,'vbox')]/a[contains(@class,'vbox_t')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span/text()", + "cateUrl": "http://www.lezhutv.com/list/{cateId}_{catePg}__time_____.html", + "cateVodNode": "//ul[contains(@class, 'tbox_m')]/li[contains(@class,'vbox')]/a[contains(@class,'vbox_t')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span/text()", + "dtUrl": "http://www.lezhutv.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='data']/h4/text()", + "dtNameR": "", + "dtImg": "//div[@class='dbox']/div[contains(@class,'img item-lazy')]/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='yac']/text()", + "dtCateR": "", + "dtActor": "//p[@class='act']/span[contains(text(), '主演')]/parent::text()", + "dtActorR": "", + "dtDirector": "//p[@class='dir']/span[contains(text(), '导演')]/parent::text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='tbox_js']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class, 'tbox_t')]/h3/i[contains(@class, 'icon-pin')]/parent::*", + "dtFromName": "concat('播放源',count(parent::*/preceding::*/div[contains(@class, 'tbox_t')]/h3/i[contains(@class, 'icon-pin')]) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//div[contains(@class,'tabs_block')]/ul[contains(@class, 'list_block show')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.lezhutv.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.lezhutv.com/index.php?m=vod-search&wd={wd}", + "scVodNode": "//ul[contains(@class, 'tbox_m')]/li[contains(@class,'vbox')]/a[contains(@class,'vbox_t')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/@data-original", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "/span/text()" +} \ No newline at end of file diff --git a/XPath/lgyy.json b/XPath/lgyy.json new file mode 100644 index 0000000..eb29413 --- /dev/null +++ b/XPath/lgyy.json @@ -0,0 +1,48 @@ +{ + "ua": "", + "homeUrl": "http://www.lgyy.cc/", + //"dcVipFlag": "true", + //"pCfgJs": "/static/js/playerconfig.js", + //"pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + //"dcShow2Vip": {}, + //"dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "电视剧": "2", + "动漫": "4", + "综艺": "3", + "纪录片": "5" + }, + "homeVodNode": "//ul[contains(@class, 'hl-vod-list clearfix')]/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/voddetail/(\\S+).html", + "homeVodImg": "/a/@data-original", + "homeVodMark": "", + "cateUrl": "http://www.lgyy.cc/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//ul[contains(@class, 'hl-vod-list clearfix')]/li", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/voddetail/(\\S+).html", + "cateVodImg": "/a/@data-original", + "cateVodMark": "", + "dtUrl": "http://www.lgyy.cc/voddetail/{vid}.html", + "dtNode": "//div[contains(@class,'hl-detail-content hl-marg-right50 clearfix')]/div[1]", + "dtName": "/span/@title", + "dtImg": "/span/@data-original", + "dtFromNode": "//div[contains(@class,'hl-plays-from hl-tabs swiper-wrapper clearfix')]", + "dtFromName": "//a[@href='javascript:void(0);' and contains(@class, 'hl-tabs-btn hl-slide-swiper')]/@alt", + "dtUrlNode": "//ul[contains(@class,'hl-plays-list hl-sort-list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "http://www.lgyy.cc/vodplay/{playUrl}.html", + "searchUrl": "/index.php/ajax/suggest?mid=1&wd={wd}", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/libv.json b/XPath/libv.json new file mode 100644 index 0000000..1b6f7ac --- /dev/null +++ b/XPath/libv.json @@ -0,0 +1,555 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.libvio.com/", + "dcPlayUrl": "true", + "cateManual": {"电影": "1","剧集": "2","综艺": "3","动漫": "4","日韩剧": "15","欧美剧": "16"}, + "homeVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodNameR": "", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[2]/text()", + "homeVodMarkR": "", + "cateUrl": "https://www.libvio.com/show/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[2]/text()", + "dtUrl": "https://www.libvio.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + "dtNameR": "", + "dtImg": "//a[contains(@class,'pic')]/img/@data-original", + "dtImgR": "", + "dtCate": "//div[contains(@class,'stui-content__detail')]/p[1]/text()", + "dtCateR": "\\S+:(\\S+)", + "dtYear": "//div[contains(@class,'stui-content__detail')]/p[1]/text()", + "dtYearR": "\\S+年份:(\\S+)", + "dtArea": "//div[contains(@class,'stui-content__detail')]/p[1]/text()", + "dtAreaR": "\\S+地区:(\\S+)", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//p[contains(text(),'主演')]/text()", + "dtActorR": "\\S+:(\\S+)", + "dtDirector": "//p[contains(text(),'导演')]/text()", + "dtDirectorR": "\\S+导演:(\\S+)", + "dtDesc": "//span[@class='detail-content']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-vodlist__head')]/div[contains(@class,'stui-pannel__head clearfix')]/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.libvio.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.libvio.com/search/-------------.html?wd={wd}&submit=", + "scVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[2]/text()", + "filter":{ + "1":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "中国大陆"}, + {"n": "中国香港","v": "中国香港"}, + {"n": "中国台湾","v": "中国台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "2":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "中国大陆"}, + {"n": "中国香港","v": "中国香港"}, + {"n": "中国台湾","v": "中国台湾"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "3":[ + + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "奇幻"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "4":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国","v": "中国"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "15":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "16":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "德国","v": "德国"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + + } +} \ No newline at end of file diff --git a/XPath/lkvod.json b/XPath/lkvod.json new file mode 100644 index 0000000..596feb8 --- /dev/null +++ b/XPath/lkvod.json @@ -0,0 +1,66 @@ +{ + "author": "Cherry", + "ua": "", + "homeUrl": "https://www.lkvod.cc", + "cateNode": "//ul[contains(@class,'nav-menu-items')]/li[contains(@class, 'nav-menu-item')]/a[contains(@href,'type')]", + "cateName": "/@title", + "cateId": "/@href", + "cateIdR": "/type/(\\d+)/", + "cateManual": { + "大陆剧": "13", + "港台剧": "14", + "日韩剧": "15", + "欧美剧": "16", + "综艺": "3", + "动漫": "4", + "动作片": "6", + "爱情片": "8", + "喜剧片": "7", + "科幻片": "9", + "恐怖片": "10", + "剧情片": "11", + "战争片": "12" + }, + "homeVodNode": "//div[@class='module-items']//div[@class='module-item-cover']", + "homeVodName": "//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "//div[@class='module-item-pic']/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//div[@class='module-item-caption right']/span/text()", + "cateUrl": " https://www.lkvod.cc/show/{cateId}--------{catePg}---.html", + "cateVodNode": "//div[@class='module-items']//div[@class='module-item-cover']", + "cateVodName": "//div[@class='module-item-pic']/a/@title", + "cateVodId": "//div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "//div[@class='module-item-pic']/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//div[@class='module-item-caption right']/span/text()", + "dtUrl": "https://www.lkvod.cc/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='video-info-header']/h1/text()", + "dtImg": "//div[@class='video-cover']/div/div/img/@data-src", + "dtArea": "//a[@class='tag-link'][3]/text()", + "dtDirector": "//div[@class='video-info-items'][1]/div/a/text()", + "dtActor": "//div[@class='video-info-items'][2]/div/a/text()", + "dtYear": "//div[@class='video-info-items'][3]/div/a/text()", + "dtMark": "//div[@class='video-info-item'][1]/text()", + "dtDesc": "//p[@class='zkjj_a']/text()", + "dtFromNode": "//div[@class='module-tab module-player-tab']//div[@class='module-tab-items']//div[@class='module-tab-content']//div[contains(@class,'module-tab-item tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.lkvod.cc/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.lkvod.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/lranc.json b/XPath/lranc.json new file mode 100644 index 0000000..7232431 --- /dev/null +++ b/XPath/lranc.json @@ -0,0 +1,291 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.lranc.com", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li[contains(@class, 'dropdown-hover')]//div/ul/li/a[contains(@href, 'ystv') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/ystv/(\\S+).html", + "cateManual": { + "电影": "dydq", + "电视剧": "dsjdq", + "综艺": "zydq", + "动漫": "dmdq", + "纪录片": "jlpdq" + }, + "homeVodNode": "//div[contains(@class, 'padding-0')]//ul[contains(@class,'stui-vodlist')]/li//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/zxgk/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.lranc.com/phb/{cateId}/by/{by}/page/{catePg}/year/{year}.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]//li//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/zxgk/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.lranc.com/zxgk/{vid}.html", + "dtNode": "//body", + "dtName": "//a[contains(@class,'stui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//a[contains(@class,'stui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[contains(@class,'text-muted') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtActor": "//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtMark": "//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//p[@class='col-pd']/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='stui-pannel-box b playlist mb']//h3(@class,'title')", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='stui-pannel_bd col-pd clearfix']/ul[contains(@class, 'stui-content__playlist column8 clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/zxbf/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.lranc.com/zxbf/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.lranc.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "dydq": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "劇情片","v": "jqpdq"}, + {"n": "動作片","v": "dzpdq"}, + {"n": "科幻片","v": "khpdq"}, + {"n": "喜劇片","v": "xjpdq"}, + {"n": "愛情片","v": "aqpdq"}, + {"n": "戰爭片","v": "zzpdq"}, + {"n": "恐怖片","v": "kbpdq"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "美国","v": "美国"}, + {"n": "台湾","v": "台湾"}, + {"n": "大陆","v": "大陆"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "香港","v": "香港"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "泰国","v": "泰国"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "dsjdq": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产剧","v": "gcjdq"}, + {"n": "香港剧","v": "xgjdq"}, + {"n": "台湾剧","v": "twjdq"}, + {"n": "韩国剧","v": "hgjdq"}, + {"n": "日本剧","v": "rbjdq"}, + {"n": "海外剧","v": "hwjdq"}, + {"n": "美国剧","v": "美国"}, + {"n": "新加坡剧","v": "新加坡"}, + {"n": "泰国剧","v": "泰国"}, + {"n": "英国剧","v": "英国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "dmdq": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "zydq": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "台湾","v": "台湾"}, + {"n": "香港","v": "香港"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "jlpdq": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ] + } +} diff --git a/XPath/lumanmandongman17.json b/XPath/lumanmandongman17.json new file mode 100644 index 0000000..429b38b --- /dev/null +++ b/XPath/lumanmandongman17.json @@ -0,0 +1,75 @@ +{ + "ua": "", + "homeUrl": "https://www.17skr.com/", + "dcVipFlag": "true", + "pCfgJs": "https://www.17skr.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + //"cateNode": "//ul[contains(@class, 'navbar-nav')]/li/a[contains(@href, 'type')]", + //"cateName": "/@title", + //"cateId": "/@href", + //"cateIdR": "/type/(\\S+).html", + "cateManual": { + "日本动漫": "6", + "国产动漫": "7", + "欧美动漫": "8", + "日本动漫电影": "3", + "国产动漫电影": "4", + "欧美动漫电影": "5" + }, + + "homeVodNode": "//div[contains(@class, 'video-img-box')]", + "homeVodName": "/div[contains(@class, 'detail')]/h6/a/text()", + "homeVodId": "/div[contains(@class, 'img-box')]/a/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/div[contains(@class, 'img-box')]/a/img/@data-src", + "homeVodMark": "/div[contains(@class, 'img-box')]/a/div[contains(@class,'absolute-bottom-right')]/span/text()", + + //"cateUrl": "https://www.17skr.com/type/{cateId}_{catePg}.html", + "cateUrl": "https://www.17skr.com/vod/show/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//div[contains(@class, 'video-img-box')]", + "cateVodName": "/div[contains(@class, 'detail')]/h6/a/text()", + "cateVodId": "/div[contains(@class, 'img-box')]/a/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/div[contains(@class, 'img-box')]/a/img/@data-src", + "cateVodMark": "/div[contains(@class, 'img-box')]/a/div[contains(@class,'absolute-bottom-right')]/span/text()", + + "dtUrl": "https://www.17skr.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='module-item-pic']/a/img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='module-item-pic']/a/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='tag-link'][1]/a/span/text()", + "dtCateR": "", + "dtArea": "//div[@class='tag-link'][2]/a/span/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::div/a/span/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::div/a/span/text()", + "dtActorR": "", + "dtYear": "//span[contains(text(), '上映')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//span[contains(text(), '集数')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[contains(text(), '剧情')]/following-sibling::div/span/text()", + "dtDescR": "", + + "dtFromNode": "//div[contains(@class, 'module-tab-content')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/span/text()", + "playUrl": "https://www.17skr.com/play/{playUrl}.html", + + "searchUrl": "https://www.17skr.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=30", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/maole.json b/XPath/maole.json new file mode 100644 index 0000000..e149e6c --- /dev/null +++ b/XPath/maole.json @@ -0,0 +1,114 @@ +{ + "author":"takagen随风起舞", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "http://www.ml1080.com/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "dcShow2Vip": {}, + "pCfgJs": "http://www.ml1080.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "cateManual": { + "电影": "1", + "连续剧": "13", + "动漫": "3", + "综艺": "39" + }, + + // Home Summary ==================================================== + "homeVodNode": "//a[@class='module-poster-item module-item']", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\w+).html", + "homeVodImg": "//img[@class='lazy lazyload']/@data-original", + "homeVodMark": "//div[@class='module-item-note']/text()", + + // Category Summary ================================================ + "cateUrl": "https://www.ml1080.com/show/area/{area}/by/{by}/class/{class}/id/{cateId}/page/{catePg}/year/{year}.html", + "cateVodNode": "//a[@class='module-poster-item module-item']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\w+).html", + "cateVodImg": "//img[@class='lazy lazyload']/@data-original", + "cateVodMark": "//div[@class='module-item-note']/text()", + + // Category Details ================================================ + "dtUrl": "http://www.ml1080.com/move/{vid}.html", + "dtNode": "//div[@class='module module-info']", + "dtName": "//div[@class='module-info-main']/div[@class='module-info-heading']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='module-info-poster']//div[@class='module-item-pic']/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "/div[@class='module-info-main']/div[@class='module-info-heading']/div[@class='module-info-tag']/div[@class='module-info-tag-link'][2]/a", + "dtYear": "//div[@class='module-info-main']/div[@class='module-info-heading']/div[@class='module-info-tag']/div[@class='module-info-tag-link'][2]/a", + "dtArea": "//div[@class='module-info-main']/div[@class='module-info-heading']/div[@class='module-info-tag']/div[@class='module-info-tag-link'][1]/a", + "dtActor": "//div[@class='module-info-items']//span[contains(@class,'module-info-item-title') and contains(text(), '主演:')]/following-sibling::div/a/text()", + "dtDirector": "//div[@class='module-info-items']//span[contains(@class,'module-info-item-title') and contains(text(), '导演:')]/following-sibling::div/a/text()", + "dtDesc": "//div[@class='module-info-introduction-content']/p/text()", + + // Playlist ======================================================== + "dtFromNode": "//div[contains(@class, 'module-tab-items-box')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-play-list')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "http://www.ml1080.com/play/{playUrl}.html", + "playUa": "", + + // Search Results ================================================== + "searchUrl": "http://www.ml1080.com/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + + // Filters ======================================================= + "filter": { + "1": [ +{"name":"剧情","key":"cateId","value":[{"n":"全部","v":""},{"n":"动作片","v":"20"},{"n":"喜剧片","v":"21"},{"n":"爱情片","v":"22"},{"n":"科幻片","v":"23"},{"n":"恐怖片","v":"24"},{"n":"战争片","v":"25"},{"n":"惊悚片","v":"23"},{"n":"剧情","v":"27"},{"n":"犯罪片","v":"28"},{"n":"冒险片","v":"29"},{"n":"悬疑片","v":"30"},{"n":"武侠片","v":"31"},{"n":"奇幻片","v":"32"},{"n":"纪录片","v":"38"}]}, + +{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"惊悚","v":"惊悚"},{"n":"冒险","v":"冒险"},{"n":"网络电影","v":"网络电影"}]}, + +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, + +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]}, + +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"13": [ +{"name":"剧情","key":"cateId","value":[{"n":"全部","v":""},{"n":"国产剧","v":"13"},{"n":"港台","v":"14"},{"n":"日韩片","v":"15"},{"n":"欧美","v":"16"}]}, + +{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"古装","v":"古装"},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"网络电影"}]}, + +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, + +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]}, + +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"3": [ +{"name":"剧情","key":"cateId","value":[{"n":"全部","v":""},{"n":"小破站番剧","v":"33"},{"n":"小破站国创","v":"34"},{"n":"少儿","v":"36"}]}, + +{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]}, + +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, + +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"国产","v":"国产"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]}, + +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"39": [ +{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"真人秀","v":"真人秀"},{"n":"游戏","v":"游戏"},{"n":"歌舞","v":"歌舞"},{"n":"生活","v":"生活"},{"n":"音乐","v":"音乐"},{"n":"时尚","v":"时尚"},{"n":"搞笑","v":"搞笑"},{"n":"访谈","v":"访谈"},{"n":"情感","v":"情感"},{"n":"选秀","v":"选秀"},{"n":"美食","v":"美食"},{"n":"曲艺","v":"曲艺"}]}, + +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, + +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"韩国","v":"韩国"},{"n":"美国","v":"美国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"其他","v":"其他"}]}, + +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +] +} +} diff --git a/XPath/mayi.json b/XPath/mayi.json new file mode 100644 index 0000000..51cd2d0 --- /dev/null +++ b/XPath/mayi.json @@ -0,0 +1,335 @@ + +{ + "ua": "", + "homeUrl": "https://www.anthh.com/", + "dcVipFlag": "true", + "pCfgJs": "https://www.anthh.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", +"cateManual": { + "电影": "1", + "电视剧": "2", + "综艺": "3", + "动漫": "4"}, + "homeVodNode": "//li[@class='col-lg-6 col-md-6 col-sm-4 col-xs-3']/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "//span[contains(@class,'pic-text text-right')]/text()", + "cateUrl": "https://www.anthh.com/vodshow/{cateId}/area/{area}/by/{by}/page/{catePg}/year/{year}.html", + "cateVodNode": "//li[@class='col-lg-8 col-md-6 col-sm-4 col-xs-3']/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "//span[contains(@class,'pic-text text-right')]/text()", + "dtUrl": "https://www.anthh.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='col-xs-1']/div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='col-xs-1']/div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtMark": "//span[contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//span[@class='data']/p/text()", + "dtFromNode": "//ul[@class='nav nav-tabs active']/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='myui-content__list scrollbar sort-list clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.anthh.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.anthh.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" }, + { "n": "伦理片", "v": "22" }, + { "n": "纪录片", "v": "21" }, + { "n": "动画片", "v": "20" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "丹麦", "v": "丹麦" }, + { "n": "瑞典", "v": "瑞典" }, + { "n": "巴西", "v": "巴西" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "俄罗斯", "v": "俄罗斯" }, + { "n": "意大利", "v": "意大利" }, + { "n": "比利时", "v": "比利时" }, + { "n": "爱尔兰", "v": "爱尔兰" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2":[ + { + "key": "cateId", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "14" }, + { "n": "日韩剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "海外剧", "v": "23" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "丹麦", "v": "丹麦" }, + { "n": "瑞典", "v": "瑞典" }, + { "n": "巴西", "v": "巴西" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "俄罗斯", "v": "俄罗斯" }, + { "n": "意大利", "v": "意大利" }, + { "n": "比利时", "v": "比利时" }, + { "n": "爱尔兰", "v": "爱尔兰" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3":[ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产", "v": "国产" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "海外", "v": "海外" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3":[ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] +} +} \ No newline at end of file diff --git a/XPath/meiju56.json b/XPath/meiju56.json new file mode 100644 index 0000000..6744167 --- /dev/null +++ b/XPath/meiju56.json @@ -0,0 +1,282 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.meiju56.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.meiju56.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'search-hot hidden-xs pull-right')]/li[contains(@class, 'dropdown-hover')]//a[contains(@href, 'vodtype') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": { "电影": "1", "电视剧": "2", "综艺": "5", "动漫": "4", "纪录片": "3" }, + "homeVodNode": "//div[contains(@class, 'padding-0')]//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.meiju56.com/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li/div[contains(@class,'myui-vodlist__box')]", + "cateVodName": "/div[contains(@class,'myui-vodlist__detail')]/h4/a/@title", + "cateVodId": "/a[contains(@class,'myui-vodlist__thumb')]/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/a[contains(@class,'myui-vodlist__thumb')]/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/a[contains(@class,'myui-vodlist__thumb')]/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.meiju56.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.meiju56.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.meiju56.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "劇情片","v": "11"}, + {"n": "動作片","v": "6"}, + {"n": "科幻片","v": "9"}, + {"n": "喜劇片","v": "7"}, + {"n": "愛情片","v": "8"}, + {"n": "戰爭片","v": "12"}, + {"n": "恐怖片","v": "10"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "美国","v": "美国"}, + {"n": "台湾","v": "台湾"}, + {"n": "大陆","v": "大陆"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "香港","v": "香港"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "泰国","v": "泰国"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产剧","v": "13"}, + {"n": "港台剧","v": "14"}, + {"n": "日韩剧","v": "15"}, + {"n": "欧美剧","v": "16"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "5": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "台湾","v": "台湾"}, + {"n": "香港","v": "香港"}, + {"n": "日本","v": "日本"}, + {"n": "美國","v": "美國"}, + {"n": "美国","v": "美国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "3": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ] + } +} diff --git a/XPath/meijuchong.json b/XPath/meijuchong.json new file mode 100644 index 0000000..1648cf0 --- /dev/null +++ b/XPath/meijuchong.json @@ -0,0 +1,325 @@ +{ + "author":"率性而活", + + "homeUrl": "https://meijuchong.cc/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + + "cateNode": "//div[contains(@class,'myui-header_bd clearfix')]/ul[contains(@class,'myui-header__menu nav-menu')]/li/a[contains(@href, '.html')]", + + "cateName": "/text()", + + "cateNameR": "", + + "cateId": "/@href", + + "cateIdR": "/vodtype/(\\S+).html", + + "cateManual": {}, + + + "cateUrl": "https://meijuchong.cc/vodshow/area/{area}/by/{by}/class/{class}/id/{cateId}/page/{catePg}/year/{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist clearfix')]/li", + "cateVodName": "//li[contains(@class,'col-lg-8 col-md-6 col-sm-4 col-xs-3')]/div/a/@title", + "cateVodId": "//li[contains(@class,'col-lg-8 col-md-6 col-sm-4 col-xs-3')]/div/a/@href", + "cateVodIdR": "/voddetail/(\\S+).html", + "cateVodImg": "//li[contains(@class,'col-lg-8 col-md-6 col-sm-4 col-xs-3')]/div/a/@data-original", + "cateVodImgR": "", + "cateVodMark": "//li[contains(@class,'col-lg-8 col-md-6 col-sm-4 col-xs-3')]/div/a/span[3]/text()", + + + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://meijuchong.cc/voddetail/{vid}.html", + // 详情节点 + "dtNode": "//div[contains(@class,'col-lg-wide-75 col-md-wide-7 col-xs-1 padding-0')]", + // 视频名 + "dtName": "//div[contains(@class,'myui-content__thumb')]/a/@title", + "dtNameR": "", + // 视频图片 + "dtImg": "//div[contains(@class,'myui-content__thumb')]/a/img/@src", + "dtImgR": "", + + "dtCate": "//div[contains(@class,'myui-content__detail')]/p[1]/a[1]/text()", + "dtCateR": "", + "dtYear": "//div[contains(@class,'myui-content__detail')]/p[1]/a[3]/text()", + "dtYearR": "", + "dtArea": "//div[contains(@class,'myui-content__detail')]/p[1]/a[2]/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//div[contains(@class,'myui-content__detail')]/p[3]/a/text()", + "dtActorR": "", + "dtDirector": "//div[contains(@class,'myui-content__detail')]/p[4]/a/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(@class,'myui-panel myui-panel-bg clearfix')]/div/div[2]/div/span[1]/text() +", + "dtDescR": "", + + // 播放源节点 + "dtFromNode": "//div[@class='row']/div/div[3]/div/div[1]/div/ul/li/a", + // 播放源名称 + "dtFromName": "/text()", + // 二次处理正则 + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//ul[contains(@class,'myui-content__list scrollbar sort-list clearfix')]", + // 播放地址节点 + "dtUrlSubNode": "/li/a", + // 播放地址 + "dtUrlId": "/@href", + // 二次处理正则 + "dtUrlIdR": "/vodplay/(\\S+).html", + // 剧集名称 + "dtUrlName": "/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "https://meijuchong.cc/vodplay/{playUrl}.html", +//"playUrl": "https://gimytv.app/ep-h43-6-1.html", + // 解析webview的user-agent + "playUa": "", + + + + "searchUrl": "https://meijuchong.cc/vodsearch.html?wd={wd}&submit=", + "scVodNode": "//div[@class='wrap']//ul[contains(@class,'myui-vodlist__media clearfix')]", + "scVodName": "//div[contains(@class,'thumb')]/a/@title", + "scVodId": "//div[contains(@class,'thumb')]/a/@href", + "scVodIdR": "/voddetail/(\\S+).html", + "scVodImg": "//div[contains(@class,'thumb')]/a/@data-original", + "scVodMark": "", + "filter": { + "1": [ + + { + "key": "class", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "家庭", + "v": "家庭" + }, + { + "n": "动作", + "v": "动作" + }, + + { + "n": "动画", + "v": "动画" + }, + { + "n": "真人秀", + "v": "真人秀" + } + + ] + }, + + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + + { + "n": "美国", + "v": "美国" + } + + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + }, + { + "n": "1999", + "v": "1999" + }, + { + "n": "1998", + "v": "1998" + }, + { + "n": "1997", + "v": "1997" + }, + { + "n": "1996", + "v": "1996" + }, + { + "n": "1995", + "v": "1995" + }, + { + "n": "1994", + "v": "1994" + }, + { + "n": "1993", + "v": "1993" + }, + { + "n": "1992", + "v": "1992" + }, + { + "n": "1991", + "v": "1991" + }, + { + "n": "1990", + "v": "1990" + } + ] + }, + + + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + + } +} \ No newline at end of file diff --git a/XPath/miaomiao.json b/XPath/miaomiao.json new file mode 100644 index 0000000..d4a3f7b --- /dev/null +++ b/XPath/miaomiao.json @@ -0,0 +1,64 @@ +{ + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + //"ua": "", + "homeUrl": "https://www.2345ka.com/", + //"cateNode": "//div[@class='home-nav flex']/div/a[not(contains(@href, '6'))]", + "cateNode": "//div[@class='home-nav flex']/div/a", + "cateName": "/div[1]/text()", + "cateId": "/@href", + "cateIdR": "/t(\\S+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@id,'listId') and not(contains(@id, '6'))]/div[contains(@class,'movie-list-body')]/div[contains(@class,'movie-list-item')]", + "homeVodName": "/a/div[2]/div[1]/text()", + "homeVodId": "/a/@href", + "homeVodIdR": "/v(\\S+).html", + "homeVodImg": "/a/div[1]/div/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/a/div[2]/div[3]/text()", + "cateUrl": "https://www.2345ka.com/t/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='movie-list-body flex']/div[contains(@class,'movie-list-item')]", + "cateVodName": "/a/div[2]/div[1]/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "/v(\\S+).html", + "cateVodImg": "/a/div[1]/div/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/a/div[2]/div[3]/text()", + "dtUrl": "https://www.2345ka.com/v/{vid}.html", + "dtNode": "//div[@class='movie bj br card border-shadow']", + "dtName": "/div[@class='cf b-t1']/div[2]/div[1]/h1/text()", + "dtNameR": "", + "dtImg": "/div[@class='cf b-t1']/div[1]/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "/div[@class='cf b-t1']/div[2]/div[2]/a[@title[.!='']]/text()", + "dtCateR": "", + "dtYear": "/div[@class='cf b-t1']/div[2]/div[2]/a[not(@title)]/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtMark": "/div[@class='cf b-t1']/div[2]/p[1]/text()", + "dtMarkR": "", + "dtActor": "/div[@class='cf b-t1']/div[2]/p[2]/a/text()", + "dtActorR": "", + "dtDirector": "", + "dtDirectorR": "", + "dtDesc": "/div[2]/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='swiper-wrapper']/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='content_playlist flex wrap']", + "dtUrlSubNode": "//li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.2345ka.com/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.2345ka.com/search?wd={wd}", + "scVodNode": "//div[@class='movie-list-body flex']/div[contains(@class,'vod-search-list')]", + "scVodName": "/div/div/div[1]/div[1]/text()", + "scVodId": "/div/a/@href", + "scVodIdR": "/v(\\S+).html", + "scVodImg": "/div/a/div/@data-original", + "scVodMark": "/div/div/div[1]/div[3]/text()" +} \ No newline at end of file diff --git a/XPath/milaiyingshi.json b/XPath/milaiyingshi.json new file mode 100644 index 0000000..c228554 --- /dev/null +++ b/XPath/milaiyingshi.json @@ -0,0 +1,72 @@ +{ + "ua": "", + "homeUrl": "https://www.qdytv.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.qdytv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'myui-header__menu nav-menu')]/li[contains(@class, ' hidden-sm hidden-xs')]/a[contains(@href, 'vodtype')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4" + }, + "homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.qdytv.com/show/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.qdytv.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.qdytv.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.qdytv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/miniku.json b/XPath/miniku.json new file mode 100644 index 0000000..39c451f --- /dev/null +++ b/XPath/miniku.json @@ -0,0 +1,54 @@ +{ + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.miniku.cc", + "dcVipFlag": "true", + "pCfgJs": "https://www.miniku.cc/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class, 'nav-menu-items')]/li/a[contains(@href, 'vodtype')]", + "cateName": "/@title", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+)/", + "homeVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "homeVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "homeVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "homeVodIdR": "/voddetail/(\\w+)/", + "homeVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div[contains(@class,'module-item-text')]/text()", + "cateUrl": "https://www.miniku.cc/vodshow/{cateId}--------{catePg}---/", + "cateVodNode": "//div[@class='module-items']/div/div/div[@class='module-item-pic']", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/voddetail/(\\w+)/", + "cateVodImg": "/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "", + "dtUrl": "https://www.miniku.cc/voddetail/{vid}/", + "dtNode": "//div[@class='box view-heading']", + "dtName": "//div[@class='video-info']/div[@class='video-info-header']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//div[@class='module-item-pic']/img/@data-src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='video-info']//div[@class='tag-link']/span/following-sibling::*/text()", + "dtYear": "", + "dtArea": "", + "dtActor": "", + "dtDirector": "", + "dtDesc": "", + "dtFromNode": "//div[contains(@class, 'module-tab-content')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+)/", + "dtUrlName": "/span/text()", + "playUrl": "https://www.miniku.cc/vodplay/{playUrl}/", + "searchUrl": "https://www.miniku.cc/vodsearch/{wd}----------/", + "scVodNode": "//div[@class='module-list']", + "scVodName": "//a/@alt", + "scVodId": "/a/@href", + "scVodImg": "/img/@data-src", + "scVodMark": "" +} diff --git a/XPath/mp4dy.json b/XPath/mp4dy.json new file mode 100644 index 0000000..74abc8d --- /dev/null +++ b/XPath/mp4dy.json @@ -0,0 +1,105 @@ +{ + "ua": "", + // 首页地址 用于获取 分类和首页推荐 + "homeUrl": "https://www.domp4.cc", + // 分类节点 + "cateNode": "//ul[contains(@class,'navbar-nav')]/li/a[contains(@href, '.html') and not(contains(@href, '99')) and not(contains(/text(), '专题')) and not(contains(/text(), '索引'))]", + // 分类名 + "cateName": "/text()", + // 分类id + "cateId": "/@href", + // 分类id二次处理正则 + "cateIdR": "/list/(\\d+)-1.html", + // 手动设置分类,如果手动设置了分类则不使用上面的分类xpath获取分类 例如 "cateManual": {"电影": "1", "电视剧": "2"}, + "cateManual": {}, + // 首页推荐视频的节点 + "homeVodNode": "//div[@id='list_all']/ul//li/a", + // 首页推荐视频的名称 + "homeVodName": "/img/@alt", + // 二次处理正则 + "homeVodNameR": "", + // 首页推荐视频的id + "homeVodId": "/@href", + // 二次处理正则 + "homeVodIdR": "(\\S+).html", + // 首页推荐视频的图片 + "homeVodImg": "/img/@data-original", + // 二次处理正则 + "homeVodImgR": "", + // 首页推荐视频的简介 + "homeVodMark": "", + // 二次处理正则 + "homeVodMarkR": "", + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "https://www.domp4.cc/list/{cateId}-{catePg}.html", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//div[@id='list_all']/ul//li/a", + "cateVodName": "/img/@alt", + "cateVodNameR": "", + "cateVodId": "/@href", + "cateVodIdR": "(\\S+).html", + "cateVodImg": "/img/@data-original", + "cateVodMark": "", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://www.domp4.cc{vid}.html", + // 详情节点 + "dtNode": "//div[@class='article-header']", + // 视频名 + "dtName": "//p/em[contains(text(),'名称')]/parent::*/span/text()", + "dtNameR": "", + // 视频图片 + "dtImg": "//div[@class='pic']/img/@src", + "dtImgR": "", + // 视频分类 + "dtCate": "//div[contains(text(), '类型')]/span/a/text()", + "dtCateR": "", + // 视频年份 + "dtYear": "//em[contains(text(),'年份')]/parent::*/span/text()", + "dtYearR": "", + // 视频地区 + "dtArea": "//em[contains(text(),'地区')]/parent::*/span/text()", + "dtAreaR": "", + // 视频状态 + "dtMark": "//em[contains(text(),'更新')]/parent::*/span/text()", + "dtMarkR": "", + // 主演 + "dtActor": "//em[contains(text(),'主演')]/parent::*/span//span/a/text()", + "dtActorR": "", + // 导演 + "dtDirector": "//em[contains(text(),'导演')]/parent::*/span//span/a/text()", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "/parent::*//div[@class='article-related info']/p/text()", + "dtDescR": "", + // 播放源节点 + "dtFromNode": "//div[contains(@class,'download_url')]", + // 播放源名称 + "dtFromName": "/h2/text()", + // 二次处理正则 + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//ul[contains(@class,'down-list')]", + // 播放地址节点 + "dtUrlSubNode": "/li//a", + // 播放地址 + "dtUrlId": "@href", + // 二次处理正则 + "dtUrlIdR": "", + // 剧集名称 + "dtUrlName": "/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "{playUrl}", + // 解析webview的user-agent + "playUa": "", + // 搜索地址 + "searchUrl": "https://www.domp4.cc/search/{wd}.html", + // 同上面的homeVod字段 搜索结果中的视频信息, 这里有对苹果cms suggest搜索接口的特殊支持,参考示例中的极品影视 + "scVodNode": "//div[@id='list_all']/ul//li/a", + "scVodName": "/img/@alt", + "scVodId": "/@href", + "scVodIdR": "(\\S+).html", + "scVodImg": "/img/@data-original", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/myys.json b/XPath/myys.json new file mode 100644 index 0000000..51cd2d0 --- /dev/null +++ b/XPath/myys.json @@ -0,0 +1,335 @@ + +{ + "ua": "", + "homeUrl": "https://www.anthh.com/", + "dcVipFlag": "true", + "pCfgJs": "https://www.anthh.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", +"cateManual": { + "电影": "1", + "电视剧": "2", + "综艺": "3", + "动漫": "4"}, + "homeVodNode": "//li[@class='col-lg-6 col-md-6 col-sm-4 col-xs-3']/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "//span[contains(@class,'pic-text text-right')]/text()", + "cateUrl": "https://www.anthh.com/vodshow/{cateId}/area/{area}/by/{by}/page/{catePg}/year/{year}.html", + "cateVodNode": "//li[@class='col-lg-8 col-md-6 col-sm-4 col-xs-3']/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "//span[contains(@class,'pic-text text-right')]/text()", + "dtUrl": "https://www.anthh.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='col-xs-1']/div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='col-xs-1']/div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtMark": "//span[contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//span[@class='data']/p/text()", + "dtFromNode": "//ul[@class='nav nav-tabs active']/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='myui-content__list scrollbar sort-list clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.anthh.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.anthh.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" }, + { "n": "伦理片", "v": "22" }, + { "n": "纪录片", "v": "21" }, + { "n": "动画片", "v": "20" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "丹麦", "v": "丹麦" }, + { "n": "瑞典", "v": "瑞典" }, + { "n": "巴西", "v": "巴西" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "俄罗斯", "v": "俄罗斯" }, + { "n": "意大利", "v": "意大利" }, + { "n": "比利时", "v": "比利时" }, + { "n": "爱尔兰", "v": "爱尔兰" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2":[ + { + "key": "cateId", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "14" }, + { "n": "日韩剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "海外剧", "v": "23" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "英国", "v": "英国" }, + { "n": "法国", "v": "法国" }, + { "n": "德国", "v": "德国" }, + { "n": "印度", "v": "印度" }, + { "n": "泰国", "v": "泰国" }, + { "n": "丹麦", "v": "丹麦" }, + { "n": "瑞典", "v": "瑞典" }, + { "n": "巴西", "v": "巴西" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "俄罗斯", "v": "俄罗斯" }, + { "n": "意大利", "v": "意大利" }, + { "n": "比利时", "v": "比利时" }, + { "n": "爱尔兰", "v": "爱尔兰" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3":[ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产", "v": "国产" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "海外", "v": "海外" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3":[ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" }, + { "n": "2003", "v": "2003" }, + { "n": "2002", "v": "2002" }, + { "n": "2001", "v": "2001" }, + { "n": "2000", "v": "2000" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] +} +} \ No newline at end of file diff --git a/XPath/naifeiorg.json b/XPath/naifeiorg.json new file mode 100644 index 0000000..32b1e42 --- /dev/null +++ b/XPath/naifeiorg.json @@ -0,0 +1,555 @@ +{ + "author":"20220722", + "ua": "", + "homeUrl": "https://www.naifei.org/", + "dcPlayUrl": "true", + "cateManual": { + "电影": "dy", + "电视剧": "juji", + "综艺": "zongyi", + "动漫": "dongman", + "纪录片": "jilupian" + }, + "homeVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "homeVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "homeVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div[contains(@class,'module-item-text')]/text()", + + "cateUrl": "https://www.naifei.org/vodshow/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/year/{year}/page/{catePg}.html", + "cateVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "cateVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "cateVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div[contains(@class,'module-item-text')]/text()", + + "dtUrl": "https://www.naifei.org/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'video-info-header')]/h1[@class='page-title']/a/text()", + "dtNameR": "", + "dtImg": "//div[@class=('module-item-pic')]/img/@src", + "dtImgR": "(http\\S+)", + "dtCate": "//div[contains(@class,'tag-link')]/a/text()", + "dtCateR": "", + "dtYear": "//a[@class='tag-link'][2]/text()", + "dtArea": "//a[@class='tag-link'][3]/text()", + "dtAreaR": "", + "dtDesc": "//span[contains(text(), '剧情')]/parent::*/div/span/text()", + "dtDescR": "", + "dtActor": "concat(//span[contains(text(), '主演')]/parent::*/div/a/text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(), '导演')]/parent::*/div/a/text())", + "dtDirectorR": "", + + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'module-tab-content')]//div[contains(@class,'sort-item')]", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.naifei.org/vodplay/{playUrl}.html", + "playUa": "", + + "searchUrl": "https://www.naifei.org/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + + "filter":{ + "dy":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": "1"}, + {"n": "动作片","v": "dongzuopian"}, + {"n": "喜剧片","v": "xijupian"}, + {"n": "爱情片","v": "aiqingpian"}, + {"n": "犯罪片","v": "fanzuipian"}, + {"n": "恐怖片","v": "kongbupian"}, + {"n": "惊悚片","v": "jingsongpian"}, + {"n": "悬疑片","v": "xuanyipian"}, + {"n": "奇幻片","v": "qihuanpian"}, + {"n": "魔幻片","v": "mehuanpian"}, + {"n": "剧情片","v": "juqingpian"}, + {"n": "动画片","v": "donghuapian"}, + {"n": "战争片","v": "zhanzhengpian"}, + {"n": "科幻片","v": "kehuanpian"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"}, + {"n": "枪战","v": "枪战"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "经典","v": "经典"}, + {"n": "青春","v": "青春"}, + {"n": "文艺","v": "文艺"}, + {"n": "微电影","v": "微电影"}, + {"n": "古装","v": "古装"}, + {"n": "历史","v": "历史"}, + {"n": "运动","v": "运动"}, + {"n": "农村","v": "农村"}, + {"n": "儿童","v": "儿童"}, + {"n": "网络电影","v": "网络电影"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "韩国","v": "韩国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "普通话","v": "普通话"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其它","v": "其它"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "juji":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "国产剧","v": "guochanju"}, + {"n": "香港剧","v": "xianggangju"}, + {"n": "台湾剧","v": "taiwanju"}, + {"n": "欧美剧","v": "oumeiju"}, + {"n": "英伦剧","v": "yinglunju"}, + {"n": "日本剧","v": "ribenju"}, + {"n": "韩国剧","v": "hanguoju"}, + {"n": "东南亚","v": "dongnanya"}, + {"n": "其他剧","v": "qitaju"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "爱情","v": "爱情"}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春","v": "青春"}, + {"n": "偶像","v": "偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"}, + {"n": "商战","v": "商战"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "网剧","v": "网剧"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "zongyi":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "大陆综艺","v": "daluzongyi"}, + {"n": "港台综艺","v": "gangtaizongyi"}, + {"n": "日韩综艺","v": "rihanzongyi"}, + {"n": "欧美综艺","v": "oumeizongyi"}, + {"n": "其他综艺","v": "qitazongyi"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "奇幻"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "港台","v": "港台"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "普通话","v": "普通话"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其它","v": "其它"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "dongman":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "国产动漫","v": "guochandongman"}, + {"n": "日韩动漫","v": "rihandongman"}, + {"n": "欧美动漫","v": "oumeidongman"}, + {"n": "其他动漫","v": "qitadongman"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "原创","v": "原创"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其它","v": "其它"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "jilupian":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "人物","v": "人物"}, + {"n": "军事","v": "军事"}, + {"n": "历史","v": "历史"}, + {"n": "文化","v": "文化"}, + {"n": "探索","v": "探索"}, + {"n": "科技","v": "科技"}, + {"n": "自然","v": "自然"}, + {"n": "解密","v": "解密"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "韩国","v": "韩国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "普通话","v": "普通话"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + } + } \ No newline at end of file diff --git a/XPath/naifeizhongwen.json b/XPath/naifeizhongwen.json new file mode 100644 index 0000000..21229b1 --- /dev/null +++ b/XPath/naifeizhongwen.json @@ -0,0 +1,555 @@ +{ + "author":"20220522", + "ua": "", + "homeUrl": "https://www.naifei.org/", + "dcPlayUrl": "true", + "cateManual": { + "电影": "dy", + "剧集": "juji", + "综艺": "zongyi", + "动漫": "dongman", + "纪录片": "jilupian" + }, + "homeVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "homeVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "homeVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div[contains(@class,'module-item-text')]/text()", + + "cateUrl": "https://www.naifei.org/vodshow/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/year/{year}/page/{catePg}.html", + "cateVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "cateVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "cateVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div[contains(@class,'module-item-text')]/text()", + + "dtUrl": "https://www.naifei.org/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'video-info-header')]/h1[@class='page-title']/a/text()", + "dtNameR": "", + "dtImg": "//div[@class=('module-item-pic')]/img/@src", + "dtImgR": "(http\\S+)", + "dtCate": "//div[contains(@class,'tag-link')]/a/text()", + "dtCateR": "", + "dtYear": "//a[@class='tag-link'][2]/text()", + "dtArea": "//a[@class='tag-link'][3]/text()", + "dtAreaR": "", + "dtDesc": "//span[contains(text(), '剧情')]/parent::*/div/span/text()", + "dtDescR": "", + "dtActor": "concat(//span[contains(text(), '主演')]/parent::*/div/a/text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(), '导演')]/parent::*/div/a/text())", + "dtDirectorR": "", + + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'module-tab-content')]//div[contains(@class,'sort-item')]", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.naifei.org/vodplay/{playUrl}.html", + "playUa": "", + + "searchUrl": "https://www.naifei.org/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + + "filter":{ + "dy":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": "1"}, + {"n": "动作片","v": "dongzuopian"}, + {"n": "喜剧片","v": "xijupian"}, + {"n": "爱情片","v": "aiqingpian"}, + {"n": "犯罪片","v": "fanzuipian"}, + {"n": "恐怖片","v": "kongbupian"}, + {"n": "惊悚片","v": "jingsongpian"}, + {"n": "悬疑片","v": "xuanyipian"}, + {"n": "奇幻片","v": "qihuanpian"}, + {"n": "魔幻片","v": "mehuanpian"}, + {"n": "剧情片","v": "juqingpian"}, + {"n": "动画片","v": "donghuapian"}, + {"n": "战争片","v": "zhanzhengpian"}, + {"n": "科幻片","v": "kehuanpian"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"}, + {"n": "枪战","v": "枪战"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "经典","v": "经典"}, + {"n": "青春","v": "青春"}, + {"n": "文艺","v": "文艺"}, + {"n": "微电影","v": "微电影"}, + {"n": "古装","v": "古装"}, + {"n": "历史","v": "历史"}, + {"n": "运动","v": "运动"}, + {"n": "农村","v": "农村"}, + {"n": "儿童","v": "儿童"}, + {"n": "网络电影","v": "网络电影"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "韩国","v": "韩国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "普通话","v": "普通话"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其它","v": "其它"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "juji":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "国产剧","v": "guochanju"}, + {"n": "香港剧","v": "xianggangju"}, + {"n": "台湾剧","v": "taiwanju"}, + {"n": "欧美剧","v": "oumeiju"}, + {"n": "英伦剧","v": "yinglunju"}, + {"n": "日本剧","v": "ribenju"}, + {"n": "韩国剧","v": "hanguoju"}, + {"n": "东南亚","v": "dongnanya"}, + {"n": "其他剧","v": "qitaju"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "爱情","v": "爱情"}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春","v": "青春"}, + {"n": "偶像","v": "偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"}, + {"n": "商战","v": "商战"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "网剧","v": "网剧"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "zongyi":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "大陆综艺","v": "daluzongyi"}, + {"n": "港台综艺","v": "gangtaizongyi"}, + {"n": "日韩综艺","v": "rihanzongyi"}, + {"n": "欧美综艺","v": "oumeizongyi"}, + {"n": "其他综艺","v": "qitazongyi"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "奇幻"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "港台","v": "港台"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "普通话","v": "普通话"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其它","v": "其它"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "dongman":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "国产动漫","v": "guochandongman"}, + {"n": "日韩动漫","v": "rihandongman"}, + {"n": "欧美动漫","v": "oumeidongman"}, + {"n": "其他动漫","v": "qitadongman"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "原创","v": "原创"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其它","v": "其它"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "jilupian":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "人物","v": "人物"}, + {"n": "军事","v": "军事"}, + {"n": "历史","v": "历史"}, + {"n": "文化","v": "文化"}, + {"n": "探索","v": "探索"}, + {"n": "科技","v": "科技"}, + {"n": "自然","v": "自然"}, + {"n": "解密","v": "解密"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "韩国","v": "韩国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "普通话","v": "普通话"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + } + } \ No newline at end of file diff --git a/XPath/naikan1k.json b/XPath/naikan1k.json new file mode 100644 index 0000000..6b0a60a --- /dev/null +++ b/XPath/naikan1k.json @@ -0,0 +1,279 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.lkvod.cc/", + "dcVipFlag": "true", + "pCfgJs": "https://www.lkvod.cc/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "综艺": "3" + }, + "homeVodNode": "//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "//img/@data-src", + "homeVodImgR": "", + "homeVodMark": "//div[contains(@class,'right')]/span/text()", + // "cateUrl": "https://www.lkvod.cc/type/{cateId}-{catePg}.html", + "cateUrl": "https://www.lkvod.cc/show/{cateId}-{area}-{by}------{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-item']", + "cateVodName": "//div[@class='module-item-pic']/a/@title", + "cateVodId": "//div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "//img/@data-src", + "cateVodImgR": "", + "cateVodMark": "//div[contains(@class,'right')]/span/text()", + "dtUrl": "https://www.lkvod.cc/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[@class='page-title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//img/@data-src", + "dtImgR": "", + "dtCate": "//div[@class='tag-link']/a[position()>1]/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年代')]/following-sibling::div/a/text()", + "dtYearR": "", + "dtArea": "//a[3][@class='tag-link']/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::div/a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::div/a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '剧情')]/following-sibling::div/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='module-tab-item tab-item']/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='sort-item']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.lkvod.cc/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.lkvod.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "韩国", "v": "韩国" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "印度", "v": "印度" }, + { "n": "法国", "v": "法国" }, + { "n": "意大利", "v": "意大利" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "14" }, + { "n": "日韩剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "其他剧", "v": "20" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "韩国", "v": "韩国" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产", "v": "国产" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/nailuoyingyuan.json b/XPath/nailuoyingyuan.json new file mode 100644 index 0000000..ff955cb --- /dev/null +++ b/XPath/nailuoyingyuan.json @@ -0,0 +1,64 @@ +{ + "ua": "", + "homeUrl": "https://newfii.com", + "cateNode": "//ul[contains(@class,'nav-menu-items')]/li[contains(@class, 'nav-menu-item')]/a[contains(@href,'index.php/vod/type/id')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/type/id/(\\d+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4" + }, + "homeVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "homeVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "homeVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\w+)", + "homeVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@data-src", + "homeVodMark": "/div[contains(@class,'module-item-text')]/text()", + "cateUrl": "https://newfii.com/index.php/vod/type/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//div[@class='module-items']//div[@class='module-item-pic']", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+)", + "cateVodImg": "/img/@data-src", + "cateVodMark": "", + "dtUrl": "https://newfii.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//div[contains(@class, 'box view-heading')]", + "dtName": "/div[@class='video-info']/div[@class='video-info-header']/h1/text()", + "dtNameR": "", + "dtImg": "/div[@class='video-cover']//div[@class='module-item-pic']/img/@data-src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "", + "dtCateR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '导演')]/following-sibling::div/span/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '主演')]/following-sibling::div/span/following-sibling::*/text()", + "dtActorR": "", + "dtYear": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '年代')]/following-sibling::div/span/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '集数')]/following-sibling::div/span/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[contains(@class,'video-info-itemtitle') and contains(text(), '剧情')]/following-sibling::div/span/following-sibling::*/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class, 'module-tab-content')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "@href", + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://newfii.com/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + "searchUrl": "https://newfii.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/nmys.json b/XPath/nmys.json new file mode 100644 index 0000000..b6a3d3f --- /dev/null +++ b/XPath/nmys.json @@ -0,0 +1,301 @@ + { + "author": "春风", + "ua": "Mozilla/5.0 (Linux; Android 10; LYA-AL00; HMSCore 6.4.0.312; GMSCore 20.15.16) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.4.300 Mobile Safari/537.36", + "homeUrl": "https://v.xiangdao.me", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "综艺": "3" + }, + "homeVodNode": "//section/section[position()>2]//ul[@class='resize_list']/li/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(S+).html", + "homeVodImg": "//@data-echo", + "homeVodImgR": "", + "homeVodMark": "/div/span[2]/span/text()", + "cateUrl": "https://v.xiangdao.me/index.php?m=vod-list-id-{cateId}-pg-{catePg}.html", + "cateVodNode": "//ul[@class='resize_list']/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(S+).html", + "cateVodImg": "//@data-echo", + "cateVodImgR": "", + "cateVodMark": "/div/span[2]/span/em/text()", + "dtUrl": "https://v.xiangdao.me/{vid}.html", + "dtNode": "//body", + "dtName": "//section[@class='page-hd']/a/@title", + "dtNameR": "", + "dtImg": "//section[@class='page-hd']/a/img/@src", + "dtImgR": "", + "dtCate": "", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年代')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//article[@class='detail-con']/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='hd']/ul/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='numList']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://v.xiangdao.me/{playUrl}.html", + "playUa": "", + "searchUrl": "https://v.xiangdao.me/index.php?m=vod-search&wd={wd}", + "scVodNode": "//ul[@class='ulPicTxt clearfix']/li", + "scVodName": "//span[@class='sTit']/text()", + "scVodId": "//span[@class='sBtn']/a/@href", + "scVodIdR": "/(S+).html", + "scVodImg": "//img/@data-src", + "scVodMark": "//span[@class='sDes'][2]/text()", + "filter":{ + "1": [ + { + "name":"类型", + "key":"cateId", + "value":[ + {"n":"全部","v":"1"}, + {"n":"动作片","v":"5"}, + {"n":"喜剧片","v":"6"}, + {"n":"爱情片","v":"7"}, + {"n":"科幻片","v":"8"}, + {"n":"恐怖片","v":"9"}, + {"n":"剧情片","v":"10"}, + {"n":"战争片","v":"11"}, + {"n":"惊悚片","v":"16"}, + {"n":"奇幻片","v":"17"} + ]}, + { + "name":"年份", + "key":"year", + "value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"} + ]}, + { + "name":"地区", + "key":"area", + "value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"米国","v":"米国"}, + {"n":"韩国","v":"韩国"}, + {"n":"日本","v":"日本"}, + {"n":"泰国","v":"泰国"}, + {"n":"新加坡","v":"新加坡"}, + {"n":"马来西亚","v":"马来西亚"}, + {"n":"印度","v":"印度"}, + {"n":"英国","v":"英国"}, + {"n":"法国","v":"法国"}, + {"n":"加拿大","v":"加拿大"} + ]}, + { + "name":"排序", + "key":"by", + "value":[ + {"n":"全部","v":""}, + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"} + ]} + ], + "2": [ + { + "name":"类型", + "key":"cateId", + "value":[ + {"n":"全部","v":"2"}, + {"n":"国产剧","v":"12"}, + {"n":"港台剧","v":"13"}, + {"n":"日韩剧","v":"14"}, + {"n":"欧美剧","v":"15"} + ]}, + { + "name":"年份", + "key":"year", + "value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"} + ]}, + { + "name":"地区", + "key":"area", + "value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"米国","v":"米国"}, + {"n":"韩国","v":"韩国"}, + {"n":"日本","v":"日本"}, + {"n":"泰国","v":"泰国"}, + {"n":"新加坡","v":"新加坡"}, + {"n":"马来西亚","v":"马来西亚"}, + {"n":"印度","v":"印度"}, + {"n":"英国","v":"英国"}, + {"n":"法国","v":"法国"}, + {"n":"加拿大","v":"加拿大"} + ]}, + { + "name":"排序", + "key":"by", + "value":[ + {"n":"全部","v":""}, + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"} + ]} + ], + "3": [ + { + "name":"类型", + "key":"cateId", + "value":[ + {"n":"全部","v":"3"} + ]}, + { + "name":"年份", + "key":"year", + "value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"} + ]}, + { + "name":"地区", + "key":"area", + "value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"米国","v":"米国"}, + {"n":"韩国","v":"韩国"}, + {"n":"日本","v":"日本"}, + {"n":"泰国","v":"泰国"}, + {"n":"新加坡","v":"新加坡"}, + {"n":"马来西亚","v":"马来西亚"}, + {"n":"印度","v":"印度"}, + {"n":"英国","v":"英国"}, + {"n":"法国","v":"法国"}, + {"n":"加拿大","v":"加拿大"} + ]}, + { + "name":"排序", + "key":"by", + "value":[ + {"n":"全部","v":""}, + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"} + ]} + ], + "4": [ + { + "name":"类型", + "key":"cateId", + "value":[ + {"n":"全部","v":"4"}, + {"n":"动漫剧","v":"18"}, + {"n":"动漫片","v":"19"} + ]}, + { + "name":"年份", + "key":"year", + "value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"} + ]}, + { + "name":"地区", + "key":"area", + "value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"米国","v":"米国"}, + {"n":"韩国","v":"韩国"}, + {"n":"日本","v":"日本"}, + {"n":"泰国","v":"泰国"}, + {"n":"新加坡","v":"新加坡"}, + {"n":"马来西亚","v":"马来西亚"}, + {"n":"印度","v":"印度"}, + {"n":"英国","v":"英国"}, + {"n":"法国","v":"法国"}, + {"n":"加拿大","v":"加拿大"} + ]}, + { + "name":"排序", + "key":"by", + "value":[ + {"n":"全部","v":""}, + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"} + ]} + ] + } + } \ No newline at end of file diff --git a/XPath/nongmingyingshi.json b/XPath/nongmingyingshi.json new file mode 100644 index 0000000..f6921f9 --- /dev/null +++ b/XPath/nongmingyingshi.json @@ -0,0 +1,90 @@ +{ + "ua": "", + "homeUrl": "https://nmdvd.top", + "cateNode": "//div[@class='nav_c']", + "cateName": "//a[contains(@href,'/vod-type-id')]/text()", + "cateId": "//a[contains(@href,'/vod-type-id')]/@href", + "cateIdR": "vod-type-id-(\\d+)-pg-1.html", + "cateManual": {"电影":"1","电视剧":"2","综艺":"3","动漫":"4"}, + "homeVodNode": "//ul[contains(@id,'index_tt')]/li/a[@class='b_a']", + "homeVodName": "/@title", + "homeVodNameR": "", + "homeVodId": "/@href", + "homeVodIdR": "/vod-detail-id-(\\w+).html", + "homeVodImg": "/img/@src", + "homeVodImgR": "", + "homeVodMark": "/font/text()", + "homeVodMarkR": "", + "cateUrl": "https://nmdvd.top/vod-list-id-{cateId}-pg-{catePg}-order--by-{by}-class--year-{year}-letter--area-{area}-lang-.html", + "cateVodNode": "//ul[@class='list_01 list_01_03_02']/li/a[@class='b_a']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod-detail-id-(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/font/text()", + "dtUrl": "https://nmdvd.top/vod-detail-id-{vid}.html", + "dtNode": "//div[@class='g_box_02']", + "dtName": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='fen']/h1/text()", + "dtNameR": "", + "dtImg": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='lef']/img/@src", + "dtImgR": "", + "dtCate": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='lef-sort']/div[@class='d_z_y'][3]/font/a/text()", + "dtCateR": "", + "dtYear": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='lef-sort']/div[@class='d_z_y'][6]/font/a/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='lef-sort']/div[@class='d_z_y'][2]/font/a/text()", + "dtActorR": "", + "dtDirector": "/div[@class='content_01 content_01_bg delay-h']/div[@class='video_tv_cont_01']/div[@class='cont']/div[@class='rig']/div[@class='lef-sort']/div[@class='d_z_y'][1]/font/a/text()", + "dtDirectorR": "", + "dtDesc": "/div[@class='new-left']/div[@class='content_01 content_01_bg']/ul[@class='list_06']/div[@class='jjie']", + "dtDescR": "", + "dtFromNode": "//div[@class='block_ku clear']", + "dtFromName": "/div[@class='soybox']/h2/span/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='soyurl']", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://nmdvd.top/{playUrl}.html", + "playUa": "", + "searchUrl": "https://nmdvd.top/index.php?m=vod-search&wd={wd}", + "scVodNode": "//ul[@class='list_01 list_01_03_02']/li/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vod-detail-id-(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/font/text()", + "filter":{ +"1": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"1"},{"n":"动作片","v":"5"},{"n":"喜剧片","v":"6"},{"n":"爱情片","v":"7"},{"n":"科幻片","v":"8"},{"n":"恐怖片","v":"9"},{"n":"剧情片","v":"10"},{"n":"战争片","v":"11"},{"n":"惊悚片","v":"16"},{"n":"奇幻片","v":"17"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"2": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"12"},{"n":"港台剧","v":"13"},{"n":"日韩剧","v":"14"},{"n":"欧美剧","v":"15"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"3": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"3"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"4": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"4"},{"n":"动漫剧","v":"18"},{"n":"动漫片","v":"19"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +] +} + +} \ No newline at end of file diff --git a/XPath/nongminyingshi.json b/XPath/nongminyingshi.json new file mode 100644 index 0000000..a216fce --- /dev/null +++ b/XPath/nongminyingshi.json @@ -0,0 +1,90 @@ +{ + "author": "春风", + "ua": "Mozilla/5.0 (Linux; Android 10; LYA-AL00; HMSCore 6.4.0.312; GMSCore 20.15.16) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.4.300 Mobile Safari/537.36", + "homeUrl": "https://v.xiangdao.me", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "综艺": "3" + + }, + "homeVodNode": "//section/section[position()>2]//ul[@class='resize_list']/li/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\S+).html", + "homeVodImg": "//@data-echo", + "homeVodImgR": "", + "homeVodMark": "/div/span[2]/span/text()", + "cateUrl": "https://v.xiangdao.me/index.php?m=vod-list-id-{cateId}-pg-{catePg}.html", + "cateVodNode": "//ul[@class='resize_list']/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\S+).html", + "cateVodImg": "//@data-echo", + "cateVodImgR": "", + "cateVodMark": "/div/span[2]/span/em/text()", + "dtUrl": "https://v.xiangdao.me/{vid}.html", + "dtNode": "//body", + "dtName": "//section[@class='page-hd']/a/@title", + "dtNameR": "", + "dtImg": "//section[@class='page-hd']/a/img/@src", + "dtImgR": "", + "dtCate": "", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年代')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//article[@class='detail-con']/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='hd']/ul/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='numList']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://v.xiangdao.me/{playUrl}.html", + "playUa": "", + "searchUrl": "https://v.xiangdao.me/index.php?m=vod-search&wd={wd}", + "scVodNode": "//ul[@class='ulPicTxt clearfix']/li", + "scVodName": "//span[@class='sTit']/text()", + "scVodId": "//span[@class='sBtn']/a/@href", + "scVodIdR": "/(\\S+).html", + "scVodImg": "//img/@data-src", + "scVodMark": "//span[@class='sDes'][2]/text()", + "filter":{ +"1": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"1"},{"n":"动作片","v":"5"},{"n":"喜剧片","v":"6"},{"n":"爱情片","v":"7"},{"n":"科幻片","v":"8"},{"n":"恐怖片","v":"9"},{"n":"剧情片","v":"10"},{"n":"战争片","v":"11"},{"n":"惊悚片","v":"16"},{"n":"奇幻片","v":"17"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"2": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"12"},{"n":"港台剧","v":"13"},{"n":"日韩剧","v":"14"},{"n":"欧美剧","v":"15"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"3": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"3"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"4": [ +{"name":"类型","key":"cateId","value":[{"n":"全部","v":"4"},{"n":"动漫剧","v":"18"},{"n":"动漫片","v":"19"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"米国","v":"米国"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"泰国","v":"泰国"},{"n":"新加坡","v":"新加坡"},{"n":"马来西亚","v":"马来西亚"},{"n":"印度","v":"印度"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"加拿大","v":"加拿大"}]}, +{"name":"排序","key":"by","value":[{"n":"全部","v":""},{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +] +}} diff --git a/XPath/olevod.json b/XPath/olevod.json new file mode 100644 index 0000000..19529f0 --- /dev/null +++ b/XPath/olevod.json @@ -0,0 +1,474 @@ +{ + "author":"takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://olevod.com", + "dcVipFlag": "true", + "pCfgJs": "https://olevod.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'top_nav clearfix')]//li/a[contains(@href,'type')and not(contains(@href,'5'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/type/id/(\\d+).html", + "cateManual": { + "电影": "1", + "国产剧": "202", + "港台剧": "203", + "欧美剧": "201", + "日韩剧": "204", + "综艺": "3", + "日漫": "401", + "国漫": "402", + "欧美": "403", + "动漫": "4" + }, + +// Home Summary ================================================ + "homeVodNode": "//div[contains(@class, 'pannel')]//ul[contains(@class,'vodlist vodlist_wi list_v12 clearfix')]/li/a[contains(@class,'vodlist_thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[@class='pic_text text_right']/em/text()", + +// Category Summary ================================================ + "cateUrl": "https://olevod.com/index.php/vod/show{area}/id/{cateId}/page/{catePg}{year}.html", + "cateVodNode": "//ul[contains(@class,'vodlist vodlist_wi')]//li//a[contains(@class,'vodlist_thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[@class='pic_text text_right']/em/text()", + +// Category Details ================================================ + "dtUrl": "https://olevod.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//div[contains(@class,'hot_banner')]", + "dtName": "//div[@class='content_box clearfix']/div/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='content_box clearfix']/div/a/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtYear": "//div[contains(@class,'content_detail')]//span[contains(@class,'text_muted hidden_xs') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[contains(@class,'content_detail')]//span[contains(@class,'text_muted hidden_xs') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtCate": "//div[contains(@class,'content_detail')]//span[contains(@class,'text_muted hidden_xs') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtMark": "//div[contains(@class,'content_detail')]//span[contains(text(), '状态')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[contains(@class,'content_detail')]//span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[contains(@class,'content_detail')]//span[contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "///div[contains(@class,'content_detail')]//span[contains(@class,'left text_muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + +// Playlist ===================================================== + "dtFromNode": "//div[contains(@class,'play_source_tab')]/a", + "dtFromName": "/@alt", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'playlist_full')]/ul[contains(@class,'content_playlist clearfix')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://olevod.com/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + +// Search Results ================================================ + "searchUrl": "https://olevod.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + +// Filters ======================================================= + "filter": { + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "印度","v": "/area/印度"}, + {"n": "法国","v": "/area/法国"}, + {"n": "加拿大","v": "/area/加拿大"}, + {"n": "西班牙","v": "/area/西班牙"}, + {"n": "德国","v": "/area/德国"}, + {"n": "俄罗斯","v": "/area/俄罗斯"}, + {"n": "意大利","v": "/area/意大利"}, + {"n": "新加坡","v": "/area/新加坡"}, + {"n": "马来西亚","v": "/area/马来西亚"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "202": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "203": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "201": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "204": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "401": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "402": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "403": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/onedianshi.json b/XPath/onedianshi.json new file mode 100644 index 0000000..91799f1 --- /dev/null +++ b/XPath/onedianshi.json @@ -0,0 +1,60 @@ +{ + "ua": "", + "homeUrl": "https://www.onedianshi.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.onedianshi.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[@class='myui-header__menu']/li/a[contains(@href, 'vod')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vod/type/id/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vod/detail/id/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.onedianshi.com/index.php/vod/show/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/detail/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.onedianshi.com/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtDesc": "//span[contains(text(), '简介')]/following-sibling::span/text()", + "dtFromNode": "//ul[contains(@class,'nav-tabs')]/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.onedianshi.com/vod/play/id/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.onedianshi.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} + + diff --git a/XPath/oule.json b/XPath/oule.json new file mode 100644 index 0000000..19529f0 --- /dev/null +++ b/XPath/oule.json @@ -0,0 +1,474 @@ +{ + "author":"takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://olevod.com", + "dcVipFlag": "true", + "pCfgJs": "https://olevod.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'top_nav clearfix')]//li/a[contains(@href,'type')and not(contains(@href,'5'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/type/id/(\\d+).html", + "cateManual": { + "电影": "1", + "国产剧": "202", + "港台剧": "203", + "欧美剧": "201", + "日韩剧": "204", + "综艺": "3", + "日漫": "401", + "国漫": "402", + "欧美": "403", + "动漫": "4" + }, + +// Home Summary ================================================ + "homeVodNode": "//div[contains(@class, 'pannel')]//ul[contains(@class,'vodlist vodlist_wi list_v12 clearfix')]/li/a[contains(@class,'vodlist_thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[@class='pic_text text_right']/em/text()", + +// Category Summary ================================================ + "cateUrl": "https://olevod.com/index.php/vod/show{area}/id/{cateId}/page/{catePg}{year}.html", + "cateVodNode": "//ul[contains(@class,'vodlist vodlist_wi')]//li//a[contains(@class,'vodlist_thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[@class='pic_text text_right']/em/text()", + +// Category Details ================================================ + "dtUrl": "https://olevod.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//div[contains(@class,'hot_banner')]", + "dtName": "//div[@class='content_box clearfix']/div/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='content_box clearfix']/div/a/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtYear": "//div[contains(@class,'content_detail')]//span[contains(@class,'text_muted hidden_xs') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[contains(@class,'content_detail')]//span[contains(@class,'text_muted hidden_xs') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtCate": "//div[contains(@class,'content_detail')]//span[contains(@class,'text_muted hidden_xs') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtMark": "//div[contains(@class,'content_detail')]//span[contains(text(), '状态')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[contains(@class,'content_detail')]//span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[contains(@class,'content_detail')]//span[contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "///div[contains(@class,'content_detail')]//span[contains(@class,'left text_muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + +// Playlist ===================================================== + "dtFromNode": "//div[contains(@class,'play_source_tab')]/a", + "dtFromName": "/@alt", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'playlist_full')]/ul[contains(@class,'content_playlist clearfix')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://olevod.com/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + +// Search Results ================================================ + "searchUrl": "https://olevod.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + +// Filters ======================================================= + "filter": { + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "印度","v": "/area/印度"}, + {"n": "法国","v": "/area/法国"}, + {"n": "加拿大","v": "/area/加拿大"}, + {"n": "西班牙","v": "/area/西班牙"}, + {"n": "德国","v": "/area/德国"}, + {"n": "俄罗斯","v": "/area/俄罗斯"}, + {"n": "意大利","v": "/area/意大利"}, + {"n": "新加坡","v": "/area/新加坡"}, + {"n": "马来西亚","v": "/area/马来西亚"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "202": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "203": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "201": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "204": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "401": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "402": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "403": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "/area/大陆"}, + {"n": "香港","v": "/area/香港"}, + {"n": "台湾","v": "/area/台湾"}, + {"n": "美国","v": "/area/美国"}, + {"n": "英国","v": "/area/英国"}, + {"n": "日本","v": "/area/日本"}, + {"n": "韩国","v": "/area/韩国"}, + {"n": "泰国","v": "/area/泰国"}, + {"n": "其他","v": "/area/其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "/year/2022"}, + {"n": "2021","v": "/year/2021"}, + {"n": "2020","v": "/year/2020"}, + {"n": "2019","v": "/year/2019"}, + {"n": "2018","v": "/year/2018"}, + {"n": "2017","v": "/year/2017"}, + {"n": "2016","v": "/year/2016"}, + {"n": "2015","v": "/year/2015"}, + {"n": "2014","v": "/year/2014"}, + {"n": "2013","v": "/year/2013"}, + {"n": "2012","v": "/year/2012"}, + {"n": "2011","v": "/year/2011"}, + {"n": "2010","v": "/year/2010"}, + {"n": "2009","v": "/year/2009"}, + {"n": "2008","v": "/year/2008"}, + {"n": "2007","v": "/year/2007"}, + {"n": "2006","v": "/year/2006"}, + {"n": "2005","v": "/year/2005"}, + {"n": "2004","v": "/year/2004"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/paopaoshipin.json b/XPath/paopaoshipin.json new file mode 100644 index 0000000..e8820c7 --- /dev/null +++ b/XPath/paopaoshipin.json @@ -0,0 +1,49 @@ +{ + "ua": "", + "homeUrl": "https://www.paopaoshipin.com", + "cateNode": "//div[contains(@class,'nav flex')]/a[contains(@href, 't')]", + "cateName": "/div/text()", + "cateId": "/@href", + "cateIdR": "/t/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'movie-list-item')]/a[contains(@target, '_top')]", + "homeVodName": "/div/div[contains(@class, 'movie-title txtHide')]/text()", + "homeVodId": "/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "/div/div/@data-original", + "homeVodImgR": "", + "homeVodMark": "/div/div[contains(@class,'movie-rating cor4')]/text()", + "cateUrl": "https://www.paopaoshipin.com/t/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='mobile-main mobile-main-type']/div/div/div[2]/div/a", + "cateVodName": "/div/div[contains(@class, 'movie-title txtHide')]/text()", + "cateVodId": "/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "/div/div/@data-original", + "cateVodMark": "/div/div[contains(@class,'movie-rating cor4')]/text()", + "dtUrl": "https://www.paopaoshipin.com/v/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='movie-info']/h1/@title", + "dtNameR": "", + "dtImg": "//div[@class='poster']/img/@src", + "dtImgR": "", + "dtDesc": "//div[contains(@class,'summary detailsTxt')]/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'swiper-wrapper')]/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class, 'content_playlist flex wrap')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.paopaoshipin.com/p/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.paopaoshipin.com/search?wd={wd}", + "scVodNode": "//div[contains(@class,'vod-search-list')]", + "scVodName": "/div/div/div/div[1]/@title", + "scVodId": "/div/a/@href", + "scVodIdR": "/v/(\\w+).html", + "scVodImg": "/div/a/div/@data-original", + "scVodMark": "/div/div/div/div[3]/text()" +} \ No newline at end of file diff --git a/XPath/pianba.json b/XPath/pianba.json new file mode 100644 index 0000000..36ba76e --- /dev/null +++ b/XPath/pianba.json @@ -0,0 +1,66 @@ +{ + "author":"takagen99", + "ua": "", + "homeUrl": "https://www.pianba.tv", + "dcVipFlag": "true", + "pCfgJs": "https://www.pianba.tv/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'sort') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/sort/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'stui-pannel__bd')]//ul[contains(@class,'stui-vodlist')]/li//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/html/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.pianba.tv/sort/{cateId}-{catePg}.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]//li//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/html/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.pianba.tv/html/{vid}.html", + "dtNode": "//div[@class='stui-content']", + "dtName": "//div[@class='stui-content__detail']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtYear": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtCate": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtDirector": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '演员')]/following-sibling::*/text()", + "dtActorR": "", + "dtDesc": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-vodlist__head')]/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/yun/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.pianba.tv/yun/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.pianba.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/pianbaTV.json b/XPath/pianbaTV.json new file mode 100644 index 0000000..9a732b1 --- /dev/null +++ b/XPath/pianbaTV.json @@ -0,0 +1,66 @@ +{ + "author":"takagen99", + "ua": "", + "homeUrl": "https://www.pianba.tv", + "dcVipFlag": "true", + "pCfgJs": "https://www.pianba.tv/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'sort') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/sort/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'stui-pannel__bd')]//ul[contains(@class,'stui-vodlist')]/li//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/html/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.pianba.tv/sort/{cateId}-{catePg}.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]//li//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/html/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.pianba.tv/html/{vid}.html", + "dtNode": "//div[@class='stui-content']", + "dtName": "//div[@class='stui-content__detail']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtYear": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtCate": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtDirector": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '演员')]/following-sibling::*/text()", + "dtActorR": "", + "dtDesc": "//div[@class='stui-content__detail']//span[contains(@class,'data2') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-vodlist__head')]/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/yun/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.pianba.tv/yun/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.pianba.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/pianku.json b/XPath/pianku.json new file mode 100644 index 0000000..3374dd2 --- /dev/null +++ b/XPath/pianku.json @@ -0,0 +1,63 @@ +{ + "ua": "", + "homeUrl": "https://www.pianku.la", + "cateNode": "//ul[contains(@class,'myui-header__menu nav-menu')]/li[contains(@class, 'dropdown-hover')]//div/ul/li/a[contains(@href, 'list') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'padding-0')]//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.pianku.la/list/{cateId}-{catePg}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.pianku.la/detail/{vid}.html", + "dtNode": "//div[contains(@class,'col-md-wide-7')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + // "dtUrlNode": "//div[contains(@class,'tab-content')]//ul[contains(@id, 'playlist')]", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.pianku.la/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.pianku.la/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/qdytv.json b/XPath/qdytv.json new file mode 100644 index 0000000..c228554 --- /dev/null +++ b/XPath/qdytv.json @@ -0,0 +1,72 @@ +{ + "ua": "", + "homeUrl": "https://www.qdytv.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.qdytv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'myui-header__menu nav-menu')]/li[contains(@class, ' hidden-sm hidden-xs')]/a[contains(@href, 'vodtype')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "综艺": "3", + "动漫": "4" + }, + "homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.qdytv.com/show/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.qdytv.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.qdytv.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.qdytv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/qiumi.json b/XPath/qiumi.json new file mode 100644 index 0000000..b10ec21 --- /dev/null +++ b/XPath/qiumi.json @@ -0,0 +1,91 @@ +{ + "author": "dj", + "ua": "", + "homeUrl": "http://www.jrskan.com/", + //"homeUrl": "http://jrsbxj.com/", + //"homeUrl": "http://jrsyyds.com/", + + "cateManual": { + "DJ看": "1" + }, + + // 首页推荐视频的节点 + "homeVodNode": "//ul[@data-stype='zqlq']", + // 首页推荐视频的名称 + //"homeVodName": "/li[@class='lab_events']/span/text()", + "homeVodName": "concat(/li[@class='lab_time']/text(),'-',/li[@class='lab_events']/span/text())", + // 首页推荐视频的id + "homeVodId": "/li[@class='lab_channel']/a[1]/@href", + // 二次处理正则 + "homeVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + // 首页推荐视频的图片 + "homeVodImg": "/li[@class='lab_team_home']/span/img/@src", + // 首页推荐视频的简介 + "homeVodMark": "concat(//li[@class='lab_team_home']/strong/text(),'-',//li[@class='lab_team_away']/strong/text(),'-dj')", + "home": "dj", + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "http://www.jrskan.com/", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//ul[@data-stype='zqlq']", + //"cateVodName": "/li[@class='lab_events']/span/text()", + "cateVodName": "concat(/li[@class='lab_time']/text(),'-',/li[@class='lab_events']/span/text(),'dj')", + "cateVodId": "/li[@class='lab_channel']/a[1]/@href", + "cateVodIdR": "http://play.sportsteam365.com/play/steam(\\d+).html", + //"cateVodIdR": "\\S+/(\\d+).html", + "cateVodImg": "/li[@class='lab_team_home']/span/img/@src", + "cateVodMark": "concat(//li[@class='lab_team_home']/strong/text(),'-',//li[@class='lab_team_away']/strong/text())", + //"cateVodMark": "{vid}", + "cate": "dj", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + //"dtUrl": "{vid}", + "dtUrl": "http://play.sportsteam333.com/play/steam{vid}.html", + // 详情节点 + "dtNode": "//ul[@data-stype='zqlq']", + // 视频名 + "dtName": "/li[1]/span/text()", + // 视频图片 + "dtImg": "/li[3]/span/img/@src", + // 视频分类 + "dtCate": "/li[1]/span/text()", + //演员 + "dtActor": "/li[1]/span/text()", + // 导演 + "dtDirector": "concat('xxx -','Never underestimate the heart of a champion! ')", + "dtDirectorR": "", + // 视频简介 + "dtDesc": "concat(/li[3]/strong/text(),'-',/li[5]/strong/text(),'-dj')", + + // 播放源节点 + "dtFromNode": "//div[@class='sub_channel']/a/strong", + // 播放源名称 + "dtFromName": "concat('dj-',/text())", + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[@class='sub_channel']", + // 播放地址节点 + "dtUrlSubNode": "/a", + "dtUrlSub": "/ff", + // 播放地址 + "dtUrlId": "@data-play", + "dtUrlIdR": "/play/(\\S+)", + //"dtUrlIdR": "\\S+/(\\d+)&id2=", + // 剧集名称 + "dtUrlName": "/strong/text()", + "dtUrlNameR": "", + + //播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl":"http://play.sportsteam333.com/play/{playUrl}#ff", + //"playUrl":"http://play.sportsteam666.com/play/{playUrl}", + //"playUrl": "http://play.sportsteam365.com/play/{playUrl}", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36", + //"playUa": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", + + "searchUrl": "http://www.jrskan.com?key={wd}", + "scVodNode": "//div[@class='play_xg']/li", + "scVodName": "//div[@class='name']/a/@title", + "scVodId": "//div[@class='name']/a/@href", + "scVodIdR": "/play/(\\d+).html", + "scVodImg": "//div[@class='pic']/a/img/@src", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/qiyouyingyuan.json b/XPath/qiyouyingyuan.json new file mode 100644 index 0000000..dc5bea6 --- /dev/null +++ b/XPath/qiyouyingyuan.json @@ -0,0 +1,66 @@ +{ + "ua": "", + "homeUrl": "http://m.huigutongying.cn", + "cateNode": "//ul[contains(@class,'tag tag-type')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/lists/(\\w+).html", + "cateManual": { + "电影": "1", + "电视剧": "2", + "综艺": "4", + "动漫": "3" + }, + "homeVodNode": "//div[contains(@class,'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/view/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(https\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://m.huigutongying.cn/list/{cateId}_{catePg}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/view/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://m.huigutongying.cn/view/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='stui-content__thumb']/a[contains(@class,'stui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a[contains(@class,'stui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtCateR": "//span[text-muted hidden-xs(text(), '年份')]/following-sibling::/ptext()", + "dtYearR": "", + "dtArea": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted hidden-xs') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'down')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'down')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://m.huigutongying.cn/play/{playUrl}.html", + "playUa": "Mozilla/5.0(Linux;Android 11;M2102K1AC Build/RKQ1.201112.002;wv)AppleWebKit/537.36(KHTML,like Gecko)Version/4.0Chrome/76.0.3809.89Mobile Safari/537.36T7/12.16SearchCraft/3.9.1(Baidu;P1 11)", + "searchUrl": "http://m.huigutongying.cn/search.php?searchword=wd;post;utf-8", + "scVodNode": "json:lists", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/renrenyingshi.json b/XPath/renrenyingshi.json new file mode 100644 index 0000000..6e2e60e --- /dev/null +++ b/XPath/renrenyingshi.json @@ -0,0 +1,87 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.rttks.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.rttks.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "rrdy", + "连续剧": "rrdsj", + "动漫": "rrdm", + "综艺": "rrzy", + "纪录片": "rrjlp", + "国产剧": "rrgcj", + "香港剧": "rrxgj", + "台湾剧": "rrtwj", + "韩剧": "rrhgj", + "日剧": "rrrbj", + "海外剧": "rrhwj", + "动作片": "rrdzp", + "喜剧片": "rrxjp", + "爱情片": "rraqp", + "科幻片": "rrkhp", + "恐怖片": "rrkbp", + "剧情片": "rrjqp", + "战争片": "rrzzp", + "国漫": "rrdm/area/大陆", + "日漫": "rrdm/area/日本", + "韩漫": "rrdm/area/韩国", + "美漫": "rrdm/area/美国", + "英漫": "rrdm/area/英国", + "法漫": "rrdm/area/法国" + }, + "homeVodNode": "//div[@class='stui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "https://www.rttks.com/rrtv/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.rttks.com/rrtop/{cateId}/page/{catePg}.html", + "cateVodNode": "//div[@class='stui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "https://www.rttks.com/rrtv/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.rttks.com/rrtv/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/parent::text()", + "dtCateR": "", + "dtYear": "", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '简介')]/following-sibling::/span/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-pannel__head')]/h3[@class='title']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "https://www.rttks.com/rrplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.rttks.com/rrplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.rttks.com/rrso.html?wd={wd}", + "scVodNode": "//a[contains(@class,'v-thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "https://www.rttks.com/rrtv/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/rttks.json b/XPath/rttks.json new file mode 100644 index 0000000..6e2e60e --- /dev/null +++ b/XPath/rttks.json @@ -0,0 +1,87 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.rttks.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.rttks.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "rrdy", + "连续剧": "rrdsj", + "动漫": "rrdm", + "综艺": "rrzy", + "纪录片": "rrjlp", + "国产剧": "rrgcj", + "香港剧": "rrxgj", + "台湾剧": "rrtwj", + "韩剧": "rrhgj", + "日剧": "rrrbj", + "海外剧": "rrhwj", + "动作片": "rrdzp", + "喜剧片": "rrxjp", + "爱情片": "rraqp", + "科幻片": "rrkhp", + "恐怖片": "rrkbp", + "剧情片": "rrjqp", + "战争片": "rrzzp", + "国漫": "rrdm/area/大陆", + "日漫": "rrdm/area/日本", + "韩漫": "rrdm/area/韩国", + "美漫": "rrdm/area/美国", + "英漫": "rrdm/area/英国", + "法漫": "rrdm/area/法国" + }, + "homeVodNode": "//div[@class='stui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "https://www.rttks.com/rrtv/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.rttks.com/rrtop/{cateId}/page/{catePg}.html", + "cateVodNode": "//div[@class='stui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "https://www.rttks.com/rrtv/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.rttks.com/rrtv/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/parent::text()", + "dtCateR": "", + "dtYear": "", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '简介')]/following-sibling::/span/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-pannel__head')]/h3[@class='title']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "https://www.rttks.com/rrplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.rttks.com/rrplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.rttks.com/rrso.html?wd={wd}", + "scVodNode": "//a[contains(@class,'v-thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "https://www.rttks.com/rrtv/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/saohuo.json b/XPath/saohuo.json new file mode 100644 index 0000000..70e5b82 --- /dev/null +++ b/XPath/saohuo.json @@ -0,0 +1,44 @@ +{ + "ua": "Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/99.0", + "homeUrl": "https://saohuo.vip", + "cateNode": "//ul[contains(@class,'type_list')]/li/a[contains(@href, '.html')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//ul[@class='v_list']/li/div[@class='v_img']", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/movie/(\\w+).html", + "homeVodImg": "/a/img/@data-original", + "homeVodMark": "/div[@class='v_note']/text()", + "cateUrl": "https://saohuo.vip/list/{cateId}-{catePg}.html", + "cateVodNode": "//ul[@class='v_list']/li/div[@class='v_img']", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/movie/(\\w+).html", + "cateVodImg": "/a/img/@data-original", + "cateVodMark": "/div[@class='v_note']/text()", + "dtUrl": "http://saohuo.vip/movie/{vid}.html", + "dtNode": "//body", + "dtName": "//section[contains(@class,'v_info_box')]/h1[1]/text()", + "dtImg": "//section[contains(@class,'v_info')]/div[@class='m_background']/@style", + "dtImgR": "background-image:url\\((\\S+)\\)", + "dtCate": "//section[contains(@class,'v_info_box')]/p[1]/text()", + "dtDesc": "//p[contains(@class,'show_part')]/text()", + "dtFromNode": "//ul[@class='from_list']/li", + "dtFromName": "/text()", + "dtUrlNode": "//ul[@class='play_list' or @class='large_list']/li", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "http://saohuo.vip/play/{playUrl}.html", + "searchUrl": "https://saohuo.vip/search.php?searchword={wd}", + "scVodNode": "//ul[@class='v_list']/li/div[@class='v_img']", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/movie/(\\w+).html", + "scVodImg": "/a/img/@data-original", + "scVodMark": "/div[@class='v_note']/text()" +} \ No newline at end of file diff --git a/XPath/saohuotv.json b/XPath/saohuotv.json new file mode 100644 index 0000000..d11c87c --- /dev/null +++ b/XPath/saohuotv.json @@ -0,0 +1,84 @@ +{ + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://saohuo.vip", + //"cateNode": "//ul[contains(@class,'type_list')]/li/a[contains(@href, '.html')]", + //"cateName": "/text()", + //"cateId": "/@href", + //"cateIdR": "/list/(\\d+).html", + "cateManual": { + "电影": "1", + "电视剧": "2", + "动漫": "4", + "喜剧片": "6", +"爱情片": "7", +"恐怖片": "8", +"动作片": "9", +"科幻片": "10", +"战争片": "11", +"犯罪片": "12", +"动画片": "13", +"奇幻片": "14", +"剧情片": "15", +"冒险片": "16", +"悬疑片": "17", +"惊悚片": "18", +"其他片": "19", +"国产": "20", +"香港": "21", +"韩国": "22", +"美国": "23", +"日本": "24", +"英国": "25", +"台湾": "26", +"其他": "27", +"搞笑动漫": "38", +"恋爱动漫": "39", +"热血动漫": "40", +"格斗动漫": "41", +"美少女动漫": "42", +"魔法动漫": "43", +"机战动漫": "44", +"校园动漫": "45", +"亲子动漫": "46", +"童话动漫": "47", +"冒险动漫": "48", +"真人动漫": "49", +"萝莉动漫": "50", +"其他动漫": "51" + }, + "homeVodNode": "//ul[@class='v_list']/li/div[@class='v_img']", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/movie/(\\w+).html", + "homeVodImg": "/a/img/@data-original", + "homeVodMark": "/div[@class='v_note']/text()", + "cateUrl": "https://saohuo.vip/list/{cateId}-{catePg}.html", + "cateVodNode": "//ul[@class='v_list']/li/div[@class='v_img']", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/movie/(\\w+).html", + "cateVodImg": "/a/img/@data-original", + "cateVodMark": "/div[@class='v_note']/text()", + "dtUrl": "http://saohuo.vip/movie/{vid}.html", + "dtNode": "//body", + "dtName": "//section[contains(@class,'v_info_box')]/h1[1]/text()", + "dtImg": "//section[contains(@class,'v_info')]/div[@class='m_background']/@style", + "dtImgR": "background-image:url\\((\\S+)\\)", + "dtCate": "//section[contains(@class,'v_info_box')]/p[1]/text()", + "dtDesc": "//p[contains(@class,'show_part')]/text()", + "dtFromNode": "//ul[@class='from_list']/li", + "dtFromName": "/text()", + "dtUrlNode": "//ul[@class='play_list' or @class='large_list']/li", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "http://saohuo.vip/play/{playUrl}.html", + "searchUrl": "https://saohuo.vip/search.php?searchword={wd}", + "scVodNode": "//ul[@class='v_list']/li/div[@class='v_img']", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/movie/(\\w+).html", + "scVodImg": "/a/img/@data-original", + "scVodMark": "/div[@class='v_note']/text()" +} diff --git a/XPath/saohuotv2.json b/XPath/saohuotv2.json new file mode 100644 index 0000000..70e5b82 --- /dev/null +++ b/XPath/saohuotv2.json @@ -0,0 +1,44 @@ +{ + "ua": "Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/99.0", + "homeUrl": "https://saohuo.vip", + "cateNode": "//ul[contains(@class,'type_list')]/li/a[contains(@href, '.html')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//ul[@class='v_list']/li/div[@class='v_img']", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/movie/(\\w+).html", + "homeVodImg": "/a/img/@data-original", + "homeVodMark": "/div[@class='v_note']/text()", + "cateUrl": "https://saohuo.vip/list/{cateId}-{catePg}.html", + "cateVodNode": "//ul[@class='v_list']/li/div[@class='v_img']", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/movie/(\\w+).html", + "cateVodImg": "/a/img/@data-original", + "cateVodMark": "/div[@class='v_note']/text()", + "dtUrl": "http://saohuo.vip/movie/{vid}.html", + "dtNode": "//body", + "dtName": "//section[contains(@class,'v_info_box')]/h1[1]/text()", + "dtImg": "//section[contains(@class,'v_info')]/div[@class='m_background']/@style", + "dtImgR": "background-image:url\\((\\S+)\\)", + "dtCate": "//section[contains(@class,'v_info_box')]/p[1]/text()", + "dtDesc": "//p[contains(@class,'show_part')]/text()", + "dtFromNode": "//ul[@class='from_list']/li", + "dtFromName": "/text()", + "dtUrlNode": "//ul[@class='play_list' or @class='large_list']/li", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "http://saohuo.vip/play/{playUrl}.html", + "searchUrl": "https://saohuo.vip/search.php?searchword={wd}", + "scVodNode": "//ul[@class='v_list']/li/div[@class='v_img']", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/movie/(\\w+).html", + "scVodImg": "/a/img/@data-original", + "scVodMark": "/div[@class='v_note']/text()" +} \ No newline at end of file diff --git a/XPath/smdyy.json b/XPath/smdyy.json new file mode 100644 index 0000000..b5e2096 --- /dev/null +++ b/XPath/smdyy.json @@ -0,0 +1,56 @@ +{ + "author": "Shixue", + "ua": "", + "homeUrl": "https://www.smdyy.cc/", + "dcVipFlag": "true", + "pCfgJs": "https://www.smdyy.cc/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class, 'nav-menu-items')]//li[@class='grid-item']/a[contains(@href, 'list')]", + "cateName": "/@title", + "cateId": "/@href", + "cateIdR": "/list/(\\d+).html", + "homeVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "homeVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "homeVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "homeVodIdR": "/kan/(\\w+).html", + "homeVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div[contains(@class,'module-item-text')]/text()", + "cateUrl": "https://www.smdyy.cc/list/{cateId}-{catePg}.html", + "cateVodNode": "//div[@class='module-items']/div/div/div[@class='module-item-pic']", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/kan/(\\w+).html", + "cateVodImg": "/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "", + "dtUrl": "https://www.smdyy.cc/kan/{vid}.html", + "dtNode": "//div[@class='box view-heading']", + "dtName": "//div[@class='video-info']/div[@class='video-info-header']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//div[@class='module-item-pic']/img/@data-src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='video-info']//div[@class='tag-link']/span/following-sibling::*/text()", + "dtYear": "//div[@class='video-info']//span[contains(@class,'itemtitle') and contains(text(), '上映')]/following-sibling::div/text()", + "dtArea": "", + "dtActor": "//div[@class='video-info']//span[contains(@class,'itemtitle') and contains(text(), '主演')]/following-sibling::div/a/text()", + "dtDirector": "//div[@class='video-info']//span[contains(@class,'itemtitle') and contains(text(), '导演')]/following-sibling::div/a/text()", + "dtDesc": "//div[@class='video-info']//span[contains(@class,'itemtitle') and contains(text(), '剧情')]/following-sibling::div//span/text()", + "dtFromNode": "//div[contains(@class, 'module-tab-content')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/span/text()", + "playUrl": "https://www.smdyy.cc/play/{playUrl}.html", + "searchUrl": "https://www.smdyy.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=5", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/sogou.json b/XPath/sogou.json new file mode 100644 index 0000000..b5fa164 --- /dev/null +++ b/XPath/sogou.json @@ -0,0 +1,238 @@ +{ + "urls": { + "dianying": "//m.kan.sogou.com/", + "dianshiju": "//m.kan.sogou.com/", + "zongyi": "//m.kan.sogou.com/", + "dongman": "//m.kan.sogou.com/", + "main": "//m.kan.sogou.com/", + "search": "//m.kan.sogou.com/search?keyword={wd}" + }, + "classes": [ + { "type_name": "电影", "type_id": "dianying" }, + { "type_name": "电视剧", "type_id": "dianshiju" }, + { "type_name": "综艺", "type_id": "zongyi" }, + { "type_name": "动漫", "type_id": "dongman" } + ], + "filter": { + "dianying": [ + { + "key": "type", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "爱情", "v": "aiqing" }, + { "n": "动画", "v": "donghua" }, + { "n": "动作", "v": "dongzuo" }, + { "n": "纪录片", "v": "jilupian" }, + { "n": "惊悚", "v": "jingsong" }, + { "n": "警匪", "v": "jingfei" }, + { "n": "剧情", "v": "juqing" }, + { "n": "科幻", "v": "kehuan" }, + { "n": "恐怖", "v": "kongbu" }, + { "n": "伦理", "v": "lunli" }, + { "n": "奇幻", "v": "qihuan" }, + { "n": "青春", "v": "qingchun" }, + { "n": "微电影", "v": "weidianying" }, + { "n": "文艺", "v": "wenyi" }, + { "n": "武侠", "v": "wuxia" }, + { "n": "喜剧", "v": "xiju" }, + { "n": "悬疑", "v": "xuanyi" }, + { "n": "音乐", "v": "yinyue" }, + { "n": "灾难", "v": "zainan" }, + { "n": "战争", "v": "zhanzheng" }, + { "n": "其他", "v": "qita" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "韩国", "v": "hanguo" }, + { "n": "内地", "v": "neidi" }, + { "n": "香港", "v": "xianggang" }, + { "n": "台湾", "v": "taiwan" }, + { "n": "美国", "v": "meiguo" }, + { "n": "欧洲", "v": "ouzhou" }, + { "n": "法国", "v": "faguo" }, + { "n": "日本", "v": "riben" }, + { "n": "泰国", "v": "taiguo" }, + { "n": "其他", "v": "qita" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "更早", "v": "1" } + ] + } + ], + "dianshiju": [ + { + "key": "type", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "青春", "v": "qingchun" }, + { "n": "家庭", "v": "jiating" }, + { "n": "军旅", "v": "junlv" }, + { "n": "言情", "v": "yanqing" }, + { "n": "古装", "v": "guzhuang" }, + { "n": "武侠", "v": "wuxia" }, + { "n": "偶像", "v": "ouxiang" }, + { "n": "谍战", "v": "diezhan" }, + { "n": "宫廷", "v": "gongting" }, + { "n": "喜剧", "v": "xiju" }, + { "n": "悬疑", "v": "xunayi" }, + { "n": "历史", "v": "lishi" }, + { "n": "年代", "v": "niandai" }, + { "n": "都市", "v": "dushi" }, + { "n": "伦理", "v": "lunli" }, + { "n": "警匪", "v": "jingfei" }, + { "n": "科幻", "v": "kehuan" }, + { "n": "动作", "v": "dongzuo" }, + { "n": "农村", "v": "nongcun" }, + { "n": "神话", "v": "shenhua" }, + { "n": "战争", "v": "zhanzheng" }, + { "n": "情景", "v": "qingjing" }, + { "n": "纪录片", "v": "jilupian" }, + { "n": "其他", "v": "qita" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "neidi" }, + { "n": "香港", "v": "xianggang" }, + { "n": "台湾", "v": "taiwan" }, + { "n": "韩国", "v": "hanguo" }, + { "n": "日本", "v": "riben" }, + { "n": "美国", "v": "meiguo" }, + { "n": "新加坡", "v": "xinjiapo" }, + { "n": "泰国", "v": "taiguo" }, + { "n": "英国", "v": "yingguo" }, + { "n": "其他", "v": "qita" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "更早", "v": "1" } + ] + } + ], + "zongyi": [ + { + "key": "type", + "name": "类型", + "value": [ + { "v": "", "n": "全部" }, + { "v": "qinggan", "n": "情感" }, + { "v": "zhenrenxiu", "n": "真人秀" }, + { "v": "fangtan", "n": "访谈" }, + { "v": "xuanxiu", "n": "选秀" }, + { "v": "gaoxiao", "n": "搞笑" }, + { "v": "tuokouxiu", "n": "脱口秀" }, + { "v": "jiaoyou", "n": "交友" }, + { "v": "meishi", "n": "美食" }, + { "v": "yinyue", "n": "音乐" }, + { "v": "quyi", "n": "曲艺" }, + { "v": "tiyu", "n": "体育" }, + { "v": "qiuzhi", "n": "求职" }, + { "v": "jushi", "n": "军事" }, + { "v": "lvyou", "n": "旅游" }, + { "v": "caijing", "n": "财经" }, + { "v": "jiaoyu", "n": "教育" }, + { "v": "shenghuo", "n": "生活" }, + { "v": "yangsheng", "n": "养生" }, + { "v": "shishang", "n": "时尚" }, + { "v": "qita", "n": "其他" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "v": "", "n": "全部" }, + { "v": "dalu", "n": "大陆" }, + { "v": "gangtai", "n": "港台" }, + { "v": "hanguo", "n": "韩国" }, + { "v": "oumei", "n": "欧美" }, + { "v": "riben", "n": "日本" }, + { "v": "qita", "n": "其他" } + ] + } + ], + "dongman": [ + { + "key": "type", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "动作", "v": "dongzuo" }, + { "n": "亲子", "v": "qinzi" }, + { "n": "热血", "v": "rexue" }, + { "n": "冒险", "v": "maoxian" }, + { "n": "同人", "v": "tongren" }, + { "n": "原创", "v": "yuanchuang" }, + { "n": "古代", "v": "gudai" }, + { "n": "未来", "v": "weilai" }, + { "n": "竞技", "v": "jingji" }, + { "n": "体育", "v": "tiyu" }, + { "n": "搞笑", "v": "gaoxiao" }, + { "n": "言情", "v": "yanqing" }, + { "n": "校园", "v": "xiaoyuan" }, + { "n": "都市", "v": "dushi" }, + { "n": "魔幻", "v": "mohuan" }, + { "n": "科幻", "v": "kehuan" }, + { "n": "励志", "v": "lizhi" }, + { "n": "剧情", "v": "juqing" }, + { "n": "悬疑", "v": "xuanyi" }, + { "n": "宠物", "v": "chongwu" }, + { "n": "LOLI", "v": "loli" }, + { "n": "益智", "v": "yizhi" }, + { "n": "童话", "v": "tonghua" }, + { "n": "真人", "v": "zhenren" }, + { "n": "神话", "v": "shenhua" }, + { "n": "其他", "v": "qita" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "日本", "v": "riben" }, + { "n": "美国", "v": "meiguo" }, + { "n": "大陆", "v": "dalu" }, + { "n": "台湾", "v": "taiwan" }, + { "n": "英国", "v": "yingguo" }, + { "n": "韩国", "v": "hanguo" }, + { "n": "其他", "v": "qita" } + ] + } + ] + } +} diff --git a/XPath/subaibai.json b/XPath/subaibai.json new file mode 100644 index 0000000..9933b07 --- /dev/null +++ b/XPath/subaibai.json @@ -0,0 +1,60 @@ +{ + "ua": "", + "homeUrl": "https://www.subaibai.com", + "cateManual": { + "国产剧": "guochanju", + "港台剧": "gangju", + "欧美剧": "oumeiju", + "韩剧": "hanju", + "日剧": "riju", + "泰剧": "taiju", + "动漫剧": "dongmanju", + "国产电影": "guochandy", + "港台电影": "gangtaidy", + "日韩电影": "rihandy", + "欧美电影": "oumeidy", + "印度电影": "yindudy", + "泰国电影": "thaidy", + "动漫电影": "dongmandy", + "纪录片": "documentary", + "综艺": "zongyi", + "香港经典": "xianggangdy" + }, + "homeVodNode": "//div[contains(@class,'leibox')]/ul/li", + "homeVodName": "/h3[@class='dytit']/a/text()", + "homeVodId": "/h3[@class='dytit']/a/@href", + "homeVodIdR": "/movie/(\\w+).html", + "homeVodImg": "/a/img/@data-original", + "homeVodMark": "/a/div[@class='jidi']/span/text()", + "cateUrl": "https://www.subaibai.com/movie_bt_series/{cateId}/page/{catePg}", + "cateVodNode": "//div[contains(@class,'mrb')]/ul/li", + "cateVodName": "/h3[@class='dytit']/a/text()", + "cateVodId": "/h3[@class='dytit']/a/@href", + "cateVodIdR": "/movie/(\\w+).html", + "cateVodImg": "/a/img/@data-original", + "cateVodMark": "/a/div[@class='jidi']/span/text()", + "dtUrl": "https://www.subaibai.com/movie/{vid}.html", + "dtNode": "//div[@class='dyxingq']", + "dtName": "//div[@class='moviedteail_tt']/h1/text()", + "dtImg": "//div[contains(@class,'dyimg')]/img/@src", + "dtCate": "//ul[@class='moviedteail_list']/li[contains(text(),'类型')]/a/text()", + "dtYear": "//ul[@class='moviedteail_list']/li[contains(text(),'年份')]/a/text()", + "dtArea": "//ul[@class='moviedteail_list']/li[contains(text(),'地区')]/a/text()", + "dtActor": "//ul[@class='moviedteail_list']/li[contains(text(),'主演')]/a/text()", + "dtDirector": "//ul[@class='moviedteail_list']/li[contains(text(),'导演')]/a/text()", + "dtFromNode": "//div[contains(@class,'mi_paly_box')]//div[@class='ypxingq_t']", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class,'mi_paly_box')]//div[@class='paly_list_btn']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/v_play/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "https://www.subaibai.com/v_play/{playUrl}.html", + "searchUrl": "https://www.subaibai.com/?s={wd}", + "scVodNode": "//div[contains(@class,'search_list')]/ul/li", + "scVodName": "/h3[@class='dytit']/a/text()", + "scVodId": "/h3[@class='dytit']/a/@href", + "scVodIdR": "/movie/(\\w+).html", + "scVodImg": "/a/img/@data-original", + "scVodMark": "/a/div[@class='jidi']/span/text()" +} diff --git a/XPath/suogou.json b/XPath/suogou.json new file mode 100644 index 0000000..b918353 --- /dev/null +++ b/XPath/suogou.json @@ -0,0 +1,714 @@ +{ + "filter": { + "dianshiju": [ + { + "name": "类型", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "qingchun", + "n": "青春" + }, + { + "v": "jiating", + "n": "家庭" + }, + { + "v": "junlv", + "n": "军旅" + }, + { + "v": "yanqing", + "n": "言情" + }, + { + "v": "guzhuang", + "n": "古装" + }, + { + "v": "wuxia", + "n": "武侠" + }, + { + "v": "ouxiang", + "n": "偶像" + }, + { + "v": "diezhan", + "n": "谍战" + }, + { + "v": "gongting", + "n": "宫廷" + }, + { + "v": "xiju", + "n": "喜剧" + }, + { + "v": "xunayi", + "n": "悬疑" + }, + { + "v": "lishi", + "n": "历史" + }, + { + "v": "niandai", + "n": "年代" + }, + { + "v": "dushi", + "n": "都市" + }, + { + "v": "lunli", + "n": "伦理" + }, + { + "v": "jingfei", + "n": "警匪" + }, + { + "v": "kehuan", + "n": "科幻" + }, + { + "v": "dongzuo", + "n": "动作" + }, + { + "v": "nongcun", + "n": "农村" + }, + { + "v": "shenhua", + "n": "神话" + }, + { + "v": "zhanzheng", + "n": "战争" + }, + { + "v": "qingjing", + "n": "情景" + }, + { + "v": "jilupian", + "n": "纪录片" + }, + { + "v": "qita", + "n": "其他" + } + ], + "key": "type" + }, + { + "name": "地区", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "neidi", + "n": "内地" + }, + { + "v": "xianggang", + "n": "香港" + }, + { + "v": "taiwan", + "n": "台湾" + }, + { + "v": "hanguo", + "n": "韩国" + }, + { + "v": "riben", + "n": "日本" + }, + { + "v": "meiguo", + "n": "美国" + }, + { + "v": "xinjiapo", + "n": "新加坡" + }, + { + "v": "taiguo", + "n": "泰国" + }, + { + "v": "yingguo", + "n": "英国" + }, + { + "v": "qita", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "年份", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "1", + "n": "更早" + } + ], + "key": "year" + } + ], + "zongyi": [ + { + "name": "类型", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "qinggan", + "n": "情感" + }, + { + "v": "zhenrenxiu", + "n": "真人秀" + }, + { + "v": "fangtan", + "n": "访谈" + }, + { + "v": "xuanxiu", + "n": "选秀" + }, + { + "v": "gaoxiao", + "n": "搞笑" + }, + { + "v": "tuokouxiu", + "n": "脱口秀" + }, + { + "v": "jiaoyou", + "n": "交友" + }, + { + "v": "meishi", + "n": "美食" + }, + { + "v": "yinyue", + "n": "音乐" + }, + { + "v": "quyi", + "n": "曲艺" + }, + { + "v": "tiyu", + "n": "体育" + }, + { + "v": "qiuzhi", + "n": "求职" + }, + { + "v": "jushi", + "n": "军事" + }, + { + "v": "lvyou", + "n": "旅游" + }, + { + "v": "caijing", + "n": "财经" + }, + { + "v": "jiaoyu", + "n": "教育" + }, + { + "v": "shenghuo", + "n": "生活" + }, + { + "v": "yangsheng", + "n": "养生" + }, + { + "v": "shishang", + "n": "时尚" + }, + { + "v": "qita", + "n": "其他" + } + ], + "key": "type" + }, + { + "name": "地区", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "dalu", + "n": "大陆" + }, + { + "v": "gangtai", + "n": "港台" + }, + { + "v": "hanguo", + "n": "韩国" + }, + { + "v": "oumei", + "n": "欧美" + }, + { + "v": "riben", + "n": "日本" + }, + { + "v": "qita", + "n": "其他" + } + ], + "key": "area" + } + ], + "dongman": [ + { + "name": "类型", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "dongzuo", + "n": "动作" + }, + { + "v": "qinzi", + "n": "亲子" + }, + { + "v": "rexue", + "n": "热血" + }, + { + "v": "maoxian", + "n": "冒险" + }, + { + "v": "tongren", + "n": "同人" + }, + { + "v": "yuanchuang", + "n": "原创" + }, + { + "v": "gudai", + "n": "古代" + }, + { + "v": "weilai", + "n": "未来" + }, + { + "v": "jingji", + "n": "竞技" + }, + { + "v": "tiyu", + "n": "体育" + }, + { + "v": "gaoxiao", + "n": "搞笑" + }, + { + "v": "yanqing", + "n": "言情" + }, + { + "v": "xiaoyuan", + "n": "校园" + }, + { + "v": "dushi", + "n": "都市" + }, + { + "v": "mohuan", + "n": "魔幻" + }, + { + "v": "kehuan", + "n": "科幻" + }, + { + "v": "lizhi", + "n": "励志" + }, + { + "v": "juqing", + "n": "剧情" + }, + { + "v": "xuanyi", + "n": "悬疑" + }, + { + "v": "chongwu", + "n": "宠物" + }, + { + "v": "loli", + "n": "LOLI" + }, + { + "v": "yizhi", + "n": "益智" + }, + { + "v": "tonghua", + "n": "童话" + }, + { + "v": "zhenren", + "n": "真人" + }, + { + "v": "shenhua", + "n": "神话" + }, + { + "v": "qita", + "n": "其他" + } + ], + "key": "type" + }, + { + "name": "地区", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "riben", + "n": "日本" + }, + { + "v": "meiguo", + "n": "美国" + }, + { + "v": "dalu", + "n": "大陆" + }, + { + "v": "taiwan", + "n": "台湾" + }, + { + "v": "yingguo", + "n": "英国" + }, + { + "v": "hanguo", + "n": "韩国" + }, + { + "v": "qita", + "n": "其他" + } + ], + "key": "area" + } + ], + "dianying": [ + { + "name": "类型", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "aiqing", + "n": "爱情" + }, + { + "v": "donghua", + "n": "动画" + }, + { + "v": "dongzuo", + "n": "动作" + }, + { + "v": "jilupian", + "n": "纪录片" + }, + { + "v": "jingsong", + "n": "惊悚" + }, + { + "v": "jingfei", + "n": "警匪" + }, + { + "v": "juqing", + "n": "剧情" + }, + { + "v": "kehuan", + "n": "科幻" + }, + { + "v": "kongbu", + "n": "恐怖" + }, + { + "v": "lunli", + "n": "伦理" + }, + { + "v": "qihuan", + "n": "奇幻" + }, + { + "v": "qingchun", + "n": "青春" + }, + { + "v": "weidianying", + "n": "微电影" + }, + { + "v": "wenyi", + "n": "文艺" + }, + { + "v": "wuxia", + "n": "武侠" + }, + { + "v": "xiju", + "n": "喜剧" + }, + { + "v": "xuanyi", + "n": "悬疑" + }, + { + "v": "yinyue", + "n": "音乐" + }, + { + "v": "zainan", + "n": "灾难" + }, + { + "v": "zhanzheng", + "n": "战争" + }, + { + "v": "qita", + "n": "其他" + } + ], + "key": "type" + }, + { + "name": "地区", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "hanguo", + "n": "韩国" + }, + { + "v": "neidi", + "n": "内地" + }, + { + "v": "xianggang", + "n": "香港" + }, + { + "v": "taiwan", + "n": "台湾" + }, + { + "v": "meiguo", + "n": "美国" + }, + { + "v": "ouzhou", + "n": "欧洲" + }, + { + "v": "faguo", + "n": "法国" + }, + { + "v": "riben", + "n": "日本" + }, + { + "v": "taiguo", + "n": "泰国" + }, + { + "v": "qita", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "年份", + "value": [ + { + "v": "", + "n": "全部" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "1", + "n": "更早" + } + ], + "key": "year" + } + ] + }, + "urls": { + "dianshiju": "//m.kan.sogou.com/", + "zongyi": "//m.kan.sogou.com/", + "dongman": "//m.kan.sogou.com/", + "search": "//m.kan.sogou.com/search?keyword={wd}", + "main": "//m.kan.sogou.com/", + "dianying": "//m.kan.sogou.com/" + }, + "classes": [ + { + "type_name": "电影", + "type_id": "dianying" + }, + { + "type_name": "电视剧", + "type_id": "dianshiju" + }, + { + "type_name": "综艺", + "type_id": "zongyi" + }, + { + "type_name": "动漫", + "type_id": "dongman" + } + ] +} \ No newline at end of file diff --git a/XPath/tangrenjieTV.json b/XPath/tangrenjieTV.json new file mode 100644 index 0000000..cf020c9 --- /dev/null +++ b/XPath/tangrenjieTV.json @@ -0,0 +1,284 @@ +{ + "author": "Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.tangrenjie.tv", + "dcVipFlag": "true", + "pCfgJs": "https://www.tangrenjie.tv/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class, 'top_nav')]/li/a[contains(@href, 'type') and not(contains(@href,'5'))]", + "cateName": "/b/text()", + "cateId": "/@href", + "cateIdR": "/vod/type/id/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='cbox1']/ul[contains(@class, 'vodlist')]/li/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vod/detail/id/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic_text')]//b/text()", + "cateUrl": "https://www.tangrenjie.tv/vod/show/area/{area}/by/{by}/id/{cateId}/page/{catePg}/year/{year}.html", + "cateVodNode": "//ul[contains(@class, 'vodlist')]/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/detail/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic_text')]//b/text()", + "dtUrl": "https://www.tangrenjie.tv/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'content_thum')]/a/@title", + "dtNameR": "", + "dtImg": "//div[contains(@class,'content_thum')]/a/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//li[@class='data']/span[contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//li[@class='data']/span[contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//li[@class='data']/span[contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//li[@class='data']/span[contains(text(), '更新时间')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//li[@class='data']/span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//li[@class='data']/span[contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='content']//p/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'play_source_tab')]/a/b", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='playlist_full']", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.tangrenjie.tv/vod/play/id/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.tangrenjie.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "动作片","v": "6"}, + {"n": "喜剧片","v": "7"}, + {"n": "爱情片","v": "8"}, + {"n": "科幻片","v": "9"}, + {"n": "恐怖片","v": "10"}, + {"n": "剧情片","v": "11"}, + {"n": "战争片","v": "12"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产剧","v": "13"}, + {"n": "港台剧","v": "14"}, + {"n": "日韩剧","v": "15"}, + {"n": "欧美剧","v": "16"}, + {"n": "海外剧","v": "27"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "韩国","v": "韩国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "韩国","v": "韩国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "3": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "纪录片","v": "28"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2008","v": "2008"}, + {"n": "2000","v": "2000"}, + {"n": "1997","v": "1997"}, + {"n": "1980","v": "1980"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/tanmuyingyuan.json b/XPath/tanmuyingyuan.json new file mode 100644 index 0000000..690ba70 --- /dev/null +++ b/XPath/tanmuyingyuan.json @@ -0,0 +1,938 @@ +{ + "author":"Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://dmntv.com", + "dcVipFlag": "true", + "pCfgJs": "https://dmntv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[@class='nav']/ul/li/a[contains(@href, 'vodtype') and not(contains(@href, 'gbook'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+)/", + "cateManual": {}, + "homeVodNode": "//div[@class='bd']/div[2]/ul/li/a[contains(@class,'vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/p/(\\d+)/", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div[@class='note']/span/text()", + "cateUrl": "https://dmntv.com/vodshow/{cateId}/area/{area}/by/{by}/page/{catePg}/year/{year}/", + "cateVodNode": "//div[@class='lists-content']/ul/li", + "cateVodName": "/h2/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/p/(\\d+)/", + "cateVodImg": "/a/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/a/div[@class='note']/span/text()", + "dtUrl": "https://dmntv.com/{vid}/", + "dtNode": "//div[contains(@class, 'menu-list')]", + "dtName": "//h1/a/text()", + "dtNameR": "", + "dtImg": "//img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[(@class='product-excerpt') and contains(text(), '类型:')]/span//a/text()", + "dtCateR": "", + "dtYear": "//div[(@class='product-excerpt') and contains(text(), '类型:')]/span//a/text()", + "dtYearR": "", + "dtArea": "//div[(@class='product-excerpt') and contains(text(), '制片国家/地区:')]/span//a/text()", + "dtAreaR": "", + "dtMark": "//div[(@class='product-excerpt') and contains(text(), '又名:')]/span//a/text()", + "dtMarkR": "", + "dtActor": "//div[(@class='product-excerpt') and contains(text(), '主演:')]/span//a/text()", + "dtActorR": "", + "dtDirector": "//div[(@class='product-excerpt') and contains(text(), '导演:')]/span//a/text()", + "dtDirectorR": "", + "dtDesc": "//div[(@class='product-excerpt') and contains(text(), '剧情简介:')]/span/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='playlists']//dl/dt", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='tempWrap']/div/div", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\d+)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://dmntv.com/{playUrl}/", + "playUa": "", + "searchUrl": "https://dmntv.com/vodsearch/?wd={wd}", + "scVodNode": "//div[@class='lists-content']/ul/li", + "scVodName": "/h2/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/p/(\\d+)/", + "scVodImg": "/a/@data-original", + "scVodMark": "/a/div[@class='note']/span/text()", + "filter": { + "movie": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "tv": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "variety": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "cartoon": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "bili": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "child": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/taojuya.json b/XPath/taojuya.json new file mode 100644 index 0000000..ad4657e --- /dev/null +++ b/XPath/taojuya.json @@ -0,0 +1,83 @@ +{ + "author": "XX", + "ua": "", + "homeUrl": "https://so2.cc", + "dcVipFlag": "true", + "pCfgJs": "https://so2.cc/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1-", + "连续剧": "2-", + "动漫": "4-", + "综艺": "3-", + "国产剧": "2-内地", + "韩剧": "2-韩国", + "港剧": "2-香港", + "台剧": "2-台湾", + "日剧": "2-日本", + "美剧": "2-美国", + "泰剧": "2-泰国", + "英剧": "2-英国", + "国产电影": "1-大陆", + "香港电影": "1-香港", + "美国电影": "1-美国", + "日本电影": "1-日本", + "印度电影": "1-印度", + "韩国电影": "1-韩国", + "台湾电影": "1-日本" + + }, + "homeVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "https://so2.cc/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://so2.cc/vodshow/{cateId}-------{catePg}---.html", + "cateVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "https://so2.cc/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://so2.cc/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::/a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::/a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::/a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::/a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::/a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//ul[@class='nav nav-tabs pull-right']/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://so2.cc/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://so2.cc/vodsearch/-------------.html?wd={wd}", + "scVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "https://so2.cc/voddetail/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/tiantianshipin.json b/XPath/tiantianshipin.json new file mode 100644 index 0000000..6886dbf --- /dev/null +++ b/XPath/tiantianshipin.json @@ -0,0 +1,208 @@ +{ + "author":"takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.ttsp.tv/", + "cateManual": { + "电影": "1", + "剧集": "2", + "综艺": "3", + "动漫": "4", + "??": "61" + }, + // Home Summary ===================================================== + "homeVodNode": "//ul[@class='vodlist vodlist_wi clearfix']/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/voddetail/(\\w+)", + "homeVodImg": "/a/@data-original", + "homeVodMark": "/a/span[3]/text()", + // Category Summary ================================================= + "cateUrl": "https://www.ttsp.tv/vodshow/{cateId}-{area}-------{catePg}---{year}.html", + "cateVodNode": "//li[contains(@class,'vodlist_item')]", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/a/@data-original", + "cateVodMark": "/a/span[2]/text()", + // Category Details ================================================= + "dtUrl": "https://www.ttsp.tv/voddetail/{vid}.html", + "dtNode": "//div[contains(@class,'detail_list_box')]", + "dtName": "//a[contains(@class,'vodlist_thumb')]/@title", + "dtImg": "//a[contains(@class,'vodlist_thumb')]/@data-original", + "dtCate": "//div[contains(@class,'content_detail content_min fl')]/ul/li[1]/a[3]/text()", + "dtYear": "//div[contains(@class,'content_detail content_min fl')]/ul/li[1]/a[1]/text()", + "dtArea": "//div[contains(@class,'content_detail content_min fl')]/ul/li[1]/a[2]/text()", + "dtActor": "//div[contains(@class,'content_detail content_min fl')]/ul/li[4]/a[1]/text()", + "dtMark": "//div[@class='stui-content__detail']/p[4]/text()", + "dtDirector": "//div[contains(@class,'content_detail content_min fl')]/ul/li[5]/a[1]/text()", + "dtDesc": "//div[contains(@class,'content_detail content_min fl')]/ul/li[6]", + // Playlist ========================================================= + "dtFromNode": "//div[contains(@class,'play_source_tab')]/a", + "dtFromName": "/@alt", + "dtFromNameR": "(.+) \\(\\S+", + "dtUrlNode": "//div[contains(@class,'playlist_notfull')]/ul", // number must match + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "https://www.ttsp.tv/vodplay/{playUrl}.html", + "playUa": "", + // Search Results =================================================== + "searchUrl": "https://www.ttsp.tv/vodsearch/-------------.html?wd={wd}&submit=", + "scVodNode": "//div[@class='searchlist_img']", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/voddetail/(\\w+).html", + "scVodImg": "/a/@data-original", + "scVodMark": "/a/span[2]/text()", + // Filters ========================================================== + "filter": { + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "泰国","v": "泰国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ] + } + } \ No newline at end of file diff --git a/XPath/tiantianyingshi.json b/XPath/tiantianyingshi.json new file mode 100644 index 0000000..bb8f680 --- /dev/null +++ b/XPath/tiantianyingshi.json @@ -0,0 +1,291 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.lranc.com", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li[contains(@class, 'dropdown-hover')]//div/ul/li/a[contains(@href, 'ystv') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/ystv/(\\S+).html", + "cateManual": { + "电影": "dydq", + "电视剧": "dsjdq", + "综艺": "zydq", + "动漫": "dmdq", + "纪录片": "jlpdq" + }, + "homeVodNode": "//div[contains(@class, 'padding-0')]//ul[contains(@class,'stui-vodlist')]/li//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/zxgk/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.lranc.com/phb/{cateId}/by/{by}/page/{catePg}/year/{year}.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]//li//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/zxgk/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.lranc.com/zxgk/{vid}.html", + "dtNode": "//body", + "dtName": "//a[contains(@class,'stui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//a[contains(@class,'stui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[contains(@class,'text-muted') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtActor": "//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtMark": "//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//p[@class='col-pd']/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='stui-pannel-box b playlist mb']//h3(@class,'title')", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='stui-pannel_bd col-pd clearfix']/ul[contains(@class, 'stui-content__playlist column8 clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/zxbf/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.lranc.com/zxbf/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.lranc.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "dydq": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "劇情片","v": "jqpdq"}, + {"n": "動作片","v": "dzpdq"}, + {"n": "科幻片","v": "khpdq"}, + {"n": "喜劇片","v": "xjpdq"}, + {"n": "愛情片","v": "aqpdq"}, + {"n": "戰爭片","v": "zzpdq"}, + {"n": "恐怖片","v": "kbpdq"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "美国","v": "美国"}, + {"n": "台湾","v": "台湾"}, + {"n": "大陆","v": "大陆"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "香港","v": "香港"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "泰国","v": "泰国"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "dsjdq": [ + { + "key": "cateId", + "name": "分类", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产剧","v": "gcjdq"}, + {"n": "香港剧","v": "xgjdq"}, + {"n": "台湾剧","v": "twjdq"}, + {"n": "韩国剧","v": "hgjdq"}, + {"n": "日本剧","v": "rbjdq"}, + {"n": "海外剧","v": "hwjdq"}, + {"n": "美国剧","v": "美国"}, + {"n": "新加坡剧","v": "新加坡"}, + {"n": "泰国剧","v": "泰国"}, + {"n": "英国剧","v": "英国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "dmdq": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "香港","v": "香港"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "zydq": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "台湾","v": "台湾"}, + {"n": "香港","v": "香港"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ], + "jlpdq": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "按更新","v": "time"}, + {"n": "周人气","v": "hits"}, + {"n": "月人气","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/ttsp.json b/XPath/ttsp.json new file mode 100644 index 0000000..6886dbf --- /dev/null +++ b/XPath/ttsp.json @@ -0,0 +1,208 @@ +{ + "author":"takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.ttsp.tv/", + "cateManual": { + "电影": "1", + "剧集": "2", + "综艺": "3", + "动漫": "4", + "??": "61" + }, + // Home Summary ===================================================== + "homeVodNode": "//ul[@class='vodlist vodlist_wi clearfix']/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/voddetail/(\\w+)", + "homeVodImg": "/a/@data-original", + "homeVodMark": "/a/span[3]/text()", + // Category Summary ================================================= + "cateUrl": "https://www.ttsp.tv/vodshow/{cateId}-{area}-------{catePg}---{year}.html", + "cateVodNode": "//li[contains(@class,'vodlist_item')]", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/a/@data-original", + "cateVodMark": "/a/span[2]/text()", + // Category Details ================================================= + "dtUrl": "https://www.ttsp.tv/voddetail/{vid}.html", + "dtNode": "//div[contains(@class,'detail_list_box')]", + "dtName": "//a[contains(@class,'vodlist_thumb')]/@title", + "dtImg": "//a[contains(@class,'vodlist_thumb')]/@data-original", + "dtCate": "//div[contains(@class,'content_detail content_min fl')]/ul/li[1]/a[3]/text()", + "dtYear": "//div[contains(@class,'content_detail content_min fl')]/ul/li[1]/a[1]/text()", + "dtArea": "//div[contains(@class,'content_detail content_min fl')]/ul/li[1]/a[2]/text()", + "dtActor": "//div[contains(@class,'content_detail content_min fl')]/ul/li[4]/a[1]/text()", + "dtMark": "//div[@class='stui-content__detail']/p[4]/text()", + "dtDirector": "//div[contains(@class,'content_detail content_min fl')]/ul/li[5]/a[1]/text()", + "dtDesc": "//div[contains(@class,'content_detail content_min fl')]/ul/li[6]", + // Playlist ========================================================= + "dtFromNode": "//div[contains(@class,'play_source_tab')]/a", + "dtFromName": "/@alt", + "dtFromNameR": "(.+) \\(\\S+", + "dtUrlNode": "//div[contains(@class,'playlist_notfull')]/ul", // number must match + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "https://www.ttsp.tv/vodplay/{playUrl}.html", + "playUa": "", + // Search Results =================================================== + "searchUrl": "https://www.ttsp.tv/vodsearch/-------------.html?wd={wd}&submit=", + "scVodNode": "//div[@class='searchlist_img']", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/voddetail/(\\w+).html", + "scVodImg": "/a/@data-original", + "scVodMark": "/a/span[2]/text()", + // Filters ========================================================== + "filter": { + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "泰国","v": "泰国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ] + } + } \ No newline at end of file diff --git a/XPath/tvci.json b/XPath/tvci.json new file mode 100644 index 0000000..476f413 --- /dev/null +++ b/XPath/tvci.json @@ -0,0 +1,73 @@ +{ + "author":"Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://dsxys.com/", + "dcVipFlag": "true", + "pCfgJs": "https://dsxys.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class, 'myui-header__menu nav-menu')]/li[@class='dropdown-hover']//div/ul/li/a[contains(@href, 'type') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\w+).html", + "cateManual": { + "电影":"1", + "连续剧":"2", + "动漫":"4", + "综艺":"3"}, + "homeVodNode": "//div[contains(@class, 'col-lg-wide-75')]//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://dsxys.com/vodshow/{cateId}-{area}--{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://dsxys.com/v/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//span[@class='sketch content']/text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://dsxys.com/p/{playUrl}.html", + "playUa": "", + "searchUrl": "https://dsxys.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter":{"1":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":""},{"n":"动作片","v":"6"},{"n":"喜剧片","v":"7"},{"n":"爱情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"奇幻片","v":"38"},{"n":"恐怖片","v":"10"},{"n":"剧情片","v":"11"},{"n":"战争片","v":"12"},{"n":"纪录片","v":"22"},{"n":"悬疑片","v":"44"},{"n":"冒险片","v":"45"},{"n":"犯罪片","v":"46"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"2":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":""},{"n":"国产剧","v":"13"},{"n":"港台剧","v":"14"},{"n":"日韩剧","v":"15"},{"n":"欧美剧","v":"16"},{"n":"海外剧","v":"23"},{"n":"动画片","v":"50"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"古装","v":"古装"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"韩国","v":"韩国"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"日本","v":"日本"},{"n":"美国","v":"美国"},{"n":"泰国","v":"泰国"},{"n":"英国","v":"英国"},{"n":"新加坡","v":"新加坡"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南话","v":"闽南话"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"3":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":""},{"n":"内地综艺","v":"29"},{"n":"港台综艺","v":"30"},{"n":"日韩综艺","v":"31"},{"n":"欧美综艺","v":"32"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"4":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":""},{"n":"国产动漫","v":"33"},{"n":"日韩动漫","v":"34"},{"n":"欧美动漫","v":"35"},{"n":"港台动漫","v":"36"},{"n":"海外动漫","v":"37"},{"n":"动漫电影","v":"39"},{"n":"番剧","v":"60"},{"n":"国创","v":"61"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"国产","v":"国产"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":""},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}]}} +} \ No newline at end of file diff --git a/XPath/unss.json b/XPath/unss.json new file mode 100644 index 0000000..5154233 --- /dev/null +++ b/XPath/unss.json @@ -0,0 +1,67 @@ +{ + "ua": "", + "homeUrl": "http://www.unss.net/", + "dcVipFlag": "true", + "pCfgJs": "http://www.unss.net/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu type-slide')]/li/a[contains(@href, 'vodtype')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//ul[contains(@class,'stui-vodlist clearfix')]/li[contains(@class,'col-md-6 col-sm-4 col-xs-3')]/div[contains(@class,'stui-vodlist__box')]", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/a/@data-original", + "homeVodImgR": "", + "homeVodMark": "//span[contains(@class,'pic-text text-right')]/text()", + "cateUrl": "http://www.unss.net/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist clearfix')]/li[contains(@class,'col-md-6 col-sm-4 col-xs-3')]/div[contains(@class,'stui-vodlist__box')]", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/a/@data-original", + "cateVodImgR": "", + "cateVodMark": "//span[contains(@class,'pic-text text-right')]/text()", + "dtUrl": "http://www.unss.net/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted hidden-xs') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted hidden-xs') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='stui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='stui-pannel-box']//b[contains(text(), '简介')]/parent::p/text()[2]", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.unss.net/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.unss.net/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/vip1280.json b/XPath/vip1280.json new file mode 100644 index 0000000..c9b65fa --- /dev/null +++ b/XPath/vip1280.json @@ -0,0 +1,75 @@ +// https://wds.ecsxs.com/224261.json +{ + "author": "春风", + "ua": "Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/99.0", + "homeUrl": "http://www.vip1280.net", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "国产剧": "2", + "港台剧": "3", + "日韩剧": "5", + "欧美剧": "4", + "泰剧": "22", + "动作片": "6", + "喜剧片": "11", + "科幻片": "8", + "爱情片": "7", + "恐怖片": "9", + "战争片": "10", + "剧情片": "20", + "动画片": "21" + }, + "homeVodNode": "//div[@class='stui-pannel stui-pannel-bg clearfix'][position()>2]//div[@class='stui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/movie/(\\S+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "http://www.vip1280.net/frim/index{cateId}/page/{catePg}.html", + "cateVodNode": "//div[@class='stui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/movie/(\\S+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "http://www.vip1280.net/movie/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(@class,'detail-content')]/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-pannel__head')]/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='stui-content__playlist clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.vip1280.net/play/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.vip1280.net/search.html?wd={wd}&submit=", + "scVodNode": "//a[contains(@class,'v-thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/movie/(\\S+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/vipmv.json b/XPath/vipmv.json new file mode 100644 index 0000000..727baf7 --- /dev/null +++ b/XPath/vipmv.json @@ -0,0 +1,60 @@ +{ + "ua": "", + "homeUrl": "https://vipmv.tv/", + "dcVipFlag": "true", + "pCfgJs": "https://vipmv.tv/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'ec-allnav')]/ul/li/a[contains(@href, 'Movietype')]", + "cateName": "/spam/text()", + "cateId": "/@href", + "cateIdR": "/Movietype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'pack-ykpack')]/div/a[contains(@class,'aplus-exp')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/Moviedetail/(\\w+).html", + "homeVodImg": "/div/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pack-prb')]/text()", + "cateUrl": "https://vipmv.tv/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//div[contains(@class,'pack-ykpack')]/div/a[contains(@class,'aplus-exp')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/Moviedetail/(\\w+).html", + "cateVodImg": "/div/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pack-prb')]/text()", + "dtUrl": "https://vipmv.tv/Moviedetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='s-top-right']/div/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='s-cover box']/a/img/@src", + "dtImgR": "", + "dtCate": "//div[@class='s-top-right']/div/p/span[contains(text(), '类型')]/following-sibling::*/text()", + "dtYear": "//span[contains(text(), '年代')]/following-sibling::a/text()", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtMark": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//span[contains(text(), '演员')]/following-sibling::a/text()", + "dtDesc": "//span[contains(text(), '简介')]/following-sibling::span/text()", + "dtFromNode": "//div[@class='play_source']/div/div/a", + "dtFromName": "[substring-before(text(),'(')]", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='playlist_notfull']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/okplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://vipmv.tv/okplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://vipmv.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/waipian2.json b/XPath/waipian2.json new file mode 100644 index 0000000..ee81dca --- /dev/null +++ b/XPath/waipian2.json @@ -0,0 +1,69 @@ +{ + "author": "zhao xiaoyun", + "ua": "", + "homeUrl": "http://waipian2.com", + "dcVipFlag": "true", + "pCfgJs": "http://waipian2.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href,'/')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/(\\S+)/", + "cateManual": {"电影":"dianying", + "剧集":"juji", + "综艺":"zongyi", + "动漫":"dongman", + "纪录片":"jilupian"}, + "homeVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/video/(\\w+)/", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://waipian2.com/show-{cateId}--------{catePg}---/", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/video/(\\w+)/", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://waipian2.com/video/{vid}/", + "dtNode": "//div[contains(@class,'col-lg-wide-8')]", + "dtName": "//div[contains(@class,'stui-content__thumb')]/a[contains(@class,'stui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a[contains(@class,'stui-vodlist__thumb')]/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "", + "dtCateR": "", + "dtArea": "//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtYear": "//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtMark": "//span[contains(@class,'text-muted') and contains(text(), '集数')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[contains(@class,'detail-sketch')]/text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href,'playlist')]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://waipian2.com/play/{playUrl}/", + "playUa": "", + "searchUrl": "http://waipian2.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" + } diff --git a/XPath/wanmeikankan.json b/XPath/wanmeikankan.json new file mode 100644 index 0000000..03d678c --- /dev/null +++ b/XPath/wanmeikankan.json @@ -0,0 +1,71 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "http://www.wanmeikk.me/", + "dcVipFlag": "true", + "pCfgJs": "http://www.wanmeikk.me/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "欧美剧": "2", + "韩剧": "3", + "日剧": "4", + "国产剧": "5", + "泰剧": "9", + "动漫": "6", + "纪录片": "10" + }, + "homeVodNode": "//li[contains(@class,'col-md-6 col-sm-4') or contains(@class,'col-lg-6 col-md-4')]//div[contains(@class,'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/project/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.wanmeikk.me/category/{cateId}-{catePg}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/project/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.wanmeikk.me/project/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()>", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '剧情')]/following-sibling::/span[2]/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'bottom-line')]/h3", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//div[contains(@class,'bottom-line')]/h3) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//div[@class='stui-pannel_bd col-pd clearfix']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.wanmeikk.me/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.wanmeikk.me/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/wanmeikk.json b/XPath/wanmeikk.json new file mode 100644 index 0000000..8c0c055 --- /dev/null +++ b/XPath/wanmeikk.json @@ -0,0 +1,71 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "http://www.wanmeikk.me/", + "dcVipFlag": "true", + "pCfgJs": "http://www.wanmeikk.me/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "欧美剧": "2", + "韩剧": "3", + "日剧": "4", + "国产剧": "5", + "泰剧": "9", + "动漫": "6", + "纪录片": "10" + }, + "homeVodNode": "//li[contains(@class,'col-md-6 col-sm-4') or contains(@class,'col-lg-6 col-md-4')]//div[contains(@class,'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/project/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.wanmeikk.me/category/{cateId}-{catePg}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/project/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.wanmeikk.me/project/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()>", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '剧情')]/following-sibling::/span[2]/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'bottom-line')]/h3", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//div[contains(@class,'bottom-line')]/h3) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//div[@class='stui-pannel_bd col-pd clearfix']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.wanmeikk.me/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.wanmeikk.me/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/wuguiyy.json b/XPath/wuguiyy.json new file mode 100644 index 0000000..1b340eb --- /dev/null +++ b/XPath/wuguiyy.json @@ -0,0 +1,64 @@ +{ + "ua": "", + "homeUrl": "https://www.wuguiyy.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.wuguiyy.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href,'type')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\S+)/", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+)/", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[contains(@class,'pic-text text-right')]/text()", + "cateUrl": "https://www.wuguiyy.com/type/{cateId}-{catePg}/", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+)/", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[contains(@class,'pic-text text-right')]/text()", + "dtUrl": "https://www.wuguiyy.com/detail/{vid}/", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__thumb')]/a[contains(@class,'stui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a[contains(@class,'stui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//span[contains(@class,'text-muted') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtYear": "//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//span[contains(@class,'text-muted') and contains(text(), '集数')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[contains(@class,'detail-sketch')]/text()", + "dtDescR": "", + "dtFromNode": "//h3", + "dtFromName": "/text()", + "dtUrlNode": "//ul[@class='stui-content__playlist clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.wuguiyy.com/play/{playUrl}/", + "playUa": "", + "searchUrl": "https://www.wuguiyy.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/xiangdao.json b/XPath/xiangdao.json new file mode 100644 index 0000000..9f3a006 --- /dev/null +++ b/XPath/xiangdao.json @@ -0,0 +1,379 @@ +{ + "author": "春风", + "ua": "Mozilla/5.0 (Android 12; Mobile; rv:68.0) Gecko/68.0 Firefox/99.0", + "homeUrl": "http://www.huaherobot.com", + "dcVipFlag": "true", + "pCfgJs": "http://www.huaherobot.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "综艺": "3" + }, + "homeVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/xvideo/(\\w+)/", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "http://www.huaherobot.com/vs/{cateId}-{area}-{by}-{catelog}-----{catePg}---{year}/", + "cateVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/xvideo/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "http://www.huaherobot.com/xvideo/{vid}/", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/parent::text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/parent::text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//div[@class='stui-pannel__head clearfix']/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[@class='stui-content__playlist clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.huaherobot.com/{playUrl}", + "playUa": "", + "searchUrl": "http://www.huaherobot.com/vsearch/-------------/?wd={wd}&submit=", + "scVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/xvideo/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()", + "filter": { + "1": [ + { + "name": "类型", + "key": "catelog", + "value": [ + {"n": "全部","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"}, + {"n": "枪战","v": "枪战"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "经典","v": "经典"}, + {"n": "青春","v": "青春"}, + {"n": "文艺","v": "文艺"}, + {"n": "微电影","v": "微电影"}, + {"n": "古装","v": "古装"}, + {"n": "历史","v": "历史"}, + {"n": "运动","v": "运动"}, + {"n": "农村","v": "农村"}, + {"n": "儿童","v": "儿童"}, + {"n": "网络电影","v": "网络电影"} + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "2": [ + { + "name": "类型", + "key": "catelog", + "value": [ + {"n": "全部","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"}, + {"n": "商战","v": "商战"}, + {"n": "网剧","v": "网剧"}, + {"n": "其他","v": "其他"} + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "3": [ + { + "name": "类型", + "key": "catelog", + "value": [ + {"n": "全部","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "纪实"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "4": [ + { + "name": "类型", + "key": "catelog", + "value": [ + {"n": "全部","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "原创","v": "原创"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/xiaoqiangmi.json b/XPath/xiaoqiangmi.json new file mode 100644 index 0000000..4ce9bc4 --- /dev/null +++ b/XPath/xiaoqiangmi.json @@ -0,0 +1,101 @@ +{ + "author": "ajk", + "ua": "", + // 首页地址 用于获取 分类和首页推荐 + "homeUrl": "https://www.xqmi.top", + // 手动设置分类,如果手动设置了分类则不使用上面的分类xpath获取分类 例如 "cateManual": {"电影": "1", "电视剧": "2"}, + "cateManual": { + "推荐": "0", + "电影": "1", + "电视剧": "2", + "综艺": "3", + "动漫": "4", + "国产剧": "13", + "港台剧": "14", + "日韩剧": "15", + "欧美剧": "16", + "动作片": "6", + "喜剧片": "7", + "爱情片": "8", + "科幻片": "9", + "恐怖片": "10", + "剧情片": "11", + "战争片": "12" + }, + // 首页推荐视频的节点 + "homeVodNode": "//ul[@class='stui-vodlist clearfix']/li/a", + // 首页推荐视频的名称 + "homeVodName": "/@title", + // 二次处理正则 + "homeVodNameR": "", + // 首页推荐视频的id + "homeVodId": "/@href", + // 二次处理正则 + "homeVodIdR": "/id/(\\w+).html", + // 首页推荐视频的图片 + "homeVodImg": "/@data-original", + // 二次处理正则 + "homeVodImgR": "", + // 首页推荐视频的简介 + "homeVodMark": "/span[@class='pic-text text-right']/text()", + // 二次处理正则 + "homeVodMarkR": "", + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "https://www.xqmi.top/index.php/vod/type/id/{cateId}/page/{catePg}.html", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//ul[@class='stui-vodlist clearfix']/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://www.xqmi.top/index.php/vod/play/id/{vid}.html", + // 详情节点 + "dtNode": "//body", + // 视频名 + "dtName": "//div[contains(@class,'video-title')]/h2[@class='title']/text()", + "dtNameR": "", + // 视频图片 + "dtImg": "//a[contains(@class,'stui-vodlist__thumb')][1]/@data-original", + "dtImgR": "", + // 视频分类 + "dtCate": "//span[contains(@class,'text-muted hidden-xs') and contains(text(), '类型:')]/following-sibling::*/text()", + "dtCateR": "", + // 视频年份 + "dtYear": "//span[contains(@class,'text-muted hidden-xs') and contains(text(), '年份:')]/following-sibling::*/text()", + // 视频简介 + "dtDesc": "//div[contains(@class,'stui-content__desc col-pd clearfix')]/text()", + "dtDescR": "", + // 播放源节点 + "dtFromNode": "//div[contains(@class,'tabs')]/ul[@class='t-ul']", + // 播放源名称 多个重名播放源 + "dtFromName": "concat('播放源',count(parent::*/preceding::*//div[contains(@class,'tabs')]/ul[@class='t-ul']) + 1)", + // 二次处理正则 + "dtFromNameR": "(\\S+).0", + // 播放列表节点 + "dtUrlNode": "//div[contains(@class,'tabs')]/div//ul", + // 播放地址节点 + "dtUrlSubNode": "/li/a", + // 播放地址 + "dtUrlId": "/@href", + // 二次处理正则 + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + // 剧集名称 + "dtUrlName": "/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "https://www.xqmi.top/index.php/vod/play/id/{playUrl}.html", + // 解析webview的user-agent + "playUa": "", + // 搜索地址 + "searchUrl": "https://www.xqmi.top/index.php/vod/search.html?wd={wd}", + // 同上面的homeVod字段 搜索结果中的视频信息, 这里有对苹果cms suggest搜索接口的特殊支持,参考示例中的极品影视 + "scVodNode": "//ul[@class='stui-vodlist clearfix']/li/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/id/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/xiaotaiyang.json b/XPath/xiaotaiyang.json new file mode 100644 index 0000000..59dbbf4 --- /dev/null +++ b/XPath/xiaotaiyang.json @@ -0,0 +1,43 @@ +{ + "ua": "", + "homeUrl": "http://www.yyotv.com", + "cateNode": "//ul[@class='item nav-list clearfix']/li/a[contains(@href, 'id')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/type/id/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='myui-vodlist__box']/a[contains(@class, 'lazyload')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "http://www.yyotv.com/index.php/vod/type/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//div[@class='myui-vodlist__box']/a[contains(@class, 'lazyload')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "http://www.yyotv.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtFromNode": "//ul[@class='nav nav-tabs active']/li/a", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@id,'playlist')]/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.yyotv.com{playUrl}", + "playUa": "", + "searchUrl": "http://www.yyotv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/xiaoxiaoyingshi.json b/XPath/xiaoxiaoyingshi.json new file mode 100644 index 0000000..3b05da4 --- /dev/null +++ b/XPath/xiaoxiaoyingshi.json @@ -0,0 +1,67 @@ +{ + "ua": "", + "homeUrl": "https://xfeiji.com", + "dcVipFlag": "true", + "pCfgJs": "https://xfeiji.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'myui-header__menu nav-menu')]/li[contains(@class, ' hidden-sm hidden-xs')]/a[contains(@href, 'vodtype') and not(contains(@href,'label'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/display/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://xfeiji.com/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/display/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://xfeiji.com/display/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://xfeiji.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://xfeiji.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/xiaoxiongxyz520.json b/XPath/xiaoxiongxyz520.json new file mode 100644 index 0000000..427bedd --- /dev/null +++ b/XPath/xiaoxiongxyz520.json @@ -0,0 +1,577 @@ +{ + "ua": "20220527", + "homeUrl": "http://www.xxys520.com", + "dcVipFlag": "true", + "pCfgJs": "http://www.xxys520.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "3", + "综艺": "4", + "纪录片": "5" + }, + "homeVodNode": "//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-titlebox']/a/text()", + "homeVodId": "//div[@class='module-item-titlebox']/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "//img/@data-src", + "homeVodImgR": "", + "homeVodMark": "//div[@class='module-item-text']/text()", + "cateUrl": "http://www.xxys520.com/vodshow/{cateId}-{area}-{by}---{letter}---{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-item']", + "cateVodName": "//div[@class='module-item-titlebox']/a/text()", + "cateVodId": "//div[@class='module-item-titlebox']/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "//img/@data-src", + "cateVodImgR": "", + "cateVodMark": "//div[@class='module-item-text']/text()", + "dtUrl": "http://www.xxys520.com/voddetail/{vid}.html", + "dtNode": "//main[@id='main']", + "dtName": "//h1[@class='page-title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//img/@data-src", + "dtImgR": "", + "dtCate": "//div[@class='tag-link']/a/text()", + "dtCateR": "", + "dtYear": "//a[2][@class='tag-link']/text()", + "dtYearR": "", + "dtArea": "//a[3][@class='tag-link']/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::div/a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::div/a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '剧情')]/following-sibling::div/span/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'module-tab-content')]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='module-blocklist']/div", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "http://www.xxys520.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.xxys520.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "name": "分类", + "key": "cateId", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" }, + { "n": "惊悚片", "v": "20" }, + { "n": "犯罪片", "v": "21" }, + { "n": "冒险片", "v": "22" }, + { "n": "悬疑片", "v": "23" }, + { "n": "动画片", "v": "24" }, + { "n": "武侠片", "v": "25" }, + { "n": "奇幻片", "v": "26" }, + { "n": "古装片", "v": "27" } + ] + }, + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "动作", "v": "动作" }, + { "n": "科幻", "v": "科幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "战争", "v": "战争" }, + { "n": "警匪", "v": "警匪" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动画", "v": "动画" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "武侠", "v": "武侠" }, + { "n": "冒险", "v": "冒险" }, + { "n": "枪战", "v": "枪战" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "经典", "v": "经典" }, + { "n": "青春", "v": "青春" }, + { "n": "文艺", "v": "文艺" }, + { "n": "微电影", "v": "微电影" }, + { "n": "古装", "v": "古装" }, + { "n": "历史", "v": "历史" }, + { "n": "运动", "v": "运动" }, + { "n": "农村", "v": "农村" }, + { "n": "儿童", "v": "儿童" }, + { "n": "网络电影", "v": "网络电影" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "德国", "v": "德国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "意大利", "v": "意大利" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2": [ + { + "name": "分类", + "key": "cateId", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "14" }, + { "n": "日韩剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "泰国剧", "v": "29" }, + { "n": "其他剧", "v": "27" } + ] + }, + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + { "n": "青春偶像", "v": "青春偶像" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "家庭", "v": "家庭" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "经典", "v": "经典" }, + { "n": "乡村", "v": "乡村" }, + { "n": "情景", "v": "情景" }, + { "n": "商战", "v": "商战" }, + { "n": "网剧", "v": "网剧" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "4": [ + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "选秀", "v": "选秀" }, + { "n": "情感", "v": "情感" }, + { "n": "访谈", "v": "访谈" }, + { "n": "播报", "v": "播报" }, + { "n": "旅游", "v": "旅游" }, + { "n": "音乐", "v": "音乐" }, + { "n": "美食", "v": "美食" }, + { "n": "纪实", "v": "纪实" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "生活", "v": "生活" }, + { "n": "游戏互动", "v": "游戏互动" }, + { "n": "财经", "v": "财经" }, + { "n": "求职", "v": "求职" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3": [ + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "情感", "v": "情感" }, + { "n": "科幻", "v": "科幻" }, + { "n": "热血", "v": "热血" }, + { "n": "推理", "v": "推理" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "冒险", "v": "冒险" }, + { "n": "萝莉", "v": "萝莉" }, + { "n": "校园", "v": "校园" }, + { "n": "动作", "v": "动作" }, + { "n": "机战", "v": "机战" }, + { "n": "运动", "v": "运动" }, + { "n": "战争", "v": "战争" }, + { "n": "少年", "v": "少年" }, + { "n": "少女", "v": "少女" }, + { "n": "社会", "v": "社会" }, + { "n": "原创", "v": "原创" }, + { "n": "亲子", "v": "亲子" }, + { "n": "益智", "v": "益智" }, + { "n": "励志", "v": "励志" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "5": [ + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/xigutv.json b/XPath/xigutv.json new file mode 100644 index 0000000..1fa44e9 --- /dev/null +++ b/XPath/xigutv.json @@ -0,0 +1,382 @@ +{ + "author": "csp_XPathFilter", + "ua":"", + "homeUrl": "https://www.xigutv.com/", + "dcPlayUrl":"true", + "cateManual": { + "电影": "1", + "剧集": "2", + "综艺": "3", + "动漫": "4", + "哔哩":"20" + }, + "homeVodNode": "//div[@class='module-main tab-list active']/div/a[position()<6]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/index.php/vod/detail/id/(.+).html", + "homeVodImg": "//img/@data-original", + "homeVodImgR": "(https?.+)", + "homeVodMark": "//div[@class='module-item-note']/text()", + "cateUrl": "https://www.xigutv.com/index.php/vod/show/by/{by}/id/{cateId}/page/{catePg}/year/{year}.html", + "cateVodNode": "//a[@class='module-poster-item module-item']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/detail/id/(.+).html", + "cateVodImg": "//img/@data-original", + "cateVodImgR": "(https?.+)", + "cateVodMark": "//div[@class='module-item-note']/text()", + "dtUrl": "https://www.xigutv.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//h1/text()", + "dtImg": "//img[@class='ls-is-cached lazy lazyload']/@data-original", + "dtImgR": "(https?.+)", + + "dtCate": "concat(//div[@class='module-info-tag-link']//text())", + "dtCateR":"(.+?)/*$", + "dtActor": "concat(//div[@class='module-info-item'][2]/div[@class='module-info-item-content']//text())", + "dtActorR":"(.+?)/*$", + "dtDirector": "//div[@class='module-info-item'][1]/div[@class='module-info-item-content']//text()", + "dtDirectorR": "(.+?)/*$", + "dtDesc": "//div[@class='module-info-introduction-content']/p/text()", + + "dtFromNode": "//div[@id='y-playList']/div[contains(@class,'module-tab-item tab-item')]", + "dtFromName": "concat(//text(),'集')", + "dtFromNameR": "", + "dtUrlNode": "//div[@id='panel1']", + "dtUrlSubNode": "//a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/(.+).html", + "dtUrlName": "//text()", + "dtUrlNameR": "", + "playUrl": "https://www.xigutv.com/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + + "searchUrl": "https://www.xigutv.com/index.php/vod/search/page/1/wd/{wd}.html", + "scVodNode": "//div[@class='module-card-item module-item'][position()<6]", + "scVodName": "//strong/text()", + "scVodId": "/a/@href", + "scVodIdR": "/index.php/vod/detail/id/(.+).html", + "scVodImg": "//img/@data-original", + "scVodImgR":"(https?.+)", + "scVodMark": "//div[@class='module-item-note']/text()", + "filter":{"1": [ + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "时间排序", + "v": "time" + }, { + "n": "人气排序", + "v": "hits" + }, { + "n": "评分排序", + "v": "score" + }] + }], + "2": [ + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "时间排序", + "v": "time" + }, { + "n": "人气排序", + "v": "hits" + }, { + "n": "评分排序", + "v": "score" + }] + }], + "3": [ + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "时间排序", + "v": "time" + }, { + "n": "人气排序", + "v": "hits" + }, { + "n": "评分排序", + "v": "score" + }] + }], + "4": [ + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "时间排序", + "v": "time" + }, { + "n": "人气排序", + "v": "hits" + }, { + "n": "评分排序", + "v": "score" + }] + }], + "20": [ + { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "时间排序", + "v": "time" + }, { + "n": "人气排序", + "v": "hits" + }, { + "n": "评分排序", + "v": "score" + }] + }]} +} \ No newline at end of file diff --git a/XPath/xinzuqiu.json b/XPath/xinzuqiu.json new file mode 100644 index 0000000..72f6068 --- /dev/null +++ b/XPath/xinzuqiu.json @@ -0,0 +1,79 @@ +{ + "author": "dj", + "ua": "", + "homeUrl": "http://www.xinzuqiu.com/", + //"homeUrl": "http://jrsbxj.com/", + //"homeUrl": "http://jrsyyds.com/", + + "cateManual": { + "新足球": "1" + }, + + // 首页推荐视频的节点 + "homeVodNode": "//li[@data-time]", + // 首页推荐视频的名称 + "homeVodName": "/@label", + // 首页推荐视频的id + "homeVodId": "/@id", + // 二次处理正则 + //"homeVodIdR": "/vedio/shipin-(\\d+).html", + // 首页推荐视频的图片 + "homeVodImg": "/@id", + // 首页推荐视频的简介 + "homeVodMark": "/@label", + + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "http://www.xinzuqiu.com/", + "cateVodNode":"//li[@data-time]", + "cateVodName": "concat(/div[1]/text(),/div[2]/text())", + "cateVodId":"/@id", + //"cateVodIdR": "/vedio/shipin-(\\d+).html", + "cateVodImg": "/@id", + "cateVodMark": "/div[a]/a/text()", + //"cateVodMark": "{vid}", + + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + //"dtUrl": "{vid}", + "dtUrl": "http://365ball.com/play.html?id={vid}", + // 详情节点 + "dtNode": "//div[@class='title-content']", + // 视频名 + "dtName": "/text()", + // 视频图片 + "dtImg": "/h1/a/img/@src", + // 视频分类 + "dtCate": "/text()", + //演员 + "dtActor": "/text()", + // 视频简介 + "dtDesc": "/text()", + + + // 播放源节点 + "dtFromNode": "//a[@class='activeSignal']", + // 播放源名称 + "dtFromName": "/text()", + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//div[@class='view']", + // 播放地址节点 + "dtUrlSubNode": "/a", + // 播放地址 + "dtUrlId": "@href", + "dtUrlIdR": "http://365ball.com/play.html?id=(\\S+)", + //"dtUrlIdR": "\\S+/(\\d+)&id2=", + // 剧集名称 + "dtUrlName": "/text()", + "dtUrlNameR": "", + + //播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl":"hhttp://365ball.com/play.html?id={playUrl}", + + "searchUrl": "http://www.xinzuqiu.com?key={wd}", + "scVodNode": "//div[@class='play_xg']/li", + "scVodName": "//div[@class='name']/a/@title", + "scVodId": "//div[@class='name']/a/@href", + "scVodIdR": "/play/(\\d+).html", + "scVodImg": "//div[@class='pic']/a/img/@src", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/xkys.json b/XPath/xkys.json new file mode 100644 index 0000000..3e68199 --- /dev/null +++ b/XPath/xkys.json @@ -0,0 +1,60 @@ +{ + "ua": "", + "homeUrl": "https://xkys.tv/", + "dcVipFlag": "true", + "pCfgJs": "https://xkys.tv/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'ec-allnav')]/ul/li/a[contains(@href, 'Movietype')]", + "cateName": "/spam/text()", + "cateId": "/@href", + "cateIdR": "/Movietype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class,'pack-ykpack')]/div/a[contains(@class,'aplus-exp')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/Moviedetail/(\\w+).html", + "homeVodImg": "/div/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pack-prb')]/text()", + "cateUrl": "https://xkys.tv/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//div[contains(@class,'pack-ykpack')]/div/a[contains(@class,'aplus-exp')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/Moviedetail/(\\w+).html", + "cateVodImg": "/div/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pack-prb')]/text()", + "dtUrl": "https://xkys.tv/Moviedetail/{vid}.html", + "dtNode": "//div[@class='vod-detail ']", + "dtName": "//div[@class='s-top-right']/div/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='s-cover box']/a/img/@src", + "dtImgR": "", + "dtCate": "//div[@class='s-top-right']/div/p/span[contains(text(), '类型')]/following-sibling::*/text()", + "dtYear": "//span[contains(text(), '年代')]/following-sibling::a/text()", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtMark": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtActor": "//span[contains(text(), '演员')]/following-sibling::a/text()", + "dtDesc": "//span[contains(text(), '简介')]/following-sibling::span/text()", + "dtFromNode": "//div[@class='play_source']/div/div/a", + "dtFromName": "[substring-before(text(),'(')]", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='playlist_notfull']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/okplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://xkys.tv/okplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://xkys.tv/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} diff --git a/XPath/xqmi.json b/XPath/xqmi.json new file mode 100644 index 0000000..4ce9bc4 --- /dev/null +++ b/XPath/xqmi.json @@ -0,0 +1,101 @@ +{ + "author": "ajk", + "ua": "", + // 首页地址 用于获取 分类和首页推荐 + "homeUrl": "https://www.xqmi.top", + // 手动设置分类,如果手动设置了分类则不使用上面的分类xpath获取分类 例如 "cateManual": {"电影": "1", "电视剧": "2"}, + "cateManual": { + "推荐": "0", + "电影": "1", + "电视剧": "2", + "综艺": "3", + "动漫": "4", + "国产剧": "13", + "港台剧": "14", + "日韩剧": "15", + "欧美剧": "16", + "动作片": "6", + "喜剧片": "7", + "爱情片": "8", + "科幻片": "9", + "恐怖片": "10", + "剧情片": "11", + "战争片": "12" + }, + // 首页推荐视频的节点 + "homeVodNode": "//ul[@class='stui-vodlist clearfix']/li/a", + // 首页推荐视频的名称 + "homeVodName": "/@title", + // 二次处理正则 + "homeVodNameR": "", + // 首页推荐视频的id + "homeVodId": "/@href", + // 二次处理正则 + "homeVodIdR": "/id/(\\w+).html", + // 首页推荐视频的图片 + "homeVodImg": "/@data-original", + // 二次处理正则 + "homeVodImgR": "", + // 首页推荐视频的简介 + "homeVodMark": "/span[@class='pic-text text-right']/text()", + // 二次处理正则 + "homeVodMarkR": "", + // 分类页地址 {cateId} 分类id {catePg} 当前页 + "cateUrl": "https://www.xqmi.top/index.php/vod/type/id/{cateId}/page/{catePg}.html", + // 同上面的homeVod字段 分类列表中的视频信息 + "cateVodNode": "//ul[@class='stui-vodlist clearfix']/li/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://www.xqmi.top/index.php/vod/play/id/{vid}.html", + // 详情节点 + "dtNode": "//body", + // 视频名 + "dtName": "//div[contains(@class,'video-title')]/h2[@class='title']/text()", + "dtNameR": "", + // 视频图片 + "dtImg": "//a[contains(@class,'stui-vodlist__thumb')][1]/@data-original", + "dtImgR": "", + // 视频分类 + "dtCate": "//span[contains(@class,'text-muted hidden-xs') and contains(text(), '类型:')]/following-sibling::*/text()", + "dtCateR": "", + // 视频年份 + "dtYear": "//span[contains(@class,'text-muted hidden-xs') and contains(text(), '年份:')]/following-sibling::*/text()", + // 视频简介 + "dtDesc": "//div[contains(@class,'stui-content__desc col-pd clearfix')]/text()", + "dtDescR": "", + // 播放源节点 + "dtFromNode": "//div[contains(@class,'tabs')]/ul[@class='t-ul']", + // 播放源名称 多个重名播放源 + "dtFromName": "concat('播放源',count(parent::*/preceding::*//div[contains(@class,'tabs')]/ul[@class='t-ul']) + 1)", + // 二次处理正则 + "dtFromNameR": "(\\S+).0", + // 播放列表节点 + "dtUrlNode": "//div[contains(@class,'tabs')]/div//ul", + // 播放地址节点 + "dtUrlSubNode": "/li/a", + // 播放地址 + "dtUrlId": "/@href", + // 二次处理正则 + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + // 剧集名称 + "dtUrlName": "/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "https://www.xqmi.top/index.php/vod/play/id/{playUrl}.html", + // 解析webview的user-agent + "playUa": "", + // 搜索地址 + "searchUrl": "https://www.xqmi.top/index.php/vod/search.html?wd={wd}", + // 同上面的homeVod字段 搜索结果中的视频信息, 这里有对苹果cms suggest搜索接口的特殊支持,参考示例中的极品影视 + "scVodNode": "//ul[@class='stui-vodlist clearfix']/li/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/id/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/xuangz.json b/XPath/xuangz.json new file mode 100644 index 0000000..4abd1ad --- /dev/null +++ b/XPath/xuangz.json @@ -0,0 +1,62 @@ +{ + "ua": "", + "homeUrl": "https://v.xuangz.cn/", + "cateNode": "//ul[@class='nav navbar-nav']/li/a[contains(@href,'whole') and not(contains(@href, '5'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/whole(\\S+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='movie-item-in']", + "homeVodName": "/div/h1/a/text()", + "homeVodId": "/div/h1/a/@href", + "homeVodIdR": "/show(\\S+).html", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "", + "homeVodMark": "", + "cateUrl": "https://v.xuangz.cn/whole/{cateId}_______0_addtime_{catePg}.html", + "cateVodNode": "//div[@class='movie-item-in']", + "cateVodName": "/div/h1/a/text()", + "cateVodId": "/div/h1/a/@href", + "cateVodIdR": "/show(\\S+).html", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "", + "cateVodMark": "", + "dtUrl": "https://v.xuangz.cn/show/{vid}.html", + "dtNode": "//div[@class='row']", + "dtName": "/div/h1/text()", + "dtNameR": "", + "dtImg": "/div/div/div[1]/img/@src", + "dtImgR": "", + "dtCate": "/div/div/div[2]/table/tbody/tr[3]/td[2]/a/text()", + "dtCateR": "", + "dtYear": "div/div/div[2]/table/tbody/tr[6]/td[2]/a/text()", + "dtYearR": "", + "dtArea": "/div/div/div[2]/table/tbody/tr[4]/td[2]/a/text()", + "dtAreaR": "", + "dtMark": "/div/div/div[2]/table/tbody/tr[7]/td[2]/text()", + "dtMarkR": "", + "dtActor": "/div/div/div[2]/table/tbody/tr[2]/td[2]/a/text()", + "dtActorR": "", + "dtDirector": "/div/div/div[2]/table/tbody/tr[1]/td[2]/a/text()", + "dtDirectorR": "", + "dtDesc": "/div/div[2]/div[2]/p/span//span/text()", + "dtDescR": "", + "dtFromNode": "//ul[@id='tvTabs']/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='row tv-js-list']", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://v.xuangz.cn//play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://v.xuangz.cn/?c=search&wd={wd}", + "scVodNode": "//div[@class='movie-item-in']", + "scVodName": "/a/@title", + "scVodId": "/div/h1/a/@href", + "scVodIdR": "/show/(\\S+).html", + "scVodImg": "/a/img/@src", + "scVodMark": "/a/span/text()" +} \ No newline at end of file diff --git a/XPath/xuetang.json b/XPath/xuetang.json new file mode 100644 index 0000000..64253ef --- /dev/null +++ b/XPath/xuetang.json @@ -0,0 +1,1765 @@ + +{ + "classes": [ + + { + "type_name": "儿童早教", + "type_id": "儿童早教" + }, + { + "type_name": "儿童启蒙故事", + "type_id": "儿童启蒙故事" + }, + { + "type_name": "儿童英语启蒙", + "type_id": "儿童英语启蒙" + }, + { + "type_name": "儿童歌曲", + "type_id": "儿童歌曲" + }, +{ + "type_name": "儿童绘画", + "type_id": "儿童绘画" + }, + { + "type_name": "睡前故事", + "type_id": "睡前故事" + }, + +{ + "type_name": "儿童动画", + "type_id": "儿童动画" + }, +{ + "type_name": "儿童音乐", + "type_id": "儿童音乐" + }, + { + "type_name": "儿童安全教育", + "type_id": "儿童安全教育" + }, + { + "type_name": "贝瓦儿歌", + "type_id": "贝瓦儿歌" + }, + { + "type_name": "悟空识字", + "type_id": "悟空识字" + }, + { + "type_name": "宝宝巴士", + "type_id": "宝宝巴士" + }, + { + "type_name": "儿歌多多", + "type_id": "儿歌多多" + }, + { + "type_name": "学而思", + "type_id": "学而思" + }, + + { + "type_name": "1年级语文", + "type_id": "1年级语文" + }, + { + "type_name": "1年级数学", + "type_id": "1年级数学" + }, + { + "type_name": "1年级英语", + "type_id": "1年级英语" + }, +{ + "type_name": "2年级语文", + "type_id": "2年级语文" + }, + { + "type_name": "2年级数学", + "type_id": "2年级数学" + }, + { + "type_name": "2年级英语", + "type_id": "2年级英语" + }, +{ + "type_name": "3年级语文", + "type_id": "3年级语文" + }, + { + "type_name": "3年级数学", + "type_id": "3年级数学" + }, + { + "type_name": "3年级英语", + "type_id": "3年级英语" + }, +{ + "type_name": "4年级语文", + "type_id": "4年级语文" + }, + { + "type_name": "4年级数学", + "type_id": "4年级数学" + }, + { + "type_name": "4年级英语", + "type_id": "4年级英语" + }, +{ + "type_name": "5年级语文", + "type_id": "5年级语文" + }, + { + "type_name": "5年级数学", + "type_id": "5年级数学" + }, + { + "type_name": "5年级英语", + "type_id": "5年级英语" + }, +{ + "type_name": "6年级语文", + "type_id": "6年级语文" + }, + { + "type_name": "6年级数学", + "type_id": "6年级数学" + }, + { + "type_name": "6年级英语", + "type_id": "6年级英语" + }, +{ + "type_name": "7年级语文", + "type_id": "7年级语文" + }, + { + "type_name": "7年级数学", + "type_id": "7年级数学" + }, + { + "type_name": "7年级英语", + "type_id": "7年级英语" + }, + { + "type_name": "7年级历史", + "type_id": "7年级历史" + }, +{ + "type_name": "7年级地理", + "type_id": "7年级地理" + }, + { + "type_name": "7年级生物", + "type_id": "7年级生物" + }, + { + "type_name": "7年级物理", + "type_id": "7年级物理" + }, + { + "type_name": "7年级化学", + "type_id": "7年级化学" + }, + +{ + "type_name": "8年级语文", + "type_id": "8年级语文" + }, + { + "type_name": "8年级数学", + "type_id": "8年级数学" + }, + { + "type_name": "8年级英语", + "type_id": "8年级英语" + }, + { + "type_name": "8年级历史", + "type_id": "8年级历史" + }, +{ + "type_name": "8年级地理", + "type_id": "8年级地理" + }, + { + "type_name": "8年级生物", + "type_id": "8年级生物" + }, + + { + "type_name": "8年级物理", + "type_id": "8年级物理" + }, + { + "type_name": "8年级化学", + "type_id": "8年级化学" + }, + + +{ + "type_name": "9年级语文", + "type_id": "9年级语文" + }, + { + "type_name": "9年级数学", + "type_id": "9年级数学" + }, + { + "type_name": "9年级英语", + "type_id": "9年级英语" + }, + { + "type_name": "9年级历史", + "type_id": "9年级历史" + }, +{ + "type_name": "9年级地理", + "type_id": "9年级地理" + }, + { + "type_name": "9年级生物", + "type_id": "9年级生物" + }, + + { + "type_name": "9年级物理", + "type_id": "9年级物理" + }, + { + "type_name": "9年级化学", + "type_id": "9年级化学" + }, + + +{ + "type_name": "高一语文", + "type_id": "高一语文" + }, + { + "type_name": "高一数学", + "type_id": "高一数学" + }, + { + "type_name": "高一英语", + "type_id": "高一英语" + }, + { + "type_name": "高一历史", + "type_id": "高一历史" + }, +{ + "type_name": "高一地理", + "type_id": "高一地理" + }, + { + "type_name": "高一生物", + "type_id": "高一生物" + }, + { + "type_name": "高一思想政治", + "type_id": "高一思想政治" + }, +{ + "type_name": "高一物理", + "type_id": "高一物理" + }, + { + "type_name": "高一化学", + "type_id": "高一化学" + }, + + +{ + "type_name": "高二语文", + "type_id": "高二语文" + }, + { + "type_name": "高二数学", + "type_id": "高二数学" + }, + { + "type_name": "高二英语", + "type_id": "高二英语" + }, + { + "type_name": "高二历史", + "type_id": "高二历史" + }, +{ + "type_name": "高二地理", + "type_id": "高二地理" + }, + { + "type_name": "高二生物", + "type_id": "高二生物" + }, + { + "type_name": "高二思想政治", + "type_id": "高二思想政治" + }, +{ + "type_name": "高二物理", + "type_id": "高二物理" + }, + { + "type_name": "高二化学", + "type_id": "高二化学" + }, + + +{ + "type_name": "高三语文", + "type_id": "高三语文" + }, + { + "type_name": "高三数学", + "type_id": "高三数学" + }, + { + "type_name": "高三英语", + "type_id": "高三英语" + }, + { + "type_name": "高三历史", + "type_id": "高三历史" + }, +{ + "type_name": "高三地理", + "type_id": "高三地理" + }, + { + "type_name": "高三生物", + "type_id": "高三生物" + }, + { + "type_name": "高三思想政治", + "type_id": "高三思想政治" + }, +{ + "type_name": "高三物理", + "type_id": "高三物理" + }, + { + "type_name": "高三化学", + "type_id": "高三化学" + }, + + + + { + "type_name": "高中信息技术", + "type_id": "高中信息技术" + }, + { + "type_name": "高中信息技术", + "type_id": "高中信息技术" + } + + + + ], + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "TVBox": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "吾爱评测整理", + "v": "吾爱评测" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "吾爱评测整理", + "v": "吾爱评测" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} diff --git a/XPath/xxys520.json b/XPath/xxys520.json new file mode 100644 index 0000000..ad31c7a --- /dev/null +++ b/XPath/xxys520.json @@ -0,0 +1,577 @@ +{ + "ua": "20220527", + "homeUrl": "http://www.xxys520.com", + "dcVipFlag": "true", + "pCfgJs": "http://www.xxys520.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "3", + "综艺": "4", + "纪录片": "5" + }, + "homeVodNode": "//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-titlebox']/a/text()", + "homeVodId": "//div[@class='module-item-titlebox']/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "//img/@data-src", + "homeVodImgR": "", + "homeVodMark": "//div[@class='module-item-text']/text()", + "cateUrl": "http://www.xxys520.com/vodshow/{cateId}-{area}-{by}---{letter}---{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-item']", + "cateVodName": "//div[@class='module-item-titlebox']/a/text()", + "cateVodId": "//div[@class='module-item-titlebox']/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "//img/@data-src", + "cateVodImgR": "", + "cateVodMark": "//div[@class='module-item-text']/text()", + "dtUrl": "http://www.xxys520.com/voddetail/{vid}.html", + "dtNode": "//main[@id='main']", + "dtName": "//h1[@class='page-title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//img/@data-src", + "dtImgR": "", + "dtCate": "//div[@class='tag-link']/a/text()", + "dtCateR": "", + "dtYear": "//a[2][@class='tag-link']/text()", + "dtYearR": "", + "dtArea": "//a[3][@class='tag-link']/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::div/a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::div/a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '剧情')]/following-sibling::div/span/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'module-tab-content')]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='module-blocklist']/div", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "http://www.xxys520.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.xxys520.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "name": "分类", + "key": "cateId", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" }, + { "n": "惊悚片", "v": "20" }, + { "n": "犯罪片", "v": "21" }, + { "n": "冒险片", "v": "22" }, + { "n": "悬疑片", "v": "23" }, + { "n": "动画片", "v": "24" }, + { "n": "武侠片", "v": "25" }, + { "n": "奇幻片", "v": "26" }, + { "n": "古装片", "v": "27" } + ] + }, + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "动作", "v": "动作" }, + { "n": "科幻", "v": "科幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "战争", "v": "战争" }, + { "n": "警匪", "v": "警匪" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动画", "v": "动画" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "武侠", "v": "武侠" }, + { "n": "冒险", "v": "冒险" }, + { "n": "枪战", "v": "枪战" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "经典", "v": "经典" }, + { "n": "青春", "v": "青春" }, + { "n": "文艺", "v": "文艺" }, + { "n": "微电影", "v": "微电影" }, + { "n": "古装", "v": "古装" }, + { "n": "历史", "v": "历史" }, + { "n": "运动", "v": "运动" }, + { "n": "农村", "v": "农村" }, + { "n": "儿童", "v": "儿童" }, + { "n": "网络电影", "v": "网络电影" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "德国", "v": "德国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "意大利", "v": "意大利" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2": [ + { + "name": "分类", + "key": "cateId", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "14" }, + { "n": "日韩剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "泰国剧", "v": "29" }, + { "n": "其他剧", "v": "27" } + ] + }, + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + { "n": "青春偶像", "v": "青春偶像" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "家庭", "v": "家庭" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "经典", "v": "经典" }, + { "n": "乡村", "v": "乡村" }, + { "n": "情景", "v": "情景" }, + { "n": "商战", "v": "商战" }, + { "n": "网剧", "v": "网剧" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "4": [ + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "选秀", "v": "选秀" }, + { "n": "情感", "v": "情感" }, + { "n": "访谈", "v": "访谈" }, + { "n": "播报", "v": "播报" }, + { "n": "旅游", "v": "旅游" }, + { "n": "音乐", "v": "音乐" }, + { "n": "美食", "v": "美食" }, + { "n": "纪实", "v": "纪实" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "生活", "v": "生活" }, + { "n": "游戏互动", "v": "游戏互动" }, + { "n": "财经", "v": "财经" }, + { "n": "求职", "v": "求职" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3": [ + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "情感", "v": "情感" }, + { "n": "科幻", "v": "科幻" }, + { "n": "热血", "v": "热血" }, + { "n": "推理", "v": "推理" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "冒险", "v": "冒险" }, + { "n": "萝莉", "v": "萝莉" }, + { "n": "校园", "v": "校园" }, + { "n": "动作", "v": "动作" }, + { "n": "机战", "v": "机战" }, + { "n": "运动", "v": "运动" }, + { "n": "战争", "v": "战争" }, + { "n": "少年", "v": "少年" }, + { "n": "少女", "v": "少女" }, + { "n": "社会", "v": "社会" }, + { "n": "原创", "v": "原创" }, + { "n": "亲子", "v": "亲子" }, + { "n": "益智", "v": "益智" }, + { "n": "励志", "v": "励志" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "5": [ + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] + } +} diff --git a/XPath/yanaifei.json b/XPath/yanaifei.json new file mode 100644 index 0000000..1acb8e1 --- /dev/null +++ b/XPath/yanaifei.json @@ -0,0 +1,539 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://netflix.mom/", + "dcPlayUrl": "true", + "cateManual": {"电影": "1","电视剧": "2", "综艺": "3","动漫": "4","4K": "34"}, + "homeVodNode": "//div[@class=('module-item-cover')]", + "homeVodName": "//div[@class=('module-item-pic')]/a/@title", + "homeVodNameR": "", + "homeVodId": "/div[@class=('module-item-pic')]/a/@href", + "homeVodIdR": "/id/(\\w+).html", + "homeVodImg": "/div[@class=('module-item-pic')]/img/@data-src", + "homeVodImgR": "(http\\S+)", + "homeVodMark": "/div[@class='module-item-caption']/span/text()", + "homeVodMarkR": "", + "cateUrl": "https://netflix.mom/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/year/{year}/page/{catePg}.html", + "cateVodNode": "//div[@class=('module-item-cover')]", + "cateVodName": "/div[@class=('module-item-pic')]/a/@title", + "cateVodId": "/div[@class=('module-item-pic')]/a/@href", + "cateVodIdR": "/id/(\\w+).html", + "cateVodImg": "/div[@class=('module-item-pic')]/img/@data-src", + "cateVodImgR": "(http\\S+)", + "cateVodMark": "/div[@class='module-item-caption']/span/text()", + "dtUrl": "https://netflix.mom/index.php/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'video-info-header')]/h1[@class='page-title']/text()", + "dtNameR": "", + "dtImg": "//div[@class=('module-item-pic')]/img/@data-src", + "dtImgR": "(http\\S+)", + "dtCate": "//div[contains(@class,'tag-link')]/a/text()", + "dtCateR": "", + "dtYear": "//a[@class='tag-link'][2]/text()", + "dtArea": "//a[@class='tag-link'][3]/text()", + "dtAreaR": "", + "dtDesc": "//span[contains(text(), '剧情')]/parent::*/div/span/text()", + "dtDescR": "", + "dtActor": "concat(//span[contains(text(), '主演')]/parent::*/div/a/text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(), '导演')]/parent::*/div/a/text())", + "dtDirectorR": "", + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'module-tab-content')]//div[contains(@class,'sort-item')]", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://netflix.mom/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + "searchUrl": "https://netflix.mom/index.php/vod/search/wd/{wd}.html", + "scVodNode": "//div[@class=('module-item-pic')]", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/id/(\\w+).html", + "scVodImg": "/img/@data-src", + "scVodImgR": "(http\\S+)", + "scVodMark": "//div[@class='module-item-caption']/span/text()", + "filter":{ + "1":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": "1"}, + {"n": "动作片","v": "6"}, + {"n": "喜剧片","v": "7"}, + {"n": "爱情片","v": "8"}, + {"n": "科幻片","v": "9"}, + {"n": "恐怖片","v": "10"}, + {"n": "剧情片","v": "11"}, + {"n": "战争片","v": "12"}, + {"n": "悬疑片","v": "20"}, + {"n": "冒险片","v": "21"}, + {"n": "犯罪片","v": "22"}, + {"n": "奇幻片","v": "23"}, + {"n": "惊悚片","v": "24"}, + {"n": "青春片","v": "25"}, + {"n": "纪录片","v": "26"}, + {"n": "灾难片","v": "27"}, + {"n": "古装片","v": "28"}, + {"n": "动画片","v": "29"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"}, + {"n": "枪战","v": "枪战"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "经典","v": "经典"}, + {"n": "青春","v": "青春"}, + {"n": "文艺","v": "文艺"}, + {"n": "微电影","v": "微电影"}, + {"n": "古装","v": "古装"}, + {"n": "历史","v": "历史"}, + {"n": "运动","v": "运动"}, + {"n": "农村","v": "农村"}, + {"n": "儿童","v": "儿童"}, + {"n": "网络电影","v": "网络电影"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "泰国","v": "泰国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "马来西亚","v": "马来西亚"}, + {"n": "印度","v": "印度"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"}, + {"n": "1999","v": "1999"}, + {"n": "1998","v": "1998"}, + {"n": "1997","v": "1997"}, + {"n": "1996","v": "1996"}, + {"n": "1995","v": "1995"}, + {"n": "1994","v": "1994"}, + {"n": "1993","v": "1993"}, + {"n": "1992","v": "1992"}, + {"n": "1991","v": "1991"}, + {"n": "1990","v": "1990"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "2":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "国产剧","v": "13"}, + {"n": "港台剧","v": "14"}, + {"n": "日韩剧","v": "15"}, + {"n": "欧美剧","v": "16"}, + {"n": "泰国剧","v": "30"}, + {"n": "海外剧","v": "31"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"}, + {"n": "商战","v": "商战"}, + {"n": "网剧","v": "网剧"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"}, + {"n": "1999","v": "1999"}, + {"n": "1998","v": "1998"}, + {"n": "1997","v": "1997"}, + {"n": "1996","v": "1996"}, + {"n": "1995","v": "1995"}, + {"n": "1994","v": "1994"}, + {"n": "1993","v": "1993"}, + {"n": "1992","v": "1992"}, + {"n": "1991","v": "1991"}, + {"n": "1990","v": "1990"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "3":[ + + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "奇幻"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"}, + {"n": "1999","v": "1999"}, + {"n": "1998","v": "1998"}, + {"n": "1997","v": "1997"}, + {"n": "1996","v": "1996"}, + {"n": "1995","v": "1995"}, + {"n": "1994","v": "1994"}, + {"n": "1993","v": "1993"}, + {"n": "1992","v": "1992"}, + {"n": "1991","v": "1991"}, + {"n": "1990","v": "1990"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "4":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "日本动漫","v": "32"}, + {"n": "大陆动漫","v": "33"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"}, + {"n": "1999","v": "1999"}, + {"n": "1998","v": "1998"}, + {"n": "1997","v": "1997"}, + {"n": "1996","v": "1996"}, + {"n": "1995","v": "1995"}, + {"n": "1994","v": "1994"}, + {"n": "1993","v": "1993"}, + {"n": "1992","v": "1992"}, + {"n": "1991","v": "1991"}, + {"n": "1990","v": "1990"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "34":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "4K电影","v": "35"}, + {"n": "4K剧集","v": "36"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + + } +} \ No newline at end of file diff --git a/XPath/yanchanghui.json b/XPath/yanchanghui.json new file mode 100644 index 0000000..aeb5864 --- /dev/null +++ b/XPath/yanchanghui.json @@ -0,0 +1,1873 @@ +{ + "classes": [ + { + "type_name": "吾爱评测整理", + "type_id": "吾爱评测" + }, + { + "type_name": "粤语", + "type_id": "粤语歌曲" + }, + { + "type_name": "2022年热榜", + "type_id": "2022年热们歌曲" + }, + { + "type_name": "KTV热门", + "type_id": "KTV热门歌曲" + }, + { + "type_name": "滚石经典", + "type_id": "滚石歌曲" + }, + { + "type_name": "经典老歌", + "type_id": "经典老歌" + }, + { + "type_name": "古风歌曲", + "type_id": "古风歌曲" + }, + { + "type_name": "闽南语歌曲", + "type_id": "闽南语歌曲" + }, + { + "type_name": "印度歌舞", + "type_id": "印度歌舞" + }, + { + "type_name": "DJ", + "type_id": "DJ歌曲" + }, + { + "type_name": "网红翻唱", + "type_id": "网红翻唱歌曲" + }, + { + "type_name": "韩国女团", + "type_id": "韩国女团演唱会" + }, + { + "type_name": "A阿黛尔", + "type_id": "阿黛尔演唱会" + }, + + { + "type_name": "Blackpink", + "type_id": "blackpink演唱会" + }, + { + "type_name": "Beyond", + "type_id": "beyond演唱会" + }, + { + "type_name": "B坂井泉水", + "type_id": "坂井泉水演唱会" + }, + { + "type_name": "B宝丽金", + "type_id": "宝丽金演唱会" + }, + { + "type_name": "B布兰妮", + "type_id": "布兰妮演唱会" + }, + { + "type_name": "C陈瑞", + "type_id": "陈瑞歌曲" + }, + { + "type_name": "C崔健", + "type_id": "崔健演唱会" + }, + { + "type_name": "C陈意文", + "type_id": "陈意文歌曲" + }, + { + "type_name": "C草蜢", + "type_id": "草蜢演唱会" + }, + { + "type_name": "Coldplay", + "type_id": "coldplay演唱会" + }, + { + "type_name": "C陈慧娴", + "type_id": "陈慧娴演唱会" + }, + { + "type_name": "C陈百强", + "type_id": "陈百强演唱会" + }, + { + "type_name": "C陈淑桦", + "type_id": "陈淑桦演唱会" + }, + + { + "type_name": "C陈慧琳", + "type_id": "陈慧琳演唱会" + }, + { + "type_name": "D邓丽君", + "type_id": "邓丽君演唱会" + }, + { + "type_name": "D邓紫棋", + "type_id": "邓紫棋演唱会" + }, + { + "type_name": "D刀郎", + "type_id": "刀郎演唱会" + }, + { + "type_name": "D达明一派", + "type_id": "刘以达歌曲" + }, + { + "type_name": "F费玉清", + "type_id": "费玉清演唱会" + }, + { + "type_name": "F飞图", + "type_id": "飞图演唱会" + }, + { + "type_name": "G谷村新司", + "type_id": "谷村新司演唱会" + }, + { + "type_name": "G郭富城", + "type_id": "郭富城演唱会" + }, + { + "type_name": "G高胜美", + "type_id": "高胜美演唱会" + }, + { + "type_name": "G关淑怡", + "type_id": "关淑怡演唱会" + }, + { + "type_name": "H黄凯芹", + "type_id": "黄凯芹演唱会" + }, + { + "type_name": "J降央卓玛", + "type_id": "降央卓玛演唱会" + }, + + { + "type_name": "J江慧", + "type_id": "江慧歌曲" + }, + { + "type_name": "J吉永小百合", + "type_id": "吉永小百合歌曲" + }, + { + "type_name": "J金庸", + "type_id": "金庸影视歌曲" + }, + { + "type_name": "K柯以敏", + "type_id": "柯以敏演唱会" + }, + { + "type_name": "K邝美云", + "type_id": "邝美云歌曲" + }, + { + "type_name": "L刘德华", + "type_id": "刘德华演唱会" + }, + { + "type_name": "L李志", + "type_id": "李志歌曲" + }, + { + "type_name": "Lady Gaga", + "type_id": "Lady Gaga演唱会" + }, + { + "type_name": "L龙飘飘", + "type_id": "龙飘飘演唱会" + }, + { + "type_name": "L罗大佑", + "type_id": "罗大佑演唱会" + }, + { + "type_name": "L林志炫", + "type_id": "林志炫演唱会" + }, + { + "type_name": "L林忆莲", + "type_id": "林忆莲演唱会" + }, + { + "type_name": "L李知恩", + "type_id": "李知恩演唱会" + }, + { + "type_name": "L梁静茹", + "type_id": "梁静茹演唱会" + }, + { + "type_name": "L冷漠", + "type_id": "冷漠演唱会" + }, + { + "type_name": "L李克勤", + "type_id": "李克勤演唱会" + }, + { + "type_name": "L林子祥", + "type_id": "林子祥演唱会" + }, + { + "type_name": "L黎明", + "type_id": "黎明演唱会" + }, + { + "type_name": "L刘若英", + "type_id": "刘若英演唱会" + }, + { + "type_name": "M莫文蔚", + "type_id": "莫文蔚演唱会" + }, + { + "type_name": "M孟庭苇", + "type_id": "孟庭苇演唱会" + }, + { + "type_name": "M麦当娜", + "type_id": "麦当娜演唱会" + }, + + { + "type_name": "M迈克杰克逊", + "type_id": "迈克杰克逊演唱会" + }, + { + "type_name": "N雅尼紫禁城", + "type_id": "雅尼紫禁城演唱会" + }, + { + "type_name": "P潘越云", + "type_id": "潘越云演唱会" + }, + { + "type_name": "P潘美辰", + "type_id": "潘美辰演唱会" + }, + { + "type_name": "Q齐秦", + "type_id": "齐秦演唱会" + }, + + { + "type_name": "R任贤齐", + "type_id": "任贤齐演唱会" + }, + { + "type_name": "S苏慧伦", + "type_id": "苏慧伦演唱会" + }, + { + "type_name": "T童安格", + "type_id": "童安格演唱会" + }, + { + "type_name": "TFBOYS", + "type_id": "TFBOYS演唱会" + }, + { + "type_name": "T太极乐队", + "type_id": "太极乐队演唱会" + }, + { + "type_name": "T唐朝摇滚", + "type_id": "唐朝摇滚演唱会" + }, + + { + "type_name": "T谭咏麟", + "type_id": "谭咏麟演唱会" + }, + + { + "type_name": "W王琪", + "type_id": "王琪歌曲" + }, + { + "type_name": "W伍珂玥", + "type_id": "伍珂玥演唱会" + }, + { + "type_name": "W王杰", + "type_id": "王杰演唱会" + }, + { + "type_name": "W伍佰", + "type_id": "伍佰演唱会" + }, + { + "type_name": "W温兆伦", + "type_id": "温兆伦演唱会" + }, + { + "type_name": "W王菲", + "type_id": "王菲演唱会" + }, + { + "type_name": "X徐小凤", + "type_id": "徐小凤演唱会" + }, + { + "type_name": "X席琳迪翁", + "type_id": "席琳迪翁演唱会" + }, + { + "type_name": "X许嵩", + "type_id": "黄许嵩演唱会" + }, + { + "type_name": "X许美静", + "type_id": "许美静演唱会" + }, + { + "type_name": "X许冠杰", + "type_id": "许冠杰演唱会" + }, + { + "type_name": "X小虎队", + "type_id": "小虎队演唱会" + }, + { + "type_name": "X熊天平", + "type_id": "熊天平演唱会" + }, + { + "type_name": "X许巍", + "type_id": "许巍演唱会" + }, + { + "type_name": "Y叶启田", + "type_id": "叶启田演唱会" + }, + { + "type_name": "Y杨钰莹", + "type_id": "杨钰莹演唱会" + }, + { + "type_name": "Y叶玉卿", + "type_id": "叶玉卿演唱会" + }, + { + "type_name": "Y杨千嬅", + "type_id": "杨千嬅演唱会" + }, + { + "type_name": "Y怡正宵", + "type_id": "怡正宵演唱会" + }, + { + "type_name": "Z左麟右李", + "type_id": "左麟右李演唱会" + }, + { + "type_name": "Z张楚", + "type_id": "张楚演唱会" + }, + { + "type_name": "Z张真", + "type_id": "张真歌曲" + }, + { + "type_name": "Z张震岳", + "type_id": "张震岳演唱会" + }, + { + "type_name": "Z赵传", + "type_id": "赵传演唱会" + }, + { + "type_name": "Z周华健", + "type_id": "周华健演唱会" + }, + { + "type_name": "Z周启生", + "type_id": "周启生演唱会" + }, + { + "type_name": "Z张信哲", + "type_id": "张信哲演唱会" + }, + { + "type_name": "Z张也", + "type_id": "张也歌曲" + }, + + { + "type_name": "Z周慧敏", + "type_id": "周慧敏演唱会" + }, + + { + "type_name": "Z张碧晨", + "type_id": "张碧晨演唱会" + }, + { + "type_name": "Z中岛美雪", + "type_id": "中岛美雪演唱会" + }, + { + "type_name": "Z张学友", + "type_id": "张学友演唱会" + }, + { + "type_name": "Z张卫健", + "type_id": "张卫健歌曲" + }, + { + "type_name": "Z猪哥亮", + "type_id": "猪哥亮歌曲" + }, + { + "type_name": "Z周杰伦", + "type_id": "周杰伦演唱会" + }, + { + "type_name": "Z周深", + "type_id": "周深演唱会" + }, + { + "type_name": "Z张蔷", + "type_id": "张蔷演唱会" + }, + { + "type_name": "Z张帝", + "type_id": "张帝演唱会" + }, + { + "type_name": "Z张琳", + "type_id": "张琳,灰太狼" + }, + { + "type_name": "Z张国荣", + "type_id": "张国荣演唱会" + }, + { + "type_name": "Z周传雄", + "type_id": "周传雄演唱会" + }, + { + "type_name": "公众号“吾爱有三日月与卿”和“吾爱评测”整理", + "type_id": "吾爱评测" + } + ], + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "TVBox": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/yanet.json b/XPath/yanet.json new file mode 100644 index 0000000..1acb8e1 --- /dev/null +++ b/XPath/yanet.json @@ -0,0 +1,539 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://netflix.mom/", + "dcPlayUrl": "true", + "cateManual": {"电影": "1","电视剧": "2", "综艺": "3","动漫": "4","4K": "34"}, + "homeVodNode": "//div[@class=('module-item-cover')]", + "homeVodName": "//div[@class=('module-item-pic')]/a/@title", + "homeVodNameR": "", + "homeVodId": "/div[@class=('module-item-pic')]/a/@href", + "homeVodIdR": "/id/(\\w+).html", + "homeVodImg": "/div[@class=('module-item-pic')]/img/@data-src", + "homeVodImgR": "(http\\S+)", + "homeVodMark": "/div[@class='module-item-caption']/span/text()", + "homeVodMarkR": "", + "cateUrl": "https://netflix.mom/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/year/{year}/page/{catePg}.html", + "cateVodNode": "//div[@class=('module-item-cover')]", + "cateVodName": "/div[@class=('module-item-pic')]/a/@title", + "cateVodId": "/div[@class=('module-item-pic')]/a/@href", + "cateVodIdR": "/id/(\\w+).html", + "cateVodImg": "/div[@class=('module-item-pic')]/img/@data-src", + "cateVodImgR": "(http\\S+)", + "cateVodMark": "/div[@class='module-item-caption']/span/text()", + "dtUrl": "https://netflix.mom/index.php/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'video-info-header')]/h1[@class='page-title']/text()", + "dtNameR": "", + "dtImg": "//div[@class=('module-item-pic')]/img/@data-src", + "dtImgR": "(http\\S+)", + "dtCate": "//div[contains(@class,'tag-link')]/a/text()", + "dtCateR": "", + "dtYear": "//a[@class='tag-link'][2]/text()", + "dtArea": "//a[@class='tag-link'][3]/text()", + "dtAreaR": "", + "dtDesc": "//span[contains(text(), '剧情')]/parent::*/div/span/text()", + "dtDescR": "", + "dtActor": "concat(//span[contains(text(), '主演')]/parent::*/div/a/text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(), '导演')]/parent::*/div/a/text())", + "dtDirectorR": "", + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'module-tab-content')]//div[contains(@class,'sort-item')]", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://netflix.mom/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + "searchUrl": "https://netflix.mom/index.php/vod/search/wd/{wd}.html", + "scVodNode": "//div[@class=('module-item-pic')]", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/id/(\\w+).html", + "scVodImg": "/img/@data-src", + "scVodImgR": "(http\\S+)", + "scVodMark": "//div[@class='module-item-caption']/span/text()", + "filter":{ + "1":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": "1"}, + {"n": "动作片","v": "6"}, + {"n": "喜剧片","v": "7"}, + {"n": "爱情片","v": "8"}, + {"n": "科幻片","v": "9"}, + {"n": "恐怖片","v": "10"}, + {"n": "剧情片","v": "11"}, + {"n": "战争片","v": "12"}, + {"n": "悬疑片","v": "20"}, + {"n": "冒险片","v": "21"}, + {"n": "犯罪片","v": "22"}, + {"n": "奇幻片","v": "23"}, + {"n": "惊悚片","v": "24"}, + {"n": "青春片","v": "25"}, + {"n": "纪录片","v": "26"}, + {"n": "灾难片","v": "27"}, + {"n": "古装片","v": "28"}, + {"n": "动画片","v": "29"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"}, + {"n": "枪战","v": "枪战"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "经典","v": "经典"}, + {"n": "青春","v": "青春"}, + {"n": "文艺","v": "文艺"}, + {"n": "微电影","v": "微电影"}, + {"n": "古装","v": "古装"}, + {"n": "历史","v": "历史"}, + {"n": "运动","v": "运动"}, + {"n": "农村","v": "农村"}, + {"n": "儿童","v": "儿童"}, + {"n": "网络电影","v": "网络电影"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "泰国","v": "泰国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "马来西亚","v": "马来西亚"}, + {"n": "印度","v": "印度"}, + {"n": "英国","v": "英国"}, + {"n": "法国","v": "法国"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"}, + {"n": "1999","v": "1999"}, + {"n": "1998","v": "1998"}, + {"n": "1997","v": "1997"}, + {"n": "1996","v": "1996"}, + {"n": "1995","v": "1995"}, + {"n": "1994","v": "1994"}, + {"n": "1993","v": "1993"}, + {"n": "1992","v": "1992"}, + {"n": "1991","v": "1991"}, + {"n": "1990","v": "1990"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "2":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "国产剧","v": "13"}, + {"n": "港台剧","v": "14"}, + {"n": "日韩剧","v": "15"}, + {"n": "欧美剧","v": "16"}, + {"n": "泰国剧","v": "30"}, + {"n": "海外剧","v": "31"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"}, + {"n": "商战","v": "商战"}, + {"n": "网剧","v": "网剧"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"}, + {"n": "1999","v": "1999"}, + {"n": "1998","v": "1998"}, + {"n": "1997","v": "1997"}, + {"n": "1996","v": "1996"}, + {"n": "1995","v": "1995"}, + {"n": "1994","v": "1994"}, + {"n": "1993","v": "1993"}, + {"n": "1992","v": "1992"}, + {"n": "1991","v": "1991"}, + {"n": "1990","v": "1990"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "3":[ + + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "奇幻"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"}, + {"n": "1999","v": "1999"}, + {"n": "1998","v": "1998"}, + {"n": "1997","v": "1997"}, + {"n": "1996","v": "1996"}, + {"n": "1995","v": "1995"}, + {"n": "1994","v": "1994"}, + {"n": "1993","v": "1993"}, + {"n": "1992","v": "1992"}, + {"n": "1991","v": "1991"}, + {"n": "1990","v": "1990"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "4":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "日本动漫","v": "32"}, + {"n": "大陆动漫","v": "33"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"}, + {"n": "1999","v": "1999"}, + {"n": "1998","v": "1998"}, + {"n": "1997","v": "1997"}, + {"n": "1996","v": "1996"}, + {"n": "1995","v": "1995"}, + {"n": "1994","v": "1994"}, + {"n": "1993","v": "1993"}, + {"n": "1992","v": "1992"}, + {"n": "1991","v": "1991"}, + {"n": "1990","v": "1990"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "34":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "4K电影","v": "35"}, + {"n": "4K剧集","v": "36"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + + } +} \ No newline at end of file diff --git a/XPath/yinfans.json b/XPath/yinfans.json new file mode 100644 index 0000000..2350c15 --- /dev/null +++ b/XPath/yinfans.json @@ -0,0 +1,67 @@ +{ + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.yinfans.me", + "dcPlayUrl": "true", + "cateNode": "//a[contains(@href,'/s/')]", + "cateName": "concat(//span[contains(@class,'nav-link-title')]/text(),//a[contains(@class,'dropdown-item')]/text())", + "cateId": "/@href", + "cateIdR": "/s/(\\w+)", + "cateManual": { + "首页推荐": "page", + "蓝光原盘电影": "topic/bluray-movie/movie/page", + "蓝光原盘纪录片": "topic/bluray-movie/documentry/page", + "4K": "topic/4k/page" + }, + + "homeVodNode": "//div[contains(@class,'mainleft')]/ul/li/div[contains(@class,'thumbnail')]", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "https://www.yinfans.me/movie/(\\S+)", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "../div[contains(@class,'info')]/span[2]/a/text()", + + "cateUrl": "https://www.yinfans.me/{cateId}/{catePg}", + "cateVodNode": "//div[contains(@class,'mainleft')]/ul/li/div[contains(@class,'thumbnail')]", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "https://www.yinfans.me/movie/(\\S+)", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "../div[contains(@class,'info')]/span[2]/a/text()", + + "dtUrl": "https://www.yinfans.me/movie/{vid}", + "dtNode": "//div[@class='mainleft']", + "dtName": "/div[1]/h1/text()", + "dtNameR": "", + "dtImg": "/div[1]//div[@class='context']/div[1]/p[1]/a/@href", + "dtImgR": "", + "dtCate": "/div[1]//div[@class='context']/div[1]/p[2]/text()[5]", + "dtArea": "/div[1]//div[@class='context']/div[1]/p[2]/text()[4]", + "dtAreaR": "", + "dtYear": "/div[1]//div[@class='context']/div[1]/p[2]/text()[7]", + "dtYearR": "", + "dtActor": "/div[1]//div[@class='context']/div[1]/p[2]/text()[14]", + "dtDirector": "/div[1]//div[@class='context']/div[1]/p[2]/text()[13]", + "dtDesc": "/div[1]//div[@class='context']/div[1]/p[4]/text()", + + "dtFromNode": "//div[@class='tab-pane active']", + "dtFromName": "//div[@class='btn-group']/label[1]/text()", + + "dtUrlNode": "//table[@id='cili']/tbody", + "dtUrlSubNode": "/tr[1]/td/a", + "dtUrlId": "@href", + "dtUrlIdR": "", + "dtUrlName": "concat(//span/span[1]/text(),'--', //span[@class='label label-warning']/text())", + "playUrl": "", + + + "playUa": "", + "searchUrl": "", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/yinfansi.json b/XPath/yinfansi.json new file mode 100644 index 0000000..2350c15 --- /dev/null +++ b/XPath/yinfansi.json @@ -0,0 +1,67 @@ +{ + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.yinfans.me", + "dcPlayUrl": "true", + "cateNode": "//a[contains(@href,'/s/')]", + "cateName": "concat(//span[contains(@class,'nav-link-title')]/text(),//a[contains(@class,'dropdown-item')]/text())", + "cateId": "/@href", + "cateIdR": "/s/(\\w+)", + "cateManual": { + "首页推荐": "page", + "蓝光原盘电影": "topic/bluray-movie/movie/page", + "蓝光原盘纪录片": "topic/bluray-movie/documentry/page", + "4K": "topic/4k/page" + }, + + "homeVodNode": "//div[contains(@class,'mainleft')]/ul/li/div[contains(@class,'thumbnail')]", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "https://www.yinfans.me/movie/(\\S+)", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "../div[contains(@class,'info')]/span[2]/a/text()", + + "cateUrl": "https://www.yinfans.me/{cateId}/{catePg}", + "cateVodNode": "//div[contains(@class,'mainleft')]/ul/li/div[contains(@class,'thumbnail')]", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "https://www.yinfans.me/movie/(\\S+)", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "../div[contains(@class,'info')]/span[2]/a/text()", + + "dtUrl": "https://www.yinfans.me/movie/{vid}", + "dtNode": "//div[@class='mainleft']", + "dtName": "/div[1]/h1/text()", + "dtNameR": "", + "dtImg": "/div[1]//div[@class='context']/div[1]/p[1]/a/@href", + "dtImgR": "", + "dtCate": "/div[1]//div[@class='context']/div[1]/p[2]/text()[5]", + "dtArea": "/div[1]//div[@class='context']/div[1]/p[2]/text()[4]", + "dtAreaR": "", + "dtYear": "/div[1]//div[@class='context']/div[1]/p[2]/text()[7]", + "dtYearR": "", + "dtActor": "/div[1]//div[@class='context']/div[1]/p[2]/text()[14]", + "dtDirector": "/div[1]//div[@class='context']/div[1]/p[2]/text()[13]", + "dtDesc": "/div[1]//div[@class='context']/div[1]/p[4]/text()", + + "dtFromNode": "//div[@class='tab-pane active']", + "dtFromName": "//div[@class='btn-group']/label[1]/text()", + + "dtUrlNode": "//table[@id='cili']/tbody", + "dtUrlSubNode": "/tr[1]/td/a", + "dtUrlId": "@href", + "dtUrlIdR": "", + "dtUrlName": "concat(//span/span[1]/text(),'--', //span[@class='label label-warning']/text())", + "playUrl": "", + + + "playUa": "", + "searchUrl": "", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/yinghua.json b/XPath/yinghua.json new file mode 100644 index 0000000..9166fe6 --- /dev/null +++ b/XPath/yinghua.json @@ -0,0 +1,54 @@ +{ + "ua": "", + "homeUrl": "http://www.yinghuacd.com", + "cateManual": {"国产动漫":"guochandongman","日本动漫":"ribendongman","美国动漫":"meiguodongman","动漫电影":"movie","亲子动漫":"qinzi"}, + "homeVodNode": "//div[@class='img']/ul/li", + "homeVodName": "/p[@class='tname']/a/text()", + "homeVodNameR": "", + "homeVodId": "/a/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "", + "homeVodMark": "/p[contains(text(),'最新')]/a/text()", + "homeVodMarkR": "", + "cateUrl": "http://www.yinghuacd.com/{cateId}/", + "cateVodNode": "//div[@class='imgs']/ul/li", + "cateVodName": "/p[@class='tname']/a/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/a/img/@src", + "cateVodMark": "/p[contains(text(),'最新')]/a/text()", + "dtUrl": "http://www.yinghuacd.com/show/{vid}.html", + "dtNode": "//div[@class='fire l']", + "dtName": "//div[@class='thumb l']/img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='thumb l']/img/@src", + "dtImgR": "", + "dtCate": "//div[@class='sinfo']//label[contains(text(),'类型')]/parent::*/a/text()", + "dtCateR": "", + "dtYear": "//div[@class='sinfo']//label[contains(text(),'上映')]/parent::*/a/text()", + "dtYearR": "", + "dtArea": "//div[@class='sinfo']//label[contains(text(),'地区')]/parent::*/a/text()", + "dtAreaR": "", + "dtMark": "//div[@class='sinfo']/p/text()", + "dtMarkR": "", + "dtDesc": "//div[@class='info']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'tabs')]/ul[@class='menu0']/li", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class,'movurl')]/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/v/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.yinghuacd.com/v/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.yinghuacd.com/search/{wd}", + "scVodNode": "//div[@class='lpic']/ul/li", + "scVodName": "/a/img/@alt", + "scVodId": "/a/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/a/img/@src", + "scVodMark": "//font[@class='red']/text()" +} diff --git a/XPath/yinghua2.json b/XPath/yinghua2.json new file mode 100644 index 0000000..1242134 --- /dev/null +++ b/XPath/yinghua2.json @@ -0,0 +1,69 @@ +{ + "author":"takagen99", + "ua": "", + "homeUrl": "http://www.yinghuacd.com", + "cateManual": { + "国漫": "china", + "日本": "japan", + "美国": "american" + }, + +// Home Summary ==================================================== + "homeVodNode": "//div[@class='img']/ul/li", + "homeVodName": "/p[@class='tname']/a/text()", + "homeVodNameR": "", + "homeVodId": "/a/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "", + "homeVodMark": "/p[contains(text(),'最新')]/a/text()", + "homeVodMarkR": "", + +// Category Summary ================================================ + "cateUrl": "http://www.yinghuacd.com/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='lpic']/ul/li", + "cateVodName": "/a/img/@alt", + "cateVodId": "/a/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/a/img/@src", + "cateVodMark": "/span/font/text()", + +// Category Details ================================================ + "dtUrl": "http://www.yinghuacd.com/show/{vid}.html", + "dtNode": "//div[@class='fire l']", + "dtName": "//div[@class='thumb l']/img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='thumb l']/img/@src", + "dtImgR": "", + "dtCate": "//div[@class='sinfo']//label[contains(text(),'类型')]/parent::*/a/text()", + "dtCateR": "", + "dtYear": "//div[@class='sinfo']//label[contains(text(),'上映')]/parent::*/a/text()", + "dtYearR": "", + "dtArea": "//div[@class='sinfo']//label[contains(text(),'地区')]/parent::*/a/text()", + "dtAreaR": "", + "dtMark": "//div[@class='sinfo']/p/text()", + "dtMarkR": "", + "dtDesc": "//div[@class='info']/text()", + "dtDescR": "", + +// Playlist ======================================================== + "dtFromNode": "//div[contains(@class,'tabs')]/ul[@class='menu0']/li", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class,'movurl')]/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/v/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.yinghuacd.com/v/{playUrl}.html", + "playUa": "", + +// Search Results ================================================== + "searchUrl": "http://www.yinghuacd.com/search/{wd}", + "scVodNode": "//div[@class='lpic']/ul/li", + "scVodName": "/a/img/@alt", + "scVodId": "/a/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/a/img/@src", + "scVodMark": "//font[@class='red']/text()" +} diff --git a/XPath/yingshizaixian.json b/XPath/yingshizaixian.json new file mode 100644 index 0000000..1235cd3 --- /dev/null +++ b/XPath/yingshizaixian.json @@ -0,0 +1,79 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.hiyszx.com", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "电影": "dy", + "连续剧": "tv", + "动漫": "dm", + "综艺": "zy", + "国产剧": "tv/dalu", + "港台剧": "tv/tangtai", + "韩剧": "tv/hanju ", + "欧美剧": "tv/oumei", + "日剧": "tv/riju", + "泰剧": "tv/taiju", + "动作片": "dy/dongzuo", + "爱情片": "dy/aiqing", + "科幻": "dy/kehuan", + "恐怖片": "dy/kongbu", + "喜剧片": "dy/xiju", + "战争片": "dy/zhanzheng", + "剧情片": "dy/juqing", + "纪录片": "dy/jilu" + }, + "homeVodNode": "//a[contains(@class,'videopic')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\S+)/", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='note textbg']/text()", + "cateUrl": "https://www.hiyszx.com/{cateId}/index.html", + "cateVodNode": "//a[contains(@class,'videopic')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\S+)/", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='note textbg']/text()", + "dtUrl": "https://www.hiyszx.com/{vid}/", + "dtNode": "//body", + "dtName": "//a[@class='videopic']/@title", + "dtNameR": "", + "dtImg": "//a[@class='videopic']/@style", + "dtImgR": "background: url\\S(\\S+)\\S \\S+", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/parent::text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/parent::text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '剧情')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@class='option']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='playlist collapse in']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/video/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.hiyszx.com/video/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.hiyszx.com/search.php?searchword={wd}", + "scVodNode": "//dl[@class='content']", + "scVodName": "//h3/a/text()", + "scVodId": "//h3/a/@href", + "scVodIdR": "/(\\S+)/", + "scVodImg": "/dt/a/@style", + "scVodImgR": "background: url\\S(\\S+)\\S \\S+", + "scVodMark": "//span[@class='note textbg']/text()" +} \ No newline at end of file diff --git a/XPath/yinhuadongman.json b/XPath/yinhuadongman.json new file mode 100644 index 0000000..e210f63 --- /dev/null +++ b/XPath/yinhuadongman.json @@ -0,0 +1,54 @@ +{ + "ua": "", + "homeUrl": "http://www.yinghuacd.com", + "cateManual": {"国产动漫":"guochandongman","日本动漫":"ribendongman","美国动漫":"meiguodongman","动漫电影":"movie","亲子动漫":"qinzi"}, + "homeVodNode": "//div[@class='img']/ul/li", + "homeVodName": "/p[@class='tname']/a/text()", + "homeVodNameR": "", + "homeVodId": "/a/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "", + "homeVodMark": "/p[contains(text(),'最新')]/a/text()", + "homeVodMarkR": "", + "cateUrl": "http://www.yinghuacd.com/{cateId}/", + "cateVodNode": "//div[@class='imgs']/ul/li", + "cateVodName": "/p[@class='tname']/a/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/a/img/@src", + "cateVodMark": "/p[contains(text(),'最新')]/a/text()", + "dtUrl": "http://www.yinghuacd.com/show/{vid}.html", + "dtNode": "//div[@class='fire l']", + "dtName": "//div[@class='thumb l']/img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='thumb l']/img/@src", + "dtImgR": "", + "dtCate": "//div[@class='sinfo']//label[contains(text(),'类型')]/parent::*/a/text()", + "dtCateR": "", + "dtYear": "//div[@class='sinfo']//label[contains(text(),'上映')]/parent::*/a/text()", + "dtYearR": "", + "dtArea": "//div[@class='sinfo']//label[contains(text(),'地区')]/parent::*/a/text()", + "dtAreaR": "", + "dtMark": "//div[@class='sinfo']/p/text()", + "dtMarkR": "", + "dtDesc": "//div[@class='info']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'tabs')]/ul[@class='menu0']/li", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class,'movurl')]/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/v/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.yinghuacd.com/v/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.yinghuacd.com/search/{wd}", + "scVodNode": "//div[@class='lpic']/ul/li", + "scVodName": "/a/img/@alt", + "scVodId": "/a/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/a/img/@src", + "scVodMark": "//font[@class='red']/text()" +} \ No newline at end of file diff --git a/XPath/yishijiedongman.json b/XPath/yishijiedongman.json new file mode 100644 index 0000000..41b7dfe --- /dev/null +++ b/XPath/yishijiedongman.json @@ -0,0 +1,222 @@ +{ + "author": "takagen99", + "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36", + "homeUrl": "https://ysjdm.net/index.php/vod/show/id/20.html", + + "dcVipFlag": "true", + "pCfgJs": "https://ysjdm.net/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + + "cateNode": "//li/a[contains(@href,'class')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/show/(\\S+)/id/20.html", + "cateManual": { + "日漫": "area/日本", + "国漫": "area/中國" + }, + + // Home Summary ===================================================== + "homeVodNode": "//ul[contains(@class,'vodlist')]/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "homeVodImg": "/a/@data-original", + "homeVodMark": "/a/span[2]/text()", + + // Category Summary ================================================= + "cateUrl": "https://ysjdm.net/index.php/vod/show/{cateId}{type}/id/20/page/{catePg}{year}.html", + "cateVodNode": "//ul[contains(@class,'vodlist')]/li", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "cateVodImg": "/a/@data-original", + "cateVodMark": "/a/span[2]/text()", + + // Category Details ================================================= + "dtUrl": "https://ysjdm.net/index.php/vod/detail/id/{vid}.html", + "dtNode": "//div[@class='detail_list_box']", + "dtName": "//div[@class='content_thumb fl']/a/@title", + "dtImg": "//div[@class='content_thumb fl']/a/@data-original", + + // Playlist ========================================================= + "dtFromNode": "//div[@class='play_source']", + "dtFromName": "/div/a/@alt", + "dtUrlNode": "//div[@id='playlistbox']", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://ysjdm.net/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + + // Search Results =================================================== + "searchUrl": "https://ysjdm.net/index.php/ajax/suggest?mid=1&wd={wd}&limit=100", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + + // Filters ======================================================= + "filter": { + "area/日本": [ + { + "key": "type", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "OVA", "v": "/class/OVA" }, + { "n": "剧场版", "v": "/class/剧场版" }, + { "n": "无修", "v": "/class/BD无修" }, + { "n": "萝莉", "v": "/class/萝莉" }, + { "n": "学園", "v": "/class/学園" }, + { "n": "后宫", "v": "/class/后宫" }, + { "n": "恋爱", "v": "/class/恋爱" }, + { "n": "热血", "v": "/class/热血" }, + { "n": "神魔", "v": "/class/神魔" }, + { "n": "奇幻", "v": "/class/奇幻" }, + { "n": "治愈", "v": "/class/治愈" }, + { "n": "搞笑", "v": "/class/搞笑" }, + { "n": "百合", "v": "/class/百合" }, + { "n": "冒险", "v": "/class/冒险" }, + { "n": "魔法", "v": "/class/魔法" }, + { "n": "机战", "v": "/class/机战" }, + { "n": "战争", "v": "/class/战争" }, + { "n": "犯罪", "v": "/class/犯罪" }, + { "n": "悬疑", "v": "/class/悬疑" }, + { "n": "推理", "v": "/class/推理" }, + { "n": "科幻", "v": "/class/科幻" }, + { "n": "竞技", "v": "/class/竞技" }, + { "n": "运动", "v": "/class/运动" }, + { "n": "耽美", "v": "/class/耽美" }, + { "n": "其他", "v": "/class/其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2023", "v": "/year/2023" }, + { "n": "2022", "v": "/year/2022" }, + { "n": "2021", "v": "/year/2021" }, + { "n": "2020", "v": "/year/2020" }, + { "n": "2019", "v": "/year/2019" }, + { "n": "2018", "v": "/year/2018" }, + { "n": "2017", "v": "/year/2017" }, + { "n": "2016", "v": "/year/2016" }, + { "n": "2015", "v": "/year/2015" }, + { "n": "2014", "v": "/year/2014" }, + { "n": "2013", "v": "/year/2013" }, + { "n": "2012", "v": "/year/2012" }, + { "n": "2011", "v": "/year/2011" }, + { "n": "2010", "v": "/year/2010" }, + { "n": "2009", "v": "/year/2009" }, + { "n": "2008", "v": "/year/2008" } + ] + } + ], + "area/中國": [ + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2023", "v": "/year/2023" }, + { "n": "2022", "v": "/year/2022" }, + { "n": "2021", "v": "/year/2021" }, + { "n": "2020", "v": "/year/2020" }, + { "n": "2019", "v": "/year/2019" }, + { "n": "2018", "v": "/year/2018" }, + { "n": "2017", "v": "/year/2017" }, + { "n": "2016", "v": "/year/2016" }, + { "n": "2015", "v": "/year/2015" }, + { "n": "2014", "v": "/year/2014" }, + { "n": "2013", "v": "/year/2013" }, + { "n": "2012", "v": "/year/2012" }, + { "n": "2011", "v": "/year/2011" }, + { "n": "2010", "v": "/year/2010" }, + { "n": "2009", "v": "/year/2009" }, + { "n": "2008", "v": "/year/2008" } + ] + } + ], + "4": [ + // 动漫 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "日本", "v": "/area/日本" }, + { "n": "中国", "v": "/area/国产" }, + { "n": "欧美", "v": "/area/欧美" }, + { "n": "其他", "v": "/area/其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "/year/2022" }, + { "n": "2021", "v": "/year/2021" }, + { "n": "2020", "v": "/year/2020" }, + { "n": "2019", "v": "/year/2019" }, + { "n": "2018", "v": "/year/2018" }, + { "n": "2017", "v": "/year/2017" }, + { "n": "2016", "v": "/year/2016" }, + { "n": "2015", "v": "/year/2015" }, + { "n": "2014", "v": "/year/2014" }, + { "n": "2013", "v": "/year/2013" }, + { "n": "2012", "v": "/year/2012" }, + { "n": "2011", "v": "/year/2011" }, + { "n": "2010", "v": "/year/2010" }, + { "n": "2009", "v": "/year/2009" }, + { "n": "2008", "v": "/year/2008" } + ] + } + ], + "3": [ + // 综艺 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国", "v": "/area/内地" }, + { "n": "港台", "v": "/area/港台" }, + { "n": "日韩", "v": "/area/日韩" }, + { "n": "欧美", "v": "/area/欧美" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "/year/2022" }, + { "n": "2021", "v": "/year/2021" }, + { "n": "2020", "v": "/year/2020" }, + { "n": "2019", "v": "/year/2019" }, + { "n": "2018", "v": "/year/2018" }, + { "n": "2017", "v": "/year/2017" }, + { "n": "2016", "v": "/year/2016" }, + { "n": "2015", "v": "/year/2015" }, + { "n": "2014", "v": "/year/2014" }, + { "n": "2013", "v": "/year/2013" }, + { "n": "2012", "v": "/year/2012" }, + { "n": "2011", "v": "/year/2011" }, + { "n": "2010", "v": "/year/2010" }, + { "n": "2009", "v": "/year/2009" }, + { "n": "2008", "v": "/year/2008" } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/yyotv.json b/XPath/yyotv.json new file mode 100644 index 0000000..59dbbf4 --- /dev/null +++ b/XPath/yyotv.json @@ -0,0 +1,43 @@ +{ + "ua": "", + "homeUrl": "http://www.yyotv.com", + "cateNode": "//ul[@class='item nav-list clearfix']/li/a[contains(@href, 'id')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/type/id/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='myui-vodlist__box']/a[contains(@class, 'lazyload')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "http://www.yyotv.com/index.php/vod/type/id/{cateId}/page/{catePg}.html", + "cateVodNode": "//div[@class='myui-vodlist__box']/a[contains(@class, 'lazyload')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "http://www.yyotv.com/index.php/vod/detail/id/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtFromNode": "//ul[@class='nav nav-tabs active']/li/a", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@id,'playlist')]/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.yyotv.com{playUrl}", + "playUa": "", + "searchUrl": "http://www.yyotv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/zaixiandianying.json b/XPath/zaixiandianying.json new file mode 100644 index 0000000..7e431a5 --- /dev/null +++ b/XPath/zaixiandianying.json @@ -0,0 +1,81 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.zaixiandianying8.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.zaixiandianying8.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "蓝光": "37", + "电影": "1", + "连续剧": "2", + "动漫": "4", + "国产剧": "13", + "港台剧": "14", + "日韩剧": "15", + "欧美剧": "16", + "动作片": "6", + "喜剧片": "7", + "爱情片": "8", + "科幻片": "9", + "恐怖片": "10", + "灾难片": "21", + "悬疑片": "25", + "剧情片": "11", + "战争片": "12", + "纪录片": "20" + }, + "homeVodNode": " //ul[@class='myui-vodlist clearfix']//div[@class='myui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/\\w+/(\\w+)\\S*.html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.zaixiandianying8.com/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//ul[@class='myui-vodlist clearfix']//div[@class='myui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+)\\S*.html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.zaixiandianying8.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[@class='sketch content']/text()", + "dtDescR": "", + "dtFromNode": "//ul[contains(@class,'nav-tabs')]/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.zaixiandianying8.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.zaixiandianying8.com/vodsearch/-------------.html?wd={wd}&submit=", + "scVodNode": "//ul[@id='searchList']//div[@class='thumb']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/voddetail/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/zaixianzhijia.json b/XPath/zaixianzhijia.json new file mode 100644 index 0000000..303ebb6 --- /dev/null +++ b/XPath/zaixianzhijia.json @@ -0,0 +1,329 @@ +{ + "ua": "", + "homeUrl": "https://www.zxzjtv.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.zxzjtv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'list')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\d+).html", + "cateManual":{}, + "homeVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.zxzjtv.com/vodshow/{cateId}-{area}-{by}--{lang}----{catePg}---{year}.html", + "cateVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.zxzjtv.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a[contains(@class,'pic')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a[contains(@class,'pic')]/img/@data-original", + "dtImgR": "(http\\S+)", + "dtCate": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtActor": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtMark": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[@class='detail-sketch']/text()", + "dtDescR": "", + "dtFromNode":"//div[@class='stui-vodlist__head']/h3[contains(text(),'播放')]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class, 'stui-content__playlist clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/video/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.zxzjtv.com/video/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.zxzjtv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "欧美","v": "欧美"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"} + ] + } + ], + "2": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "3": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "4": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "5": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "6": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/zbkyy.json b/XPath/zbkyy.json new file mode 100644 index 0000000..2856789 --- /dev/null +++ b/XPath/zbkyy.json @@ -0,0 +1,63 @@ +{ + "ua": "", + "videoName": "真的不卡·M", + "homeUrl": "http://www.kan8.tv/", + "cateNode": "//*[contains(@class, 'stui-header__menu')]//li[position()>1]/a[not(contains(text(),'下载')) and not(contains(text(),'求片'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "(?:http://www.kan8.tv)?/(\\S+)\\.html", + "cateManual": {}, + "homeVodNode": "//ul[contains(@class,'nav nav-tabs active')]/li", + "homeVodName": "//a/@title", + "homeVodId": "//a/@href", + "homeVodIdR": "(?:http://www.kan8.tv)?(\\S+)", + "homeVodImg": "//a/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//a/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://www.kan8.tv/{cateId}_{catePg}.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]/li", + "cateVodName": "//a/@title", + "cateVodId": "//a/@href", + "cateVodIdR": "(?:http://www.kan8.tv)?(\\S+)", + "cateVodImg": "//a/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//a/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://www.kan8.tv{vid}", + "dtNode": "//*[contains(@class,'stui-content')]/parent::*", + "dtName": "//*[contains(@class,'title') or contains(@class,'line')]/allText()", + "dtNameR": "(.*) (.*)", + "dtImg": "//*[contains(@class,'stui-content__thumb')]", + "dtImgR": "data-original=\"(http\\S+)\"", + "dtCate": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '类型')]/allText()", + "dtCateR": "类型:(.*)(?:地区:)", + "dtYear": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '年份')]/allText()", + "dtYearR": ".*年份:(.*)(?: )", + "dtArea": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '地区')]/allText()", + "dtAreaR": "地区:(.*)(?:年份:)", + "dtMark": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '更新')]/allText()", + "dtMarkR": "更新.*:(.*)", + "dtActor": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '主演')]/allText()", + "dtActorR": ":(.*)", + "dtDirector": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '导演')]/allText()", + "dtDirectorR": ":(.*)", + "dtDesc": "//*[contains(@class, 'desc') or contains(@class, 'detail-sketch')]/allText()", + "dtDescR": "", + "dtFromNode": "//*[contains(@class,'nav-tabs') or contains(@class,'stui-pannel__head') or contains(@class,'stui-content__playlist') or contains(@class,'stui-vodlist__head')]/*[(@class='title' and not(contains(text(),'评论')) and not(text()='播放地址')) or contains(a/@href,'#play')]", + "dtFromName": "allText()", + "dtFromNameR": "", + "dtUrlNode": "//*[contains(@class, 'stui-content__playlist') or contains(@class,'videourl')]", + "dtUrlSubNode": "/li", + "dtUrlId": "/a/@href", + "dtUrlIdR": "http://www.kan8.tv?(\\S+)", + "dtUrlName": "/a/text()", + "dtUrlNameR": "", + "playUrl": "http://www.kan8.tv{playUrl}", + "playUa": "", + "searchUrl": "http://www.kan8.tv/search.php?searchword={wd};post", + "scVodNode": "//ul[contains(@class,'stui-vodlist__media')]/li", + "scVodName": "//a/@title", + "scVodId": "//a/@href", + "scVodIdR": "", + "scVodImg": "//a/@data-original", + "scVodMark": "//div[contains(@class,'detail')]/allText()" +} diff --git a/XPath/zhenbukacerrd.json b/XPath/zhenbukacerrd.json new file mode 100644 index 0000000..4ab56c6 --- /dev/null +++ b/XPath/zhenbukacerrd.json @@ -0,0 +1,68 @@ +{ + "ua": "", + "videoName": "真的不卡·M", + "homeUrl": "http://www.cerrd.com/", + // "cateNode": "//*[contains(@class, 'stui-header__menu')]//li[position()>1]/a[not(contains(text(),'下载')) and not(contains(text(),'求片'))]", + // "cateName": "/text()", + // "cateId": "/@href", + // "cateIdR": "(?:http://www.cerrd.com)?/(\\S+)\\.html", + "cateManual": { + "电影": "1", + "电视剧": "2", + "动漫": "3", + "综艺": "4" + }, + "homeVodNode": "//ul[contains(@class,'nav nav-tabs active')]/li", + "homeVodName": "//a/@title", + "homeVodId": "//a/@href", + "homeVodIdR": "(?:http://www.cerrd.com)?(\\S+)", + "homeVodImg": "//a/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//a/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://www.cerrd.com/{cateId}_{catePg}.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]/li", + "cateVodName": "//a/@title", + "cateVodId": "//a/@href", + "cateVodIdR": "(?:http://www.cerrd.com)?(\\S+)", + "cateVodImg": "//a/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//a/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://www.cerrd.com{vid}", + "dtNode": "//*[contains(@class,'stui-content')]/parent::*", + "dtName": "//*[contains(@class,'title') or contains(@class,'line')]/allText()", + "dtNameR": "(.*) (.*)", + "dtImg": "//*[contains(@class,'stui-content__thumb')]", + "dtImgR": "data-original=\"(http\\S+)\"", + "dtCate": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '类型')]/allText()", + "dtCateR": "类型:(.*)(?:地区:)", + "dtYear": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '年份')]/allText()", + "dtYearR": ".*年份:(.*)(?: )", + "dtArea": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '地区')]/allText()", + "dtAreaR": "地区:(.*)(?:年份:)", + "dtMark": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '更新')]/allText()", + "dtMarkR": "更新.*:(.*)", + "dtActor": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '主演')]/allText()", + "dtActorR": ":(.*)", + "dtDirector": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(span, '导演')]/allText()", + "dtDirectorR": ":(.*)", + "dtDesc": "//*[contains(@class, 'desc') or contains(@class, 'detail-sketch')]/allText()", + "dtDescR": "", + "dtFromNode": "//*[contains(@class,'nav-tabs') or contains(@class,'stui-pannel__head') or contains(@class,'stui-content__playlist') or contains(@class,'stui-vodlist__head')]/*[(@class='title' and not(contains(text(),'评论')) and not(text()='播放地址')) or contains(a/@href,'#play')]", + "dtFromName": "allText()", + "dtFromNameR": "", + "dtUrlNode": "//*[contains(@class, 'stui-content__playlist') or contains(@class,'videourl')]", + "dtUrlSubNode": "/li", + "dtUrlId": "/a/@href", + "dtUrlIdR": "http://www.cerrd.com?(\\S+)", + "dtUrlName": "/a/text()", + "dtUrlNameR": "", + "playUrl": "http://www.cerrd.com{playUrl}", + "playUa": "", + "searchUrl": "http://www.cerrd.com/search.php?searchword={wd};post", + "scVodNode": "//ul[contains(@class,'stui-vodlist__media')]/li", + "scVodName": "//a/@title", + "scVodId": "//a/@href", + "scVodIdR": "", + "scVodImg": "//a/@data-original", + "scVodMark": "//div[contains(@class,'detail')]/allText()" +} \ No newline at end of file diff --git a/XPath/zhoumodianying.json b/XPath/zhoumodianying.json new file mode 100644 index 0000000..35a35ae --- /dev/null +++ b/XPath/zhoumodianying.json @@ -0,0 +1,68 @@ +// https://wds.ecsxs.com/224259.json +{ + "author": "baddychen", + "ua": "", + "dcVipFlag": "true", + "pCfgJs": "http://www.zzzlike.vip/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "homeUrl": "http://www.zzzlike.vip", + "cateNode": "//ul[@class='stui-header__menu type-slide']/li/a[contains(@href,'type')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//ul[@class='stui-vodlist clearfix']/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[2]/text()", + "cateUrl": "http://www.zzzlike.vip/vodtype/{cateId}-{catePg}.html", + "cateVodNode": "//ul[@class='stui-vodlist clearfix']/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[2]/text()", + "dtUrl": "http://www.zzzlike.vip/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(),'类型')]/parent::p/text()[2]", + "dtCateR": "", + "dtYear": "//span[contains(text(),'年份')]/parent::p/text()[6]", + "dtYearR": "", + "dtArea": "//span[contains(text(),'地区')]/parent::p/text()[4]", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//span[contains(text(),'主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(text(),'导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//span[@class='detail-content']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class, 'bottom-line')]/h3", + "dtFromName": "/text()", + "dtUrlNode": "//ul[@class='stui-content__playlist clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.zzzlike.vip/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.zzzlike.vip/index.php/ajax/suggest?mid=1&wd={wd}&limit=100", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/zhuijuwang.json b/XPath/zhuijuwang.json new file mode 100644 index 0000000..ee13074 --- /dev/null +++ b/XPath/zhuijuwang.json @@ -0,0 +1,84 @@ +{ + "ua": "", + "homeUrl": "https://www.zj883.com/", + "cateNode": "", + "cateName": "", + "cateId": "", + "cateIdR": "", + "cateManual": { + "电影片库": "1", + "动作片": "6", + "喜剧片": "7", + "爱情片": "8", + "科幻片": "9", + "恐怖片": "10", + "剧情片": "11", + "战争片": "12", + "犯罪片": "20", + "纪录片": "21", + "连续剧片库": "2", + "国产剧": "13", + "香港剧": "14", + "台湾剧": "15", + "日本剧": "16", + "韩国剧": "22", + "美剧": "23", + "海外剧": "24", + "综艺": "3", + "动漫": "4" + }, + "homeVodNode": "//li[contains(@class,'vodlist')]/a[contains(@class,'vodlist_thumb lazyload')]", + "homeVodName": "/@title", + "homeVodNameR": "", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/text()", + "cateUrl": "https://www.zj883.com/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//div[contains(@class, 'pannel clearfix')]//a[@class='vodlist_thumb lazyload']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic_text text_right']/text()", + "dtUrl": "https://www.zj883.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//h2[@class='title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='content_thumb fl']/a/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//span[contains(text(), '状态')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='content_desc full_text clearfix']/span/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='play_source_tab list_scroll clearfix']/a", + "dtFromName": "text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@id, 'playlistbox')]//ul[contains(@class,'content_playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.zj883.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.zj883.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/zj883.json b/XPath/zj883.json new file mode 100644 index 0000000..ee13074 --- /dev/null +++ b/XPath/zj883.json @@ -0,0 +1,84 @@ +{ + "ua": "", + "homeUrl": "https://www.zj883.com/", + "cateNode": "", + "cateName": "", + "cateId": "", + "cateIdR": "", + "cateManual": { + "电影片库": "1", + "动作片": "6", + "喜剧片": "7", + "爱情片": "8", + "科幻片": "9", + "恐怖片": "10", + "剧情片": "11", + "战争片": "12", + "犯罪片": "20", + "纪录片": "21", + "连续剧片库": "2", + "国产剧": "13", + "香港剧": "14", + "台湾剧": "15", + "日本剧": "16", + "韩国剧": "22", + "美剧": "23", + "海外剧": "24", + "综艺": "3", + "动漫": "4" + }, + "homeVodNode": "//li[contains(@class,'vodlist')]/a[contains(@class,'vodlist_thumb lazyload')]", + "homeVodName": "/@title", + "homeVodNameR": "", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/text()", + "cateUrl": "https://www.zj883.com/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//div[contains(@class, 'pannel clearfix')]//a[@class='vodlist_thumb lazyload']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic_text text_right']/text()", + "dtUrl": "https://www.zj883.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//h2[@class='title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='content_thumb fl']/a/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//span[contains(text(), '状态')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='content_desc full_text clearfix']/span/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='play_source_tab list_scroll clearfix']/a", + "dtFromName": "text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@id, 'playlistbox')]//ul[contains(@class,'content_playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.zj883.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.zj883.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/zxzj.json b/XPath/zxzj.json new file mode 100644 index 0000000..bea2d3e --- /dev/null +++ b/XPath/zxzj.json @@ -0,0 +1,325 @@ +{ + "author": "takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.zxzjtv.com/", + "cateManual": { + "电影": "1", + "美剧": "2", + "韩剧": "3", + "日剧": "4", + "泰剧": "5", + "动漫": "6" + }, + // Home Summary ================================================ + "homeVodNode": "//div[@class='stui-vodlist__box']", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/detail/(\\w+)", + "homeVodImg": "/a/@data-original", + "homeVodMark": "/a/span[@class='pic-text text-right']/text()", + // Category Summary ================================================ + "cateUrl": "https://www.zxzjtv.com/vodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html", + "cateVodNode": "//ul[@class='stui-vodlist clearfix']/li/div[@class='stui-vodlist__box']", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/a/@data-original", + "cateVodMark": "/a/span[@class='pic-text text-right']/text()", + // Category Details ================================================ + "dtUrl": "https://www.zxzjtv.com/detail/{vid}.html", + "dtNode": "//div[@class='stui-pannel__bd']", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtCate": "", + "dtYear": "", + "dtArea": "", + "dtActor": "//div[@class='stui-content__detail']/p[2]/text()", + "dtMark": "//div[@class='stui-content__detail']/p[4]/text()", + "dtDirector": "//div[@class='stui-content__detail']/p[3]/text()", + "dtDesc": "//span[@class='detail-sketch']/text()", + // Playlist ===================================================== + // "dtFromNode": "//div[@class='stui-vodlist__head' and not(contains(text(),'猜你喜欢'))]", + // "dtFromName": "//h3", // number must match + "dtFromNode": "//h3", + "dtFromName": "[substring-before(text(),'(')]", + "dtFromNameR": "(.+) \\(\\S+", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist clearfix')]", // number must match + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/video/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "https://www.zxzjtv.com/video/{playUrl}.html", + "playUa": "", + // Search Results ================================================ + "searchUrl": "https://www.zxzjtv.com/search/-------------.html?wd={wd}&submit=", + "scVodNode": "//div[@class='stui-vodlist__box']", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/a/@data-original", + "scVodMark": "/a/span[@class='pic-text text-right']/text()", + // Filters ======================================================= + "filter": { + "1": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "欧美","v": "欧美"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"} + ] + } + ], + "2": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "3": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "4": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "5": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "6": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/zxzj2.json b/XPath/zxzj2.json new file mode 100644 index 0000000..303ebb6 --- /dev/null +++ b/XPath/zxzj2.json @@ -0,0 +1,329 @@ +{ + "ua": "", + "homeUrl": "https://www.zxzjtv.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.zxzjtv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'list')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\d+).html", + "cateManual":{}, + "homeVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.zxzjtv.com/vodshow/{cateId}-{area}-{by}--{lang}----{catePg}---{year}.html", + "cateVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.zxzjtv.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a[contains(@class,'pic')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a[contains(@class,'pic')]/img/@data-original", + "dtImgR": "(http\\S+)", + "dtCate": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtActor": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtMark": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[@class='detail-sketch']/text()", + "dtDescR": "", + "dtFromNode":"//div[@class='stui-vodlist__head']/h3[contains(text(),'播放')]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class, 'stui-content__playlist clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/video/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.zxzjtv.com/video/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.zxzjtv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "欧美","v": "欧美"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"} + ] + } + ], + "2": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "3": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "4": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "5": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "6": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/zxzjp.json b/XPath/zxzjp.json new file mode 100644 index 0000000..9c7df0f --- /dev/null +++ b/XPath/zxzjp.json @@ -0,0 +1,329 @@ +{ + "ua": "", + "homeUrl": "https://www.zxzj.vip", + "dcVipFlag": "true", + "pCfgJs": "https://www.zxzj.vip/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'list')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\d+).html", + "cateManual":{}, + "homeVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.zxzj.vip/vodshow/{cateId}-{area}-{by}--{lang}----{catePg}---{year}.html", + "cateVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.zxzj.vip/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a[contains(@class,'pic')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a[contains(@class,'pic')]/img/@data-original", + "dtImgR": "(http\\S+)", + "dtCate": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtActor": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtMark": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[@class='detail-sketch']/text()", + "dtDescR": "", + "dtFromNode":"//div[@class='stui-vodlist__head']/h3[contains(text(),'播放')]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class, 'stui-content__playlist clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/video/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.zxzj.vip/video/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.zxzj.vip/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "欧美","v": "欧美"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"} + ] + } + ], + "2": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "3": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "4": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "5": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "6": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ] + } +} diff --git a/XPath/zzzlike.json b/XPath/zzzlike.json new file mode 100644 index 0000000..35a35ae --- /dev/null +++ b/XPath/zzzlike.json @@ -0,0 +1,68 @@ +// https://wds.ecsxs.com/224259.json +{ + "author": "baddychen", + "ua": "", + "dcVipFlag": "true", + "pCfgJs": "http://www.zzzlike.vip/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "homeUrl": "http://www.zzzlike.vip", + "cateNode": "//ul[@class='stui-header__menu type-slide']/li/a[contains(@href,'type')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//ul[@class='stui-vodlist clearfix']/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[2]/text()", + "cateUrl": "http://www.zzzlike.vip/vodtype/{cateId}-{catePg}.html", + "cateVodNode": "//ul[@class='stui-vodlist clearfix']/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[2]/text()", + "dtUrl": "http://www.zzzlike.vip/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(),'类型')]/parent::p/text()[2]", + "dtCateR": "", + "dtYear": "//span[contains(text(),'年份')]/parent::p/text()[6]", + "dtYearR": "", + "dtArea": "//span[contains(text(),'地区')]/parent::p/text()[4]", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//span[contains(text(),'主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//span[contains(text(),'导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//span[@class='detail-content']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class, 'bottom-line')]/h3", + "dtFromName": "/text()", + "dtUrlNode": "//ul[@class='stui-content__playlist clearfix']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.zzzlike.vip/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.zzzlike.vip/index.php/ajax/suggest?mid=1&wd={wd}&limit=100", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/七年影视.json b/XPath/七年影视.json new file mode 100644 index 0000000..6ae66be --- /dev/null +++ b/XPath/七年影视.json @@ -0,0 +1,59 @@ +{ + "name": "七年影视", + "url": "https://www.lipinvip.com/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/vodshow/1--time------#国产剧$/vodshow/12--------#网剧$/vodshow/20--------#欧美剧$/vodshow/15--------#日韩剧$/vodshow/14--------#港台剧$/vodshow/13--------#海外剧$/vodshow/18--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/三九影视.json b/XPath/三九影视.json new file mode 100644 index 0000000..e58f7e2 --- /dev/null +++ b/XPath/三九影视.json @@ -0,0 +1,60 @@ +{ + "name": "139影视", + "url": "https://www.139ys.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#国产剧$/vodshow/guochanju--------#港台剧$/vodshow/gangtaiju--------#日韩剧$/vodshow/rihanju--------#欧美剧$/vodshow/oumeiju--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/三五电影.json b/XPath/三五电影.json new file mode 100644 index 0000000..1f530ac --- /dev/null +++ b/XPath/三五电影.json @@ -0,0 +1,67 @@ +{ + "author": "20220613", + "name": "555电影", + "url": "https://www.xawqxh.net", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + + "fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#Netflix(漫)$/vodshow/4---Netflix-----#福利库$/vodshow/124--------#热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧美剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#美食片$/vodshow/1---美食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "
    ", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/乌龟影院.json b/XPath/乌龟影院.json new file mode 100644 index 0000000..12caf25 --- /dev/null +++ b/XPath/乌龟影院.json @@ -0,0 +1,59 @@ +{ + "name": "乌龟影院", + "url": "https://www.wuguiyy.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/乐猪影视.json b/XPath/乐猪影视.json new file mode 100644 index 0000000..1d1c541 --- /dev/null +++ b/XPath/乐猪影视.json @@ -0,0 +1,60 @@ +{ + "name": "03-乐猪影视", + "url": "http://www.lezhutv.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/乐猪影院.json b/XPath/乐猪影院.json new file mode 100644 index 0000000..2815278 --- /dev/null +++ b/XPath/乐猪影院.json @@ -0,0 +1,68 @@ +{ + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "http://www.lezhutv.com", + "dcVipFlag": "true", + "pCfgJs": "http://www.lezhutv.com/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'head')]/div[contains(@class, 'nav')]/a[contains(@href,'type')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/type/(\\S+).html", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "4", + "韩剧": "14", + "综艺": "3" + }, + "homeVodNode": "//ul[contains(@class, 'tbox_m')]/li[contains(@class,'vbox')]/a[contains(@class,'vbox_t')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span/text()", + "cateUrl": "http://www.lezhutv.com/list/{cateId}_{catePg}__time_____.html", + "cateVodNode": "//ul[contains(@class, 'tbox_m')]/li[contains(@class,'vbox')]/a[contains(@class,'vbox_t')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span/text()", + "dtUrl": "http://www.lezhutv.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='data']/h4/text()", + "dtNameR": "", + "dtImg": "//div[@class='dbox']/div[contains(@class,'img item-lazy')]/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='yac']/text()", + "dtCateR": "", + "dtActor": "//p[@class='act']/span[contains(text(), '主演')]/parent::text()", + "dtActorR": "", + "dtDirector": "//p[@class='dir']/span[contains(text(), '导演')]/parent::text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='tbox_js']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class, 'tbox_t')]/h3/i[contains(@class, 'icon-pin')]/parent::*", + "dtFromName": "concat('播放源',count(parent::*/preceding::*/div[contains(@class, 'tbox_t')]/h3/i[contains(@class, 'icon-pin')]) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//div[contains(@class,'tabs_block')]/ul[contains(@class, 'list_block show')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.lezhutv.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.lezhutv.com/index.php?m=vod-search&wd={wd}", + "scVodNode": "//ul[contains(@class, 'tbox_m')]/li[contains(@class,'vbox')]/a[contains(@class,'vbox_t')]", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/@data-original", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "/span/text()" +} \ No newline at end of file diff --git a/XPath/云播看看.json b/XPath/云播看看.json new file mode 100644 index 0000000..92f8c1e --- /dev/null +++ b/XPath/云播看看.json @@ -0,0 +1,80 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.135kan.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.135kan.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "dianying", + "连续剧": "dianshiju", + "国产剧": "guochanju", + "港剧": "xianggangju", + "台湾剧": "taiwanju", + "韩剧": "hanguoju", + "日剧": "ribenju", + "欧美剧": "oumeiju", + "海外剧": "haiwaiju", + "动作片": "dongzuopian", + "喜剧片": "xijupian", + "爱情片": "aiqingpian", + "科幻片": "kehuanpian", + "恐怖片": "kongbupian", + "剧情片": "juqingpian", + "战争片": "zhanzhengpian", + "动画片": "donghuapian" + }, + "homeVodNode": "//div[@class='myui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/\\w+/(\\w+)\\S*/", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.135kan.com/type/{cateId}-{catePg}/", + "cateVodNode": "//div[@class='myui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/(\\w+)/", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.135kan.com/vod/{vid}/", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(),'分类')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(),'年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(),'地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(),'导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(),'主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(),'简介')]/parent::/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'myui-panel__head bottom-line')]/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/\\w+/(\\w+\\S*)/", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.135kan.com/play/{playUrl}/", + "playUa": "", + "searchUrl": "https://www.135kan.com/search/--/?wd={wd}&submit=", + "scVodNode": "//ul[@id='searchList']//div[@class='thumb']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vod/(\\w+)/", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} diff --git a/XPath/人人影视.json b/XPath/人人影视.json new file mode 100644 index 0000000..ada2f11 --- /dev/null +++ b/XPath/人人影视.json @@ -0,0 +1,59 @@ +{ + "name": "人人影视", + "url": "https://www.rr520.cc/", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/show/2--------#电影$/show/1--------#综艺$/show/3--------#动漫$/show/4--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#国产动漫$/show/4-国产-------#日本动漫$/show/4-日本-------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuohouzhui": "/vod/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演: ", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/伊雪湾源.json b/XPath/伊雪湾源.json new file mode 100644 index 0000000..35b06fb --- /dev/null +++ b/XPath/伊雪湾源.json @@ -0,0 +1,60 @@ +{ + "name": "伊雪湾", + "tihuan": "cnzz.com", + "shouye": "1", + "url": "https://www.yixuewan.com", + //"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#纪录片$/vodtype/5-#动作$/vodtype/6-#喜剧$/vodtype/7-#爱情$/vodtype/8-#科幻$/vodtype/9-#恐怖$/vodtype/10-#剧情$/vodtype/11-#战争$/vodtype/12-#惊悚$/vodtype/20-#犯罪$/vodtype/21-#冒险$/vodtype/22-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#泰剧$/vodtype/29-", + "fenlei": "国产剧$/vodshow/13/page/#日韩剧$/vodshow/14/page/#港台剧$/vodshow/15/page/#欧美剧$/vodshow/16/page/#其他剧$/vodshow/20/page/#纪录片$/vodshow/21/page/#大陆动漫$/vodshow/4/area/中国大陆/page/#日本动漫$/vodshow/4/area/日本/page/#美国动漫$/vodshow/4/area/美国/page/#其他动漫$/vodshow/4/area/其他/page/#综艺$/vodshow/3/page/#动作片$/vodshow/6/page/#喜剧片$/vodshow/7/page/#剧情片$/vodshow/24/page/#爱情片$/vodshow/8/page/#科幻片$/vodshow/9/page/#恐怖片$/vodshow/10/page/#冒险片$/vodshow/11/page/#战争片$/vodshow/12/page/#其他片$/vodshow/32/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y\">", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/体育_17看.json b/XPath/体育_17看.json new file mode 100644 index 0000000..c0cd98c --- /dev/null +++ b/XPath/体育_17看.json @@ -0,0 +1,30 @@ +{ + + "title": "无插件直播", + + "author": "聆听优美旋律", + "UserAgent":"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", + "Referer":"", + "homeContent":"0", + "firstpage": "1", + "class_url": "http://www.17klive.com:8866/m.html{cateId}", + "class_name": "一起看直播", + "class_value": "", + "filterdata":{}, + "cat_YN_twice": "0", + "cat_twice_pre": "
    &&", + //分类截取片单图片,截取前缀&&截取后缀 + "cat_pic": "img src=\"&&\"", + //分类截取片单标题,截取前缀&&截取后缀 + "cat_title": "zhudui_wuyd\">&&&&", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"video-txt\"", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"layui-tab-item bt-playlist layui-show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "

    状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"bt-content\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/六度影视.json b/XPath/六度影视.json new file mode 100644 index 0000000..5999c87 --- /dev/null +++ b/XPath/六度影视.json @@ -0,0 +1,60 @@ +{ + "name": "六度TV", + "url": "http://6d.xuangz.cn", + "User": "空", + "shouye": "1", + "fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#美国片$/whole/1_美国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧美剧$/whole/2__欧美剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v_show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"v-thumb stui-vodlist", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +} \ No newline at end of file diff --git a/XPath/创艺影视.json b/XPath/创艺影视.json new file mode 100644 index 0000000..53c678f --- /dev/null +++ b/XPath/创艺影视.json @@ -0,0 +1,60 @@ +{ + "name": "创艺影视", + "url": "https://www.30dian.cn", + "tihuan": "vip.30dian.cn", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#纪录片$/vodshow/30--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"text-red\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/利奥影视.json b/XPath/利奥影视.json new file mode 100644 index 0000000..51582a3 --- /dev/null +++ b/XPath/利奥影视.json @@ -0,0 +1,547 @@ +{ + "author":"公众号:太阳视界", + "ua": "", + "homeUrl": "https://www.libvio.com/", + "dcPlayUrl": "true", + "cateManual": {"电影": "1","剧集": "2","综艺": "3","动漫": "4","日韩剧": "15","欧美剧": "16"}, + "homeVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodNameR": "", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[2]/text()", + "homeVodMarkR": "", + "cateUrl": "https://www.libvio.com/show/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[2]/text()", + "dtUrl": "https://www.libvio.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + "dtNameR": "", + "dtImg": "//a[contains(@class,'pic')]/img/@data-original", + "dtImgR": "", + "dtCate": "//div[contains(@class,'stui-content__detail')]/p[1]/text()", + "dtCateR": "", + "dtYear": "//div[contains(@class,'myui-content__detail')]/p[1]/a[3]/text()", + "dtDesc": "//div[contains(@class,'stui-content__detail')]/p[6]/span[3]/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-vodlist__head')]/div[contains(@class,'stui-pannel__head clearfix')]/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.libvio.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.libvio.com/search/-------------.html?wd={wd}&submit=", + "scVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[2]/text()", + "filter":{ + "1":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "中国大陆"}, + {"n": "中国香港","v": "中国香港"}, + {"n": "中国台湾","v": "中国台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "2":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "中国大陆"}, + {"n": "中国香港","v": "中国香港"}, + {"n": "中国台湾","v": "中国台湾"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "3":[ + + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "奇幻"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "4":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国","v": "中国"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + //唐三长老接口存,ajk编写 + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "15":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "16":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "德国","v": "德国"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + + } +} \ No newline at end of file diff --git a/XPath/利奥影院.json b/XPath/利奥影院.json new file mode 100644 index 0000000..c352d58 --- /dev/null +++ b/XPath/利奥影院.json @@ -0,0 +1,555 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.libvio.me/", + "dcPlayUrl": "true", + "cateManual": {"电影": "1","剧集": "2","综艺": "3","动漫": "4","日韩剧": "15","欧美剧": "16"}, + "homeVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodNameR": "", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[2]/text()", + "homeVodMarkR": "", + "cateUrl": "https://www.libvio.me/show/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[2]/text()", + "dtUrl": "https://www.libvio.me/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + "dtNameR": "", + "dtImg": "//a[contains(@class,'pic')]/img/@data-original", + "dtImgR": "", + "dtCate": "//div[contains(@class,'stui-content__detail')]/p[1]/text()", + "dtCateR": "\\S+:(\\S+)", + "dtYear": "//div[contains(@class,'stui-content__detail')]/p[1]/text()", + "dtYearR": "\\S+年份:(\\S+)", + "dtArea": "//div[contains(@class,'stui-content__detail')]/p[1]/text()", + "dtAreaR": "\\S+地区:(\\S+)", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//p[contains(text(),'主演')]/text()", + "dtActorR": "\\S+:(\\S+)", + "dtDirector": "//p[contains(text(),'导演')]/text()", + "dtDirectorR": "\\S+导演:(\\S+)", + "dtDesc": "//span[@class='detail-content']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'stui-vodlist__head')]/div[contains(@class,'stui-pannel__head clearfix')]/h3", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.libvio.me/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.libvio.me/search/-------------.html?wd={wd}&submit=", + "scVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[2]/text()", + "filter":{ + "1":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "中国大陆"}, + {"n": "中国香港","v": "中国香港"}, + {"n": "中国台湾","v": "中国台湾"}, + {"n": "美国","v": "美国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "2":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国大陆","v": "中国大陆"}, + {"n": "中国香港","v": "中国香港"}, + {"n": "中国台湾","v": "中国台湾"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "3":[ + + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "奇幻"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "港台","v": "港台"}, + {"n": "日韩","v": "日韩"}, + {"n": "欧美","v": "欧美"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "4":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "中国","v": "中国"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "15":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "16":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春偶像","v": "青春偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "美国","v": "美国"}, + {"n": "英国","v": "英国"}, + {"n": "德国","v": "德国"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + + } +} \ No newline at end of file diff --git a/XPath/利奥直链.json b/XPath/利奥直链.json new file mode 100644 index 0000000..64689c1 --- /dev/null +++ b/XPath/利奥直链.json @@ -0,0 +1,60 @@ +{ + "name": "LIBVIO", + "url": "https://www.libvio.com", + "tihuan": "dd520.cc", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/show/2--------#电影$/show/1--------#综艺$/show/3--------#动漫$/show/4--------#动作片$/show/1---动作-----#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#科幻片$/show/1---科幻-----#奇幻片$/show/1---奇幻-----#恐怖片$/show/1---恐怖-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#冒险片$/show/1---冒险-----#国产剧$/show/2-中国大陆-------#台剧$/show/2-中国台湾-------#港剧$/show/2-中国香港-------#韩剧$/show/2-韩国-------#日剧$/show/2-日本-------#美剧$/show/2-美国-------#英剧$/show/2-英国-------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "data", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\">总集数:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">类型:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/剧白影视.json b/XPath/剧白影视.json new file mode 100644 index 0000000..ee9096b --- /dev/null +++ b/XPath/剧白影视.json @@ -0,0 +1,1333 @@ +{ + + "ua": "", + + "homeUrl": "https://www.jubaibai.cc/", + + "dcVipFlag": "true", + + "dcPlayUrl": "true", + + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'type')and not(contains(@href,'zhibo'))]", + + "cateName": "/text()", + + "cateId": "/@href", + + "cateIdR": "/type/(\\w+).html", + + "cateManual": {}, + + "homeVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + + "homeVodName": "/@title", + + "homeVodId": "/@href", + + "homeVodIdR": "/vod/(\\w+).html", + + "homeVodImg": "/@data-original", + + "homeVodImgR": "\\S+(http\\S+)", + + "homeVodMark": "//span[contains(@class,'pic-text text-right')]/b/text()", + + "cateUrl": "https://www.jubaibai.cc/vodshow/id/{cateId}/area/{area}/by/{by}/page/{catePg}/year/{year}.html", + + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + + "cateVodName": "/@title", + + "cateVodId": "/@href", + + "cateVodIdR": "/vod/(\\w+).html", + + "cateVodImg": "/@data-original", + + "cateVodImgR": "\\S+(http\\S+)", + + "cateVodMark": "//span[contains(@class,'pic-text text-right')]/b/text()", + + "dtUrl": "https://www.jubaibai.cc/vod/{vid}.html", + + "dtNode": "//body", + + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + + "dtNameR": "", + + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a/img/@data-original", + + "dtImgR": "\\S+(http\\S+)", + + "dtCate": "//p[contains(@class,'data')][1]/text()", + + "dtCateR": "\\S+:(\\S+)", + + "dtYear": "//p[contains(@class,'data')][5]/text()", + + "dtYearR": "\\S+:(\\S+)", + + "dtArea": "//p[contains(@class,'data')][3]/text()", + + "dtAreaR": "\\S+:(\\S+)", + + "dtMark": "//p[contains(@class,'data')][8]/span/text()", + + "dtMarkR": "", + + "dtDirector": "//p[contains(@class,'data')][6]/a/text()", + + "dtDirectorR": "\\S+:(\\S+)", + + "dtActor": "//p[contains(@class,'data')][7]/a/text()", + + "dtActorR": "\\S+:(\\S+)", + + "dtDesc": "//span[@class='detail-content']/text()", + + "dtFromNode": "//div[@class='stui-vodlist__head']/h3", + + "dtFromName": "/text()", + + "dtFromNameR": "", + + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + + "dtUrlSubNode": "/li/a", + + "dtUrlId": "/@href", + + "dtUrlIdR": "/play/(\\S+).html", + + "dtUrlName": "/text()", + + "dtUrlNameR": "", + + "playUrl": "https://www.jubaibai.cc/play/{playUrl}.html", + + "playUa": "", + + "searchUrl": "https://www.jubaibai.cc/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + + "scVodNode": "json:list", + + "scVodName": "name", + + "scVodId": "id", + + "scVodIdR": "", + + "scVodImg": "pic", + + "scVodMark": "", + + "filter": { + + "dianying": [ + + { + + "key": "cateId", + + "name": "类型", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "动作片", + + "v": "dongzuopian" + + }, + + { + + "n": "喜劇片", + + "v": "xijupian" + + }, + + { + + "n": "愛情片", + + "v": "aiqingpian" + + }, + + { + + "n": "科幻片", + + "v": "kehuanpian" + + }, + + { + + "n": "恐怖片", + + "v": "kongbupian" + + }, + + { + + "n": "劇情片", + + "v": "juqingpian" + + }, + + { + + "n": "戰爭片", + + "v": "zhanzhengpian" + + }, + + { + + "n": "动画片", + + "v": "donghua" + + } + + ] + + }, + + { + + "key": "area", + + "name": "地区", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "中国大陆", + + "v": "中国大陆" + + }, + + { + + "n": "中国香港", + + "v": "中国香港" + + }, + + { + + "n": "中国台湾", + + "v": "中国台湾" + + }, + + { + + "n": "美国", + + "v": "美国" + + }, + + { + + "n": "韩国", + + "v": "韩国" + + }, + + { + + "n": "日本", + + "v": "日本" + + }, + + { + + "n": "泰国", + + "v": "泰国" + + }, + + { + + "n": "新加坡", + + "v": "新加坡" + + }, + + { + + "n": "马来西亚", + + "v": "马来西亚" + + }, + + { + + "n": "印度", + + "v": "印度" + + }, + + { + + "n": "英国", + + "v": "英国" + + }, + + { + + "n": "法国", + + "v": "法国" + + }, + + { + + "n": "德国", + + "v": "德国" + + }, + + { + + "n": "加拿大", + + "v": "加拿大" + + }, + + { + + "n": "西班牙", + + "v": "西班牙" + + }, + + { + + "n": "俄罗斯", + + "v": "俄罗斯" + + }, + + { + + "n": "其它", + + "v": "其它" + + } + + ] + + }, + + { + + "key": "year", + + "name": "年份", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "2022", + + "v": "2022" + + }, + + { + + "n": "2021", + + "v": "2021" + + }, + + { + + "n": "2020", + + "v": "2020" + + }, + + { + + "n": "2019", + + "v": "2019" + + }, + + { + + "n": "2018", + + "v": "2018" + + }, + + { + + "n": "2017", + + "v": "2017" + + }, + + { + + "n": "2016", + + "v": "2016" + + }, + + { + + "n": "2015", + + "v": "2015" + + }, + + { + + "n": "2014", + + "v": "2014" + + }, + + { + + "n": "2013", + + "v": "2013" + + }, + + { + + "n": "2012", + + "v": "2012" + + }, + + { + + "n": "2011", + + "v": "2011" + + }, + + { + + "n": "2010", + + "v": "2010" + + } + + ] + + }, + + { + + "key": "by", + + "name": "排序", + + "value": [ + + { + + "n": "时间", + + "v": "" + + }, + + { + + "n": "人气", + + "v": "hits" + + }, + + { + + "n": "评分", + + "v": "score" + + } + + ] + + } + + ], + + "dianshiju": [ + + { + + "key": "cateId", + + "name": "类型", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "大陸劇", + + "v": "guochanju" + + }, + + { + + "n": "港台劇", + + "v": "gangtaiju" + + }, + + { + + "n": "日韓劇", + + "v": "rihanju" + + }, + + { + + "n": "欧美劇", + + "v": "oumeiju" + + }, + + { + + "n": "其他劇", + + "v": "qitaju" + + } + + ] + + }, + + { + + "key": "year", + + "name": "年份", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "2022", + + "v": "2022" + + }, + + { + + "n": "2021", + + "v": "2021" + + }, + + { + + "n": "2020", + + "v": "2020" + + }, + + { + + "n": "2019", + + "v": "2019" + + }, + + { + + "n": "2018", + + "v": "2018" + + }, + + { + + "n": "2017", + + "v": "2017" + + }, + + { + + "n": "2016", + + "v": "2016" + + }, + + { + + "n": "2015", + + "v": "2015" + + }, + + { + + "n": "2014", + + "v": "2014" + + }, + + { + + "n": "2013", + + "v": "2013" + + }, + + { + + "n": "2012", + + "v": "2012" + + }, + + { + + "n": "2011", + + "v": "2011" + + }, + + { + + "n": "2010", + + "v": "2010" + + }, + + { + + "n": "2009", + + "v": "2009" + + }, + + { + + "n": "2008", + + "v": "2008" + + }, + + { + + "n": "2007", + + "v": "2007" + + }, + + { + + "n": "2006", + + "v": "2006" + + }, + + { + + "n": "2005", + + "v": "2005" + + }, + + { + + "n": "2004", + + "v": "2004" + + } + + ] + + }, + + { + + "key": "by", + + "name": "排序", + + "value": [ + + { + + "n": "时间", + + "v": "" + + }, + + { + + "n": "人气", + + "v": "hits" + + }, + + { + + "n": "评分", + + "v": "score" + + } + + ] + + } + + ], + + "zongyi": [ + + { + + "key": "area", + + "name": "地区", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "中国大陆", + + "v": "中国大陆" + + }, + + { + + "n": "日本", + + "v": "日本" + + }, + + { + + "n": "欧美", + + "v": "欧美" + + }, + + { + + "n": "其他", + + "v": "其他" + + } + + ] + + }, + + { + + "key": "year", + + "name": "年份", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "2022", + + "v": "2022" + + }, + + { + + "n": "2021", + + "v": "2021" + + }, + + { + + "n": "2020", + + "v": "2020" + + }, + + { + + "n": "2019", + + "v": "2019" + + }, + + { + + "n": "2018", + + "v": "2018" + + }, + + { + + "n": "2017", + + "v": "2017" + + }, + + { + + "n": "2016", + + "v": "2016" + + }, + + { + + "n": "2015", + + "v": "2015" + + }, + + { + + "n": "2014", + + "v": "2014" + + }, + + { + + "n": "2013", + + "v": "2013" + + }, + + { + + "n": "2012", + + "v": "2012" + + }, + + { + + "n": "2011", + + "v": "2011" + + }, + + { + + "n": "2010", + + "v": "2010" + + }, + + { + + "n": "2009", + + "v": "2009" + + }, + + { + + "n": "2008", + + "v": "2008" + + }, + + { + + "n": "2007", + + "v": "2007" + + }, + + { + + "n": "2006", + + "v": "2006" + + }, + + { + + "n": "2005", + + "v": "2005" + + }, + + { + + "n": "2004", + + "v": "2004" + + } + + ] + + }, + + { + + "key": "by", + + "name": "排序", + + "value": [ + + { + + "n": "时间", + + "v": "" + + }, + + { + + "n": "人气", + + "v": "hits" + + }, + + { + + "n": "评分", + + "v": "score" + + } + + ] + + } + + ], + + "dongman": [ + + { + + "key": "area", + + "name": "地区", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "中国大陆", + + "v": "中国大陆" + + }, + + { + + "n": "日本", + + "v": "日本" + + }, + + { + + "n": "欧美", + + "v": "欧美" + + }, + + { + + "n": "其他", + + "v": "其他" + + } + + ] + + }, + + { + + "key": "year", + + "name": "年份", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "2022", + + "v": "2022" + + }, + + { + + "n": "2021", + + "v": "2021" + + }, + + { + + "n": "2020", + + "v": "2020" + + }, + + { + + "n": "2019", + + "v": "2019" + + }, + + { + + "n": "2018", + + "v": "2018" + + }, + + { + + "n": "2017", + + "v": "2017" + + }, + + { + + "n": "2016", + + "v": "2016" + + }, + + { + + "n": "2015", + + "v": "2015" + + }, + + { + + "n": "2014", + + "v": "2014" + + }, + + { + + "n": "2013", + + "v": "2013" + + }, + + { + + "n": "2012", + + "v": "2012" + + }, + + { + + "n": "2011", + + "v": "2011" + + }, + + { + + "n": "2010", + + "v": "2010" + + }, + + { + + "n": "2009", + + "v": "2009" + + }, + + { + + "n": "2008", + + "v": "2008" + + }, + + { + + "n": "2007", + + "v": "2007" + + }, + + { + + "n": "2006", + + "v": "2006" + + }, + + { + + "n": "2005", + + "v": "2005" + + }, + + { + + "n": "2004", + + "v": "2004" + + } + + ] + + }, + + { + + "key": "by", + + "name": "排序", + + "value": [ + + { + + "n": "时间", + + "v": "" + + }, + + { + + "n": "人气", + + "v": "hits" + + }, + + { + + "n": "评分", + + "v": "score" + + } + + ] + + } + + ] + + } + +} \ No newline at end of file diff --git a/XPath/剧白直链.json b/XPath/剧白直链.json new file mode 100644 index 0000000..79c03bd --- /dev/null +++ b/XPath/剧白直链.json @@ -0,0 +1,60 @@ +{ + "name": "剧白白-蓝光", + "url": "https://www.jubaibai.cc", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist sort-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data hidden-xs\">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/剧迷影视.json b/XPath/剧迷影视.json new file mode 100644 index 0000000..c0fdb4f --- /dev/null +++ b/XPath/剧迷影视.json @@ -0,0 +1,585 @@ +{ + "author": "Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://gimytv.com/", + "dcVipFlag": "true", + "pCfgJs": "https://gimytv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[@class='myui-header__menu']/li/a[contains(@href, 'browse')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/browse/(\\w+).html", + "cateManual": { + "电影": "movies", + "电视剧": "tvseries", + "综艺": "tv_show", + "动漫": "anime" + }, + "homeVodNode": "//ul[@class='myui-vodlist clearfix']/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[contains(@class, 'pic-text')]/text()", + "cateUrl": "https://gimytv.com/genre/{cateId}-{area}-{year}-{catePg}/by/{by}.html", + "cateVodNode": "//ul[@class='myui-vodlist clearfix']/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[contains(@class, 'pic-text')]/text()", + "dtUrl": "https://gimytv.com/{vid}.html", + "dtNode": "//div[@class='container']", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='data']/span[contains(text(), '分類')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//p[@class='data']/span[contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtMark": "//p[@class='data']/span[contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//p[@class='data']/span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//p[@class='data']/span[contains(text(), '導演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(@class,'col-pd')]/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='myui-panel_hd']/div/h3/text()[2]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://gimytv.com/{playUrl}.html", + "playUa": "", + "searchUrl": "https://gimytv.app/search/-------------.html?wd={wd}", + "scVodNode": "//div[@class='myui-vodlist__box']", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/(\\w+).html", + "scVodImg": "/a/@data-original", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "//span[contains(@class, 'pic-text')]/text()", + "filter": { + "movies": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "劇情片", + "v": "drama" + }, + { + "n": "動作片", + "v": "action" + }, + { + "n": "科幻片", + "v": "scifi" + }, + { + "n": "喜劇片", + "v": "comedymovie" + }, + { + "n": "愛情片", + "v": "romance" + }, + { + "n": "戰爭片", + "v": "war" + }, + { + "n": "恐怖片", + "v": "horror" + }, + { + "n": "動畫電影", + "v": "animation" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "美國", + "v": "美國" + }, + { + "n": "歐美", + "v": "歐美" + }, + { + "n": "大陸", + "v": "大陸" + }, + { + "n": "中國大陸", + "v": "中國大陸" + }, + { + "n": "韓國", + "v": "韓國" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "英國", + "v": "英國" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ], + "tvseries": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "陸劇", + "v": "cn" + }, + { + "n": "韓劇", + "v": "kr" + }, + { + "n": "美劇", + "v": "us" + }, + { + "n": "日劇", + "v": "jp" + }, + { + "n": "台劇", + "v": "tw" + }, + { + "n": "港劇", + "v": "hks" + }, + { + "n": "海外劇", + "v": "ot" + }, + { + "n": "紀錄片", + "v": "documentary" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ], + "anime": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美國", + "v": "美國" + }, + { + "n": "歐美", + "v": "歐美" + }, + { + "n": "大陸", + "v": "大陸" + }, + { + "n": "臺灣", + "v": "臺灣" + }, + { + "n": "香港", + "v": "香港" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ], + "tv_show": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "纪录片", + "v": "28" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陸", + "v": "大陸" + }, + { + "n": "中國大陸", + "v": "中國大陸" + }, + { + "n": "韓國", + "v": "韓國" + }, + { + "n": "臺灣", + "v": "臺灣" + }, + { + "n": "美國", + "v": "美國" + }, + { + "n": "歐美", + "v": "歐美" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "香港", + "v": "香港" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/剧迷影院.json b/XPath/剧迷影院.json new file mode 100644 index 0000000..0ad5ef3 --- /dev/null +++ b/XPath/剧迷影院.json @@ -0,0 +1,59 @@ +{ + "name": "GIMY影视", + "url": "https://gmtv1.xyz", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/genre/tvseries---#电影$/genre/movies---#综艺$/genre/tv_show---#动漫$/genre/anime---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#喜剧片$/genre/comedy+---#爱情片$/genre/romance---#战争片$/genre/war---#奇幻片$/genre/fantasy---#恐怖片$/genre/horror---#纪录片$/genre/documentary+---#动画电影$/genre/animation---#国产剧$/genre/cn---#韩剧$/genre/kr---#美剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/剧迷直链.json b/XPath/剧迷直链.json new file mode 100644 index 0000000..03817e5 --- /dev/null +++ b/XPath/剧迷直链.json @@ -0,0 +1,585 @@ +{ + "author": "Tangsan99999", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://gimytv.app/", + "dcVipFlag": "true", + "pCfgJs": "https://gimytv.app/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[@class='myui-header__menu']/li/a[contains(@href, 'browse')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/browse/(\\w+).html", + "cateManual": { + "电影": "movies", + "电视剧": "tvseries", + "综艺": "tv_show", + "动漫": "anime" + }, + "homeVodNode": "//ul[@class='myui-vodlist clearfix']/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodMark": "/span[contains(@class, 'pic-text')]/text()", + "cateUrl": "https://gimytv.app/genre/{cateId}-{area}-{year}-{catePg}/by/{by}.html", + "cateVodNode": "//ul[@class='myui-vodlist clearfix']/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span[contains(@class, 'pic-text')]/text()", + "dtUrl": "https://gimytv.app/{vid}.html", + "dtNode": "//div[@class='container']", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='data']/span[contains(text(), '分類')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//p[@class='data']/span[contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "", + "dtAreaR": "", + "dtMark": "//p[@class='data']/span[contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//p[@class='data']/span[contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//p[@class='data']/span[contains(text(), '導演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(@class,'col-pd')]/p/text()", + "dtDescR": "", + "dtFromNode": "//div[@class='myui-panel_hd']/div/h3/text()[2]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://gimytv.app/{playUrl}.html", + "playUa": "", + "searchUrl": "https://gimytv.app/search/-------------.html?wd={wd}", + "scVodNode": "//div[@class='myui-vodlist__box']", + "scVodName": "/a/@title", + "scVodId": "/a/@href", + "scVodIdR": "/(\\w+).html", + "scVodImg": "/a/@data-original", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "//span[contains(@class, 'pic-text')]/text()", + "filter": { + "movies": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "劇情片", + "v": "drama" + }, + { + "n": "動作片", + "v": "action" + }, + { + "n": "科幻片", + "v": "scifi" + }, + { + "n": "喜劇片", + "v": "comedymovie" + }, + { + "n": "愛情片", + "v": "romance" + }, + { + "n": "戰爭片", + "v": "war" + }, + { + "n": "恐怖片", + "v": "horror" + }, + { + "n": "動畫電影", + "v": "animation" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "美國", + "v": "美國" + }, + { + "n": "歐美", + "v": "歐美" + }, + { + "n": "大陸", + "v": "大陸" + }, + { + "n": "中國大陸", + "v": "中國大陸" + }, + { + "n": "韓國", + "v": "韓國" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "英國", + "v": "英國" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ], + "tvseries": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "陸劇", + "v": "cn" + }, + { + "n": "韓劇", + "v": "kr" + }, + { + "n": "美劇", + "v": "us" + }, + { + "n": "日劇", + "v": "jp" + }, + { + "n": "台劇", + "v": "tw" + }, + { + "n": "港劇", + "v": "hks" + }, + { + "n": "海外劇", + "v": "ot" + }, + { + "n": "紀錄片", + "v": "documentary" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ], + "anime": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美國", + "v": "美國" + }, + { + "n": "歐美", + "v": "歐美" + }, + { + "n": "大陸", + "v": "大陸" + }, + { + "n": "臺灣", + "v": "臺灣" + }, + { + "n": "香港", + "v": "香港" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ], + "tv_show": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "纪录片", + "v": "28" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陸", + "v": "大陸" + }, + { + "n": "中國大陸", + "v": "中國大陸" + }, + { + "n": "韓國", + "v": "韓國" + }, + { + "n": "臺灣", + "v": "臺灣" + }, + { + "n": "美國", + "v": "美國" + }, + { + "n": "歐美", + "v": "歐美" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "香港", + "v": "香港" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "按更新", + "v": "time" + }, + { + "n": "周人气", + "v": "hits_week" + }, + { + "n": "月人气", + "v": "hits_month" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/剧迷线上.json b/XPath/剧迷线上.json new file mode 100644 index 0000000..241f166 --- /dev/null +++ b/XPath/剧迷线上.json @@ -0,0 +1,65 @@ +{ + "name": "Gimy TV 劇迷線上看", + "url": "https://gimytv.app", + "User": "空", + "shouye": "1", + + "fenlei": "陸剧$/genre/cn---#韩剧$/genre/kr---#美剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---#纪录片$/genre/documentary---#综艺$/genre/tv_show---#日漫$/genre/anime-日本--#美漫$/genre/anime-美國--#欧漫$/genre/anime-歐美--#陸漫$/genre/anime-大陸--#台漫$/genre/anime-臺灣--#港漫$/genre/anime-香港--#韩漫$/genre/anime-韓國--#电影$/genre/movies---#动画电影$/genre/animation---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#爱情片$/genre/romance---#奇幻片$/genre/magic---#战争片$/genre/war---#恐怖片$/genre/horror---#喜剧片$/genre/comedymovie---", + "houzhui": "/by/time.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "狀態:", + "zhuangtaihou": "

    ", + "daoyanqian": "導演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/动漫岛源.json b/XPath/动漫岛源.json new file mode 100644 index 0000000..4c6c929 --- /dev/null +++ b/XPath/动漫岛源.json @@ -0,0 +1,182 @@ +//www.dm55.cc +{ + "author":"takagen99", + "ua": "", + "homeUrl": "http://www.88dmw.com", + "cateManual": { + "新番连载": "1", + "完结日漫": "3", + "热门国漫": "4", + "剧场动漫": "16" + }, + +// Home Summary ================================================ + "homeVodNode": "//div[@class='cn2_l']/div[@class='c2_contact']/div[@class='c1_l_wap_contact']/ul/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/a/img/@src", + "homeVodMark": "/p[@class='time']/font/text()", + +// Category Summary ================================================ + "cateUrl": "http://www.88dmw.com/vod-list-id-{cateId}-pg-{catePg}-order--by--class--year-{year}-letter--area--lang-.html", + "cateVodNode": "//div[@class='list3_cn_box']/div[@class='cn_box2']", + "cateVodName": "/div/div/a/@title", + "cateVodId": "/div/div/a/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/div/div/a/img/@src", + "cateVodMark": "/ul[@class='list_20']/li[2]/span/font/text()", + +// Category Details ================================================ + "dtUrl": "http://www.88dmw.com/detail/{vid}.html", + "dtNode": "//div[(@class='warp')]", + "dtName": "//div[@class='info-title']/h1/text()", + "dtImg": "//div[@class='info-box']/div[@class='o_list']/div[@class='o_big_img_bg_b']/img/@src", + "dtCate": "//div[@class='o_r_contact']/ul/li[8]/label/font[1]/text()", + "dtYear": "//div[@class='o_r_contact']/ul/li[6]/text()", + "dtArea": "//div[@class='o_r_contact']/ul/li[4]/label/text()", + "dtActor": "//div[@class='o_r_contact']/ul/li[3]/span/text()", + "dtMark": "//div[@class='o_r_contact']/ul/li[7]/label/font[1]/text()", + "dtDirector": "//div[@class='o_r_contact']/ul/li[2]/span/text()", + "dtDesc": "", + +// Playlist ===================================================== +// "dtFromNode": "//div[contains(@class,'from-tabs')]/label[contains(text(),'线路') or contains(text(),'云')]", + "dtFromNode": "//div[contains(@class,'from-tabs')]/label", + "dtFromName": "/text()", + "dtFromNameR": "", +// "dtUrlNode": "//div[contains(@class,'current-tab')]", + "dtUrlNode": "//div[contains(@class,'tabs-list')]", + "dtUrlSubNode": "/div/ul/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "http://www.88dmw.com/play/{playUrl}.html", + "playUa": "", + +// Search Results ================================================ + "searchUrl": "http://www.88dmw.com/index.php?m=vod-search-wd-{wd}", + "scVodNode": "//div[@class='list3_cn_box']/div[@class='cn_box2']", + "scVodName": "/div/div/a/@title", + "scVodId": "/div/div/a/@href", + "scVodIdR": "/detail/(\\w+).html", + "scVodImg": "/div/div/a/img/@src", + "scVodMark": "/ul[@class='list_20']/li[2]/span/font/text()", + +// Filters ======================================================= + "filter": { + "1": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "3": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "4": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ], + "16": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"} + ] + } + ] + } + +} \ No newline at end of file diff --git a/XPath/动漫巴士.json b/XPath/动漫巴士.json new file mode 100644 index 0000000..934392b --- /dev/null +++ b/XPath/动漫巴士.json @@ -0,0 +1,251 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://dm84.tv", + "cateNode": "//ul[contains(@class,'nav_row')]/li/a[contains(@href, '.html')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list-(\\d+).html", + "cateManual": {}, + "homeVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "homeVodName": "/a[@class='title']/@title", + "homeVodId": "/a[@class='title']/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "/a/@data-bg", + "homeVodMark": "/span[@class='desc']/text()", + "cateUrl": "https://dm84.tv/show-{cateId}--{by}-{catelog}--{year}-{catePg}.html", + "cateVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "cateVodName": "/a[@class='title']/@title", + "cateVodId": "/a[@class='title']/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "/a/@data-bg", + "cateVodMark": "/span[@class='desc']/text()", + "dtUrl": "https://dm84.tv/v/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[@class='v_title']/a/text()", + "dtImg": "//div[@class='cover']/img/@src", + "dtCate": "concat(//p[@class='v_desc']/a/text())", + "dtCateR": "", + "dtYear": "//p[@class='v_desc']/text()", + "dtYearR": "", + "dtArea": "//p[@class='v_desc']/text()[2]", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//p[contains(text(),'主演')]/text()", + "dtActorR": "\\S+:(\\S+)", + "dtDirector": "//p[contains(text(),'导演')]/text()", + "dtDirectorR": "\\S+:(\\S+)", + "dtDesc": "//p[contains(text(),'剧情')]/text()", + "dtDescR": "\\S+:(\\S+)", + "dtFromNode": "//ul[contains(@class,'play_from')]/li", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'play_list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "https://dm84.tv/p/{playUrl}.html", + "searchUrl": "https://dm84.tv/s----------.html?wd={wd}", + "scVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "scVodName": "/a[@class='title']/@title", + "scVodId": "/a[@class='title']/@href", + "scVodIdR": "/v/(\\w+).html", + "scVodImg": "/a/@data-bg", + "scVodMark": "/span[@class='desc']/text()", + "filter": { + "1": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "奇幻","v": "奇幻"}, + {"n": "战斗","v": "战斗"}, + {"n": "玄幻","v": "玄幻"}, + {"n": "穿越","v": "穿越"}, + {"n": "科幻","v": "科幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "热血","v": "热血"}, + {"n": "耽美","v": "耽美"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "动态漫画","v": "动态漫画"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "2": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "冒险","v": "冒险"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "战斗","v": "战斗"}, + {"n": "后宫","v": "后宫"}, + {"n": "热血","v": "热血"}, + {"n": "励志","v": "励志"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "校园","v": "校园"}, + {"n": "机战","v": "机战"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "治愈","v": "治愈"}, + {"n": "百合","v": "百合"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "泡面番","v": "泡面番"}, + {"n": "恋爱","v": "恋爱"}, + {"n": "推理","v": "推理"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "3": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "科幻","v": "科幻"}, + {"n": "冒险","v": "冒险"}, + {"n": "战斗","v": "战斗"}, + {"n": "百合","v": "百合"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "热血","v": "热血"}, + {"n": "搞笑","v": "搞笑"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ], + "4": [ + { + "key": "catelog", + "name": "类型", + "value": [ + {"n": "全部","v": ""}, + {"n": "搞笑","v": "搞笑"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "治愈","v": "治愈"}, + {"n": "科幻","v": "科幻"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "冒险","v": "冒险"}, + {"n": "动作","v": "动作"}, + {"n": "爱情","v": "爱情"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"} + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "时间","v": "time"}, + {"n": "人气","v": "hits"}, + {"n": "评分","v": "score"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/动漫直链.json b/XPath/动漫直链.json new file mode 100644 index 0000000..01b459a --- /dev/null +++ b/XPath/动漫直链.json @@ -0,0 +1,41 @@ +{ + "ua": "", + "homeUrl": "https://dm84.tv", + "cateNode": "//ul[contains(@class,'nav_row')]/li/a[contains(@href, '.html')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list-(\\d+).html", + "cateManual": {}, + "homeVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "homeVodName": "/a[@class='title']/@title", + "homeVodId": "/a[@class='title']/@href", + "homeVodIdR": "/v/(\\w+).html", + "homeVodImg": "/a/@data-bg", + "homeVodMark": "/span[@class='desc']/text()", + "cateUrl": "https://dm84.tv/list-{cateId}-{catePg}.html", + "cateVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "cateVodName": "/a[@class='title']/@title", + "cateVodId": "/a[@class='title']/@href", + "cateVodIdR": "/v/(\\w+).html", + "cateVodImg": "/a/@data-bg", + "cateVodMark": "/span[@class='desc']/text()", + "dtUrl": "https://dm84.tv/v/{vid}.html", + "dtNode": "//div[contains(@class,'v_content')]", + "dtName": "/parent::*/h1[@class='v_title']/a/text()", + "dtImg": "/div[@class='cover']/img/@src", + "dtFromNode": "//ul[contains(@class,'play_from')]/li", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class,'play_list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/p/(\\S+).html", + "dtUrlName": "/text()", + "playUrl": "https://dm84.tv/p/{playUrl}.html", + "searchUrl": "https://dm84.tv/s----------.html?wd={wd}", + "scVodNode": "//ul[@class='v_list']/li/div[@class='item']", + "scVodName": "/a[@class='title']/@title", + "scVodId": "/a[@class='title']/@href", + "scVodIdR": "/v/(\\w+).html", + "scVodImg": "/a/@data-bg", + "scVodMark": "/span[@class='desc']/text()" +} \ No newline at end of file diff --git a/XPath/北川影视.json b/XPath/北川影视.json new file mode 100644 index 0000000..20c2446 --- /dev/null +++ b/XPath/北川影视.json @@ -0,0 +1,59 @@ +{ + "name": "北川影视", + "url": "https://www.bcwzg.com", + "User": "Referer:https://j.bcyingshi.ink/", + "shouye": "1", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"loading\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-itemvideo-info-contentvod_content\">", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/厂长直链.json b/XPath/厂长直链.json new file mode 100644 index 0000000..64e207d --- /dev/null +++ b/XPath/厂长直链.json @@ -0,0 +1,82 @@ +{ + "ua": "", + "homeUrl": "https://www.czspp.com", + "cateNode": "//ul[@class='navlist hidden-md-and-down']/li[contains(@id,'menu-item') and not (contains(@id,'33'))]/a", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "(\\w+)", + "cateManual": { + "本月热门":"benyueremen", + "高分影视":"gaofenyingshi", + "豆瓣电影TOP250": "dbtop250", + "最新电影": "zuixindianying", + "电视剧": "dsj", + "国产剧": "gcj", + "美剧": "meijutt", + "韩剧": "hanjutv", + "日剧":"movie_bt_series/rj", + "海外剧": "movie_bt_series/hwj", + "番剧": "fanju", + "动漫": "dm", + "韩国电影":"movie_bt_series/hanguodianying", + "纪录片":"movie_bt/movie_bt_tags/jlpp" + }, + + "homeVodNode": "//div[contains(@class,'bt_img mi_ne_kd')]/ul/li/a", + "homeVodName": "/following-sibling::h3/a/text()", + "homeVodId": "/@href", + "homeVodIdR": "/movie/(\\w+).html", + "homeVodImg": "/img/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div/span/text()", + + "cateUrl": "https://www.czspp.com/{cateId}/page/{catePg}", + "cateVodNode": "//div[@class='bt_img mi_ne_kd mrb']/ul/li/a", + "cateVodName": "/following-sibling::h3/a/text()", + "cateVodId": "/@href", + "cateVodIdR": "/movie/(\\w+).html", + "cateVodImg": "/img/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div/span/text()", + + "dtUrl": "https://www.czspp.com/movie/{vid}.html", + "dtNode": "//div[@class='mi_ne_kd dypre']", + "dtName": "/div[@class='dytext fl']/div/h1/text()", + "dtNameR": "/movie/(\\w+).html", + "dtImg": "/div[@class='dyimg fl']/img/@src", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "/div[@class='dytext fl']/ul/li[contains(text(),'类型')]/a/text()", + "dtCateR": "", + "dtYear": "/div[@class='dytext fl']/ul/li[contains(text(),'年份')]/a/text()", + "dtYearR": "", + "dtArea": "/div[@class='dytext fl']/ul/li[contains(text(),'地区')]/a/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "/div[@class='dytext fl']/ul/li[contains(text(),'主演')]/a/text()", + "dtActorR": "", + "dtDirector": "/div[@class='dytext fl']/ul/li[contains(text(),'导演')/a/text()", + "dtDirectorR": "", + "dtDesc": "", + "dtDescR": "", + + "dtFromNode": "//div[@class='mi_paly_box']/div[@class='mi_ne_kd']", + "dtFromName": "/div[@class='ypxingq_t']/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='paly_list_btn']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/v_play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.czspp.com/v_play/{playUrl}.html", + "playUa": "", + + "searchUrl": "https://www.czspp.com/xssearch?q={wd}", + "scVodNode": "//div[@class='bt_img mi_ne_kd search_list']/ul/li/a", + "scVodName": "/img/@alt", + "scVodId": "/@href", + "scVodIdR": "/movie/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/div[@class='jidi']/span/text()" +} \ No newline at end of file diff --git a/XPath/厂长资源.json b/XPath/厂长资源.json new file mode 100644 index 0000000..4417a84 --- /dev/null +++ b/XPath/厂长资源.json @@ -0,0 +1,61 @@ +{ + "name": "厂长资源-蓝光", + "url": "https://qianoo.cn", + "tihuan": "aliyundrive", + "User": "空", + "shouye": "1", + //"fenlei": "电视剧$/dsj/page/#电影$/zuixindianying/page/#番剧$/fanju/page/#动漫$/dm/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/", + "fenlei": "本月热门$/benyueremen/page/#高分影视$/gaofenyingshi/page/#豆瓣电影TOP250$/dbtop250/page/#最新电影$/zuixindianying/page/#电视剧$/dsj/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/#日剧$/movie_bt_series/rj/page/#海外剧$/movie_bt_series/hwj/page/#番剧$/fanju/page/#动漫$/dm/page/#韩国电影$/movie_bt_series/hanguodianying/page/#纪录片$/movie_bt/movie_bt_tags/jlpp/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "qianoo.cn", + "lianjiehou": "\"", + "sousuoqian": "/xssearch?q=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
  • ", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "qianoo.cn", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"paly_list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "
  • 导演:", + "daoyanhou": "
  • ", + "zhuyanqian": "
  • 主演:", + "zhuyanhou": "
  • ", + "juqingqian": "class=\"yp_context\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "qianoo.cn", + "bflianjiehou": "\"" +} diff --git a/XPath/去看动漫.json b/XPath/去看动漫.json new file mode 100644 index 0000000..1b15760 --- /dev/null +++ b/XPath/去看动漫.json @@ -0,0 +1,68 @@ +{ + "author":"20220605", + "name": "去看吧", + "url": "https://qkan8.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "高清原碟$/index.php/vod/show/id/33/page/#日漫$/index.php/vod/show/id/21/page/#女頻$/index.php/vod/show/id/50/page/#劇場$/index.php/vod/show/id/24/page/#国漫$/index.php/vod/show/id/51/page/#美漫$/index.php/vod/show/id/22/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"fed-list-pics", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": ".html\">", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"fed-play-item", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "fed-text-center\">", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "声优:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "1", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "class=\"fed-part-rows\">", //不需要二次截取就填空 + "bfyjiequhou": "", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 diff --git a/XPath/双十电影.json b/XPath/双十电影.json new file mode 100644 index 0000000..2540e1a --- /dev/null +++ b/XPath/双十电影.json @@ -0,0 +1,60 @@ +{ + "name": "双十电影", + "url": "https://www.1010dy.vip/", + "tihuan": "", + "User": "空", + "shouye": "1", + //"fenlei": "电影$/type/1-#电视剧$/type/2-#动漫$/type/3-#综艺$/type/4-", + "fenlei": "电影$/show/1/page/#陆剧$/show/2/area/大陆/page/#韩剧$/show/2/area/韩国/page/#港剧$/show/2/area/香港/page/#台剧$/show/2/area/台湾/page/#日剧$/show/2/area/日本/page/#美剧$/show/2/area/美国/page/#泰剧$/show/2/area/泰国/page/#英剧$/show/2/area/英国/page/#新加坡剧$/show/2/area/新加坡/page/#其他剧$/show/2/area/其他/page/#大陆动漫$/show/3/area/大陆/page/#日本动漫$/show/3/area/日本/page/#欧美动漫$/show/3/area/欧美/page/#综艺$/show/4/page/#喜剧片$/show/1/class/喜剧/page/#爱情片$/show/1/class/爱情/page/#恐怖片$/show/1/class/恐怖/page/#动作片$/show/1/class/动作/page/#科幻片$/show/1/class/科幻/page/#剧情片$/show/1/class/剧情/page/#战争片$/show/1/class/战争/page/#犯罪片$/show/1/class/犯罪/page/#灾难片$/show/1/class/灾难/page/#奇幻片$/show/1/class/奇幻/page/#悬疑片$/show/1/class/悬疑/page/#惊悚片$/show/1/class/惊悚/page/#冒险片$/show/1/class/冒险/page/", + //"houzhui": ".html", + "houzhui": "/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"stui-vodlist__box", + "ssjiequshuzuhou": "", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"btn btn-primary\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态: text-right", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "juqingqian": "简介", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/口袋影院.json b/XPath/口袋影院.json new file mode 100644 index 0000000..0fdf16b --- /dev/null +++ b/XPath/口袋影院.json @@ -0,0 +1,59 @@ +{ + "name": "口袋影院", + "url": "http://www.koudaitv.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#美剧$/type/15-1--------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/嗨影库.json b/XPath/嗨影库.json new file mode 100644 index 0000000..2169ff1 --- /dev/null +++ b/XPath/嗨影库.json @@ -0,0 +1,62 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "https://www.hyingku.com/", + "cateNode": "//ul[contains(@class,'navbar-nav')]/li/a[contains(@href, '.html') and not(contains(@href, '6'))]", + "cateName": "/text()", + "cateNameR": "热门(.+)", + "cateId": "/@href", + "cateIdR": "/type/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='col-md-12 movie-item-out']//a[not(contains(@href, '6'))]/parent::*/parent::*/parent::*/div[contains(@class, 'movie-item-out') and position()<10]/div[@class='movie-item']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/img/@src", + "homeVodMark": "/button/text()", + "cateUrl": "https://www.hyingku.com//type/{cateId}/{catePg}.html", + "cateVodNode": "//div[@class='movie-item']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/img/@src", + "cateVodMark": "/button/text()", + "dtUrl": "https://www.hyingku.com//show/{vid}.html", + "dtNode": "//div[@class='container-fluid']", + "dtName": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@alt", + "dtNameR": "", + "dtImg": "//div[@class='col-md-9']//div[@class='col-md-4']//img/@src", + "dtImgR": "", + "dtCate": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '类型')]/parent::*/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '日期')]/parent::*/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '国家')]/parent::*/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '状态')]/parent::*/following-sibling::*/text()", + "dtMarkR": "", + "dtActor": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '主演')]/parent::*/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='col-md-8']//span[@class='info-label' and contains(text(), '导演')]/parent::*/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//p[@class='summary']/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'resource-list')]/div[@class='panel-heading']/strong", + "dtFromName": "/text()", + "dtFromNameR": "\\S+\\.(\\S+) \\(", + "dtUrlNode": "//div[contains(@class,'resource-list')]/ul[@class='dslist-group']", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.hyingku.com//play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.40mdd.com/search?wd={wd}", + "scVodNode": "//div[@class='movie-item']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/img/@src", + "scVodMark": "/button/text()" +} diff --git a/XPath/四看电影.json b/XPath/四看电影.json new file mode 100644 index 0000000..a2265ba --- /dev/null +++ b/XPath/四看电影.json @@ -0,0 +1,59 @@ +{ + "name": "4kan电影网", + "url": "https://www.4kan.cc/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13-内地-------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#港台剧$/vodshow/13-香港-------#台剧$/vodshow/13-台湾-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "style=\"bottom:0;backgroud-color:white;border-radius:0 10px 0 10px;\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/在线之家.json b/XPath/在线之家.json new file mode 100644 index 0000000..303ebb6 --- /dev/null +++ b/XPath/在线之家.json @@ -0,0 +1,329 @@ +{ + "ua": "", + "homeUrl": "https://www.zxzjtv.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.zxzjtv.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'list')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\d+).html", + "cateManual":{}, + "homeVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/detail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.zxzjtv.com/vodshow/{cateId}-{area}-{by}--{lang}----{catePg}---{year}.html", + "cateVodNode": "//a[contains(@class,'stui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/detail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.zxzjtv.com/detail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a[contains(@class,'pic')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a[contains(@class,'pic')]/img/@data-original", + "dtImgR": "(http\\S+)", + "dtCate": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '类型')]/following-sibling::*/text()", + "dtCateR": "", + "dtArea": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtYear": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtActor": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtMark": "//div[@class='stui-content__detail']//p[contains(@class,'data') and contains(text(), '更新')]/following-sibling::*/text()", + "dtMarkR": "", + "dtDesc": "//span[@class='detail-sketch']/text()", + "dtDescR": "", + "dtFromNode":"//div[@class='stui-vodlist__head']/h3[contains(text(),'播放')]", + "dtFromName": "/text()", + "dtUrlNode": "//ul[contains(@class, 'stui-content__playlist clearfix')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/video/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.zxzjtv.com/video/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.zxzjtv.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "冒险","v": "冒险"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "大陆","v": "大陆"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "欧美","v": "欧美"}, + {"n": "韩国","v": "韩国"}, + {"n": "日本","v": "日本"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "俄罗斯","v": "俄罗斯"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"}, + {"n": "2007","v": "2007"}, + {"n": "2006","v": "2006"}, + {"n": "2005","v": "2005"}, + {"n": "2004","v": "2004"}, + {"n": "2003","v": "2003"}, + {"n": "2002","v": "2002"}, + {"n": "2001","v": "2001"}, + {"n": "2000","v": "2000"} + ] + } + ], + "2": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "3": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "4": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "剧情","v": "剧情"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "动作","v": "动作"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "科幻","v": "科幻"}, + {"n": "音乐","v": "音乐"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "5": [ + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ], + "6": [ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"} + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "国产","v": "国产"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"} + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/在线电影.json b/XPath/在线电影.json new file mode 100644 index 0000000..7e431a5 --- /dev/null +++ b/XPath/在线电影.json @@ -0,0 +1,81 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.zaixiandianying8.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.zaixiandianying8.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "蓝光": "37", + "电影": "1", + "连续剧": "2", + "动漫": "4", + "国产剧": "13", + "港台剧": "14", + "日韩剧": "15", + "欧美剧": "16", + "动作片": "6", + "喜剧片": "7", + "爱情片": "8", + "科幻片": "9", + "恐怖片": "10", + "灾难片": "21", + "悬疑片": "25", + "剧情片": "11", + "战争片": "12", + "纪录片": "20" + }, + "homeVodNode": " //ul[@class='myui-vodlist clearfix']//div[@class='myui-vodlist__box']/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/\\w+/(\\w+)\\S*.html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.zaixiandianying8.com/vodshow/{cateId}--------{catePg}---.html", + "cateVodNode": "//ul[@class='myui-vodlist clearfix']//div[@class='myui-vodlist__box']/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+)\\S*.html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.zaixiandianying8.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='myui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '分类')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[@class='sketch content']/text()", + "dtDescR": "", + "dtFromNode": "//ul[contains(@class,'nav-tabs')]/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//ul[contains(@class,'myui-content__list')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.zaixiandianying8.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.zaixiandianying8.com/vodsearch/-------------.html?wd={wd}&submit=", + "scVodNode": "//ul[@id='searchList']//div[@class='thumb']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/voddetail/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "/span[@class='pic-text text-right']/text()" +} \ No newline at end of file diff --git a/XPath/在线直链.json b/XPath/在线直链.json new file mode 100644 index 0000000..41fc88e --- /dev/null +++ b/XPath/在线直链.json @@ -0,0 +1,59 @@ +{ + "name": "在线之家", + "url": "https://www.zxzjtv.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/list/1-#美剧$/list/2-#韩剧$/list/3-#日剧$/list/4-#泰剧$/list/5-#动漫$/list/6-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data \">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/城市电影.json b/XPath/城市电影.json new file mode 100644 index 0000000..8e1d3c2 --- /dev/null +++ b/XPath/城市电影.json @@ -0,0 +1,59 @@ +{ + "name": "city电影", + "url": "https://www.citydy.com/", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/show/id-1/page/#电视剧$/show/id-2/page/#日剧$/show/id-2/area/日本/page/#泰剧$/show/id-2/area/泰国/page/#韩剧$/show/id-2/area/韩国/page/#美剧$/show/id-2/area/美国/page/#英剧$/show/id-2/area/英国/page/#综艺$/type/id-3-#动漫$/type/id-4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-sm-6 col-xs-3 hide-actor", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/id-", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"play-div-oa", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/大米星球.json b/XPath/大米星球.json new file mode 100644 index 0000000..0344295 --- /dev/null +++ b/XPath/大米星球.json @@ -0,0 +1,68 @@ +{ + "author": "20220612", + "name": "大米星球", + "url": "https://www.dmxq.fun", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vodshow/20--------#电视剧$/vodshow/21--------#动漫$/vodshow/22--------#综艺$/vodshow/23--------#Netflix(剧)$/vodshow/21---Netflix-----#国产剧$/vodshow/21-大陆-------#韩国剧$/vodshow/21-韩国-------#美国剧$/vodshow/21-美国-------#英国剧$/vodshow/21-英国-------#泰国剧$/vodshow/21-泰国-------#日本剧$/vodshow/21-日本-------#香港剧$/vodshow/21-香港-------#台湾剧$/vodshow/21-台湾-------#Netflix(片)$/vodshow/20---Netflix-----#仙侠片$/vodshow/20---仙侠-----#剧情片$/vodshow/20---剧情-----#科幻片$/vodshow/20---科幻-----#动作片$/vodshow/20---动作-----#喜剧片$/vodshow/20---喜剧-----#爱情片$/vodshow/20---爱情-----#冒险片$/vodshow/20---冒险-----#儿童片$/vodshow/20---儿童-----#歌舞片$/vodshow/20---歌舞-----#音乐片$/vodshow/20---音乐-----#奇幻片$/vodshow/20---奇幻-----#动画片$/vodshow/20---动画-----#恐怖片$/vodshow/20---恐怖-----#惊悚片$/vodshow/20---惊悚-----#战争片$/vodshow/20---战争-----#传记片$/vodshow/20---传记-----#纪录片$/vodshow/20---纪录-----#犯罪片$/vodshow/20---犯罪-----#悬疑片$/vodshow/20---悬疑-----#西部片$/vodshow/20---西部-----#灾难片$/vodshow/20---灾难-----#古装片$/vodshow/20---古装-----#武侠片$/vodshow/20---武侠-----#家庭片$/vodshow/20---家庭-----#短片$/vodshow/20---短片-----#运动片$/vodshow/20---运动-----#青春片$/vodshow/20---青春-----#同性片$/vodshow/20---同性-----#励志片$/vodshow/20---励志-----#历史片$/vodshow/20---历史-----", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + "jiequhou": "class=\"fixedGroup", //不需要二次截取就填空 + "jiequshuzuqian": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "备注:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "n-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"sketch content hide\"> ", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/天空资源.json b/XPath/天空资源.json new file mode 100644 index 0000000..2bf614c --- /dev/null +++ b/XPath/天空资源.json @@ -0,0 +1,59 @@ +{ + "name": "天空资源", + "url": "https://www.tkys.tv", + "tihuan": "cnzz.com", + "shouye": "1", + "fenlei": "电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodshow/area/内地/id/2/page/#港剧$/vodshow/area/香港/id/2/page/#韩剧$/vodshow/area/韩国/id/2/page/#美剧$/vodshow/area/美国/id/2/page/#泰剧$/vodshow/area/泰国/id/2/page/#日剧$/vodshow/area/日本/id/2/page/#台剧$/vodshow/area/台湾/id/2/page/#英剧$/vodshow/area/英国/id/2/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-8", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/奇优影院.json b/XPath/奇优影院.json new file mode 100644 index 0000000..f3c6c8a --- /dev/null +++ b/XPath/奇优影院.json @@ -0,0 +1,60 @@ +{ + "name": "奇优影院(不支持搜)", + "url": "http://1e6e.com", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + //"fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#伦理$/list/6_", + "fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "&limit=500;post;utf-8", + "sousuohouzhui": "/view/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/奈飞中文.json b/XPath/奈飞中文.json new file mode 100644 index 0000000..21229b1 --- /dev/null +++ b/XPath/奈飞中文.json @@ -0,0 +1,555 @@ +{ + "author":"20220522", + "ua": "", + "homeUrl": "https://www.naifei.org/", + "dcPlayUrl": "true", + "cateManual": { + "电影": "dy", + "剧集": "juji", + "综艺": "zongyi", + "动漫": "dongman", + "纪录片": "jilupian" + }, + "homeVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "homeVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "homeVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div[contains(@class,'module-item-text')]/text()", + + "cateUrl": "https://www.naifei.org/vodshow/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/year/{year}/page/{catePg}.html", + "cateVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "cateVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "cateVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div[contains(@class,'module-item-text')]/text()", + + "dtUrl": "https://www.naifei.org/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'video-info-header')]/h1[@class='page-title']/a/text()", + "dtNameR": "", + "dtImg": "//div[@class=('module-item-pic')]/img/@src", + "dtImgR": "(http\\S+)", + "dtCate": "//div[contains(@class,'tag-link')]/a/text()", + "dtCateR": "", + "dtYear": "//a[@class='tag-link'][2]/text()", + "dtArea": "//a[@class='tag-link'][3]/text()", + "dtAreaR": "", + "dtDesc": "//span[contains(text(), '剧情')]/parent::*/div/span/text()", + "dtDescR": "", + "dtActor": "concat(//span[contains(text(), '主演')]/parent::*/div/a/text())", + "dtActorR": "", + "dtDirector": "concat(//span[contains(text(), '导演')]/parent::*/div/a/text())", + "dtDirectorR": "", + + "dtFromNode": "//div[contains(@class,'module-tab-items')]/div[2]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'module-tab-content')]//div[contains(@class,'sort-item')]", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://www.naifei.org/vodplay/{playUrl}.html", + "playUa": "", + + "searchUrl": "https://www.naifei.org/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + + "filter":{ + "dy":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": "1"}, + {"n": "动作片","v": "dongzuopian"}, + {"n": "喜剧片","v": "xijupian"}, + {"n": "爱情片","v": "aiqingpian"}, + {"n": "犯罪片","v": "fanzuipian"}, + {"n": "恐怖片","v": "kongbupian"}, + {"n": "惊悚片","v": "jingsongpian"}, + {"n": "悬疑片","v": "xuanyipian"}, + {"n": "奇幻片","v": "qihuanpian"}, + {"n": "魔幻片","v": "mehuanpian"}, + {"n": "剧情片","v": "juqingpian"}, + {"n": "动画片","v": "donghuapian"}, + {"n": "战争片","v": "zhanzhengpian"}, + {"n": "科幻片","v": "kehuanpian"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "喜剧","v": "喜剧"}, + {"n": "爱情","v": "爱情"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "动作","v": "动作"}, + {"n": "科幻","v": "科幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "战争","v": "战争"}, + {"n": "警匪","v": "警匪"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动画","v": "动画"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "武侠","v": "武侠"}, + {"n": "冒险","v": "冒险"}, + {"n": "枪战","v": "枪战"}, + {"n": "恐怖","v": "恐怖"}, + {"n": "悬疑","v": "悬疑"}, + {"n": "惊悚","v": "惊悚"}, + {"n": "经典","v": "经典"}, + {"n": "青春","v": "青春"}, + {"n": "文艺","v": "文艺"}, + {"n": "微电影","v": "微电影"}, + {"n": "古装","v": "古装"}, + {"n": "历史","v": "历史"}, + {"n": "运动","v": "运动"}, + {"n": "农村","v": "农村"}, + {"n": "儿童","v": "儿童"}, + {"n": "网络电影","v": "网络电影"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "韩国","v": "韩国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "普通话","v": "普通话"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其它","v": "其它"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + + "juji":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "国产剧","v": "guochanju"}, + {"n": "香港剧","v": "xianggangju"}, + {"n": "台湾剧","v": "taiwanju"}, + {"n": "欧美剧","v": "oumeiju"}, + {"n": "英伦剧","v": "yinglunju"}, + {"n": "日本剧","v": "ribenju"}, + {"n": "韩国剧","v": "hanguoju"}, + {"n": "东南亚","v": "dongnanya"}, + {"n": "其他剧","v": "qitaju"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "爱情","v": "爱情"}, + {"n": "古装","v": "古装"}, + {"n": "战争","v": "战争"}, + {"n": "青春","v": "青春"}, + {"n": "偶像","v": "偶像"}, + {"n": "喜剧","v": "喜剧"}, + {"n": "家庭","v": "家庭"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "动作","v": "动作"}, + {"n": "奇幻","v": "奇幻"}, + {"n": "剧情","v": "剧情"}, + {"n": "历史","v": "历史"}, + {"n": "经典","v": "经典"}, + {"n": "乡村","v": "乡村"}, + {"n": "情景","v": "情景"}, + {"n": "商战","v": "商战"}, + {"n": "犯罪","v": "犯罪"}, + {"n": "网剧","v": "网剧"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "韩国","v": "韩国"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "美国","v": "美国"}, + {"n": "泰国","v": "泰国"}, + {"n": "英国","v": "英国"}, + {"n": "新加坡","v": "新加坡"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "zongyi":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "大陆综艺","v": "daluzongyi"}, + {"n": "港台综艺","v": "gangtaizongyi"}, + {"n": "日韩综艺","v": "rihanzongyi"}, + {"n": "欧美综艺","v": "oumeizongyi"}, + {"n": "其他综艺","v": "qitazongyi"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "选秀","v": "选秀"}, + {"n": "情感","v": "情感"}, + {"n": "访谈","v": "访谈"}, + {"n": "播报","v": "播报"}, + {"n": "旅游","v": "旅游"}, + {"n": "音乐","v": "音乐"}, + {"n": "美食","v": "美食"}, + {"n": "纪实","v": "奇幻"}, + {"n": "曲艺","v": "曲艺"}, + {"n": "生活","v": "生活"}, + {"n": "游戏互动","v": "游戏互动"}, + {"n": "财经","v": "财经"}, + {"n": "求职","v": "求职"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "港台","v": "港台"}, + {"n": "台湾","v": "台湾"}, + {"n": "日本","v": "日本"}, + {"n": "韩国","v": "韩国"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "普通话","v": "普通话"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其它","v": "其它"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "dongman":[ + { + "key": "cateId", + "name": "类型", + "value": [ + {"n": "全部类型","v": ""}, + {"n": "国产动漫","v": "guochandongman"}, + {"n": "日韩动漫","v": "rihandongman"}, + {"n": "欧美动漫","v": "oumeidongman"}, + {"n": "其他动漫","v": "qitadongman"} + ]}, + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "情感","v": "情感"}, + {"n": "科幻","v": "科幻"}, + {"n": "热血","v": "热血"}, + {"n": "推理","v": "推理"}, + {"n": "搞笑","v": "搞笑"}, + {"n": "冒险","v": "冒险"}, + {"n": "萝莉","v": "萝莉"}, + {"n": "校园","v": "校园"}, + {"n": "动作","v": "动作"}, + {"n": "机战","v": "机战"}, + {"n": "运动","v": "运动"}, + {"n": "战争","v": "战争"}, + {"n": "少年","v": "少年"}, + {"n": "少女","v": "少女"}, + {"n": "社会","v": "社会"}, + {"n": "原创","v": "原创"}, + {"n": "亲子","v": "亲子"}, + {"n": "益智","v": "益智"}, + {"n": "励志","v": "励志"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "日本","v": "日本"}, + {"n": "欧美","v": "欧美"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "国语","v": "国语"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "其它","v": "其它"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ], + "jilupian":[ + { + "key": "class", + "name": "剧情", + "value": [ + {"n": "全部剧情","v": ""}, + {"n": "人物","v": "人物"}, + {"n": "军事","v": "军事"}, + {"n": "历史","v": "历史"}, + {"n": "文化","v": "文化"}, + {"n": "探索","v": "探索"}, + {"n": "科技","v": "科技"}, + {"n": "自然","v": "自然"}, + {"n": "解密","v": "解密"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "area", + "name": "地区", + "value": [ + {"n": "全部","v": ""}, + {"n": "内地","v": "内地"}, + {"n": "香港","v": "香港"}, + {"n": "台湾","v": "台湾"}, + {"n": "美国","v": "美国"}, + {"n": "韩国","v": "韩国"}, + {"n": "法国","v": "法国"}, + {"n": "英国","v": "英国"}, + {"n": "日本","v": "日本"}, + {"n": "德国","v": "德国"}, + {"n": "泰国","v": "泰国"}, + {"n": "印度","v": "印度"}, + {"n": "意大利","v": "意大利"}, + {"n": "西班牙","v": "西班牙"}, + {"n": "加拿大","v": "加拿大"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "lang", + "name": "语言", + "value": [ + {"n": "全部","v": ""}, + {"n": "普通话","v": "普通话"}, + {"n": "英语","v": "英语"}, + {"n": "粤语","v": "粤语"}, + {"n": "闽南语","v": "闽南语"}, + {"n": "韩语","v": "韩语"}, + {"n": "日语","v": "日语"}, + {"n": "法语","v": "法语"}, + {"n": "德语","v": "德语"}, + {"n": "其他","v": "其他"} + ]}, + { + "key": "year", + "name": "年份", + "value": [ + {"n": "全部","v": ""}, + {"n": "2022","v": "2022"}, + {"n": "2021","v": "2021"}, + {"n": "2020","v": "2020"}, + {"n": "2019","v": "2019"}, + {"n": "2018","v": "2018"}, + {"n": "2017","v": "2017"}, + {"n": "2016","v": "2016"}, + {"n": "2015","v": "2015"}, + {"n": "2014","v": "2014"}, + {"n": "2013","v": "2013"}, + {"n": "2012","v": "2012"}, + {"n": "2011","v": "2011"}, + {"n": "2010","v": "2010"}, + {"n": "2009","v": "2009"}, + {"n": "2008","v": "2008"} + ]}, + { + "key": "by", + "name": "排序", + "value": [ + {"n": "全部","v": ""}, + {"n": "时间排序","v": "time"}, + {"n": "人气排序","v": "hits"}, + {"n": "评分排序","v": "score"} + ]} + ] + } + } \ No newline at end of file diff --git a/XPath/完美看看.json b/XPath/完美看看.json new file mode 100644 index 0000000..baf0c51 --- /dev/null +++ b/XPath/完美看看.json @@ -0,0 +1,60 @@ +{ + "name": "完美看看影视", + "url": "https://www.wanmeikk.me/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/category/1-#国产剧$/category/5-#欧美剧$/category/2-#韩剧$/category/3-#动漫$/category/6-#泰剧$/category/9-#纪录片$/category/10-", //列表的分类 + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "class=\"stui-vodlist__box stui-vodlist__bg", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/play/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-pannel_bd col-pd clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"data\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/完美看看修复.json b/XPath/完美看看修复.json new file mode 100644 index 0000000..03d678c --- /dev/null +++ b/XPath/完美看看修复.json @@ -0,0 +1,71 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "http://www.wanmeikk.me/", + "dcVipFlag": "true", + "pCfgJs": "http://www.wanmeikk.me/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "欧美剧": "2", + "韩剧": "3", + "日剧": "4", + "国产剧": "5", + "泰剧": "9", + "动漫": "6", + "纪录片": "10" + }, + "homeVodNode": "//li[contains(@class,'col-md-6 col-sm-4') or contains(@class,'col-lg-6 col-md-4')]//div[contains(@class,'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/project/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span[@class='pic-text text-right']/text()", + "cateUrl": "https://www.wanmeikk.me/category/{cateId}-{catePg}.html", + "cateVodNode": "//div[contains(@class,'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/project/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "", + "cateVodMark": "/span[@class='pic-text text-right']/text()", + "dtUrl": "https://www.wanmeikk.me/project/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='stui-content__thumb']/a/@title", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "", + "dtCate": "//span[contains(text(), '类型')]/following-sibling::a/text()", + "dtCateR": "", + "dtYear": "//span[contains(text(), '年份')]/following-sibling::a/text()>", + "dtYearR": "", + "dtArea": "//span[contains(text(), '地区')]/following-sibling::a/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '剧情')]/following-sibling::/span[2]/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'bottom-line')]/h3", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//div[contains(@class,'bottom-line')]/h3) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//div[@class='stui-pannel_bd col-pd clearfix']/ul", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.wanmeikk.me/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.wanmeikk.me/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/小强影迷.json b/XPath/小强影迷.json new file mode 100644 index 0000000..6c4d12b --- /dev/null +++ b/XPath/小强影迷.json @@ -0,0 +1,59 @@ +{ + "name": "小强迷", + "url": "http://xqmi.top", + "User": "空", + "shouye": "1", + "fenlei": "动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "
  • ", + "tupianqian": "data-original=\"", + "tupianhou": "\">", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "
      ", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/小熊影视.json b/XPath/小熊影视.json new file mode 100644 index 0000000..427bedd --- /dev/null +++ b/XPath/小熊影视.json @@ -0,0 +1,577 @@ +{ + "ua": "20220527", + "homeUrl": "http://www.xxys520.com", + "dcVipFlag": "true", + "pCfgJs": "http://www.xxys520.com/static/js/playerconfig.js", + "pCfgJsR": "MacPlayerConfig.player_list=([\\w\\W]*?),MacPlayerConfig.downer_list=", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateManual": { + "电影": "1", + "连续剧": "2", + "动漫": "3", + "综艺": "4", + "纪录片": "5" + }, + "homeVodNode": "//div[@class='module-item']", + "homeVodName": "//div[@class='module-item-titlebox']/a/text()", + "homeVodId": "//div[@class='module-item-titlebox']/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "//img/@data-src", + "homeVodImgR": "", + "homeVodMark": "//div[@class='module-item-text']/text()", + "cateUrl": "http://www.xxys520.com/vodshow/{cateId}-{area}-{by}---{letter}---{catePg}---{year}.html", + "cateVodNode": "//div[@class='module-item']", + "cateVodName": "//div[@class='module-item-titlebox']/a/text()", + "cateVodId": "//div[@class='module-item-titlebox']/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "//img/@data-src", + "cateVodImgR": "", + "cateVodMark": "//div[@class='module-item-text']/text()", + "dtUrl": "http://www.xxys520.com/voddetail/{vid}.html", + "dtNode": "//main[@id='main']", + "dtName": "//h1[@class='page-title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='video-cover']//img/@data-src", + "dtImgR": "", + "dtCate": "//div[@class='tag-link']/a/text()", + "dtCateR": "", + "dtYear": "//a[2][@class='tag-link']/text()", + "dtYearR": "", + "dtArea": "//a[3][@class='tag-link']/text()", + "dtAreaR": "", + "dtDirector": "//span[contains(text(), '导演')]/following-sibling::div/a/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(text(), '主演')]/following-sibling::div/a/text()", + "dtActorR": "", + "dtDesc": "//span[contains(text(), '剧情')]/following-sibling::div/span/text()", + "dtDescR": "", + "dtFromNode": "//div[contains(@class,'module-tab-content')]/div/span", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='module-blocklist']/div", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "http://www.xxys520.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.xxys520.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "name": "分类", + "key": "cateId", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "动作片", "v": "6" }, + { "n": "喜剧片", "v": "7" }, + { "n": "爱情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "剧情片", "v": "11" }, + { "n": "战争片", "v": "12" }, + { "n": "惊悚片", "v": "20" }, + { "n": "犯罪片", "v": "21" }, + { "n": "冒险片", "v": "22" }, + { "n": "悬疑片", "v": "23" }, + { "n": "动画片", "v": "24" }, + { "n": "武侠片", "v": "25" }, + { "n": "奇幻片", "v": "26" }, + { "n": "古装片", "v": "27" } + ] + }, + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "爱情", "v": "爱情" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "动作", "v": "动作" }, + { "n": "科幻", "v": "科幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "战争", "v": "战争" }, + { "n": "警匪", "v": "警匪" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动画", "v": "动画" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "武侠", "v": "武侠" }, + { "n": "冒险", "v": "冒险" }, + { "n": "枪战", "v": "枪战" }, + { "n": "恐怖", "v": "恐怖" }, + { "n": "悬疑", "v": "悬疑" }, + { "n": "惊悚", "v": "惊悚" }, + { "n": "经典", "v": "经典" }, + { "n": "青春", "v": "青春" }, + { "n": "文艺", "v": "文艺" }, + { "n": "微电影", "v": "微电影" }, + { "n": "古装", "v": "古装" }, + { "n": "历史", "v": "历史" }, + { "n": "运动", "v": "运动" }, + { "n": "农村", "v": "农村" }, + { "n": "儿童", "v": "儿童" }, + { "n": "网络电影", "v": "网络电影" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "德国", "v": "德国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "意大利", "v": "意大利" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "2": [ + { + "name": "分类", + "key": "cateId", + "value": [ + { "n": "全部", "v": "1" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "14" }, + { "n": "日韩剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "泰国剧", "v": "29" }, + { "n": "其他剧", "v": "27" } + ] + }, + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "古装", "v": "古装" }, + { "n": "战争", "v": "战争" }, + { "n": "青春偶像", "v": "青春偶像" }, + { "n": "喜剧", "v": "喜剧" }, + { "n": "家庭", "v": "家庭" }, + { "n": "犯罪", "v": "犯罪" }, + { "n": "动作", "v": "动作" }, + { "n": "奇幻", "v": "奇幻" }, + { "n": "剧情", "v": "剧情" }, + { "n": "历史", "v": "历史" }, + { "n": "经典", "v": "经典" }, + { "n": "乡村", "v": "乡村" }, + { "n": "情景", "v": "情景" }, + { "n": "商战", "v": "商战" }, + { "n": "网剧", "v": "网剧" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "4": [ + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "选秀", "v": "选秀" }, + { "n": "情感", "v": "情感" }, + { "n": "访谈", "v": "访谈" }, + { "n": "播报", "v": "播报" }, + { "n": "旅游", "v": "旅游" }, + { "n": "音乐", "v": "音乐" }, + { "n": "美食", "v": "美食" }, + { "n": "纪实", "v": "纪实" }, + { "n": "曲艺", "v": "曲艺" }, + { "n": "生活", "v": "生活" }, + { "n": "游戏互动", "v": "游戏互动" }, + { "n": "财经", "v": "财经" }, + { "n": "求职", "v": "求职" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "3": [ + { + "name": "剧情", + "key": "class", + "value": [ + { "n": "全部", "v": "" }, + { "n": "情感", "v": "情感" }, + { "n": "科幻", "v": "科幻" }, + { "n": "热血", "v": "热血" }, + { "n": "推理", "v": "推理" }, + { "n": "搞笑", "v": "搞笑" }, + { "n": "冒险", "v": "冒险" }, + { "n": "萝莉", "v": "萝莉" }, + { "n": "校园", "v": "校园" }, + { "n": "动作", "v": "动作" }, + { "n": "机战", "v": "机战" }, + { "n": "运动", "v": "运动" }, + { "n": "战争", "v": "战争" }, + { "n": "少年", "v": "少年" }, + { "n": "少女", "v": "少女" }, + { "n": "社会", "v": "社会" }, + { "n": "原创", "v": "原创" }, + { "n": "亲子", "v": "亲子" }, + { "n": "益智", "v": "益智" }, + { "n": "励志", "v": "励志" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "地区", + "key": "area", + "value": [ + { "n": "全部", "v": "" }, + { "n": "内地", "v": "内地" }, + { "n": "港台", "v": "港台" }, + { "n": "日韩", "v": "日韩" }, + { "n": "欧美", "v": "欧美" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ], + "5": [ + { + "name": "年份", + "key": "year", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "name": "字母", + "key": "letter", + "value": [ + { "n": "全部", "v": "" }, + { "n": "A", "v": "A" }, + { "n": "B", "v": "B" }, + { "n": "C", "v": "C" }, + { "n": "D", "v": "D" }, + { "n": "E", "v": "E" }, + { "n": "F", "v": "F" }, + { "n": "G", "v": "G" }, + { "n": "H", "v": "H" }, + { "n": "I", "v": "I" }, + { "n": "J", "v": "J" }, + { "n": "K", "v": "K" }, + { "n": "L", "v": "L" }, + { "n": "M", "v": "M" }, + { "n": "N", "v": "N" }, + { "n": "O", "v": "O" }, + { "n": "P", "v": "P" }, + { "n": "Q", "v": "Q" }, + { "n": "R", "v": "R" }, + { "n": "S", "v": "S" }, + { "n": "T", "v": "T" }, + { "n": "U", "v": "U" }, + { "n": "V", "v": "V" }, + { "n": "W", "v": "W" }, + { "n": "X", "v": "X" }, + { "n": "Y", "v": "Y" }, + { "n": "Z", "v": "Z" }, + { "n": "0-9", "v": "0-9" } + ] + }, + { + "name": "排序", + "key": "by", + "value": [ + { "n": "时间", "v": "time" }, + { "n": "人气", "v": "hits" }, + { "n": "评分", "v": "score" } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/小熊直链.json b/XPath/小熊直链.json new file mode 100644 index 0000000..581aa9d --- /dev/null +++ b/XPath/小熊直链.json @@ -0,0 +1,59 @@ +{ + "name": "小熊影视", + "url": "http://www.xxys520.com/", + "User": "空", + "shouye": "1", + "fenlei": "最新电影$/vodshow/1-----------2022/page/#最新国产剧$/vodshow/2-----------2022/page/#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#泰国剧$/vodtype/29-#其他剧$/vodtype/27-#动漫$/vodtype/3-#综艺$/vodtype/4-#纪录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/尘落电影.json b/XPath/尘落电影.json new file mode 100644 index 0000000..4abd1ad --- /dev/null +++ b/XPath/尘落电影.json @@ -0,0 +1,62 @@ +{ + "ua": "", + "homeUrl": "https://v.xuangz.cn/", + "cateNode": "//ul[@class='nav navbar-nav']/li/a[contains(@href,'whole') and not(contains(@href, '5'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/whole(\\S+).html", + "cateManual": {}, + "homeVodNode": "//div[@class='movie-item-in']", + "homeVodName": "/div/h1/a/text()", + "homeVodId": "/div/h1/a/@href", + "homeVodIdR": "/show(\\S+).html", + "homeVodImg": "/a/img/@src", + "homeVodImgR": "", + "homeVodMark": "", + "cateUrl": "https://v.xuangz.cn/whole/{cateId}_______0_addtime_{catePg}.html", + "cateVodNode": "//div[@class='movie-item-in']", + "cateVodName": "/div/h1/a/text()", + "cateVodId": "/div/h1/a/@href", + "cateVodIdR": "/show(\\S+).html", + "cateVodImg": "/a/img/@src", + "cateVodImgR": "", + "cateVodMark": "", + "dtUrl": "https://v.xuangz.cn/show/{vid}.html", + "dtNode": "//div[@class='row']", + "dtName": "/div/h1/text()", + "dtNameR": "", + "dtImg": "/div/div/div[1]/img/@src", + "dtImgR": "", + "dtCate": "/div/div/div[2]/table/tbody/tr[3]/td[2]/a/text()", + "dtCateR": "", + "dtYear": "div/div/div[2]/table/tbody/tr[6]/td[2]/a/text()", + "dtYearR": "", + "dtArea": "/div/div/div[2]/table/tbody/tr[4]/td[2]/a/text()", + "dtAreaR": "", + "dtMark": "/div/div/div[2]/table/tbody/tr[7]/td[2]/text()", + "dtMarkR": "", + "dtActor": "/div/div/div[2]/table/tbody/tr[2]/td[2]/a/text()", + "dtActorR": "", + "dtDirector": "/div/div/div[2]/table/tbody/tr[1]/td[2]/a/text()", + "dtDirectorR": "", + "dtDesc": "/div/div[2]/div[2]/p/span//span/text()", + "dtDescR": "", + "dtFromNode": "//ul[@id='tvTabs']/li/a", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='row tv-js-list']", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://v.xuangz.cn//play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://v.xuangz.cn/?c=search&wd={wd}", + "scVodNode": "//div[@class='movie-item-in']", + "scVodName": "/a/@title", + "scVodId": "/div/h1/a/@href", + "scVodIdR": "/show/(\\S+).html", + "scVodImg": "/a/img/@src", + "scVodMark": "/a/span/text()" +} \ No newline at end of file diff --git a/XPath/尼克影视.json b/XPath/尼克影视.json new file mode 100644 index 0000000..4f411f0 --- /dev/null +++ b/XPath/尼克影视.json @@ -0,0 +1,63 @@ +{ + "name": "Nike影视网", + "url": "https://www.ajeee.com", + "tihuan": "51.la", + "User": "空", + "shouye": "1", + //"fenlei": "电视剧$/show/Tv/page/#韩国$/show/Tv/area/韩国/page/#小日本$/show/Tv/area/日本/page/#美国剧$/show/Tv/area/美国/page/#电影$/show/Movie/page/#动作$/show/Movie/class/动作/page/#喜剧$/show/Movie/class/喜剧/page/#爱情$/show/Movie/class/爱情/page/#科幻$/show/Movie/class/科幻/page/#恐怖$/show/Movie/class/恐怖/page/#剧情$/show/Movie/class/剧情/page/#战争$/show/Movie/class/战争/page/", + "fenlei": "电影$/show/Movie/page/#大陆剧$/show/Tv/area/大陆/page/#韩剧$/show/Tv/area/韩国/page/#港剧$/show/Tv/area/香港/page/#台剧$/show/Tv/area/台湾/page/#日剧$/show/Tv/area/日本/page/#美剧$/show/Tv/area/美国/page/#泰剧$/show/Tv/area/泰国/page/#英剧$/show/Tv/area/英国/page/#大陆动漫$/show/Cartoon/area/大陆/page/#日本动漫$/show/Cartoon/area/日本/page/#欧美动漫$/show/Cartoon/area/欧美/page/#综艺$/show/Variety/page/", + //"houzhui": "/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + //"jiequhou": "
    ", + "jiequhou": "class=\"layout-box", + "jiequshuzuqian": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/干饭影视.json b/XPath/干饭影视.json new file mode 100644 index 0000000..367ca03 --- /dev/null +++ b/XPath/干饭影视.json @@ -0,0 +1,68 @@ +{ + "author": "20200609", + "name": "干饭影视", + "url": "http://www.gfysys.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "国产剧$/vodshow/2-内地-------#韩国剧$/vodshow/2-韩国-------#香港剧$/vodshow/2-香港-------#台湾剧$/vodshow/2-台湾-------#日本剧$/vodshow/2-日本-------#美国剧$/vodshow/2-美国-------#泰国剧$/vodshow/2-泰国-------#英国剧$/vodshow/2-英国-------#国产动漫$/vodshow/4-内地-------#日本动漫$/vodshow/4-日本-------#美国动漫$/vodshow/4-美国-------#韩国动漫$/vodshow/4-韩国-------#综艺$/vodshow/3--------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#犯罪片$/vodshow/1---犯罪-----#奇幻片$/vodshow/1---奇幻-----#武侠片$/vodshow/1---武侠-----#冒险片$/vodshow/1---冒险-----#悬疑片$/vodshow/1---悬疑-----#惊悚片$/vodshow/1---惊悚-----#古装片$/vodshow/1---古装-----", + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"stui-vodlist__thumb", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "red;\">", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "data\">导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "data\">主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "sketch\">", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 diff --git a/XPath/异次动漫.json b/XPath/异次动漫.json new file mode 100644 index 0000000..41b7dfe --- /dev/null +++ b/XPath/异次动漫.json @@ -0,0 +1,222 @@ +{ + "author": "takagen99", + "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36", + "homeUrl": "https://ysjdm.net/index.php/vod/show/id/20.html", + + "dcVipFlag": "true", + "pCfgJs": "https://ysjdm.net/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + + "cateNode": "//li/a[contains(@href,'class')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/index.php/vod/show/(\\S+)/id/20.html", + "cateManual": { + "日漫": "area/日本", + "国漫": "area/中國" + }, + + // Home Summary ===================================================== + "homeVodNode": "//ul[contains(@class,'vodlist')]/li", + "homeVodName": "/a/@title", + "homeVodId": "/a/@href", + "homeVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "homeVodImg": "/a/@data-original", + "homeVodMark": "/a/span[2]/text()", + + // Category Summary ================================================= + "cateUrl": "https://ysjdm.net/index.php/vod/show/{cateId}{type}/id/20/page/{catePg}{year}.html", + "cateVodNode": "//ul[contains(@class,'vodlist')]/li", + "cateVodName": "/a/@title", + "cateVodId": "/a/@href", + "cateVodIdR": "/index.php/vod/detail/id/(\\w+).html", + "cateVodImg": "/a/@data-original", + "cateVodMark": "/a/span[2]/text()", + + // Category Details ================================================= + "dtUrl": "https://ysjdm.net/index.php/vod/detail/id/{vid}.html", + "dtNode": "//div[@class='detail_list_box']", + "dtName": "//div[@class='content_thumb fl']/a/@title", + "dtImg": "//div[@class='content_thumb fl']/a/@data-original", + + // Playlist ========================================================= + "dtFromNode": "//div[@class='play_source']", + "dtFromName": "/div/a/@alt", + "dtUrlNode": "//div[@id='playlistbox']", + "dtUrlSubNode": "/ul/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/index.php/vod/play/id/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://ysjdm.net/index.php/vod/play/id/{playUrl}.html", + "playUa": "", + + // Search Results =================================================== + "searchUrl": "https://ysjdm.net/index.php/ajax/suggest?mid=1&wd={wd}&limit=100", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + + // Filters ======================================================= + "filter": { + "area/日本": [ + { + "key": "type", + "name": "类型", + "value": [ + { "n": "全部", "v": "" }, + { "n": "OVA", "v": "/class/OVA" }, + { "n": "剧场版", "v": "/class/剧场版" }, + { "n": "无修", "v": "/class/BD无修" }, + { "n": "萝莉", "v": "/class/萝莉" }, + { "n": "学園", "v": "/class/学園" }, + { "n": "后宫", "v": "/class/后宫" }, + { "n": "恋爱", "v": "/class/恋爱" }, + { "n": "热血", "v": "/class/热血" }, + { "n": "神魔", "v": "/class/神魔" }, + { "n": "奇幻", "v": "/class/奇幻" }, + { "n": "治愈", "v": "/class/治愈" }, + { "n": "搞笑", "v": "/class/搞笑" }, + { "n": "百合", "v": "/class/百合" }, + { "n": "冒险", "v": "/class/冒险" }, + { "n": "魔法", "v": "/class/魔法" }, + { "n": "机战", "v": "/class/机战" }, + { "n": "战争", "v": "/class/战争" }, + { "n": "犯罪", "v": "/class/犯罪" }, + { "n": "悬疑", "v": "/class/悬疑" }, + { "n": "推理", "v": "/class/推理" }, + { "n": "科幻", "v": "/class/科幻" }, + { "n": "竞技", "v": "/class/竞技" }, + { "n": "运动", "v": "/class/运动" }, + { "n": "耽美", "v": "/class/耽美" }, + { "n": "其他", "v": "/class/其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2023", "v": "/year/2023" }, + { "n": "2022", "v": "/year/2022" }, + { "n": "2021", "v": "/year/2021" }, + { "n": "2020", "v": "/year/2020" }, + { "n": "2019", "v": "/year/2019" }, + { "n": "2018", "v": "/year/2018" }, + { "n": "2017", "v": "/year/2017" }, + { "n": "2016", "v": "/year/2016" }, + { "n": "2015", "v": "/year/2015" }, + { "n": "2014", "v": "/year/2014" }, + { "n": "2013", "v": "/year/2013" }, + { "n": "2012", "v": "/year/2012" }, + { "n": "2011", "v": "/year/2011" }, + { "n": "2010", "v": "/year/2010" }, + { "n": "2009", "v": "/year/2009" }, + { "n": "2008", "v": "/year/2008" } + ] + } + ], + "area/中國": [ + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2023", "v": "/year/2023" }, + { "n": "2022", "v": "/year/2022" }, + { "n": "2021", "v": "/year/2021" }, + { "n": "2020", "v": "/year/2020" }, + { "n": "2019", "v": "/year/2019" }, + { "n": "2018", "v": "/year/2018" }, + { "n": "2017", "v": "/year/2017" }, + { "n": "2016", "v": "/year/2016" }, + { "n": "2015", "v": "/year/2015" }, + { "n": "2014", "v": "/year/2014" }, + { "n": "2013", "v": "/year/2013" }, + { "n": "2012", "v": "/year/2012" }, + { "n": "2011", "v": "/year/2011" }, + { "n": "2010", "v": "/year/2010" }, + { "n": "2009", "v": "/year/2009" }, + { "n": "2008", "v": "/year/2008" } + ] + } + ], + "4": [ + // 动漫 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "日本", "v": "/area/日本" }, + { "n": "中国", "v": "/area/国产" }, + { "n": "欧美", "v": "/area/欧美" }, + { "n": "其他", "v": "/area/其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "/year/2022" }, + { "n": "2021", "v": "/year/2021" }, + { "n": "2020", "v": "/year/2020" }, + { "n": "2019", "v": "/year/2019" }, + { "n": "2018", "v": "/year/2018" }, + { "n": "2017", "v": "/year/2017" }, + { "n": "2016", "v": "/year/2016" }, + { "n": "2015", "v": "/year/2015" }, + { "n": "2014", "v": "/year/2014" }, + { "n": "2013", "v": "/year/2013" }, + { "n": "2012", "v": "/year/2012" }, + { "n": "2011", "v": "/year/2011" }, + { "n": "2010", "v": "/year/2010" }, + { "n": "2009", "v": "/year/2009" }, + { "n": "2008", "v": "/year/2008" } + ] + } + ], + "3": [ + // 综艺 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国", "v": "/area/内地" }, + { "n": "港台", "v": "/area/港台" }, + { "n": "日韩", "v": "/area/日韩" }, + { "n": "欧美", "v": "/area/欧美" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "/year/2022" }, + { "n": "2021", "v": "/year/2021" }, + { "n": "2020", "v": "/year/2020" }, + { "n": "2019", "v": "/year/2019" }, + { "n": "2018", "v": "/year/2018" }, + { "n": "2017", "v": "/year/2017" }, + { "n": "2016", "v": "/year/2016" }, + { "n": "2015", "v": "/year/2015" }, + { "n": "2014", "v": "/year/2014" }, + { "n": "2013", "v": "/year/2013" }, + { "n": "2012", "v": "/year/2012" }, + { "n": "2011", "v": "/year/2011" }, + { "n": "2010", "v": "/year/2010" }, + { "n": "2009", "v": "/year/2009" }, + { "n": "2008", "v": "/year/2008" } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/影视工厂.json b/XPath/影视工厂.json new file mode 100644 index 0000000..983c74d --- /dev/null +++ b/XPath/影视工厂.json @@ -0,0 +1,59 @@ +{ + "name": "10-影视工厂", + "url": "http://www.ysgc.cc", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#番剧$/vodshow/26--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#武侠片$/vodshow/1---武侠-----", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/扛把子影院.json b/XPath/扛把子影院.json new file mode 100644 index 0000000..1d08d80 --- /dev/null +++ b/XPath/扛把子影院.json @@ -0,0 +1,64 @@ +{ + "ua": "", + "homeUrl": "https://www.ququmc.com/", + "cateManual": { + "电影": "1", + "电视剧": "2", + "动漫": "4", + "综艺": "3", + "福利": "5", + "神曲": "6" + }, + "homeVodNode": "//ul[contains(@class, 'stui-vodlist')]/li/div[contains(@class, 'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/show/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "", + "homeVodMark": "/span/text()", + "cateUrl": "https://www.ququmc.com/type/{cateId}/{catePg}.html", + "cateVodNode": "//ul[contains(@class, 'stui-vodlist')]/li/div[contains(@class, 'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/show/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodMark": "/span/text()", + "dtUrl": "https://www.ququmc.com/show/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class, 'stui-content col-pd clearfix')]/div[contains(@class, 'stui-content__thumb')]/a/@title", + "dtNameR": "", + "dtImg": "//div[contains(@class, 'stui-content col-pd clearfix')]/div[contains(@class, 'stui-content__thumb')]/a/img/@data-original", + "dtImgR": "", + "dtCate": "", + "dtCateR": "", + "dtArea": "", + "dtAreaR": "", + "dtDirector": "//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtActor": "//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtYear": "//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtMark": "//div[contains(@class,'stui-content__detail')]//div[contains(@class,'remarks')]/div/text()", + "dtMarkR": "", + "dtDesc": "//div[contains(@class,'detail col-pd')]/span/text()", + "dtDescR": "", + "dtFromNode": "//ul[contains(@class, 'nav nav-tabs pull-right')]/li/a", + "dtFromName": "/text()", + "dtFromNameR": "\\.(\\S+)(", + "dtUrlNode": "//ul[contains(@class, 'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.ququmc.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.ququmc.com/search?wd={wd}", + "scVodNode": "//div[@class='thumb']/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/show/(\\w+).html", + "scVodImg": "/@data-original", + "scVodMark": "" +} diff --git a/XPath/数字影视.json b/XPath/数字影视.json new file mode 100644 index 0000000..d65de93 --- /dev/null +++ b/XPath/数字影视.json @@ -0,0 +1,59 @@ +{ + "name": "789影视", + "url": "https://789ys.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/list/2-#电影$/list/1-#综艺$/list/3-#动漫$/list/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/数字看片.json b/XPath/数字看片.json new file mode 100644 index 0000000..fed8d16 --- /dev/null +++ b/XPath/数字看片.json @@ -0,0 +1,543 @@ +{ + "author":"Tangsan99999", + "ua": "", + "homeUrl": "http://789ba.com", + // "dcVipFlag": "false", + // "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//div[contains(@class,'stui-header_bd')]/ul[contains(@class, 'menu')]/li/a[contains(@href,'list')]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/list/(\\S+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/vod/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://789ba.com/show/{cateId}-{area}-{by}------{catePg}---{year}.html", + "cateVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/vod/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://789ba.com/vod/{vid}.html", + "dtNode": "//body", + "dtName": "//h1[@class='title']/text()", + "dtNameR": "", + "dtImg": "//div[@class='stui-content__thumb']/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[@class='data']/span[contains(text(), '类型:')]/parent::*/a/text()", + "dtCateR": "", + "dtActor": "//p[@class='data']/span[contains(text(), '主演')]/parent::*/a/text()", + "dtActorR": "", + "dtDirector": "//p[@class='data']/span[contains(text(), '导演:')]/parent::*/a/text()", + "dtDirectorR": "", + "dtDesc": "//span[contains(text(), '简介:')]/parent::*/text()", + "dtDescR": "", + "dtFromNode": "//h3[contains(text(), '播放')]", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//h3[contains(text(), '播放')]) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//ul[contains(@class, 'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://789ba.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.789ik.com/search/-------------.html?wd={wd}", + "scVodNode": "//div[contains(@class, 'stui-vodlist__box')]/a", + "scVodName": "/@title", + "scVodId": "/@href", + "scVodIdR": "/vod/(\\w+).html", + "scVodImg": "/@data-original", + "scVodImgR": "\\S+(http\\S+)", + "scVodMark": "/span[contains(@class,'pic-text')]/text()", + "filter": { + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "日韩", + "v": "日韩" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/新香蕉.json b/XPath/新香蕉.json new file mode 100644 index 0000000..ac8f81b --- /dev/null +++ b/XPath/新香蕉.json @@ -0,0 +1,35 @@ +{ +"ua": "", +"homeUrl": "https://www.2024xxj.com", +"cateNode": "//div[contains(@class,'wrap mt10 nav')]/ul[contains(@class,'nav_menu')]/li/li/a[contains(@href,'vod-type')]", +"cateName": "/text()", +"cateId": "/@href", +"cateIdR": "/?m=vod-type-(\\w+)", +"cateManual": {}, +"homeVodNode": "//div[contains(@class,'box tags-cloud')]/ul/li/a", +"homeVodName": "/h3/text()", +"homeVodId": "/@href", +"homeVodIdR": "", +"homeVodImg": "/img/@src", +"homeVodImgR": "", +"cateUrl": "https://www.2024xxj.com/?m=vod-type-{cateId}-{catePg}.html", +"cateVodNode": "//div[contains(@class,'box movie_list')]/ul/li/a", +"cateVodName": "/h3/text()", +"cateVodId": "/@href", +"cateVodIdR": "", +"cateVodImg": "/img/@src", +"cateVodImgR": "", +"dtUrl": "https://www.2024xxj.com/{vid}", +"dtNode": "//body", +"dtName": "//span[contains(@class,'cat_pos_l')]/h1/text()", +"dtImg": "//div[contains(@class,'film_info clearfix')]/dl/dt/img/@src", +"dtFromNode": "//div[contains(@class,'film_bar clearfix')]/strong/span", +"dtFromName": "/text()", +"dtUrlNode": "//div[contains(@class,'film_bar clearfix')]/ul", +"dtUrlSubNode": "/li/a", +"dtUrlId": "/@href", +"dtUrlIdR": "", +"dtUrlName": "/text()", +"playUrl": "https://www.2024xxj.com/{playUrl}", +"playUa": "" +} \ No newline at end of file diff --git a/XPath/极品影视.json b/XPath/极品影视.json new file mode 100644 index 0000000..5d0ea6d --- /dev/null +++ b/XPath/极品影视.json @@ -0,0 +1,64 @@ +{ + "ua": "", + "homeUrl": "https://www.jpysvip.net", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'myui-header__menu')]/li[@class='dropdown-hover']//ul/li/a[contains(@href, 'vodtype') and not(contains(@href, '26'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+).html", + "cateManual": {}, + "homeVodNode": "//div[contains(@class, 'col-lg-wide-75')]//ul[contains(@class,'myui-vodlist')]/li//a[contains(@class,'myui-vodlist__thumb')]", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/span[contains(@class,'pic-text')]/text()", + "cateUrl": "https://www.jpysvip.net/vodtype/{cateId}-{catePg}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist')]//li//a[contains(@class,'myui-vodlist__thumb')]", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/span[contains(@class,'pic-text')]/text()", + "dtUrl": "https://www.jpysvip.net/voddetail/{vid}.html", + "dtNode": "//div[contains(@class,'col-lg-wide-75')]", + "dtName": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/@title", + "dtNameR": "", + "dtImg": "//div[@class='myui-content__thumb']/a[contains(@class,'myui-vodlist__thumb')]/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '分类')]/following-sibling::*/text()", + "dtCateR": "", + "dtYear": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '年份')]/following-sibling::*/text()", + "dtYearR": "", + "dtArea": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '地区')]/following-sibling::*/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '主演')]/following-sibling::*/text()", + "dtActorR": "", + "dtDirector": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '导演')]/following-sibling::*/text()", + "dtDirectorR": "", + "dtDesc": "//div[@class='myui-content__detail']//span[contains(@class,'text-muted') and contains(text(), '简介')]/parent::text()", + "dtDescR": "", + "dtFromNode": "//a[@data-toggle='tab' and contains(@href, 'playlist')]", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[contains(@class,'tab-content')]/div[contains(@id, 'playlist')]", + "dtUrlSubNode": "//li/a", + "dtUrlId": "@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.jpysvip.net/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.jpysvip.net/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/极品直链.json b/XPath/极品直链.json new file mode 100644 index 0000000..45018ed --- /dev/null +++ b/XPath/极品直链.json @@ -0,0 +1,60 @@ +{ + "name": "极品影视", + "url": "https://www.jpys.me/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + //"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "fenlei": "大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧美剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/比特影视.json b/XPath/比特影视.json new file mode 100644 index 0000000..8c07210 --- /dev/null +++ b/XPath/比特影视.json @@ -0,0 +1,78 @@ +{ + "author": "春风", + "ua": "", + "homeUrl": "https://www.bttwoo.com", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateManual": { + "最新电影": "new-movie", + "热门电影": "hot", + "本月热门": "hot-month", + "高分电影": "gf", + "国产剧": "zgjun", + "美剧": "meiju", + "日韩剧": "jpsrtv", + "喜剧": "movie_bt_tags/xiju", + "爱情": "movie_bt_tags/aiqing", + "冒险": "movie_bt_tags/adt", + "动作": "movie_bt_tags/at", + "奇幻": "movie_bt_tags/qihuan", + "悬疑": "movie_bt_tags/xuanni", + "惊悚": "movie_bt_tags/jingsong", + "武侠": "movie_bt_tags/wuxia", + "国漫": "movie_bt/movie_bt_cat/dl/movie_bt_tags/donghua", + "日漫": "movie_bt/movie_bt_cat/rb/movie_bt_tags/donghua", + "美漫": "movie_bt/movie_bt_cat/mg/movie_bt_tags/donghua" + }, + "homeVodNode": "//div[contains(@class,'bt_img')]/ul/li", + "homeVodName": "/h3/a/text()", + "homeVodId": "/a/@href", + "homeVodIdR": "https://www.bttwoo.com/(\\S+).html", + "homeVodImg": "/a/img/@data-original", + "homeVodImgR": "", + "homeVodMark": "", + "cateUrl": "https://www.bttwoo.com/{cateId}/page/{catePg}", + "cateVodNode": "//div[contains(@class,'bt_img')]/ul/li", + "cateVodName": "/h3/a/text()", + "cateVodId": "/a/@href", + "cateVodIdR": "https://www.bttwoo.com/(\\S+).html", + "cateVodImg": "/a/img/@data-original", + "cateVodImgR": "", + "cateVodMark": "", + "dtUrl": "https://www.bttwoo.com/{vid}.html", + "dtNode": "//body", + "dtName": "//h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='dyimg fl']/img/@src", + "dtImgR": "", + "dtCate": "//li[contains(text(), '类型')]/child::text()", + "dtCateR": "", + "dtYear": "//li[contains(text(), '年份')]/child::text()", + "dtYearR": "", + "dtArea": "//li[contains(text(), '地区')]/child::text()", + "dtAreaR": "", + "dtDirector": "//li[contains(text(), '导演')]/child::text()", + "dtDirectorR": "", + "dtActor": "//li[contains(text(), '主演')]/child::text()", + "dtActorR": "", + "dtDesc": "concat(//div[@class='yp_context']/text(),//div[@class='yp_context']/p/text())", + "dtDescR": "", + "dtFromNode": "//div[@class='mi_paly_box']/div/div[@class='ypxingq_t']", + "dtFromName": "/text()", + "dtFromNameR": "", + "dtUrlNode": "//div[@class='paly_list_btn']", + "dtUrlSubNode": "/a", + "dtUrlId": "@href", + "dtUrlIdR": "https://www.bttwoo.com/v_play/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.bttwoo.com/v_play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.bttwoo.com/xssearch?q={wd}", + "scVodNode": "//div[contains(@class,'search_list')]/ul/li", + "scVodName": "/h3/a/text()", + "scVodId": "/@href", + "scVodIdR": "https://www.bttwoo.com/(\\S+).html", + "scVodImg": "//img/@data-original", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/火火影视.json b/XPath/火火影视.json new file mode 100644 index 0000000..7e0941c --- /dev/null +++ b/XPath/火火影视.json @@ -0,0 +1,60 @@ +{ + "name": "火火影视", + "url": "https://www.huohuo99.com", + "tihuan": "", + "User": "空", + "shouye": "1", + "fenlei": "动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#惊悚片$/vodtype20-#悬疑片$vodtype/23-#动画片$/vodtype/24-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype15-#欧美剧$vodtype/16-#番剧$/vodtype/31-#综艺$/vodtype/4-#记录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"hl-list-item hl", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": " id=\"hl-plays-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/焦炭影视.json b/XPath/焦炭影视.json new file mode 100644 index 0000000..c076461 --- /dev/null +++ b/XPath/焦炭影视.json @@ -0,0 +1,444 @@ +{ + "author":"takagen99", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://cokemv.me/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "dcShow2Vip": {}, + "pCfgJs": "https://cokemv.me/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "cateManual": { + "抖音电影": "5", + "电影": "1", + "大陸劇": "13", + "香港剧": "14", + "韩国剧": "15", + "欧美剧": "16", + "日本剧": "20", + "台灣劇": "21", + "泰國劇": "22", + "动漫": "4", + "综艺": "3" + }, + + // Home Summary ==================================================== + "homeVodNode": "//a[@class='module-poster-item module-item']", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/(\\w+).html", + "homeVodImg": "//img[@class='lazy lazyload']/@data-original", + "homeVodMark": "//div[@class='module-item-note']/text()", + + // Category Summary ================================================ + "cateUrl": "https://cokemv.me/vodshow/{cateId}-{area}---{lang}----{catePg}---{year}.html", + "cateVodNode": "//a[@class='module-poster-item module-item']", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/(\\w+).html", + "cateVodImg": "//img[@class='lazy lazyload']/@data-original", + "cateVodMark": "//div[@class='module-item-note']/text()", + + // Category Details ================================================ + "dtUrl": "https://cokemv.me/voddetail/{vid}.html", + "dtNode": "//div[@class='module module-info']", + "dtName": "//div[@class='module-info-main']/div[@class='module-info-heading']/h1/text()", + "dtNameR": "", + "dtImg": "//div[@class='module-info-poster']//div[@class='module-item-pic']/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//div[@class='module-info-tag']//div[@class='module-info-tag-link'][3]/following-sibling::*/text()", + "dtYear": "//div[@class='module-info-tag']//div[@class='module-info-tag-link'][1]/following-sibling::a/text()", + "dtArea": "//div[@class='module-info-tag']//div[@class='module-info-tag-link'][2]/following-sibling::a/text()", + "dtActor": "//div[@class='module-info-items']//span[contains(@class,'module-info-item-title') and contains(text(), '主演:')]/following-sibling::div/a/text()", + "dtDirector": "//div[@class='module-info-items']//span[contains(@class,'module-info-item-title') and contains(text(), '导演:')]/following-sibling::div/a/text()", + "dtDesc": "//div[@class='module-info-introduction-content']/p/text()", + + // Playlist ======================================================== + "dtFromNode": "//div[contains(@class, 'module-tab-items-box')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-play-list')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "dtUrlNameR": "", + "playUrl": "https://cokemv.me/vodplay/{playUrl}.html", + "playUa": "", + + // Search Results ================================================== + "searchUrl": "https://cokemv.me/vodsearch/-------------.html?wd={wd}", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + + // Filters ======================================================= + "filter": { + "5": [ // 抖音电影 + { + "key": "lang", + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "國語" }, + { "n": "英语", "v": "英語" }, + { "n": "粤语", "v": "粵語" }, + { "n": "闽南语", "v": "閩南語" }, + { "n": "韩语", "v": "韓語" }, + { "n": "日语", "v": "日語" }, + { "n": "法语", "v": "法語" }, + { "n": "德语", "v": "德語" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + } + ], + "1": [ // 电影 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "韩国", "v": "韩国" }, + { "n": "中国香港", "v": "中国香港" }, + { "n": "中国台湾", "v": "中国台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国语", "v": "国语" }, + { "n": "英语", "v": "英语" }, + { "n": "粤语", "v": "粤语" }, + { "n": "闽南语", "v": "闽南语" }, + { "n": "韩语", "v": "韩语" }, + { "n": "日语", "v": "日语" }, + { "n": "法语", "v": "法语" }, + { "n": "德语", "v": "德语" }, + { "n": "其它", "v": "其它" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + } + ], + "13": [ // 大陸劇 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "14": [ // 香港剧 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "15": [ // 韩国剧 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "16": [ // 欧美剧 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "20": [ // 日本剧 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "21": [ // 台灣劇 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "22": [ // 泰國劇 + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "3": [ // 综艺 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "韩国", "v": "韩国" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ], + "4": [ // 动漫 + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "中国大陆", "v": "中国大陆" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + } + ] + } + } \ No newline at end of file diff --git a/XPath/焦炭直链.json b/XPath/焦炭直链.json new file mode 100644 index 0000000..c141021 --- /dev/null +++ b/XPath/焦炭直链.json @@ -0,0 +1,60 @@ +{ + "name": "COKEMV", + "url": "https://cokemv.me", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画电影$/vodshow/41--------#抖音电影$/vodshow/5--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#犯罪片$/vodshow/23--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + //"jiequhou": "
    ", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "daoyanqian": "导演:", + "daoyanhou": "
    ", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "/div>", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/爱港剧源.json b/XPath/爱港剧源.json new file mode 100644 index 0000000..3684009 --- /dev/null +++ b/XPath/爱港剧源.json @@ -0,0 +1,59 @@ +{ + "name": "爱港剧", + "url": "http://www.2gangju.cc", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/dianying--------#电视剧$/vodshow/dianshiju--------#综艺$/vodshow/zongyi--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"stui-vodlist clearfix\"", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500&submit=", + "sousuohouzhui": "/dianshiju/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/爱看影视.json b/XPath/爱看影视.json new file mode 100644 index 0000000..8a9d8f7 --- /dev/null +++ b/XPath/爱看影视.json @@ -0,0 +1,91 @@ +{ + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1", + "homeUrl": "https://ikan6.vip/", + "cateManual":{"电影": "1", "国产剧": "2", "日韩剧": "15", "美剧": "16", "综艺": "3", "动漫": "4", "港台剧": "14", "记录片": "20"}, + "homeVodNode": "//div[@class='module-item']", + "homeVodName":"//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@title", + "homeVodId": "//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@href", + "homeVodIdR": "/voddetail/(\\S+)", + "homeVodImg": "//div[@class='module-item-cover']//div[@class='module-item-pic']/img/@data-src", + "homeVodMark": "//div[@class='module-item-text']/text()", + + //"cateUrl": "https://ikan6.vip/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}/", + "cateUrl": "https://ikan6.vip/vodshow/{cateId}--------{catePg}---/", + "cateVodNode": "//div[@class='module-item']", + "cateVodName":"//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@title", + "cateVodId": "//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@href", + "cateVodIdR": "/voddetail/(\\S+)", + "cateVodImg": "//div[@class='module-item-cover']//div[@class='module-item-pic']/img/@data-src", + "cateVodMark": "//div[@class='module-item-text']/text()", + + "dtUrl": " https://ikan6.vip/voddetail/{vid}/", + "dtNode": "//body", + "dtName": "//*[@id='main']/div/div[1]/div[3]/div[1]/h1/text()", + "dtImg":"//*[@id='main']/div/div[1]/div[2]/div/div/img/@data-src", + "dtCate": "//*[@id='main']/div/div[1]/div[3]/div[1]/div/div/div/a/text()", + "dtArea": "//*[@id='main']/div/div[1]/div[3]/div[1]/div/div/a[3]/text()", + "dtYear": "//*[@id='main']/div/div[1]/div[3]/div[2]/div[3]/div/text()", + "dtDesc": "//*[@id='main']/div/div[1]/div[3]/div[2]/div[6]/div/span/text()", + "dtActor": "//*[@id=main]/div/div[1]/div[3]/div[2]/div[2]/div/descendant::*/text()", + "dtDirector": "//*[@id='main']/div/div[1]/div[3]/div[2]/div[1]/div/a/text()", + + "dtFromNode": "//div[contains(@class,'module-tab-item tab-item')]", + "dtFromName": "//span/text()", + "dtUrlNode": "//div[@class='sort-item']", + "dtUrlSubNode": "/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+)", + "dtUrlName": "/span/text()", + "playUrl": "https://ikan6.vip/vodplay/{playUrl}", + + "searchUrl": "https://ikan6.vip/vodsearch/{wd}-------------/", + "scVodNode": "//div[@class='module-item']", + "scVodName":"//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@title", + "scVodId": "//div[@class='module-item-cover']//div[@class='module-item-pic']/a/@href", + "scVodIdR": "/voddetail/(\\S+)", + "scVodImg": "//div[@class='module-item-cover']//div[@class='module-item-pic']/img/@data-src", + "scVodMark": "//div[@class='module-item-text']/text()", +"filter":{ +"1": [ +{"name":"分类","key":"cateId","value":[{"n":"全部","v":""},{"n":"动作片","v":"6"},{"n":"喜剧片","v":"7"},{"n":"爱情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"恐怖片","v":"10"},{"n":"剧情片","v":"11"},{"n":"战争片","v":"12"},{"n":"灾难片","v":"24"}]}, +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"动作","v":"动作"},{"n":"科幻","v":"科幻"},{"n":"剧情","v":"剧情"},{"n":"战争","v":"战争"},{"n":"警匪","v":"警匪"},{"n":"犯罪","v":"犯罪"},{"n":"动画","v":"动画"},{"n":"奇幻","v":"奇幻"},{"n":"武侠","v":"武侠"},{"n":"冒险","v":"冒险"},{"n":"枪战","v":"枪战"},{"n":"恐怖","v":"恐怖"},{"n":"悬疑","v":"悬疑"},{"n":"惊悚","v":"惊悚"},{"n":"经典","v":"经典"},{"n":"青春","v":"青春"},{"n":"文艺","v":"文艺"},{"n":"微电影","v":"微电影"},{"n":"古装","v":"古装"},{"n":"历史","v":"历史"},{"n":"运动","v":"运动"},{"n":"农村","v":"农村"},{"n":"儿童","v":"儿童"},{"n":"网络电影","v":"网络电影"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"大陆","v":"大陆"},{"n":"香港","v":"香港"},{"n":"台湾","v":"台湾"},{"n":"美国","v":"美国"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"德国","v":"德国"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"意大利","v":"意大利"},{"n":"西班牙","v":"西班牙"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"2": [ +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"古装","v":"古装"},{"n":"战争","v":"战争"},{"n":"青春偶像","v":"青春偶像"},{"n":"喜剧","v":"喜剧"},{"n":"家庭","v":"家庭"},{"n":"犯罪","v":"犯罪"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"经典","v":"经典"},{"n":"乡村","v":"乡村"},{"n":"情景","v":"情景"},{"n":"商战","v":"商战"},{"n":"网剧","v":"网剧"},{"n":"其他","v":"其他"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"3": [ +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"选秀","v":"选秀"},{"n":"情感","v":"情感"},{"n":"访谈","v":"访谈"},{"n":"播报","v":"播报"},{"n":"旅游","v":"旅游"},{"n":"音乐","v":"音乐"},{"n":"美食","v":"美食"},{"n":"纪实","v":"纪实"},{"n":"曲艺","v":"曲艺"},{"n":"生活","v":"生活"},{"n":"游戏互动","v":"游戏互动"},{"n":"财经","v":"财经"},{"n":"求职","v":"求职"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"4": [ +{"name":"剧情","key":"class","value":[{"n":"全部","v":""},{"n":"情感","v":"情感"},{"n":"科幻","v":"科幻"},{"n":"热血","v":"热血"},{"n":"推理","v":"推理"},{"n":"搞笑","v":"搞笑"},{"n":"冒险","v":"冒险"},{"n":"萝莉","v":"萝莉"},{"n":"校园","v":"校园"},{"n":"动作","v":"动作"},{"n":"机战","v":"机战"},{"n":"运动","v":"运动"},{"n":"战争","v":"战争"},{"n":"少年","v":"少年"},{"n":"少女","v":"少女"},{"n":"社会","v":"社会"},{"n":"原创","v":"原创"},{"n":"亲子","v":"亲子"},{"n":"益智","v":"益智"},{"n":"励志","v":"励志"},{"n":"其他","v":"其他"}]}, +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"地区","key":"area","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"15": [ +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"16": [ +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"14": [ +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +], +"20": [ +{"name":"年份","key":"year","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]}, +{"name":"排序","key":"by","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]} +] +} + +} \ No newline at end of file diff --git a/XPath/爱看直链.json b/XPath/爱看直链.json new file mode 100644 index 0000000..144a16a --- /dev/null +++ b/XPath/爱看直链.json @@ -0,0 +1,59 @@ +{ + "name": "爱看影视", + "url": "https://ikan6.vip/", + "shouye": "1", + //"fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/20--------#国创$/vodshow/21--------#动漫$/vodshow/4--------#动漫$/vodshow/4--------", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/牛马影视.json b/XPath/牛马影视.json new file mode 100644 index 0000000..f42237d --- /dev/null +++ b/XPath/牛马影视.json @@ -0,0 +1,60 @@ +{ + "name": "牛马TV", + "url": "http://www.niumatv.com/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/type/dianying-#电视剧$/type/dianshiju-#国产剧$/vodshow/area/中国大陆/id/dianshiju/page/#港剧$/vodshow/area/中国香港/id/dianshiju/page/#韩剧$/vodshow/area/韩国/id/dianshiju/page/#欧美剧$/vodshow/area/美国/id/dianshiju/page/#综艺$/type/zongyi-#动漫$/type/dongman-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + // /page/

    ' + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} \ No newline at end of file diff --git a/XPath/特狗影视.json b/XPath/特狗影视.json new file mode 100644 index 0000000..ac6bbad --- /dev/null +++ b/XPath/特狗影视.json @@ -0,0 +1,68 @@ +{ + "author":"20220605", + "name": "特狗影视", + "url": "https://www.tegouys.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "儿童电影$/vodshow/class/儿童/id/1/page/#亲子综艺$/vodshow/class/亲子/id/3/page/#合家欢动漫$/vodshow/class/合家欢/id/4/page/#曲艺综艺$/vodshow/class/曲艺/id/3/page/#电影$/vodshow/id/1/page/#国产剧$/vodshow/area/内地/id/2/page/#香港剧$/vodshow/area/香港/id/2/page/#韩国剧$/vodshow/area/韩国/id/2/page/#美国剧$/vodshow/area/美国/id/2/page/#日本剧$/vodshow/area/日本/id/2/page/#泰国剧$/vodshow/area/泰国/id/2/page/#台湾剧$/vodshow/area/台湾/id/2/page/#英国剧$/vodshow/area/英国/id/2/page/#其它剧$/vodshow/area/其它/id/2/page/#综艺$/vodshow/id/3/page/#国产动漫$/vodshow/area/内地/id/4/page/#日本动漫$/vodshow/area/日本/id/4/page/#欧美动漫$/vodshow/area/欧美/id/4/page/#其它动漫$/vodshow/area/其它/id/4/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"myui-vodlist__box\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "class=\"text-red\">", //状态前关键词 + "zhuangtaihou": "/", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 diff --git a/XPath/瓜皮影视.json b/XPath/瓜皮影视.json new file mode 100644 index 0000000..b21366c --- /dev/null +++ b/XPath/瓜皮影视.json @@ -0,0 +1,69 @@ +{ + "author": "20220606", + "name": "瓜皮TV", + "url": "https://guapitv.xyz", + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + //"jiequhou": "
    ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "introduction-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/看看影视.json b/XPath/看看影视.json new file mode 100644 index 0000000..eac1432 --- /dev/null +++ b/XPath/看看影视.json @@ -0,0 +1,58 @@ +{ + "name": "看一看影视", + "url": "https://www.kyikan.cc", + "shouye": "1", + "fenlei": "连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧美剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", + "houzhui": "-order--by--class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"bz\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "      ", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +} diff --git a/XPath/磁力搜.json b/XPath/磁力搜.json new file mode 100644 index 0000000..c0f1568 --- /dev/null +++ b/XPath/磁力搜.json @@ -0,0 +1,32 @@ +{ +"ua": "", +"dtUrl": "https://1024bt25.xyz{vid}", +"dtNode": "//div[@id='content']", +"dtName": "//h2/text()", +"dtNameR": "", +"dtImg": "/@null", +"dtCate": "concat(//tbody/td[1]//text())", +"dtCateR": "", +"dtYear": "concat(//tbody/td[2]//text())", +"dtYearR": "", +"dtDesc": "concat(//ol//text(),'')", +"dtDescR": "", +"dtFromNode": "//div[@id='wall']", +"dtFromName": "concat('磁力链接','')", +"dtFromNameR": "", +"dtUrlNode": "//div[@id='magnet']", +"dtUrlSubNode": "//a", +"dtUrlId": "/@href", +"dtUrlIdR": "", +"dtUrlName": "/text()", +"playUrl": "{playUrl}", +"playUa": "", +"searchUrl": "https://1024bt25.xyz/main-search-kw-{wd}-length-1.html", +"scVodNode": "//div[@class='item-title']/h3/a", +"scVodName": "/@title", +"scVodId": "/@href", +"scVodIdR": "", +"scVodImg": "/@null", +"scVodImgR": "", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/稀饭影视.json b/XPath/稀饭影视.json new file mode 100644 index 0000000..7f49ec2 --- /dev/null +++ b/XPath/稀饭影视.json @@ -0,0 +1,59 @@ +{ + "name": "稀饭影视", + "url": "https://www.xifanys.com/", + "User": "无", + "shouye": "1", + "fenlei": "电视剧$/yingpianshow/lianxuju--------#电影$/yingpianshow/dianying--------#综艺$/yingpianshow/zongyi--------#动漫$/yingpianshow/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/yingpiandetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/红领巾源.json b/XPath/红领巾源.json new file mode 100644 index 0000000..e7e33fb --- /dev/null +++ b/XPath/红领巾源.json @@ -0,0 +1,60 @@ +{ + "name": "红领巾", + "url": "https://www.honglingjin.tv", + "User": "空", + "shouye": "1", + //"fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/4/#动漫$/list/3/", + "fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/3/#动漫$/list/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail1/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-cover", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/维奇动漫.json b/XPath/维奇动漫.json new file mode 100644 index 0000000..1c9aee0 --- /dev/null +++ b/XPath/维奇动漫.json @@ -0,0 +1,67 @@ +{ + "author":"20220530", + "name": "维奇动漫", + "url": "https://www.uiviki.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + "fenlei": "连载动漫$/anime-classify-lianzai-#日本动漫$/anime-classify-riman-#国产动漫$/anime-classify-guoman-#动漫预告$/anime-classify-yugao-", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"vodlist-thumb\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "info\">状态:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "info\">监督:", //导演前关键词 + "daoyanhou": "
    ", //导演态后关键词 + "zhuyanqian": "starring\">声优:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "剧情简介", //剧情前关键词 + "juqinghou": "", //播放剧集数组后关键词 + "bfbiaotiqian": "title=\"", //播放剧集标题前关键词 + "bfbiaotihou": "\"", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 \ No newline at end of file diff --git a/XPath/美剧网源.json b/XPath/美剧网源.json new file mode 100644 index 0000000..3ab22f3 --- /dev/null +++ b/XPath/美剧网源.json @@ -0,0 +1,443 @@ +{ + "author": "", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "homeUrl": "https://www.meiju56.com", + "dcVipFlag": "true", + "pCfgJs": "https://www.meiju56.com/static/js/playerconfig.js", + "pCfgJsR": "[\\W|\\S|.]*?MacPlayerConfig.player_list[\\W|\\S|.]*?=([\\W|\\S|.]*?),MacPlayerConfig.downer_list", + "dcShow2Vip": {}, + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class, 'nav-menu-items')]/li/a[contains(@href, 'vodtype')]", + "cateName": "/@title", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\d+).html", + "cateManual": { + "电影": "1", + "电视剧": "2", + "综艺": "5", + "动漫": "4", + "纪录片": "3", + "Bilibili": "24", + "少儿": "29" + }, + "homeVodNode": "//div[contains(@class, 'module-items')]/div[contains(@class, 'module-item')]", + "homeVodName": "/div[contains(@class, 'module-item-titlebox')]/a/@title", + "homeVodId": "/div[contains(@class, 'module-item-titlebox')]/a/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/div[contains(@class, 'module-item-cover')]/div[contains(@class, 'module-item-pic')]/img/@data-src", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "/div[contains(@class,'module-item-text')]/text()", + "cateUrl": "https://www.meiju56.com/vodshow/{cateId}-{area}-{by}------{catePg}---{year}.html", + "cateVodNode": "//div[@class=('module-item-cover')]", + "cateVodName": "/div[@class=('module-item-pic')]/a/@title", + "cateVodId": "/div[@class=('module-item-pic')]/a/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/div[@class=('module-item-pic')]/img/@data-src", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "/div[@class='module-item-caption']/span/text()", + "dtUrl": "https://www.meiju56.com/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'video-info-header')]/h1[@class='page-title']/text()", + "dtImg": "//div[@class=('module-item-pic')]/img/@data-src", + "dtImgR": "(http\\S+)", + "dtCate": "//div[contains(@class,'tag-link')]/a/text()", + "dtYear": "//a[@class='tag-link'][2]/text()", + "dtArea": "//a[@class='tag-link'][3]/text()", + "dtDirector": "concat(//span[contains(text(), '导演')]/parent::*/div/a/text())", + "dtActor": "concat(//span[contains(text(), '主演')]/parent::*/div/a/text())", + "dtDesc": "//span[contains(text(), '剧情')]/parent::*/div/text()", + "dtFromNode": "//div[contains(@class, 'module-tab-content')]/div[contains(@class, 'module-tab-item')]/span", + "dtFromName": "/text()", + "dtUrlNode": "//div[contains(@class, 'module-blocklist')]", + "dtUrlSubNode": "/div/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/span/text()", + "playUrl": "https://www.meiju56.com/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.meiju56.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { "n": "全部", "v": "" }, + { "n": "動作片", "v": "6" }, + { "n": "喜劇片", "v": "7" }, + { "n": "愛情片", "v": "8" }, + { "n": "科幻片", "v": "9" }, + { "n": "恐怖片", "v": "10" }, + { "n": "劇情片", "v": "11" }, + { "n": "戰爭片", "v": "12" }, + { "n": "其他片", "v": "23" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "按更新", "v": "time" }, + { "n": "周人气", "v": "hits_week" }, + { "n": "月人气", "v": "hits_month" } + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { "n": "全部", "v": "" }, + { "n": "国产剧", "v": "13" }, + { "n": "港台剧", "v": "14" }, + { "n": "日韩剧", "v": "15" }, + { "n": "欧美剧", "v": "16" }, + { "n": "其他剧", "v": "22" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "韩国", "v": "韩国" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "英国", "v": "英国" }, + { "n": "新加坡", "v": "新加坡" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "按更新", "v": "time" }, + { "n": "周人气", "v": "hits_week" }, + { "n": "月人气", "v": "hits_month" } + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "按更新", "v": "time" }, + { "n": "周人气", "v": "hits_week" }, + { "n": "月人气", "v": "hits_month" } + ] + } + ], + "5": [ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "台湾", "v": "台湾" }, + { "n": "香港", "v": "香港" }, + { "n": "韩国", "v": "韩国" }, + { "n": "日本", "v": "日本" }, + { "n": "美国", "v": "美国" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "按更新", "v": "time" }, + { "n": "周人气", "v": "hits_week" }, + { "n": "月人气", "v": "hits_month" } + ] + } + ], + "3": [ + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "按更新", "v": "time" }, + { "n": "周人气", "v": "hits_week" }, + { "n": "月人气", "v": "hits_month" } + ] + } + ], + "24": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { "n": "全部", "v": "" }, + { "n": "番剧", "v": "25" }, + { "n": "国创", "v": "26" }, + { "n": "电影", "v": "27" }, + { "n": "剧集", "v": "28" } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "香港", "v": "香港" }, + { "n": "台湾", "v": "台湾" }, + { "n": "美国", "v": "美国" }, + { "n": "法国", "v": "法国" }, + { "n": "英国", "v": "英国" }, + { "n": "日本", "v": "日本" }, + { "n": "韩国", "v": "韩国" }, + { "n": "泰国", "v": "泰国" }, + { "n": "印度", "v": "印度" }, + { "n": "西班牙", "v": "西班牙" }, + { "n": "加拿大", "v": "加拿大" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "按更新", "v": "time" }, + { "n": "周人气", "v": "hits_week" }, + { "n": "月人气", "v": "hits_month" } + ] + } + ], + "29": [ + { + "key": "area", + "name": "地区", + "value": [ + { "n": "全部", "v": "" }, + { "n": "大陆", "v": "大陆" }, + { "n": "日本", "v": "日本" }, + { "n": "欧美", "v": "欧美" }, + { "n": "其他", "v": "其他" } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { "n": "全部", "v": "" }, + { "n": "2022", "v": "2022" }, + { "n": "2021", "v": "2021" }, + { "n": "2020", "v": "2020" }, + { "n": "2019", "v": "2019" }, + { "n": "2018", "v": "2018" }, + { "n": "2017", "v": "2017" }, + { "n": "2016", "v": "2016" }, + { "n": "2015", "v": "2015" }, + { "n": "2014", "v": "2014" }, + { "n": "2013", "v": "2013" }, + { "n": "2012", "v": "2012" }, + { "n": "2011", "v": "2011" }, + { "n": "2010", "v": "2010" }, + { "n": "2009", "v": "2009" }, + { "n": "2008", "v": "2008" }, + { "n": "2007", "v": "2007" }, + { "n": "2006", "v": "2006" }, + { "n": "2005", "v": "2005" }, + { "n": "2004", "v": "2004" } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { "n": "按更新", "v": "time" }, + { "n": "周人气", "v": "hits_week" }, + { "n": "月人气", "v": "hits_month" } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/美剧虫(XPF).json b/XPath/美剧虫(XPF).json new file mode 100644 index 0000000..de390ad --- /dev/null +++ b/XPath/美剧虫(XPF).json @@ -0,0 +1,1030 @@ +{ + "author":"率性而活", + + "homeUrl": "https://meijuchong.cc/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + + "cateNode": "//div[contains(@class,'myui-header_bd clearfix')]/ul[contains(@class,'myui-header__menu nav-menu')]/li/a[contains(@href, '.html')]", + + "cateName": "/text()", + + "cateNameR": "", + + "cateId": "/@href", + + "cateIdR": "/vodtype/(\\S+).html", + + "cateManual": {}, + + + "cateUrl": "https://meijuchong.cc/vodshow/area/{area}/by/{by}/class/{class}/id/{cateId}/page/{catePg}/year/{year}.html", + "cateVodNode": "//ul[contains(@class,'myui-vodlist clearfix')]/li", + "cateVodName": "//li[contains(@class,'col-lg-8 col-md-6 col-sm-4 col-xs-3')]/div/a/@title", + "cateVodId": "//li[contains(@class,'col-lg-8 col-md-6 col-sm-4 col-xs-3')]/div/a/@href", + "cateVodIdR": "/voddetail/(\\S+).html", + "cateVodImg": "//li[contains(@class,'col-lg-8 col-md-6 col-sm-4 col-xs-3')]/div/a/@data-original", + "cateVodImgR": "", + "cateVodMark": "//li[contains(@class,'col-lg-8 col-md-6 col-sm-4 col-xs-3')]/div/a/span[3]/text()", + + + // 详情页地址 用于获取详情页信息 及 播放列表和地址 + "dtUrl": "https://meijuchong.cc/voddetail/{vid}.html", + // 详情节点 + "dtNode": "//div[contains(@class,'col-lg-wide-75 col-md-wide-7 col-xs-1 padding-0')]", + // 视频名 + "dtName": "//div[contains(@class,'myui-content__thumb')]/a/@title", + "dtNameR": "", + // 视频图片 + "dtImg": "//div[contains(@class,'myui-content__thumb')]/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + + "dtCate": "//div[contains(@class,'myui-content__detail')]/p[1]/a[1]/text()", + "dtCateR": "", + "dtYear": "//div[contains(@class,'myui-content__detail')]/p[1]/a[3]/text()", + "dtYearR": "", + "dtArea": "//div[contains(@class,'myui-content__detail')]/p[1]/a[2]/text()", + "dtAreaR": "", + "dtMark": "", + "dtMarkR": "", + "dtActor": "//div[contains(@class,'myui-content__detail')]/p[3]/a/text()", + "dtActorR": "", + "dtDirector": "//div[contains(@class,'myui-content__detail')]/p[4]/a/text()", + "dtDirectorR": "", + "dtDesc": "//div[contains(@class,'myui-panel myui-panel-bg clearfix')]/div/div[2]/div/span[1]/text() +", + "dtDescR": "", + + // 播放源节点 + "dtFromNode": "//div[@class='row']/div/div[3]/div/div[1]/div/ul/li/a", + // 播放源名称 + "dtFromName": "/text()", + // 二次处理正则 + "dtFromNameR": "", + // 播放列表节点 + "dtUrlNode": "//ul[contains(@class,'myui-content__list scrollbar sort-list clearfix')]", + // 播放地址节点 + "dtUrlSubNode": "/li/a", + // 播放地址 + "dtUrlId": "/@href", + // 二次处理正则 + "dtUrlIdR": "/vodplay/(\\S+).html", + // 剧集名称 + "dtUrlName": "/text()", + // 二次处理正则 + "dtUrlNameR": "", + // 播放页面的地址 {playUrl} 对应上面 dtUrlId 获取到的地址 + "playUrl": "https://meijuchong.cc/vodplay/{playUrl}.html", + // 解析webview的user-agent + "playUa": "", + + + + "searchUrl": "https://meijuchong.cc/vodsearch.html?wd={wd}&submit=", + "scVodNode": "//div[@class='wrap']//ul[contains(@class,'myui-vodlist__media clearfix')]", + "scVodName": "//div[contains(@class,'thumb')]/a/@title", + "scVodId": "//div[contains(@class,'thumb')]/a/@href", + "scVodIdR": "/voddetail/(\\S+).html", + "scVodImg": "//div[contains(@class,'thumb')]/a/@data-original", + "scVodMark": "", + "filter": { + "1": [ + + { + "key": "class", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "家庭", + "v": "家庭" + }, + { + "n": "动作", + "v": "动作" + }, + + { + "n": "动画", + "v": "动画" + }, + { + "n": "真人秀", + "v": "真人秀" + } + + ] + }, + + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + + { + "n": "美国", + "v": "美国" + } + + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + }, + { + "n": "1999", + "v": "1999" + }, + { + "n": "1998", + "v": "1998" + }, + { + "n": "1997", + "v": "1997" + }, + { + "n": "1996", + "v": "1996" + }, + { + "n": "1995", + "v": "1995" + }, + { + "n": "1994", + "v": "1994" + }, + { + "n": "1993", + "v": "1993" + }, + { + "n": "1992", + "v": "1992" + }, + { + "n": "1991", + "v": "1991" + }, + { + "n": "1990", + "v": "1990" + } + ] + }, + + + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + + + } + ], + + +"2": [ + + { + "key": "class", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + + { + "n": "家庭", + "v": "家庭" + }, + { + "n": "动作", + "v": "动作" + }, + + { + "n": "青春", + "v": "青春" + } + + ] + }, + + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + + { + "n": "英国", + "v": "英国" + }, + + { + "n": "德国", + "v": "德国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "土耳其", + "v": "土耳其" + }, + { + "n": "墨西哥", + "v": "墨西哥" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "挪威", + "v": "挪威" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + }, + { + "n": "1999", + "v": "1999" + }, + { + "n": "1998", + "v": "1998" + }, + { + "n": "1997", + "v": "1997" + }, + { + "n": "1996", + "v": "1996" + }, + { + "n": "1995", + "v": "1995" + }, + { + "n": "1994", + "v": "1994" + }, + { + "n": "1993", + "v": "1993" + }, + { + "n": "1992", + "v": "1992" + }, + { + "n": "1991", + "v": "1991" + }, + { + "n": "1990", + "v": "1990" + } + ] + }, + + + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + + + } + ], + + "3": [ + + { + "key": "class", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + + { + "n": "剧情", + "v": "剧情" + }, + + { + "n": "悬疑", + "v": "悬疑" + } + ] + }, + + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + + { + "n": "日本", + "v": "日本" + }, + + { + "n": "韩国", + "v": "韩国" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + }, + { + "n": "1999", + "v": "1999" + }, + { + "n": "1998", + "v": "1998" + }, + { + "n": "1997", + "v": "1997" + }, + { + "n": "1996", + "v": "1996" + }, + { + "n": "1995", + "v": "1995" + }, + { + "n": "1994", + "v": "1994" + }, + { + "n": "1993", + "v": "1993" + }, + { + "n": "1992", + "v": "1992" + }, + { + "n": "1991", + "v": "1991" + }, + { + "n": "1990", + "v": "1990" + } + ] + }, + + + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + + + } + ], + +"4": [ + + { + "key": "class", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + + { + "n": "剧情", + "v": "剧情" + } + + ] + }, + + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + + { + "n": "美国", + "v": "美国" + }, + + { + "n": "英国", + "v": "英国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "加拿大", + "v": "加拿大" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + }, + { + "n": "1999", + "v": "1999" + }, + { + "n": "1998", + "v": "1998" + }, + { + "n": "1997", + "v": "1997" + }, + { + "n": "1996", + "v": "1996" + }, + { + "n": "1995", + "v": "1995" + }, + { + "n": "1994", + "v": "1994" + }, + { + "n": "1993", + "v": "1993" + }, + { + "n": "1992", + "v": "1992" + }, + { + "n": "1991", + "v": "1991" + }, + { + "n": "1990", + "v": "1990" + } + ] + }, + + + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + + + } + ] + + } +} diff --git a/XPath/耐看点播.json b/XPath/耐看点播.json new file mode 100644 index 0000000..a49a0b4 --- /dev/null +++ b/XPath/耐看点播.json @@ -0,0 +1,59 @@ +{ + "name": "耐看点播", + "url": "https://www.nkdyw.com/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/show/1--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#综艺$/show/3--------#国产动漫$/show/4-国产-------#日本动漫$/show/4-日本-------#欧美动漫$/show/4-欧美-------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/花猫影视.json b/XPath/花猫影视.json new file mode 100644 index 0000000..e8aa6f1 --- /dev/null +++ b/XPath/花猫影视.json @@ -0,0 +1,59 @@ +{ + "name": "花猫TV", + "url": "http://www.huamaotv.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\"", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/蓝光影院.json b/XPath/蓝光影院.json new file mode 100644 index 0000000..856432a --- /dev/null +++ b/XPath/蓝光影院.json @@ -0,0 +1,69 @@ +{ + "author": "20200609", + "name": "蓝光影院", + "url": "https://www.lgyy.cc", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/5--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#泰国剧$/vodshow/26--------#番剧$/vodshow/17--------#国创$/vodshow/18--------#动画片$/vodshow/27--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#惊悚片$/vodshow/20--------#犯罪片$/vodshow/21--------#冒险片$/vodshow/22--------#悬疑片$/vodshow/23--------#武侠片$/vodshow/24--------#奇幻片$/vodshow/25--------", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "
    ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "introduction-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + + "bfjiequshuzuqian": "class=\"ulNumList", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/超清影视.json b/XPath/超清影视.json new file mode 100644 index 0000000..6f1c7a5 --- /dev/null +++ b/XPath/超清影视.json @@ -0,0 +1,60 @@ +{ + "name": "VIP1280", + "url": "http://www.vip1280.net", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/frim/index1/page/#电视剧$/frim/index2/page/#港台剧$/frim/index3/page/#动作片$/frim/index6/page/#爱情片$/frim/index7/page/#科幻片$/frim/index8/page/#恐怖片$/frim/index9/page/#战争片$/frim/index10/page/#喜剧片$/frim/index11/page/#记录片$/frim/index12/page/#剧情片$/frim/index20/page/#动画片$/frim/index21/page/#欧美剧$/frim/index4/page/#日韩剧$/frim/index5/page/#泰剧$/frim/index22/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/index", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"detail-sketch\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/达达龟.json b/XPath/达达龟.json new file mode 100644 index 0000000..78cda86 --- /dev/null +++ b/XPath/达达龟.json @@ -0,0 +1,1024 @@ +{ + "author": "Tangsan99999", + "ua": "", + "homeUrl": "https://www.dadagui.me/", + "dcVipFlag": "true", + "dcPlayUrl": "true", + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'vodtype')and not(contains(@href,'20'))]", + "cateName": "/text()", + "cateId": "/@href", + "cateIdR": "/vodtype/(\\w+).html", + "cateManual": {}, + "homeVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + "homeVodName": "/@title", + "homeVodId": "/@href", + "homeVodIdR": "/voddetail/(\\w+).html", + "homeVodImg": "/@data-original", + "homeVodImgR": "\\S+(http\\S+)", + "homeVodMark": "//span[contains(@class,'pic-text')]/text()", + "cateUrl": "http://www.dadagui.me/vodshow/{cateId}-{area}-{by}-{abc}-{lang}----{catePg}---{year}.html", + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + "cateVodName": "/@title", + "cateVodId": "/@href", + "cateVodIdR": "/voddetail/(\\w+).html", + "cateVodImg": "/@data-original", + "cateVodImgR": "\\S+(http\\S+)", + "cateVodMark": "//span[contains(@class,'pic-text')]/text()", + "dtUrl": "http://www.dadagui.me/voddetail/{vid}.html", + "dtNode": "//body", + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + "dtNameR": "", + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a/img/@data-original", + "dtImgR": "\\S+(http\\S+)", + "dtCate": "//p[contains(@class,'data')][4]/text()", + "dtCateR": "\\S+:(\\S+)", + "dtYear": "//p[contains(@class,'data')][3]/text()", + "dtYearR": "\\S+:(\\S+)", + "dtArea": "//p[contains(@class,'data')][1]/text()", + "dtAreaR": "\\S+:(\\S+)", + "dtMark": "//p[contains(@class,'data')][7]/text()", + "dtMarkR": "\\S+:(\\S+)", + "dtDirector": "//p[contains(@class,'data')][6]/text()", + "dtDirectorR": "\\S+:(\\S+)", + "dtActor": "//p[contains(@class,'data')][5]/text()", + "dtActorR": "\\S+:(\\S+)", + "dtDesc": "//span[@class='detail-content']/text()", + "dtFromNode": "//h3[contains(text(), '播')]", + "dtFromName": "concat('播放源',count(parent::*/preceding::*//h3[contains(text(), '播')]) + 1)", + "dtFromNameR": "(\\S+).0", + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + "dtUrlSubNode": "/li/a", + "dtUrlId": "/@href", + "dtUrlIdR": "/vodplay/(\\S+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "http://www.dadagui.me/vodplay/{playUrl}.html", + "playUa": "", + "searchUrl": "http://www.dadagui.me/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + "scVodNode": "json:list", + "scVodName": "name", + "scVodId": "id", + "scVodIdR": "", + "scVodImg": "pic", + "scVodMark": "", + "filter": { + "1": [ + { + "key": "cateId", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "1" + }, + { + "n": "动作片", + "v": "6" + }, + { + "n": "喜剧片", + "v": "7" + }, + { + "n": "爱情片", + "v": "8" + }, + { + "n": "科幻片", + "v": "9" + }, + { + "n": "恐怖片", + "v": "10" + }, + { + "n": "剧情片", + "v": "11" + }, + { + "n": "动画片", + "v": "20" + }, + { + "n": "犯罪片", + "v": "21" + }, + { + "n": "纪录片", + "v": "22" + }, + { + "n": "音乐片", + "v": "23" + }, + { + "n": "微电影", + "v": "24" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "法语", + "v": "法语" + }, + { + "n": "德语", + "v": "德语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "abc", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + }, + { + "n": "0-9", + "v": "0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "2" + }, + { + "n": "国剧", + "v": "13" + }, + { + "n": "韩剧", + "v": "14" + }, + { + "n": "美剧", + "v": "15" + }, + { + "n": "港剧", + "v": "16" + }, + { + "n": "日剧", + "v": "25" + }, + { + "n": "台剧", + "v": "26" + }, + { + "n": "泰剧", + "v": "27" + }, + { + "n": "越剧", + "v": "28" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南语" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "法语", + "v": "法语" + }, + { + "n": "德语", + "v": "德语" + }, + { + "n": "其它", + "v": "其它" + } + ] + }, + { + "key": "abc", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + }, + { + "n": "0-9", + "v": "0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [ + { + "key": "cateId", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "4" + }, + { + "n": "国产动漫", + "v": "33" + }, + { + "n": "日本动漫", + "v": "34" + }, + { + "n": "港台动漫", + "v": "35" + }, + { + "n": "欧美动漫", + "v": "36" + }, + { + "n": "其它动漫", + "v": "37" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产", + "v": "国产" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "3" + }, + { + "n": "大陆综艺", + "v": "29" + }, + { + "n": "港台综艺", + "v": "30" + }, + { + "n": "日韩综艺", + "v": "31" + }, + { + "n": "欧美综艺", + "v": "32" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "内地", + "v": "内地" + }, + { + "n": "港台", + "v": "港台" + }, + { + "n": "日韩", + "v": "日韩" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/XPath/达龟影视.json b/XPath/达龟影视.json new file mode 100644 index 0000000..3d98d0a --- /dev/null +++ b/XPath/达龟影视.json @@ -0,0 +1,2046 @@ +{ + + "ua": "", + + "homeUrl": "http://www.dadagui.com/", + + "dcVipFlag": "true", + + "dcPlayUrl": "true", + + "cateNode": "//ul[contains(@class,'stui-header__menu')]/li/a[contains(@href, 'vodtype')and not(contains(@href,'20'))]", + + "cateName": "/text()", + + "cateId": "/@href", + + "cateIdR": "/vodtype/(\\w+).html", + + "cateManual": {}, + + "homeVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + + "homeVodName": "/@title", + + "homeVodId": "/@href", + + "homeVodIdR": "/voddetail/(\\w+).html", + + "homeVodImg": "/@data-original", + + "homeVodImgR": "\\S+(http\\S+)", + + "homeVodMark": "//span[contains(@class,'pic-text')]/text()", + + "cateUrl": "http://www.dadagui.com/vodshow/{cateId}-{area}-{by}-{abc}-{lang}----{catePg}---{year}.html", + + "cateVodNode": "//ul[contains(@class,'stui-vodlist')]/li/div/a", + + "cateVodName": "/@title", + + "cateVodId": "/@href", + + "cateVodIdR": "/voddetail/(\\w+).html", + + "cateVodImg": "/@data-original", + + "cateVodImgR": "\\S+(http\\S+)", + + "cateVodMark": "//span[contains(@class,'pic-text')]/text()", + + "dtUrl": "http://www.dadagui.com/voddetail/{vid}.html", + + "dtNode": "//body", + + "dtName": "//div[contains(@class,'stui-content__detail')]/h1/text()", + + "dtNameR": "", + + "dtImg": "//div[contains(@class,'stui-content__thumb')]/a/img/@data-original", + + "dtImgR": "\\S+(http\\S+)", + + "dtCate": "//p[contains(@class,'data')][4]/text()", + + "dtCateR": "\\S+:(\\S+)", + + "dtYear": "//p[contains(@class,'data')][3]/text()", + + "dtYearR": "\\S+:(\\S+)", + + "dtArea": "//p[contains(@class,'data')][1]/text()", + + "dtAreaR": "\\S+:(\\S+)", + + "dtMark": "//p[contains(@class,'data')][7]/text()", + + "dtMarkR": "\\S+:(\\S+)", + + "dtDirector": "//p[contains(@class,'data')][6]/text()", + + "dtDirectorR": "\\S+:(\\S+)", + + "dtActor": "//p[contains(@class,'data')][5]/text()", + + "dtActorR": "\\S+:(\\S+)", + + "dtDesc": "//span[@class='detail-content']/text()", + + "dtFromNode": "//h3[contains(text(), '播')]", + + "dtFromName": "concat('播放源',count(parent::*/preceding::*//h3[contains(text(), '播')]) + 1)", + + "dtFromNameR": "(\\S+).0", + + "dtUrlNode": "//ul[contains(@class,'stui-content__playlist')]", + + "dtUrlSubNode": "/li/a", + + "dtUrlId": "/@href", + + "dtUrlIdR": "/vodplay/(\\S+).html", + + "dtUrlName": "/text()", + + "dtUrlNameR": "", + + "playUrl": "http://www.dadagui.com/vodplay/{playUrl}.html", + + "playUa": "", + + "searchUrl": "http://www.dadagui.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=10", + + "scVodNode": "json:list", + + "scVodName": "name", + + "scVodId": "id", + + "scVodIdR": "", + + "scVodImg": "pic", + + "scVodMark": "", + + "filter": { + + "1": [ + + { + + "key": "cateId", + + "name": "剧情", + + "value": [ + + { + + "n": "全部", + + "v": "1" + + }, + + { + + "n": "动作片", + + "v": "6" + + }, + + { + + "n": "喜剧片", + + "v": "7" + + }, + + { + + "n": "爱情片", + + "v": "8" + + }, + + { + + "n": "科幻片", + + "v": "9" + + }, + + { + + "n": "恐怖片", + + "v": "10" + + }, + + { + + "n": "剧情片", + + "v": "11" + + }, + + { + + "n": "动画片", + + "v": "20" + + }, + + { + + "n": "犯罪片", + + "v": "21" + + }, + + { + + "n": "纪录片", + + "v": "22" + + }, + + { + + "n": "音乐片", + + "v": "23" + + }, + + { + + "n": "微电影", + + "v": "24" + + } + + ] + + }, + + { + + "key": "year", + + "name": "年份", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "2022", + + "v": "2022" + + }, + + { + + "n": "2021", + + "v": "2021" + + }, + + { + + "n": "2020", + + "v": "2020" + + }, + + { + + "n": "2019", + + "v": "2019" + + }, + + { + + "n": "2018", + + "v": "2018" + + }, + + { + + "n": "2017", + + "v": "2017" + + }, + + { + + "n": "2016", + + "v": "2016" + + }, + + { + + "n": "2015", + + "v": "2015" + + }, + + { + + "n": "2014", + + "v": "2014" + + }, + + { + + "n": "2013", + + "v": "2013" + + }, + + { + + "n": "2012", + + "v": "2012" + + }, + + { + + "n": "2011", + + "v": "2011" + + }, + + { + + "n": "2010", + + "v": "2010" + + } + + ] + + }, + + { + + "key": "lang", + + "name": "语言", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "国语", + + "v": "国语" + + }, + + { + + "n": "英语", + + "v": "英语" + + }, + + { + + "n": "粤语", + + "v": "粤语" + + }, + + { + + "n": "闽南语", + + "v": "闽南语" + + }, + + { + + "n": "韩语", + + "v": "韩语" + + }, + + { + + "n": "日语", + + "v": "日语" + + }, + + { + + "n": "法语", + + "v": "法语" + + }, + + { + + "n": "德语", + + "v": "德语" + + }, + + { + + "n": "其它", + + "v": "其它" + + } + + ] + + }, + + { + + "key": "abc", + + "name": "字母", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "A", + + "v": "A" + + }, + + { + + "n": "B", + + "v": "B" + + }, + + { + + "n": "C", + + "v": "C" + + }, + + { + + "n": "D", + + "v": "D" + + }, + + { + + "n": "E", + + "v": "E" + + }, + + { + + "n": "F", + + "v": "F" + + }, + + { + + "n": "G", + + "v": "G" + + }, + + { + + "n": "H", + + "v": "H" + + }, + + { + + "n": "I", + + "v": "I" + + }, + + { + + "n": "J", + + "v": "J" + + }, + + { + + "n": "K", + + "v": "K" + + }, + + { + + "n": "L", + + "v": "L" + + }, + + { + + "n": "M", + + "v": "M" + + }, + + { + + "n": "N", + + "v": "N" + + }, + + { + + "n": "O", + + "v": "O" + + }, + + { + + "n": "P", + + "v": "P" + + }, + + { + + "n": "Q", + + "v": "Q" + + }, + + { + + "n": "R", + + "v": "R" + + }, + + { + + "n": "S", + + "v": "S" + + }, + + { + + "n": "T", + + "v": "T" + + }, + + { + + "n": "U", + + "v": "U" + + }, + + { + + "n": "V", + + "v": "V" + + }, + + { + + "n": "W", + + "v": "W" + + }, + + { + + "n": "X", + + "v": "X" + + }, + + { + + "n": "Y", + + "v": "Y" + + }, + + { + + "n": "Z", + + "v": "Z" + + }, + + { + + "n": "0-9", + + "v": "0-9" + + } + + ] + + }, + + { + + "key": "by", + + "name": "排序", + + "value": [ + + { + + "n": "时间", + + "v": "time" + + }, + + { + + "n": "人气", + + "v": "hits" + + }, + + { + + "n": "评分", + + "v": "score" + + } + + ] + + } + + ], + + "2": [ + + { + + "key": "cateId", + + "name": "类型", + + "value": [ + + { + + "n": "全部", + + "v": "2" + + }, + + { + + "n": "国剧", + + "v": "13" + + }, + + { + + "n": "韩剧", + + "v": "14" + + }, + + { + + "n": "美剧", + + "v": "15" + + }, + + { + + "n": "港剧", + + "v": "16" + + }, + + { + + "n": "日剧", + + "v": "25" + + }, + + { + + "n": "台剧", + + "v": "26" + + }, + + { + + "n": "泰剧", + + "v": "27" + + }, + + { + + "n": "越剧", + + "v": "28" + + } + + ] + + }, + + { + + "key": "area", + + "name": "地区", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "内地", + + "v": "内地" + + }, + + { + + "n": "韩国", + + "v": "韩国" + + }, + + { + + "n": "香港", + + "v": "香港" + + }, + + { + + "n": "台湾", + + "v": "台湾" + + }, + + { + + "n": "日本", + + "v": "日本" + + }, + + { + + "n": "美国", + + "v": "美国" + + }, + + { + + "n": "泰国", + + "v": "泰国" + + }, + + { + + "n": "英国", + + "v": "英国" + + }, + + { + + "n": "新加坡", + + "v": "新加坡" + + }, + + { + + "n": "其他", + + "v": "其他" + + } + + ] + + }, + + { + + "key": "year", + + "name": "年份", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "2022", + + "v": "2022" + + }, + + { + + "n": "2021", + + "v": "2021" + + }, + + { + + "n": "2020", + + "v": "2020" + + }, + + { + + "n": "2019", + + "v": "2019" + + }, + + { + + "n": "2018", + + "v": "2018" + + }, + + { + + "n": "2017", + + "v": "2017" + + }, + + { + + "n": "2016", + + "v": "2016" + + }, + + { + + "n": "2015", + + "v": "2015" + + }, + + { + + "n": "2014", + + "v": "2014" + + }, + + { + + "n": "2013", + + "v": "2013" + + }, + + { + + "n": "2012", + + "v": "2012" + + }, + + { + + "n": "2011", + + "v": "2011" + + }, + + { + + "n": "2010", + + "v": "2010" + + }, + + { + + "n": "2009", + + "v": "2009" + + }, + + { + + "n": "2008", + + "v": "2008" + + }, + + { + + "n": "2007", + + "v": "2007" + + }, + + { + + "n": "2006", + + "v": "2006" + + }, + + { + + "n": "2005", + + "v": "2005" + + }, + + { + + "n": "2004", + + "v": "2004" + + } + + ] + + }, + + { + + "key": "lang", + + "name": "语言", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "国语", + + "v": "国语" + + }, + + { + + "n": "英语", + + "v": "英语" + + }, + + { + + "n": "粤语", + + "v": "粤语" + + }, + + { + + "n": "闽南语", + + "v": "闽南语" + + }, + + { + + "n": "韩语", + + "v": "韩语" + + }, + + { + + "n": "日语", + + "v": "日语" + + }, + + { + + "n": "法语", + + "v": "法语" + + }, + + { + + "n": "德语", + + "v": "德语" + + }, + + { + + "n": "其它", + + "v": "其它" + + } + + ] + + }, + + { + + "key": "abc", + + "name": "字母", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "A", + + "v": "A" + + }, + + { + + "n": "B", + + "v": "B" + + }, + + { + + "n": "C", + + "v": "C" + + }, + + { + + "n": "D", + + "v": "D" + + }, + + { + + "n": "E", + + "v": "E" + + }, + + { + + "n": "F", + + "v": "F" + + }, + + { + + "n": "G", + + "v": "G" + + }, + + { + + "n": "H", + + "v": "H" + + }, + + { + + "n": "I", + + "v": "I" + + }, + + { + + "n": "J", + + "v": "J" + + }, + + { + + "n": "K", + + "v": "K" + + }, + + { + + "n": "L", + + "v": "L" + + }, + + { + + "n": "M", + + "v": "M" + + }, + + { + + "n": "N", + + "v": "N" + + }, + + { + + "n": "O", + + "v": "O" + + }, + + { + + "n": "P", + + "v": "P" + + }, + + { + + "n": "Q", + + "v": "Q" + + }, + + { + + "n": "R", + + "v": "R" + + }, + + { + + "n": "S", + + "v": "S" + + }, + + { + + "n": "T", + + "v": "T" + + }, + + { + + "n": "U", + + "v": "U" + + }, + + { + + "n": "V", + + "v": "V" + + }, + + { + + "n": "W", + + "v": "W" + + }, + + { + + "n": "X", + + "v": "X" + + }, + + { + + "n": "Y", + + "v": "Y" + + }, + + { + + "n": "Z", + + "v": "Z" + + }, + + { + + "n": "0-9", + + "v": "0-9" + + } + + ] + + }, + + { + + "key": "by", + + "name": "排序", + + "value": [ + + { + + "n": "时间", + + "v": "time" + + }, + + { + + "n": "人气", + + "v": "hits" + + }, + + { + + "n": "评分", + + "v": "score" + + } + + ] + + } + + ], + + "4": [ + + { + + "key": "cateId", + + "name": "分类", + + "value": [ + + { + + "n": "全部", + + "v": "4" + + }, + + { + + "n": "国产动漫", + + "v": "33" + + }, + + { + + "n": "日本动漫", + + "v": "34" + + }, + + { + + "n": "港台动漫", + + "v": "35" + + }, + + { + + "n": "欧美动漫", + + "v": "36" + + }, + + { + + "n": "其它动漫", + + "v": "37" + + } + + ] + + }, + + { + + "key": "area", + + "name": "地区", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "国产", + + "v": "国产" + + }, + + { + + "n": "日本", + + "v": "日本" + + }, + + { + + "n": "欧美", + + "v": "欧美" + + }, + + { + + "n": "其他", + + "v": "其他" + + } + + ] + + }, + + { + + "key": "year", + + "name": "年份", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "2022", + + "v": "2022" + + }, + + { + + "n": "2021", + + "v": "2021" + + }, + + { + + "n": "2020", + + "v": "2020" + + }, + + { + + "n": "2019", + + "v": "2019" + + }, + + { + + "n": "2018", + + "v": "2018" + + }, + + { + + "n": "2017", + + "v": "2017" + + }, + + { + + "n": "2016", + + "v": "2016" + + }, + + { + + "n": "2015", + + "v": "2015" + + }, + + { + + "n": "2014", + + "v": "2014" + + }, + + { + + "n": "2013", + + "v": "2013" + + }, + + { + + "n": "2012", + + "v": "2012" + + }, + + { + + "n": "2011", + + "v": "2011" + + }, + + { + + "n": "2010", + + "v": "2010" + + } + + ] + + }, + + { + + "key": "by", + + "name": "排序", + + "value": [ + + { + + "n": "时间", + + "v": "time" + + }, + + { + + "n": "人气", + + "v": "hits" + + }, + + { + + "n": "评分", + + "v": "score" + + } + + ] + + } + + ], + + "3": [ + + { + + "key": "cateId", + + "name": "类型", + + "value": [ + + { + + "n": "全部", + + "v": "3" + + }, + + { + + "n": "大陆综艺", + + "v": "29" + + }, + + { + + "n": "港台综艺", + + "v": "30" + + }, + + { + + "n": "日韩综艺", + + "v": "31" + + }, + + { + + "n": "欧美综艺", + + "v": "32" + + } + + ] + + }, + + { + + "key": "year", + + "name": "年份", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "2022", + + "v": "2022" + + }, + + { + + "n": "2021", + + "v": "2021" + + }, + + { + + "n": "2020", + + "v": "2020" + + }, + + { + + "n": "2019", + + "v": "2019" + + }, + + { + + "n": "2018", + + "v": "2018" + + }, + + { + + "n": "2017", + + "v": "2017" + + }, + + { + + "n": "2016", + + "v": "2016" + + }, + + { + + "n": "2015", + + "v": "2015" + + }, + + { + + "n": "2014", + + "v": "2014" + + }, + + { + + "n": "2013", + + "v": "2013" + + }, + + { + + "n": "2012", + + "v": "2012" + + }, + + { + + "n": "2011", + + "v": "2011" + + }, + + { + + "n": "2010", + + "v": "2010" + + }, + + { + + "n": "2009", + + "v": "2009" + + }, + + { + + "n": "2008", + + "v": "2008" + + }, + + { + + "n": "2007", + + "v": "2007" + + }, + + { + + "n": "2006", + + "v": "2006" + + }, + + { + + "n": "2005", + + "v": "2005" + + }, + + { + + "n": "2004", + + "v": "2004" + + } + + ] + + }, + + { + + "key": "area", + + "name": "地区", + + "value": [ + + { + + "n": "全部", + + "v": "" + + }, + + { + + "n": "内地", + + "v": "内地" + + }, + + { + + "n": "港台", + + "v": "港台" + + }, + + { + + "n": "日韩", + + "v": "日韩" + + }, + + { + + "n": "欧美", + + "v": "欧美" + + } + + ] + + }, + + { + + "key": "by", + + "name": "排序", + + "value": [ + + { + + "n": "时间", + + "v": "time" + + }, + + { + + "n": "人气", + + "v": "hits" + + }, + + { + + "n": "评分", + + "v": "score" + + } + + ] + + } + + ] + + } + +} + diff --git a/XPath/达龟直链.json b/XPath/达龟直链.json new file mode 100644 index 0000000..a451b50 --- /dev/null +++ b/XPath/达龟直链.json @@ -0,0 +1,61 @@ +{ + "name": "达达龟", + "url": "http://www.dadagui.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + //"fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产剧$/vodshow/13--------#日韩剧$/vodshow/14--------#欧美剧$/vodshow/15--------#港台剧$/vodshow/16--------#日剧$/vodshow/25--------#台剧$/vodshow/26--------#泰剧$/vodshow/27--------#越剧$/vodshow/28--------#国产动漫$/vodshow/33--------#日本动漫$/vodshow/34--------#港台动漫$/vodshow/35--------#欧美动漫$/vodshow/36--------#其它动漫$/vodshow/37--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#动画片$/vodshow/20--------#犯罪片$/vodshow/21--------#纪录片$/vodshow/22--------#音乐片$/vodshow/23--------#微电影$/vodshow/24--------#奇幻片$/vodshow/38--------#悬疑片$/vodshow/39--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\">" +} diff --git a/XPath/酷奇视频.json b/XPath/酷奇视频.json new file mode 100644 index 0000000..073df9a --- /dev/null +++ b/XPath/酷奇视频.json @@ -0,0 +1,54 @@ +{ + "author": "vx:bktx123", + "ua": "", + "homeUrl": "https://www.kuqimv.com/play/", + "cateManual": { + "华语高清": "1", + "日韩精选": "2", + "欧美MV": "3", + "高清现场": "4", + "影视MV": "5", + "夜店现场": "6", + "车模视频": "7", + "热舞视频": "8", + "美女写真": "9", + "美女打碟": "10" + }, + "homeVodNode": "//div[@class='mv_list']/li", + "homeVodName": "/div[@class='name']/a/@title", + "homeVodId": "/div[@class='name']/a/@href", + "homeVodIdR": "/play/(\\d+).html", + "homeVodImg": "/div[@class='pic']/a/img/@src", + "homeVodMark": "concat(//div[@class='time']/text(),'-',//div[@class='singer']/a/text())", + "cateUrl": "https://www.kuqimv.com/play/{cateId}_{catePg}.html", + "cateVodNode": "//div[@class='mv_list']/li", + "cateVodName": "/div[@class='name']/a/@title", + "cateVodId": "/div[@class='name']/a/@href", + "cateVodIdR": "/play/(\\d+).html", + "cateVodImg": "/div[@class='pic']/a/img/@src", + "cateVodMark": "concat(//div[@class='time']/text(),'-',//div[@class='singer']/a/text())", + "dtUrl": "https://www.kuqimv.com/play/{vid}.html", + "dtNode": "//body", + "dtName": "//div[@class='lei_info mt']/div[2]/h1/text()", + "dtImg": "//div[@class='lei_info mt']/div[1]/img/@src", + "dtCate": "//div[@class='play_info']/li[3]/a/text()", + "dtActor": "//div[@class='play_info']/li[4]/a/text()", + "dtFromNode": "//div[@class='lei_title']/h1", + "dtFromName": "/text()", + "dtFromNameR": "(\\S+) mp4\\S+", + "dtUrlNode": "//div[@class='down_sm mt']/p[2]", + "dtUrlSubNode": "/a", + "dtUrlId": "@data-clipboard-text", + "dtUrlIdR": "\\S+/(\\d+).html", + "dtUrlName": "/text()", + "dtUrlNameR": "", + "playUrl": "https://www.kuqimv.com/play/{playUrl}.html", + "playUa": "", + "searchUrl": "https://www.kuqimv.com/search.php?key={wd}", + "scVodNode": "//div[@class='play_xg']/li", + "scVodName": "//div[@class='name']/a/@title", + "scVodId": "//div[@class='name']/a/@href", + "scVodIdR": "/play/(\\d+).html", + "scVodImg": "//div[@class='pic']/a/img/@src", + "scVodMark": "" +} \ No newline at end of file diff --git a/XPath/霸气影院.json b/XPath/霸气影院.json new file mode 100644 index 0000000..a0057e2 --- /dev/null +++ b/XPath/霸气影院.json @@ -0,0 +1,68 @@ +{ + "author": "20220608", + "name": "87影院", + "url": "https://87dyba.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/5--------#国产剧$/vodshow/201--------#港台剧$/vodshow/202--------#日韩剧$/vodshow/203--------#欧美剧$/vodshow/204--------#海外剧$/vodshow/205--------#国产动漫$/vodshow/4-中国大陆-------#日本动漫$/vodshow/4-日本-------#美国动漫$/vodshow/4-美国-------#韩国动漫$/vodshow/4-韩国-------#台湾动漫$/vodshow/4-中国台湾-------#动作片$/vodshow/101--------#喜剧片$/vodshow/102--------#爱情片$/vodshow/103--------#科幻片$/vodshow/104--------#剧情片$/vodshow/105--------#悬疑片$/vodshow/106--------#惊悚片$/vodshow/107--------#恐怖片$/vodshow/108--------#犯罪片$/vodshow/109--------", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"hl-item-thumb", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +} //播放剧集链接后关键词 diff --git a/XPath/风车动漫.json b/XPath/风车动漫.json new file mode 100644 index 0000000..e279c87 --- /dev/null +++ b/XPath/风车动漫.json @@ -0,0 +1,66 @@ +{ + "author":"20220529", + "issue":"起始页码为0,有别于其他网站都是1,无法解决,所以各类别都会少了第一页的内容", + "name": "风车动漫", + "url": "https://www.dm530p.net", + "User": "空", + "shouye": "1", + "fenlei": "日本动漫$/list/?region=日本&pagesize=24&pageindex=#国产动漫$/list/?region=中国&pagesize=24&pageindex=#欧美$/list/?region=欧美&pagesize=24&pageindex=#TV$/list/?genre=TV&pagesize=24&pageindex=#剧场版$/list/?genre=剧场版&pagesize=24&pageindex=#OVA$/list/?genre=OVA&pagesize=24&pageindex=", + "houzhui": "", + + "shifouercijiequ": "1", + "jiequqian": "class=\"lpic\">", + "jiequhou": "/div>", + "jiequshuzuqian": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/s_all?ex=1&kw=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/view/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "class=\"lpic\">", + "ssjiequhou": "/div>", + "ssjiequshuzuqian": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"movurl\"", + "bfjiequshuzuhou": "/ul>", + + "zhuangtaiqian": "

    ", + "zhuangtaihou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XPath/骚火电影.json b/XPath/骚火电影.json new file mode 100644 index 0000000..8bc1969 --- /dev/null +++ b/XPath/骚火电影.json @@ -0,0 +1,68 @@ +{ + "name": "骚火电影", + "url": "https://shdy2.com", + //"url": "https://shdy3.com", + //"url": "https://saohuo.vip/", + "User": "空", + "shouye": "1", + + //"fenlei": "国产剧$/list/20-#电影$/list/1-#电视剧$/list/2-#动漫$/list/3-#美剧$/list/23-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#动画片$/list/13-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-#香港剧$/list/21-#韩剧$/list/22-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-", + "fenlei": "国产剧$/list/20-#TVB剧$/list/21-#韩剧$/list/22-#美剧$/list/23-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-#动漫$/list/4-#亲子动漫$/list/46-#电影$/list/1-#动画片$/list/13-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"v_img\">", + "jiequshuzuhou": "

    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/search.php?searchword=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
    ", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"play_link\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"v_note\">", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "/ 主演", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"p_txt show_part\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +} diff --git a/XYQBiu/17kan_1.json b/XYQBiu/17kan_1.json new file mode 100644 index 0000000..037ebaf --- /dev/null +++ b/XYQBiu/17kan_1.json @@ -0,0 +1,113 @@ +//写法思路来海阔视界,xpath筛选。 +//本文档为完整模板,实际情况可按规则写法删去不需要的。 +{ + //规则名 + "title": "无插件直播", + //作者 + "author": "香雅情", + //请求头UA,键名$键值,每一组用#分开,不填则默认okhttp/3.12.11,可填MOBILE_UA或PC_UA使用内置的手机版或电脑版UA + //习惯查看手机源码写建议用手机版UA,习惯查看PC版源码写建议用电脑版UA + "Headers":"MOBILE_UA", + //图片需要代理 + "PicNeedProxy":"0", + //是否开启获取首页数据,0关闭,1开启 + "homeContent":"0", + //分类链接起始页码,禁止负数和含小数点。 + "firstpage": "1", + //分类链接,{cateId}是分类,{catePg}是页码,第一页没有页码的可以这样写 第二页链接[firstPage=第一页的链接] + "class_url": "http://www.17klive.com:8866/m.html{cateId}", + //分类名,分类1&分类2&分类3 + "class_name": "无插件直播", + //分类名替换词,替换词1&替换词2&替换词3,替换词包含英文&的用两个中文&&代替,示例:&&id=0&&&id=1 + "class_value": "", + //筛选数据,json格式,参考官方仓库的筛选写法 + "filterdata":{}, + //分类页面截取数据模式,0为json,1为普通网页。 + "cat_mode": "1", + + //分类列表数组定位,最多支持3层,能力有限,不是所有页面都能支持 + "cat_arr_rule": "body&&[data-position=fixed]:has(.live)", + //分类片单标题 + "cat_title": ".link--a--a&&Text", + //分类片单链接 + "cat_url": ".link&&a&&href", + //分类片单图片 + "cat_pic": "http://www.17klive.com:8866/favicon.ico", + //分类片单副标题 + "cat_subtitle":".live&&Text", + //分类片单链接补前缀 + "cat_prefix": "", + //分类片单链接补后缀 + "cat_suffix": "", + + //搜索专属请求头UA + "SHeaders":"", + //搜索链接,搜索关键字用{wd}表示,post请求的最后面加;post + //POST链接示例 http://www.lezhutv.com/index.php?m=vod-search;post + "search_url": "", + //POST搜索body,填写搜索关键字的键值,一般常见的是searchword和wd,不是POST搜索的可留空或删除。 + "sea_PtBody":"", + //搜索模式,0为json搜索,只支持列表在list数组里的,其它为网页截取。 + "search_mode": "0", + + //搜索json列表数组定位,不填默认内置list,最多支持3层,能力有限,不是所有页面都能支持。 + "sea_arr_rule": "list", + //搜索json片单图片 + "sea_pic": "pic", + //搜索json片单标题 + "sea_title": "name", + //搜索json片单链接 + "sea_url": "id", + //json片单副标题,这个很少有,预留着 + "sea_subtitle":"", + + //搜索片单链接补前缀 + "search_prefix": "", + //搜索片单链接补后缀,这个一般json搜索的需要 + "search_suffix": "", + + //片单链接是否直接播放,0否,1分类片单链接直接播放,2详情选集链接直接播放。 + //设置成直接播放后,后面3个参数请注意该留空的请务必留空。 + "force_play": "1", + //直接播放链接补前缀 + "play_prefix": "", + //直接播放链接补后缀,设置为#isVideo=true#可强制识别为视频链接 + "play_suffix": "", + //直接播放链接设置请求头,只对直链视频有效,每一组用#分开 + "play_header": "", + + //演员数据,截取前缀&&截取后缀 + "proj_actor": "", + //简介内容,截取前缀&&截取后缀 + "proj_plot": "", + + //线路截取区域,如果不需要请把tab_title或tab_arr_pre置空或者全部不要填。 + //线路截取数组前 + "tab_arr_rule": "", + //线路标题,截取前缀&&截取后缀 + "tab_title": "", + + //列表数组截取前,必须 + "list_arr_rule": "", + //集数数组截取前,必须 + "epi_arr_rule": "", + //集数标题,截取前缀&&截取后缀 + "epi_title": "", + //集数链接,截取前缀&&截取后缀 + "epi_url": "", + //集数链接补前缀 + "epiurl_prefix": "", + //集数链接补后缀 + "epiurl_suffix": "", + + //下面几个参数请勿乱用。否则可能会有副作用。 + //分析网页源码中有", + "播放列表": "javascript&&\"image\"[替换:.mp4>>你我他.mp5#/v/*你>>空#我>>/?ep=#他>><序号>]", + "播放标题": "caption\":\"&&\"", + "播放链接": "src0\":\"&&.mp5", + "播放链接前缀": "rel=\"canonical\" href=\"&&/\"[替换:https://ddrk.me>>https://ddys.tv]" +} \ No newline at end of file diff --git a/xBPQ/体育_88看球.json b/xBPQ/体育_88看球.json new file mode 100644 index 0000000..01f6447 --- /dev/null +++ b/xBPQ/体育_88看球.json @@ -0,0 +1,36 @@ +{"name": "体育-88看球", +"url": "http://www.88kanqiu.com", +"User": "空", +"是否记录历史": "1", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "group-game-item", +"jiequshuzuhou": "", +"tupianqian": "https://img0.baidu.com/it/u=18459781,726289362&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500", +"tupianhou": "\"", +"biaotiqian": "text-right\">", +"biaotihou": "
    ", +"fubiaotihou": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"game-videos-btn-container\"", +"bfjiequshuzuhou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href='", +"bflianjiehou": "'"} \ No newline at end of file diff --git a/xBPQ/体育_jrs看球.json b/xBPQ/体育_jrs看球.json new file mode 100644 index 0000000..d301584 --- /dev/null +++ b/xBPQ/体育_jrs看球.json @@ -0,0 +1,45 @@ +{"name": "体育-jrs", +"url": "http://www.jrskan.com", +"User": "空", +"是否记录历史": "1", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"qishiye": "空", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
      ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"lab_team_home\">", +"biaotihou": "
    • ", +"fubiaotihou": "
    • ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sub_playlist\"", +"bfjiequshuzuhou": "|", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

      ", +"daoyanqian": "导演:", +"daoyanhou": "

      ", +"zhuyanqian": "主演:", +"zhuyanhou": "

      ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "data-play=\"", +"bflianjiehou": "\"", +"bfqianzhui": "http://play.sportsteam333.com"} \ No newline at end of file diff --git a/xBPQ/体育_抓饭1.json b/xBPQ/体育_抓饭1.json new file mode 100644 index 0000000..6189350 --- /dev/null +++ b/xBPQ/体育_抓饭1.json @@ -0,0 +1,11 @@ +{ +"分类url": "https://m.zhuafan.tech/", +"热门推荐": "1", +"起始页": "1", +"直接播放": "1", +"数组": "{&&}", +"图片": "imageUrl\":\"&&\"", +"标题": "cname\":\"&&\"", +"链接": "id\":\"&&\"", +"链接前缀": "https://m.zhuafan.tech/" +} \ No newline at end of file diff --git a/xBPQ/体育_抓饭2.json b/xBPQ/体育_抓饭2.json new file mode 100644 index 0000000..bdae643 --- /dev/null +++ b/xBPQ/体育_抓饭2.json @@ -0,0 +1 @@ +{"分类url":"https://www.zhuafan.tech/sports-home/category/{cateId}","分类":"全部$/all#足球$Football#篮球$Basketball#羽乒$Badminton#台球$Billiards#棒球$Baseball#户外$Outdoors#搏击$Wrestling#综合$Others#棋盘$Boardgame#电竞$Popular#网球$Tennis#排球$Volleyball#聊天$Chat#原声$Acoustic","热门推荐":"1","起始页":"1","直接播放":"1","数组":"{&&}","图片":"imageUrl\":\"&&\"","标题":"cname\":\"&&\"","链接":"id\":\"&&\"","链接前缀":"https://www.zhuafan.tech/"} diff --git a/xBPQ/体育_直播吧2.json b/xBPQ/体育_直播吧2.json new file mode 100644 index 0000000..45bf85a --- /dev/null +++ b/xBPQ/体育_直播吧2.json @@ -0,0 +1 @@ +{\"站名\":\"体育-zb8\",\"分类url\":\"https://www.zhibo8.net\",\"直接播放\":\"1\",\"分类\":\"体育$空\",\"jiequshuzuqian\":\"class=\\\"match-item\\\"\",\"jiequshuzuhou\":\"\",\"tupianqian\":\"http://img2.3png.com/822d9cc2fb65cf2d60e19db4ed932934303f.png",\"tupianhou\":\"\\\"\",\"biaotiqian\":\"class=\\\"col-home flex\\\">\",\"biaotihou\":\"
    \",\"tupianqianzhui\":\"空\",\"lianjieqian\":\"href=\\\"\",\"lianjiehou\":\"\\\"\",\"ljqianzhui\":\"空\",\"fubiaotiqian\":\"class=\\\"col-time\\\">\",\"fubiaotihou\":\"\"} \ No newline at end of file diff --git a/xBPQ/体育_米尔直播.json b/xBPQ/体育_米尔直播.json new file mode 100644 index 0000000..b989a55 --- /dev/null +++ b/xBPQ/体育_米尔直播.json @@ -0,0 +1,48 @@ +{"name": "米尔体育直播", +"url": "http://match.927go.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"shouye": "1", +"编码": "GBK", +"分类页": "http://match.927go.com/{cateId}", +"分类": "直播$/index.html?fr=wem&t=", +//"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": ">点击这里刷新信号源<", +"jiequhou": "", +"jiequshuzuqian": "", +"tupianqian": "https://img0.baidu.com/it/u=959607043,1054237520&fm=253&fmt=auto&app=138&f=JPEG?w=417&h=500", +"tupianqianzhui": "空", +"biaotiqian": "中国体育彩票(站长推荐)", +"biaotihou": "", +//"fubiaotiqian": "", +//"fubiaotihou": "", +"bfjiequshuzuhou": "
    ", +//"zhuangtaiqian": "class=\"otherbox\">", +//"zhuangtaihou": "

    ", +//"daoyanqian": "导演:", +//"daoyanhou": "

    ", +//"zhuyanqian": "主演:", +//"zhuyanhou": "

    ", +//"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "target=\"pi\">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfljqianzhui": "http://match.927go.com" +} \ No newline at end of file diff --git a/xBPQ/六度TV(xBPQ).json b/xBPQ/六度TV(xBPQ).json new file mode 100644 index 0000000..17e233f --- /dev/null +++ b/xBPQ/六度TV(xBPQ).json @@ -0,0 +1,35 @@ +{ +"作者":"20220924", +"站名":"六度TV(xBPQ)", +//"请求头":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.42", +"请求头":"电脑", +"免嗅":"0", +"副标题":"pic-text text-right\">&&", +"线路标题":">&&<", +"播放数组":"class=\"stui-content__playlist&&
    ", +//"播放列表": "", +"播放标题": "_self\">&&<", +"播放链接": "href='&&'", + +"分类":"电视剧$2#动漫$3#电影$1#综艺$4#全网资源$5", +"分类url":"http://6d.wpwpzm.cn/whole/{cateId}_{area}_{class}__{year}___0_{by}_{catePg}.html", + +"搜索url":"http://6d.wpwpzm.cn/?c=search&wd={wd}", +"搜索模式":"1", +"搜索二次截取":"", +"搜索数组":"lazyload\"&&&&", +"线路标题":">&&<", +"播放数组":"class=\"stui-content__playlist&&", +"播放标题": "_self\">&&<", +"播放链接": "href='&&'", +"分类":"电视剧$2#动漫$3#电影$1#综艺$4#全网资源$5", +"分类url":"http://6d.wpwpzm.cn/whole/{cateId}_{area}_{class}__{year}___0_{by}_{catePg}.html", +"搜索url":"http://6d.wpwpzm.cn/?c=search&wd={wd}", +"搜索模式":"1", +"搜索二次截取":"", +"搜索数组":"lazyload\"&&&&", +"线路数组":"href=\"#play_&&/a>", +"线路标题":">&&<", +"播放数组":"class=\"stui-content__playlist&&", +"播放标题":"_self\">&&<", +"播放链接":"href='&&'", +"分类":"电视剧$2#动漫$3#电影$1#综艺$4#全网资源$5", +"分类url":"http://6dd.abygvar.cn/whole/{cateId}_{area}_{class}__{year}___0_{by}_{catePg}.html", + +"筛选":{ +"1":[ +{ +"name":"类型", +"key":"class", +"value":[ +{"n":"全部","v":""}, +{"n":"警匪片","v":"警匪片"}, +{"n":"恐怖片","v":"恐怖片"}, +{"n":"惊悚片","v":"惊悚片"}, +{"n":"悬疑片","v":"悬疑片"}, +{"n":"科幻片","v":"科幻片"}, +{"n":"战争片","v":"战争片"}, +{"n":"动作片","v":"动作片"}, +{"n":"喜剧片","v":"喜剧片"}, +{"n":"爱情片","v":"爱情片"}, +{"n":"微电影","v":"微电影"}, +{"n":"纪录片","v":"纪录片"}, +{"n":"剧情片","v":"剧情片"}, +{"n":"其他片","v":"其他片"} +] +}, +{ +"name":"地区", +"key":"area", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"其他","v":"其他"} +] +}, +{ +"name":"年份", +"key":"year", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"更早","v":"更早"} +] +}, + +{ +"name":"排序", +"key":"by", +"value":[ +{"n":"全部","v":"addtime"}, +{"n":"时间","v":"id"}, +{"n":"人气","v":"hits"} +] +} +], +"2":[ +{ +"name":"类型", +"key":"class", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"国产剧"}, +{"n":"日韩剧","v":"日韩剧"}, +{"n":"欧美剧","v":"欧美剧"}, +{"n":"海外剧","v":"海外剧"} +] +}, +{ +"name":"地区", +"key":"area", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"其他","v":"其他"} +] +}, +{ +"name":"年份", +"key":"year", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"更早","v":"更早"} +] +}, +{ +"name":"排序", +"key":"by", +"value":[ +{"n":"全部","v":"addtime"}, +{"n":"时间","v":"id"}, +{"n":"人气","v":"hits"} +] +} +], +"3":[ +{ +"name":"类型", +"key":"class", +"value":[ +{"n":"全部","v":""}, +{"n":"国产动漫","v":"国产动漫"}, +{"n":"日韩动漫","v":"日韩动漫"}, +{"n":"欧美动漫","v":"欧美动漫"}, +{"n":"动画片","v":"动画片"}, +{"n":"动漫片","v":"动漫片"} +] +}, +{ +"name":"地区", +"key":"area", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"其他","v":"其他"} +] +}, +{ +"name":"年份", +"key":"year", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"更早","v":"更早"} +] +}, + +{ +"name":"排序", +"key":"by", +"value":[ +{"n":"全部","v":"addtime"}, +{"n":"时间","v":"id"}, +{"n":"人气","v":"hits"} +] +} +], +"4":[ +{ +"name":"类型", +"key":"class", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆综艺","v":"大陆综艺"}, +{"n":"日韩综艺","v":"日韩综艺"}, +{"n":"欧美综艺","v":"欧美综艺"}, +{"n":"海外综艺","v":"海外综艺"} +] +}, +{ +"name":"地区", +"key":"area", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"其他","v":"其他"} +] +}, +{ +"name":"年份", +"key":"year", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"更早","v":"更早"} +] +}, + +{ +"name":"排序", +"key":"by", +"value":[ +{"n":"全部","v":"addtime"}, +{"n":"时间","v":"id"}, +{"n":"人气","v":"hits"} +] +} +], +"5":[ +{ +"name":"类型", +"key":"class", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"国产剧"}, +{"n":"日韩剧","v":"日韩剧"}, +{"n":"欧美剧","v":"欧美剧"}, +{"n":"海外剧","v":"海外剧"}, +{"n":"警匪片","v":"警匪片"}, +{"n":"恐怖片","v":"恐怖片"}, +{"n":"惊悚片","v":"惊悚片"}, +{"n":"悬疑片","v":"悬疑片"}, +{"n":"科幻片","v":"科幻片"}, +{"n":"战争片","v":"战争片"}, +{"n":"动作片","v":"动作片"}, +{"n":"喜剧片","v":"喜剧片"}, +{"n":"爱情片","v":"爱情片"}, +{"n":"微电影","v":"微电影"}, +{"n":"纪录片","v":"纪录片"}, +{"n":"剧情片","v":"剧情片"}, +{"n":"其他片","v":"其他片"}, +{"n":"国产动漫","v":"国产动漫"}, +{"n":"日韩动漫","v":"日韩动漫"}, +{"n":"欧美动漫","v":"欧美动漫"}, +{"n":"动画片","v":"动画片"}, +{"n":"动漫片","v":"动漫片"}, +{"n":"大陆综艺","v":"大陆综艺"}, +{"n":"日韩综艺","v":"日韩综艺"}, +{"n":"欧美综艺","v":"欧美综艺"}, +{"n":"海外综艺","v":"海外综艺"} +] +}, +{ +"name":"地区", +"key":"area", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"其他","v":"其他"} +] +}, +{ +"name":"年份", +"key":"year", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"更早","v":"更早"} +] +}, + +{ +"name":"排序", +"key":"by", +"value":[ +{"n":"全部","v":"addtime"}, +{"n":"时间","v":"id"}, +{"n":"人气","v":"hits"} +] +} +] +} +} + diff --git a/xBPQ/六度影院.json b/xBPQ/六度影院.json new file mode 100644 index 0000000..725710f --- /dev/null +++ b/xBPQ/六度影院.json @@ -0,0 +1,28 @@ +{ + "作者": "20220924", + "站名": "六度TV(xBPQ)", + "请求头": "电脑", + "免嗅": "0", + "副标题": "pic-text text-right\">&&", + "线路标题": ">&&<", + "播放数组": "class=\"stui-content__playlist&&", + "播放标题": "_self\">&&<", + "播放链接": "href='&&'", + "分类": "电视剧$2#动漫$3#电影$1#综艺$4#全网资源$5", + "分类url": "http://6d.wpwpzm.cn/whole/{cateId}_{area}_{class}__{year}___0_{by}_{catePg}.html", + "搜索url": "http://6d.wpwpzm.cn/?c=search&wd={wd}", + "搜索模式": "1", + "搜索二次截取": "", + "搜索数组": "lazyload\"&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text_right*\">&&", +"搜索url":"/vodsearch/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索数组":"", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索副标题":"text_right*\">&&", +"搜索链接":"href=\"&&\"", +"线路二次截取":"id=\"NumTab\"&&", +"线路数组":"", +"线路标题":"nbsp;&&<", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"剧情:&&", +"播放数组": "
      &&
    ", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电影$1#剧集$2#综艺$3#动漫$4#纪录$5", +"分类url": "https://www.lanhua.tv/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", +"筛选": +{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"101"}, +{"n":"喜剧片","v":"102"}, +{"n":"爱情片","v":"103"}, +{"n":"科幻片","v":"104"}, +{"n":"剧情片","v":"105"}, +{"n":"悬疑片","v":"106"}, +{"n":"惊悚片","v":"107"}, +{"n":"恐怖片","v":"108"}, +{"n":"犯罪片","v":"109"}, +{"n":"谍战片","v":"110"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"冒险片","v":"111"}, +{"n":"奇幻片","v":"112"}, +{"n":"灾难片","v":"113"}, +{"n":"战争片","v":"114"}, +{"n":"动画片","v":"115"}, +{"n":"歌舞片","v":"116"}, +{"n":"历史片","v":"117"}, +{"n":"传记片","v":"118"}, +{"n":"其他片","v":"119"}, +{"n":"伦理片","v":"211"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"201"}, +{"n":"港台剧","v":"202"}, +{"n":"日韩剧","v":"203"}, +{"n":"欧美剧","v":"204"}, +{"n":"海外剧","v":"205"}, +{"n":"其他剧","v":"206"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"脱口秀","v":"脱口秀"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"访谈","v":"访谈"}, +{"n":"生活","v":"生活"}, +{"n":"美食","v":"美食"}, +{"n":"亲子","v":"亲子"}, +{"n":"旅游","v":"旅游"}, +{"n":"文化","v":"文化"}, +{"n":"体育","v":"体育"}, +{"n":"时尚","v":"时尚"}, +{"n":"纪实","v":"纪实"}, +{"n":"益智","v":"益智"}, +{"n":"演艺","v":"演艺"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"音乐","v":"音乐"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"热血","v":"热血"}, +{"n":"格斗","v":"格斗"}, +{"n":"恋爱","v":"恋爱"}, +{"n":"美少女","v":"美少女"}, +{"n":"校园","v":"校园"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"机战","v":"机战"}, +{"n":"科幻","v":"科幻"}, +{"n":"青春","v":"青春"}, +{"n":"魔法","v":"魔法"}, +{"n":"神话","v":"神话"}, +{"n":"冒险","v":"冒险"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"5":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"人物","v":"人物"}, +{"n":"军事","v":"军事"}, +{"n":"历史","v":"历史"}, +{"n":"自然","v":"自然"}, +{"n":"动物","v":"动物"}, +{"n":"探险","v":"探险"}, +{"n":"科技","v":"科技"}, +{"n":"文化","v":"文化"}, +{"n":"刑侦","v":"刑侦"}, +{"n":"社会","v":"社会"}, +{"n":"旅游","v":"旅游"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/农民影视.json b/xBPQ/农民影视.json new file mode 100644 index 0000000..e670359 --- /dev/null +++ b/xBPQ/农民影视.json @@ -0,0 +1,417 @@ +{ +"作者":"张弘", +"站名":"农民影视", +"主页url":"https://v.xiangdao.me", +"请求头":"手机", +"倒序播放":"1", +"数组":"
  • &&
  • ", +"图片":"data-echo=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"&&", +"搜索模式":"1", +"搜索url":"/index.php?m=vod-search;post;wd={wd}", +"搜索二次截取":"data_list\">&&", +"搜索数组":"
  • &&
  • ", +"搜索图片":"data-src=\"&&\"", +"搜索标题":"sTit\">&&", +"搜索副标题":"sStyle\">&&", +"搜索链接":"href=\"&&\"", +"影片类型":"状态:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"介:&&

    ", +"线路数组":"
    ", +"线路标题":">&&<", +"播放数组":"numList\">&&", +"分类":"电影$1#连续剧$2#综艺$3#动漫$4", +"分类url":"https://v.xiangdao.me/vod-list-id-{cateId}-pg-{catePg}-order--by-{by}-class-0-year-{year}-letter--area-{area}-lang-.html", +"筛选":{ +"1":[ +{"key":"cateId","name":"类型","value":[ +{"n":"全部","v":"1"}, +{"n":"动作片","v":"5"}, +{"n":"喜剧片","v":"6"}, +{"n":"爱情片","v":"7"}, +{"n":"科幻片","v":"8"}, +{"n":"恐怖片","v":"9"}, +{"n":"剧情片","v":"10"}, +{"n":"战争片","v":"11"}, +{"n":"惊悚片","v":"16"}, +{"n":"奇幻片","v":"17"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}, +{"n":"1999","v":"1999"}, +{"n":"1998","v":"1998"}, +{"n":"1997","v":"1997"}, +{"n":"1996","v":"1996"}, +{"n":"1995","v":"1995"}, +{"n":"1994","v":"1994"}, +{"n":"1993","v":"1993"}, +{"n":"1992","v":"1992"}, +{"n":"1991","v":"1991"}, +{"n":"1990","v":"1990"}, +{"n":"1989","v":"1989"}, +{"n":"1988","v":"1988"}, +{"n":"1987","v":"1987"}, +{"n":"1986","v":"1986"}, +{"n":"1985","v":"1985"}, +{"n":"1984","v":"1984"}, +{"n":"1983","v":"1983"}, +{"n":"1982","v":"1982"}, +{"n":"1981","v":"1981"}, +{"n":"1980","v":"1980"}, +{"n":"1979","v":"1979"}, +{"n":"1978","v":"1978"}, +{"n":"1977","v":"1977"}, +{"n":"1976","v":"1976"}, +{"n":"1975","v":"1975"}, +{"n":"1974","v":"1974"}, +{"n":"1973","v":"1973"}, +{"n":"1972","v":"1972"}, +{"n":"1971","v":"1971"}, +{"n":"1970","v":"1970"}, +{"n":"1969","v":"1969"}, +{"n":"1968","v":"1968"}, +{"n":"1967","v":"1967"}, +{"n":"1966","v":"1966"}, +{"n":"1965","v":"1965"}, +{"n":"1964","v":"1964"}, +{"n":"1963","v":"1963"}, +{"n":"1962","v":"1962"}, +{"n":"1961","v":"1961"}, +{"n":"1960","v":"1960"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"2":[ +{"key":"cateId","name":"类型","value":[ +{"n":"全部","v":"2"}, +{"n":"国产剧","v":"12"}, +{"n":"港台泰","v":"13"}, +{"n":"日韩剧","v":"14"}, +{"n":"欧美剧","v":"15"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}, +{"n":"1999","v":"1999"}, +{"n":"1998","v":"1998"}, +{"n":"1997","v":"1997"}, +{"n":"1996","v":"1996"}, +{"n":"1995","v":"1995"}, +{"n":"1994","v":"1994"}, +{"n":"1993","v":"1993"}, +{"n":"1992","v":"1992"}, +{"n":"1991","v":"1991"}, +{"n":"1990","v":"1990"}, +{"n":"1989","v":"1989"}, +{"n":"1988","v":"1988"}, +{"n":"1987","v":"1987"}, +{"n":"1986","v":"1986"}, +{"n":"1985","v":"1985"}, +{"n":"1984","v":"1984"}, +{"n":"1983","v":"1983"}, +{"n":"1982","v":"1982"}, +{"n":"1981","v":"1981"}, +{"n":"1980","v":"1980"}, +{"n":"1979","v":"1979"}, +{"n":"1978","v":"1978"}, +{"n":"1977","v":"1977"}, +{"n":"1976","v":"1976"}, +{"n":"1975","v":"1975"}, +{"n":"1974","v":"1974"}, +{"n":"1973","v":"1973"}, +{"n":"1972","v":"1972"}, +{"n":"1971","v":"1971"}, +{"n":"1970","v":"1970"}, +{"n":"1969","v":"1969"}, +{"n":"1968","v":"1968"}, +{"n":"1967","v":"1967"}, +{"n":"1966","v":"1966"}, +{"n":"1965","v":"1965"}, +{"n":"1964","v":"1964"}, +{"n":"1963","v":"1963"}, +{"n":"1962","v":"1962"}, +{"n":"1961","v":"1961"}, +{"n":"1960","v":"1960"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"3":[ +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}, +{"n":"1999","v":"1999"}, +{"n":"1998","v":"1998"}, +{"n":"1997","v":"1997"}, +{"n":"1996","v":"1996"}, +{"n":"1995","v":"1995"}, +{"n":"1994","v":"1994"}, +{"n":"1993","v":"1993"}, +{"n":"1992","v":"1992"}, +{"n":"1991","v":"1991"}, +{"n":"1990","v":"1990"}, +{"n":"1989","v":"1989"}, +{"n":"1988","v":"1988"}, +{"n":"1987","v":"1987"}, +{"n":"1986","v":"1986"}, +{"n":"1985","v":"1985"}, +{"n":"1984","v":"1984"}, +{"n":"1983","v":"1983"}, +{"n":"1982","v":"1982"}, +{"n":"1981","v":"1981"}, +{"n":"1980","v":"1980"}, +{"n":"1979","v":"1979"}, +{"n":"1978","v":"1978"}, +{"n":"1977","v":"1977"}, +{"n":"1976","v":"1976"}, +{"n":"1975","v":"1975"}, +{"n":"1974","v":"1974"}, +{"n":"1973","v":"1973"}, +{"n":"1972","v":"1972"}, +{"n":"1971","v":"1971"}, +{"n":"1970","v":"1970"}, +{"n":"1969","v":"1969"}, +{"n":"1968","v":"1968"}, +{"n":"1967","v":"1967"}, +{"n":"1966","v":"1966"}, +{"n":"1965","v":"1965"}, +{"n":"1964","v":"1964"}, +{"n":"1963","v":"1963"}, +{"n":"1962","v":"1962"}, +{"n":"1961","v":"1961"}, +{"n":"1960","v":"1960"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"4":[ +{"key":"cateId","name":"类型","value":[ +{"n":"全部","v":"4"}, +{"n":"动漫剧","v":"18"}, +{"n":"动漫片","v":"19"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}, +{"n":"1999","v":"1999"}, +{"n":"1998","v":"1998"}, +{"n":"1997","v":"1997"}, +{"n":"1996","v":"1996"}, +{"n":"1995","v":"1995"}, +{"n":"1994","v":"1994"}, +{"n":"1993","v":"1993"}, +{"n":"1992","v":"1992"}, +{"n":"1991","v":"1991"}, +{"n":"1990","v":"1990"}, +{"n":"1989","v":"1989"}, +{"n":"1988","v":"1988"}, +{"n":"1987","v":"1987"}, +{"n":"1986","v":"1986"}, +{"n":"1985","v":"1985"}, +{"n":"1984","v":"1984"}, +{"n":"1983","v":"1983"}, +{"n":"1982","v":"1982"}, +{"n":"1981","v":"1981"}, +{"n":"1980","v":"1980"}, +{"n":"1979","v":"1979"}, +{"n":"1978","v":"1978"}, +{"n":"1977","v":"1977"}, +{"n":"1976","v":"1976"}, +{"n":"1975","v":"1975"}, +{"n":"1974","v":"1974"}, +{"n":"1973","v":"1973"}, +{"n":"1972","v":"1972"}, +{"n":"1971","v":"1971"}, +{"n":"1970","v":"1970"}, +{"n":"1969","v":"1969"}, +{"n":"1968","v":"1968"}, +{"n":"1967","v":"1967"}, +{"n":"1966","v":"1966"}, +{"n":"1965","v":"1965"}, +{"n":"1964","v":"1964"}, +{"n":"1963","v":"1963"}, +{"n":"1962","v":"1962"}, +{"n":"1961","v":"1961"}, +{"n":"1960","v":"1960"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/冷曦影视.json b/xBPQ/冷曦影视.json new file mode 100644 index 0000000..6ee825d --- /dev/null +++ b/xBPQ/冷曦影视.json @@ -0,0 +1,465 @@ +{ +"作者": "张弘", +"站名": "冷曦影视", +"主页url": "https://www.lenxi.vip/", +"数组": "
  • ", +"图片":"data-original=\"&&\"", +"标题":"a>&&", +"链接":"href=\"&&\"", +"副标题":"fed-text-center\">&&", +"搜索模式":"0", +"搜索后缀":"/v/", +"影片年代":"年份:&&
  • ", +"影片地区":"地区:&&", +"影片类型":"分类:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"剧情介绍:&&", +"线路数组": "fed-col-md2\">&&[排序:蓝光超清>爱奇艺>腾讯视频>优酷视频>搜狐视频>芒果视频>量子云>神马云]", +"线路标题": "\">&&", +"播放数组": "播放集数&&", +"播放链接前缀":"https://www.lenxi.vip", +"免嗅": "0", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"过滤词":"=http#.jpg#.png#.ico#.gif#.js", +"分类": "电影$movie#电视剧$tv#综艺$zongyi#动漫$dongman#福利$fuli#直播$zhibo#体育频道$tiyu", +"分类url": "https://www.lenxi.vip/s/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", +"筛选":{ +"movie":[ +{"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":"movie"}, +{"n":"动作片","v":"dongzuopian"}, +{"n":"喜剧片","v":"xijupian"}, +{"n":"爱情片","v":"aiqingpian"}, +{"n":"科幻片","v":"kehuanpian"}, +{"n":"恐怖片","v":"kongbupian"}, +{"n":"剧情片","v":"juqingpian"}, +{"n":"战争片","v":"zhanzhengpian"}, +{"n":"纪录片","v":"jilupian"}, +{"n":"微电影","v":"weidianying"}]}, + +{"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}]}, + +{"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"tv":[ +{"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":"tv"}, +{"n":"国产剧","v":"guochanju"}, +{"n":"港台剧","v":"gangtaiju"}, +{"n":"日韩剧","v":"rihanju"}, +{"n":"欧美剧","v":"oumeiju"}, +{"n":"泰国剧","v":"taiguoju"}]}, + +{"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}]}, + +{"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"zongyi":[ +{"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆综艺","v":"大陆综艺"}, +{"n":"港台综艺","v":"港台综艺"}, +{"n":"日韩综艺","v":"日韩综艺"}, +{"n":"欧美综艺","v":"欧美综艺"}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"}]}, + +{"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}]}, + +{"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"dongman":[ +{"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"国产动漫","v":"国产动漫"}, +{"n":"日本动漫","v":"日本动漫"}, +{"n":"欧美动漫","v":"欧美动漫"}, +{"n":"爱情","v":"爱情"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"冒险","v":"冒险"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"亲子","v":"亲子"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}]}, + +{"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"fuli":[ +{"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"VIP视频秀","v":"VIP视频秀"}, +{"n":"街拍系列","v":"街拍系列"}, +{"n":"美女视频秀","v":"美女视频秀"}, +{"n":"美女写真","v":"美女写真"}, +{"n":"嫩妹写真","v":"嫩妹写真"}, +{"n":"高跟赤足视频","v":"高跟赤足视频"}, +{"n":"展会美女","v":"展会美女"}, +{"n":"主播美女","v":"主播美女"}, +{"n":"韩国美女","v":"韩国美女"}, +{"n":"性感","v":"性感"}]}, + +{"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"zhibo":[ +{"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"电影直播","v":"dianyingzhibo"}, +{"n":"卫视直播","v":"weishizhibo"}, +{"n":"央视直播","v":"yangshizhibo"}]}, + +{"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"tiyu":[ +{"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"WWE摔跤娱乐","v":"WWE摔跤娱乐"}, +{"n":"赛车","v":"赛车"}, +{"n":"UFC终极格斗","v":"UFC终极格斗"}, +{"n":"网球","v":"网球"}, +{"n":"篮球","v":"篮球"}, +{"n":"足球","v":"足球"}, +{"n":"自行车","v":"自行车"}, +{"n":"棒球","v":"棒球"}, +{"n":"摩托车","v":"摩托车"}, +{"n":"橄榄球","v":"橄榄球"}, +{"n":"MMA综合格斗","v":"MMA综合格斗"}, +{"n":"台球","v":"台球"}, +{"n":"高尔夫","v":"高尔夫"}, +{"n":"拳击","v":"拳击"}]}, + +{"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}] + } +} \ No newline at end of file diff --git a/xBPQ/凌云影视(xBPQ).json b/xBPQ/凌云影视(xBPQ).json new file mode 100644 index 0000000..3663bf1 --- /dev/null +++ b/xBPQ/凌云影视(xBPQ).json @@ -0,0 +1,340 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "凌云影视", + "主页url": "https://www.lingyun.in", + + "分类": "电影&剧集&综艺&动漫", + "分类值": "movie&tv&variety&cartoon", + + "分类url": "https://www.lingyun.in/list/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", + + "图片": "data-src=\"&&\"", + "副标题": "icon-play\">&&", + + "搜索模式": "1", + "搜索url": "/search/wd/{wd}/page/{pg}.html", + "搜索数组": "
    &&
    ", + "搜索图片": "data-src=\"&&\"", + "搜索标题": "alt=\"&&\"", + "搜索链接": "href=\"&&\"", + "搜索副标题": "ss1\">&&", + + "影片年代": "year\">&&", + "影片地区": "地区:&&", + "影片类型": "类型:&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "sqjj_a\" style=\"display: none;\">&&[替换:(>>👉#)>>集♥]", + "线路标题": ">&&", + + "播放数组": "player ckp\">&&", + + "筛选":{ +"movie":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"剧情","v":"剧情"}, + {"n":"科幻","v":"科幻"}, + {"n":"动作","v":"动作"}, + {"n":"喜剧","v":"喜剧"}, + {"n":"爱情","v":"爱情"}, + {"n":"冒险","v":"冒险"}, + {"n":"儿童","v":"儿童"}, + {"n":"歌舞","v":"歌舞"}, + {"n":"音乐","v":"音乐"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"动画","v":"动画"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"惊悚","v":"惊悚"}, + {"n":"丧尸","v":"丧尸"}, + {"n":"战争","v":"战争"}, + {"n":"传记","v":"传记"}, + {"n":"纪录","v":"纪录"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"西部","v":"西部"}, + {"n":"灾难","v":"灾难"}, + {"n":"古装","v":"古装"}, + {"n":"武侠","v":"武侠"}, + {"n":"家庭","v":"家庭"}, + {"n":"短片","v":"短片"}, + {"n":"校园","v":"校园"}, + {"n":"文艺","v":"文艺"}, + {"n":"运动","v":"运动"}, + {"n":"青春","v":"青春"}, + {"n":"同性","v":"同性"}, + {"n":"励志","v":"励志"}, + {"n":"人性","v":"人性"}, + {"n":"美食","v":"美食"}, + {"n":"女性","v":"女性"}, + {"n":"治愈","v":"治愈"}, + {"n":"历史","v":"历史"}, + {"n":"真人秀","v":"真人秀"}, + {"n":"脱口秀","v":"脱口秀"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"美国","v":"美国"}, + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"英国","v":"英国"}, + {"n":"法国","v":"法国"}, + {"n":"德国","v":"德国"}, + {"n":"印度","v":"印度"}, + {"n":"泰国","v":"泰国"}, + {"n":"丹麦","v":"丹麦"}, + {"n":"瑞典","v":"瑞典"}, + {"n":"巴西","v":"巴西"}, + {"n":"加拿大","v":"加拿大"}, + {"n":"俄罗斯","v":"俄罗斯"}, + {"n":"意大利","v":"意大利"}, + {"n":"比利时","v":"比利时"}, + {"n":"爱尔兰","v":"爱尔兰"}, + {"n":"西班牙","v":"西班牙"}, + {"n":"澳大利亚","v":"澳大利亚"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"00年代","v":"20002009"}, + {"n":"90年代","v":"19901999"}, + {"n":"80年代","v":"19801989"}, + {"n":"更早","v":"18001979"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"tv":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"剧情","v":"剧情"}, + {"n":"喜剧","v":"喜剧"}, + {"n":"动作","v":"动作"}, + {"n":"爱情","v":"爱情"}, + {"n":"科幻","v":"科幻"}, + {"n":"动画","v":"动画"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"惊悚","v":"惊悚"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"同性","v":"同性"}, + {"n":"音乐","v":"音乐"}, + {"n":"歌舞","v":"歌舞"}, + {"n":"传记","v":"传记"}, + {"n":"历史","v":"历史"}, + {"n":"战争","v":"战争"}, + {"n":"西部","v":"西部"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"冒险","v":"冒险"}, + {"n":"灾难","v":"灾难"}, + {"n":"武侠","v":"武侠"}, + {"n":"文艺","v":"文艺"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"美国","v":"美国"}, + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"英国","v":"英国"}, + {"n":"法国","v":"法国"}, + {"n":"德国","v":"德国"}, + {"n":"印度","v":"印度"}, + {"n":"泰国","v":"泰国"}, + {"n":"丹麦","v":"丹麦"}, + {"n":"瑞典","v":"瑞典"}, + {"n":"巴西","v":"巴西"}, + {"n":"加拿大","v":"加拿大"}, + {"n":"俄罗斯","v":"俄罗斯"}, + {"n":"意大利","v":"意大利"}, + {"n":"比利时","v":"比利时"}, + {"n":"爱尔兰","v":"爱尔兰"}, + {"n":"西班牙","v":"西班牙"}, + {"n":"澳大利亚","v":"澳大利亚"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"00年代","v":"20002009"}, + {"n":"90年代","v":"19901999"}, + {"n":"80年代","v":"19801989"}, + {"n":"更早","v":"18001979"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"variety":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"选秀","v":"选秀"}, + {"n":"情感","v":"情感"}, + {"n":"访谈","v":"访谈"}, + {"n":"播报","v":"播报"}, + {"n":"旅游","v":"旅游"}, + {"n":"音乐","v":"音乐"}, + {"n":"美食","v":"美食"}, + {"n":"纪实","v":"纪实"}, + {"n":"曲艺","v":"曲艺"}, + {"n":"生活","v":"生活"}, + {"n":"游戏","v":"游戏"}, + {"n":"财经","v":"财经"}, + {"n":"职场","v":"职场"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"内地"}, + {"n":"港台","v":"港台"}, + {"n":"日韩","v":"日韩"}, + {"n":"欧美","v":"欧美"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"00年代","v":"20002009"}, + {"n":"90年代","v":"19901999"}, + {"n":"80年代","v":"19801989"}, + {"n":"更早","v":"18001979"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"cartoon":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"剧情","v":"剧情"}, + {"n":"萌系","v":"萌系"}, + {"n":"科幻","v":"科幻"}, + {"n":"日常","v":"日常"}, + {"n":"战斗","v":"战斗"}, + {"n":"战争","v":"战争"}, + {"n":"热血","v":"热血"}, + {"n":"机战","v":"机战"}, + {"n":"游戏","v":"游戏"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"恋爱","v":"恋爱"}, + {"n":"后宫","v":"后宫"}, + {"n":"百合","v":"百合"}, + {"n":"基腐","v":"基腐"}, + {"n":"冒险","v":"冒险"}, + {"n":"儿童","v":"儿童"}, + {"n":"歌舞","v":"歌舞"}, + {"n":"音乐","v":"音乐"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"惊悚","v":"惊悚"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"西部","v":"西部"}, + {"n":"灾难","v":"灾难"}, + {"n":"古装","v":"古装"}, + {"n":"武侠","v":"武侠"}, + {"n":"泡面","v":"泡面"}, + {"n":"校园","v":"校园"}, + {"n":"运动","v":"运动"}, + {"n":"体育","v":"体育"}, + {"n":"青春","v":"青春"}, + {"n":"美食","v":"美食"}, + {"n":"治愈","v":"治愈"}, + {"n":"致郁","v":"致郁"}, + {"n":"励志","v":"励志"}, + {"n":"历史","v":"历史"}, + {"n":"其他","v":"其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"美国","v":"美国"}, + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"英国","v":"英国"}, + {"n":"法国","v":"法国"}, + {"n":"德国","v":"德国"}, + {"n":"印度","v":"印度"}, + {"n":"泰国","v":"泰国"}, + {"n":"丹麦","v":"丹麦"}, + {"n":"瑞典","v":"瑞典"}, + {"n":"巴西","v":"巴西"}, + {"n":"加拿大","v":"加拿大"}, + {"n":"俄罗斯","v":"俄罗斯"}, + {"n":"意大利","v":"意大利"}, + {"n":"比利时","v":"比利时"}, + {"n":"爱尔兰","v":"爱尔兰"}, + {"n":"西班牙","v":"西班牙"}, + {"n":"澳大利亚","v":"澳大利亚"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"00年代","v":"20002009"}, + {"n":"90年代","v":"19901999"}, + {"n":"80年代","v":"19801989"}, + {"n":"更早","v":"18001979"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/凌云影视.json b/xBPQ/凌云影视.json new file mode 100644 index 0000000..84cdee7 --- /dev/null +++ b/xBPQ/凌云影视.json @@ -0,0 +1,167 @@ +{ +"作者":"张弘", +"站名":"凌云影视", +"数组":"class=\"li-img&&", +"图片":"data-src=\"&&\"", +"标题":"alt=\"&&\"", +"副标题":"class=\"icon-play\">&&", +"链接":"href=\"&&\"", +"链接前缀":"https://www.lingyun.in", +"链接后缀":"", +"搜索url":"https://www.lingyun.in/search.html?wd={wd}", +"搜索模式":"0", +"搜索链接前缀":"https://www.lingyun.in", +"搜索链接后缀":"", +"搜索副标题":"空", +"主演":"og:video:actor\" content=\"&&\"", +"简介":"og:description\" content=\"&&\"", +"线路二次截取":"py-tabs&&
    ", +"线路数组":"", +"线路标题":"class=\"\">&&", +"播放数组":"", + + "筛选":{ +"dianying":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"dianying"}, + {"n":"动作片","v":"dongzuopian"}, + {"n":"喜剧片","v":"xijupian"}, + {"n":"爱情片","v":"aiqingpian"}, + {"n":"科幻片","v":"kehuanpian"}, + {"n":"恐怖片","v":"kongbupian"}, + {"n":"剧情片","v":"juqingpian"}, + {"n":"战争片","v":"zhanzhengpian"}, + {"n":"动画片","v":"donghua"}]}, + + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"Netflix","v":"/class/Netflix"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"动作","v":"/class/动作"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"战争","v":"/class/战争"}, + {"n":"纪录片","v":"/class/纪录片"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"动画","v":"/class/动画"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"武侠","v":"/class/武侠"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"枪战","v":"/class/枪战"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"惊悚","v":"/class/惊悚"}, + {"n":"经典","v":"/class/经典"}, + {"n":"青春","v":"/class/青春"}, + {"n":"文艺","v":"/class/文艺"}, + {"n":"微电影","v":"/class/微电影"}, + {"n":"古装","v":"/class/古装"}, + {"n":"历史","v":"/class/历史"}, + {"n":"运动","v":"/class/运动"}, + {"n":"儿童","v":"/class/儿童"}, + {"n":"网络电影","v":"/class/网络电影"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"中国香港","v":"/area/中国香港"}, + {"n":"中国台湾","v":"/area/中国台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"新加坡","v":"/area/新加坡"}, + {"n":"马来西亚","v":"/area/马来西亚"}, + {"n":"印度","v":"/area/印度"}, + {"n":"英国","v":"/area/英国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"俄罗斯","v":"/area/俄罗斯"}, + {"n":"其它","v":"/area/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}, + {"n":"1990","v":"/year/1990"}, + {"n":"1980","v":"/year/1980"}, + {"n":"1970","v":"/year/1970"}, + {"n":"1960","v":"/year/1960"}, + {"n":"1950","v":"/year/1950"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"dianshiju":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"dianshiju"}, + {"n":"国产剧","v":"guochanju"}, + {"n":"港台剧","v":"gangtaiju"}, + {"n":"日韩剧","v":"rihanju"}, + {"n":"欧美剧","v":"oumeiju"}, + {"n":"泰国剧","v":"taiguoju"}]}, + + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"Netflix","v":"/class/Netflix"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"言情","v":"/class/言情"}, + {"n":"都市","v":"/class/都市"}, + {"n":"家庭","v":"/class/家庭"}, + {"n":"纪录片","v":"/class/纪录片"}, + {"n":"战争","v":"/class/战争"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"古装","v":"/class/古装"}, + {"n":"武侠","v":"/class/武侠"}, + {"n":"偶像","v":"/class/偶像"}, + {"n":"历史","v":"/class/历史"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"惊悚","v":"/class/惊悚"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"运动","v":"/class/运动"}, + {"n":"真人秀","v":"/class/真人秀"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"脱口秀","v":"/class/脱口秀"}, + {"n":"灾难","v":"/class/灾难"}, + {"n":"动作","v":"/class/动作"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"中国香港","v":"/area/中国香港"}, + {"n":"中国台湾","v":"/area/中国台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"新加坡","v":"/area/新加坡"}, + {"n":"马来西亚","v":"/area/马来西亚"}, + {"n":"印度","v":"/area/印度"}, + {"n":"英国","v":"/area/英国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"俄罗斯","v":"/area/俄罗斯"}, + {"n":"其它","v":"/area/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}, + {"n":"1990","v":"/year/1990"}, + {"n":"1980","v":"/year/1980"}, + {"n":"1970","v":"/year/1970"}, + {"n":"1960","v":"/year/1960"}, + {"n":"1950","v":"/year/1950"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"dongman":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"Netflix","v":"/class/Netflix"}, + {"n":"动画","v":"/class/动画"}, + {"n":"武侠","v":"/class/武侠"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"动作","v":"/class/动作"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"战争","v":"/class/战争"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"古装","v":"/class/古装"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"热血","v":"/class/热血"}, + {"n":"搞笑","v":"/class/搞笑"}, + {"n":"家庭","v":"/class/家庭"}, + {"n":"历史","v":"/class/历史"}, + {"n":"歌舞","v":"/class/歌舞"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"日本","v":"/area/日本"}, + {"n":"欧美","v":"/area/欧美"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}, + {"n":"1990","v":"/year/1990"}, + {"n":"1980","v":"/year/1980"}, + {"n":"1970","v":"/year/1970"}, + {"n":"1960","v":"/year/1960"}, + {"n":"1950","v":"/year/1950"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/剧迷影视(xBPQ).json b/xBPQ/剧迷影视(xBPQ).json new file mode 100644 index 0000000..6b179a9 --- /dev/null +++ b/xBPQ/剧迷影视(xBPQ).json @@ -0,0 +1,77 @@ + +{ + "name": "劇迷", + // "url": "https://gimytv.app", + // "User": "空", + "shouye": "1", + + //"fenlei": "陸剧$/genre/cn---#韩剧$/genre/kr---#美剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---#纪录片$/genre/documentary---#综艺$/genre/tv_show---#日漫$/genre/anime-日本--#美漫$/genre/anime-美國--#欧漫$/genre/anime-歐美--#陸漫$/genre/anime-大陸--#台漫$/genre/anime-臺灣--#港漫$/genre/anime-香港--#韩漫$/genre/anime-韓國--#电影$/genre/movies---#动画电影$/genre/animation---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#爱情片$/genre/romance---#奇幻片$/genre/magic---#战争片$/genre/war---#恐怖片$/genre/horror---#喜剧片$/genre/comedymovie---", + "houzhui": "/by/time.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "狀態:", + "zhuangtaihou": "

    ", + "daoyanqian": "導演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" + +//"免嗅":"0", +//"副标题":"class=\"pic-text text-center\">&&", +//"导演": "导演:&&&&", +//"播放数组":"class=\"myui-content__list sort-list scrollbar clearfix&&", +"分类":"电视剧$tvseries#电影$movies#动漫$anime#综艺$tv_show", +"分类url":"https://gimytv.com/genre/{cateId}-{area}-{year}-{catePg}/by/{by}.html" +"年份":"2000-2022", +"筛选":"0" +} diff --git a/xBPQ/剧迷影视.json b/xBPQ/剧迷影视.json new file mode 100644 index 0000000..859f07c --- /dev/null +++ b/xBPQ/剧迷影视.json @@ -0,0 +1,284 @@ +{ +"作者":"张弘", +"站名":"剧迷影视", +"主页url":"https://gmtv1.xyz", +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text-right\">&&", +"搜索url":"/search/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索数组":"class=\"thumb\">&&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"text-right\">&&", +"线路数组":"

    ", +"线路标题":">&&<", +"播放数组":"class=\"myui-content__list sort-list scrollbar clearfix\"&&", +"影片类型":"分类:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"class=\"col-pd text-collapse content\">&&

    ", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电影$movies#电视剧$tvseries#综艺$tv_show#动漫$anime", +"分类url":"https://gmtv1.xyz/genre/{cateId}-{area}-{year}-{catePg}/by/{by}.html", +"筛选": +{ +"tvseries":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"cn"}, +{"n":"韩剧","v":"kr"}, +{"n":"美剧","v":"us"}, +{"n":"日剧","v":"jp"}, +{"n":"台剧","v":"tw"}, +{"n":"港剧","v":"hk"}, +{"n":"海外剧","v":"ot"}, +{"n":"纪录片","v":"documentary"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"美国","v":"美国"}, +{"n":"欧美","v":"欧美"}, +{"n":"大陆","v":"大陆"}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"内地","v":"内地"}, +{"n":"中国","v":"中国"}, +{"n":"台湾","v":"台湾"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"日韩","v":"日韩"}, +{"n":"日本","v":"日本"}, +{"n":"英国","v":"英国"}, +{"n":"泰国","v":"泰国"}, +{"n":"欧洲","v":"欧洲"}, +{"n":"法国","v":"法国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"按更新","v":"time"}, +{"n":"周人气","v":"hits_week"}, +{"n":"月人气","v":"hits_month"} +] +} +], +"movies":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"剧情片","v":"drama"}, +{"n":"动作片","v":"action"}, +{"n":"科幻片","v":"scifi"}, +{"n":"喜剧片","v":"comedy+"}, +{"n":"爱情片","v":"romance"}, +{"n":"奇幻片","v":"magic"}, +{"n":"战争片","v":"war"}, +{"n":"恐怖片","v":"horror"}, +{"n":"动画电影","v":"animation"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"美国","v":"美国"}, +{"n":"欧美","v":"欧美"}, +{"n":"大陆","v":"大陆"}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"内地","v":"内地"}, +{"n":"中国","v":"中国"}, +{"n":"台湾","v":"台湾"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"日韩","v":"日韩"}, +{"n":"日本","v":"日本"}, +{"n":"英国","v":"英国"}, +{"n":"泰国","v":"泰国"}, +{"n":"欧洲","v":"欧洲"}, +{"n":"法国","v":"法国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"按更新","v":"time"}, +{"n":"周人气","v":"hits_week"}, +{"n":"月人气","v":"hits_month"} +] +} +], +"tv_show":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"综艺","v":"tv_show"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"韩国","v":"韩国"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"欧美","v":"欧美"}, +{"n":"日本","v":"日本"}, +{"n":"香港","v":"香港"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"按更新","v":"time"}, +{"n":"周人气","v":"hits_week"}, +{"n":"月人气","v":"hits_month"} +] +} +], +"anime":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动漫","v":"tv_show"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"欧美","v":"欧美"}, +{"n":"大陆","v":"大陆"}, +{"n":"台湾","v":"台湾"}, +{"n":"香港","v":"香港"}, +{"n":"韩国","v":"韩国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"按更新","v":"time"}, +{"n":"周人气","v":"hits_week"}, +{"n":"月人气","v":"hits_month"} +] +} +] +} +} + diff --git a/xBPQ/剧迷线上看.json b/xBPQ/剧迷线上看.json new file mode 100644 index 0000000..aabf796 --- /dev/null +++ b/xBPQ/剧迷线上看.json @@ -0,0 +1,282 @@ +{ +"作者":"张弘", +"站名":"剧迷线上看", +"主页url":"https://gimytv.tv/", +"数组":"", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text-right\">&&", +"搜索url":"https://gimytv.tv/search/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索数组":"", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"text-right\">&&", +"线路数组":"circle-o-notch\">", +"线路标题":">&&<", +"播放数组":"class=\"myui-content__list sort-list scrollbar clearfix\"&&", +"影片类型":"分類:&&

    ", +"导演":"導演:&&

    ", +"主演":"主演:&&

    ", +"简介":"class=\"col-pd text-collapse content\">&&

    ", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电视剧$tvseries#电影$movies#动漫$anime#综艺$tv_show", +"分类url":"https://gimytv.tv/genre/{cateId}-{area}-{year}-{catePg}/by/{by}.html", +"筛选": +{ +"tvseries":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆剧","v":"cn"}, +{"n":"韩剧","v":"kr"}, +{"n":"美剧","v":"us"}, +{"n":"日剧","v":"jp"}, +{"n":"台剧","v":"tw"}, +{"n":"港剧","v":"hk"}, +{"n":"海外剧","v":"ot"}, +{"n":"纪录片","v":"documentary"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"欧美","v":"歐美"}, +{"n":"美国","v":"美國"}, +{"n":"韩国","v":"韓國"}, +{"n":"日本","v":"日本"}, +{"n":"大陆","v":"大陸"}, +{"n":"台湾","v":"臺灣"}, +{"n":"香港","v":"香港"}, +{"n":"泰国","v":"泰國"}, +{"n":"英国","v":"英國"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"按更新","v":"time"}, +{"n":"周人气","v":"hits_week"}, +{"n":"月人气","v":"hits_month"} +] +} +], +"movies":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"剧情片","v":"drama"}, +{"n":"动作片","v":"action"}, +{"n":"科幻片","v":"scifi"}, +{"n":"喜剧片","v":"comedy+"}, +{"n":"爱情片","v":"romance"}, +{"n":"奇幻片","v":"magic"}, +{"n":"战争片","v":"war"}, +{"n":"恐怖片","v":"horror"}, +{"n":"动画电影","v":"animation"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"美国","v":"美國"}, +{"n":"欧美","v":"歐美"}, +{"n":"大陆","v":"大陸"}, +{"n":"中国大陆","v":"中國大陸"}, +{"n":"内地","v":"內地"}, +{"n":"中国","v":"中國"}, +{"n":"台湾","v":"臺灣"}, +{"n":"中国台湾","v":"中國臺灣"}, +{"n":"韩国","v":"韓國"}, +{"n":"香港","v":"香港"}, +{"n":"日韩","v":"日韓"}, +{"n":"日本","v":"日本"}, +{"n":"英国","v":"英國"}, +{"n":"泰国","v":"泰國"}, +{"n":"欧洲","v":"歐洲"}, +{"n":"法国","v":"法國"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"按更新","v":"time"}, +{"n":"周人气","v":"hits_week"}, +{"n":"月人气","v":"hits_month"} +] +} +], +"tv_show":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"综艺","v":"tv_show"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陸"}, +{"n":"中国大陆","v":"中國大陸"}, +{"n":"韩国","v":"韓國"}, +{"n":"台湾","v":"臺灣"}, +{"n":"美国","v":"美國"}, +{"n":"欧美","v":"歐美"}, +{"n":"日本","v":"日本"}, +{"n":"香港","v":"香港"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"按更新","v":"time"}, +{"n":"周人气","v":"hits_week"}, +{"n":"月人气","v":"hits_month"} +] +} +], +"anime":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动漫","v":"tv_show"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美國"}, +{"n":"欧美","v":"歐美"}, +{"n":"大陆","v":"大陸"}, +{"n":"台湾","v":"臺灣"}, +{"n":"香港","v":"香港"}, +{"n":"韩国","v":"韓國"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"按更新","v":"time"}, +{"n":"周人气","v":"hits_week"}, +{"n":"月人气","v":"hits_month"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/北川影视.json b/xBPQ/北川影视.json new file mode 100644 index 0000000..e48ab14 --- /dev/null +++ b/xBPQ/北川影视.json @@ -0,0 +1,404 @@ +{ +"作者":"张弘", +"站名":"北川影视", +"主页url":"https://www.bcwzg.com", +"副标题":"note\">&&

    ", +"搜索url":"https://www.bcwzg.com/vodsearch/{wd}----------{pg}---/", +"搜索模式":"1", +"搜索数组":"module-item\">&&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"note\">&&
    ", +"线路数组":"
    ", +"线路标题":"&&[替换:>>♡]+集♡", +"播放数组":"
    ", +"影片类型":"
    &&立即播放", +"导演":"导演:&&
    ", +"主演":"主演:&&
    ", +"简介":"style=\"line-height: 20px;\"&&

    ", +"播放列表":"", +"播放标题":"&&", +"播放链接":"href=\"&&\"", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"分类url":"https://www.bcwzg.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}/", +"免嗅":"1", +"筛选": +{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"儿童","v":"儿童"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"欧美剧","v":"16"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"青春偶像","v":"青春偶像"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"泰国","v":"泰国"}, +{"n":"英国","v":"英国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"情感","v":"情感"}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"亲子","v":"亲子"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/南柯电影网.json b/xBPQ/南柯电影网.json new file mode 100644 index 0000000..f24d467 --- /dev/null +++ b/xBPQ/南柯电影网.json @@ -0,0 +1,203 @@ +{ +"作者":"张弘", +"站名":"南柯电影网", +"主页url":"https://www.nkdyw.com/", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"note\">&&
    ", +"搜索模式":"1", +"搜索数组":"module-item&&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索副标题":"note\">&&", +"搜索后缀":"/detail/", +"线路数组":"
    ", +"线路标题":"&&[替换:>>♡]+集♡", +"播放数组":"
    &&
    ", +"影片类型":"module-info-tag\"&&立即播放", +"导演":"导演:&&
    ", +"主演":"主演:&&", +"简介":"

    &&

    ", +"播放列表":"", +"播放标题":"&&", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"分类url":"https://www.nkdyw.com/show/{cateId}--{by}------{catePg}---{year}.html", + +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"欧美剧","v":"16"}, +{"n":"其他剧","v":"20"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/厂长.json b/xBPQ/厂长.json new file mode 100644 index 0000000..07bbaea --- /dev/null +++ b/xBPQ/厂长.json @@ -0,0 +1,149 @@ +{ +"作者":"张弘", +"站名":"厂长资源", +"主页url":"https://www.czspp.com", +"数组":"
  • &&
  • ", +"图片":"data-original=\"&&\"", +"标题":"alt=\"&&\"", +"链接":"czspp.com&&\"", +"副标题":"span>&&", + +"搜索模式":"1", +"搜索url":"/xssearch?q={wd}&limit=500", +"搜索二次截取":"
      &&
    ", +"搜索数组":"", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索链接":"czspp.com&&\"", + +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"

    &&

    ", +"线路数组":"
    &&
    ", +"线路标题":"&&", +"播放数组":"
    &&
    ", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"czspp.com&&\"", +"分类":"本月热门$benyueremen#豆瓣电影Top250$dbtop250#最新电影$zuixindianying#高分影视$gaofenyingshi#电影$movie_bt_series/dyy#电视剧$dsj#国产剧$gcj#美剧$meijutt#韩剧$hanjutv#番剧$fanju#动漫$dm#海外剧$hwj", +"分类url": "https://www.czspp.com/{cateId}/page/{catePg}", + +"筛选": +{ +"movie_bt_series/dyy":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"huayudianying"}, +{"n":"韩国","v":"hanguodianying"}, +{"n":"日本","v":"ribendianying"}, +{"n":"美国","v":"meiguodianying"}, +{"n":"英国","v":"yingguodianying"}, +{"n":"法国","v":"faguodianying"}, +{"n":"俄罗斯","v":"eluosidianying"}, +{"n":"加拿大","v":"jianadadianying"}, +{"n":"印度","v":"yindudianying"} +] +}, +{ +"key":"cateId", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"传记","v":"chuanji"}, +{"n":"儿童","v":"etet"}, +{"n":"冒险","v":"maoxian"}, +{"n":"剧情","v":"juqing"}, +{"n":"动作","v":"dozuo"}, +{"n":"动漫","v":"doman"}, +{"n":"动画","v":"dhh"}, +{"n":"历史","v":"lishi"}, +{"n":"古装","v":"guzhuang"}, +{"n":"同性","v":"tongxing"}, +{"n":"喜剧","v":"xiju"}, +{"n":"奇幻","v":"qihuan"}, +{"n":"家庭","v":"jiating"}, +{"n":"恐怖","v":"kubu"}, +{"n":"悬疑","v":"xuanyi"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"情色","v":"qingse"}, +{"n":"惊悚","v":"kingsong"}, +{"n":"战争","v":"zhanzhen"}, +{"n":"歌舞","v":"gw"}, +{"n":"武侠","v":"wuxia"}, +{"n":"灾难","v":"zainan"}, +{"n":"爱情","v":"aiqing"}, +{"n":"犯罪","v":"fanzui"}, +{"n":"短片","v":"dp"}, +{"n":"科幻","v":"kh"}, +{"n":"纪录片","v":"jlpp"}, +{"n":"西部","v":"xb"}, +{"n":"运动","v":"yd"}, +{"n":"音乐","v":"yy"} +]} +], +"dianshiju":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"guochanju"}, +{"n":"香港","v":"gj"}, +{"n":"台湾","v":"tj"}, +{"n":"日本","v":"rj"}, +{"n":"韩国","v":"hj"}, +{"n":"美国","v":"mj"}, +{"n":"海外","v":"hwj"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"传记","v":"chuanji"}, +{"n":"儿童","v":"etet"}, +{"n":"冒险","v":"maoxian"}, +{"n":"剧情","v":"juqing"}, +{"n":"动作","v":"dozuo"}, +{"n":"动漫","v":"doman"}, +{"n":"动画","v":"dhh"}, +{"n":"历史","v":"lishi"}, +{"n":"古装","v":"guzhuang"}, +{"n":"同性","v":"tongxing"}, +{"n":"喜剧","v":"xiju"}, +{"n":"奇幻","v":"qihuan"}, +{"n":"家庭","v":"jiating"}, +{"n":"恐怖","v":"kubu"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"悬疑","v":"xuanyi"}, +{"n":"情色","v":"qingse"}, +{"n":"惊悚","v":"kingsong"}, +{"n":"战争","v":"zhanzhen"}, +{"n":"歌舞","v":"gw"}, +{"n":"武侠","v":"wuxia"}, +{"n":"灾难","v":"zainan"}, +{"n":"爱情","v":"aiqing"}, +{"n":"犯罪","v":"fanzui"}, +{"n":"真人秀","v":"zrx"}, +{"n":"短片","v":"dp"}, +{"n":"科幻","v":"kh"}, +{"n":"纪录片","v":"jlpp"}, +{"n":"西部","v":"xb"}, +{"n":"运动","v":"yd"}, +{"n":"音乐","v":"yy"}]}]}} \ No newline at end of file diff --git a/xBPQ/厂长直链.json b/xBPQ/厂长直链.json new file mode 100644 index 0000000..0d79c39 --- /dev/null +++ b/xBPQ/厂长直链.json @@ -0,0 +1,36 @@ +{ + "作者": "菜妮丝", + "站名": "厂长资源", + "主页url": "https://www.czspp.com", + + "分类": "豆瓣电影Top250$dbtop250#最新电影$zuixindianying#高分影视$gaofenyingshi#电视剧$dsj#国产剧$gcj#美剧$meijutt#韩剧$hanjutv#番剧$fanju#动漫$dm", + "分类url": "https://www.czspp.com/{cateId}/page/{catePg}", + + "数组": "
  • &&
  • ", + "图片": "data-original=\"&&\"", + "标题": "alt=\"&&\"", + "链接": "czspp.com&&\"", + + "副标题": "span>&&", + + "搜索模式": "1", + "搜索url": "/xssearch?q={wd}&limit=500", + "搜索二次截取": "
      &&
    ", + "搜索数组": "
    ", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "alt=\"&&\"", + "搜索链接": "czspp.com&&\"", + + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "

    &&

    ", + + "线路数组": "
    &&
    ", + "线路标题": "&&", + + "播放数组": "
    &&
    ", + "播放列表": "", + "播放标题": ">&&<", + "播放链接": "czspp.com&&\"" + + } \ No newline at end of file diff --git a/xBPQ/厂长资源-2.json b/xBPQ/厂长资源-2.json new file mode 100644 index 0000000..5bdd212 --- /dev/null +++ b/xBPQ/厂长资源-2.json @@ -0,0 +1,35 @@ + +{ + "免嗅": "0", + "作者":"ZXY", + "站名": "厂长资源", + "主页url": "https://www.czspp.com", + "数组": "
  • &&
  • ", + "副标题": "span>&&", + "简介": "

    &&

    ", + "搜索url": "https://www.czspp.com/xssearch?q={wd}=_all&p={pg}", + "搜索模式": "1", + "搜索前缀":"/movie/", + + "线路数组": "
    &&
    ", + "线路标题": "&&", + + "播放数组": "
    &&
    ", + "播放列表": "", + "播放标题": ">&&<", + "播放链接": "czspp.com&&\"", + + "分类": "电影$movie_bt_series/dyy#电视剧$movie_bt_series/dianshiju#动漫$movie_bt_series/dohua#豆瓣电影Top250$dbtop250", + "分类url": "https://czspp.com/movie_bt/{class}/{cateId}/page/{catePg}", + + +"筛选": "https://zhxy.neocities.org/筛选/厂长资源.json" +//类型{cateId}、剧情{class}、地区{area}、年份{year}、排序{by},{letter}字母 "{lang}语言",{catePg}翻页 + +} + + + + + + diff --git a/xBPQ/厂长资源.json b/xBPQ/厂长资源.json new file mode 100644 index 0000000..4c90dc9 --- /dev/null +++ b/xBPQ/厂长资源.json @@ -0,0 +1,110 @@ +{ +"作者":"张弘", +"站名":"厂长资源", +"主页url":"https://www.czspp.com/", +"数组":"
  • &&
  • ", +"图片":"data-original=\"&&\"", +"标题":"alt=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"span>&&", +"搜索模式":"1", +"搜索url":"/xssearch?q={wd}&f=_all&p={pg}", +"搜索数组":"
  • &&
  • ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索副标题":"jidi\">&&", +"搜索链接":"href=\"&&\"", +"影片年代":"年份:&&", +"影片地区":"地区:&&", +"影片类型":"类型:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"

    &&

    ", +"线路数组":"
    &&
    ", +"线路标题":"&&[替换:在线观看>>播放列表]", +"播放数组":"
    &&
    ", +"播放列表":"", +"播放标题":">&&<[替换:立即播放>>空]", +"播放链接":"href=\"&&\"", +"分类":"站长推荐&电影&电视剧&动画&国产剧&日剧&韩剧&美剧&海外剧&俄罗斯电影&加拿大电影&华语电影&印度电影&日本电影&欧美电影&法国电影&英国电影&韩国电影", +"分类值":"zhanchangtuijian&dyy&dianshiju&dohua&guochanju&rj&hj&mj&hwj&eluosidianying&jianadadianying&huayudianying&yindudianying&ribendianying&meiguodianying&faguodianying&yingguodianying&hanguodianying", +"分类url":"https://www.czspp.com/movie_bt/{class}/movie_bt_series/{cateId}/page/{catePg}", +"筛选":{ +"dyy":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"传记","v":"movie_bt_tags/chuanji"}, +{"n":"儿童","v":"movie_bt_tags/etet"}, +{"n":"冒险","v":"movie_bt_tags/maoxian"}, +{"n":"剧情","v":"movie_bt_tags/juqing"}, +{"n":"动作","v":"movie_bt_tags/dozuo"}, +{"n":"动漫","v":"movie_bt_tags/doman"}, +{"n":"动画","v":"movie_bt_tags/dhh"}, +{"n":"历史","v":"movie_bt_tags/lishi"}, +{"n":"古装","v":"movie_bt_tags/guzhuang"}, +{"n":"同性","v":"movie_bt_tags/tongxing"}, +{"n":"喜剧","v":"movie_bt_tags/xiju"}, +{"n":"奇幻","v":"movie_bt_tags/qihuan"}, +{"n":"家庭","v":"movie_bt_tags/jiating"}, +{"n":"恐怖","v":"movie_bt_tags/kubu"}, +{"n":"悬疑","v":"movie_bt_tags/xuanyi"}, +{"n":"情色","v":"movie_bt_tags/qingse"}, +{"n":"惊悚","v":"movie_bt_tags/kingsong"}, +{"n":"战争","v":"movie_bt_tags/zhanzhen"}, +{"n":"歌舞","v":"movie_bt_tags/gw"}, +{"n":"武侠","v":"movie_bt_tags/wuxia"}, +{"n":"灾难","v":"movie_bt_tags/zainan"}, +{"n":"爱情","v":"movie_bt_tags/aiqing"}, +{"n":"犯罪","v":"movie_bt_tags/fanzui"}, +{"n":"短片","v":"movie_bt_tags/dp"}, +{"n":"科幻","v":"movie_bt_tags/kh"}, +{"n":"纪录片","v":"movie_bt_tags/jlpp"}, +{"n":"西部","v":"movie_bt_tags/xb"}, +{"n":"运动","v":"movie_bt_tags/yd"}, +{"n":"音乐","v":"movie_bt_tags/yy"} +] +} +], +"dianshiju":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"传记","v":"movie_bt_tags/chuanji"}, +{"n":"儿童","v":"movie_bt_tags/etet"}, +{"n":"冒险","v":"movie_bt_tags/maoxian"}, +{"n":"剧情","v":"movie_bt_tags/juqing"}, +{"n":"动作","v":"movie_bt_tags/dozuo"}, +{"n":"动漫","v":"movie_bt_tags/doman"}, +{"n":"动画","v":"movie_bt_tags/dhh"}, +{"n":"历史","v":"movie_bt_tags/lishi"}, +{"n":"古装","v":"movie_bt_tags/guzhuang"}, +{"n":"同性","v":"movie_bt_tags/tongxing"}, +{"n":"喜剧","v":"movie_bt_tags/xiju"}, +{"n":"奇幻","v":"movie_bt_tags/qihuan"}, +{"n":"家庭","v":"movie_bt_tags/jiating"}, +{"n":"恐怖","v":"movie_bt_tags/kubu"}, +{"n":"悬疑","v":"movie_bt_tags/xuanyi"}, +{"n":"情色","v":"movie_bt_tags/qingse"}, +{"n":"惊悚","v":"movie_bt_tags/kingsong"}, +{"n":"战争","v":"movie_bt_tags/zhanzhen"}, +{"n":"歌舞","v":"movie_bt_tags/gw"}, +{"n":"武侠","v":"movie_bt_tags/wuxia"}, +{"n":"灾难","v":"movie_bt_tags/zainan"}, +{"n":"爱情","v":"movie_bt_tags/aiqing"}, +{"n":"犯罪","v":"movie_bt_tags/fanzui"}, +{"n":"短片","v":"movie_bt_tags/dp"}, +{"n":"科幻","v":"movie_bt_tags/kh"}, +{"n":"纪录片","v":"movie_bt_tags/jlpp"}, +{"n":"西部","v":"movie_bt_tags/xb"}, +{"n":"运动","v":"movie_bt_tags/yd"}, +{"n":"音乐","v":"movie_bt_tags/yy"} +] +} +] +} +} diff --git a/xBPQ/厂长资源11.json b/xBPQ/厂长资源11.json new file mode 100644 index 0000000..0881f09 --- /dev/null +++ b/xBPQ/厂长资源11.json @@ -0,0 +1,110 @@ +{ +"作者":"张弘", +"站名":"厂长资源", +"主页url":"https://www.czspp.com", +"数组":"
  • &&
  • ", +"图片":"data-original=\"&&\"", +"标题":"alt=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"span>&&", +"搜索模式":"1", +"搜索url":"/xssearch?q={wd}&f=_all&p={pg}", +"搜索数组":"
  • &&
  • ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索副标题":"jidi\">&&", +"搜索链接":"href=\"&&\"", +"影片年代":"年份:&&", +"影片地区":"地区:&&", +"影片类型":"类型:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"

    &&

    ", +"线路数组":"
    &&
    ", +"线路标题":"&&[替换:在线观看>>播放列表]", +"播放数组":"
    &&
    ", +"播放列表":"", +"播放标题":">&&<[替换:立即播放>>空]", +"播放链接":"href=\"&&\"", +"分类":"站长推荐&电影&电视剧&动画&国产剧&日剧&韩剧&美剧&海外剧&俄罗斯电影&加拿大电影&华语电影&印度电影&日本电影&欧美电影&法国电影&英国电影&韩国电影", +"分类值":"zhanchangtuijian&dyy&dianshiju&dohua&guochanju&rj&hj&mj&hwj&eluosidianying&jianadadianying&huayudianying&yindudianying&ribendianying&meiguodianying&faguodianying&yingguodianying&hanguodianying", +"分类url":"https://www.czspp.com/movie_bt/{class}/movie_bt_series/{cateId}/page/{catePg}", +"筛选":{ +"dyy":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"传记","v":"movie_bt_tags/chuanji"}, +{"n":"儿童","v":"movie_bt_tags/etet"}, +{"n":"冒险","v":"movie_bt_tags/maoxian"}, +{"n":"剧情","v":"movie_bt_tags/juqing"}, +{"n":"动作","v":"movie_bt_tags/dozuo"}, +{"n":"动漫","v":"movie_bt_tags/doman"}, +{"n":"动画","v":"movie_bt_tags/dhh"}, +{"n":"历史","v":"movie_bt_tags/lishi"}, +{"n":"古装","v":"movie_bt_tags/guzhuang"}, +{"n":"同性","v":"movie_bt_tags/tongxing"}, +{"n":"喜剧","v":"movie_bt_tags/xiju"}, +{"n":"奇幻","v":"movie_bt_tags/qihuan"}, +{"n":"家庭","v":"movie_bt_tags/jiating"}, +{"n":"恐怖","v":"movie_bt_tags/kubu"}, +{"n":"悬疑","v":"movie_bt_tags/xuanyi"}, +{"n":"情色","v":"movie_bt_tags/qingse"}, +{"n":"惊悚","v":"movie_bt_tags/kingsong"}, +{"n":"战争","v":"movie_bt_tags/zhanzhen"}, +{"n":"歌舞","v":"movie_bt_tags/gw"}, +{"n":"武侠","v":"movie_bt_tags/wuxia"}, +{"n":"灾难","v":"movie_bt_tags/zainan"}, +{"n":"爱情","v":"movie_bt_tags/aiqing"}, +{"n":"犯罪","v":"movie_bt_tags/fanzui"}, +{"n":"短片","v":"movie_bt_tags/dp"}, +{"n":"科幻","v":"movie_bt_tags/kh"}, +{"n":"纪录片","v":"movie_bt_tags/jlpp"}, +{"n":"西部","v":"movie_bt_tags/xb"}, +{"n":"运动","v":"movie_bt_tags/yd"}, +{"n":"音乐","v":"movie_bt_tags/yy"} +] +} +], +"dianshiju":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"传记","v":"movie_bt_tags/chuanji"}, +{"n":"儿童","v":"movie_bt_tags/etet"}, +{"n":"冒险","v":"movie_bt_tags/maoxian"}, +{"n":"剧情","v":"movie_bt_tags/juqing"}, +{"n":"动作","v":"movie_bt_tags/dozuo"}, +{"n":"动漫","v":"movie_bt_tags/doman"}, +{"n":"动画","v":"movie_bt_tags/dhh"}, +{"n":"历史","v":"movie_bt_tags/lishi"}, +{"n":"古装","v":"movie_bt_tags/guzhuang"}, +{"n":"同性","v":"movie_bt_tags/tongxing"}, +{"n":"喜剧","v":"movie_bt_tags/xiju"}, +{"n":"奇幻","v":"movie_bt_tags/qihuan"}, +{"n":"家庭","v":"movie_bt_tags/jiating"}, +{"n":"恐怖","v":"movie_bt_tags/kubu"}, +{"n":"悬疑","v":"movie_bt_tags/xuanyi"}, +{"n":"情色","v":"movie_bt_tags/qingse"}, +{"n":"惊悚","v":"movie_bt_tags/kingsong"}, +{"n":"战争","v":"movie_bt_tags/zhanzhen"}, +{"n":"歌舞","v":"movie_bt_tags/gw"}, +{"n":"武侠","v":"movie_bt_tags/wuxia"}, +{"n":"灾难","v":"movie_bt_tags/zainan"}, +{"n":"爱情","v":"movie_bt_tags/aiqing"}, +{"n":"犯罪","v":"movie_bt_tags/fanzui"}, +{"n":"短片","v":"movie_bt_tags/dp"}, +{"n":"科幻","v":"movie_bt_tags/kh"}, +{"n":"纪录片","v":"movie_bt_tags/jlpp"}, +{"n":"西部","v":"movie_bt_tags/xb"}, +{"n":"运动","v":"movie_bt_tags/yd"}, +{"n":"音乐","v":"movie_bt_tags/yy"} +] +} +] +} +} diff --git a/xBPQ/双十电影.json b/xBPQ/双十电影.json new file mode 100644 index 0000000..a23e586 --- /dev/null +++ b/xBPQ/双十电影.json @@ -0,0 +1,210 @@ +{ +"作者":"张弘", +"站名":"双十电影", +"主页url":"https://www.1010dy3.com", +"副标题":"text-right\">&&", +"搜索模式":"1", +"搜索url":"/search/page/{pg}/wd/{wd}/", +"搜索数组":"
    &&
    ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"text-right\">&&", +"搜索后缀":"/detail/", +"影片类型":"类型:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"

    &&", +"线路数组":"", +"线路标题":"class=\"title\">&&", +"播放数组":"

    ", +"影片类型":"class=\"yac\">&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"class=\"tbox_js\">&&", +"播放列表":"
  • &&
  • ", +"播放标题":"\">&&", +"播放链接":"href=\"&&\"", +"分类url":"http://www.koudaitv.com/list/{cateId}_{catePg}_desc_{by}_0_0___.html", +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":"1"}, +{"n":"动作片","v":"5"}, +{"n":"喜剧片","v":"6"}, +{"n":"爱情片","v":"7"}, +{"n":"科幻片","v":"8"}, +{"n":"恐怖片","v":"9"}, +{"n":"剧情片","v":"10"}, +{"n":"战争片","v":"11"}, +{"n":"奇幻片","v":"16"}, +{"n":"惊悚片","v":"17"}, +{"n":"动画片","v":"18"}, +{"n":"悬疑片","v":"19"}, +{"n":"犯罪片","v":"20"}, +{"n":"记录片","v":"21"}, +{"n":"音乐片","v":"22"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":"2"}, +{"n":"大陆","v":"12"}, +{"n":"港剧","v":"13"}, +{"n":"韩剧","v":"14"}, +{"n":"美剧","v":"15"}, +{"n":"日剧","v":"24"}, +{"n":"台剧","v":"25"}, +{"n":"泰剧","v":"26"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":"3"}, +{"n":"大陆综艺","v":"28"}, +{"n":"港台综艺","v":"29"}, +{"n":"日韩综艺","v":"30"}, +{"n":"欧美综艺","v":"31"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":"4"}, +{"n":"国产动漫","v":"32"}, +{"n":"日本动漫","v":"33"}, +{"n":"其他动漫","v":"35"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/叫床吧.json b/xBPQ/叫床吧.json new file mode 100644 index 0000000..6a5e643 --- /dev/null +++ b/xBPQ/叫床吧.json @@ -0,0 +1,97 @@ +{ +"站名":"叫床吧", +"主页url":"https://jiaochuanba.buzz", +"直接播放":"1", +"数组":"
    &&
    ", +"图片":"rsc=\"&&\"", +"标题":"alt=\"&&\"", +"链接":"href=\"/index.php/vod/detail/&&.html\"", +"链接前缀":"/index.php/vod/play/", +"链接后缀":"/sid/1/nid/1.html", +"主演":"影片名称:&&

    ", +"导演":"影片分类:&&

    ", +"分类":"视频一区&视频二区&视频三区&传媒一区&传媒二区", +"分类值":"1&2&3&4&5", +"分类url":"https://jiaochuanba.buzz/index.php/vod/type/id/{cateId}/page/{catePg}.html", + +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"中文资源", +"value":[ +{"v":"8","n":"主播直播"}, +{"v":"9","n":"动漫里番"}, +{"v":"10","n":"日韩综合"}, +{"v":"11","n":"欧美性爱"}, +{"v":"12","n":"中文字幕"}, +{"v":"13","n":"强奸乱伦"}, +{"v":"14","n":"制服黑丝"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"国产传媒", +"value":[ +{"n":"全部","v":""}, +{"v":"15","n":"巨乳美乳"}, +{"v":"16","n":"变态调教"}, +{"v":"17","n":"自拍偷拍"}, +{"v":"18","n":"熟女人妻"}, +{"v":"19","n":"日本无码"}, +{"v":"20","n":"日本有码"}, +{"v":"21","n":"少女萝莉"}, +{"v":"22","n":"三级伦理"} +] +} +], +"3":[ +{ +"key":"cateId", +"name":"超清资源", +"value":[ +{"n":"全部","v":""}, +{"v":"23","n":"明星偶像"}, +{"v":"24","n":"美女模特"}, +{"v":"25","n":"AI换脸"} +] +} +], +"4":[ +{ +"key":"cateId", +"name":"久久热资源", +"value":[ +{"n":"全部","v":""}, +{"v":"26","n":"麻豆视频"}, +{"v":"27","n":"91制片厂"}, +{"v":"28","n":"天美传媒"}, +{"v":"29","n":"蜜桃传媒"}, +{"v":"30","n":"皇家华人"}, +{"v":"31","n":"星空传媒"}, +{"v":"32","n":"精东影业"}, +{"v":"33","n":"乐播传媒"} +] +} +], +"5":[ +{ +"key":"cateId", +"name":"废柴网资源", +"value":[ +{"n":"全部","v":""}, +{"v":"35","n":"兔子先生"}, +{"v":"36","n":"杏吧原创"}, +{"v":"37","n":"玩偶姐姐"}, +{"v":"38","n":"mini传媒"}, +{"v":"39","n":"大象传媒"}, +{"v":"40","n":"开心鬼传媒"}, +{"v":"41","n":"PsychoPorn"}, +{"v":"42","n":"糖心Vlog"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/可乐影视.json b/xBPQ/可乐影视.json new file mode 100644 index 0000000..9cc7349 --- /dev/null +++ b/xBPQ/可乐影视.json @@ -0,0 +1,12 @@ +{ + "免嗅": "1", + "导演": "导演:&&", + "播放标题": "span>&&<", + "副标题": "class=\"module-item-note\">&&", + "线路数组": "class=\"module-tab-item tab-item&&", + "线路标题": "&&", + "播放数组": "class=\"module-play-list&&", + "分类url": "https://cokemv.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html" +} diff --git a/xBPQ/听书网.json b/xBPQ/听书网.json new file mode 100644 index 0000000..d15d714 --- /dev/null +++ b/xBPQ/听书网.json @@ -0,0 +1,21 @@ + +{"站名": "听书网", +"主页url": "https://www.tingbook.cc", +"数组": "class=\"col-12 col-m-24 col3-\"&&

    ", +"图片": "src=\"&&\"", +"标题": "alt=\"&&\"", +"链接": "href=\"&&\"", +"图片前缀": "https://www.tingbook.cc", +"状态": "> &&", +"搜索url": "https://www.tingbook.cc/search.php?searchword={wd}", +"搜索图片前缀":"https://www.tingbook.cc", +"播放数组": "class=\"tx-title2 f-16 f-bold&&", +"导演":"作者:&&  ", +"主演":"播音:&&

    ", +"简介":"播音,&&

    ", +"播放列表":"", +"播放标题":"title=\"&&\"", +"播放链接":"href=\"&&\"", +"分类":"玄幻$1#武侠$2#都市$3#言情$4#科幻$5#推理$6#恐怖$7#惊悚$8#历史$9#军事$10#网游$11#官商$12#评书$13#相声$14#文学$15#儿童$16#穿越$28#娱乐$29#笑话$30#戏曲$31#其它$32#百家讲坛$33", +"分类url":"https://www.tingbook.cc/book/{cateId}-{catePg}.html" +} diff --git a/xBPQ/吼吼(xBPQ).json b/xBPQ/吼吼(xBPQ).json new file mode 100644 index 0000000..31df885 --- /dev/null +++ b/xBPQ/吼吼(xBPQ).json @@ -0,0 +1,268 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "吼吼", + "主页url": "https://www.hoho.tv", + + "分类": "电影&连续剧&综艺&动漫&纪录片", + "分类值": "1&2&3&4&20", + + "分类url": "https://hoho.tv/vod/show/{cateId}{area}{class}/page/{catePg}{year}.html", + + "数组": "module-item\">&&module-item-titlebox\">", + "副标题": "module-item-caption\">&&", + + "搜索模式": "0", + "搜索后缀": "/vod/detail/id/", + + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "vod_content\">&&", + "线路标题": "&&
    [替换:>>👉]+集♥", + + "播放数组": "
    ", + + "筛选":{ +"1":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"1"}, + {"n":"动作片","v":"6"}, + {"n":"喜剧片","v":"7"}, + {"n":"爱情片","v":"8"}, + {"n":"科幻片","v":"9"}, + {"n":"恐怖片","v":"10"}, + {"n":"剧情片","v":"11"}, + {"n":"战争片","v":"12"}, + {"n":"灾难片","v":"29"}, + {"n":"悬疑片","v":"32"}, + {"n":"冒险片","v":"30"}]}, + + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"动作","v":"/class/动作"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"战争","v":"/class/战争"}, + {"n":"警匪","v":"/class/警匪"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"动画","v":"/class/动画"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"武侠","v":"/class/武侠"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"枪战","v":"/class/枪战"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"惊悚","v":"/class/惊悚"}, + {"n":"经典","v":"/class/经典"}, + {"n":"青春","v":"/class/青春"}, + {"n":"文艺","v":"/class/文艺"}, + {"n":"微电影","v":"/class/微电影"}, + {"n":"古装","v":"/class/古装"}, + {"n":"历史","v":"/class/历史"}, + {"n":"运动","v":"/class/运动"}, + {"n":"农村","v":"/class/农村"}, + {"n":"儿童","v":"/class/儿童"}, + {"n":"网络电影","v":"/class/网络电影"}, + {"n":"Top美剧","v":"/class/Top美剧"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"意大利","v":"/area/意大利"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}]}], + +"2":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"2"}, + {"n":"国产剧","v":"13"}, + {"n":"港台剧","v":"14"}, + {"n":"日韩剧","v":"15"}, + {"n":"美剧","v":"16"}]}, + + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"刑侦","v":"/class/刑侦"}, + {"n":"古装","v":"/class/古装"}, + {"n":"战争","v":"/class/战争"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"家庭","v":"/class/家庭"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"动作","v":"/class/动作"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"历史","v":"/class/历史"}, + {"n":"经典","v":"/class/经典"}, + {"n":"乡村","v":"/class/乡村"}, + {"n":"商战","v":"/class/商战"}, + {"n":"网剧","v":"/class/网剧"}, + {"n":"其他","v":"/class/其他"}, + {"n":"Top美剧","v":"/class/Top美剧"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"/area/内地"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"日本","v":"/area/日本"}, + {"n":"美国","v":"/area/美国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"新加坡","v":"/area/新加坡"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}]}], + +"3":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"选秀","v":"/class/选秀"}, + {"n":"情感","v":"/class/情感"}, + {"n":"访谈","v":"/class/访谈"}, + {"n":"播报","v":"/class/播报"}, + {"n":"旅游","v":"/class/旅游"}, + {"n":"音乐","v":"/class/音乐"}, + {"n":"美食","v":"/class/美食"}, + {"n":"纪实","v":"/class/纪实"}, + {"n":"曲艺","v":"/class/曲艺"}, + {"n":"生活","v":"/class/生活"}, + {"n":"游戏","v":"/class/游戏"}, + {"n":"互动","v":"/class/互动"}, + {"n":"财经","v":"/class/财经"}, + {"n":"求职","v":"/class/求职"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"/area/内地"}, + {"n":"港台","v":"/area/港台"}, + {"n":"日韩","v":"/area/日韩"}, + {"n":"欧美","v":"/area/欧美"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}]}], + +"4":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"情感","v":"/class/情感"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"热血","v":"/class/热血"}, + {"n":"推理","v":"/class/推理"}, + {"n":"搞笑","v":"/class/搞笑"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"萝莉","v":"/class/萝莉"}, + {"n":"校园","v":"/class/校园"}, + {"n":"动作","v":"/class/动作"}, + {"n":"机战","v":"/class/机战"}, + {"n":"运动","v":"/class/运动"}, + {"n":"战争","v":"/class/战争"}, + {"n":"少年","v":"/class/少年"}, + {"n":"少女","v":"/class/少女"}, + {"n":"社会","v":"/class/社会"}, + {"n":"原创","v":"/class/原创"}, + {"n":"亲子","v":"/class/亲子"}, + {"n":"益智","v":"/class/益智"}, + {"n":"励志","v":"/class/励志"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"国产","v":"/area/国产"}, + {"n":"日本","v":"/area/日本"}, + {"n":"欧美","v":"/area/欧美"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}]}], + +"20":[ + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}]}]} +} \ No newline at end of file diff --git a/xBPQ/喵喵电影(xBPQ).json b/xBPQ/喵喵电影(xBPQ).json new file mode 100644 index 0000000..e7d798b --- /dev/null +++ b/xBPQ/喵喵电影(xBPQ).json @@ -0,0 +1,31 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "喵喵电影", + "主页url": "https://www.2345ka.com", + + "分类": "电影&电视剧&综艺&动漫&音乐", + "分类值": "1&2&3&4&6", + + "分类url": "https://www.2345ka.com/t/{cateId}/{catePg}.html", + + "二次截取": "movie-list-body flex\">&&
    ", + "标题": "title=\"&&\"[替换:影片信息>>空]", + + "搜索模式": "1", + "搜索url": "/s/{wd}/{pg}.html", + "搜索数组": "
    &&txtHide\">", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "title=\"&&\"", + "搜索链接": "href=\"&&\"", + + "主演": "演员:&&

    ", + "简介": "detailsTxt\">&&", + "线路标题": ">&&<[替换:(>>👉#)>>集♥]", + + "播放数组": "
      ", + "播放列表": "", + "播放标题": ">&&<", + "播放链接": "href=\"&&\"" +} \ No newline at end of file diff --git a/xBPQ/嗷呜视频(xBPQ).json b/xBPQ/嗷呜视频(xBPQ).json new file mode 100644 index 0000000..2ad9da1 --- /dev/null +++ b/xBPQ/嗷呜视频(xBPQ).json @@ -0,0 +1,19 @@ +{ +"免嗅":"1", +"播放标题":"span>&&<", +"导演": "导演:&&", +"分类":"数字||$124", +"副标题":"class=\"module-item-note\">&&
    ", +"线路数组": "class=\"module-tab-item tab-item&&
    ", +"线路标题": "&&", +"播放数组":"class=\"module-play-list-content&&
    ", +"分类url":"http://www.cx99999.cn/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html" +} + + + + + +//{\"免嗅\":\"1\",\"播放标题\":\"span>&&<\",\"导演\": \"导演:&&\",\"分类\":\"数字||$124\",\"副标题\":\"class=\\\"module-item-note\\\">&&\",\"线路数组\": \"class=\\\"module-tab-item tab-item&&\",\"线路标题\": \"&&\",\"播放数组\":\"class=\\\"module-play-list-content&&\",\"分类url\":\"http://www.cx99999.cn/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html\"} diff --git a/xBPQ/四虎影院.json b/xBPQ/四虎影院.json new file mode 100644 index 0000000..d8d2241 --- /dev/null +++ b/xBPQ/四虎影院.json @@ -0,0 +1,98 @@ +{ +"站名": "四虎影院>", +"主页url": "https://www.cok567.com/", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"线路数组": "
    &&
    ", +"线路标题": ">&&", +"搜索模式":"1", +"搜索url":"https://www.cok567.com/searchs/index.php?keyboard={wd}&classid=", +"搜索链接前缀":"https://www.cok567.com", +"搜索链接后缀":"", + +"播放数组": "
    ", +"状态": "分类:&&

    ", +"导演": "导演:&&

    ", +"主演": "主演:&&

    ", +"简介": "名称:&&", +"播放列表": "", +"播放标题": ">&&<", +"播放链接":"href=\"&&\"", +"分类":"国产$video#女优$av#电影$movie", +"分类url":"https://www.cok567.com/{cateId}/{class}/index_{catePg}.html", +"筛选":{ +"video":[ +{ +"key":"cateId", +"name":"分类", +"value":[ +{"n":"国产","v":"video"} +] +}, +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"国产","v":""}, +{"n":"自拍视频","v":"zipai"}, +{"n":"淫妻作乐","v":"fuqi"}, +{"n":"开放青年","v":"kaifang"}, +{"n":"精品分享","v":"jingpin"}, +{"n":"台湾辣妹","v":"twmn"}, +{"n":"韩国主播","v":"krzb"}, +{"n":"动漫卡通","v":"dongman"}, +{"n":"经典三级","v":"sanji"} +] +} +], +"av":[ +{ +"key":"cateId", +"name":"分类", +"value":[ +{"n":"女优","v":"av"} +] +}, +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"女优","v":""}, +{"n":"女性向纯爱","v":"nxx"}, +{"n":"GIGA女战士","v":"giga"}, +{"n":"波多野结衣","v":"bdyjy"}, +{"n":"深田咏美","v":"stym"}, +{"n":"桥本有菜","v":"qbyc"}, +{"n":"苍井空","v":"cjk"}, +{"n":"三上悠亚","v":"ssyy"}, +{"n":"吉泽明步","v":"jzmb"} +] +} +], +"movie":[ +{ +"key":"cateId", +"name":"分类", +"value":[ +{"n":"电影","v":"movie"} +] +}, +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"电影","v":""}, +{"n":"无码中字","v":"wuma"}, +{"n":"SM系列","v":"sm"}, +{"n":"高清无码","v":"gaoqing"}, +{"n":"熟女人妻","v":"shunv"}, +{"n":"美颜巨乳","v":"meiyan"}, +{"n":"丝袜制服","v":"siwa"}, +{"n":"中字有码","v":"youma"}, +{"n":"欧美系列","v":"oumei"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/国产传媒.json b/xBPQ/国产传媒.json new file mode 100644 index 0000000..b136a75 --- /dev/null +++ b/xBPQ/国产传媒.json @@ -0,0 +1,22 @@ +{"name": "国产传媒", +"url": "https://www.jokerlu117.info", +"tihuan": "cnzz.com", +"User": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; Mi9 Pro 5G Build/QKQ1.190825.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/11.0 Mobile Safari/537.36 COVC/045429", +"直接播放": "1", +"列表显示": "0", +"横图显示": "0", +"shouye": "1", +"fenlei": "麻豆视频$/index.php/vodtype/121-#91制片厂$/index.php/vodtype/122-#天美传媒$/index.php/vodtype/123-#蜜桃传媒$/index.php/vodtype/124-#皇家华人$/index.php/vodtype/125-#星空传媒$/index.php/vodtype/126-#京东影业$/index.php/vodtype/127-#乐播传媒$/index.php/vodtype/128-#成人头条$/index.php/vodtype/129-#乌鸦传媒$/index.php/vodtype/130-#兔子先生$/index.php/vodtype/131-#性吧原创$/index.php/vodtype/132-#玩偶姐姐$/index.php/vodtype/133-#mini传媒$/index.php/vodtype/134-#大象传媒$/index.php/vodtype/135-#开心鬼传媒$/index.php/vodtype/136-#PsychoPom$/index.php/vodtype/137-#糖心Vlog$/index.php/vodtype/138-#葫芦影业$/index.php/vodtype/139-#鲸鱼传媒$/index.php/vodtype/140-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-md-2 resent-grid recommended-grid sports-recommended-grid", +"jiequshuzuhou": "
    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"" +} \ No newline at end of file diff --git a/xBPQ/国产视频.json b/xBPQ/国产视频.json new file mode 100644 index 0000000..5c2cc0d --- /dev/null +++ b/xBPQ/国产视频.json @@ -0,0 +1,22 @@ +{"name": "国产视频", +"url": "https://www.jokerlu117.info", +"tihuan": "cnzz.com", +"User": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; Mi9 Pro 5G Build/QKQ1.190825.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/11.0 Mobile Safari/537.36 COVC/045429", +"直接播放": "1", +"列表显示": "0", +"横图显示": "0", +"shouye": "1", +"fenlei": "国产精品$/index.php/vodtype/10-#精品三级$/index.php/vodtype/11-#主播大秀$/index.php/vodtype/12-#抖阴视频$/index.php/vodtype/13-#国模私拍$/index.php/vodtype/14-#颜射瞬间$/index.php/vodtype/15-#女神学生$/index.php/vodtype/16-#美熟少妇$/index.php/vodtype/17-#娇妻素人$/index.php/vodtype/18-#空姐模特$/index.php/vodtype/19-#国产乱伦$/index.php/vodtype/20-#专题$/index.php/vodtype/26-#自慰群交$/index.php/vodtype/21-#野合车震$/index.php/vodtype/22-#职场同事$/index.php/vodtype/23-#国产名人$/index.php/vodtype/24-#网曝门事件$/index.php/vodtype/25-#偷拍自拍$/index.php/vodtype/57-#深夜保健室$/index.php/vodtype/99-#北京天使$/index.php/vodtype/119-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-md-2 resent-grid recommended-grid sports-recommended-grid", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"" +} \ No newline at end of file diff --git a/xBPQ/图图(xbpq).json b/xBPQ/图图(xbpq).json new file mode 100644 index 0000000..a0f850d --- /dev/null +++ b/xBPQ/图图(xbpq).json @@ -0,0 +1,75 @@ +{ + "作者": "劳思", + "站名": "图图", + "主页url": "", + "请求头": "", + "热门推荐": "0", + "起始页": "1", + "直接播放": "0", + "倒序播放": "0", + + "二次截取": "", + "数组": "data.list", + "图片": "vod_pic", + "标题": "vod_name", + "副标题": "vod_remarks", + "链接": "vod_id", + "链接前缀": "http://45.207.11.9:7798/api.php/v1.vod/detilldata?vod_id=", + + "线路二次截取": "", + "线路数组": "\"status\"&&\"show", + "线路标题": "\"from\":\"&&\"", + + "状态":"\"vod_remarks\":\"&&\"", + "导演": "\"vod_director\":\"&&\"", + "主演": "\"vod_actor\":\"&&\"", + "简介": "\"vod_content\":\"&&\"", + + "播放二次截取": "", + "播放数组": "player\",\"list\":&&\"vid[替换:\">>'!']", + "列表二次截取": "", + "播放列表": "!&&!", + "播放标题": "'&&$", + "播放链接": "$&&'[替换:BYGA->>http://45.207.11.9:7728/api.php?from=BYGA&url=BYGA-#RongXingVR->>http://45.207.11.9:7728/api.php?from=rx&url=RongXingVR-#116->>http://45.207.11.9:7728/api.php?from=YUNBO&url=116-#VIPLD->>http://45.207.11.9:7728/api.php?from=ld&url=VIPLD-]", + "播放链接前缀": "", + "免嗅": "0", + "嗅探词":".m3u8#mp4", + "过滤词":"", + "播放请求头": "user-agent$okhttp/3.12.11#authority$45.207.11.9#origin$http://45.207.11.9", + + "搜索url": "http://45.207.11.9:7798/api.php/v1.vod?wd={wd}&page={pg}", + "搜索模式": "0", + "搜索二次截取": "", + "搜索数组": "data.list[]", + "搜索图片": "vod_pic", + "搜索标题": "vod_name", + "搜索链接": "vod_id", + "搜索链接前缀": "http://45.207.11.9:7798/api.php/v1.vod/detilldata?vod_id=", + + "分类url": "http://45.207.11.9:7798/api.php/v1.vod?type={cateId}&page={catePg}", + + "分类": "电影$1#电视剧$2#动漫$3#综艺$4", + + "类型": "1--动作$101#喜剧$102#爱情$103#科幻$104#剧情$105#悬疑$106#惊悚$107#恐怖$108#犯罪$109#谍战$110#冒险$111#奇幻$112#灾难$113#战争$114#动画$115#歌舞$116#历史$117#传记$118#纪录$119||2--武侠$201#喜剧$202#爱情$203#剧情$204#青春$205#悬疑$206#科幻$207#军事$208#警匪$209#谍战$210#奇幻$211#偶像$212#都市$215#古装$217#历史$218#神话$219||3--脱口秀$301#真人秀$302#搞笑$303#访谈$304#生活$305#晚会$306#美食$307#游戏$308#亲子$309#旅游$310#文化$311#体育$312#时尚$313#纪实$314#益智$315#演艺$316#歌舞$317#音乐$318#播报$319||4--热血$401#格斗$402#恋爱$403#美少女$404#校园$405#搞笑$406#LOLI$407#神魔$408#机战$409#科幻$410#真人$411#青春$412#魔法$413#神话$414#冒险$415#运动$416#竞技$417#童话$418#亲子$419#教育$420||5--人物$501#军事$502#历史$503#自然$504#探险$505#科技$506#文化$507#刑侦$508#社会$509#旅游$510", + "剧情": "0", + /** + *地区一般默认1就可以了,有的大际是中国大陆,就需要用替换法,与截取替换有区别:"地区$地区值"同时存在,缺一不可,各组替换之间用||分隔 + */ + "地区": "替换[大陆$大陆>>中国大陆$中国大陆||香港$香港>>中国香港$中国香港||台湾$台湾>>中国台湾$中国台湾]", + /** + *年份默认1时,为2010-2022,自定义写法:起始年-截止年,如 + "年份": "2000-2020", + */ + "年份": "", + /** + *排序默认1时,为英文模式,自定义写法: + "排序": "时间$time#热门$hits", + */ + "排序": "1", + /** + *可在"筛选"字段填外部json地址,支持本地clan和和外网http + *可直接复制xp的json到"筛选"字段 + *"筛选"字段为1时,使用分项自定义,包括:类型cateId、剧情class、地区area、年份year、排序by,除类型外每个分项都有默认内置"1" + */ + "筛选": "1" + } \ No newline at end of file diff --git a/xBPQ/在线189.json b/xBPQ/在线189.json new file mode 100644 index 0000000..c552861 --- /dev/null +++ b/xBPQ/在线189.json @@ -0,0 +1,440 @@ +//改为"搜索模式":"1",{去掉"搜索url"和"搜索后缀"(显示"搜索副标题")不支持快速搜索}。 +{ +"作者":"张弘", +"站名":"在线189", +"主页url":"https://www.zx189.com/", +"数组":"
    &&
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text-right\">&&", +"搜索模式":"1", +//"搜索url":"/vodsearch/{wd}----------{pg}---.html", +"搜索数组":"
    &&
    ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"text-right\">&&", +//"搜索后缀":"/voddetail/", +"线路数组":"playlist&&", +"线路标题":">&&", +"播放数组":"
      &&
    ", +"影片类型":"类型:&&导演", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类url":"https://www.zx189.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", +"分类":"电影$1#剧集$2#综艺$3#动漫$4", +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"v":"","n":"全部"}, +{"v":"6","n":"动作片"}, +{"v":"7","n":"喜剧片"}, +{"v":"8","n":"爱情片"}, +{"v":"9","n":"科幻片"}, +{"v":"10","n":"恐怖片"}, +{"v":"11","n":"犯罪片"}, +{"v":"12","n":"战争片"}, +{"v":"20","n":"动画片"}, +{"v":"21","n":"纪录片"}, +{"v":"22","n":"剧情片"}, +{"v":"25","n":"惊悚片"}, +{"v":"26","n":"魔幻片"}, +{"v":"27","n":"冒险片"}, +{"v":"28","n":"悬疑片"}, +{"v":"29","n":"微电影"}, +{"v":"30","n":"其他片"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"德国","v":"德国"}, +{"n":"印度","v":"印度"}, +{"n":"泰国","v":"泰国"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"欧美剧","v":"16"}, +{"n":"海外剧","v":"23"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"青春偶像","v":"青春偶像"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"泰国","v":"泰国"}, +{"n":"英国","v":"英国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"励志","v":"励志"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"美国","v":"美国"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/在线之家.json b/xBPQ/在线之家.json new file mode 100644 index 0000000..7ba56a4 --- /dev/null +++ b/xBPQ/在线之家.json @@ -0,0 +1,265 @@ +{ +"作者":"张弘", +"站名":"在线之家", +"主页url":"https://zxzj.vip", +"数组":"
    &&
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text-right\">&&
    ", +"搜索模式":"1", +"搜索url":"/vodsearch/{wd}----------{pg}---.html", +"搜索数组":"
    &&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"text-right\">&&", +"搜索后缀":"/detail/", +"影片类型":"类型:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"display: none;\">&&", +"线路数组":"
    &&
    ", +"线路标题":"

    &&

    ", +"播放数组":"
      &&
    ", +"播放列表":"
  • &&
  • ", +"播放标题":">&&", +"播放链接":"href=\"&&\"", +"分类":"电影$1#美剧$2#韩剧$3#日剧$4#泰剧$5#动漫$6", +"分类url":"https://zxzj.vip/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", +"免嗅":"1", +"筛选":{ +"1":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"冒险","v":"冒险"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"欧美","v":"欧美"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"2":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"剧情","v":"剧情"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"动作","v":"动作"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"科幻","v":"科幻"}, +{"n":"音乐","v":"音乐"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"欧美","v":"欧美"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"3":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"剧情","v":"剧情"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"动作","v":"动作"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"科幻","v":"科幻"}, +{"n":"音乐","v":"音乐"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"韩国","v":"韩国"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"4":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"剧情","v":"剧情"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"动作","v":"动作"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"科幻","v":"科幻"}, +{"n":"音乐","v":"音乐"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"日本","v":"日本"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"5":[ +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"6":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"情感","v":"情感"}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/城市电影.json b/xBPQ/城市电影.json new file mode 100644 index 0000000..da1c25b --- /dev/null +++ b/xBPQ/城市电影.json @@ -0,0 +1,249 @@ +{ +"作者":"张弘", +"站名":"城市电影", +"主页url":"https://www.citydy.com", +"数组":"", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text-right\">&&", +"搜索模式":"1", +"搜索url":"/search/page/{pg}/wd/{wd}.html", +"搜索数组":"", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索副标题":"text-overflow\">&&", +"搜索链接":"href=\"&&\"", +"影片年代":"年代:&&", +"影片地区":"地区:&&", +"影片类型":"类型:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"简介:&&

    ", +"线路数组":"#con_playlist_*\">&&/a>", +"线路标题":">&&<[不包含:下载APP播放]", +"播放数组":"play-div-oa\">&&
    ", +"分类":"电影&电视剧&综艺&动漫&记录片", +"分类值":"1&2&3&4&5", +"分类url":"https://www.citydy.com/show/id-{cateId}/area/{area}/by/{by}/class/{class}/page/{catePg}/year/{year}.html", +"筛选":{ +"1":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"喜剧","v":"喜剧"}, + {"n":"爱情","v":"爱情"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"动作","v":"动作"}, + {"n":"科幻","v":"科幻"}, + {"n":"剧情","v":"剧情"}, + {"n":"战争","v":"战争"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"灾难","v":"灾难"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"惊悚","v":"惊悚"}, + {"n":"冒险","v":"冒险"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"美国","v":"美国"}, + {"n":"法国","v":"法国"}, + {"n":"英国","v":"英国"}, + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"德国","v":"德国"}, + {"n":"泰国","v":"泰国"}, + {"n":"印度","v":"印度"}, + {"n":"其他","v":"其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2008","v":"2008"}, + {"n":"2000","v":"2000"}, + {"n":"1997","v":"1997"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"2":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"古装","v":"古装"}, + {"n":"战争","v":"战争"}, + {"n":"偶像","v":"偶像"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"剧情","v":"剧情"}, + {"n":"历史","v":"历史"}, + {"n":"网剧","v":"网剧"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"韩国","v":"韩国"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"日本","v":"日本"}, + {"n":"美国","v":"美国"}, + {"n":"泰国","v":"泰国"}, + {"n":"英国","v":"英国"}, + {"n":"新加坡","v":"新加坡"}, + {"n":"其他","v":"其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2008","v":"2008"}, + {"n":"2000","v":"2000"}, + {"n":"1997","v":"1997"}, + {"n":"1980","v":"1980"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"3":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"相声","v":"相声"}, + {"n":"真人秀","v":"真人秀"}, + {"n":"脱口秀","v":"脱口秀"}, + {"n":"选秀","v":"选秀"}, + {"n":"情感","v":"情感"}, + {"n":"访谈","v":"访谈"}, + {"n":"播报","v":"播报"}, + {"n":"旅游","v":"旅游"}, + {"n":"音乐","v":"音乐"}, + {"n":"美食","v":"美食"}, + {"n":"纪实","v":"纪实"}, + {"n":"舞蹈","v":"舞蹈"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"日本","v":"日本"}, + {"n":"欧美","v":"欧美"}, + {"n":"韩国","v":"韩国"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2008","v":"2008"}, + {"n":"2000","v":"2000"}, + {"n":"1997","v":"1997"}, + {"n":"1980","v":"1980"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"4":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"科幻","v":"科幻"}, + {"n":"热血","v":"热血"}, + {"n":"推理","v":"推理"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"冒险","v":"冒险"}, + {"n":"萝莉","v":"萝莉"}, + {"n":"校园","v":"校园"}, + {"n":"动作","v":"动作"}, + {"n":"机战","v":"机战"}, + {"n":"运动","v":"运动"}, + {"n":"战争","v":"战争"}, + {"n":"少年","v":"少年"}, + {"n":"少女","v":"少女"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"日本","v":"日本"}, + {"n":"欧美","v":"欧美"}, + {"n":"海外","v":"海外"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2008","v":"2008"}, + {"n":"2000","v":"2000"}, + {"n":"1997","v":"1997"}, + {"n":"1980","v":"1980"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"5":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"历史","v":"历史"}, + {"n":"传记","v":"传记"}, + {"n":"生活","v":"生活"}, + {"n":"人文","v":"人文"}, + {"n":"地理","v":"地理"}, + {"n":"舞台","v":"舞台"}, + {"n":"专题","v":"专题"}, + {"n":"时事","v":"时事"}, + {"n":"宣传","v":"宣传"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"日本","v":"日本"}, + {"n":"欧美","v":"欧美"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2008","v":"2008"}, + {"n":"2000","v":"2000"}, + {"n":"1997","v":"1997"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/大师兄(xBPQ).json b/xBPQ/大师兄(xBPQ).json new file mode 100644 index 0000000..94f363c --- /dev/null +++ b/xBPQ/大师兄(xBPQ).json @@ -0,0 +1,13 @@ +{ +"免嗅":"1", +"播放标题":"span>&&<", +"导演": "导演:&&
    ", +"分类":"数字||$124", +"副标题":"class=\"module-item-note\">&&", +"线路数组": "class=\"module-tab-item tab-item&&", +"线路标题": "&&", +"播放数组":"class=\"module-play-list-content&&", +"分类url":"https://dsxys.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html" +} \ No newline at end of file diff --git a/xBPQ/大师兄影视(xBPQ).json b/xBPQ/大师兄影视(xBPQ).json new file mode 100644 index 0000000..7c5dd35 --- /dev/null +++ b/xBPQ/大师兄影视(xBPQ).json @@ -0,0 +1,17 @@ +{ +"免嗅":"1", +"播放标题":"span>&&<", +"导演": "导演:&&", +"分类":"数字||$124", +"副标题":"class=\"module-item-note\">&&", +"线路数组": "class=\"module-tab-item tab-item&&", +"线路标题": "&&", +"播放数组":"class=\"module-play-list-content&&", +"分类url":"https://dsxys.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html" +} + + + +//{\"免嗅\":\"1\",\"播放标题\":\"span>&&<\",\"导演\": \"导演:&&\",\"分类\":\"数字||$124\",\"副标题\":\"class=\\\"module-item-note\\\">&&\",\"线路数组\": \"class=\\\"module-tab-item tab-item&&\",\"线路标题\": \"&&\",\"播放数组\":\"class=\\\"module-play-list-content&&\",\"分类url\":\"https://dsxys.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html\"} diff --git a/xBPQ/大米星球(xBPQ).json b/xBPQ/大米星球(xBPQ).json new file mode 100644 index 0000000..0adb2c4 --- /dev/null +++ b/xBPQ/大米星球(xBPQ).json @@ -0,0 +1,13 @@ +{ +"免嗅":"1", +"副标题":"class=\"module-item-note\">&&", +"线路数组": "class=\"module-tab-item tab-item&&", +"线路标题": "&&", +"播放标题":"&&", +"播放数组":"class=\"module-play-list&&", +"分类":"电影$20#电视剧$21#综艺$22#动漫$23", +"分类url":"https://www.dmxq.me/vodshow/{cateId}--------{catePg}---.html" +} + + + diff --git a/xBPQ/大米星球.json b/xBPQ/大米星球.json new file mode 100644 index 0000000..0abb3c8 --- /dev/null +++ b/xBPQ/大米星球.json @@ -0,0 +1,523 @@ +{ +"作者":"张弘", +"站名":"大米星球", +"主页url":"https://dami2.me/", +"二次截取":"class=\"module-items&&
    &&
    ", +"搜索url":"/vodsearch/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索数组":"module-item\">&&
    ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"
    &&
    ", +"线路数组":"module-tab-item tab-item&&", +"线路标题":"&&[替换:>>♡]+集♡", +"播放数组":"class=\"module-play-list-content&&", +"状态":"备注:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"", +"播放列表":"", +"播放标题":"&&", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电影$20#电视剧$21#综艺$22#动漫$23#福利$35", +"分类url":"https://dami2.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", +"筛选":{ +"20":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"Netflix","v":"Netflix"}, +{"n":"仙侠","v":"仙侠"}, +{"n":"剧情","v":"剧情"}, +{"n":"科幻","v":"科幻"}, +{"n":"动作","v":"动作"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"冒险","v":"冒险"}, +{"n":"儿童","v":"儿童"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"音乐","v":"音乐"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"动画","v":"动画"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"丧尸","v":"丧尸"}, +{"n":"战争","v":"战争"}, +{"n":"传记","v":"传记"}, +{"n":"纪录","v":"纪录"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"西部","v":"西部"}, +{"n":"灾难","v":"灾难"}, +{"n":"古装","v":"古装"}, +{"n":"武侠","v":"武侠"}, +{"n":"家庭","v":"家庭"}, +{"n":"短片","v":"短片"}, +{"n":"校园","v":"校园"}, +{"n":"文艺","v":"文艺"}, +{"n":"运动","v":"运动"}, +{"n":"青春","v":"青春"}, +{"n":"同性","v":"同性"}, +{"n":"励志","v":"励志"}, +{"n":"人性","v":"人性"}, +{"n":"美食","v":"美食"}, +{"n":"女性","v":"女性"}, +{"n":"治愈","v":"治愈"}, +{"n":"历史","v":"历史"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"脱口秀","v":"脱口秀"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"德国","v":"德国"}, +{"n":"印度","v":"印度"}, +{"n":"泰国","v":"泰国"}, +{"n":"丹麦","v":"丹麦"}, +{"n":"瑞典","v":"瑞典"}, +{"n":"巴西","v":"巴西"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"意大利","v":"意大利"}, +{"n":"比利时","v":"比利时"}, +{"n":"爱尔兰","v":"爱尔兰"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"澳大利亚","v":"澳大利亚"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"粤语","v":"粤语"}, +{"n":"日语","v":"日语"}, +{"n":"韩语","v":"韩语"}, +{"n":"英语","v":"英语"}, +{"n":"法语","v":"法语"}, +{"n":"泰语","v":"泰语"}, +{"n":"德语","v":"德语"}, +{"n":"俄语","v":"俄语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"丹麦语","v":"丹麦语"}, +{"n":"波兰语","v":"波兰语"}, +{"n":"瑞典语","v":"瑞典语"}, +{"n":"印地语","v":"印地语"}, +{"n":"挪威语","v":"挪威语"}, +{"n":"意大利语","v":"意大利语"}, +{"n":"西班牙语","v":"西班牙语"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"21":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"Netflix","v":"Netflix"}, +{"n":"剧情","v":"剧情"}, +{"n":"丧尸","v":"丧尸"}, +{"n":"仙侠","v":"仙侠"}, +{"n":"穿越","v":"穿越"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"言情","v":"言情"}, +{"n":"科幻","v":"科幻"}, +{"n":"动作","v":"动作"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"偶像","v":"偶像"}, +{"n":"都市","v":"都市"}, +{"n":"军旅","v":"军旅"}, +{"n":"谍战","v":"谍战"}, +{"n":"罪案","v":"罪案"}, +{"n":"宫廷","v":"宫廷"}, +{"n":"冒险","v":"冒险"}, +{"n":"儿童","v":"儿童"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"音乐","v":"音乐"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"动画","v":"动画"}, +{"n":"战争","v":"战争"}, +{"n":"传记","v":"传记"}, +{"n":"纪录","v":"纪录"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"西部","v":"西部"}, +{"n":"灾难","v":"灾难"}, +{"n":"古装","v":"古装"}, +{"n":"武侠","v":"武侠"}, +{"n":"家庭","v":"家庭"}, +{"n":"短片","v":"短片"}, +{"n":"校园","v":"校园"}, +{"n":"文艺","v":"文艺"}, +{"n":"运动","v":"运动"}, +{"n":"青春","v":"青春"}, +{"n":"同性","v":"同性"}, +{"n":"励志","v":"励志"}, +{"n":"人性","v":"人性"}, +{"n":"美食","v":"美食"}, +{"n":"女性","v":"女性"}, +{"n":"治愈","v":"治愈"}, +{"n":"历史","v":"历史"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"脱口秀","v":"脱口秀"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"德国","v":"德国"}, +{"n":"印度","v":"印度"}, +{"n":"泰国","v":"泰国"}, +{"n":"丹麦","v":"丹麦"}, +{"n":"瑞典","v":"瑞典"}, +{"n":"巴西","v":"巴西"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"意大利","v":"意大利"}, +{"n":"比利时","v":"比利时"}, +{"n":"爱尔兰","v":"爱尔兰"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"澳大利亚","v":"澳大利亚"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"粤语","v":"粤语"}, +{"n":"日语","v":"日语"}, +{"n":"韩语","v":"韩语"}, +{"n":"英语","v":"英语"}, +{"n":"法语","v":"法语"}, +{"n":"泰语","v":"泰语"}, +{"n":"德语","v":"德语"}, +{"n":"俄语","v":"俄语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"丹麦语","v":"丹麦语"}, +{"n":"波兰语","v":"波兰语"}, +{"n":"瑞典语","v":"瑞典语"}, +{"n":"印地语","v":"印地语"}, +{"n":"挪威语","v":"挪威语"}, +{"n":"意大利语","v":"意大利语"}, +{"n":"西班牙语","v":"西班牙语"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"23":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"YouTube","v":"YouTube"}, +{"n":"脱口秀","v":"脱口秀"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"选秀","v":"选秀"}, +{"n":"八卦","v":"八卦"}, +{"n":"访谈","v":"访谈"}, +{"n":"情感","v":"情感"}, +{"n":"生活","v":"生活"}, +{"n":"晚会","v":"晚会"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"音乐","v":"音乐"}, +{"n":"时尚","v":"时尚"}, +{"n":"游戏","v":"游戏"}, +{"n":"少儿","v":"少儿"}, +{"n":"体育","v":"体育"}, +{"n":"纪实","v":"纪实"}, +{"n":"科教","v":"科教"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"财经","v":"财经"}, +{"n":"汽车","v":"汽车"}, +{"n":"播报","v":"播报"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"粤语","v":"粤语"}, +{"n":"日语","v":"日语"}, +{"n":"韩语","v":"韩语"}, +{"n":"英语","v":"英语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"22":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"Netflix","v":"Netflix"}, +{"n":"热血","v":"热血"}, +{"n":"科幻","v":"科幻"}, +{"n":"美少女","v":"美少女"}, +{"n":"魔幻","v":"魔幻"}, +{"n":"经典","v":"经典"}, +{"n":"励志","v":"励志"}, +{"n":"少儿","v":"少儿"}, +{"n":"冒险","v":"冒险"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"推理","v":"推理"}, +{"n":"恋爱","v":"恋爱"}, +{"n":"治愈","v":"治愈"}, +{"n":"幻想","v":"幻想"}, +{"n":"校园","v":"校园"}, +{"n":"动物","v":"动物"}, +{"n":"机战","v":"机战"}, +{"n":"亲子","v":"亲子"}, +{"n":"儿歌","v":"儿歌"}, +{"n":"运动","v":"运动"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"怪物","v":"怪物"}, +{"n":"战争","v":"战争"}, +{"n":"益智","v":"益智"}, +{"n":"青春","v":"青春"}, +{"n":"童话","v":"童话"}, +{"n":"竞技","v":"竞技"}, +{"n":"动作","v":"动作"}, +{"n":"社会","v":"社会"}, +{"n":"友情","v":"友情"}, +{"n":"真人版","v":"真人版"}, +{"n":"电影版","v":"电影版"}, +{"n":"OVA版","v":"OVA版"}, +{"n":"TV版","v":"TV版"}, +{"n":"新番动画","v":"新番动画"}, +{"n":"完结动画","v":"完结动画"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"粤语","v":"粤语"}, +{"n":"日语","v":"日语"}, +{"n":"韩语","v":"韩语"}, +{"n":"英语","v":"英语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"更早","v":"更早"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"35":[ +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} + + + diff --git a/xBPQ/奇优带post搜索.json b/xBPQ/奇优带post搜索.json new file mode 100644 index 0000000..0354e0c --- /dev/null +++ b/xBPQ/奇优带post搜索.json @@ -0,0 +1,68 @@ +{ + "name": "奇优影院(不支持搜)", + "url": "http://1e6e.com", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", +// "fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#伦理$/list/6_", +"分类": "电影$1#电视剧$2#综艺$4#动漫$3#伦理$6", +"分类url": "http://1e6e.com/list/{cateId}_{catePg}.html?order={by}", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php;post;searchword={wd}", + "sousuohou": "", + "sousuohouzhui": "", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "", + "ssjiequhou": "", + "ssjiequshuzuqian": "class=\"stui-vodlist__media", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "嗅探词": ".m3u8#.mp4#.flv", + "筛选": "1", + "地区": "0", + "剧情": "0", + "年份": "0", + "排序": "按时间$time#按人气$hit#" + +} \ No newline at end of file diff --git a/xBPQ/奇粹影视.json b/xBPQ/奇粹影视.json new file mode 100644 index 0000000..d78e37a --- /dev/null +++ b/xBPQ/奇粹影视.json @@ -0,0 +1,10 @@ + +{ +"分类url":"http://www.blssv.com/index.php/vod/show/id/{cateId}/page/{catePg}.html", +"数组":"class=\"module-item-pic&&", +"线路数组": "class=\"module-tab-item tab-item&&", +"线路标题": "&&", +"分类":"电影$20#连续剧$21#动漫$22#海外$23#综艺$24", +"播放数组":"class=\"scroll-content&&", +"搜索后缀":"/vod/detail/id/" +} \ No newline at end of file diff --git a/xBPQ/子子影视.json b/xBPQ/子子影视.json new file mode 100644 index 0000000..8cd7ad6 --- /dev/null +++ b/xBPQ/子子影视.json @@ -0,0 +1,74 @@ +{ + "name": "子子影视", + "url": "https://www.ziziys.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/list/1/page/#连续剧$/list/13/page/#美剧$/list/14/page/#动漫$/list/3/page/#日韩剧$/list/15/page/#泰剧$/list/16/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
    ", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "xt\">", + "fubiaotihou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + // "zhuyanqian": "主演:", + // "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "播放", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + // "播放链接前缀": "https://www.ziziys.com", + + "线路二次截取": "", +"线路数组": "data-dropdown-value&&", +"线路标题": "&&
    " + // "是否启用播放线路名": "1", + /// "线路名是否二次截取": "0", + // "线路名截取前": "
    ", + // "线路名截取数组前": "data-dropdown-value", + // "线路名截取数组后": "", + // "线路名标题后": "" + } \ No newline at end of file diff --git a/xBPQ/完美看看.json b/xBPQ/完美看看.json new file mode 100644 index 0000000..d7b8386 --- /dev/null +++ b/xBPQ/完美看看.json @@ -0,0 +1,27 @@ +{ +"作者":"张弘", +"站名":"完美看看", +"主页url":"https://www.wanmeikk.film/", +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text-right\">&&", +"线路数组":"
    ", +"线路标题":"

    ", +"播放数组":"
      ", +"状态":"&&

      ", +"导演":"导演:&&

      ", +"主演":"主演:&&

      ", +"简介":"剧情介绍:&&

      ", +"播放列表":"", +"播放标题":">&&
      ", +"播放链接":"href=\"&&\"", +"播放链接前缀":"https://www.wanmeikk.film", +"免嗅":"0", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"过滤词":"", +"播放请求头":"", +"分类":"电影$1#国产剧$5#欧美剧$2#韩剧$3#日剧$4#动漫$6#综艺$7#泰剧$9#纪录片$10", +"分类url":"https://www.wanmeikk.film/category/{cateId}-{catePg}.html" +} \ No newline at end of file diff --git a/xBPQ/宝仙HD(xBPQ).json b/xBPQ/宝仙HD(xBPQ).json new file mode 100644 index 0000000..a131c5e --- /dev/null +++ b/xBPQ/宝仙HD(xBPQ).json @@ -0,0 +1,625 @@ +{ +"作者":"张弘", +"站名":"宝仙HD", +"主页url":"https://webdillo.com/", +"热门推荐":"1", +"直接播放":"0", +"列表显示":"0", +"图片代理":"0", +"起始页":"1", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/index.php/vod/detail/id/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"xljiequshuzuqian":"class=\"tabs-play", +"xljiequshuzuhou":"", +"xlbiaotiqian":"title=\"", +"xlbiaotihou":"\">", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"content_playlist clearfix", +"bfjiequshuzuhou":"
    ", +"zhuangtaiqian":"class=\"pic_text text_right\">", +"zhuangtaihou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"", +//"副标题":"class=\"pic_text text_right\">&&", +"分类url":"https://webdillo.com/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/letter/{letter}/year/{year}.html", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"筛选": +{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"}, +{"n":"纪录片","v":"20"}, +{"n":"直播","v":"21"}, +{"n":"短片","v":"22"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"纪录","v":"记录"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"家庭","v":"家庭"}, +{"n":"冒险","v":"冒险"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"传记","v":"传记"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"伦理","v":"伦理"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"短片","v":"短片"}, +{"n":"创意","v":"创意"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"广告","v":"广告"}, +{"n":"生活","v":"生活"}, +{"n":"MV","v":"MV"}, +{"n":"游戏","v":"游戏"}, +{"n":"实验","v":"实验"}, +{"n":"写真","v":"写真"}, +{"n":"福利","v":"福利"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"海外剧","v":"16"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"神话","v":"神话"}, +{"n":"战争","v":"战争"}, +{"n":"青春","v":"青春"}, +{"n":"偶像","v":"偶像"}, +{"n":"言情","v":"言情"}, +{"n":"爱情","v":"爱情"}, +{"n":"军旅","v":"军旅"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"武侠","v":"武侠"}, +{"n":"家庭","v":"家庭"}, +{"n":"都市","v":"都市"}, +{"n":"生活","v":"生活"}, +{"n":"谍战","v":"谍战"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"励志","v":"励志"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"伦理","v":"伦理"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"脱口秀","v":"脱口秀"}, +{"n":"演唱会","v":"演唱会"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"体育","v":"体育"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"科教","v":"科教"}, +{"n":"养成","v":"养成"}, +{"n":"生活","v":"生活"}, +{"n":"游戏","v":"游戏"}, +{"n":"音乐","v":"音乐"}, +{"n":"MTV","v":"MTV"}, +{"n":"财经","v":"财经"}, +{"n":"亲子","v":"亲子"}, +{"n":"职场","v":"职场"}, +{"n":"晚会","v":"晚会"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +], +"4":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"科幻","v":"科幻"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"热血","v":"热血"}, +{"n":"动画","v":"动画"}, +{"n":"剧情","v":"剧情"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"恋爱","v":"恋爱"}, +{"n":"治愈","v":"治愈"}, +{"n":"魔幻","v":"魔幻"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"竞技","v":"竞技"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"亲子","v":"亲子"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/宝仙HD.json b/xBPQ/宝仙HD.json new file mode 100644 index 0000000..5210727 --- /dev/null +++ b/xBPQ/宝仙HD.json @@ -0,0 +1,452 @@ +{ +"作者":"张弘", +"站名":"宝仙HD", +"主页url":"https://webdillo.com/", +"数组":"
  • &&
  • ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"right*\">&&", +"搜索url":"https://webdillo.com/index.php/vod/search/page/{pg}/wd/{wd}.html", +"搜索模式":"0", +"搜索数组":"", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"right*\">&&", +"搜索后缀":"/index.php/vod/detail/id/", +"线路数组":"class=\"tabs-play&&", +"线路标题":"title=\"&&\">", +"播放数组":"class=\"content_playlist clearfix&&", +"状态":"
  • &&
  • ", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"class=\"content_desc context clearfix\"&&", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类url":"https://webdillo.com/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/letter/{letter}/year/{year}.html", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"筛选": +{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"}, +{"n":"纪录片","v":"20"}, +{"n":"直播","v":"21"}, +{"n":"短片","v":"22"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"纪录","v":"记录"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"家庭","v":"家庭"}, +{"n":"冒险","v":"冒险"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"传记","v":"传记"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"伦理","v":"伦理"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"短片","v":"短片"}, +{"n":"创意","v":"创意"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"广告","v":"广告"}, +{"n":"生活","v":"生活"}, +{"n":"MV","v":"MV"}, +{"n":"游戏","v":"游戏"}, +{"n":"实验","v":"实验"}, +{"n":"写真","v":"写真"}, +{"n":"福利","v":"福利"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"海外剧","v":"16"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"神话","v":"神话"}, +{"n":"战争","v":"战争"}, +{"n":"青春","v":"青春"}, +{"n":"偶像","v":"偶像"}, +{"n":"言情","v":"言情"}, +{"n":"爱情","v":"爱情"}, +{"n":"军旅","v":"军旅"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"武侠","v":"武侠"}, +{"n":"家庭","v":"家庭"}, +{"n":"都市","v":"都市"}, +{"n":"生活","v":"生活"}, +{"n":"谍战","v":"谍战"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"励志","v":"励志"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"伦理","v":"伦理"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"脱口秀","v":"脱口秀"}, +{"n":"演唱会","v":"演唱会"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"体育","v":"体育"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"科教","v":"科教"}, +{"n":"养成","v":"养成"}, +{"n":"生活","v":"生活"}, +{"n":"游戏","v":"游戏"}, +{"n":"音乐","v":"音乐"}, +{"n":"MTV","v":"MTV"}, +{"n":"财经","v":"财经"}, +{"n":"亲子","v":"亲子"}, +{"n":"职场","v":"职场"}, +{"n":"晚会","v":"晚会"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +], +"4":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"科幻","v":"科幻"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"热血","v":"热血"}, +{"n":"动画","v":"动画"}, +{"n":"剧情","v":"剧情"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"恋爱","v":"恋爱"}, +{"n":"治愈","v":"治愈"}, +{"n":"魔幻","v":"魔幻"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"竞技","v":"竞技"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"亲子","v":"亲子"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/宝仙影视(xBPQ).json b/xBPQ/宝仙影视(xBPQ).json new file mode 100644 index 0000000..ba68655 --- /dev/null +++ b/xBPQ/宝仙影视(xBPQ).json @@ -0,0 +1,619 @@ +{ +"主页url":"https://webdillo.com/", +"热门推荐":"1", +"起始页":"1", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/index.php/vod/detail/id/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"xljiequshuzuqian":"class=\"tabs-play", +"xljiequshuzuhou":"", +"xlbiaotiqian":"title=\"", +"xlbiaotihou":"\">", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"content_playlist clearfix", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"pic_text text_right\">", +"zhuangtaihou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"", +"分类url":"https://webdillo.com/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/letter/{letter}/year/{year}.html", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"筛选": +{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"}, +{"n":"纪录片","v":"20"}, +{"n":"直播","v":"21"}, +{"n":"短片","v":"22"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"纪录","v":"记录"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"家庭","v":"家庭"}, +{"n":"冒险","v":"冒险"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"传记","v":"传记"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"伦理","v":"伦理"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"短片","v":"短片"}, +{"n":"创意","v":"创意"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"广告","v":"广告"}, +{"n":"生活","v":"生活"}, +{"n":"MV","v":"MV"}, +{"n":"游戏","v":"游戏"}, +{"n":"实验","v":"实验"}, +{"n":"写真","v":"写真"}, +{"n":"福利","v":"福利"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"海外剧","v":"16"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"神话","v":"神话"}, +{"n":"战争","v":"战争"}, +{"n":"青春","v":"青春"}, +{"n":"偶像","v":"偶像"}, +{"n":"言情","v":"言情"}, +{"n":"爱情","v":"爱情"}, +{"n":"军旅","v":"军旅"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"武侠","v":"武侠"}, +{"n":"家庭","v":"家庭"}, +{"n":"都市","v":"都市"}, +{"n":"生活","v":"生活"}, +{"n":"谍战","v":"谍战"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"励志","v":"励志"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"伦理","v":"伦理"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"脱口秀","v":"脱口秀"}, +{"n":"演唱会","v":"演唱会"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"体育","v":"体育"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"科教","v":"科教"}, +{"n":"养成","v":"养成"}, +{"n":"生活","v":"生活"}, +{"n":"游戏","v":"游戏"}, +{"n":"音乐","v":"音乐"}, +{"n":"MTV","v":"MTV"}, +{"n":"财经","v":"财经"}, +{"n":"亲子","v":"亲子"}, +{"n":"职场","v":"职场"}, +{"n":"晚会","v":"晚会"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +], +"4":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"科幻","v":"科幻"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"热血","v":"热血"}, +{"n":"动画","v":"动画"}, +{"n":"剧情","v":"剧情"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"恋爱","v":"恋爱"}, +{"n":"治愈","v":"治愈"}, +{"n":"魔幻","v":"魔幻"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"竞技","v":"竞技"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"亲子","v":"亲子"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"最新","v":"time"}, +{"n":"总榜","v":"hits"}, +{"n":"月榜","v":"hits_month"}, +{"n":"周榜","v":"hits_week"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/宝仙影视.json b/xBPQ/宝仙影视.json new file mode 100644 index 0000000..df4e20b --- /dev/null +++ b/xBPQ/宝仙影视.json @@ -0,0 +1,1866 @@ +{ + "作者": "张弘", + "站名": "宝仙HD", + "主页url": "https://webdillo.com/", + "热门推荐": "1", + "直接播放": "0", + "列表显示": "0", + "图片代理": "0", + "起始页": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "xljiequshuzuqian": "class=\"tabs-play", + "xljiequshuzuhou": "", + "xlbiaotiqian": "title=\"", + "xlbiaotihou": "\">", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic_text text_right\">", + "zhuangtaihou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + //"副标题":"class=\"pic_text text_right\">&&", + "分类url": "https://webdillo.com/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/letter/{letter}/year/{year}.html", + "分类": "电影$1#电视剧$2#综艺$3#动漫$4", + "筛选": { + "1": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "动作片", + "v": "6" + }, + { + "n": "喜剧片", + "v": "7" + }, + { + "n": "爱情片", + "v": "8" + }, + { + "n": "科幻片", + "v": "9" + }, + { + "n": "恐怖片", + "v": "10" + }, + { + "n": "剧情片", + "v": "11" + }, + { + "n": "战争片", + "v": "12" + }, + { + "n": "纪录片", + "v": "20" + }, + { + "n": "直播", + "v": "21" + }, + { + "n": "短片", + "v": "22" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "纪录", + "v": "记录" + }, + { + "n": "警匪", + "v": "警匪" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "动画", + "v": "动画" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "武侠", + "v": "武侠" + }, + { + "n": "家庭", + "v": "家庭" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "传记", + "v": "传记" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "伦理", + "v": "伦理" + }, + { + "n": "青春", + "v": "青春" + }, + { + "n": "文艺", + "v": "文艺" + }, + { + "n": "微电影", + "v": "微电影" + }, + { + "n": "古装", + "v": "古装" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "运动", + "v": "运动" + }, + { + "n": "歌舞", + "v": "歌舞" + }, + { + "n": "短片", + "v": "短片" + }, + { + "n": "创意", + "v": "创意" + }, + { + "n": "搞笑", + "v": "搞笑" + }, + { + "n": "广告", + "v": "广告" + }, + { + "n": "生活", + "v": "生活" + }, + { + "n": "MV", + "v": "MV" + }, + { + "n": "游戏", + "v": "游戏" + }, + { + "n": "实验", + "v": "实验" + }, + { + "n": "写真", + "v": "写真" + }, + { + "n": "福利", + "v": "福利" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + }, + { + "n": "0-9", + "v": "0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "最新", + "v": "time" + }, + { + "n": "总榜", + "v": "hits" + }, + { + "n": "月榜", + "v": "hits_month" + }, + { + "n": "周榜", + "v": "hits_week" + } + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产剧", + "v": "13" + }, + { + "n": "港台剧", + "v": "14" + }, + { + "n": "日韩剧", + "v": "15" + }, + { + "n": "海外剧", + "v": "16" + } + ] + }, + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "古装", + "v": "古装" + }, + { + "n": "神话", + "v": "神话" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "青春", + "v": "青春" + }, + { + "n": "偶像", + "v": "偶像" + }, + { + "n": "言情", + "v": "言情" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "军旅", + "v": "军旅" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "武侠", + "v": "武侠" + }, + { + "n": "家庭", + "v": "家庭" + }, + { + "n": "都市", + "v": "都市" + }, + { + "n": "生活", + "v": "生活" + }, + { + "n": "谍战", + "v": "谍战" + }, + { + "n": "警匪", + "v": "警匪" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "励志", + "v": "励志" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "伦理", + "v": "伦理" + }, + { + "n": "情景", + "v": "情景" + }, + { + "n": "商战", + "v": "商战" + }, + { + "n": "网剧", + "v": "网剧" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + }, + { + "n": "0-9", + "v": "0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "最新", + "v": "time" + }, + { + "n": "总榜", + "v": "hits" + }, + { + "n": "月榜", + "v": "hits_month" + }, + { + "n": "周榜", + "v": "hits_week" + } + ] + } + ], + "3": [ + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "脱口秀", + "v": "脱口秀" + }, + { + "n": "演唱会", + "v": "演唱会" + }, + { + "n": "真人秀", + "v": "真人秀" + }, + { + "n": "选秀", + "v": "选秀" + }, + { + "n": "情感", + "v": "情感" + }, + { + "n": "访谈", + "v": "访谈" + }, + { + "n": "播报", + "v": "播报" + }, + { + "n": "搞笑", + "v": "搞笑" + }, + { + "n": "旅游", + "v": "旅游" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "美食", + "v": "美食" + }, + { + "n": "纪实", + "v": "纪实" + }, + { + "n": "体育", + "v": "体育" + }, + { + "n": "曲艺", + "v": "曲艺" + }, + { + "n": "科教", + "v": "科教" + }, + { + "n": "养成", + "v": "养成" + }, + { + "n": "生活", + "v": "生活" + }, + { + "n": "游戏", + "v": "游戏" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "MTV", + "v": "MTV" + }, + { + "n": "财经", + "v": "财经" + }, + { + "n": "亲子", + "v": "亲子" + }, + { + "n": "职场", + "v": "职场" + }, + { + "n": "晚会", + "v": "晚会" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "马来西亚", + "v": "马来西亚" + }, + { + "n": "欧美", + "v": "欧美" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + }, + { + "n": "0-9", + "v": "0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "最新", + "v": "time" + }, + { + "n": "总榜", + "v": "hits" + }, + { + "n": "月榜", + "v": "hits_month" + }, + { + "n": "周榜", + "v": "hits_week" + } + ] + } + ], + "4": [ + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "热血", + "v": "热血" + }, + { + "n": "动画", + "v": "动画" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "推理", + "v": "推理" + }, + { + "n": "搞笑", + "v": "搞笑" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "恋爱", + "v": "恋爱" + }, + { + "n": "治愈", + "v": "治愈" + }, + { + "n": "魔幻", + "v": "魔幻" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "机战", + "v": "机战" + }, + { + "n": "运动", + "v": "运动" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "竞技", + "v": "竞技" + }, + { + "n": "少女", + "v": "少女" + }, + { + "n": "社会", + "v": "社会" + }, + { + "n": "原创", + "v": "原创" + }, + { + "n": "亲子", + "v": "亲子" + }, + { + "n": "益智", + "v": "益智" + }, + { + "n": "励志", + "v": "励志" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "其他", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + }, + { + "n": "2002", + "v": "2002" + }, + { + "n": "2001", + "v": "2001" + }, + { + "n": "2000", + "v": "2000" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + }, + { + "n": "0-9", + "v": "0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "最新", + "v": "time" + }, + { + "n": "总榜", + "v": "hits" + }, + { + "n": "月榜", + "v": "hits_month" + }, + { + "n": "周榜", + "v": "hits_week" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/xBPQ/实时直播.json b/xBPQ/实时直播.json new file mode 100644 index 0000000..883da70 --- /dev/null +++ b/xBPQ/实时直播.json @@ -0,0 +1,11 @@ +{ +"站名":"实时直播", +"主页url":"http://ns-baidu.com/?s=111.html", +"直接播放":"1", + +"链接前缀":"http://ns-baidu.com", +"副标题":"
    &&
    ", +"分类":"实时直播1$111#实时直播2$222#实时直播3$333#实时直播4$444#实时直播5$555#实时直播6$666#实时直播7$777#实时直播8$888#实时直播9$999#实时直播10$1111#实时直播11$2222", +"分类url":"http://ns-baidu.com/?s={cateId}.html" +} + diff --git a/xBPQ/小强迷.json b/xBPQ/小强迷.json new file mode 100644 index 0000000..e98991b --- /dev/null +++ b/xBPQ/小强迷.json @@ -0,0 +1,405 @@ +{ +"作者":"张弘", +"站名":"小强迷", +"主页url":"http://xqmi.top", +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text-right\">&&", +"搜索url":"http://xqmi.top/index.php/vod/search/page/{pg}/wd/{wd}.html", +"搜索模式":"1", +"搜索数组":"", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"text-right\">&&", +"线路二次截取":"播放地址 -->&&end 播放地址 -->", +"线路数组":"class=\"title\"&&/h3>", +"线路标题":">&&<", +"播放数组":"
      &&
    ", +"影片类型":"类型:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"desc col-pd clearfix\"&&

    ", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"分类url":"http://xqmi.top/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/page/{catePg}/year/{year}.html", +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"Netflix","v":"Netflix" }, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"儿童","v":"儿童"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value": [ +{"n":"全部","v":"" }, +{"n":"大陆","v":"大陆" }, +{"n":"香港","v":"香港" }, +{"n":"台湾","v":"台湾" }, +{"n":"美国","v":"美国" }, +{"n":"日本","v":"日本" }, +{"n":"韩国","v":"韩国" }, +{"n":"英国","v":"英国" }, +{"n":"法国","v":"法国" }, +{"n":"德国","v":"德国" }, +{"n":"印度","v":"印度" }, +{"n":"泰国","v":"泰国" }, +{"n":"丹麦","v":"丹麦" }, +{"n":"瑞典","v":"瑞典" }, +{"n":"巴西","v":"巴西" }, +{"n":"加拿大","v":"加拿大" }, +{"n":"俄罗斯","v":"俄罗斯" }, +{"n":"意大利","v":"意大利" }, +{"n":"比利时","v":"比利时" }, +{"n":"爱尔兰","v":"爱尔兰" }, +{"n":"西班牙","v":"西班牙" }, +{"n":"其他","v":"其他" } +] +}, +{ +"key":"year", +"name":"年份", +"value": [ +{"n":"全部","v":"" }, +{"n":"2022","v":"2022" }, +{"n":"2021","v":"2021" }, +{"n":"2020","v":"2020" }, +{"n":"2019","v":"2019" }, +{"n":"2018","v":"2018" }, +{"n":"2017","v":"2017" }, +{"n":"2016","v":"2016" }, +{"n":"2015","v":"2015" }, +{"n":"2014","v":"2014" }, +{"n":"2013","v":"2013" }, +{"n":"2012","v":"2012" }, +{"n":"2011","v":"2011" }, +{"n":"2010","v":"2010" }, +{"n":"2009","v":"2009" }, +{"n":"2008","v":"2008" }, +{"n":"2007","v":"2007" }, +{"n":"2006","v":"2006" }, +{"n":"2005","v":"2005" }, +{"n":"2004","v":"2004" }, +{"n":"2003","v":"2003" }, +{"n":"2002","v":"2002" }, +{"n":"2001","v":"2001" }, +{"n":"2000","v":"2000" } +] +}, +{ +"key":"by", +"name":"排序", +"value": [ +{"n":"时间","v":"time" }, +{"n":"人气","v":"hits" }, +{"n":"评分","v":"score" } +] +} +], +"2":[ +{ +"key":"cateId", +"name":"分类", +"value": [ +{"n":"全部","v":"" }, +{"n":"国产剧","v":"13" }, +{"n":"港台剧","v":"14" }, +{"n":"日韩剧","v":"15" }, +{"n":"欧美剧","v":"16" } + +] +}, +{ +"key":"class", +"name":"类型", +"value": [ +{"n":"全部","v":"" }, +{"n":"Netflix","v":"Netflix" }, +{"n":"古装","v":"古装" }, +{"n":"战争","v":"战争" }, +{"n":"喜剧","v":"喜剧" }, +{"n":"家庭","v":"家庭" }, +{"n":"犯罪","v":"犯罪" }, +{"n":"动作","v":"动作" }, +{"n":"奇幻","v":"奇幻" }, +{"n":"剧情","v":"剧情" }, +{"n":"历史","v":"历史" }, +{"n":"经典","v":"经典" }, +{"n":"乡村","v":"乡村" }, +{"n":"情景","v":"情景" }, +{"n":"商战","v":"商战" }, +{"n":"网剧","v":"网剧" }, +{"n":"其他","v":"其他" } +] +}, +{ +"key":"area", +"name":"地区", +"value": [ +{"n":"全部","v":"" }, +{"n":"大陆","v":"大陆" }, +{"n":"香港","v":"香港" }, +{"n":"台湾","v":"台湾" }, +{"n":"美国","v":"美国" }, +{"n":"日本","v":"日本" }, +{"n":"韩国","v":"韩国" }, +{"n":"英国","v":"英国" }, +{"n":"法国","v":"法国" }, +{"n":"德国","v":"德国" }, +{"n":"印度","v":"印度" }, +{"n":"泰国","v":"泰国" }, +{"n":"丹麦","v":"丹麦" }, +{"n":"瑞典","v":"瑞典" }, +{"n":"巴西","v":"巴西" }, +{"n":"加拿大","v":"加拿大" }, +{"n":"俄罗斯","v":"俄罗斯" }, +{"n":"意大利","v":"意大利" }, +{"n":"比利时","v":"比利时" }, +{"n":"爱尔兰","v":"爱尔兰" }, +{"n":"西班牙","v":"西班牙" }, +{"n":"其他","v":"其他" } +] +}, +{ +"key":"year", +"name":"年份", +"value": [ +{"n":"全部","v":"" }, +{"n":"2022","v":"2022" }, +{"n":"2021","v":"2021" }, +{"n":"2020","v":"2020" }, +{"n":"2019","v":"2019" }, +{"n":"2018","v":"2018" }, +{"n":"2017","v":"2017" }, +{"n":"2016","v":"2016" }, +{"n":"2015","v":"2015" }, +{"n":"2014","v":"2014" }, +{"n":"2013","v":"2013" }, +{"n":"2012","v":"2012" }, +{"n":"2011","v":"2011" }, +{"n":"2010","v":"2010" }, +{"n":"2009","v":"2009" }, +{"n":"2008","v":"2008" }, +{"n":"2007","v":"2007" }, +{"n":"2006","v":"2006" }, +{"n":"2005","v":"2005" }, +{"n":"2004","v":"2004" }, +{"n":"2003","v":"2003" }, +{"n":"2002","v":"2002" }, +{"n":"2001","v":"2001" }, +{"n":"2000","v":"2000" } +] +}, +{ +"key":"by", +"name":"排序", +"value": [ +{"n":"时间","v":"time" }, +{"n":"人气","v":"hits" }, +{"n":"评分","v":"score" } +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"year", +"name":"年份", +"value": [ +{"n":"全部","v":"" }, +{"n":"2022","v":"2022" }, +{"n":"2021","v":"2021" }, +{"n":"2020","v":"2020" }, +{"n":"2019","v":"2019" }, +{"n":"2018","v":"2018" }, +{"n":"2017","v":"2017" }, +{"n":"2016","v":"2016" }, +{"n":"2015","v":"2015" }, +{"n":"2014","v":"2014" }, +{"n":"2013","v":"2013" }, +{"n":"2012","v":"2012" }, +{"n":"2011","v":"2011" }, +{"n":"2010","v":"2010" }, +{"n":"2009","v":"2009" }, +{"n":"2008","v":"2008" }, +{"n":"2007","v":"2007" }, +{"n":"2006","v":"2006" }, +{"n":"2005","v":"2005" }, +{"n":"2004","v":"2004" }, +{"n":"2003","v":"2003" }, +{"n":"2002","v":"2002" }, +{"n":"2001","v":"2001" }, +{"n":"2000","v":"2000" } +] +}, +{ +"key":"by", +"name":"排序", +"value": [ +{"n":"时间","v":"time" }, +{"n":"人气","v":"hits" }, +{"n":"评分","v":"score" } +] +} +], +"4":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"情感","v":"情感"}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"亲子","v":"亲子"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value": [ +{"n":"全部","v":"" }, +{"n":"2022","v":"2022" }, +{"n":"2021","v":"2021" }, +{"n":"2020","v":"2020" }, +{"n":"2019","v":"2019" }, +{"n":"2018","v":"2018" }, +{"n":"2017","v":"2017" }, +{"n":"2016","v":"2016" }, +{"n":"2015","v":"2015" }, +{"n":"2014","v":"2014" }, +{"n":"2013","v":"2013" }, +{"n":"2012","v":"2012" }, +{"n":"2011","v":"2011" }, +{"n":"2010","v":"2010" }, +{"n":"2009","v":"2009" }, +{"n":"2008","v":"2008" }, +{"n":"2007","v":"2007" }, +{"n":"2006","v":"2006" }, +{"n":"2005","v":"2005" }, +{"n":"2004","v":"2004" }, +{"n":"2003","v":"2003" }, +{"n":"2002","v":"2002" }, +{"n":"2001","v":"2001" }, +{"n":"2000","v":"2000" } +] +}, +{ +"key":"by", +"name":"排序", +"value": [ +{"n":"时间","v":"time" }, +{"n":"人气","v":"hits" }, +{"n":"评分","v":"score" } +] +} +] +} +} diff --git a/xBPQ/小猫咪.json b/xBPQ/小猫咪.json new file mode 100644 index 0000000..e31004a --- /dev/null +++ b/xBPQ/小猫咪.json @@ -0,0 +1,457 @@ +{ +"作者":"张弘", +"站名":"小猫咪", +"主页url":"https://fositv.com", +"数组":"class=\"myui-vodlist__thumb&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"副标题":"text-right\">&&", +"链接":"href=\"&&\"", +"线路数组":"#playlist&&", +"线路标题":">&&<", +"影片类型":"关键词:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"class=\"sketch content\">&&", +"播放数组":"class=\"myui-content__list&&", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"播放链接前缀":"https://fositv.com", +"搜索url":"https://fositv.com/vod____search/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索数组":"
  • &&
  • ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索副标题":"text-right\">&&", +"搜索链接":"href=\"&&\"", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4#纪录$5", +"分类url":"https://fositv.com/vod____show/{cateId}-{area}-{by}------{catePg}---{year}.html", +"免嗅":"1", +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作","v":"101"}, +{"n":"喜剧","v":"102"}, +{"n":"爱情","v":"103"}, +{"n":"科幻","v":"104"}, +{"n":"剧情","v":"105"}, +{"n":"悬疑","v":"106"}, +{"n":"惊悚","v":"107"}, +{"n":"恐怖","v":"108"}, +{"n":"犯罪","v":"109"}, +{"n":"谍战","v":"110"}, +{"n":"冒险","v":"111"}, +{"n":"奇幻","v":"112"}, +{"n":"灾难","v":"113"}, +{"n":"战争","v":"114"}, +{"n":"动画","v":"115"}, +{"n":"歌舞","v":"116"}, +{"n":"历史","v":"117"}, +{"n":"传记","v":"118"}, +{"n":"纪录","v":"119"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"武侠","v":"201"}, +{"n":"喜剧","v":"202"}, +{"n":"爱情","v":"203"}, +{"n":"剧情","v":"204"}, +{"n":"青春","v":"205"}, +{"n":"悬疑","v":"206"}, +{"n":"科幻","v":"207"}, +{"n":"军事","v":"208"}, +{"n":"警匪","v":"209"}, +{"n":"谍战","v":"210"}, +{"n":"奇幻","v":"211"}, +{"n":"偶像","v":"212"}, +{"n":"都市","v":"215"}, +{"n":"古装","v":"217"}, +{"n":"历史","v":"218"}, +{"n":"神话","v":"219"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"脱口秀","v":"301"}, +{"n":"真人秀","v":"302"}, +{"n":"搞笑","v":"303"}, +{"n":"访谈","v":"304"}, +{"n":"生活","v":"305"}, +{"n":"晚会","v":"306"}, +{"n":"美食","v":"307"}, +{"n":"游戏","v":"308"}, +{"n":"亲子","v":"309"}, +{"n":"旅游","v":"310"}, +{"n":"文化","v":"311"}, +{"n":"体育","v":"312"}, +{"n":"时尚","v":"313"}, +{"n":"纪实","v":"314"}, +{"n":"益智","v":"315"}, +{"n":"演艺","v":"316"}, +{"n":"歌舞","v":"317"}, +{"n":"音乐","v":"318"}, +{"n":"播报","v":"319"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"热血","v":"401"}, +{"n":"格斗","v":"402"}, +{"n":"恋爱","v":"403"}, +{"n":"美少女","v":"404"}, +{"n":"校园","v":"405"}, +{"n":"搞笑","v":"406"}, +{"n":"LOLI","v":"407"}, +{"n":"神魔","v":"408"}, +{"n":"机战","v":"409"}, +{"n":"科幻","v":"410"}, +{"n":"真人","v":"411"}, +{"n":"青春","v":"412"}, +{"n":"魔法","v":"413"}, +{"n":"神话","v":"414"}, +{"n":"冒险","v":"415"}, +{"n":"运动","v":"416"}, +{"n":"竞技","v":"417"}, +{"n":"童话","v":"418"}, +{"n":"亲子","v":"419"}, +{"n":"教育","v":"420"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"5":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"人物","v":"501"}, +{"n":"军事","v":"502"}, +{"n":"历史","v":"503"}, +{"n":"自然","v":"504"}, +{"n":"探险","v":"505"}, +{"n":"科技","v":"506"}, +{"n":"文化","v":"507"}, +{"n":"刑侦","v":"508"}, +{"n":"社会","v":"509"}, +{"n":"旅游","v":"510"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} diff --git a/xBPQ/巨人.json b/xBPQ/巨人.json new file mode 100644 index 0000000..90fbd22 Binary files /dev/null and b/xBPQ/巨人.json differ diff --git a/xBPQ/巨人影视.json b/xBPQ/巨人影视.json new file mode 100644 index 0000000..125f987 --- /dev/null +++ b/xBPQ/巨人影视.json @@ -0,0 +1,20 @@ +{ +"免嗅":"1", +"副标题":"class=\"hl-lc-1 remarks\">&&", +"导演": "导演:&&&&", +"线路标题":">&&", +"播放数组":"id=\"hl-plays-list&&", +"播放标题":">&&&&", +"导演": "导演:&&&&", +"线路标题":">&&<", +"播放数组":"
      ", +"分类":"电视剧$2#动漫$3#电影$1#综艺$4#动画片$6", +"分类url":"http://www.jurenm.com/vodtype/{cateId}/page/{catePg}.html" +} diff --git a/xBPQ/巨人影院.json b/xBPQ/巨人影院.json new file mode 100644 index 0000000..e722038 --- /dev/null +++ b/xBPQ/巨人影院.json @@ -0,0 +1,223 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "巨人影院", + "主页url": "https://www.jurenm.com", + + "分类": "电影$1#电视剧$2#风车动漫$3#综艺$4#动画片$6", + + "分类url": "https://www.jurenm.com/show/{cateId}{area}{by}/page/{catePg}{year}.html", + + "副标题": "remarks\">&&", + + "搜索模式": "1", + "搜索url": "/search/page/{pg}/wd/{wd}.html", + "搜索数组": "hl-item-pic\">&&", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "title=\"&&\"", + "搜索副标题": "remarks\">&&", + "搜索链接": "href=\"&&\"", + + "影片年代": "年份:&&", + "影片地区": "地区:&&", + "影片类型": "类型:&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "text\">&&", + + "线路数组": "", + "线路标题": "alt=\"&&\"", + + "播放数组": "hl-list-wrap\">&&
    ", + + "筛选":{ +"1":[ + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"意大利","v":"/area/意大利"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"2":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"2"}, + {"n":"韩剧TV","v":"13"}, + {"n":"美剧屋","v":"15"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"日本","v":"/area/日本"}, + {"n":"美国","v":"/area/美国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"新加坡","v":"/area/新加坡"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"3":[ + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"/area/内地"}, + {"n":"港台","v":"/area/港台"}, + {"n":"日韩","v":"/area/日韩"}, + {"n":"欧美","v":"/area/欧美"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"0212","v":"/year/0212"}, + {"n":"0202","v":"/year/0202"}, + {"n":"0192","v":"/year/0192"}, + {"n":"0182","v":"/year/0182"}, + {"n":"0172","v":"/year/0172"}, + {"n":"0162","v":"/year/0162"}, + {"n":"0152","v":"/year/0152"}, + {"n":"0142","v":"/year/0142"}, + {"n":"0132","v":"/year/0132"}, + {"n":"0122","v":"/year/0122"}, + {"n":"0112","v":"/year/0112"}, + {"n":"0102","v":"/year/0102"}, + {"n":"0092","v":"/year/0092"}, + {"n":"0082","v":"/year/0082"}, + {"n":"0072","v":"/year/0072"}, + {"n":"0062","v":"/year/0062"}, + {"n":"0052","v":"/year/0052"}, + {"n":"004","v":"/year/004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"4":[ + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"国产","v":"/area/国产"}, + {"n":"日本","v":"/area/日本"}, + {"n":"欧美","v":"/area/欧美"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"6":[ + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"日本","v":"/area/日本"}, + {"n":"美国","v":"/area/美国"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/干饭.json b/xBPQ/干饭.json new file mode 100644 index 0000000..b5793e7 Binary files /dev/null and b/xBPQ/干饭.json differ diff --git a/xBPQ/干饭影视().json b/xBPQ/干饭影视().json new file mode 100644 index 0000000..9ccacaa --- /dev/null +++ b/xBPQ/干饭影视().json @@ -0,0 +1,334 @@ +{ +"作者":"张弘", +"站名":"干饭影视", +"主页url":"https://www.gfysys1.com/", +//"数组":"
    &&
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"线路数组":"#playlist&&", +"线路标题":"\">&&
    [替换:(>>♡#)>>集♡]", +"搜索url": "https://www.gfysys1.com/{wd}----------{pg}---.html", +"搜索模式":"0", +"搜索二次截取": "", +"搜索数组":"
  • &&
  • ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索链接前缀": "", +"搜索后缀":"/voddetail/", +"播放二次截取":"", +"播放数组":"stui-content__playlist&&", +"影片类型":"类型:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"", +"列表二次截取":"", +"播放列表":"", +"播放标题":">&&", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电影$1#剧集$2#综艺$3#动漫$4#片库$5", +"分类url":"https://www.gfysys1.com/vodtype/{cateId}-{catePg}.html", +//"分类url":"https://www.gfysys1.com/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", +"筛选": +{ +"1":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"伦理","v":"伦理"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"古装","v":"古装"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"爱情","v":"爱情"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"运动"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"真人秀","v":"真人秀"}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"美国","v":"美国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"动画","v":"动画"}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"美国","v":"美国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"5":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/干饭影视.json b/xBPQ/干饭影视.json new file mode 100644 index 0000000..a03d905 --- /dev/null +++ b/xBPQ/干饭影视.json @@ -0,0 +1,31 @@ +{ +"作者":"张弘", +"站名":"干饭影视", +"主页url":"https://www.gfysys1.com/", +"数组":"
    &&
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"线路数组":"#playlist&&", +"线路标题":"\">&&[替换:(>>♡#)>>集♡]", +"搜索模式":"0", +"搜索二次截取": "", +"搜索数组":"
    &&
    ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索链接前缀": "", +"播放二次截取":"", +"播放数组":"stui-content__playlist&&", +"影片类型":"类型:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"", +"列表二次截取":"", +"播放列表":"", +"播放标题":">&&", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电影$1#剧集$2#综艺$3#动漫$4#片库$5", +"分类url":"https://www.gfysys1.com/vodtype/{cateId}-{catePg}.html" +} \ No newline at end of file diff --git a/xBPQ/床吧.json b/xBPQ/床吧.json new file mode 100644 index 0000000..ed37353 --- /dev/null +++ b/xBPQ/床吧.json @@ -0,0 +1,14 @@ +{ +"站名":"床吧", +"主页url":"https://chuangba20.xyz", +"分类":"国产精品$50#亚洲无码$2#中文字幕$3#美女主播$4#动漫卡通$5#人妻熟女$42#重口味$43#三级伦理$44#精选口爆$54#精品亚洲$53#亚洲有码$47#欧美情色$48#同性同志$52#91大神$51#精品欧美$55#AV解说$56", + "数组": "class=\"video\">&&
    ", + "图片": "src=\"&&\"", + "标题": "title=\"&&\"", + "链接": "href=\"&&\"", + "播放数组": "class=\"panel-body panel-padding\">&&
    ", + "播放列表": "class=\"pic\">&&", + "播放标题": "title=\"&&\"", + "播放链接": "href=\"&&\"", +"分类url":"https://chuangba20.xyz/index.php/vod/type/id/{cateId}/page/{catePg}.html" +} \ No newline at end of file diff --git a/xBPQ/床吧搜索.json b/xBPQ/床吧搜索.json new file mode 100644 index 0000000..64522e3 --- /dev/null +++ b/xBPQ/床吧搜索.json @@ -0,0 +1,674 @@ +{ +"站名":"床吧搜索", +"主页url":"https://chuangba20.xyz", +"分类":"一区$1#二区$2#三区$3#四区$4", + "数组": "class=\"video\">&&", + "图片": "src=\"&&\"", + "标题": "title=\"&&\"", + "链接": "href=\"&&\"", + "播放数组": "class=\"panel-body panel-padding\">&&", + "播放列表": "class=\"pic\">&&", + "播放标题": "title=\"&&\"", + "播放链接": "href=\"&&\"", +"分类url":"https://chuangba20.xyz/index.php/vod/search/page/{catePg}/wd/{wd}.html", +"筛选": +{ +"1":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"探花","v":"探花"}, +{"n":"抖音","v":"抖音"}, +{"n":"网爆门","v":"网爆门"}, +{"n":"麻豆","v":"麻豆"}, +{"n":"91","v":"91"}, +{"n":"韩国","v":"韩国"}, +{"n":"自拍","v":"自拍"}, +{"n":"偷拍","v":"偷拍"}, +{"n":"情侣","v":"情侣"}, +{"n":"内射","v":"内射"}, +{"n":"空姐","v":"空姐"}, +{"n":"模特","v":"模特"}, +{"n":"护士","v":"护士"}, +{"n":"处女","v":"处女"}, +{"n":"丝袜","v":"丝袜"}, +{"n":"双飞","v":"双飞"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"强奸","v":"强奸"}, +{"n":"迷奸","v":"迷奸"}, +{"n":"巨乳","v":"巨乳"}, +{"n":"制服","v":"制服"}, +{"n":"外卖","v":"外卖"}, +{"n":"吹箫","v":"吹箫"}, +{"n":"淫乱","v":"淫乱"}, +{"n":"高潮","v":"高潮"}, +{"n":"虐待","v":"虐待"}, +{"n":"剧情","v":"剧情"}, +{"n":"网红","v":"网红"}, +{"n":"日本","v":"日本"}, +{"n":"肛交","v":"肛交"}, +{"n":"口交","v":"口交"}, +{"n":"足交","v":"足交"}, +{"n":"无码","v":"无码"}, +{"n":"动漫","v":"动漫"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"3P","v":"3P"}, +{"n":"SM","v":"SM"}, +{"n":"另类","v":"另类"}, +{"n":"同事","v":"同事"}, +{"n":"素人","v":"素人"}, +{"n":"少妇","v":"少妇"}, +{"n":"大奶","v":"大奶"}, +{"n":"直播","v":"直播"}, +{"n":"主播","v":"主播"}, +{"n":"嫩妹","v":"嫩妹"}, +{"n":"学妹","v":"学妹"}, +{"n":"COS","v":"COS"}, +{"n":"约炮","v":"约炮"}, +{"n":"无套","v":"无套"}, +{"n":"后入","v":"后入"}, +{"n":"尤物","v":"尤物"}, +{"n":"嫩逼","v":"嫩逼"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"美腿","v":"美腿"}, +{"n":"高跟","v":"高跟"}, +{"n":"搭讪","v":"搭讪"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"乱伦","v":"乱伦"}, +{"n":"金发","v":"金发"}, +{"n":"御姐","v":"御姐"}, +{"n":"偷情","v":"偷情"}, +{"n":"乳交","v":"乳交"}, +{"n":"下药","v":"下药"}, +{"n":"自慰","v":"自慰"}, +{"n":"做爱","v":"做爱"}, +{"n":"援交","v":"援交"}, +{"n":"爆乳","v":"爆乳"} +] +} +], +"2":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"一本道","v":"一本道"}, +{"n":"上司","v":"上司"}, +{"n":"学生","v":"学生"}, +{"n":"野外","v":"野外"}, +{"n":"萌妹","v":"萌妹"}, +{"n":"摄像头","v":"摄像头"}, +{"n":"丰满","v":"丰满"}, +{"n":"露脸","v":"露脸"}, +{"n":"爆菊","v":"爆菊"}, +{"n":"炮友","v":"炮友"}, +{"n":"白虎","v":"白虎"}, +{"n":"淑女","v":"淑女"}, +{"n":"偷看","v":"偷看"}, +{"n":"滴蜡","v":"滴蜡"}, +{"n":"长腿","v":"长腿"}, +{"n":"酒店","v":"酒店"}, +{"n":"变态","v":"变态"}, +{"n":"性虐","v":"性虐"}, +{"n":"抽插","v":"抽插"}, +{"n":"外围","v":"外围"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"女神","v":"女神"}, +{"n":"白丝","v":"白丝"}, +{"n":"黑丝","v":"黑丝"}, +{"n":"90后","v":"90后"}, +{"n":"会所","v":"会所"}, +{"n":"后门","v":"后门"}, +{"n":"肥臀","v":"肥臀"}, +{"n":"粉嫩","v":"粉嫩"}, +{"n":"国语","v":"国语"}, +{"n":"厕所","v":"厕所"}, +{"n":"一字马","v":"一字马"}, +{"n":"办公室","v":"办公室"}, +{"n":"连衣裙","v":"连衣裙"}, +{"n":"粉木耳","v":"粉木耳"}, +{"n":"更衣室","v":"更衣室"}, +{"n":"捆绑","v":"捆绑"}, +{"n":"迷药","v":"迷药"}, +{"n":"泳池","v":"泳池"}, +{"n":"推油","v":"推油"}, +{"n":"ktv","v":"ktv"}, +{"n":"迷晕","v":"迷晕"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"卫生间","v":"卫生间"}, +{"n":"大胸","v":"大胸"}, +{"n":"调教","v":"调教"}, +{"n":"灌醉","v":"灌醉"}, +{"n":"嫩模","v":"嫩模"}, +{"n":"秘书","v":"秘书"}, +{"n":"混血哥","v":"混血哥"}, +{"n":"康先生","v":"康先生"}, +{"n":"内裤哥","v":"内裤哥"}, +{"n":"约哥","v":"约哥"}, +{"n":"凤吟鸟唱","v":"凤吟鸟唱"}, +{"n":"C仔","v":"C仔"}, +{"n":"轻吻","v":"轻吻"}, +{"n":"特写","v":"特写"}, +{"n":"全裸","v":"全裸"}, +{"n":"插b","v":"插b"}, +{"n":"极品","v":"极品"}, +{"n":"性感","v":"性感"}, +{"n":"勾引","v":"勾引"}, +{"n":"双穴","v":"双穴"}, +{"n":"苗条","v":"苗条"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"闺蜜","v":"闺蜜"}, +{"n":"高挑","v":"高挑"}, +{"n":"双女","v":"双女"}, +{"n":"美少女","v":"美少女"}, +{"n":"高中","v":"高中"}, +{"n":"大学","v":"大学"}, +{"n":"初中","v":"初中"}, +{"n":"白嫩","v":"白嫩"}, +{"n":"嫩","v":"嫩"}, +{"n":"嫩妞","v":"嫩妞"}, +{"n":"粉色","v":"粉色"}, +{"n":"富二代","v":"富二代"}, +{"n":"牛仔裤","v":"牛仔裤"}, +{"n":"爆操","v":"爆操"}, +{"n":"骚逼","v":"骚逼"}, +{"n":"初恋","v":"初恋"}, +{"n":"女友","v":"女友"}, +{"n":"透明","v":"透明"}, +{"n":"诱惑","v":"诱惑"}, +{"n":"猛插","v":"猛插"}, +{"n":"圣诞","v":"圣诞"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"厨房","v":"厨房"}, +{"n":"发情","v":"发情"}, +{"n":"宾馆","v":"宾馆"}, +{"n":"嫩穴","v":"嫩穴"}, +{"n":"妹妹","v":"妹妹"}, +{"n":"表妹","v":"表妹"}, +{"n":"表姐","v":"表姐"}, +{"n":"小姨子","v":"小姨子"}, +{"n":"姐夫","v":"姐夫"}, +{"n":"沙发","v":"沙发"}, +{"n":"翘臀","v":"翘臀"}, +{"n":"淫叫","v":"淫叫"}, +{"n":"拜金女","v":"拜金女"}, +{"n":"多水","v":"多水"}, +{"n":"超正","v":"超正"}, +{"n":"淫穴","v":"淫穴"}, +{"n":"大屌","v":"大屌"}, +{"n":"医院","v":"医院"}, +{"n":"气质","v":"气质"}, +{"n":"长裙","v":"长裙"}, +{"n":"短裙","v":"短裙"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"喝酒","v":"喝酒"}, +{"n":"大公鸡","v":"大公鸡"}, +{"n":"A片","v":"A片"}, +{"n":"天使","v":"天使"}, +{"n":"啪啪","v":"啪啪"}, +{"n":"面具","v":"面具"}, +{"n":"骚女","v":"骚女"}, +{"n":"淫荡","v":"淫荡"}, +{"n":"医生","v":"医生"}, +{"n":"宅男","v":"宅男"}, +{"n":"病房","v":"病房"}, +{"n":"房东","v":"房东"}, +{"n":"针孔","v":"针孔"}, +{"n":"打炮","v":"打炮"}, +{"n":"鲜肉","v":"鲜肉"}, +{"n":"家里","v":"家里"}, +{"n":"颜值","v":"颜值"}, +{"n":"土豪","v":"土豪"}, +{"n":"销魂","v":"销魂"}, +{"n":"开档","v":"开档"}, +{"n":"超美","v":"超美"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"唯美","v":"唯美"}, +{"n":"野性","v":"野性"}, +{"n":"学院派","v":"学院派"}, +{"n":"约操","v":"约操"}, +{"n":"约战","v":"约战"}, +{"n":"灰丝","v":"灰丝"}, +{"n":"白领","v":"白领"}, +{"n":"爱液","v":"爱液"}, +{"n":"娇嫩","v":"娇嫩"}, +{"n":"呻吟","v":"呻吟"}, +{"n":"19岁","v":"19岁"}, +{"n":"18岁","v":"18岁"}, +{"n":"室友","v":"室友"}, +{"n":"屁眼","v":"屁眼"}, +{"n":"受虐","v":"受虐"}, +{"n":"女王","v":"女王"}, +{"n":"妹纸","v":"妹纸"}, +{"n":"咪咪","v":"咪咪"}, +{"n":"很紧","v":"很紧"}, +{"n":"插进去","v":"插进去"}, +{"n":"小媳妇","v":"小媳妇"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"纹身","v":"纹身"}, +{"n":"不雅","v":"不雅"}, +{"n":"肤白","v":"肤白"}, +{"n":"女孩","v":"女孩"}, +{"n":"淫水","v":"淫水"}, +{"n":"精油","v":"精油"}, +{"n":"淋浴","v":"淋浴"}, +{"n":"白富美","v":"白富美"}, +{"n":"粉b","v":"粉b"}, +{"n":"宝儿","v":"宝儿"}, +{"n":"喷潮","v":"喷潮"}, +{"n":"狂操","v":"狂操"}, +{"n":"特色","v":"特色"}, +{"n":"胸大","v":"胸大"}, +{"n":"小穴","v":"小穴"}, +{"n":"国外","v":"国外"}, +{"n":"镜头","v":"镜头"}, +{"n":"椅子","v":"椅子"}, +{"n":"野鸡","v":"野鸡"}, +{"n":"肛门","v":"肛门"}, +{"n":"长发","v":"长发"} +] +} +], +"3":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"美眉","v":"美眉"}, +{"n":"风骚","v":"风骚"}, +{"n":"火辣","v":"火辣"}, +{"n":"狠插","v":"狠插"}, +{"n":"修女","v":"修女"}, +{"n":"痴女","v":"痴女"}, +{"n":"韵味","v":"韵味"}, +{"n":"舔","v":"舔"}, +{"n":"窗户","v":"窗户"}, +{"n":"洞洞","v":"洞洞"}, +{"n":"水多","v":"水多"}, +{"n":"艺校","v":"艺校"}, +{"n":"仙女","v":"仙女"}, +{"n":"高难度","v":"高难度"}, +{"n":"痛","v":"痛"}, +{"n":"绝色","v":"绝色"}, +{"n":"肉丝","v":"肉丝"}, +{"n":"屁屁","v":"屁屁"}, +{"n":"湿透","v":"湿透"}, +{"n":"互舔","v":"互舔"}, +{"n":"欧洲","v":"欧洲"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"非洲","v":"非洲"}, +{"n":"乌克兰","v":"乌克兰"}, +{"n":"成人","v":"成人"}, +{"n":"服务号","v":"服务号"}, +{"n":"活好","v":"活好"}, +{"n":"舌头","v":"舌头"}, +{"n":"班花","v":"班花"}, +{"n":"校花","v":"校花"}, +{"n":"暗恋","v":"暗恋"}, +{"n":"绝世","v":"绝世"}, +{"n":"对白","v":"对白"}, +{"n":"瑜伽","v":"瑜伽"}, +{"n":"健身","v":"健身"}, +{"n":"可爱","v":"可爱"}, +{"n":"玩弄","v":"玩弄"}, +{"n":"奶子","v":"奶子"}, +{"n":"内裤","v":"内裤"}, +{"n":"冠希","v":"冠希"}, +{"n":"乳头","v":"乳头"}, +{"n":"强行","v":"强行"}, +{"n":"强上","v":"强上"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"施暴","v":"施暴"}, +{"n":"录像","v":"录像"}, +{"n":"泄露","v":"泄露"}, +{"n":"流出","v":"流出"}, +{"n":"看片","v":"看片"}, +{"n":"帅哥","v":"帅哥"}, +{"n":"最新","v":"最新"}, +{"n":"公交车","v":"公交车"}, +{"n":"骑乘","v":"骑乘"}, +{"n":"女上","v":"女上"}, +{"n":"迷人","v":"迷人"}, +{"n":"强暴","v":"强暴"}, +{"n":"乱轮","v":"乱轮"}, +{"n":"公公","v":"公公"}, +{"n":"别墅","v":"别墅"}, +{"n":"猛男","v":"猛男"}, +{"n":"母狗","v":"母狗"}, +{"n":"换妻","v":"换妻"}, +{"n":"荡妇","v":"荡妇"}, +{"n":"公司","v":"公司"}, +{"n":"桌子","v":"桌子"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"S级","v":"S级"}, +{"n":"微胖","v":"微胖"}, +{"n":"神乳","v":"神乳"}, +{"n":"眼镜","v":"眼镜"}, +{"n":"肥逼","v":"肥逼"}, +{"n":"白浆","v":"白浆"}, +{"n":"约啪","v":"约啪"}, +{"n":"大三","v":"大三"}, +{"n":"精灵","v":"精灵"}, +{"n":"主动","v":"主动"}, +{"n":"破处","v":"破处"}, +{"n":"女主","v":"女主"}, +{"n":"处男","v":"处男"}, +{"n":"裸体","v":"裸体"}, +{"n":"女警","v":"女警"}, +{"n":"凌辱","v":"凌辱"}, +{"n":"惨","v":"惨"}, +{"n":"侵犯","v":"侵犯"}, +{"n":"女仆","v":"女仆"}, +{"n":"网袜","v":"网袜"}, +{"n":"导师","v":"导师"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"纤细","v":"纤细"}, +{"n":"清纯","v":"清纯"}, +{"n":"小姐","v":"小姐"}, +{"n":"菊花","v":"菊花"}, +{"n":"求饶","v":"求饶"}, +{"n":"洗手间","v":"洗手间"}, +{"n":"打电话","v":"打电话"}, +{"n":"浴场","v":"浴场"}, +{"n":"嫖妓","v":"嫖妓"}, +{"n":"旅馆","v":"旅馆"}, +{"n":"正妹","v":"正妹"}, +{"n":"紧身","v":"紧身"}, +{"n":"白皙","v":"白皙"}, +{"n":"老婆","v":"老婆"}, +{"n":"中出","v":"中出"}, +{"n":"女模","v":"女模"}, +{"n":"按摩","v":"按摩"}, +{"n":"阴道","v":"阴道"}, +{"n":"S級","v":"S級"}, +{"n":"两男","v":"两男"}, +{"n":"婴儿肥","v":"婴儿肥"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"听话","v":"听话"}, +{"n":"歌厅","v":"歌厅"}, +{"n":"夜店","v":"夜店"}, +{"n":"乳晕","v":"乳晕"}, +{"n":"多男","v":"多男"}, +{"n":"短发","v":"短发"}, +{"n":"粉丝","v":"粉丝"}, +{"n":"撸管","v":"撸管"}, +{"n":"推荐","v":"推荐"}, +{"n":"湿润","v":"湿润"}, +{"n":"好硬","v":"好硬"}, +{"n":"轮草","v":"轮草"}, +{"n":"快手","v":"快手"}, +{"n":"叫声","v":"叫声"}, +{"n":"手机","v":"手机"}, +{"n":"拍摄","v":"拍摄"}, +{"n":"海滩","v":"海滩"}, +{"n":"沙滩","v":"沙滩"}, +{"n":"奴隶","v":"奴隶"}, +{"n":"惩罚","v":"惩罚"}, +{"n":"精液","v":"精液"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"干醒","v":"干醒"}, +{"n":"午睡","v":"午睡"}, +{"n":"大鸡巴","v":"大鸡巴"}, +{"n":"嫂子","v":"嫂子"}, +{"n":"上位","v":"上位"}, +{"n":"公园","v":"公园"}, +{"n":"上班","v":"上班"}, +{"n":"强迫","v":"强迫"}, +{"n":"男友","v":"男友"}, +{"n":"甜蜜","v":"甜蜜"}, +{"n":"温柔","v":"温柔"}, +{"n":"摄影师","v":"摄影师"}, +{"n":"暴力","v":"暴力"}, +{"n":"撕烂","v":"撕烂"}, +{"n":"日逼","v":"日逼"}, +{"n":"女星","v":"女星"}, +{"n":"卖淫","v":"卖淫"}, +{"n":"夜班","v":"夜班"}, +{"n":"尾随","v":"尾随"}, +{"n":"色狼","v":"色狼"}, +{"n":"痴汉","v":"痴汉"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"哭","v":"哭"}, +{"n":"偶遇","v":"偶遇"}, +{"n":"豹纹","v":"豹纹"}, +{"n":"内内","v":"内内"}, +{"n":"美艳","v":"美艳"}, +{"n":"跳舞","v":"跳舞"}, +{"n":"舞蹈","v":"舞蹈"}, +{"n":"大屁股","v":"大屁股"}, +{"n":"白屁股","v":"白屁股"}, +{"n":"美貌","v":"美貌"}, +{"n":"邻居","v":"邻居"}, +{"n":"病人","v":"病人"}, +{"n":"下班","v":"下班"}, +{"n":"爱妻","v":"爱妻"}, +{"n":"内入","v":"内入"}, +{"n":"猥琐","v":"猥琐"}, +{"n":"口活","v":"口活"}, +{"n":"婚礼","v":"婚礼"}, +{"n":"高价","v":"高价"}, +{"n":"导演","v":"导演"}, +{"n":"网友","v":"网友"} +] +} +], +"4":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"前后","v":"前后"}, +{"n":"皮鞭","v":"皮鞭"}, +{"n":"绳子","v":"绳子"}, +{"n":"美臀","v":"美臀"}, +{"n":"禽兽","v":"禽兽"}, +{"n":"灌倒","v":"灌倒"}, +{"n":"狗链","v":"狗链"}, +{"n":"主妇","v":"主妇"}, +{"n":"美鲍","v":"美鲍"}, +{"n":"偷约","v":"偷约"}, +{"n":"技师","v":"技师"}, +{"n":"美人","v":"美人"}, +{"n":"未成年","v":"未成年"}, +{"n":"包臀裙","v":"包臀裙"}, +{"n":"无毛","v":"无毛"}, +{"n":"教室","v":"教室"}, +{"n":"清秀","v":"清秀"}, +{"n":"流血","v":"流血"}, +{"n":"酒窝","v":"酒窝"}, +{"n":"十八","v":"十八"}, +{"n":"体育","v":"体育"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"细嫩","v":"细嫩"}, +{"n":"馒头b","v":"馒头b"}, +{"n":"一线天","v":"一线天"}, +{"n":"粉鲍","v":"粉鲍"}, +{"n":"嫩鲍","v":"嫩鲍"}, +{"n":"豪乳","v":"豪乳"}, +{"n":"娃娃音","v":"娃娃音"}, +{"n":"粉穴","v":"粉穴"}, +{"n":"口爆","v":"口爆"}, +{"n":"甜美","v":"甜美"}, +{"n":"乳房","v":"乳房"}, +{"n":"后妈","v":"后妈"}, +{"n":"黄头发","v":"黄头发"}, +{"n":"约会","v":"约会"}, +{"n":"校长","v":"校长"}, +{"n":"主任","v":"主任"}, +{"n":"尖叫","v":"尖叫"}, +{"n":"留学生","v":"留学生"}, +{"n":"套路","v":"套路"}, +{"n":"姐妹花","v":"姐妹花"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"吃j8","v":"吃j8"}, +{"n":"尿尿","v":"尿尿"}, +{"n":"小三","v":"小三"}, +{"n":"良家","v":"良家"}, +{"n":"人美","v":"人美"}, +{"n":"裸女","v":"裸女"}, +{"n":"强插","v":"强插"}, +{"n":"00后","v":"00后"}, +{"n":"嫩b","v":"嫩b"}, +{"n":"美穴","v":"美穴"}, +{"n":"水晶棒","v":"水晶棒"}, +{"n":"影星","v":"影星"}, +{"n":"娴熟","v":"娴熟"}, +{"n":"深喉","v":"深喉"}, +{"n":"马尾","v":"马尾"}, +{"n":"和服","v":"和服"}, +{"n":"大神","v":"大神"}, +{"n":"男优","v":"男优"}, +{"n":"女优","v":"女优"}, +{"n":"台湾","v":"台湾"}, +{"n":"新婚","v":"新婚"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"婚纱","v":"婚纱"}, +{"n":"新娘","v":"新娘"}, +{"n":"跳蛋","v":"跳蛋"}, +{"n":"诱奸","v":"诱奸"}, +{"n":"挤奶","v":"挤奶"}, +{"n":"大波","v":"大波"}, +{"n":"嗲","v":"嗲"}, +{"n":"童颜","v":"童颜"}, +{"n":"出差","v":"出差"}, +{"n":"小蛮腰","v":"小蛮腰"}, +{"n":"钢管舞","v":"钢管舞"}, +{"n":"骨感","v":"骨感"}, +{"n":"约拍","v":"约拍"}, +{"n":"约草","v":"约草"}, +{"n":"私教","v":"私教"}, +{"n":"上门","v":"上门"}, +{"n":"羞涩","v":"羞涩"}, +{"n":"野模","v":"野模"}, +{"n":"车模","v":"车模"}, +{"n":"酒吧","v":"酒吧"}, +{"n":"兼职","v":"兼职"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"包房","v":"包房"}, +{"n":"吞精","v":"吞精"}, +{"n":"水滴","v":"水滴"}, +{"n":"富婆","v":"富婆"}, +{"n":"押尾猫","v":"押尾猫"}, +{"n":"小岛酱","v":"小岛酱"}, +{"n":"萌白酱","v":"萌白酱"}, +{"n":"范范","v":"范范"}, +{"n":"毛婷","v":"毛婷"}, +{"n":"艾栗栗","v":"艾栗栗"}, +{"n":"刘玥","v":"刘玥"}, +{"n":"汤不热","v":"汤不热"}, +{"n":"康爱福","v":"康爱福"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/影视工场.json b/xBPQ/影视工场.json new file mode 100644 index 0000000..c48c686 --- /dev/null +++ b/xBPQ/影视工场.json @@ -0,0 +1,285 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "影视工场", + "主页url": "https://www.ysgc.fun", + + "分类": "电影&电视剧&综艺&动漫", + "分类值": "1&2&3&4", + + "分类url": "https://www.ysgc.fun/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", + + "副标题": "text-right\">&&", + + "搜索模式": "0", + "搜索后缀": "/voddetail/", + + "影片年代": ">(&&)", + "影片地区": "地区:&&

    ", + "影片类型": "类型:&&

    ", + "导演": "导演:&&

    ", + "主演": "主演:&&

    ", + "简介": "sketch content\">&&", + + "线路数组": "", + "线路标题": ">&&", + + "播放数组": "
    ", + + "筛选":{ +"1":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"动作","v":"动作"}, + {"n":"喜剧","v":"喜剧"}, + {"n":"爱情","v":"爱情"}, + {"n":"科幻","v":"科幻"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"惊悚","v":"惊悚"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"剧情","v":"剧情"}, + {"n":"战争","v":"战争"}, + {"n":"动画","v":"动画"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"武侠","v":"武侠"}, + {"n":"古装","v":"古装"}, + {"n":"冒险","v":"冒险"}, + {"n":"历史","v":"历史"}, + {"n":"歌舞","v":"歌舞"}, + {"n":"家庭","v":"家庭"}, + {"n":"网络","v":"网络"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"内地"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"泰国","v":"泰国"}, + {"n":"美国","v":"美国"}, + {"n":"印度","v":"印度"}, + {"n":"法国","v":"法国"}, + {"n":"英国","v":"英国"}, + {"n":"俄罗斯","v":"俄罗斯"}, + {"n":"德国","v":"德国"}, + {"n":"西班牙","v":"西班牙"}, + {"n":"意大利","v":"意大利"}, + {"n":"澳大利亚","v":"澳大利亚"}, + {"n":"荷兰","v":"荷兰"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}, + {"n":"2003","v":"2003"}, + {"n":"2002","v":"2002"}, + {"n":"2001","v":"2001"}, + {"n":"2000","v":"2000"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"2":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"爱情","v":"爱情"}, + {"n":"古装","v":"古装"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"惊悚","v":"惊悚"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"剧情","v":"剧情"}, + {"n":"现代","v":"现代"}, + {"n":"都市","v":"都市"}, + {"n":"偶像","v":"偶像"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"农村","v":"农村"}, + {"n":"历史","v":"历史"}, + {"n":"警匪","v":"警匪"}, + {"n":"家庭","v":"家庭"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"武侠","v":"武侠"}, + {"n":"科幻","v":"科幻"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"谍战","v":"谍战"}, + {"n":"穿越","v":"穿越"}, + {"n":"宫廷","v":"宫廷"}, + {"n":"神话","v":"神话"}, + {"n":"网剧","v":"网剧"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"内地"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"泰国","v":"泰国"}, + {"n":"美国","v":"美国"}, + {"n":"印度","v":"印度"}, + {"n":"德国","v":"德国"}, + {"n":"法国","v":"法国"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"3":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"搞笑","v":"搞笑"}, + {"n":"真人秀","v":"真人秀"}, + {"n":"职场","v":"职场"}, + {"n":"竞技","v":"竞技"}, + {"n":"婚恋","v":"婚恋"}, + {"n":"情感","v":"情感"}, + {"n":"旅游","v":"旅游"}, + {"n":"生活","v":"生活"}, + {"n":"闯关","v":"闯关"}, + {"n":"游戏","v":"游戏"}, + {"n":"纪实","v":"纪实"}, + {"n":"明星","v":"明星"}, + {"n":"访谈","v":"访谈"}, + {"n":"脱口秀","v":"脱口秀"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"内地"}, + {"n":"港台","v":"港台"}, + {"n":"日韩","v":"日韩"}, + {"n":"欧美","v":"欧美"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}, + {"n":"2003","v":"2003"}, + {"n":"2002","v":"2002"}, + {"n":"2001","v":"2001"}, + {"n":"2000","v":"2000"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"4":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"情感","v":"情感"}, + {"n":"科幻","v":"科幻"}, + {"n":"热血","v":"热血"}, + {"n":"推理","v":"推理"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"冒险","v":"冒险"}, + {"n":"萝莉","v":"萝莉"}, + {"n":"校园","v":"校园"}, + {"n":"动作","v":"动作"}, + {"n":"机战","v":"机战"}, + {"n":"运动","v":"运动"}, + {"n":"战争","v":"战争"}, + {"n":"少年","v":"少年"}, + {"n":"少女","v":"少女"}, + {"n":"社会","v":"社会"}, + {"n":"原创","v":"原创"}, + {"n":"亲子","v":"亲子"}, + {"n":"益智","v":"益智"}, + {"n":"励志","v":"励志"}, + {"n":"其他","v":"其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"国产","v":"国产"}, + {"n":"日本","v":"日本"}, + {"n":"欧美","v":"欧美"}, + {"n":"其他","v":"其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}, + {"n":"2003","v":"2003"}, + {"n":"2002","v":"2002"}, + {"n":"2001","v":"2001"}, + {"n":"2000","v":"2000"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/快看影视.json b/xBPQ/快看影视.json new file mode 100644 index 0000000..2f8f52f --- /dev/null +++ b/xBPQ/快看影视.json @@ -0,0 +1,66 @@ +{ +"作者":"张弘", +"站名":"快看影视", +"主页url":"https://www.kuaikanys.net/", +"数组":"tu\">&&
    ", +"图片":"img src=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"&&", +"线路二次截取":"
    &&
    ", +"线路数组":"", +"线路标题":">&&<", +"搜索模式": "0", +"搜索数组": "tu\">&&", +"搜索图片": "img src=\"&&\"", +"搜索标题": "alt=\"&&\"", +"搜索链接": "href=\"&&\"", +"搜索后缀":"/v/", +"播放二次截取":"
    &&
    ", +"播放数组":"
      &&
    ", +"影片地区":"地区:&&

    ", +"影片年代":"年份:&&

    ", +"影片类型":"类型:&&

    ", +"导演":"
    ", +"主演":"主演:&&", +"简介":"剧情介绍:&&", +"列表二次截取":"", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类url":"https://www.kuaikanys.net/s/{cateId}/page/{catePg}.html", +"分类":"电影$dianying#电视剧$lianxuju#综艺$zongyi#动漫$dongman", +"筛选":{ +"dianying":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"dongzuopian"}, +{"n":"喜剧片","v":"xijupian"}, +{"n":"爱情片","v":"aiqingpian"}, +{"n":"科幻片","v":"kehuanpian"}, +{"n":"恐怖片","v":"kongbupian"}, +{"n":"剧情片","v":"juqingpian"}, +{"n":"战争片","v":"zhanzhengpian"} +] +} +], +"lianxuju":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"guochanju"}, +{"n":"港台剧","v":"gangtaiju"}, +{"n":"日韩剧","v":"rihanju"}, +{"n":"欧美剧","v":"oumeiju"}, +{"n":"其他剧","v":"qitaju"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/性欲轮回.json b/xBPQ/性欲轮回.json new file mode 100644 index 0000000..7c8c6e4 --- /dev/null +++ b/xBPQ/性欲轮回.json @@ -0,0 +1,94 @@ +{ +"站名": "性欲轮回", +"主页url": "https://www.singyulh.cc", +"直接播放": "1", +"列表显示": "0", +"横图显示": "0", +"分类": "国产视频$1#日本视频$2#欧美视频$3", +"数组": "class=\"item-box&&", +"图片": "img src=\"&&\"", +"标题": "alt=\"&&\"", +"链接": "href=\"&&\"", +"副标题":"&&", +"搜索url":"https://www.singyulh.cc/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索数组":"
  • &&
  • ", +"搜索图片":"img src=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索后缀":"/index.php/vodplay/", +"搜索链接前缀":"https://www.singyulh.cc", +"搜索链接后缀":"-1-1.html", +"免嗅":"1", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"过滤词":"=http#.jpg#.png#.ico#.gif#.js", +"分类url":"https://www.singyulh.cc/index.php/vodtype/{cateId}-{catePg}.html", +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"分类", +"value":[ +{"n":"全部","v":""}, +{"n":"国产精品","v":"10"}, +{"n":"精品三级","v":"11"}, +{"n":"主播大秀","v":"12"}, +{"n":"抖阴视频","v":"13"}, +{"n":"国模私拍","v":"14"}, +{"n":"颜射瞬间","v":"15"}, +{"n":"女神学生","v":"16"}, +{"n":"美熟少妇","v":"17"}, +{"n":"娇妻素人","v":"18"}, +{"n":"空姐模特","v":"19"}, +{"n":"国产乱伦","v":"20"}, +{"n":"专题","v":"26"}, +{"n":"自慰群交","v":"21"}, +{"n":"野合车震","v":"22"}, +{"n":"职场同事","v":"23"}, +{"n":"国产名人","v":"24"}, +{"n":"网曝门事件","v":"25"}, +{"n":"偷拍自拍","v":"57"}, +{"n":"深夜保健室","v":"99"}, +{"n":"北京天使","v":"119"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"分类", +"value":[ +{"n":"全部","v":""}, +{"n":"骑兵有码","v":"27"}, +{"n":"步兵无码","v":"28"}, +{"n":"制服师生","v":"50"}, +{"n":"强奸乱伦","v":"51"}, +{"n":"人妻熟女","v":"53"}, +{"n":"三级剧情","v":"55"}, +{"n":"丝袜美腿","v":"56"}, +{"n":"亚洲情色","v":"58"} +] +} +], +"3":[ +{ +"key":"cateId", +"name":"分类", +"value":[ +{"n":"全部","v":""}, +{"n":"欧美性爱","v":"29"}, +{"n":"性爱音乐视频-PMV","v":"93"}, +{"n":"人兽","v":"30"}, +{"n":"人妖","v":"31"}, +{"n":"MomsTeachSex","v":"95"}, +{"n":"男同","v":"32"}, +{"n":"女同","v":"33"}, +{"n":"Fake Taxi","v":"83"}, +{"n":"Barzzers","v":"87"}, +{"n":"Wow Girls","v":"117"}, +{"n":"FamilyStrokes","v":"116"} +] +} +] +} +} diff --git a/xBPQ/性欲轮回[分类].json b/xBPQ/性欲轮回[分类].json new file mode 100644 index 0000000..532a116 --- /dev/null +++ b/xBPQ/性欲轮回[分类].json @@ -0,0 +1,24 @@ +{ +"站名": "性欲轮回[分类]", +"主页url": "https://www.singyulh.cc", +"直接播放": "1", +"分类": "麻豆传媒$麻豆传媒#SWAG$SWAG#短视频$短视频#福利姬$福利姬#软萌伪娘$伪娘#ASMR$ASMR#人妖$人妖#恋足$恋足#探花$探花#刘玥$刘玥#性爱娃娃$性爱娃娃#HongKongDoll$HongKongDoll#直播$直播#推特$推特#门事件$门事件", +"数组": "class=\"item-box&&", +"图片": "img src=\"&&\"", +"标题": "alt=\"&&\"", +"链接": "href=\"&&\"", +"副标题":"&&", +"搜索url":"https://www.singyulh.cc/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索数组":"
  • &&
  • ", +"搜索图片":"img src=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索后缀":"/index.php/vodplay/", +"搜索链接前缀":"https://www.singyulh.cc", +"搜索链接后缀":"-1-1.html", +"免嗅":"1", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"过滤词":"=http#.jpg#.png#.ico#.gif#.js", +"分类url":"https://www.singyulh.cc/index.php/vodsearch/{cateId}----------{catePg}---.html" +} diff --git a/xBPQ/极品.json b/xBPQ/极品.json new file mode 100644 index 0000000..7d88ae4 --- /dev/null +++ b/xBPQ/极品.json @@ -0,0 +1,9 @@ +{ + "免嗅": "1", + "播放标题": "span>&&<", + "副标题": "class=\"module-item-note\">&&
    ", + "线路数组": "class=\"module-tab-item tab-item&&", + "线路标题": "&&", + "播放数组": "class=\"module-play-list&&", + "分类url": "http://www.jpys.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html" +} diff --git a/xBPQ/极品影视.json b/xBPQ/极品影视.json new file mode 100644 index 0000000..67a9b64 --- /dev/null +++ b/xBPQ/极品影视.json @@ -0,0 +1,347 @@ +{ +"作者":"张弘", +"站名":"极品影视", +"主页url":"https://www.jpys.me", +"二次截取":"
    &&
    ", +"搜索模式":"1", +"搜索二次截取":"
    &&
    ", +"搜索后缀":"/voddetail/", +"线路数组":"
    ", +"线路标题":"&&[替换:>>♡]+集♡", +"播放数组":"class=\"module-play-list&&
    ", +"影片类型":"
    &&

    ", +"主演":"主演:&&

    ", +"简介":"scroll-box-y module-player-list\"&&
    ", +"播放标题":"&&", +"分类":"电影&电视剧&综艺&动漫", +"分类值":"1&2&4&3", +"分类url":"https://www.jpys.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", +"免嗅":"1", +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"儿童","v":"儿童"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆剧","v":"13"}, +{"n":"香港剧","v":"14"}, +{"n":"欧美剧","v":"15"}, +{"n":"韩国剧","v":"16"}, +{"n":"日本剧","v":"20"}, +{"n":"台湾剧","v":"21"}, +{"n":"泰国剧","v":"22"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"青春偶像","v":"青春偶像"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"泰国","v":"泰国"}, +{"n":"英国","v":"英国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} diff --git a/xBPQ/核桃影院.json b/xBPQ/核桃影院.json new file mode 100644 index 0000000..412b099 --- /dev/null +++ b/xBPQ/核桃影院.json @@ -0,0 +1,281 @@ +{ +"作者":"张弘", +"站名":"核桃影院", +"主页url":"http://kkkk.plus", +"副标题":"module-item-note\">&&", +"搜索模式":"1", +"搜索url":"/so/{wd}----------{pg}---.html", +"搜索数组":"module-item\">&&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索副标题":"module-item-note\">&&", +"搜索链接":"href=\"&&\"", +"搜索后缀":"/n/", +"影片类型":"
    &&立即播放", +"导演":"导演:&&
    ", +"主演":"主演:&&", +"简介":"introduction-content\">&&", +"线路数组":"data-dropdown-value=&&", +"线路标题":"&&
    [替换:>>♡]+集♡", +"播放数组":"module-play-list\">&&", +"分类":"电影$1#连续剧$2#综艺$3#动漫$4", +"分类url":"http://kkkk.plus/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", +"免嗅":"1", +"筛选":{ +"1":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"儿童","v":"儿童"}, +{"n":"网络电影","v":"网络电影"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"2":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"青春偶像","v":"青春偶像"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"泰国","v":"泰国"}, +{"n":"英国","v":"英国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"3":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"4":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"情感","v":"情感"}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"亲子","v":"亲子"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/欧美视频.json b/xBPQ/欧美视频.json new file mode 100644 index 0000000..1eefacf --- /dev/null +++ b/xBPQ/欧美视频.json @@ -0,0 +1,22 @@ +{"name": "欧美视频视频", +"url": "https://www.jokerlu117.info", +"tihuan": "cnzz.com", +"User": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; Mi9 Pro 5G Build/QKQ1.190825.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/11.0 Mobile Safari/537.36 COVC/045429", +"直接播放": "1", +"列表显示": "0", +"横图显示": "0", +"shouye": "1", +"fenlei": "欧美性爱$/index.php/vodtype/29-#性爱音乐视频-PMV$/index.php/vodtype/93-#人兽$/index.php/vodtype/30-#人妖$/index.php/vodtype/31-#MomsTeachSex$/index.php/vodtype/95-#男同$/index.php/vodtype/32-#女同$/index.php/vodtype/33-#Fake Taxi$/index.php/vodtype/83-#Barzzers$/index.php/vodtype/87-#Wow Girls$/index.php/vodtype/117-#FamilyStrokes$/index.php/vodtype/116-#卡通动漫$/index.php/vodtype/49-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-md-2 resent-grid recommended-grid sports-recommended-grid", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"" +} diff --git a/xBPQ/歪片星球.json b/xBPQ/歪片星球.json new file mode 100644 index 0000000..66553c6 --- /dev/null +++ b/xBPQ/歪片星球.json @@ -0,0 +1,476 @@ +{ +"作者":"张弘", +"站名":"歪片星球", +"主页url":"https://waipian12.com/", +"二次截取":"class=\"module-items&&
    &&
    ", +"搜索url":"/search-{wd}----------{pg}---/", +"搜索模式":"1", +"搜索数组":"module-item\">&&", +"搜索图片":"src=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索副标题":"module-item-note\">&&", +"搜索链接":"href=\"&&\"", +"线路数组":"
    ", +"线路标题":">&&", +"播放数组":"class=\"module-play-list-content&&
    ", +"影片类型":"
    &&i>播放", +"导演":"导演:&&
    ", +"主演":"主演:&&", +"简介":"module-info-introduction-content\">&&", +"播放列表":"", +"播放标题":"&&", +"播放链接":"href=\"&&\"", +"分类":"电影$dianying#剧集$juji#综艺$zongyi#动漫$dongman#纪录片$jilupian#歪片库$waipian", +"分类url":"https://waipian12.com/show-{cateId}-{area}-{by}-{class}-----{catePg}---{year}/", +"免嗅":"1", +"筛选": +{ +"dianying":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"动画","v":"动画"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"同性","v":"同性"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"历史","v":"历史"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"灾难","v":"灾难"}, +{"n":"古装","v":"古装"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"澳大利亚","v":"澳大利亚"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"更新时间","v":"time"}, +{"n":"热门","v":"hits"}, +{"n":"实时热门","v":"hits_day"}, +{"n":"今日热播","v":"hits_week"}, +{"n":"新片上线","v":"year"} +] +} +], +"juji":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"剧情","v":"剧情"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"动作","v":"动作"}, +{"n":"爱情","v":"爱情"}, +{"n":"科幻","v":"科幻"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"同性","v":"同性"}, +{"n":"历史","v":"历史"}, +{"n":"战争","v":"战争"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"冒险","v":"冒险"}, +{"n":"灾难","v":"灾难"}, +{"n":"武侠","v":"武侠"}, +{"n":"古装","v":"古装"}, +{"n":"都市","v":"都市"}, +{"n":"情景","v":"情景"}, +{"n":"家庭","v":"家庭"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"澳大利亚","v":"澳大利亚"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"更新时间","v":"time"}, +{"n":"热门","v":"hits"}, +{"n":"实时热门","v":"hits_day"}, +{"n":"今日热播","v":"hits_week"}, +{"n":"新片上线","v":"year"} +] +} +], +"zongyi":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"音乐","v":"音乐"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"运动","v":"运动"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"旅游","v":"游戏"}, +{"n":"美食","v":"美食"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"更新时间","v":"time"}, +{"n":"热门","v":"hits"}, +{"n":"实时热门","v":"hits_day"}, +{"n":"今日热播","v":"hits_week"}, +{"n":"新片上线","v":"year"} +] +} +], +"dongman":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"剧情","v":"剧情"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"动作","v":"动作"}, +{"n":"爱情","v":"爱情"}, +{"n":"科幻","v":"科幻"}, +{"n":"动画","v":"动画"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"同性","v":"同性"}, +{"n":"战争","v":"战争"}, +{"n":"冒险","v":"冒险"}, +{"n":"灾难","v":"灾难"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"更新时间","v":"time"}, +{"n":"热门","v":"hits"}, +{"n":"实时热门","v":"hits_day"}, +{"n":"今日热播","v":"hits_week"}, +{"n":"新片上线","v":"year"} +] +} +], +"jilupian":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"传记","v":"传记"}, +{"n":"历史","v":"历史"}, +{"n":"纪录","v":"纪录"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"更新时间","v":"time"}, +{"n":"热门","v":"hits"}, +{"n":"实时热门","v":"hits_day"}, +{"n":"今日热播","v":"hits_week"}, +{"n":"新片上线","v":"year"} +] +} +], +"waipian":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"同性","v":"同性"}, +{"n":"伦理","v":"伦理"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"加拿大","v":"西班牙"}, +{"n":"西班牙","v":"加拿大"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"澳大利亚","v":"澳大利亚"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"更新时间","v":"time"}, +{"n":"热门","v":"hits"}, +{"n":"实时热门","v":"hits_day"}, +{"n":"今日热播","v":"hits_week"}, +{"n":"新片上线","v":"year"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/段友影视(xBPQ).json b/xBPQ/段友影视(xBPQ).json new file mode 100644 index 0000000..1b311db --- /dev/null +++ b/xBPQ/段友影视(xBPQ).json @@ -0,0 +1,453 @@ +{ + "分类":"电影$1#连续剧$2#动漫$4#综艺$3#B站$31", + "分类url": "https://shangjihuoke.com/index.php/vod/show/id/{cateId}/page/{catePg}.html", + "副标题": "module-item-note\">&&", + "线路数组": "data-dropdown-value=&&", + "线路标题": "&&
    ", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "

    &&

    ", + "播放数组": "
    &&
    ", + "免嗅": "1", + "筛选": { + "1":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"动作","v":"/class/动作"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"惊悚","v":"/class/惊悚"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"谍战","v":"/class/谍战"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"灾难","v":"/class/灾难"}, + {"n":"战争","v":"/class/战争"}, + {"n":"动画","v":"/class/动画"}, + {"n":"歌舞","v":"/class/歌舞"}, + {"n":"历史","v":"/class/历史"}, + {"n":"传记","v":"/class/传记"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"中国香港","v":"/area/中国香港"}, + {"n":"中国台湾","v":"/area/中国台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"意大利","v":"/area/意大利"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"lang","name":"语言","value":[ + {"n":"全部","v":""}, + {"n":"普通话","v":"/lang/普通话"}, + {"n":"英语","v":"/lang/英语"}, + {"n":"粤语","v":"/lang/粤语"}, + {"n":"闽南语","v":"/lang/闽南语"}, + {"n":"韩语","v":"/lang/韩语"}, + {"n":"日语","v":"/lang/日语"}, + {"n":"法语","v":"/lang/法语"}, + {"n":"德语","v":"/lang/德语"}, + {"n":"其它","v":"/lang/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}]}, + + {"key":"letter","name":"字母","value":[ + {"n":"全部","v":""}, + {"n":"A","v":"/letter/A"}, + {"n":"B","v":"/letter/B"}, + {"n":"C","v":"/letter/C"}, + {"n":"D","v":"/letter/D"}, + {"n":"E","v":"/letter/E"}, + {"n":"F","v":"/letter/F"}, + {"n":"G","v":"/letter/G"}, + {"n":"H","v":"/letter/H"}, + {"n":"I","v":"/letter/I"}, + {"n":"J","v":"/letter/J"}, + {"n":"K","v":"/letter/K"}, + {"n":"L","v":"/letter/L"}, + {"n":"M","v":"/letter/M"}, + {"n":"N","v":"/letter/N"}, + {"n":"O","v":"/letter/O"}, + {"n":"P","v":"/letter/P"}, + {"n":"Q","v":"/letter/Q"}, + {"n":"R","v":"/letter/R"}, + {"n":"S","v":"/letter/S"}, + {"n":"T","v":"/letter/T"}, + {"n":"U","v":"/letter/U"}, + {"n":"V","v":"/letter/V"}, + {"n":"W","v":"/letter/W"}, + {"n":"X","v":"/letter/X"}, + {"n":"Y","v":"/letter/Y"}, + {"n":"Z","v":"/letter/Z"}, + {"n":"0-9","v":"/letter/0-9"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + + "2":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"武侠","v":"/class/武侠"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"青春","v":"/class/青春"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"军事","v":"/class/军事"}, + {"n":"警匪","v":"/class/警匪"}, + {"n":"谍战","v":"/class/谍战"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"偶像","v":"/class/偶像"}, + {"n":"年代","v":"/class/年代"}, + {"n":"乡村","v":"/class/乡村"}, + {"n":"都市","v":"/class/都市"}, + {"n":"家庭","v":"/class/家庭"}, + {"n":"古装","v":"/class/古装"}, + {"n":"历史","v":"/class/历史"}, + {"n":"神话","v":"/class/神话"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"中国香港","v":"/area/中国香港"}, + {"n":"中国台湾","v":"/area/中国台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"lang","name":"语言","value":[ + {"n":"全部","v":""}, + {"n":"普通话","v":"/lang/普通话"}, + {"n":"英语","v":"/lang/英语"}, + {"n":"粤语","v":"/lang/粤语"}, + {"n":"闽南语","v":"/lang/闽南语"}, + {"n":"韩语","v":"/lang/韩语"}, + {"n":"日语","v":"/lang/日语"}, + {"n":"法语","v":"/lang/法语"}, + {"n":"德语","v":"/lang/德语"}, + {"n":"其它","v":"/lang/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}]}, + + {"key":"letter","name":"字母","value":[ + {"n":"全部","v":""}, + {"n":"A","v":"/letter/A"}, + {"n":"B","v":"/letter/B"}, + {"n":"C","v":"/letter/C"}, + {"n":"D","v":"/letter/D"}, + {"n":"E","v":"/letter/E"}, + {"n":"F","v":"/letter/F"}, + {"n":"G","v":"/letter/G"}, + {"n":"H","v":"/letter/H"}, + {"n":"I","v":"/letter/I"}, + {"n":"J","v":"/letter/J"}, + {"n":"K","v":"/letter/K"}, + {"n":"L","v":"/letter/L"}, + {"n":"M","v":"/letter/M"}, + {"n":"N","v":"/letter/N"}, + {"n":"O","v":"/letter/O"}, + {"n":"P","v":"/letter/P"}, + {"n":"Q","v":"/letter/Q"}, + {"n":"R","v":"/letter/R"}, + {"n":"S","v":"/letter/S"}, + {"n":"T","v":"/letter/T"}, + {"n":"U","v":"/letter/U"}, + {"n":"V","v":"/letter/V"}, + {"n":"W","v":"/letter/W"}, + {"n":"X","v":"/letter/X"}, + {"n":"Y","v":"/letter/Y"}, + {"n":"Z","v":"/letter/Z"}, + {"n":"0-9","v":"/letter/0-9"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + + "3":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"脱口秀","v":"/class/脱口秀"}, + {"n":"真人秀","v":"/class/真人秀"}, + {"n":"搞笑","v":"/class/搞笑"}, + {"n":"访谈","v":"/class/访谈"}, + {"n":"生活","v":"/class/生活"}, + {"n":"晚会","v":"/class/晚会"}, + {"n":"美食","v":"/class/美食"}, + {"n":"游戏","v":"/class/游戏"}, + {"n":"亲子","v":"/class/亲子"}, + {"n":"旅游","v":"/class/旅游"}, + {"n":"文化","v":"/class/文化"}, + {"n":"体育","v":"/class/体育"}, + {"n":"时尚","v":"/class/时尚"}, + {"n":"纪实","v":"/class/纪实"}, + {"n":"益智","v":"/class/益智"}, + {"n":"演艺","v":"/class/演艺"}, + {"n":"歌舞","v":"/class/歌舞"}, + {"n":"音乐","v":"/class/音乐"}, + {"n":"播报","v":"/class/播报"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"中国香港","v":"/area/中国香港"}, + {"n":"中国台湾","v":"/area/中国台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"lang","name":"语言","value":[ + {"n":"全部","v":""}, + {"n":"普通话","v":"/lang/普通话"}, + {"n":"英语","v":"/lang/英语"}, + {"n":"粤语","v":"/lang/粤语"}, + {"n":"闽南语","v":"/lang/闽南语"}, + {"n":"韩语","v":"/lang/韩语"}, + {"n":"日语","v":"/lang/日语"}, + {"n":"其它","v":"/lang/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}]}, + + {"key":"letter","name":"字母","value":[ + {"n":"全部","v":""}, + {"n":"A","v":"/letter/A"}, + {"n":"B","v":"/letter/B"}, + {"n":"C","v":"/letter/C"}, + {"n":"D","v":"/letter/D"}, + {"n":"E","v":"/letter/E"}, + {"n":"F","v":"/letter/F"}, + {"n":"G","v":"/letter/G"}, + {"n":"H","v":"/letter/H"}, + {"n":"I","v":"/letter/I"}, + {"n":"J","v":"/letter/J"}, + {"n":"K","v":"/letter/K"}, + {"n":"L","v":"/letter/L"}, + {"n":"M","v":"/letter/M"}, + {"n":"N","v":"/letter/N"}, + {"n":"O","v":"/letter/O"}, + {"n":"P","v":"/letter/P"}, + {"n":"Q","v":"/letter/Q"}, + {"n":"R","v":"/letter/R"}, + {"n":"S","v":"/letter/S"}, + {"n":"T","v":"/letter/T"}, + {"n":"U","v":"/letter/U"}, + {"n":"V","v":"/letter/V"}, + {"n":"W","v":"/letter/W"}, + {"n":"X","v":"/letter/X"}, + {"n":"Y","v":"/letter/Y"}, + {"n":"Z","v":"/letter/Z"}, + {"n":"0-9","v":"/letter/0-9"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + + "4":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"热血","v":"/class/热血"}, + {"n":"格斗","v":"/class/格斗"}, + {"n":"恋爱","v":"/class/恋爱"}, + {"n":"少女","v":"/class/少女"}, + {"n":"校园","v":"/class/校园"}, + {"n":"搞笑","v":"/class/搞笑"}, + {"n":"神魔","v":"/class/神魔"}, + {"n":"机战","v":"/class/机战"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"真人","v":"/class/真人"}, + {"n":"青春","v":"/class/青春"}, + {"n":"魔法","v":"/class/魔法"}, + {"n":"神话","v":"/class/神话"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"运动","v":"/class/运动"}, + {"n":"竞技","v":"/class/竞技"}, + {"n":"童话","v":"/class/童话"}, + {"n":"亲子","v":"/class/亲子"}, + {"n":"教育","v":"/class/教育"}, + {"n":"励志","v":"/class/励志"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"日本","v":"/area/日本"}, + {"n":"美国","v":"/area/美国"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"lang","name":"语言","value":[ + {"n":"全部","v":""}, + {"n":"普通话","v":"/lang/普通话"}, + {"n":"英语","v":"/lang/英语"}, + {"n":"粤语","v":"/lang/粤语"}, + {"n":"闽南语","v":"/lang/闽南语"}, + {"n":"韩语","v":"/lang/韩语"}, + {"n":"日语","v":"/lang/日语"}, + {"n":"其它","v":"/lang/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}]}, + + {"key":"letter","name":"字母","value":[ + {"n":"全部","v":""}, + {"n":"A","v":"/letter/A"}, + {"n":"B","v":"/letter/B"}, + {"n":"C","v":"/letter/C"}, + {"n":"D","v":"/letter/D"}, + {"n":"E","v":"/letter/E"}, + {"n":"F","v":"/letter/F"}, + {"n":"G","v":"/letter/G"}, + {"n":"H","v":"/letter/H"}, + {"n":"I","v":"/letter/I"}, + {"n":"J","v":"/letter/J"}, + {"n":"K","v":"/letter/K"}, + {"n":"L","v":"/letter/L"}, + {"n":"M","v":"/letter/M"}, + {"n":"N","v":"/letter/N"}, + {"n":"O","v":"/letter/O"}, + {"n":"P","v":"/letter/P"}, + {"n":"Q","v":"/letter/Q"}, + {"n":"R","v":"/letter/R"}, + {"n":"S","v":"/letter/S"}, + {"n":"T","v":"/letter/T"}, + {"n":"U","v":"/letter/U"}, + {"n":"V","v":"/letter/V"}, + {"n":"W","v":"/letter/W"}, + {"n":"X","v":"/letter/X"}, + {"n":"Y","v":"/letter/Y"}, + {"n":"Z","v":"/letter/Z"}, + {"n":"0-9","v":"/letter/0-9"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}]} + +} \ No newline at end of file diff --git a/xBPQ/段友影视.json b/xBPQ/段友影视.json new file mode 100644 index 0000000..3145626 --- /dev/null +++ b/xBPQ/段友影视.json @@ -0,0 +1,1718 @@ +{ + "分类": "电影$1#连续剧$2#动漫$4#综艺$3#B站$31", + "分类url": "https://shangjihuoke.com/index.php/vod/show/id/{cateId}/page/{catePg}.html", + "副标题": "module-item-note\">&&", + "线路数组": "data-dropdown-value=&&", + "线路标题": "&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "

    &&

    ", + "播放数组": "
    &&
    ", + "免嗅": "1", + "筛选": { + "1": [ + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "动作", + "v": "/class/动作" + }, + { + "n": "喜剧", + "v": "/class/喜剧" + }, + { + "n": "爱情", + "v": "/class/爱情" + }, + { + "n": "科幻", + "v": "/class/科幻" + }, + { + "n": "剧情", + "v": "/class/剧情" + }, + { + "n": "悬疑", + "v": "/class/悬疑" + }, + { + "n": "惊悚", + "v": "/class/惊悚" + }, + { + "n": "恐怖", + "v": "/class/恐怖" + }, + { + "n": "犯罪", + "v": "/class/犯罪" + }, + { + "n": "谍战", + "v": "/class/谍战" + }, + { + "n": "冒险", + "v": "/class/冒险" + }, + { + "n": "奇幻", + "v": "/class/奇幻" + }, + { + "n": "灾难", + "v": "/class/灾难" + }, + { + "n": "战争", + "v": "/class/战争" + }, + { + "n": "动画", + "v": "/class/动画" + }, + { + "n": "歌舞", + "v": "/class/歌舞" + }, + { + "n": "历史", + "v": "/class/历史" + }, + { + "n": "传记", + "v": "/class/传记" + }, + { + "n": "其他", + "v": "/class/其他" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "/area/中国大陆" + }, + { + "n": "中国香港", + "v": "/area/中国香港" + }, + { + "n": "中国台湾", + "v": "/area/中国台湾" + }, + { + "n": "美国", + "v": "/area/美国" + }, + { + "n": "法国", + "v": "/area/法国" + }, + { + "n": "英国", + "v": "/area/英国" + }, + { + "n": "日本", + "v": "/area/日本" + }, + { + "n": "韩国", + "v": "/area/韩国" + }, + { + "n": "德国", + "v": "/area/德国" + }, + { + "n": "泰国", + "v": "/area/泰国" + }, + { + "n": "印度", + "v": "/area/印度" + }, + { + "n": "意大利", + "v": "/area/意大利" + }, + { + "n": "西班牙", + "v": "/area/西班牙" + }, + { + "n": "加拿大", + "v": "/area/加拿大" + }, + { + "n": "其他", + "v": "/area/其他" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "普通话", + "v": "/lang/普通话" + }, + { + "n": "英语", + "v": "/lang/英语" + }, + { + "n": "粤语", + "v": "/lang/粤语" + }, + { + "n": "闽南语", + "v": "/lang/闽南语" + }, + { + "n": "韩语", + "v": "/lang/韩语" + }, + { + "n": "日语", + "v": "/lang/日语" + }, + { + "n": "法语", + "v": "/lang/法语" + }, + { + "n": "德语", + "v": "/lang/德语" + }, + { + "n": "其它", + "v": "/lang/其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "/year/2022" + }, + { + "n": "2021", + "v": "/year/2021" + }, + { + "n": "2020", + "v": "/year/2020" + }, + { + "n": "2019", + "v": "/year/2019" + }, + { + "n": "2018", + "v": "/year/2018" + }, + { + "n": "2017", + "v": "/year/2017" + }, + { + "n": "2016", + "v": "/year/2016" + }, + { + "n": "2015", + "v": "/year/2015" + }, + { + "n": "2014", + "v": "/year/2014" + }, + { + "n": "2013", + "v": "/year/2013" + }, + { + "n": "2012", + "v": "/year/2012" + }, + { + "n": "2011", + "v": "/year/2011" + }, + { + "n": "2010", + "v": "/year/2010" + }, + { + "n": "2009", + "v": "/year/2009" + }, + { + "n": "2008", + "v": "/year/2008" + }, + { + "n": "2007", + "v": "/year/2007" + }, + { + "n": "2006", + "v": "/year/2006" + }, + { + "n": "2005", + "v": "/year/2005" + }, + { + "n": "2004", + "v": "/year/2004" + }, + { + "n": "2003", + "v": "/year/2003" + }, + { + "n": "2002", + "v": "/year/2002" + }, + { + "n": "2001", + "v": "/year/2001" + }, + { + "n": "2000", + "v": "/year/2000" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "/letter/A" + }, + { + "n": "B", + "v": "/letter/B" + }, + { + "n": "C", + "v": "/letter/C" + }, + { + "n": "D", + "v": "/letter/D" + }, + { + "n": "E", + "v": "/letter/E" + }, + { + "n": "F", + "v": "/letter/F" + }, + { + "n": "G", + "v": "/letter/G" + }, + { + "n": "H", + "v": "/letter/H" + }, + { + "n": "I", + "v": "/letter/I" + }, + { + "n": "J", + "v": "/letter/J" + }, + { + "n": "K", + "v": "/letter/K" + }, + { + "n": "L", + "v": "/letter/L" + }, + { + "n": "M", + "v": "/letter/M" + }, + { + "n": "N", + "v": "/letter/N" + }, + { + "n": "O", + "v": "/letter/O" + }, + { + "n": "P", + "v": "/letter/P" + }, + { + "n": "Q", + "v": "/letter/Q" + }, + { + "n": "R", + "v": "/letter/R" + }, + { + "n": "S", + "v": "/letter/S" + }, + { + "n": "T", + "v": "/letter/T" + }, + { + "n": "U", + "v": "/letter/U" + }, + { + "n": "V", + "v": "/letter/V" + }, + { + "n": "W", + "v": "/letter/W" + }, + { + "n": "X", + "v": "/letter/X" + }, + { + "n": "Y", + "v": "/letter/Y" + }, + { + "n": "Z", + "v": "/letter/Z" + }, + { + "n": "0-9", + "v": "/letter/0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "/by/time" + }, + { + "n": "人气", + "v": "/by/hits" + }, + { + "n": "评分", + "v": "/by/score" + } + ] + } + ], + "2": [ + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "武侠", + "v": "/class/武侠" + }, + { + "n": "喜剧", + "v": "/class/喜剧" + }, + { + "n": "爱情", + "v": "/class/爱情" + }, + { + "n": "剧情", + "v": "/class/剧情" + }, + { + "n": "青春", + "v": "/class/青春" + }, + { + "n": "悬疑", + "v": "/class/悬疑" + }, + { + "n": "科幻", + "v": "/class/科幻" + }, + { + "n": "军事", + "v": "/class/军事" + }, + { + "n": "警匪", + "v": "/class/警匪" + }, + { + "n": "谍战", + "v": "/class/谍战" + }, + { + "n": "奇幻", + "v": "/class/奇幻" + }, + { + "n": "偶像", + "v": "/class/偶像" + }, + { + "n": "年代", + "v": "/class/年代" + }, + { + "n": "乡村", + "v": "/class/乡村" + }, + { + "n": "都市", + "v": "/class/都市" + }, + { + "n": "家庭", + "v": "/class/家庭" + }, + { + "n": "古装", + "v": "/class/古装" + }, + { + "n": "历史", + "v": "/class/历史" + }, + { + "n": "神话", + "v": "/class/神话" + }, + { + "n": "其他", + "v": "/class/其他" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "/area/中国大陆" + }, + { + "n": "中国香港", + "v": "/area/中国香港" + }, + { + "n": "中国台湾", + "v": "/area/中国台湾" + }, + { + "n": "美国", + "v": "/area/美国" + }, + { + "n": "韩国", + "v": "/area/韩国" + }, + { + "n": "日本", + "v": "/area/日本" + }, + { + "n": "法国", + "v": "/area/法国" + }, + { + "n": "英国", + "v": "/area/英国" + }, + { + "n": "德国", + "v": "/area/德国" + }, + { + "n": "泰国", + "v": "/area/泰国" + }, + { + "n": "印度", + "v": "/area/印度" + }, + { + "n": "其他", + "v": "/area/其他" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "普通话", + "v": "/lang/普通话" + }, + { + "n": "英语", + "v": "/lang/英语" + }, + { + "n": "粤语", + "v": "/lang/粤语" + }, + { + "n": "闽南语", + "v": "/lang/闽南语" + }, + { + "n": "韩语", + "v": "/lang/韩语" + }, + { + "n": "日语", + "v": "/lang/日语" + }, + { + "n": "法语", + "v": "/lang/法语" + }, + { + "n": "德语", + "v": "/lang/德语" + }, + { + "n": "其它", + "v": "/lang/其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "/year/2022" + }, + { + "n": "2021", + "v": "/year/2021" + }, + { + "n": "2020", + "v": "/year/2020" + }, + { + "n": "2019", + "v": "/year/2019" + }, + { + "n": "2018", + "v": "/year/2018" + }, + { + "n": "2017", + "v": "/year/2017" + }, + { + "n": "2016", + "v": "/year/2016" + }, + { + "n": "2015", + "v": "/year/2015" + }, + { + "n": "2014", + "v": "/year/2014" + }, + { + "n": "2013", + "v": "/year/2013" + }, + { + "n": "2012", + "v": "/year/2012" + }, + { + "n": "2011", + "v": "/year/2011" + }, + { + "n": "2010", + "v": "/year/2010" + }, + { + "n": "2009", + "v": "/year/2009" + }, + { + "n": "2008", + "v": "/year/2008" + }, + { + "n": "2007", + "v": "/year/2007" + }, + { + "n": "2006", + "v": "/year/2006" + }, + { + "n": "2005", + "v": "/year/2005" + }, + { + "n": "2004", + "v": "/year/2004" + }, + { + "n": "2003", + "v": "/year/2003" + }, + { + "n": "2002", + "v": "/year/2002" + }, + { + "n": "2001", + "v": "/year/2001" + }, + { + "n": "2000", + "v": "/year/2000" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "/letter/A" + }, + { + "n": "B", + "v": "/letter/B" + }, + { + "n": "C", + "v": "/letter/C" + }, + { + "n": "D", + "v": "/letter/D" + }, + { + "n": "E", + "v": "/letter/E" + }, + { + "n": "F", + "v": "/letter/F" + }, + { + "n": "G", + "v": "/letter/G" + }, + { + "n": "H", + "v": "/letter/H" + }, + { + "n": "I", + "v": "/letter/I" + }, + { + "n": "J", + "v": "/letter/J" + }, + { + "n": "K", + "v": "/letter/K" + }, + { + "n": "L", + "v": "/letter/L" + }, + { + "n": "M", + "v": "/letter/M" + }, + { + "n": "N", + "v": "/letter/N" + }, + { + "n": "O", + "v": "/letter/O" + }, + { + "n": "P", + "v": "/letter/P" + }, + { + "n": "Q", + "v": "/letter/Q" + }, + { + "n": "R", + "v": "/letter/R" + }, + { + "n": "S", + "v": "/letter/S" + }, + { + "n": "T", + "v": "/letter/T" + }, + { + "n": "U", + "v": "/letter/U" + }, + { + "n": "V", + "v": "/letter/V" + }, + { + "n": "W", + "v": "/letter/W" + }, + { + "n": "X", + "v": "/letter/X" + }, + { + "n": "Y", + "v": "/letter/Y" + }, + { + "n": "Z", + "v": "/letter/Z" + }, + { + "n": "0-9", + "v": "/letter/0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "/by/time" + }, + { + "n": "人气", + "v": "/by/hits" + }, + { + "n": "评分", + "v": "/by/score" + } + ] + } + ], + "3": [ + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "脱口秀", + "v": "/class/脱口秀" + }, + { + "n": "真人秀", + "v": "/class/真人秀" + }, + { + "n": "搞笑", + "v": "/class/搞笑" + }, + { + "n": "访谈", + "v": "/class/访谈" + }, + { + "n": "生活", + "v": "/class/生活" + }, + { + "n": "晚会", + "v": "/class/晚会" + }, + { + "n": "美食", + "v": "/class/美食" + }, + { + "n": "游戏", + "v": "/class/游戏" + }, + { + "n": "亲子", + "v": "/class/亲子" + }, + { + "n": "旅游", + "v": "/class/旅游" + }, + { + "n": "文化", + "v": "/class/文化" + }, + { + "n": "体育", + "v": "/class/体育" + }, + { + "n": "时尚", + "v": "/class/时尚" + }, + { + "n": "纪实", + "v": "/class/纪实" + }, + { + "n": "益智", + "v": "/class/益智" + }, + { + "n": "演艺", + "v": "/class/演艺" + }, + { + "n": "歌舞", + "v": "/class/歌舞" + }, + { + "n": "音乐", + "v": "/class/音乐" + }, + { + "n": "播报", + "v": "/class/播报" + }, + { + "n": "其他", + "v": "/class/其他" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "/area/中国大陆" + }, + { + "n": "中国香港", + "v": "/area/中国香港" + }, + { + "n": "中国台湾", + "v": "/area/中国台湾" + }, + { + "n": "美国", + "v": "/area/美国" + }, + { + "n": "韩国", + "v": "/area/韩国" + }, + { + "n": "日本", + "v": "/area/日本" + }, + { + "n": "法国", + "v": "/area/法国" + }, + { + "n": "英国", + "v": "/area/英国" + }, + { + "n": "德国", + "v": "/area/德国" + }, + { + "n": "泰国", + "v": "/area/泰国" + }, + { + "n": "印度", + "v": "/area/印度" + }, + { + "n": "其他", + "v": "/area/其他" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "普通话", + "v": "/lang/普通话" + }, + { + "n": "英语", + "v": "/lang/英语" + }, + { + "n": "粤语", + "v": "/lang/粤语" + }, + { + "n": "闽南语", + "v": "/lang/闽南语" + }, + { + "n": "韩语", + "v": "/lang/韩语" + }, + { + "n": "日语", + "v": "/lang/日语" + }, + { + "n": "其它", + "v": "/lang/其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "/year/2022" + }, + { + "n": "2021", + "v": "/year/2021" + }, + { + "n": "2020", + "v": "/year/2020" + }, + { + "n": "2019", + "v": "/year/2019" + }, + { + "n": "2018", + "v": "/year/2018" + }, + { + "n": "2017", + "v": "/year/2017" + }, + { + "n": "2016", + "v": "/year/2016" + }, + { + "n": "2015", + "v": "/year/2015" + }, + { + "n": "2014", + "v": "/year/2014" + }, + { + "n": "2013", + "v": "/year/2013" + }, + { + "n": "2012", + "v": "/year/2012" + }, + { + "n": "2011", + "v": "/year/2011" + }, + { + "n": "2010", + "v": "/year/2010" + }, + { + "n": "2009", + "v": "/year/2009" + }, + { + "n": "2008", + "v": "/year/2008" + }, + { + "n": "2007", + "v": "/year/2007" + }, + { + "n": "2006", + "v": "/year/2006" + }, + { + "n": "2005", + "v": "/year/2005" + }, + { + "n": "2004", + "v": "/year/2004" + }, + { + "n": "2003", + "v": "/year/2003" + }, + { + "n": "2002", + "v": "/year/2002" + }, + { + "n": "2001", + "v": "/year/2001" + }, + { + "n": "2000", + "v": "/year/2000" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "/letter/A" + }, + { + "n": "B", + "v": "/letter/B" + }, + { + "n": "C", + "v": "/letter/C" + }, + { + "n": "D", + "v": "/letter/D" + }, + { + "n": "E", + "v": "/letter/E" + }, + { + "n": "F", + "v": "/letter/F" + }, + { + "n": "G", + "v": "/letter/G" + }, + { + "n": "H", + "v": "/letter/H" + }, + { + "n": "I", + "v": "/letter/I" + }, + { + "n": "J", + "v": "/letter/J" + }, + { + "n": "K", + "v": "/letter/K" + }, + { + "n": "L", + "v": "/letter/L" + }, + { + "n": "M", + "v": "/letter/M" + }, + { + "n": "N", + "v": "/letter/N" + }, + { + "n": "O", + "v": "/letter/O" + }, + { + "n": "P", + "v": "/letter/P" + }, + { + "n": "Q", + "v": "/letter/Q" + }, + { + "n": "R", + "v": "/letter/R" + }, + { + "n": "S", + "v": "/letter/S" + }, + { + "n": "T", + "v": "/letter/T" + }, + { + "n": "U", + "v": "/letter/U" + }, + { + "n": "V", + "v": "/letter/V" + }, + { + "n": "W", + "v": "/letter/W" + }, + { + "n": "X", + "v": "/letter/X" + }, + { + "n": "Y", + "v": "/letter/Y" + }, + { + "n": "Z", + "v": "/letter/Z" + }, + { + "n": "0-9", + "v": "/letter/0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "/by/time" + }, + { + "n": "人气", + "v": "/by/hits" + }, + { + "n": "评分", + "v": "/by/score" + } + ] + } + ], + "4": [ + { + "key": "class", + "name": "剧情", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "热血", + "v": "/class/热血" + }, + { + "n": "格斗", + "v": "/class/格斗" + }, + { + "n": "恋爱", + "v": "/class/恋爱" + }, + { + "n": "少女", + "v": "/class/少女" + }, + { + "n": "校园", + "v": "/class/校园" + }, + { + "n": "搞笑", + "v": "/class/搞笑" + }, + { + "n": "神魔", + "v": "/class/神魔" + }, + { + "n": "机战", + "v": "/class/机战" + }, + { + "n": "科幻", + "v": "/class/科幻" + }, + { + "n": "真人", + "v": "/class/真人" + }, + { + "n": "青春", + "v": "/class/青春" + }, + { + "n": "魔法", + "v": "/class/魔法" + }, + { + "n": "神话", + "v": "/class/神话" + }, + { + "n": "冒险", + "v": "/class/冒险" + }, + { + "n": "运动", + "v": "/class/运动" + }, + { + "n": "竞技", + "v": "/class/竞技" + }, + { + "n": "童话", + "v": "/class/童话" + }, + { + "n": "亲子", + "v": "/class/亲子" + }, + { + "n": "教育", + "v": "/class/教育" + }, + { + "n": "励志", + "v": "/class/励志" + }, + { + "n": "剧情", + "v": "/class/剧情" + }, + { + "n": "其他", + "v": "/class/其他" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "中国大陆", + "v": "/area/中国大陆" + }, + { + "n": "日本", + "v": "/area/日本" + }, + { + "n": "美国", + "v": "/area/美国" + }, + { + "n": "其他", + "v": "/area/其他" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "普通话", + "v": "/lang/普通话" + }, + { + "n": "英语", + "v": "/lang/英语" + }, + { + "n": "粤语", + "v": "/lang/粤语" + }, + { + "n": "闽南语", + "v": "/lang/闽南语" + }, + { + "n": "韩语", + "v": "/lang/韩语" + }, + { + "n": "日语", + "v": "/lang/日语" + }, + { + "n": "其它", + "v": "/lang/其它" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "/year/2022" + }, + { + "n": "2021", + "v": "/year/2021" + }, + { + "n": "2020", + "v": "/year/2020" + }, + { + "n": "2019", + "v": "/year/2019" + }, + { + "n": "2018", + "v": "/year/2018" + }, + { + "n": "2017", + "v": "/year/2017" + }, + { + "n": "2016", + "v": "/year/2016" + }, + { + "n": "2015", + "v": "/year/2015" + }, + { + "n": "2014", + "v": "/year/2014" + }, + { + "n": "2013", + "v": "/year/2013" + }, + { + "n": "2012", + "v": "/year/2012" + }, + { + "n": "2011", + "v": "/year/2011" + }, + { + "n": "2010", + "v": "/year/2010" + }, + { + "n": "2009", + "v": "/year/2009" + }, + { + "n": "2008", + "v": "/year/2008" + }, + { + "n": "2007", + "v": "/year/2007" + }, + { + "n": "2006", + "v": "/year/2006" + }, + { + "n": "2005", + "v": "/year/2005" + }, + { + "n": "2004", + "v": "/year/2004" + }, + { + "n": "2003", + "v": "/year/2003" + }, + { + "n": "2002", + "v": "/year/2002" + }, + { + "n": "2001", + "v": "/year/2001" + }, + { + "n": "2000", + "v": "/year/2000" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "/letter/A" + }, + { + "n": "B", + "v": "/letter/B" + }, + { + "n": "C", + "v": "/letter/C" + }, + { + "n": "D", + "v": "/letter/D" + }, + { + "n": "E", + "v": "/letter/E" + }, + { + "n": "F", + "v": "/letter/F" + }, + { + "n": "G", + "v": "/letter/G" + }, + { + "n": "H", + "v": "/letter/H" + }, + { + "n": "I", + "v": "/letter/I" + }, + { + "n": "J", + "v": "/letter/J" + }, + { + "n": "K", + "v": "/letter/K" + }, + { + "n": "L", + "v": "/letter/L" + }, + { + "n": "M", + "v": "/letter/M" + }, + { + "n": "N", + "v": "/letter/N" + }, + { + "n": "O", + "v": "/letter/O" + }, + { + "n": "P", + "v": "/letter/P" + }, + { + "n": "Q", + "v": "/letter/Q" + }, + { + "n": "R", + "v": "/letter/R" + }, + { + "n": "S", + "v": "/letter/S" + }, + { + "n": "T", + "v": "/letter/T" + }, + { + "n": "U", + "v": "/letter/U" + }, + { + "n": "V", + "v": "/letter/V" + }, + { + "n": "W", + "v": "/letter/W" + }, + { + "n": "X", + "v": "/letter/X" + }, + { + "n": "Y", + "v": "/letter/Y" + }, + { + "n": "Z", + "v": "/letter/Z" + }, + { + "n": "0-9", + "v": "/letter/0-9" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "时间", + "v": "/by/time" + }, + { + "n": "人气", + "v": "/by/hits" + }, + { + "n": "评分", + "v": "/by/score" + } + ] + } + ] + } +} diff --git a/xBPQ/氢视频.json b/xBPQ/氢视频.json new file mode 100644 index 0000000..4fc758e --- /dev/null +++ b/xBPQ/氢视频.json @@ -0,0 +1,89 @@ +//写法思路来海阔视界,xpath筛选。 +//本文档为完整模板,实际情况可按规则写法删去不需要的。 +{ + + "title": "氢视频", + "author": "Mr.zuo", + "Headers":"MOBILE_UA", + "PicNeedProxy":"0", + "homeContent":"0", + "firstpage": "1", + "class_url": "http://h1080p.com/index.php/vod/show/by/{by}/id/{cateId}/page/{catePg}/year/{year}.html", + "class_name": "电影&电视剧&综艺&动漫", + "class_value": "1&2&31&3", + "filterdata":{}, + "cat_mode": "1", + + "cat_arr_rule": ".module-items&&a", + + "cat_title": "a&&title", + + "cat_url": "a&&href", + + "cat_pic": ".lazyload&&data-original", + + "cat_subtitle":".module-item-note&&Text", + + "cat_prefix": "http://h1080p.com", + + "cat_suffix": "", + + "SHeaders":"MOBILE_UA", + + "search_url": "http://h1080p.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=30", + + "sea_PtBody":"", + + "search_mode": "0", + + "sea_arr_rule": "list", + + "sea_pic": "pic", + + "sea_title": "name", + + "sea_url": "id", + + "sea_subtitle":"", + + "search_prefix": "http://h1080p.com/index.php/vod/detail/id/", + + "search_suffix": ".html", + + "force_play": "0", + + "play_prefix": "https://live.52sf.ga/huya/", + + "play_suffix": "#isVideo=true#", + + "play_header": "authority$ku.peizq.online#Referer$https://play.peizq.online", + + "proj_actor": ".module-info-item-content,1&&Text", + + "proj_plot": ".module-info-introduction-content&&Text", + + "tab_arr_rule": ".module-tab-items-box&&.module-tab-item", + + "tab_title": "Text", + + "list_arr_rule": "body&&.module-play-list-content", + + "epi_arr_rule": ".module-play-list-link", + + "epi_title": "a&&Text", + + "epi_url": "a&&href", + + "epi_reverse": "0", + + "epiurl_prefix": "http://h1080p.com", + "epiurl_suffix": "", + + + + //分析网页源码中有", + "数组": "props.pageProps.mediaData.data", + "图片": "cover", + "标题": "name", + "副标题": "tag", + "链接前缀": "https://hei19.com/detail/", + "链接": "id", + + "搜索模式": "1", + "搜索url": "https://hei19.com/search?type=1&keywords={wd}&page={pg}", + "搜索二次截取": "type=\"application/json\">&&", + "搜索数组": "props.pageProps.searchMovieList.data", + "搜索图片": "pic", + "搜索标题": "name", + "搜索链接": "id", + "搜索副标题": "resolution", + "搜索链接前缀": "https://hei19.com/detail/", + + "影片年代": "props.pageProps.videoDetail.videoinfo.year", + "影片地区": "props.pageProps.videoDetail.videoinfo.area", + "影片类型": "props.pageProps.videoDetail.videoinfo.type", + "导演": "props.pageProps.videoDetail.videoinfo.director[].name(♥)", + "主演": "props.pageProps.videoDetail.videoinfo.starring[].name(♥)", + "简介": "props.pageProps.videoDetail.videoinfo.introduction", + + "线路标题": "播放列表", + + "播放二次截取": "type=\"application/json\">&&", + "播放列表": "props.pageProps.videoDetail.videoepisode.data", + "播放标题": "episode", + "播放链接": "url" +} \ No newline at end of file diff --git a/xBPQ/石榴电影.json b/xBPQ/石榴电影.json new file mode 100644 index 0000000..03db1c1 --- /dev/null +++ b/xBPQ/石榴电影.json @@ -0,0 +1,267 @@ +{ +"作者":"张弘", +"站名":"石榴电影", +"首页":"电影", +"分类url":"https://hei19.com/catalog?column={cateId}&type={class}&area={area}&year={year}&sort={sort}&per_page=72&page={catePg}", +"分类":"电影&电视剧&综艺&动漫", +"分类值":"1&2&3&4", +"二次截取":"mediaData\":&&,\"accessToken", +"数组":"data", +"图片":"cover", +"标题":"name", +"链接":"id", +"副标题":"score", +"链接前缀":"https://hei19.com/detail/", +"搜索url":"https://hei19.com/search?type=1&keywords={wd}", +"搜索二次截取":"searchMovieList\":&&,\"searchStarList", +"搜索数组":"data", +"搜索图片":"pic", +"搜索标题":"name", +"搜索链接":"id", +"搜索链接前缀":"https://hei19.com/detail/", +"播放二次截取":"videoepisode\":&&},\"recommendList", +"播放列表":"data", +"播放标题":"name", +"播放链接":"url", +"线路合并":"1", +"嗅探词":".mp4#.m3u8#.flv", +"过滤词":".html#=http", +"筛选":{ +"1":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"v":"","n":"全部"}, +{"v":"1","n":"剧情"}, +{"v":"2","n":"惊悚"}, +{"v":"5","n":"动作"}, +{"v":"9","n":"科幻"}, +{"v":"11","n":"奇幻"}, +{"v":"24","n":"爱情"}, +{"v":"26","n":"喜剧"}, +{"v":"27","n":"冒险"}, +{"v":"28","n":"犯罪"}, +{"v":"29","n":"战争"}, +{"v":"34","n":"动画"}, +{"v":"44","n":"同性"}, +{"v":"45","n":"历史"}, +{"v":"47","n":"恐怖"}, +{"v":"48","n":"悬疑"}, +{"v":"49","n":"传记"}, +{"v":"53","n":"纪录片"}, +{"v":"57","n":"古装"}, +{"v":"58","n":"家庭"}, +{"v":"85","n":"伦理"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"v":"","n":"全部"}, +{"v":"1","n":"中国大陆"}, +{"v":"3","n":"中国香港"}, +{"v":"6","n":"美国"}, +{"v":"9","n":"韩国"}, +{"v":"10","n":"日本"}, +{"v":"11","n":"印度"}, +{"v":"12","n":"英国"}, +{"v":"13","n":"法国"}, +{"v":"16","n":"俄罗斯"}, +{"v":"22","n":"丹麦"}, +{"v":"23","n":"澳大利亚"}, +{"v":"24","n":"德国"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"v":"","n":"全部"}, +{"v":"51","n":"2022"}, +{"v":"52","n":"2021"}, +{"v":"53","n":"2020"}, +{"v":"54","n":"2019"}, +{"v":"55","n":"2018"}, +{"v":"56","n":"2017"}, +{"v":"57","n":"2016"}, +{"v":"58","n":"2015"}, +{"v":"59","n":"2014"}, +{"v":"60","n":"2013"}, +{"v":"61","n":"2012"}, +{"v":"62","n":"2011"} +] +} +], +"2":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"v":"","n":"全部"}, +{"v":"7","n":"爱情"}, +{"v":"8","n":"喜剧"}, +{"v":"10","n":"犯罪"}, +{"v":"15","n":"奇幻"}, +{"v":"17","n":"悬疑"}, +{"v":"18","n":"剧情"}, +{"v":"21","n":"科幻"}, +{"v":"22","n":"恐怖"}, +{"v":"23","n":"惊悚"}, +{"v":"25","n":"历史"}, +{"v":"31","n":"动作"}, +{"v":"32","n":"同性"}, +{"v":"35","n":"战争"}, +{"v":"38","n":"传记"}, +{"v":"50","n":"冒险"}, +{"v":"52","n":"纪录片"}, +{"v":"59","n":"家庭"}, +{"v":"76","n":"古装"}, +{"v":"78","n":"动画"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"v":"","n":"全部"}, +{"v":"1","n":"中国大陆"}, +{"v":"2","n":"中国台湾"}, +{"v":"3","n":"中国香港"}, +{"v":"6","n":"美国"}, +{"v":"9","n":"韩国"}, +{"v":"10","n":"日本"}, +{"v":"12","n":"英国"}, +{"v":"13","n":"法国"}, +{"v":"17","n":"乌克兰"}, +{"v":"18","n":"西班牙"}, +{"v":"25","n":"泰国"}, +{"v":"32","n":"加拿大"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"v":"","n":"全部"}, +{"v":"51","n":"2022"}, +{"v":"52","n":"2021"}, +{"v":"53","n":"2020"}, +{"v":"54","n":"2019"}, +{"v":"55","n":"2018"}, +{"v":"56","n":"2017"}, +{"v":"57","n":"2016"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"v":"","n":"全部"}, +{"v":"12","n":"选秀"}, +{"v":"61","n":"情感"}, +{"v":"62","n":"美食"}, +{"v":"63","n":"音乐"}, +{"v":"77","n":"真人秀"}, +{"v":"79","n":"喜剧"}, +{"v":"80","n":"奇幻"}, +{"v":"81","n":"冒险"}, +{"v":"82","n":"脱口秀"}, +{"v":"83","n":"爱情"}, +{"v":"84","n":"家庭"}, +{"v":"88","n":"歌舞"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"v":"","n":"全部"}, +{"v":"1","n":"中国大陆"}, +{"v":"2","n":"中国台湾"}, +{"v":"6","n":"美国"}, +{"v":"9","n":"韩国"}, +{"v":"10","n":"日本"}, +{"v":"18","n":"西班牙"}, +{"v":"20","n":"巴西"}, +{"v":"24","n":"德国"}, +{"v":"29","n":"墨西哥"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"v":"","n":"全部"}, +{"v":"51","n":"2022"}, +{"v":"52","n":"2021"}, +{"v":"53","n":"2020"}, +{"v":"54","n":"2019"}, +{"v":"55","n":"2018"}, +{"v":"56","n":"2017"}, +{"v":"57","n":"2016"}, +{"v":"58","n":"2015"}, +{"v":"59","n":"2014"}, +{"v":"32","n":"2009"}, +{"v":"33","n":"2008"}, +{"v":"34","n":"2007"} +] +} +], +"4":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"v":"","n":"全部"}, +{"v":"13","n":"国漫"}, +{"v":"60","n":"日漫"}, +{"v":"65","n":"美漫"}, +{"v":"66","n":"动画"}, +{"v":"67","n":"奇幻"}, +{"v":"68","n":"冒险"}, +{"v":"69","n":"喜剧"}, +{"v":"70","n":"动作"}, +{"v":"71","n":"剧情"}, +{"v":"72","n":"古装"}, +{"v":"73","n":"同性"}, +{"v":"74","n":"武侠"}, +{"v":"75","n":"爱情"}, +{"v":"92","n":"惊悚"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"v":"","n":"全部"}, +{"v":"1","n":"中国大陆"}, +{"v":"6","n":"美国"}, +{"v":"10","n":"日本"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"v":"","n":"全部"}, +{"v":"51","n":"2022"}, +{"v":"52","n":"2021"}, +{"v":"53","n":"2020"}, +{"v":"54","n":"2019"}, +{"v":"55","n":"2018"}, +{"v":"56","n":"2017"}, +{"v":"57","n":"2016"}, +{"v":"58","n":"2015"}, +{"v":"59","n":"2014"}, +{"v":"60","n":"2013"}, +{"v":"61","n":"2012"}, +{"v":"62","n":"2011"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/神马影院.json b/xBPQ/神马影院.json new file mode 100644 index 0000000..4abf0d1 --- /dev/null +++ b/xBPQ/神马影院.json @@ -0,0 +1,436 @@ +{ +"作者":"张弘", +"站名":"神马影院", +"主页url":"https://www.smdyy.cc", +"数组":"class=\"stui-vodlist__box\">&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text-right\">&&
    ", +"线路数组":"
    ", +"线路标题":"\">&&[不包含:更多精品资源推荐---]", +"搜索模式":"0", +"搜索后缀":"/kan/", +"播放数组":"
      &&
    ", +"影片类型":"类型:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"简介:&&

    ", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"0", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"过滤词":"=http#.jpg#.png#.ico#.gif#.js", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4#日韩剧$15#欧美剧$16", +"分类url":"https://www.smdyy.cc/show/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", +"筛选": +{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"v":"","n":"全部"}, +{"v":"6","n":"动作片"}, +{"v":"7","n":"喜剧片"}, +{"v":"8","n":"爱情片"}, +{"v":"9","n":"科幻片"}, +{"v":"10","n":"恐怖片"}, +{"v":"11","n":"剧情片"}, +{"v":"12","n":"战争片"}, +{"v":"20","n":"犯罪片"}, +{"v":"21","n":"惊悚片"}, +{"v":"22","n":"冒险片"}, +{"v":"23","n":"悬疑片"}, +{"v":"24","n":"武侠片"}, +{"v":"25","n":"奇幻片"}, +{"v":"26","n":"纪录片"}, +{"v":"27","n":"动画片"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n": "法语","v": "法语"}, +{"n": "德语","v": "德语"}, +{"n": "其它","v": "其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"欧美剧","v":"16"}, +{"n":"泰国剧","v":"28"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"青春偶像","v":"青春偶像"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n": "其它","v": "其它"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n": "其它","v": "其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"励志","v":"励志"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"西班牙","v":"西班牙"}, +{"n": "其它","v": "其它"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n": "其它","v": "其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} diff --git a/xBPQ/秋霞影视.json b/xBPQ/秋霞影视.json new file mode 100644 index 0000000..383da7e --- /dev/null +++ b/xBPQ/秋霞影视.json @@ -0,0 +1,267 @@ +{ +"作者":"张弘", +"站名":"秋霞影视", +"主页url":"https://www.7xiady.cc/", +"数组":"", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"&&", +"搜索url":"https://www.7xiady.cc/search/{wd}----------{pg}---/", +"搜索模式":"1", +"搜索数组":"", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"&&", +"搜索后缀":"/detail/", +"线路数组":"
    &&
    ", +"影片类型":"类型:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"
    ", +"线路标题":"

    ", +"播放数组":"
      &&
    ", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"分类":"电影$dianying#电视剧$lianxuju#动漫$dongman#综艺$zongyi", +"分类url":"https://www.7xiady.cc/show/{cateId}-{area}-{by}-{class}-----{catePg}---{year}/", +"免嗅":"1", +"筛选":{ +"dianying":[ +{ +"name":"类型", +"key":"class", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"动作片"}, +{"n":"喜剧片","v":"喜剧片"}, +{"n":"爱情片","v":"爱情片"}, +{"n":"科幻片","v":"科幻片"}, +{"n":"恐怖片","v":"恐怖片"}, +{"n":"剧情片","v":"剧情片"}, +{"n":"战争片","v":"战争片"}, +{"n":"其他片","v":"其他片"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"name":"年份", +"key":"year", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"lianxuju":[ +{ +"name":"类型", +"key":"class", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"国产剧"}, +{"n":"日韩剧","v":"日韩剧"}, +{"n":"欧美剧","v":"欧美剧"}, +{"n":"港台剧","v":"台湾剧"}, +{"n":"泰剧","v":"泰剧"}, +{"n":"记录片","v":"记录片"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"name":"年份", +"key":"year", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"dongman":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动漫","v":"动漫"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"name":"年份", +"key":"year", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"zongyi":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"综艺","v":"综艺"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"name":"年份", +"key":"year", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/稀饭影院.json b/xBPQ/稀饭影院.json new file mode 100644 index 0000000..468d462 --- /dev/null +++ b/xBPQ/稀饭影院.json @@ -0,0 +1,24 @@ +{ +"作者":"张弘", +"站名":"稀饭影院", +"数组":"
    &&&&

    ", +"线路数组":"
    ", +"线路标题":"&&", +"播放数组":"
    &&
    ", +"状态":"
    &&
    ", +"导演":"导演:&&
    ", +"主演":"主演:&&

    ", +"简介":"
    &&", +"播放列表":"", +"播放标题":"&&", +"播放链接":"href=\"&&\"", +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#.mp4#item/video#is_play_url=1", +"分类":"电影$dianying#电视剧$lianxuju#综艺$zongyi#动漫$dongman", +"分类url":"https://www.xifanys.com/yingpianshow/{cateId}--------{catePg}---.html", +"年份":"2023-1949", +"筛选":"1", +} \ No newline at end of file diff --git a/xBPQ/粒波影视.json b/xBPQ/粒波影视.json new file mode 100644 index 0000000..dd2a5d8 --- /dev/null +++ b/xBPQ/粒波影视.json @@ -0,0 +1,1015 @@ +{ + "作者": "菜妮丝", + "站名": "LIBVIO", + "主页url": "https://www.libvio.me", + "分类": "电影$1#剧集$2#动漫$4#日韩剧$15#欧美剧$16", + "分类url": "https://www.libvio.me/show/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", + "副标题": "text-right\">&&", + "搜索后缀": "/detail/", + "导演": "导演:&&

    ", + "主演": "主演:&&导演:", + "简介": "display: none;\">&&", + "线路数组": "

    ", + "线路标题": ">&&<[不包含:网盘]", + "播放数组": "

    ", +"图片":"src=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"搜索url": "https://qq.jdav1.shop/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索数组":"
  • &&
  • ", +"搜索图片":"src=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索后缀":"/smdetail/", +"线路数组":"
      ", +"线路标题":">&&", +"状态":"类型: &&", +"导演":"年代: &&", +"主演":"演员:&&", +"简介":"年代: &&", +"播放数组":"
        ", +"播放列表":"
      • ", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"0", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"分类":"麻豆传媒$madou#天美传媒$tianmei#果冻传媒$guodong#蜜桃影像$mitao#星空传媒$xingkong#精东影业$jingdongyingye#国产原创$yuanchuang", +"分类url":"https://qq.jdav1.shop/smtype/{cateId}-{catePg}.html" +} \ No newline at end of file diff --git a/xBPQ/精东影业1.json b/xBPQ/精东影业1.json new file mode 100644 index 0000000..ce25fbd --- /dev/null +++ b/xBPQ/精东影业1.json @@ -0,0 +1,30 @@ +{ +"作者":"张弘", +"站名":"精东影业", +"数组":"", +"图片":"src=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"搜索url": "https://qq.jdav1.shop/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索数组":"
      • &&
      • ", +"搜索图片":"src=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索后缀":"/smdetail/", +"线路数组":"
          ", +"线路标题":">&&", +"状态":"类型: &&", +"导演":"年代: &&", +"主演":"演员:&&", +"简介":"年代: &&", +"播放数组":"
            ", +"播放列表":"
          • ", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"过滤词":"=http#.jpg#.png#.ico#.gif#.js", +"分类":"林思妤$林思妤#吴梦梦$吴梦梦#张芸熙$张芸熙#沈娜娜$沈娜娜#秦可欣$秦可欣#夏晴子$夏晴子#雪千夏$雪千夏#艾 秋$艾 秋#换妻$换妻#户外$户外#秘书$秘书#邻居$邻居#乱伦$乱伦#91$91#直播$直播#探花$探花", +"分类url":"https://qq.jdav1.shop/smsearch/{cateId}----------{catePg}---.html" +} diff --git a/xBPQ/素白白.json b/xBPQ/素白白.json new file mode 100644 index 0000000..3ab7258 --- /dev/null +++ b/xBPQ/素白白.json @@ -0,0 +1,274 @@ +{ +"作者":"张弘", +"站名":"素白白", +"主页url":"https://www.subaibaiys.com", +"图片":"data-original=\"&&\"", +"标题":"alt=\"&&\"", +"副标题":"jidi\"&&", +"链接":"href=\"&&\"", +"线路数组":"mi_paly_box\">&&
    ", +"线路标题":"ypxingq_t\">&&[替换:在线播放>>播放列表]", +"影片年代":"年份:&&", +"影片地区":"地区:&&", +"影片类型":"类型:&&", +"导演":"导演:&&&&

    ", +"播放二次截取":"", +"播放数组":"
    &&
    ", +"播放列表":"[替换:立即播放>>空]", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"搜索模式":"1", +"搜索url":"https://www.subaibaiys.com/grabble?q={wd}&f=_all&p={pg}", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索副标题":"jidi\"&&
    ", +"搜索链接":"href=\"&&\"", +"搜索后缀":"/movie/", +"分类":"全部&电影&电视剧&热门电影&高分电影&动漫电影&香港经典电影&国产剧&欧美剧&韩剧&动漫剧&漫威宇宙电影系列&速度与激情电影系列&007系列(25部正传+2部外传)", +"分类值":"movie_bt&new-movie&tv-drama&hot-month&high-movie&cartoon-movie&hongkong-movie&domestic-drama&american-drama&korean-drama&anime-drama&marvel-movies&fastfurious&zero-zero-seven", +"分类url":"https://www.subaibaiys.com/{cateId}/{area}/year/{year}/{class}/page/{catePg}", +"筛选": +{ +"movie_bt":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"v":"","n":"全部"}, +{"v":"movie_bt_cat/china","n":"中国"}, +{"v":"movie_bt_cat/china-taiwan","n":"中国台湾"}, +{"v":"movie_bt_cat/china-mainland","n":"中国大陆"}, +{"v":"movie_bt_cat/china-hongkong","n":"中国香港"}, +{"v":"movie_bt_cat/japan","n":"日本"}, +{"v":"movie_bt_cat/korea","n":"韩国"}, +{"v":"movie_bt_cat/north-korea","n":"朝鲜"}, +{"v":"movie_bt_cat/america","n":"美国"}, +{"v":"movie_bt_cat/england","n":"英国"}, +{"v":"movie_bt_cat/france","n":"法国"}, +{"v":"movie_bt_cat/germany","n":"德国"}, +{"v":"movie_bt_cat/west-germany","n":"西德"}, +{"v":"movie_bt_cat/thailand","n":"泰国"}, +{"v":"movie_bt_cat/india","n":"印度"}, +{"v":"movie_bt_cat/singapore","n":"新加坡"} +] +}, +{ +"key":"area", +"name":"", +"value":[ +{"v":"movie_bt_cat/philippines","n":"菲律宾"}, +{"v":"movie_bt_cat/russia","n":"俄罗斯"}, +{"v":"movie_bt_cat/belarus","n":"白俄罗斯"}, +{"v":"movie_bt_cat/sovietunion","n":"苏联"}, +{"v":"movie_bt_cat/spain","n":"西班牙"}, +{"v":"movie_bt_cat/italy","n":"意大利"}, +{"v":"movie_bt_cat/canada","n":"加拿大"}, +{"v":"movie_bt_cat/australia","n":"澳大利亚"}, +{"v":"movie_bt_cat/vietnam","n":"越南"}, +{"v":"movie_bt_cat/bhutan","n":"不丹"}, +{"v":"movie_bt_cat/denmark","n":"丹麦"}, +{"v":"movie_bt_cat/ukraine","n":"乌克兰"}, +{"v":"movie_bt_cat/uruguay","n":"乌拉圭"}, +{"v":"movie_bt_cat/israel","n":"以色列"}, +{"v":"movie_bt_cat/iraq","n":"伊拉克"} +] +}, +{ +"key":"area", +"name":"", +"value":[ +{"v":"movie_bt_cat/iran","n":"伊朗"}, +{"v":"movie_bt_cat/bulgaria","n":"保加利亚"}, +{"v":"movie_bt_cat/croatia","n":"克罗地亚"}, +{"v":"movie_bt_cat/iceland","n":"冰岛"}, +{"v":"movie_bt_cat/hungary","n":"匈牙利"}, +{"v":"movie_bt_cat/south-africa","n":"南非"}, +{"v":"movie_bt_cat/botswana","n":"博茨瓦纳"}, +{"v":"movie_bt_cat/qatar","n":"卡塔尔"}, +{"v":"movie_bt_cat/luxembourg","n":"卢森堡"}, +{"v":"movie_bt_cat/indonesia","n":"印度尼西亚"}, +{"v":"movie_bt_cat/kazakhstan","n":"哈萨克斯坦"}, +{"v":"movie_bt_cat/colombia","n":"哥伦比亚"}, +{"v":"movie_bt_cat/turkey","n":"土耳其"}, +{"v":"movie_bt_cat/serbia","n":"塞尔维亚"}, +{"v":"movie_bt_cat/cyprus","n":"塞浦路斯"}, +{"v":"movie_bt_cat/mexico","n":"墨西哥"}, +{"v":"movie_bt_cat/dominica","n":"多米尼加"}, +{"v":"movie_bt_cat/austria","n":"奥地利"}, +{"v":"movie_bt_cat/venezuela","n":"委内瑞拉"}, +{"v":"movie_bt_cat/nigeria","n":"尼日利亚"}, +{"v":"movie_bt_cat/paraguay","n":"巴拉圭"}, +{"v":"movie_bt_cat/brazil","n":"巴西"}, +{"v":"movie_bt_cat/greece","n":"希腊"}, +{"v":"movie_bt_cat/latvia","n":"拉脱维亚"}, +{"v":"movie_bt_cat/norway","n":"挪威"}, +{"v":"movie_bt_cat/chech","n":"捷克"}, +{"v":"movie_bt_cat/斯洛伐克","n":"斯洛伐克"}, +{"v":"movie_bt_cat/slovenia","n":"斯洛文尼亚"}, +{"v":"movie_bt_cat/zealand","n":"新西兰"}, +{"v":"movie_bt_cat/chile","n":"智利"}, +{"v":"movie_bt_cat/cambodia","n":"柬埔寨"}, +{"v":"movie_bt_cat/georgia","n":"格鲁吉亚"}, +{"v":"movie_bt_cat/belgium","n":"比利时"}, +{"v":"movie_bt_cat/saudi-arabia","n":"沙特阿拉伯"}, +{"v":"movie_bt_cat/poland","n":"波兰"}, +{"v":"movie_bt_cat/puertorco","n":"波多黎各"}, +{"v":"movie_bt_cat/bohei","n":"波黑"}, +{"v":"movie_bt_cat/ireland","n":"爱尔兰"}, +{"v":"movie_bt_cat/estonia","n":"爱沙尼亚"}, +{"v":"movie_bt_cat/sweden","n":"瑞典"}, +{"v":"movie_bt_cat/switzerland","n":"瑞士"}, +{"v":"movie_bt_cat/peru","n":"秘鲁"}, +{"v":"movie_bt_cat/tunisia","n":"突尼斯"}, +{"v":"movie_bt_cat/lithuania","n":"立陶宛"}, +{"v":"movie_bt_cat/romania","n":"罗马尼亚"}, +{"v":"movie_bt_cat/finland","n":"芬兰"}, +{"v":"movie_bt_cat/netherlands","n":"荷兰"}, +{"v":"movie_bt_cat/argentina","n":"阿根廷"}, +{"v":"movie_bt_cat/malaysia","n":"马来西亚"}, +{"v":"movie_bt_cat/马耳他","n":"马耳他"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"v":"","n":"全部"}, +{"v":"movie_bt_tags/pop-popular","n":"POP流行"}, +{"v":"movie_bt_tags/biography","n":"传记"}, +{"v":"movie_bt_tags/child","n":"儿童"}, +{"v":"movie_bt_tags/adventure","n":"冒险"}, +{"v":"movie_bt_tags/plot","n":"剧情"}, +{"v":"movie_bt_tags/action","n":"动作"}, +{"v":"movie_bt_tags/anime","n":"动漫"}, +{"v":"movie_bt_tags/animation","n":"动画"}, +{"v":"movie_bt_tags/history","n":"历史"}, +{"v":"movie_bt_tags/costume","n":"古装"}, +{"v":"movie_bt_tags/antiquity","n":"古风"}, +{"v":"movie_bt_tags/homosexual","n":"同性"}, +{"v":"movie_bt_tags/comedy","n":"喜剧"}, +{"v":"movie_bt_tags/fantasy","n":"奇幻"}, +{"v":"movie_bt_tags/family","n":"家庭"}, +{"v":"movie_bt_tags/terror","n":"恐怖"}, +{"v":"movie_bt_tags/suspense","n":"悬疑"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"v":"movie_bt_tags/erotic","n":"情色"}, +{"v":"movie_bt_tags/thriller","n":"惊悚"}, +{"v":"movie_bt_tags/drama","n":"戏曲"}, +{"v":"movie_bt_tags/war","n":"战争"}, +{"v":"movie_bt_tags/latin","n":"拉丁"}, +{"v":"movie_bt_tags/funny","n":"搞笑"}, +{"v":"movie_bt_tags/campus","n":"校园"}, +{"v":"movie_bt_tags/song-and-dance","n":"歌舞"}, +{"v":"movie_bt_tags/martial-arts","n":"武侠"}, +{"v":"movie_bt_tags/disaster","n":"灾难"}, +{"v":"movie_bt_tags/love","n":"爱情"}, +{"v":"movie_bt_tags/crime","n":"犯罪"}, +{"v":"movie_bt_tags/fancy","n":"玄幻"}, +{"v":"movie_bt_tags/reality-show","n":"真人秀"}, +{"v":"movie_bt_tags/short-film","n":"短片"}, +{"v":"movie_bt_tags/kehuan","n":"科幻"}, +{"v":"movie_bt_tags/documentary","n":"纪录片"}, +{"v":"movie_bt_tags/talkshow","n":"脱口秀"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"v":"movie_bt_tags/stageart","n":"舞台艺术"}, +{"v":"movie_bt_tags/west","n":"西部"}, +{"v":"movie_bt_tags/sport","n":"运动"}, +{"v":"movie_bt_tags/youth","n":"青春"}, +{"v":"movie_bt_tags/music","n":"音乐"}, +{"v":"movie_bt_tags/ghost","n":"鬼怪"}, +{"v":"movie_bt_tags/black-film","n":"黑色电影"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}, +{"n":"1999","v":"1999"}, +{"n":"1998","v":"1998"}, +{"n":"1997","v":"1997"}, +{"n":"1996","v":"1996"}, +{"n":"1995","v":"1995"}, +{"n":"1994","v":"1994"}, +{"n":"1993","v":"1993"}, +{"n":"1992","v":"1992"}, +{"n":"1991","v":"1991"}, +{"n":"1990","v":"1990"}, +{"n":"1989","v":"1989"}, +{"n":"1988","v":"1988"}, +{"n":"1987","v":"1987"}, +{"n":"1986","v":"1986"}, +{"n":"1985","v":"1985"}, +{"n":"1984","v":"1984"}, +{"n":"1983","v":"1983"}, +{"n":"1982","v":"1982"}, +{"n":"1981","v":"1981"}, +{"n":"1980","v":"1980"}, +{"n":"1979","v":"1979"}, +{"n":"1978","v":"1978"}, +{"n":"1977","v":"1977"}, +{"n":"1976","v":"1976"}, +{"n":"1975","v":"1975"}, +{"n":"1974","v":"1974"}, +{"n":"1973","v":"1973"}, +{"n":"1972","v":"1972"}, +{"n":"1971","v":"1971"}, +{"n":"1970","v":"1970"}, +{"n":"1969","v":"1969"}, +{"n":"1968","v":"1968"}, +{"n":"1967","v":"1967"}, +{"n":"1966","v":"1966"}, +{"n":"1965","v":"1965"}, +{"n":"1964","v":"1964"}, +{"n":"1963","v":"1963"}, +{"n":"1962","v":"1962"}, +{"v":"1959","n":"1959"}, +{"v":"1954","n":"1954"}, +{"v":"1952","n":"1952"}, +{"v":"1950","n":"1950"}, +{"v":"1949","n":"1949"}, +{"v":"1948","n":"1948"}, +{"v":"1940","n":"1940"}, +{"v":"1939","n":"1939"}, +{"v":"1925","n":"1925"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/素白白1.json b/xBPQ/素白白1.json new file mode 100644 index 0000000..c8b75f3 --- /dev/null +++ b/xBPQ/素白白1.json @@ -0,0 +1,92 @@ +{ + "author": "JMG0909", + "name": "素白白", + "url": "https://www.subaibaiys.com", +// "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", + "User": "空", + "热门推荐": "1", + "qishiye": "1", + "直接播放": "0", + "列表显示": "0", + "图片代理": "1", +// "Referer": "https://www.subaibaiys.com", + + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "", + "jiequhou": "", + "jiequshuzuqian": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"[不包含:素白白]", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "ljhouzhui": "空", + "fubiaotiqian": "", + "fubiaotihou": "在线观看", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"v-thumb stui-vodlist__thumb lazyload", + "ssjiequshuzuhou": "
  • ", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"paly_list_btn\">", + "bfjiequshuzuhou": "
  • ", + + "xlshifouercijiequ": "0", + "xljiequqian": "", + "xljiequhou": "", + //"xljiequshuzuqian": "
    ", + //"xljiequshuzuhou": "
    ", + //"xlbiaotiqian": "", + //"xlbiaotihou": "", + + "zhuangtaiqian": "", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "。

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "mac":"", + "嗅探词":"", + "过滤词":"", + "分类页": "https://www.subaibaiys.com/{cateId}/page/{catePg}", + "分类": "电影$new-movie#电视剧$tv-drama", + "剧情": "1", + "地区": "1", + "年份": "1", + "排序": "1", + "筛选": "1" + + } \ No newline at end of file diff --git a/xBPQ/素白白影视.json b/xBPQ/素白白影视.json new file mode 100644 index 0000000..48e27cd --- /dev/null +++ b/xBPQ/素白白影视.json @@ -0,0 +1,36 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "素白白影视", + "主页url": "https://www.subaibaiys.com", + + "分类": "电影&电视剧&热门电影&高分电影&动漫电影&香港经典电影&国产剧&欧美剧&韩剧&动漫剧", + "分类值": "new-movie&tv-drama&hot-month&high-movie&cartoon-movie&hongkong-movie&domestic-drama&american-drama&korean-drama&anime-drama", + + "分类url": "https://www.subaibaiys.com/{cateId}/page/{catePg}", + + + "数组": "
  • &&
  • ", + "副标题": "class=\"jidi\">&&", + + "搜索模式": "1", + "搜索url": "/grabble?q={wd}&f=_all&p={pg}", + "搜索数组": "
  • &&
  • ", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "alt=\"&&\"", + "搜索副标题": "jidi\">&&", + "搜索链接": "href=\"&&\"", + + "影片年代": "年份:&&", + "影片地区": "地区:&&", + "影片类型": "类型:&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "yp_context\">&&

    ", + + "线路数组": "mi_paly_box\">&&", + "线路标题": "ypxingq_t\">&&[替换:在线播放>>播放列表]", + + "播放数组": "
    &&
    ", + "播放列表": "", + "播放标题": ">&&<[替换:立即播放>>空]", + "播放链接": "href=\"&&\""} \ No newline at end of file diff --git a/xBPQ/素白白源.json b/xBPQ/素白白源.json new file mode 100644 index 0000000..8ac66b7 --- /dev/null +++ b/xBPQ/素白白源.json @@ -0,0 +1,50 @@ +{ + "作者": "搞死一个是一个", + "站名": "素白白", + "主页url": "https://www.subaibaiys.com", + "请求头": "", + "热门推荐": "1", + "起始页": "1", + "直接播放": "0", + "倒序播放": "0", + "图片代理": "1", + "二次截取": "", + "cat_YN_twice": "0", + "cat_twice_pre": "class=\"bt_img mi_ne_kd", + "cat_twice_suf": "
    ", + "数组": "
  • &&
  • ", + "图片": "data-original=\"&&\"", + "标题": "alt=\"&&\"", + "fubiaotiqian": "", + "fubiaotihou": "", + "链接": "href=\"https://www.subaibaiys.com&&\"", + "链接前缀": "https://www.subaibaiys.com", + "线路二次截取": "", + "线路数组": "class=\"ypxingq_t\">&&", + "线路标题": "&&", + "状态": "
  • ", + "导演": "导演:&&&&&&", + "列表二次截取": "", + "播放列表": "", + "播放标题": ">&&<", + "播放链接": "href=\"&&\"", + "播放链接前缀": "https://www.subaibaiys.com", + "免嗅": "0", + "嗅探词": ".m3u8", + "过滤词": "", + "播放请求头": "", + "搜索url": "https://www.subaibaiys.com/grabble?q=", + "搜索模式": "1", + "搜索二次截取": "", + "搜索数组": "
  • &&
  • ", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "alt=\"&&\"", + "搜索链接": "href=\"&&\"", + "搜索链接前缀": "https://www.subaibaiys.com", + "分类url": "https://www.subaibaiys.com/{cateId}/page/{catePg}", + "分类": "首页$空#电影$new-movie#电视剧$tv-drama#热门电影$hot-month#高分电影$high-movie#动漫电影$cartoon-movie#香港经典电影$hongkong-movie#国产剧$domestic-drama#欧美剧$american-drama#韩剧$korean-drama#动漫剧$anime-drama#公告留言$resources-for-help" +} diff --git a/xBPQ/纽约影院.json b/xBPQ/纽约影院.json new file mode 100644 index 0000000..fcc26aa --- /dev/null +++ b/xBPQ/纽约影院.json @@ -0,0 +1,473 @@ +{ +"作者":"张弘", +"站名":"纽约影院", +"主页url":"https://www.nycvod.com", +"数组":"
    &&
    ", +"图片":"data-src=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"搜索模式":"0", +"搜索后缀":"/voddetail/", +"线路数组":"
    [排序:双线节点]", +"线路标题":"&&", +"播放数组":"
    ", +"导演":"导演:&&
    ", +"主演":"主演:&&
    ", +"简介":"剧情:
    &&
    ", +"播放列表":"", +"播放标题":"&&", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4#竞技体育$5", +"分类url":"https://www.nycvod.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", +"筛选": +{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"v":"","n":"全部"}, +{"v":"9","n":"动作片"}, +{"v":"10","n":"喜剧片"}, +{"v":"11","n":"奇幻片"}, +{"v":"12","n":"科幻片"}, +{"v":"22","n":"恐怖片"}, +{"v":"27","n":"惊悚片"}, +{"v":"23","n":"悬疑片"}, +{"v":"21","n":"爱情片"}, +{"v":"20","n":"战争片"}, +{"v":"6","n":"剧情片"}, +{"v":"24","n":"网络电影"}, +{"v":"26","n":"犯罪片"}, +{"v":"8","n":"伦理片"}, +{"v":"7","n":"灾难片"}, +{"v":"25","n":"动画电影"}, +{"v":"28","n":"冒险片"}, +{"v":"44","n":"同性片"}, +{"v":"29","n":"纪录片"}, +{"v":"45","n":"歌舞片"}, +{"v":"46","n":"经典片"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"v":"","n":"全部"}, +{"v":"伦理","n":"伦理"}, +{"v":"喜剧","n":"喜剧"}, +{"v":"爱情","n":"爱情"}, +{"v":"恐怖","n":"恐怖"}, +{"v":"动作","n":"动作"}, +{"v":"科幻","n":"科幻"}, +{"v":"剧情","n":"剧情"}, +{"v":"战争","n":"战争"}, +{"v":"警匪","n":"警匪"}, +{"v":"犯罪","n":"犯罪"}, +{"v":"动画","n":"动画"}, +{"v":"奇幻","n":"奇幻"}, +{"v":"武侠","n":"武侠"}, +{"v":"冒险","n":"冒险"}, +{"v":"枪战","n":"枪战"}, +{"v":"仙侠","n":"仙侠"}, +{"v":"家庭","n":"家庭"}, +{"v":"悬疑","n":"悬疑"}, +{"v":"惊悚","n":"惊悚"}, +{"v":"经典","n":"经典"}, +{"v":"青春","n":"青春"}, +{"v":"文艺","n":"文艺"}, +{"v":"微电影","n":"微电影"}, +{"v":"古装","n":"古装"}, +{"v":"历史","n":"历史"}, +{"v":"运动","n":"运动"}, +{"v":"农村","n":"农村"}, +{"v":"儿童","n":"儿童"}, +{"v":"网络电影","n":"网络电影"}, +{"v":"传记","n":"传记"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"v":"","n":"全部"}, +{"v":"30","n":"国产剧"}, +{"v":"47","n":"欧美剧"}, +{"v":"17","n":"日本剧"}, +{"v":"18","n":"韩国剧"}, +{"v":"15","n":"台湾剧"}, +{"v":"16","n":"香港剧"}, +{"v":"14","n":"新马泰剧"}, +{"v":"13","n":"其他剧"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"武侠","v":"武侠"}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"青春偶像","v":"青春偶像"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"仙侠","v":"仙侠"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"泰国","v":"泰国"}, +{"n":"英国","v":"英国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"v":"","n":"全部"}, +{"v":"31","n":"国产综艺"}, +{"v":"32","n":"韩国综艺"}, +{"v":"33","n":"日本综艺"}, +{"v":"34","n":"欧美综艺"}, +{"v":"35","n":"港台综艺"}, +{"v":"36","n":"新马泰综艺"}, +{"v":"37","n":"其他综艺"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"曲艺","v":"曲艺"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"音乐","v":"音乐"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"选秀","v":"选秀"}, +{"n":"网综","v":"网综"}, +{"n":"脱口秀","v":"脱口秀"}, +{"n":"竞技","v":"竞技"}, +{"n":"情感访谈","v":"情感访谈"}, +{"n":"演唱会","v":"演唱会"}, +{"n":"晚会","v":"晚会"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"澳大利亚","v":"澳大利亚"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"v":"","n":"全部"}, +{"n":"38","v":"日本动漫"}, +{"n":"39","v":"国产动漫"}, +{"n":"40","v":"欧美动漫"}, +{"n":"41","v":"韩国动漫"}, +{"n":"42","v":"港台动漫"}, +{"n":"43","v":"其他动漫"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"情感","v":"情感"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"竞技","v":"竞技"}, +{"n":"历史","v":"历史"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"仙侠","v":"仙侠"}, +{"n":"音乐","v":"音乐"}, +{"n":"剧情","v":"剧情"}, +{"n":"动画","v":"动画"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/耐看点播.json b/xBPQ/耐看点播.json new file mode 100644 index 0000000..c83d6e4 --- /dev/null +++ b/xBPQ/耐看点播.json @@ -0,0 +1,150 @@ +{ +"作者":"张弘", +"站名":"耐看点播", +"主页url":"https://www.nkvod.com", +"二次截取":"
    &&
    ", +"搜索模式":"1", +"搜索二次截取":"
    &&
    ", +"搜索后缀":"/detail/", +"影片类型":"
    &&立即播放", +"导演":"导演:&&
    ", +"主演":"主演:&&", +"简介":"

    &&

    ", +"线路数组":"data-dropdown-value=&&", +"线路标题":"&&[替换:>>♡]+集♡", +"播放数组":"module-play-list\">&&", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"分类url":"https://www.nkvod.com/show/{cateId}--{by}------{catePg}---{year}.html", +"免嗅":"1", +"筛选":{ +"1":[ +{"key":"cateId","name":"类型","value":[ +{"n":"全部","v":"1"}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"2":[ +{"key":"cateId","name":"类型","value":[ +{"n":"全部","v":"2"}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"欧美剧","v":"16"}, +{"n":"其他剧","v":"20"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"3":[ +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"4":[ +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/聚优直播.json b/xBPQ/聚优直播.json new file mode 100644 index 0000000..76c469b --- /dev/null +++ b/xBPQ/聚优直播.json @@ -0,0 +1,110 @@ +{ +"站名":"聚优直播", +"主页url":"https://www.juyouzb.vip/", +"直接播放":"1", + +"链接前缀":"https://www.juyouzb.vip", +"副标题":"
    &&
    ", +"分类":"亚洲直播$yzzb/zb/gwzb#欧美直播$yzzb/zb/omzb#聚优直播$xxj", +"分类url":"https://www.juyouzb.vip/?ju={cateId}/zb/{class}.html", + +"筛选":{ +"xxj":[ +{ +"key":"class", +"name":"", +"value":[ +{"n":"卡哇伊直播","v":"kwy"}, +{"n":"咪狐直播","v":"mh"}, +{"n":"蜜桃直播","v":"mt"}, +{"n":"小妲己直播","v":"xdj"}, +{"n":"LOVE直播","v":"love"}, +{"n":"番茄直播","v":"fq"}, +{"n":"77直播","v":"qq"}, +{"n":"依依直播","v":"yy"}, +{"n":"日出直播","v":"rc"}, +{"n":"彩虹直播","v":"ch"}, +{"n":"久久直播","v":"jj"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"亚米直播","v":"ym"}, +{"n":"恋蝶直播","v":"ld"}, +{"n":"夜妖姬直播","v":"yyj"}, +{"n":"套路直播","v":"tl"}, +{"n":"樱花直播","v":"yh"}, +{"n":"享色直播","v":"xs"}, +{"n":"红浪漫直播","v":"hlm"}, +{"n":"金鱼直播","v":"jy"}, +{"n":"桃花直播","v":"th"}, +{"n":"花房直播","v":"hf"}, +{"n":"小仙女直播","v":"xxn"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"视觉秀直播","v":"sjx"}, +{"n":"小天使直播","v":"xts"}, +{"n":"彩云直播","v":"cy"}, +{"n":"咪咪直播","v":"mm"}, +{"n":"娇媚直播","v":"jm"}, +{"n":"黄瓜直播","v":"hg"}, +{"n":"色趣直播","v":"sq"}, +{"n":"糯米直播","v":"nm"}, +{"n":"小蜜蜂直播","v":"xmf"}, +{"n":"小红帽直播","v":"xhm"}, +{"n":"桃花运直播","v":"thy"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"苦瓜直播","v":"kg"}, +{"n":"爱爱你直播","v":"aan"}, +{"n":"樱花雨直播","v":"yh"}, +{"n":"盘他直播","v":"pt"}, +{"n":"夜色直播","v":"ys"}, +{"n":"蝴蝶直播","v":"hd"}, +{"n":"小天仙直播","v":"xtx"}, +{"n":"杏趣直播","v":"xq"}, +{"n":"小坏蛋直播","v":"xhd"}, +{"n":"飘雪直播","v":"px"}, +{"n":"樱桃直播","v":"yt"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"奥斯卡直播","v":"ask"}, +{"n":"兔女郎直播","v":"tnl"}, +{"n":"花仙子直播","v":"hxz"}, +{"n":"小性感直播","v":"xxg"}, +{"n":"蓝月亮直播","v":"lyl"}, +{"n":"名流直播","v":"ml"}, +{"n":"情趣直播","v":"qqu"}, +{"n":"牵手直播","v":"qs"}, +{"n":"蚊香社直播","v":"wxs"}, +{"n":"杏播直播","v":"xb"}, +{"n":"喜欢你直播","v":"xhn"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"小辣椒直播","v":"xlj"}, +{"n":"小精灵直播","v":"xjl"}, +{"n":"小棉袄直播","v":"xma"} +] +} +] +} +} + diff --git a/xBPQ/胖虎影视.json b/xBPQ/胖虎影视.json new file mode 100644 index 0000000..79002f1 --- /dev/null +++ b/xBPQ/胖虎影视.json @@ -0,0 +1,340 @@ +{ +"作者":"张弘", +"站名":"胖虎影视", +"主页url":"http://www.panghuys.com", +"副标题":"module-item-note\">&&", +"线路数组":"data-dropdown-value=&&", +"线路标题":"&&
    [替换:
    >>♡]+集♡", +"搜索模式":"1", +"搜索副标题":"div class=\"module-item-note\">&&", +"影片类型":"
    ", +"主演":"主演:&&
    ", +"简介":"

    &&

    ", +"播放数组":"
    &&
    ", +"免嗅":"1", +"分类":"电影$1#剧集$2#综艺$3#动漫$4", +"分类url":"http://www.panghuys.com/vodshow/{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/letter/{letter}/page/{catePg}/year/{year}.html", +"筛选":{ + +"1":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"动作","v":"动作"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"谍战","v":"谍战"}, +{"n":"冒险","v":"冒险"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"灾难","v":"灾难"}, +{"n":"战争","v":"战争"}, +{"n":"动画","v":"动画"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"历史","v":"历史"}, +{"n":"传记","v":"传记"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"}]}, + +{"key":"lang","name":"语言","value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"/by/time"}, +{"n":"人气","v":"/by/hits"}, +{"n":"评分","v":"/by/score"}]}], + +"2":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"武侠","v":"武侠"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"剧情","v":"剧情"}, +{"n":"青春","v":"青春"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"科幻","v":"科幻"}, +{"n":"军事","v":"军事"}, +{"n":"警匪","v":"警匪"}, +{"n":"谍战","v":"谍战"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"偶像","v":"偶像"}, +{"n":"年代","v":"年代"}, +{"n":"乡村","v":"乡村"}, +{"n":"都市","v":"都市"}, +{"n":"家庭","v":"家庭"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"神话","v":"神话"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"}]}, + +{"key":"lang","name":"语言","value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"/by/time"}, +{"n":"人气","v":"/by/hits"}, +{"n":"评分","v":"/by/score"}]}], + +"3":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"脱口秀","v":"脱口秀"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"访谈","v":"访谈"}, +{"n":"生活","v":"生活"}, +{"n":"晚会","v":"晚会"}, +{"n":"美食","v":"美食"}, +{"n":"游戏","v":"游戏"}, +{"n":"亲子","v":"亲子"}, +{"n":"旅游","v":"旅游"}, +{"n":"文化","v":"文化"}, +{"n":"体育","v":"体育"}, +{"n":"时尚","v":"时尚"}, +{"n":"纪实","v":"纪实"}, +{"n":"益智","v":"益智"}, +{"n":"演艺","v":"演艺"}, +{"n":"歌舞","v":"歌舞"}, +{"n":"音乐","v":"音乐"}, +{"n":"播报","v":"播报"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"中国香港","v":"中国香港"}, +{"n":"中国台湾","v":"中国台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"}]}, + +{"key":"lang","name":"语言","value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"/by/time"}, +{"n":"人气","v":"/by/hits"}, +{"n":"评分","v":"/by/score"}]}], + +"4":[ +{"key":"class","name":"剧情","value":[ +{"n":"全部","v":""}, +{"n":"热血","v":"热血"}, +{"n":"格斗","v":"格斗"}, +{"n":"恋爱","v":"恋爱"}, +{"n":"少女","v":"少女"}, +{"n":"校园","v":"校园"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"神魔","v":"神魔"}, +{"n":"机战","v":"机战"}, +{"n":"科幻","v":"科幻"}, +{"n":"真人","v":"真人"}, +{"n":"青春","v":"青春"}, +{"n":"魔法","v":"魔法"}, +{"n":"神话","v":"神话"}, +{"n":"冒险","v":"冒险"}, +{"n":"运动","v":"运动"}, +{"n":"竞技","v":"竞技"}, +{"n":"童话","v":"童话"}, +{"n":"亲子","v":"亲子"}, +{"n":"教育","v":"教育"}, +{"n":"励志","v":"励志"}, +{"n":"剧情","v":"剧情"}, +{"n":"其他","v":"其他"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"其他","v":"其他"}]}, + +{"key":"lang","name":"语言","value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"/by/time"}, +{"n":"人气","v":"/by/hits"}, +{"n":"评分","v":"/by/score"}]}]} + +} \ No newline at end of file diff --git a/xBPQ/花猫TV(xBPQ).json b/xBPQ/花猫TV(xBPQ).json new file mode 100644 index 0000000..cd67ef2 --- /dev/null +++ b/xBPQ/花猫TV(xBPQ).json @@ -0,0 +1,574 @@ +{ +"作者":"张弘", +"站名":"花猫TV", +"主页url":"http://www.huamaotv.com/", +"热门推荐":"1", +"直接播放":"0", +"列表显示":"0", +"图片代理":"0", +"起始页":"1", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__item", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"xljiequshuzuqian":"

    ", +"xlbiaotiqian":">", +"xlbiaotihou":"<", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"data\"", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"
  • ", +"bfyjiequshuzuhou":"
  • ", +"bfbiaotiqian":"\">", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"", +"副标题":"class=\"pic-text\">&&", +"分类url":"http://www.huamaotv.com/list/{cateId}_{catePg}_desc_{by}_{class}_{year}_{letter}_{area}_{lang}.html", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"5"}, +{"n":"喜剧片","v":"6"}, +{"n":"爱情片","v":"7"}, +{"n":"科幻片","v":"8"}, +{"n":"恐怖片","v":"9"}, +{"n":"剧情片","v":"10"}, +{"n":"战争片","v":"11"}, +{"n":"奇幻片","v":"16"}, +{"n":"惊悚片","v":"17"}, +{"n":"动画片","v":"18"}, +{"n":"悬疑片","v":"19"}, +{"n":"犯罪片","v":"20"}, +{"n":"纪录片","v":"21"}, +{"n":"音乐片","v":"22"}, +{"n":"微电影","v":"23"}, +{"n":"福利片","v":"36"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"12"}, +{"n":"港剧","v":"13"}, +{"n":"韩剧","v":"14"}, +{"n":"美剧","v":"15"}, +{"n":"日剧","v":"24"}, +{"n":"台剧","v":"25"}, +{"n":"泰剧","v":"26"}, +{"n":"越剧","v":"27"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆综艺","v":"28"}, +{"n":"港台综艺","v":"29"}, +{"n":"日韩综艺","v":"30"}, +{"n":"欧美综艺","v":"31"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产动漫","v":"32"}, +{"n":"日本动漫","v":"33"}, +{"n":"港台动漫","v":"34"}, +{"n":"其他动漫","v":"35"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/花猫TV.json b/xBPQ/花猫TV.json new file mode 100644 index 0000000..359f95f --- /dev/null +++ b/xBPQ/花猫TV.json @@ -0,0 +1,407 @@ +{ +"作者":"张弘", +"站名":"花猫TV", +"主页url":"http://www.huamaotv.com/", +"倒序播放":"1", +"数组":"class=\"stui-vodlist__item&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"class=\"pic-text\">&&", +"搜索url":"/index.php?m=vod-search;post;wd={wd}&search=", +"搜索模式":"1", +"搜索数组":"class=\"stui-vodlist__item&&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"class=\"pic-text\">&&", +"搜索后缀":"/detail/", +"线路数组":"stui-pannel__head clearfix\">&&", +"线路标题":"title\">&&

    ", +"播放数组":"stui-content__playlist&&", +"影片类型":"类型:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"简介:&&

    ", +"播放列表":"
  • &&
  • ", +"播放标题":"\">&&", +"播放链接":"href=\"&&\"", +"免嗅":"0", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"分类url":"http://www.huamaotv.com/list/{cateId}_{catePg}_desc_{by}_{class}_{year}_{letter}_{area}_{lang}.html", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"5"}, +{"n":"喜剧片","v":"6"}, +{"n":"爱情片","v":"7"}, +{"n":"科幻片","v":"8"}, +{"n":"恐怖片","v":"9"}, +{"n":"剧情片","v":"10"}, +{"n":"战争片","v":"11"}, +{"n":"奇幻片","v":"16"}, +{"n":"惊悚片","v":"17"}, +{"n":"动画片","v":"18"}, +{"n":"悬疑片","v":"19"}, +{"n":"犯罪片","v":"20"}, +{"n":"纪录片","v":"21"}, +{"n":"音乐片","v":"22"}, +{"n":"微电影","v":"23"}, +{"n":"福利片","v":"36"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"12"}, +{"n":"港剧","v":"13"}, +{"n":"韩剧","v":"14"}, +{"n":"美剧","v":"15"}, +{"n":"日剧","v":"24"}, +{"n":"台剧","v":"25"}, +{"n":"泰剧","v":"26"}, +{"n":"越剧","v":"27"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆综艺","v":"28"}, +{"n":"港台综艺","v":"29"}, +{"n":"日韩综艺","v":"30"}, +{"n":"欧美综艺","v":"31"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产动漫","v":"32"}, +{"n":"日本动漫","v":"33"}, +{"n":"港台动漫","v":"34"}, +{"n":"其他动漫","v":"35"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/花猫影视(xBPQ).json b/xBPQ/花猫影视(xBPQ).json new file mode 100644 index 0000000..c7c9171 --- /dev/null +++ b/xBPQ/花猫影视(xBPQ).json @@ -0,0 +1,5 @@ +{ //花猫TV +"播放数组":"class=\"stui-content__playlist&&", +//"线路数组": "class=\"stui-pannel clearfix&&", +"分类url":"http://www.huamaotv.com/type/{cateId}-{catePg}.html" +} \ No newline at end of file diff --git a/xBPQ/花猫影视.json b/xBPQ/花猫影视.json new file mode 100644 index 0000000..339d5c0 --- /dev/null +++ b/xBPQ/花猫影视.json @@ -0,0 +1,1630 @@ +{ + "作者": "张弘", + "站名": "花猫TV", + "主页url": "http://www.huamaotv.com/", + "热门推荐": "1", + "直接播放": "0", + "列表显示": "0", + "图片代理": "0", + "起始页": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "xljiequshuzuqian": "

    ", + "xlbiaotiqian": ">", + "xlbiaotihou": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\"", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "副标题": "class=\"pic-text\">&&", + "分类url": "http://www.huamaotv.com/list/{cateId}_{catePg}_desc_{by}_{class}_{year}_{letter}_{area}_{lang}.html", + "分类": "电影$1#电视剧$2#综艺$3#动漫$4", + "筛选": { + "1": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "动作片", + "v": "5" + }, + { + "n": "喜剧片", + "v": "6" + }, + { + "n": "爱情片", + "v": "7" + }, + { + "n": "科幻片", + "v": "8" + }, + { + "n": "恐怖片", + "v": "9" + }, + { + "n": "剧情片", + "v": "10" + }, + { + "n": "战争片", + "v": "11" + }, + { + "n": "奇幻片", + "v": "16" + }, + { + "n": "惊悚片", + "v": "17" + }, + { + "n": "动画片", + "v": "18" + }, + { + "n": "悬疑片", + "v": "19" + }, + { + "n": "犯罪片", + "v": "20" + }, + { + "n": "纪录片", + "v": "21" + }, + { + "n": "音乐片", + "v": "22" + }, + { + "n": "微电影", + "v": "23" + }, + { + "n": "福利片", + "v": "36" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "马来西亚", + "v": "马来西亚" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南话" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "法语", + "v": "法语" + }, + { + "n": "德语", + "v": "德语" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "2": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "12" + }, + { + "n": "港剧", + "v": "13" + }, + { + "n": "韩剧", + "v": "14" + }, + { + "n": "美剧", + "v": "15" + }, + { + "n": "日剧", + "v": "24" + }, + { + "n": "台剧", + "v": "25" + }, + { + "n": "泰剧", + "v": "26" + }, + { + "n": "越剧", + "v": "27" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "马来西亚", + "v": "马来西亚" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南话" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "法语", + "v": "法语" + }, + { + "n": "德语", + "v": "德语" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "3": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆综艺", + "v": "28" + }, + { + "n": "港台综艺", + "v": "29" + }, + { + "n": "日韩综艺", + "v": "30" + }, + { + "n": "欧美综艺", + "v": "31" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "马来西亚", + "v": "马来西亚" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南话" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "法语", + "v": "法语" + }, + { + "n": "德语", + "v": "德语" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ], + "4": [ + { + "key": "cateId", + "name": "类型", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国产动漫", + "v": "32" + }, + { + "n": "日本动漫", + "v": "33" + }, + { + "n": "港台动漫", + "v": "34" + }, + { + "n": "其他动漫", + "v": "35" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "大陆", + "v": "大陆" + }, + { + "n": "香港", + "v": "香港" + }, + { + "n": "台湾", + "v": "台湾" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "新加坡", + "v": "新加坡" + }, + { + "n": "马来西亚", + "v": "马来西亚" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + }, + { + "n": "2003", + "v": "2003" + } + ] + }, + { + "key": "lang", + "name": "语言", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "国语", + "v": "国语" + }, + { + "n": "英语", + "v": "英语" + }, + { + "n": "粤语", + "v": "粤语" + }, + { + "n": "闽南语", + "v": "闽南话" + }, + { + "n": "韩语", + "v": "韩语" + }, + { + "n": "日语", + "v": "日语" + }, + { + "n": "法语", + "v": "法语" + }, + { + "n": "德语", + "v": "德语" + }, + { + "n": "其它", + "v": "其他" + } + ] + }, + { + "key": "letter", + "name": "字母", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "A", + "v": "A" + }, + { + "n": "B", + "v": "B" + }, + { + "n": "C", + "v": "C" + }, + { + "n": "D", + "v": "D" + }, + { + "n": "E", + "v": "E" + }, + { + "n": "F", + "v": "F" + }, + { + "n": "G", + "v": "G" + }, + { + "n": "H", + "v": "H" + }, + { + "n": "I", + "v": "I" + }, + { + "n": "J", + "v": "J" + }, + { + "n": "K", + "v": "K" + }, + { + "n": "L", + "v": "L" + }, + { + "n": "M", + "v": "M" + }, + { + "n": "N", + "v": "N" + }, + { + "n": "O", + "v": "O" + }, + { + "n": "P", + "v": "P" + }, + { + "n": "Q", + "v": "Q" + }, + { + "n": "R", + "v": "R" + }, + { + "n": "S", + "v": "S" + }, + { + "n": "T", + "v": "T" + }, + { + "n": "U", + "v": "U" + }, + { + "n": "V", + "v": "V" + }, + { + "n": "W", + "v": "W" + }, + { + "n": "X", + "v": "X" + }, + { + "n": "Y", + "v": "Y" + }, + { + "n": "Z", + "v": "Z" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "时间", + "v": "time" + }, + { + "n": "人气", + "v": "hits" + }, + { + "n": "评分", + "v": "score" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/xBPQ/荐片.json b/xBPQ/荐片.json new file mode 100644 index 0000000..7c77050 Binary files /dev/null and b/xBPQ/荐片.json differ diff --git a/xBPQ/荐片影视.json b/xBPQ/荐片影视.json new file mode 100644 index 0000000..ac35c91 --- /dev/null +++ b/xBPQ/荐片影视.json @@ -0,0 +1,456 @@ +{ + "分类":"电影$1#剧集$2#综艺$3#动漫$4", + "分类url":"http://www.jpys.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html", + "副标题": "class=\"module-item-note\">&&", + "线路数组": "class=\"module-tab-item tab-item&&", + "线路标题": "&&", + "状态":"更新:&&", + "导演":"导演:&&", + "主演":"主演:&&", + "简介":"

    &&

    ", + "播放数组": "class=\"module-play-list&&", + "免嗅": "1", + + "筛选":{ + + "1":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"动作","v":"/class/动作"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"惊悚","v":"/class/惊悚"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"谍战","v":"/class/谍战"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"灾难","v":"/class/灾难"}, + {"n":"战争","v":"/class/战争"}, + {"n":"动画","v":"/class/动画"}, + {"n":"歌舞","v":"/class/歌舞"}, + {"n":"历史","v":"/class/历史"}, + {"n":"传记","v":"/class/传记"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"中国香港","v":"/area/中国香港"}, + {"n":"中国台湾","v":"/area/中国台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"意大利","v":"/area/意大利"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"lang","name":"语言","value":[ + {"n":"全部","v":""}, + {"n":"普通话","v":"/lang/普通话"}, + {"n":"英语","v":"/lang/英语"}, + {"n":"粤语","v":"/lang/粤语"}, + {"n":"闽南语","v":"/lang/闽南语"}, + {"n":"韩语","v":"/lang/韩语"}, + {"n":"日语","v":"/lang/日语"}, + {"n":"法语","v":"/lang/法语"}, + {"n":"德语","v":"/lang/德语"}, + {"n":"其它","v":"/lang/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}]}, + + {"key":"letter","name":"字母","value":[ + {"n":"全部","v":""}, + {"n":"A","v":"/letter/A"}, + {"n":"B","v":"/letter/B"}, + {"n":"C","v":"/letter/C"}, + {"n":"D","v":"/letter/D"}, + {"n":"E","v":"/letter/E"}, + {"n":"F","v":"/letter/F"}, + {"n":"G","v":"/letter/G"}, + {"n":"H","v":"/letter/H"}, + {"n":"I","v":"/letter/I"}, + {"n":"J","v":"/letter/J"}, + {"n":"K","v":"/letter/K"}, + {"n":"L","v":"/letter/L"}, + {"n":"M","v":"/letter/M"}, + {"n":"N","v":"/letter/N"}, + {"n":"O","v":"/letter/O"}, + {"n":"P","v":"/letter/P"}, + {"n":"Q","v":"/letter/Q"}, + {"n":"R","v":"/letter/R"}, + {"n":"S","v":"/letter/S"}, + {"n":"T","v":"/letter/T"}, + {"n":"U","v":"/letter/U"}, + {"n":"V","v":"/letter/V"}, + {"n":"W","v":"/letter/W"}, + {"n":"X","v":"/letter/X"}, + {"n":"Y","v":"/letter/Y"}, + {"n":"Z","v":"/letter/Z"}, + {"n":"0-9","v":"/letter/0-9"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + + "2":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"武侠","v":"/class/武侠"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"青春","v":"/class/青春"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"军事","v":"/class/军事"}, + {"n":"警匪","v":"/class/警匪"}, + {"n":"谍战","v":"/class/谍战"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"偶像","v":"/class/偶像"}, + {"n":"年代","v":"/class/年代"}, + {"n":"乡村","v":"/class/乡村"}, + {"n":"都市","v":"/class/都市"}, + {"n":"家庭","v":"/class/家庭"}, + {"n":"古装","v":"/class/古装"}, + {"n":"历史","v":"/class/历史"}, + {"n":"神话","v":"/class/神话"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"中国香港","v":"/area/中国香港"}, + {"n":"中国台湾","v":"/area/中国台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"lang","name":"语言","value":[ + {"n":"全部","v":""}, + {"n":"普通话","v":"/lang/普通话"}, + {"n":"英语","v":"/lang/英语"}, + {"n":"粤语","v":"/lang/粤语"}, + {"n":"闽南语","v":"/lang/闽南语"}, + {"n":"韩语","v":"/lang/韩语"}, + {"n":"日语","v":"/lang/日语"}, + {"n":"法语","v":"/lang/法语"}, + {"n":"德语","v":"/lang/德语"}, + {"n":"其它","v":"/lang/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}]}, + + {"key":"letter","name":"字母","value":[ + {"n":"全部","v":""}, + {"n":"A","v":"/letter/A"}, + {"n":"B","v":"/letter/B"}, + {"n":"C","v":"/letter/C"}, + {"n":"D","v":"/letter/D"}, + {"n":"E","v":"/letter/E"}, + {"n":"F","v":"/letter/F"}, + {"n":"G","v":"/letter/G"}, + {"n":"H","v":"/letter/H"}, + {"n":"I","v":"/letter/I"}, + {"n":"J","v":"/letter/J"}, + {"n":"K","v":"/letter/K"}, + {"n":"L","v":"/letter/L"}, + {"n":"M","v":"/letter/M"}, + {"n":"N","v":"/letter/N"}, + {"n":"O","v":"/letter/O"}, + {"n":"P","v":"/letter/P"}, + {"n":"Q","v":"/letter/Q"}, + {"n":"R","v":"/letter/R"}, + {"n":"S","v":"/letter/S"}, + {"n":"T","v":"/letter/T"}, + {"n":"U","v":"/letter/U"}, + {"n":"V","v":"/letter/V"}, + {"n":"W","v":"/letter/W"}, + {"n":"X","v":"/letter/X"}, + {"n":"Y","v":"/letter/Y"}, + {"n":"Z","v":"/letter/Z"}, + {"n":"0-9","v":"/letter/0-9"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + + "3":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"脱口秀","v":"/class/脱口秀"}, + {"n":"真人秀","v":"/class/真人秀"}, + {"n":"搞笑","v":"/class/搞笑"}, + {"n":"访谈","v":"/class/访谈"}, + {"n":"生活","v":"/class/生活"}, + {"n":"晚会","v":"/class/晚会"}, + {"n":"美食","v":"/class/美食"}, + {"n":"游戏","v":"/class/游戏"}, + {"n":"亲子","v":"/class/亲子"}, + {"n":"旅游","v":"/class/旅游"}, + {"n":"文化","v":"/class/文化"}, + {"n":"体育","v":"/class/体育"}, + {"n":"时尚","v":"/class/时尚"}, + {"n":"纪实","v":"/class/纪实"}, + {"n":"益智","v":"/class/益智"}, + {"n":"演艺","v":"/class/演艺"}, + {"n":"歌舞","v":"/class/歌舞"}, + {"n":"音乐","v":"/class/音乐"}, + {"n":"播报","v":"/class/播报"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"中国香港","v":"/area/中国香港"}, + {"n":"中国台湾","v":"/area/中国台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"lang","name":"语言","value":[ + {"n":"全部","v":""}, + {"n":"普通话","v":"/lang/普通话"}, + {"n":"英语","v":"/lang/英语"}, + {"n":"粤语","v":"/lang/粤语"}, + {"n":"闽南语","v":"/lang/闽南语"}, + {"n":"韩语","v":"/lang/韩语"}, + {"n":"日语","v":"/lang/日语"}, + {"n":"其它","v":"/lang/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}]}, + + {"key":"letter","name":"字母","value":[ + {"n":"全部","v":""}, + {"n":"A","v":"/letter/A"}, + {"n":"B","v":"/letter/B"}, + {"n":"C","v":"/letter/C"}, + {"n":"D","v":"/letter/D"}, + {"n":"E","v":"/letter/E"}, + {"n":"F","v":"/letter/F"}, + {"n":"G","v":"/letter/G"}, + {"n":"H","v":"/letter/H"}, + {"n":"I","v":"/letter/I"}, + {"n":"J","v":"/letter/J"}, + {"n":"K","v":"/letter/K"}, + {"n":"L","v":"/letter/L"}, + {"n":"M","v":"/letter/M"}, + {"n":"N","v":"/letter/N"}, + {"n":"O","v":"/letter/O"}, + {"n":"P","v":"/letter/P"}, + {"n":"Q","v":"/letter/Q"}, + {"n":"R","v":"/letter/R"}, + {"n":"S","v":"/letter/S"}, + {"n":"T","v":"/letter/T"}, + {"n":"U","v":"/letter/U"}, + {"n":"V","v":"/letter/V"}, + {"n":"W","v":"/letter/W"}, + {"n":"X","v":"/letter/X"}, + {"n":"Y","v":"/letter/Y"}, + {"n":"Z","v":"/letter/Z"}, + {"n":"0-9","v":"/letter/0-9"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + + "4":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"热血","v":"/class/热血"}, + {"n":"格斗","v":"/class/格斗"}, + {"n":"恋爱","v":"/class/恋爱"}, + {"n":"少女","v":"/class/少女"}, + {"n":"校园","v":"/class/校园"}, + {"n":"搞笑","v":"/class/搞笑"}, + {"n":"神魔","v":"/class/神魔"}, + {"n":"机战","v":"/class/机战"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"真人","v":"/class/真人"}, + {"n":"青春","v":"/class/青春"}, + {"n":"魔法","v":"/class/魔法"}, + {"n":"神话","v":"/class/神话"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"运动","v":"/class/运动"}, + {"n":"竞技","v":"/class/竞技"}, + {"n":"童话","v":"/class/童话"}, + {"n":"亲子","v":"/class/亲子"}, + {"n":"教育","v":"/class/教育"}, + {"n":"励志","v":"/class/励志"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"日本","v":"/area/日本"}, + {"n":"美国","v":"/area/美国"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"lang","name":"语言","value":[ + {"n":"全部","v":""}, + {"n":"普通话","v":"/lang/普通话"}, + {"n":"英语","v":"/lang/英语"}, + {"n":"粤语","v":"/lang/粤语"}, + {"n":"闽南语","v":"/lang/闽南语"}, + {"n":"韩语","v":"/lang/韩语"}, + {"n":"日语","v":"/lang/日语"}, + {"n":"其它","v":"/lang/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}]}, + + {"key":"letter","name":"字母","value":[ + {"n":"全部","v":""}, + {"n":"A","v":"/letter/A"}, + {"n":"B","v":"/letter/B"}, + {"n":"C","v":"/letter/C"}, + {"n":"D","v":"/letter/D"}, + {"n":"E","v":"/letter/E"}, + {"n":"F","v":"/letter/F"}, + {"n":"G","v":"/letter/G"}, + {"n":"H","v":"/letter/H"}, + {"n":"I","v":"/letter/I"}, + {"n":"J","v":"/letter/J"}, + {"n":"K","v":"/letter/K"}, + {"n":"L","v":"/letter/L"}, + {"n":"M","v":"/letter/M"}, + {"n":"N","v":"/letter/N"}, + {"n":"O","v":"/letter/O"}, + {"n":"P","v":"/letter/P"}, + {"n":"Q","v":"/letter/Q"}, + {"n":"R","v":"/letter/R"}, + {"n":"S","v":"/letter/S"}, + {"n":"T","v":"/letter/T"}, + {"n":"U","v":"/letter/U"}, + {"n":"V","v":"/letter/V"}, + {"n":"W","v":"/letter/W"}, + {"n":"X","v":"/letter/X"}, + {"n":"Y","v":"/letter/Y"}, + {"n":"Z","v":"/letter/Z"}, + {"n":"0-9","v":"/letter/0-9"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}]} + +} diff --git a/xBPQ/莫扎兔.json b/xBPQ/莫扎兔.json new file mode 100644 index 0000000..b182111 --- /dev/null +++ b/xBPQ/莫扎兔.json @@ -0,0 +1,456 @@ +{ +"作者":"张弘", +"站名":"莫扎兔", +"主页url":"https://www.mozhatu.com", +"二次截取":"class=\"module-items&&
    &&
    ", +"搜索模式":"1", +"搜索二次截取":"class=\"module-items&&
    &&
    ", +"影片类型":"module-info-tag\"&&立即播放", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"

    &&

    ", +"线路数组":"data-dropdown-value=&&", +"线路标题":"&&
    [替换:>>♡]+集♡", +"播放数组":"module-play-list\">&&", +"分类":"电影&电视剧&综艺&动漫&记录", +"分类值":"1&2&3&4&5", +"分类url":"https://www.mozhatu.com/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{langpage/{catePg}/year/{year}.html", +"筛选":{ +"1":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"动画","v":"动画"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"同性","v":"同性"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"历史","v":"历史"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"灾难","v":"灾难"}, +{"n":"古装","v":"古装"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"动画","v":"动画"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"同性","v":"同性"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"历史","v":"历史"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"灾难","v":"灾难"}, +{"n":"古装","v":"古装"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"情感","v":"情感"}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"亲子","v":"亲子"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"5":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/落攻阁(xBPQ).json b/xBPQ/落攻阁(xBPQ).json new file mode 100644 index 0000000..777e3ae --- /dev/null +++ b/xBPQ/落攻阁(xBPQ).json @@ -0,0 +1,271 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "落攻阁", + "主页url": "https://www.mfxs0.cn", + + "分类": "电影&电视剧&综艺&动漫", + "分类值": "1&2&3&4", + + "分类url": "https://www.mfxs0.cn/index.php/vod/show{area}{by}{class}/id/{cateId}/page/{catePg}{year}.html", + + "副标题": "module-item-note\">&&", + + "搜索模式": "1", + "搜索url":"/index.php/vod/search/page/{pg}/wd/{wd}.html", + "搜索数组": "module-item\">&&", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "alt=\"&&\"", + "搜索链接": "href=\"&&\"", + "搜索副标题": "module-item-note\">&&", + + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "

    &&

    ", + + "线路数组": "data-dropdown-value=&&", + "线路标题": "&&
    [替换:>>👉]+集♥", + + "播放数组": "module-play-list\">&&", + + "筛选":{ +"1":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"动作","v":"/class/动作"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"战争","v":"/class/战争"}, + {"n":"警匪","v":"/class/警匪"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"动画","v":"/class/动画"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"武侠","v":"/class/武侠"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"枪战","v":"/class/枪战"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"惊悚","v":"/class/惊悚"}, + {"n":"经典","v":"/class/经典"}, + {"n":"青春","v":"/class/青春"}, + {"n":"文艺","v":"/class/文艺"}, + {"n":"微电影","v":"/class/微电影"}, + {"n":"古装","v":"/class/古装"}, + {"n":"历史","v":"/class/历史"}, + {"n":"运动","v":"/class/运动"}, + {"n":"农村","v":"/class/农村"}, + {"n":"儿童","v":"/class/儿童"}, + {"n":"网络电影","v":"/class/网络电影"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"意大利","v":"/area/意大利"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"2":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"古装","v":"/class/古装"}, + {"n":"战争","v":"/class/战争"}, + {"n":"青春偶像","v":"/class/青春偶像"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"家庭","v":"/class/家庭"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"动作","v":"/class/动作"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"历史","v":"/class/历史"}, + {"n":"经典","v":"/class/经典"}, + {"n":"乡村","v":"/class/乡村"}, + {"n":"情景","v":"/class/情景"}, + {"n":"商战","v":"/class/商战"}, + {"n":"网剧","v":"/class/网剧"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"/area/内地"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"日本","v":"/area/日本"}, + {"n":"美国","v":"/area/美国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"新加坡","v":"/area/新加坡"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"3":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"选秀","v":"/class/选秀"}, + {"n":"情感","v":"/class/情感"}, + {"n":"访谈","v":"/class/访谈"}, + {"n":"播报","v":"/class/播报"}, + {"n":"旅游","v":"/class/旅游"}, + {"n":"音乐","v":"/class/音乐"}, + {"n":"美食","v":"/class/美食"}, + {"n":"纪实","v":"/class/纪实"}, + {"n":"曲艺","v":"/class/曲艺"}, + {"n":"生活","v":"/class/生活"}, + {"n":"游戏互动","v":"/class/游戏互动"}, + {"n":"财经","v":"/class/财经"}, + {"n":"求职","v":"/class/求职"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"/area/内地"}, + {"n":"港台","v":"/area/港台"}, + {"n":"日韩","v":"/area/日韩"}, + {"n":"欧美","v":"/area/欧美"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"4":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"情感","v":"/class/情感"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"热血","v":"/class/热血"}, + {"n":"推理","v":"/class/推理"}, + {"n":"搞笑","v":"/class/搞笑"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"萝莉","v":"/class/萝莉"}, + {"n":"校园","v":"/class/校园"}, + {"n":"动作","v":"/class/动作"}, + {"n":"机战","v":"/class/机战"}, + {"n":"运动","v":"/class/运动"}, + {"n":"战争","v":"/class/战争"}, + {"n":"少年","v":"/class/少年"}, + {"n":"少女","v":"/class/少女"}, + {"n":"社会","v":"/class/社会"}, + {"n":"原创","v":"/class/原创"}, + {"n":"亲子","v":"/class/亲子"}, + {"n":"益智","v":"/class/益智"}, + {"n":"励志","v":"/class/励志"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"国产","v":"/area/国产"}, + {"n":"日本","v":"/area/日本"}, + {"n":"欧美","v":"/area/欧美"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/蓝光.json b/xBPQ/蓝光.json new file mode 100644 index 0000000..488122c --- /dev/null +++ b/xBPQ/蓝光.json @@ -0,0 +1,7 @@ +{ + "免嗅": "1", + "播放标题": "span>&&<", + "播放数组": "class=\"module-play-list&&", + "分类": "国产剧$13#动漫$5#日韩剧$2#港台剧$14#电影$1#纪录片$4#综艺$3", + "分类url": "https://www.lgyy.cc/vodtype/{cateId}/page/{catePg}---.html" +} diff --git a/xBPQ/蓝光影视.json b/xBPQ/蓝光影视.json new file mode 100644 index 0000000..e801415 --- /dev/null +++ b/xBPQ/蓝光影视.json @@ -0,0 +1,7 @@ +{ + "免嗅": "1", + "播放标题": "span>&&<", + "播放数组": "class=\"module-play-list&&", + "分类": "国产剧$13#动漫$5#日韩剧$2#港台剧$14#电影$1#综艺$3", + "分类url": "https://www.lgyy.cc/vodtype/{cateId}/page/{catePg}---.html" +} \ No newline at end of file diff --git a/xBPQ/蓝光影院(xBPQ).json b/xBPQ/蓝光影院(xBPQ).json new file mode 100644 index 0000000..4e17038 --- /dev/null +++ b/xBPQ/蓝光影院(xBPQ).json @@ -0,0 +1,614 @@ +{ +"作者":"张弘", +"站名":"蓝光影院", +"主页url":"https://www.lgyy.cc", +"请求头":"", +"热门推荐":"1", +"起始页":"1", +"直接播放":"0", +"倒序播放":"0", +"图片代理":"0", +"shifouercijiequ":"1", +"jiequqian":"
    ", +"xlbiaotiqian":"", +"xlbiaotihou":"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list-content", +"bfjiequshuzuhou":"
    ", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"introduction-content\">

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"", +"免嗅":"1", +"副标题":"class=\"module-item-note\">&&", +"分类url":"https://www.lgyy.cc/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", +"分类":"电影$1#电视剧$2#综艺$3#记录片$4#动漫$5", +"筛选": +{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"}, +{"n":"惊悚片","v":"20"}, +{"n":"犯罪片","v":"21"}, +{"n":"冒险片","v":"22"}, +{"n":"悬疑片","v":"23"}, +{"n":"武侠片","v":"24"}, +{"n":"奇幻片","v":"25"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"儿童","v":"儿童"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"欧美剧","v":"16"}, +{"n":"泰剧","v":"26"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"5":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"番剧","v":"17"}, +{"n":"国创","v":"18"}, +{"n":"动画片","v":"27"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/蓝光影院.json b/xBPQ/蓝光影院.json new file mode 100644 index 0000000..e55f56c --- /dev/null +++ b/xBPQ/蓝光影院.json @@ -0,0 +1,577 @@ +{ +"作者":"张弘", +"站名":"蓝光影院", +//https://www.lgyy.tv +//https://www.lgyy.vip +"主页url":"https://www.lgyy.cc", +"二次截取":"
    &&
    ", +"搜索url":"https://www.lgyy.cc/vodsearch/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索二次截取":"
    &&
    ", +"搜索后缀":"/voddetail/", +"线路数组":"class=\"module-tab-item tab-item&&", +"线路标题":"&&
    [替换:>>♡]+集♡", +"播放数组":"class=\"module-play-list-content&&", +"影片类型":"
    &&i>播放<", +"导演":"导演:&&
    ", +"主演":"主演:&&", +"简介":"introduction-content\">

    &&

    ", +"播放列表":"", +"播放标题":"&&", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类url":"https://www.lgyy.cc/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", +"分类":"电影$1#电视剧$2#综艺$3#记录片$4#动漫$5", +"筛选": +{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"}, +{"n":"惊悚片","v":"20"}, +{"n":"犯罪片","v":"21"}, +{"n":"冒险片","v":"22"}, +{"n":"悬疑片","v":"23"}, +{"n":"武侠片","v":"24"}, +{"n":"奇幻片","v":"25"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"儿童","v":"儿童"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"欧美剧","v":"16"}, +{"n":"泰剧","v":"26"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"5":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"番剧","v":"17"}, +{"n":"国创","v":"18"}, +{"n":"动画片","v":"27"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"letter", +"name":"字母", +"value":[ +{ "n":"全部", "v":"" }, +{ "n":"A", "v":"A" }, +{ "n":"B", "v":"B" }, +{ "n":"C", "v":"C" }, +{ "n":"D", "v":"D" }, +{ "n":"E", "v":"E" }, +{ "n":"F", "v":"F" }, +{ "n":"G", "v":"G" }, +{ "n":"H", "v":"H" }, +{ "n":"I", "v":"I" }, +{ "n":"J", "v":"J" }, +{ "n":"K", "v":"K" }, +{ "n":"L", "v":"L" }, +{ "n":"M", "v":"M" }, +{ "n":"N", "v":"N" }, +{ "n":"O", "v":"O" }, +{ "n":"P", "v":"P" }, +{ "n":"Q", "v":"Q" }, +{ "n":"R", "v":"R" }, +{ "n":"S", "v":"S" }, +{ "n":"T", "v":"T" }, +{ "n":"U", "v":"U" }, +{ "n":"V", "v":"V" }, +{ "n":"W", "v":"W" }, +{ "n":"X", "v":"X" }, +{ "n":"Y", "v":"Y" }, +{ "n":"Z", "v":"Z" }, +{ "n":"0-9", "v":"0-9" } +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/西瓜影视.json b/xBPQ/西瓜影视.json new file mode 100644 index 0000000..62db097 --- /dev/null +++ b/xBPQ/西瓜影视.json @@ -0,0 +1,24 @@ +{ +"作者":"张弘", +"站名":"西瓜影视", +"主页url":"https://xgsp.tv/", +"直接播放":"1", +"数组":"
  • &&
  • ", +"图片":"img src=\"&&\"", +"标题":"alt=\"&&\"", +"链接":"href=\"&&\"", +"链接前缀": "https://xgsp.tv", +"副标题":"&&", +"搜索url":"https://xgsp.tv/search.php/wd/{wd}", +"搜索链接前缀":"", +"搜索链接后缀":"", +"搜索模式":"0", +"搜索数组":"
  • &&
  • ", +"搜索图片":"img src=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"免嗅":"0", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"分类":"吸瓜独家$1#中国AV$3#工口动漫$4#中国专区$5#主播视讯$6#日本无码$7#日本有码$8#中字无码$9#中字有码$10#水果派解说$11#三级伦理$28#美女写真$29#欧美性爱$32#黑料事件$33", +"分类url":"https://xgsp.tv/list/?{cateId}-{catePg}.html" +} diff --git a/xBPQ/视觉影院.json b/xBPQ/视觉影院.json new file mode 100644 index 0000000..034d676 --- /dev/null +++ b/xBPQ/视觉影院.json @@ -0,0 +1,305 @@ +{ +"作者":"张弘", +"站名":"视觉影院", +"主页url":"https://www.shijueyy.com", +"数组":"class=\"hl-list-item&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"remarks\">&&", +"搜索模式":"1", +"搜索url":"https://www.shijueyy.com/v_search/{wd}----------{pg}---.html", +"搜索数组":"hl-item-pic\">&&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索副标题":"remarks\">&&", +"搜索链接":"href=\"&&\"", +"搜索后缀":"/v_detail/", +"影片年代":"年份:&&", +"影片地区":"地区:&&", +"影片类型":"类型:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"简介:&&", +"线路数组":"tabs-swiper\">&&", +"线路标题":"alt=\"&&\"", +"播放数组":"hl-list-wrap\">&&", +"播放链接前缀":"https://www.shijueyy.com", +"分类":"电影$1#连续剧$2#综艺$3#动漫$4", +"分类url":"https://www.shijueyy.com/v_show/{cateId}-{area}-{by}--{lang}----{catePg}---{year}.html", +"免嗅":"1", +"筛选": +{ +"1":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"泰国","v":"泰国"}, +{"n":"英国","v":"英国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/诺讯影视(xBPQ).json b/xBPQ/诺讯影视(xBPQ).json new file mode 100644 index 0000000..f5dfc4b --- /dev/null +++ b/xBPQ/诺讯影视(xBPQ).json @@ -0,0 +1,257 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "诺讯影视", + "主页url": "https://www.nunxun.com", + + "分类": "电影&电视剧&综艺&动漫", + "分类值": "1&2&3&4", + + "分类url": "https://www.nunxun.com/index.php/vod/show{area}{by}/id/{cateId}/page/{catePg}{year}.html", + + "副标题": "module-item-note\">&&", + + "搜索模式": "1", + "搜索url": "/index.php/vod/search/page/{pg}/wd/{wd}.html", + "搜索数组": "module-item\">&&", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "alt=\"&&\"", + "搜索链接": "href=\"&&\"", + "搜索副标题": "module-item-note\">&&", + + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "

    &&

    ", + + "线路数组": "data-dropdown-value=&&", + "线路标题": "&&
    [替换:>>👉]+集♥", + + "播放数组": "module-play-list\">&&", + + "筛选":{ +"1":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"1"}, + {"n":"动作片","v":"5"}, + {"n":"喜剧片","v":"6"}, + {"n":"爱情片","v":"7"}, + {"n":"科幻片","v":"8"}, + {"n":"恐怖片","v":"9"}, + {"n":"剧情片","v":"10"}, + {"n":"战争片","v":"11"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"新加坡","v":"/area/新加坡"}, + {"n":"马来西亚","v":"/area/马来西亚"}, + {"n":"印度","v":"/area/印度"}, + {"n":"英国","v":"/area/英国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"俄罗斯","v":"/area/俄罗斯"}, + {"n":"其它","v":"/area/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"2":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"2"}, + {"n":"国产剧","v":"13"}, + {"n":"港台剧","v":"14"}, + {"n":"日韩剧","v":"15"}, + {"n":"欧美剧","v":"16"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"新加坡","v":"/area/新加坡"}, + {"n":"马来西亚","v":"/area/马来西亚"}, + {"n":"印度","v":"/area/印度"}, + {"n":"英国","v":"/area/英国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"俄罗斯","v":"/area/俄罗斯"}, + {"n":"其它","v":"/area/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"3":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"3"}, + {"n":"大陆综艺","v":"17"}, + {"n":"港台综艺","v":"18"}, + {"n":"日韩综艺","v":"19"}, + {"n":"欧美综艺","v":"20"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"新加坡","v":"/area/新加坡"}, + {"n":"马来西亚","v":"/area/马来西亚"}, + {"n":"印度","v":"/area/印度"}, + {"n":"英国","v":"/area/英国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"俄罗斯","v":"/area/俄罗斯"}, + {"n":"其它","v":"/area/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"4":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"4"}, + {"n":"国产动漫","v":"21"}, + {"n":"港台动漫","v":"22"}, + {"n":"日韩动漫","v":"23"}, + {"n":"欧美动漫","v":"24"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"新加坡","v":"/area/新加坡"}, + {"n":"马来西亚","v":"/area/马来西亚"}, + {"n":"印度","v":"/area/印度"}, + {"n":"英国","v":"/area/英国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"俄罗斯","v":"/area/俄罗斯"}, + {"n":"其它","v":"/area/其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/诺讯影视.json b/xBPQ/诺讯影视.json new file mode 100644 index 0000000..d28eee0 --- /dev/null +++ b/xBPQ/诺讯影视.json @@ -0,0 +1,250 @@ +{ +"作者":"张弘", +"站名":"诺讯影视", +"主页url":"https://www.nunxun.com", +"副标题":"module-item-note\">&&", +"搜索模式":"1", +"搜索url":"/index.php/vod/search/page/{pg}/wd/{wd}.html", +"搜索数组":"module-item\">&&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"module-item-note\">&&", +"影片类型":"
    ", +"主演":"主演:&&
    ", +"简介":"

    &&

    ", +"线路数组":"data-dropdown-value=&&", +"线路标题":"&&
    [替换:>>♡]+集♡", +"播放数组":"module-play-list\">&&", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"分类url":"https://www.nunxun.com/index.php/vod/show/area/{area}/by/{by}/id/{cateId}/page/{catePg}/year/{year}.html", +"免嗅":"1", +"筛选":{ +"1":[ +{"key":"cateId","name":"类型","value":[ +{"n":"全部","v":"1"}, +{"n":"动作片","v":"5"}, +{"n":"喜剧片","v":"6"}, +{"n":"爱情片","v":"7"}, +{"n":"科幻片","v":"8"}, +{"n":"恐怖片","v":"9"}, +{"n":"剧情片","v":"10"}, +{"n":"战争片","v":"11"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"2":[ +{"key":"cateId","name":"类型","value":[ +{"n":"全部","v":"2"}, +{"n":"国产剧","v":"13"}, +{"n":"港台剧","v":"14"}, +{"n":"日韩剧","v":"15"}, +{"n":"欧美剧","v":"16"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"3":[ +{"key":"cateId","name":"类型","value":[ +{"n":"全部","v":"3"}, +{"n":"大陆综艺","v":"17"}, +{"n":"港台综艺","v":"18"}, +{"n":"日韩综艺","v":"19"}, +{"n":"欧美综艺","v":"20"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}], + +"4":[ +{"key":"cateId","name":"类型","value":[ +{"n":"全部","v":"4"}, +{"n":"国产动漫","v":"21"}, +{"n":"港台动漫","v":"22"}, +{"n":"日韩动漫","v":"23"}, +{"n":"欧美动漫","v":"24"}]}, + +{"key":"area","name":"地区","value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其它","v":"其它"}]}, + +{"key":"year","name":"年份","value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}]}, + +{"key":"by","name":"排序","value":[ +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/豆角网.json b/xBPQ/豆角网.json new file mode 100644 index 0000000..699d268 --- /dev/null +++ b/xBPQ/豆角网.json @@ -0,0 +1,38 @@ +{ +"作者":"张弘", +"站名":"豆角网", +"主页url":"https://m.doujiaow5.com/", +"数组":"class=\"con\">&&", +"图片":"data-src=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"sNum\"&&
    ", +"线路二次截取":"
    ", +"线路数组":"", +"线路标题":">&&<", +"搜索url":"/index.php?m=vod-search;post;wd={wd}&search=", +"搜索链接前缀":"https://m.doujiaow5.com", +"搜索链接后缀":"", +"搜索模式":"1", +"搜索数组":"class=\"pic\"&&", +"搜索图片":"data-src=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"&&", +"搜索后缀":"/vodhtml/", +"播放数组":"
      ", +"影片类型":"状态:&&导演", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"剧情:&&

      ", +"播放列表":"
    • &&
    • ", +"播放标题":">&&", +"播放链接":"href=\"&&\"", +"免嗅":"0", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"分类":"电影$1#电视剧$2#动漫$4#综艺$3", +"类型":"1--动作片$5#喜剧片$6#爱情片$7#科幻片$8#恐怖片$9#剧情片$10#战争片$11||2--国产剧$12#港剧$13#台剧$14#韩剧$15#美剧$16#日剧$17#海外剧$18#泰剧$26||4--动漫剧集$37#动漫电影$35", +"分类url":"https://m.doujiaow5.com/index.php?m=vod-list-id-{cateId}-pg-{catePg}-order--by-{by}-class-{class}-year-{year}-letter--area-{area}-lang-.html", +"排序":"时间$time#人气$score", +"筛选":"1" +} \ No newline at end of file diff --git a/xBPQ/达达龟.json b/xBPQ/达达龟.json new file mode 100644 index 0000000..ff6cfb9 --- /dev/null +++ b/xBPQ/达达龟.json @@ -0,0 +1,358 @@ +{ +"作者":"张弘", +"站名":"达达龟", +"主页url":"http://www.dadagui.me/", + //"url":"http://www.dadagui.vip", +"数组":"class=\"stui-vodlist__box&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"&&", +"搜索后缀":"/voddetail/", +"搜索模式":"1", +"搜索数组":"class=\"thumb&&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"线路数组":"class=\"stui-vodlist__head&&", +"线路标题":"

      &&

      ", +"播放数组":"class=\"stui-content__playlist clearfix&&
    ", +"状态":"

    &&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"style=\"display: none;\"&&", +"播放列表":"", +"播放标题":"\">&&", +"播放链接":"href=\"&&\">", +"免嗅":"1", +"分类url":"https://www.dadagui.me/vodshow/{cateId}-{area}-{by}--{lang}----{catePg}---{year}.html", +"筛选":{ +"1":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"6"}, +{"n":"喜剧片","v":"7"}, +{"n":"爱情片","v":"8"}, +{"n":"科幻片","v":"9"}, +{"n":"恐怖片","v":"10"}, +{"n":"剧情片","v":"11"}, +{"n":"战争片","v":"12"}, +{"n":"奇幻片","v":"16"}, +{"n":"惊悚片","v":"17"}, +{"n":"动画片","v":"20"}, +{"n":"犯罪片","v":"21"}, +{"n":"纪录片","v":"22"}, +{"n":"音乐片","v":"23"}, +{"n":"微电影","v":"24"}, +{"n":"奇幻片","v":"38"}, +{"n":"悬疑片","v":"39"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"13"}, +{"n":"日韩剧","v":"14"}, +{"n":"欧美剧","v":"15"}, +{"n":"港台剧","v":"16"}, +{"n":"日剧","v":"25"}, +{"n":"台剧","v":"26"}, +{"n":"泰剧","v":"27"}, +{"n":"越剧","v":"28"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆综艺","v":"29"}, +{"n":"港台综艺","v":"30"}, +{"n":"日韩综艺","v":"31"}, +{"n":"欧美综艺","v":"32"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产动漫","v":"33"}, +{"n":"日本动漫","v":"34"}, +{"n":"港台动漫","v":"35"}, +{"n":"欧美动漫","v":"36"}, +{"n":"其它动漫","v":"37"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南话"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/达达龟源.json b/xBPQ/达达龟源.json new file mode 100644 index 0000000..6b5287c --- /dev/null +++ b/xBPQ/达达龟源.json @@ -0,0 +1,9 @@ +{ + "免嗅": "1", + "副标题": "class=\"pic-text text-right\">&&", + "线路标题": "

    &&

    ", + "线路数组": "class=\"stui-vodlist__head&&", + "播放标题": "span>&&<", + "播放数组": "class=\"stui-content__playlist clearfix&&", + "分类url": "https://www.dadagui.me/vodshow/{cateId}-{area}-{by}--{lang}----{catePg}---{year}.html" +} diff --git a/xBPQ/追剧Free(xBPQ).json b/xBPQ/追剧Free(xBPQ).json new file mode 100644 index 0000000..c6805f0 --- /dev/null +++ b/xBPQ/追剧Free(xBPQ).json @@ -0,0 +1,10 @@ +{ +"免嗅": "1", + "播放标题": "span>&&<", + "副标题": "class=\"module-item-note\">&&", + "线路数组": "class=\"module-tab-item tab-item&&", +"线路标题": "&&", +"播放数组": "class=\"module-play-list&&", + "分类": "电影$2#剧集$1#综艺$4#动漫$3#学习$27", +"分类url": "https://www.86516.tk/vodshow/{cateId}-{area}--{class}-----{catePg}---{year}/" +} \ No newline at end of file diff --git a/xBPQ/追剧喵.json b/xBPQ/追剧喵.json new file mode 100644 index 0000000..97ad34a --- /dev/null +++ b/xBPQ/追剧喵.json @@ -0,0 +1,518 @@ +{ +"作者":"张弘", +"站名":"追剧喵", +"主页url":"https://zjmiao.com/", +"请求头":"手机", +"数组":"", +"图片":"img.php?url=&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"hidden\">&&", +"线路二次截取":"class=\"swiper-wrapper\"&&", +"线路数组":"", +"线路标题":">&&<", +"播放数组":"
    ", +"影片年代":"年份:&&", +"影片地区":"地区:&&", +"影片类型":"类型:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"简介:&&", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4#记录$76", +"分类url":"https://zjmiao.com/index.php/vod/show/area/{area}/by/{by}/class/{class}/id/{cateId}/lang/{lang}/page/{catePg}/state/{state}/version/{version}/year/{year}/", +"筛选":{ +"1":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"中国大陆","v":"中国大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +}, +{ +"key":"version", +"name":"版本", +"value":[ +{"n":"全部","v":""}, +{"n":"高清版","v":"高清版"}, +{"n":"剧场版","v":"剧场版"}, +{"n":"抢先版","v":"抢先版"} +] +}, +{ +"key":"state", +"name":"资源", +"value":[ +{"n":"全部","v":""}, +{"n":"正片","v":"正片"}, +{"n":"预告片","v":"预告片"}, +{"n":"花絮","v":"花絮"} +] +} +], +"2":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"青春偶像","v":"青春偶像"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"泰国","v":"泰国"}, +{"n":"英国","v":"英国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +}, +{ +"key":"version", +"name":"版本", +"value":[ +{"n":"全部","v":""}, +{"n":"高清版","v":"高清版"}, +{"n":"剧场版","v":"剧场版"}, +{"n":"抢先版","v":"抢先版"}, +{"n":"OVA","v":"OVA"}, +{"n":"TV","v":"TV"}, +{"n":"影院版","v":"剧院版"} +] +}, +{ +"key":"state", +"name":"资源", +"value":[ +{"n":"全部","v":""}, +{"n":"正片","v":"正片"}, +{"n":"预告片","v":"预告片"}, +{"n":"花絮","v":"花絮"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"励志","v":"励志"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +}, +{ +"key":"version", +"name":"版本", +"value":[ +{"n":"全部","v":""}, +{"n":"TV版","v":"TV版"}, +{"n":"电影版","v":"电影版"}, +{"n":"OVA版","v":"OVA版"}, +{"n":"真人版","v":"真人版"} +] +} +], +"76":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/追剧达人.json b/xBPQ/追剧达人.json new file mode 100644 index 0000000..e3da985 --- /dev/null +++ b/xBPQ/追剧达人.json @@ -0,0 +1,327 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "追剧达人", + "主页url": "https://zjdr.vip", + + "分类": "电影$1#连续剧$2#综艺$3#动漫$4", + + "分类url": "https://zjdr.vip/vodshow{area}{by}{class}/id/{cateId}/page/{catePg}{year}.html", + + "副标题": "module-item-note\">&&
    ", + + "搜索模式": "1", + "搜索url": "/vod/search/page/{pg}/wd/{wd}.html", + "搜索数组": "module-item\">&&
    ", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "alt=\"&&\"", + "搜索副标题": "module-item-note\">&&", + "搜索链接": "href=\"&&\"", + + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "

    &&

    ", + + "线路数组": "data-dropdown-value=&&", + "线路标题": "&&
    [替换:>>👉]+集♥", + + "播放数组": "module-play-list\">&&", + + "筛选":{ +"1":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"1"}, + {"n":"动作片","v":"6"}, + {"n":"喜剧片","v":"7"}, + {"n":"爱情片","v":"8"}, + {"n":"科幻片","v":"9"}, + {"n":"恐怖片","v":"10"}, + {"n":"剧情片","v":"11"}, + {"n":"战争片","v":"12"}]}, + + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"爱情","v":"/class/爱情"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"动作","v":"/class/动作"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"战争","v":"/class/战争"}, + {"n":"警匪","v":"/class/警匪"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"动画","v":"/class/动画"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"武侠","v":"/class/武侠"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"枪战","v":"/class/枪战"}, + {"n":"恐怖","v":"/class/恐怖"}, + {"n":"悬疑","v":"/class/悬疑"}, + {"n":"惊悚","v":"/class/惊悚"}, + {"n":"经典","v":"/class/经典"}, + {"n":"青春","v":"/class/青春"}, + {"n":"文艺","v":"/class/文艺"}, + {"n":"微电影","v":"/class/微电影"}, + {"n":"古装","v":"/class/古装"}, + {"n":"历史","v":"/class/历史"}, + {"n":"运动","v":"/class/运动"}, + {"n":"农村","v":"/class/农村"}, + {"n":"儿童","v":"/class/儿童"}, + {"n":"网络电影","v":"/class/网络电影"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"美国","v":"/area/美国"}, + {"n":"法国","v":"/area/法国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"日本","v":"/area/日本"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"德国","v":"/area/德国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"印度","v":"/area/印度"}, + {"n":"意大利","v":"/area/意大利"}, + {"n":"西班牙","v":"/area/西班牙"}, + {"n":"加拿大","v":"/area/加拿大"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}, + {"n":"1999","v":"/year/1999"}, + {"n":"1998","v":"/year/1998"}, + {"n":"1997","v":"/year/1997"}, + {"n":"1996","v":"/year/1996"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"2":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"2"}, + {"n":"国产剧","v":"13"}, + {"n":"港台剧","v":"14"}, + {"n":"日韩剧","v":"15"}, + {"n":"欧美剧","v":"16"}]}, + + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"古装","v":"/class/古装"}, + {"n":"战争","v":"/class/战争"}, + {"n":"青春偶像","v":"/class/青春偶像"}, + {"n":"喜剧","v":"/class/喜剧"}, + {"n":"家庭","v":"/class/家庭"}, + {"n":"犯罪","v":"/class/犯罪"}, + {"n":"动作","v":"/class/动作"}, + {"n":"奇幻","v":"/class/奇幻"}, + {"n":"剧情","v":"/class/剧情"}, + {"n":"历史","v":"/class/历史"}, + {"n":"经典","v":"/class/经典"}, + {"n":"乡村","v":"/class/乡村"}, + {"n":"情景","v":"/class/情景"}, + {"n":"商战","v":"/class/商战"}, + {"n":"网剧","v":"/class/网剧"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"/area/大陆"}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"内地","v":"/area/内地"}, + {"n":"韩国","v":"/area/韩国"}, + {"n":"香港","v":"/area/香港"}, + {"n":"台湾","v":"/area/台湾"}, + {"n":"日本","v":"/area/日本"}, + {"n":"美国","v":"/area/美国"}, + {"n":"泰国","v":"/area/泰国"}, + {"n":"英国","v":"/area/英国"}, + {"n":"新加坡","v":"/area/新加坡"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}, + {"n":"1999","v":"/year/1999"}, + {"n":"1998","v":"/year/1998"}, + {"n":"1997","v":"/year/1997"}, + {"n":"1996","v":"/year/1996"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"3":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"选秀","v":"/class/选秀"}, + {"n":"情感","v":"/class/情感"}, + {"n":"访谈","v":"/class/访谈"}, + {"n":"播报","v":"/class/播报"}, + {"n":"旅游","v":"/class/旅游"}, + {"n":"音乐","v":"/class/音乐"}, + {"n":"美食","v":"/class/美食"}, + {"n":"纪实","v":"/class/纪实"}, + {"n":"曲艺","v":"/class/曲艺"}, + {"n":"生活","v":"/class/生活"}, + {"n":"游戏互动","v":"/class/游戏互动"}, + {"n":"财经","v":"/class/财经"}, + {"n":"求职","v":"/class/求职"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"/area/内地"}, + {"n":"港台","v":"/area/港台"}, + {"n":"日韩","v":"/area/日韩"}, + {"n":"欧美","v":"/area/欧美"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}, + {"n":"1999","v":"/year/1999"}, + {"n":"1998","v":"/year/1998"}, + {"n":"1997","v":"/year/1997"}, + {"n":"1996","v":"/year/1996"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}], + +"4":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"情感","v":"/class/情感"}, + {"n":"科幻","v":"/class/科幻"}, + {"n":"热血","v":"/class/热血"}, + {"n":"推理","v":"/class/推理"}, + {"n":"搞笑","v":"/class/搞笑"}, + {"n":"冒险","v":"/class/冒险"}, + {"n":"萝莉","v":"/class/萝莉"}, + {"n":"校园","v":"/class/校园"}, + {"n":"动作","v":"/class/动作"}, + {"n":"机战","v":"/class/机战"}, + {"n":"运动","v":"/class/运动"}, + {"n":"战争","v":"/class/战争"}, + {"n":"少年","v":"/class/少年"}, + {"n":"少女","v":"/class/少女"}, + {"n":"社会","v":"/class/社会"}, + {"n":"原创","v":"/class/原创"}, + {"n":"亲子","v":"/class/亲子"}, + {"n":"益智","v":"/class/益智"}, + {"n":"励志","v":"/class/励志"}, + {"n":"其他","v":"/class/其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"中国大陆","v":"/area/中国大陆"}, + {"n":"内地","v":"/area/内地"}, + {"n":"国产","v":"/area/国产"}, + {"n":"日本","v":"/area/日本"}, + {"n":"欧美","v":"/area/欧美"}, + {"n":"其他","v":"/area/其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"/year/2022"}, + {"n":"2021","v":"/year/2021"}, + {"n":"2020","v":"/year/2020"}, + {"n":"2019","v":"/year/2019"}, + {"n":"2018","v":"/year/2018"}, + {"n":"2017","v":"/year/2017"}, + {"n":"2016","v":"/year/2016"}, + {"n":"2015","v":"/year/2015"}, + {"n":"2014","v":"/year/2014"}, + {"n":"2013","v":"/year/2013"}, + {"n":"2012","v":"/year/2012"}, + {"n":"2011","v":"/year/2011"}, + {"n":"2010","v":"/year/2010"}, + {"n":"2009","v":"/year/2009"}, + {"n":"2008","v":"/year/2008"}, + {"n":"2007","v":"/year/2007"}, + {"n":"2006","v":"/year/2006"}, + {"n":"2005","v":"/year/2005"}, + {"n":"2004","v":"/year/2004"}, + {"n":"2003","v":"/year/2003"}, + {"n":"2002","v":"/year/2002"}, + {"n":"2001","v":"/year/2001"}, + {"n":"2000","v":"/year/2000"}, + {"n":"1999","v":"/year/1999"}, + {"n":"1998","v":"/year/1998"}, + {"n":"1997","v":"/year/1997"}, + {"n":"1996","v":"/year/1996"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"/by/time"}, + {"n":"人气","v":"/by/hits"}, + {"n":"评分","v":"/by/score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/速搜影院.json b/xBPQ/速搜影院.json new file mode 100644 index 0000000..039c8f4 --- /dev/null +++ b/xBPQ/速搜影院.json @@ -0,0 +1,487 @@ +{ +"作者":"张弘", +"站名":"速搜影视", +"主页url":"https://www.sstv.pw", +"数组":"class=\"aplus-exp ecimgbor&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"class=\"pack-prb hidden\">&&", +"搜索后缀":"/detail/", +"播放数组":"class=\"content_playlist&&", +"导演":"导演:&&

    ", +"主演":"演员:&&

    ", +"简介":"&&", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", + +"分类":"电影$1#剧集$2#综艺$3#动漫$4#记录$21", +"分类url":"https://www.sstv.pw/vodshow-{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/letter/{letter}/state/{state}/page/{catePg}/year/{year}/", +"筛选":{ +"1":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作","v":"动作"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"科幻","v":"科幻"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"魔幻","v":"魔幻"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"灾难","v":"灾难"}, +{"n":"冒险","v":"冒险"}, +{"n":"同性","v":"同性"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"粤语","v":"粤语"}, +{"n":"日语","v":"日语"}, +{"n":"韩语","v":"韩语"}, +{"n":"英语","v":"英语"}, +{"n":"法语","v":"法语"}, +{"n":"泰语","v":"泰语"}, +{"n":"德语","v":"德语"}, +{"n":"俄语","v":"俄语"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"青春","v":"青春"}, +{"n":"偶像","v":"偶像"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"同性","v":"同性"}, +{"n":"惊悚","v":"惊悚"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"粤语","v":"粤语"}, +{"n":"日语","v":"日语"}, +{"n":"韩语","v":"韩语"}, +{"n":"英语","v":"英语"}, +{"n":"法语","v":"法语"}, +{"n":"泰语","v":"泰语"}, +{"n":"德语","v":"德语"}, +{"n":"俄语","v":"俄语"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"搞笑","v":"搞笑"}, +{"n":"晚会","v":"晚会"}, +{"n":"音乐","v":"音乐"}, +{"n":"游戏","v":"游戏"}, +{"n":"八卦","v":"八卦"}, +{"n":"生活","v":"生活"}, +{"n":"真人秀","v":"真人秀"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"粤语","v":"粤语"}, +{"n":"日语","v":"日语"}, +{"n":"韩语","v":"韩语"}, +{"n":"英语","v":"英语"}, +{"n":"法语","v":"法语"}, +{"n":"泰语","v":"泰语"}, +{"n":"德语","v":"德语"}, +{"n":"俄语","v":"俄语"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"番剧","v":"番剧"}, +{"n":"侦探","v":"侦探"}, +{"n":"热血","v":"热血"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"同性","v":"同性"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"恋爱","v":"恋爱"}, +{"n":"古风","v":"古风"}, +{"n":"武侠","v":"武侠"}, +{"n":"动态漫画","v":"动态漫画"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"粤语","v":"粤语"}, +{"n":"日语","v":"日语"}, +{"n":"韩语","v":"韩语"}, +{"n":"英语","v":"英语"}, +{"n":"法语","v":"法语"}, +{"n":"泰语","v":"泰语"}, +{"n":"德语","v":"德语"}, +{"n":"俄语","v":"俄语"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"21":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"粤语","v":"粤语"}, +{"n":"日语","v":"日语"}, +{"n":"韩语","v":"韩语"}, +{"n":"英语","v":"英语"}, +{"n":"法语","v":"法语"}, +{"n":"泰语","v":"泰语"}, +{"n":"德语","v":"德语"}, +{"n":"俄语","v":"俄语"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/酷客.json b/xBPQ/酷客.json new file mode 100644 index 0000000..cc597b0 --- /dev/null +++ b/xBPQ/酷客.json @@ -0,0 +1,13 @@ +{ + "免嗅": "0", + "副标题": "class=\"pic-text text-right\">&&", + "导演": "导演:&&", + "播放标": ">&&<", + "播放数组": "class=\"stui-content__playlist clearfix&&", + "分类": "电视剧$2#动漫$4#电影$1#综艺$3", + "分类url": "http://www.2kuke.com/list/{cateId}_{catePg}.html", + "年份": "2000-2022", + "筛选": "0" +} diff --git a/xBPQ/酷客影视(xBPQ).json b/xBPQ/酷客影视(xBPQ).json new file mode 100644 index 0000000..197a24b --- /dev/null +++ b/xBPQ/酷客影视(xBPQ).json @@ -0,0 +1,13 @@ +{ + "免嗅": "0", + "副标题": "class=\"pic-text text-right\">&&", + "导演": "导演:&&", + "播放标": ">&&<", + "播放数组": "class=\"stui-content__playlist clearfix&&", + "分类": "电视剧$2#动漫$4#电影$1#综艺$3", + "分类url": "http://www.2kuke.com/list/{cateId}_{catePg}.html", + "年份": "2000-2022", + "筛选": "0" +} \ No newline at end of file diff --git a/xBPQ/酷客影视.json b/xBPQ/酷客影视.json new file mode 100644 index 0000000..197a24b --- /dev/null +++ b/xBPQ/酷客影视.json @@ -0,0 +1,13 @@ +{ + "免嗅": "0", + "副标题": "class=\"pic-text text-right\">&&", + "导演": "导演:&&", + "播放标": ">&&<", + "播放数组": "class=\"stui-content__playlist clearfix&&", + "分类": "电视剧$2#动漫$4#电影$1#综艺$3", + "分类url": "http://www.2kuke.com/list/{cateId}_{catePg}.html", + "年份": "2000-2022", + "筛选": "0" +} \ No newline at end of file diff --git a/xBPQ/酷客影院(xBPQ).json b/xBPQ/酷客影院(xBPQ).json new file mode 100644 index 0000000..0d40d2c --- /dev/null +++ b/xBPQ/酷客影院(xBPQ).json @@ -0,0 +1,11 @@ + { +"免嗅": "0", + "副标题": "class=\"pic-text text-right\">&&", +"导演": "导演:&&", + "播放标": ">&&<", + "播放数组": "class=\"stui-content__playlist clearfix&&", +"分类": "电视剧$2#动漫$4#电影$1#综艺$3", +"分类url": "http://www.2kuke.com/list/{cateId}_{catePg}.html", +"年份": "2000-2022", +"筛选": "0" + } \ No newline at end of file diff --git a/xBPQ/野荷塘源.json b/xBPQ/野荷塘源.json new file mode 100644 index 0000000..8f1235a --- /dev/null +++ b/xBPQ/野荷塘源.json @@ -0,0 +1,11 @@ +{ + "免嗅": "0", + "嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#.mp4#item/video#is_play_url=1", + "副标题": "vod_remarks*>&&<", + "播放数组": "mdui-panel-item-body&&", +"播放标题":"span>&&<", +"副标题":"class=\"module-item-note\">&&", +"线路数组": "class=\"module-tab-item tab-item&&", +"线路标题": "&&", +"播放数组":"class=\"module-play-list&&", +"分类url":"https://cokemv.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html" +} + diff --git a/xBPQ/靠克影视.json b/xBPQ/靠克影视.json new file mode 100644 index 0000000..d748f40 --- /dev/null +++ b/xBPQ/靠克影视.json @@ -0,0 +1,13 @@ +{ +"免嗅":"1", +"导演": "导演:&&", +"播放标题":"span>&&<", +"副标题":"class=\"module-item-note\">&&", +"线路数组": "class=\"module-tab-item tab-item&&", +"线路标题": "&&", +"播放数组":"class=\"module-play-list&&", +"分类url":"https://cokemv.me/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html" +} + diff --git a/xBPQ/饭团(xBPQ).json b/xBPQ/饭团(xBPQ).json new file mode 100644 index 0000000..50faa56 --- /dev/null +++ b/xBPQ/饭团(xBPQ).json @@ -0,0 +1,110 @@ + +{ //饭团影视 +"免嗅":"1", +"播放数组":"class=\"stui-play__list clearfix&&", +"分类url":"https://www.fantuanhd.com/type/id-{cateId}/page/{catePg}.html", + + + +//"线路数组": "class=\"tab-top play-tab&&", +//"线路标题": "

    &&

    ", +//"播放数组":"class=\"stui-play__list&&/ul>", +/* +"线路数组": "&&", +"线路标题": "

    &&

    ", +"播放数组": "class=\"stui-content__playlist clearfix&&", +"列表二次截取": "", +"播放列表": "", +"播放标题": ">&&<", +"播放链接": "href=\"&&\"", +"播放链接前缀": "https://www.fantuanhd.com", +"免嗅": "1", +"嗅探词":".m3u8", +"过滤词":"", +"播放请求头": "",*/ + +"分类":"电影$20#电视剧$21#综艺$22#动漫$23#纪录片$24#动画片$25", + +"状态":"类型:&&

    ", +"导演": "导演:&&

    ", +"主演": "主演:&&

    ", +"简介": "style=\"display: none;\">&&", +"标题": "title=\"&&\"", +"副标题": "class=\"pic-text text-right\">&&
    ", +/* +"搜索url": "https://www.fantuanhd.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=500", +"搜索模式": "", +"搜索二次截取": "", +"搜索数组": "{\"i&&}", +"搜索图片": "pic\":\"&&\"", +"搜索标题": "name\":\"&&\"", +"搜索副标题": "", +"搜索链接": "d\":&&,", +"搜索链接前缀": "https://www.fantuanhd.com/detail/id-", +"分类二次截取": "
      &&rel=", +*/ +"分类数组": "
    • &&
    • ", +"分类标题": ">&&", +"分类ID": "href=\"&&.html" +} + +/* +{ +"站名": "饭团影视", +"主页url": "https://www.fantuanhd.com", +"请求头": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", + +"热门推荐": "1", +"起始页": "1", +"直接播放": "0", +"倒序播放": "0", +"图片代理": "0", +"二次截取": "", +"数组": "data-&&

    ", +"图片": "original=\"&&\"", +"标题": "title=\"&&\"", +"副标题": "class=\"pic-text text-right\">&&", +"链接": "href=\"&&\"", +"链接前缀": "https://www.fantuanhd.com", + +"线路二次截取": "", +"线路数组": "&&", +"线路标题": "

    &&

    ", + +"状态":"类型:&&

    ", +"导演": "导演:&&

    ", +"主演": "主演:&&

    ", +"简介": "style=\"display: none;\">&&
    ", + +"播放二次截取": "", +"播放数组": "class=\"stui-content__playlist clearfix&&", +"列表二次截取": "", +"播放列表": "", +"播放标题": ">&&<", +"播放链接": "href=\"&&\"", +"播放链接前缀": "https://www.fantuanhd.com", +"免嗅": "1", +"嗅探词":".m3u8", +"过滤词":"", +"播放请求头": "", + + +"搜索url": "https://www.fantuanhd.com/index.php/ajax/suggest?mid=1&wd={wd}&limit=500", +"搜索模式": "", +"搜索二次截取": "", +"搜索数组": "{\"i&&}", +"搜索图片": "pic\":\"&&\"", +"搜索标题": "name\":\"&&\"", +"搜索副标题": "", +"搜索链接": "d\":&&,", +"搜索链接前缀": "https://www.fantuanhd.com/detail/id-", + +"分类url": "https://www.fantuanhd.com{cateId}-{catePg}.html", + +"分类": "", +"分类二次截取": "", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"搜索url":"/search/page/{pg}/wd/{wd}.html", +"搜索模式":"1", +"搜索数组":"", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"&&", +"免嗅":"1", +"分类":"电影$20#电视剧$21#综艺$22#动漫$23#记录片$24#动画片$25", +"分类url":"https://www.fantuanhd.com/show/id-{cateId}/area/{area}/by/{by}/class/{class}/lang/{lang}/page/{catePg}/year/{year}.html", +"筛选":{ +"20":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"灾难","v":"灾难"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"冒险","v":"冒险"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2008","v":"2008"}, +{"n":"2000","v":"2000"}, +{"n":"1997","v":"1997"}, +{"n":"1980","v":"1980"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"21":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"偶像","v":"偶像"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"网剧","v":"网剧"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2008","v":"2008"}, +{"n":"2000","v":"2000"}, +{"n":"1997","v":"1997"}, +{"n":"1980","v":"1980"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"22":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"相声","v":"相声"}, +{"n":"真人秀","v":"真人秀"}, +{"n":"脱口秀","v":"脱口秀"}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"舞蹈","v":"舞蹈"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2008","v":"2008"}, +{"n":"2000","v":"2000"}, +{"n":"1997","v":"1997"}, +{"n":"1980","v":"1980"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"23":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2008","v":"2008"}, +{"n":"2000","v":"2000"}, +{"n":"1997","v":"1997"}, +{"n":"1980","v":"1980"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"24":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"历史","v":"历史"}, +{"n":"传记","v":"传记"}, +{"n":"生活","v":"生活"}, +{"n":"人文","v":"人文"}, +{"n":"地理","v":"地理"}, +{"n":"舞台","v":"舞台"}, +{"n":"专题","v":"专题"}, +{"n":"时事","v":"时事"}, +{"n":"宣传","v":"宣传"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2008","v":"2008"}, +{"n":"2000","v":"2000"}, +{"n":"1997","v":"1997"}, +{"n":"1980","v":"1980"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +25":[ +{ +"key":"class", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"普通话","v":"普通话"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2008","v":"2008"}, +{"n":"2000","v":"2000"}, +{"n":"1997","v":"1997"}, +{"n":"1980","v":"1980"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/饭团影院.json b/xBPQ/饭团影院.json new file mode 100644 index 0000000..60dec39 --- /dev/null +++ b/xBPQ/饭团影院.json @@ -0,0 +1,242 @@ +//改为"搜索模式":"1",{去掉"搜索url"和"搜索后缀"(显示"搜索副标题")不支持快速搜索}。 +{ +"作者":"张弘", +"站名":"饭团影院", +"主页url":"http://www.fantuantva.com/", +"数组":"
      &&
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"

    &&

    ", +"线路数组":"
  • ", +"线路标题":">&&", +"搜索url":"/vodsearch/{wd}----------{pg}---.html", +"搜索模式":"0", +"搜索数组":"
      &&
    ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"

    &&

    ", +"搜索后缀":"/v/", +"播放数组":"class=\"con_c2_list\">&&", +"影片年代":"年份:&&", +"影片地区":"地区:&&", +"影片类型":"类型:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"
      &&
    ", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类url":"https://www.fantuantva.com/s/{cateId}/area/{area}/by/{by}/letter/{letter}/page/{catePg}/year/{year}.html", +"分类":"电影$dianying#电视剧$lianxuju#综艺$zongyi#动漫$dongman", +"筛选":{ +"dianying":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"dongzuopian"}, +{"n":"喜剧片","v":"xijupian"}, +{"n":"爱情片","v":"aiqingpian"}, +{"n":"科幻片","v":"kehuanpian"}, +{"n":"恐怖片","v":"kongbupian"}, +{"n":"剧情片","v":"juqingpian"}, +{"n":"战争片","v":"zhanzhengpian"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"lianxuju":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"国产剧","v":"guochanju"}, +{"n":"港台剧","v":"gangtaiju"}, +{"n":"日韩剧","v":"rihanju"}, +{"n":"欧美剧","v":"oumeiju"}, +{"n":"其他剧","v":"qitaju"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"zongyi":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"dongman":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/香蕉AV解说.json b/xBPQ/香蕉AV解说.json new file mode 100644 index 0000000..eb29a60 --- /dev/null +++ b/xBPQ/香蕉AV解说.json @@ -0,0 +1,26 @@ +{ +"站名":"香蕉AV解说", +"主页url":"https://avjj.vip/avjs/", +"头部集合":"空", +"热门推荐":"1", +"直接播放":"1", +"分类":"水果πAV解说$sgp-AVJS", +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"/avjs/s&&.html\"", +"链接前缀":"https://avjj.vip/avjs/Splay", +"链接后缀": "-1-1.html", +"线路数组":"button-rounded&&/a>", +"线路标题":">&&<", +"搜索数组":"
    ", +"搜索图片": "data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接": "href=\"/avjs/s&&.html\"", +"搜索模式": "1", +"搜索url":"https://avjj.vip/avjs/vod/search/page/{catePg}/wd/{wd}.html", +"搜索链接前缀":"https://avjj.vip/avjs/Splay", +"搜索链接后缀":"-1-1.html", +"分类url":"https://avjj.vip/avjs/{cateId}-{catePg}.html", +"免嗅": "0" +} \ No newline at end of file diff --git a/xBPQ/香蕉久久热.json b/xBPQ/香蕉久久热.json new file mode 100644 index 0000000..6a2a486 --- /dev/null +++ b/xBPQ/香蕉久久热.json @@ -0,0 +1,27 @@ +{ +"站名":"香蕉久久热", +"主页url":"https://avjj.vip/99re/", +"头部集合":"空", +"热门推荐":"1", +"直接播放":"1", +"图片代理":"1", +"分类":"国产自拍$kdw-guochanzipai#欧美$kdw-oumei#中文字幕$kdw-zhongwenzimu#李宗瑞全集$kdw-lizongruiquanji#日本无码$kdw-ribenwuma#加勒比$kdw-jialebi#日本有码$kdw-ribenyouma#一本道$kdw-yibendao#高清$kdw-gaoqing#潮吹$kdw-chaochui#会员认证作品$kdw-jiujiurehuiyuanrenzhengzuopin#制服丝袜$kdw-zhifusiwa#口爆颜射$kdw-koubaoyanshe#肛交$kdw-gangjiao#东京热$kdw-dongjingre#$小格式综合kdw-xiaogeshizonghe#女主播系列$kdw-hanguonvzhuboxilie#成人动漫$kdw-chengrendongman#SM性虐$kdw-SMxingnue#韩国综合$kdw-hanguozonghe", +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"/99re/d&&.html\"", +"链接前缀":"https://avjj.vip/99re/dplay", +"链接后缀": "-1-1.html", +"线路数组":"button-rounded&&/a>", +"线路标题":">&&<", +"搜索数组":"
    ", +"搜索图片": "data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接": "href=\"/99re/d&&.html\"", +"搜索模式": "1", +"搜索url":"https://avjj.vip/99re/vod/search/wd/{wd}.html", +"搜索链接前缀":"https://avjj.vip/99re/dplay", +"搜索链接后缀":"-1-1.html", +"分类url":"https://avjj.vip/99re/{cateId}-{catePg}.html", +"免嗅": "0" +} \ No newline at end of file diff --git a/xBPQ/香蕉国产传媒.json b/xBPQ/香蕉国产传媒.json new file mode 100644 index 0000000..a9e7f5c --- /dev/null +++ b/xBPQ/香蕉国产传媒.json @@ -0,0 +1,26 @@ +{ +"站名":"香蕉国产传媒", +"主页url":"https://avjj.vip//gccm/", +"头部集合":"空", +"热门推荐":"1", +"直接播放":"1", +"分类":"麻豆原创$91-madouyuanchuang#91制片厂$91-91zhipianchang#糖心Vlgo$91-tangxinVlgo#天美传媒$91-tianmeichuanmei#蜜桃传媒$91-mitaochuanmei#皇家华人$91-huangjiahuaren#星空传媒$91-xingkongchuanmei#精东影业$91-jingdongyingye#乐播传媒$91-lebochuanmei#乌鸦传媒$91-wuyachuanmei#兔子先生$91-tuzixiansheng#杏吧原创$91-xingbayuanchuang#MINI传媒$91-minichuanmei#大象传媒$91-daxiangchuanmei#开心鬼传媒$91-kaixinguichuanmei#PsychoPorn$91-PsychoPorn", +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"/gccm/p-&&.html\"", +"链接前缀":"https://avjj.vip//gccm/pplay-", +"链接后缀": "-1-1.html", +"线路数组":"button-rounded&&/a>", +"线路标题":">&&<", +"搜索数组":"
    ", +"搜索图片": "data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接": "href=\"/gccm/p-&&.html\"", +"搜索链接前缀":"https://avjj.vip//gccm/pplay-", +"搜索链接后缀":"-1-1.html", +"搜索模式": "1", +"搜索url":"https://avjj.vip/gccm/vod/search/wd/{wd}.html", +"分类url":"https://avjj.vip//gccm/{cateId}-{catePg}.html", +"免嗅": "0" +} \ No newline at end of file diff --git a/xBPQ/香蕉废柴网.json b/xBPQ/香蕉废柴网.json new file mode 100644 index 0000000..cc87c22 --- /dev/null +++ b/xBPQ/香蕉废柴网.json @@ -0,0 +1,27 @@ +{ +"站名":"香蕉废柴网", +"主页url":"https://avjj.vip/fcw/", +"头部集合":"空", +"热门推荐":"1", +"直接播放":"1", +"图片代理":"0", +"分类":"VIP专区$ff-VIPzhuanqu#偷拍自拍$ff-toupaixilie#国产自拍$ff-guochanzipai#日本有码$ff-ribenyouma#日本无码$ff-ribenwuma#成人动漫$ff-chengrendongman#韩国综合$ff-hanguozonghe#VR专区$ff-VRzhuanqu#欧美$ff-oumei", +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"/fcw/f&&.html\"", +"链接前缀":"https://avjj.vip/fcw/fplay", +"链接后缀":"-1-1.html", +"线路数组":"button-rounded&&/a>", +"线路标题":">&&<", +"搜索数组":"
    ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接": "href=\"/fcw/f&&.html\"", +"搜索模式":"1", +"搜索url":"https://avjj.vip/fcw/vod/search/wd/{wd}.html", +"搜索链接前缀":"https://avjj.vip/fcw/fplay", +"搜索链接后缀":"-1-1.html", +"分类url":"https://avjj.vip/fcw/{cateId}-{catePg}.html", +"免嗅":"0" +} \ No newline at end of file diff --git a/xBPQ/香蕉直播.json b/xBPQ/香蕉直播.json new file mode 100644 index 0000000..a27e5da --- /dev/null +++ b/xBPQ/香蕉直播.json @@ -0,0 +1,89 @@ +{ +"站名":"香蕉直播", +"主页url":"https://avjj.vip/zb/", +"头部集合":"空", +"热门推荐":"1", +"直接播放":"1", +"分类":"亚洲直播$yzzb/zb/gwzb#欧美直播$yzzb/zb/omzb#新香蕉直播$xxj", +"数组":"", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"副标题":"
    &&
    ", +"链接":"href=\"/zb/&&.html\"", +"链接前缀":"https://avjj.vip/zb/", +"链接后缀":".html", +"分类url":"https://avjj.vip/zb/?ju={cateId}/zb/{class}.html", +"免嗅": "0", +"筛选":{ +"xxj":[ +{ +"key":"class", +"name":"", +"value":[ +{"n":"卡哇伊直播","v":"kwy"}, +{"n":"咪狐直播","v":"mh"}, +{"n":"蜜桃直播","v":"mt"}, +{"n":"小妲己直播","v":"xdj"}, +{"n":"LOVE直播","v":"love"}, +{"n":"番茄直播","v":"fq"}, +{"n":"七七直播","v":"qq"}, +{"n":"依依直播","v":"yy"}, +{"n":"日出直播","v":"rc"}, +{"n":"彩虹直播","v":"ch"}, +{"n":"久久直播","v":"jj"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"亚米直播","v":"ym"}, +{"n":"恋蝶直播","v":"ld"}, +{"n":"夜妖姬直播","v":"yyj"}, +{"n":"套路直播","v":"tl"}, +{"n":"樱花直播","v":"yh"}, +{"n":"享色直播","v":"xs"}, +{"n":"红浪漫直播","v":"hlm"}, +{"n":"金鱼直播","v":"jy"}, +{"n":"桃花直播","v":"th"}, +{"n":"花房直播","v":"hf"}, +{"n":"小仙女直播","v":"xxn"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"视觉秀直播","v":"sjx"}, +{"n":"小天使直播","v":"xts"}, +{"n":"彩云直播","v":"cy"}, +{"n":"咪咪直播","v":"mm"}, +{"n":"娇媚直播","v":"jm"}, +{"n":"黄瓜直播","v":"hg"}, +{"n":"色趣直播","v":"sq"}, +{"n":"糯米直播","v":"nm"}, +{"n":"小蜜蜂直播","v":"xmf"}, +{"n":"小红帽直播","v":"xhm"}, +{"n":"桃花运直播","v":"thy"} +] +}, +{ +"key":"class", +"name":"", +"value":[ +{"n":"苦瓜直播","v":"kg"}, +{"n":"爱爱你直播","v":"aan"}, +{"n":"樱花雨直播","v":"yh"}, +{"n":"盘他直播","v":"pt"}, +{"n":"夜色直播","v":"ys"}, +{"n":"蝴蝶直播","v":"hd"}, +{"n":"小天仙直播","v":"xtx"}, +{"n":"杏趣直播","v":"xq"}, +{"n":"小坏蛋直播","v":"xhd"}, +{"n":"飘雪直播","v":"px"} +] +} +] +} +} + diff --git a/xBPQ/香蕉视频.json b/xBPQ/香蕉视频.json new file mode 100644 index 0000000..e1bd36e --- /dev/null +++ b/xBPQ/香蕉视频.json @@ -0,0 +1,28 @@ +{ +"直接播放":"1", +"站名":"香蕉视频", +"主页url":"https://xx8888.cc/", +"数组":"class=\"module-item\">&&
    ", +"图片":"data-src=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"线路数组":"
    ", +"线路标题":"&&", +"搜索url":"https://xx8888.cc/index.php/vod/search.html?wd={wd}", +"搜索模式":"1", +"搜索数组":"
  • &&
  • ", +"搜索图片":"data-src=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索后缀":"/index.php/vod/play/id/", +"搜索链接前缀":"https://xx8888.cc", +"搜索链接后缀":"/sid/1/nid/1.html", +"影片类型":"
    ", +"导演":"导演:&&
    ", +"主演":"主演:&&", +"简介":"剧情:&&", +"免嗅":"1", + +"分类":"人妻熟女$1#偷拍自拍$2#港韩情色$3#丝袜制服$4#清纯少女$5#辣妹大奶$34#女同专属$35#素人出演$36#角色扮演$37#成人动漫$38#变态另类$39", +"分类url":"https://xx8888.cc/index.php/vod/type/id/{cateId}/page/{catePg}.html" +} \ No newline at end of file diff --git a/xBPQ/香蕉资源.json b/xBPQ/香蕉资源.json new file mode 100644 index 0000000..36e8fdc --- /dev/null +++ b/xBPQ/香蕉资源.json @@ -0,0 +1,27 @@ +{ +"站名":"香蕉资源", +"主页url":"https://avjj.vip/xjzy/", +"头部集合":"空", +"热门推荐":"1", +"直接播放":"1", +"分类":"中文无码$cn-zhongwenwuma#中文综合$cn-zhongwenzonghe#中文近亲$cn-zhongwenjingqing#中文护士$cn-zhongwenhushi#中文师生$cn-zhongwenshisheng#中文强奸$cn-zhongwenqiangjian#国产自拍$cn-guochanzipai#美女主播$cn-meinvzhubo#三级伦理$cn-sanjizonghe", + +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"/xjzy/c&&.html\"", +"链接前缀":"https://avjj.vip/xjzy/xplay", +"链接后缀": "-1-1.html", +"线路数组":"button-rounded&&/a>", +"线路标题":">&&<", +"搜索数组":"
    ", +"搜索图片": "data-original=\"&&\"", +"搜索标题": "title=\"&&\"", +"搜索链接": "href=\"/xjzy/c&&.html\"", +"搜索模式": "1", +"搜索url":"https://avjj.vip/xjzy/vod/search/page/{catePg}/wd/{wd}.html", +"搜索链接前缀":"https://avjj.vip/xjzy/xplay", +"搜索链接后缀":"-1-1.html", +"分类url":"https://avjj.vip/xjzy/{cateId}-{catePg}.html", +"免嗅": "0" +} \ No newline at end of file diff --git a/xBPQ/香蕉资源搜索.json b/xBPQ/香蕉资源搜索.json new file mode 100644 index 0000000..0071ebf --- /dev/null +++ b/xBPQ/香蕉资源搜索.json @@ -0,0 +1,339 @@ +{ +"站名":"香蕉资源搜索", +"主页url":"https://avjj.vip/xjzy/", +"头部集合":"空", +"热门推荐":"1", +"直接播放":"1", +"分类":"麻豆女优一区$1#麻豆女优二区$2#麻豆女优三区$3#麻豆女优四区$4", +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"/xjzy/c&&.html\"", +"链接前缀":"https://avjj.vip/xjzy/xplay", +"链接后缀": "-1-1.html", +"线路数组":"button-rounded&&/a>", +"线路标题":">&&<", +"搜索数组":"
    ", +"搜索图片": "data-original=\"&&\"", +"搜索标题": "title=\"&&\"", +"搜索链接": "href=\"/xjzy/c&&.html\"", +"搜索模式": "0", +"搜索url":"https://avjj.vip/xjzy/vod/search/page/{catePg}/wd/{wd}.html", +"搜索链接前缀":"https://avjj.vip/xjzy/xplay", +"搜索链接后缀":"-1-1.html", +"分类url":"https://avjj.vip/xjzy/vod/search/page/{catePg}/wd/{wd}.html", +"免嗅": "0", +"筛选":{ +"1":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"沈娜娜","v":"沈娜娜"}, +{"n":"夏晴子","v":"夏晴子"}, +{"n":"吴梦梦","v":"吴梦梦"}, +{"n":"孟若羽","v":"孟若羽"}, +{"n":"艾秋","v":"艾秋"}, +{"n":"林思妤","v":"林思妤"}, +{"n":"凌薇","v":"凌薇"}, +{"n":"斑斑","v":"斑斑"}, +{"n":"秦可欣","v":"秦可欣"}, +{"n":"苏语棠","v":"苏语棠"}, +{"n":"韩棠","v":"韩棠"}, +{"n":"苏清歌","v":"苏清歌"}, +{"n":"金宝娜","v":"金宝娜"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"蜜苏","v":"蜜苏"}, +{"n":"季妍希","v":"季妍希"}, +{"n":"雪千夏","v":"雪千夏"}, +{"n":"李蓉蓉","v":"李蓉蓉"}, +{"n":"唐茜","v":"唐茜"}, +{"n":"管明美","v":"管明美"}, +{"n":"徐蕾","v":"徐蕾"}, +{"n":"仙儿媛","v":"仙儿媛"}, +{"n":"寻小小","v":"寻小小"}, +{"n":"张芸熙","v":"张芸熙"}, +{"n":"夜夜","v":"夜夜"}, +{"n":"雷梦娜","v":"雷梦娜"}, +{"n":"尤莉","v":"尤莉"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"吴芳宜","v":"吴芳宜"}, +{"n":"苏娅","v":"苏娅"}, +{"n":"玥可岚","v":"玥可岚"}, +{"n":"白沛瑶","v":"白沛瑶"}, +{"n":"袁子仪","v":"袁子仪"}, +{"n":"艾玛","v":"艾玛"}, +{"n":"林沁儿","v":"林沁儿"}, +{"n":"粉色情人","v":"粉色情人"}, +{"n":"顾桃桃","v":"顾桃桃"}, +{"n":"林芊彤","v":"林芊彤"}, +{"n":"白靖寒","v":"白靖寒"}, +{"n":"香菱","v":"香菱"}, +{"n":"乐奈子","v":"乐奈子"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"林凤娇","v":"林凤娇"}, +{"n":"明日香","v":"明日香"}, +{"n":"楚梦舒","v":"楚梦舒"}, +{"n":"舒可芯","v":"舒可芯"}, +{"n":"梁芸菲","v":"梁芸菲"}, +{"n":"宋南伊","v":"宋南伊"}, +{"n":"玖玖","v":"玖玖"}, +{"n":"乔安","v":"乔安"}, +{"n":"倪哇哇","v":"倪哇哇"}, +{"n":"赵一曼","v":"赵一曼"}, +{"n":"雪霏","v":"雪霏"}, +{"n":"郭童童","v":"郭童童"}, +{"n":"绫波丽","v":"绫波丽"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"潘雨曦","v":"潘雨曦"}, +{"n":"南芊允","v":"南芊允"}, +{"n":"岚湘庭","v":"岚湘庭"}, +{"n":"沈芯语","v":"沈芯语"}, +{"n":"莉娜","v":"莉娜"}, +{"n":"董小宛","v":"董小宛"}, +{"n":"苏艾文","v":"苏艾文"}, +{"n":"陈可心","v":"陈可心"}, +{"n":"樱井美里","v":"樱井美里"}, +{"n":"周甯","v":"周甯"}, +{"n":"李文雯","v":"李文雯"}, +{"n":"何苗","v":"何苗"}, +{"n":"白若冰","v":"白若冰"} +] +} +], +"2":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"凌波丽","v":"凌波丽"}, +{"n":"徐夜夜","v":"徐夜夜"}, +{"n":"李允熙","v":"李允熙"}, +{"n":"唐雨菲","v":"唐雨菲"}, +{"n":"王以欣","v":"王以欣"}, +{"n":"罗瑾萱","v":"罗瑾萱"}, +{"n":"宁洋子","v":"宁洋子"}, +{"n":"白晶晶","v":"白晶晶"}, +{"n":"宁静","v":"宁静"}, +{"n":"欧妮","v":"欧妮"}, +{"n":"娃娃","v":"娃娃"}, +{"n":"吴心语","v":"吴心语"}, +{"n":"李慕","v":"李慕"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"李娜娜","v":"李娜娜"}, +{"n":"吉吉","v":"吉吉"}, +{"n":"不见星空","v":"不见星空"}, +{"n":"许木学长","v":"许木学长"}, +{"n":"丝丝","v":"丝丝"}, +{"n":"苏小小","v":"苏小小"}, +{"n":"李琼","v":"李琼"}, +{"n":"文冰冰","v":"文冰冰"}, +{"n":"白星雨","v":"白星雨"}, +{"n":"张欣妍","v":"张欣妍"}, +{"n":"唐霏","v":"唐霏"}, +{"n":"茉莉","v":"茉莉"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"米娅","v":"米娅"}, +{"n":"羽芮","v":"羽芮"}, +{"n":"安娜","v":"安娜"}, +{"n":"聂小倩","v":"聂小倩"}, +{"n":"陈圆圆","v":"陈圆圆"}, +{"n":"沙美辰","v":"沙美辰"}, +{"n":"林妙可","v":"林妙可"}, +{"n":"韩宝儿","v":"韩宝儿"}, +{"n":"李娜","v":"李娜"}, +{"n":"乐淆雪","v":"乐淆雪"}, +{"n":"钟宛冰","v":"钟宛冰"}, +{"n":"林怡梦","v":"林怡梦"}, +{"n":"翁雨澄","v":"翁雨澄"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"真希波","v":"真希波"}, +{"n":"王玥","v":"王玥"}, +{"n":"项子甯","v":"项子甯"}, +{"n":"夏禹熙","v":"夏禹熙"}, +{"n":"林洋","v":"林洋"}, +{"n":"清洛","v":"清洛"}, +{"n":"乐乐","v":"乐乐"}, +{"n":"依涵","v":"依涵"}, +{"n":"糖糖","v":"糖糖"}, +{"n":"苏畅","v":"苏畅"}, +{"n":"瑶贝","v":"瑶贝"}, +{"n":"小夜夜","v":"小夜夜"}, +{"n":"张雅婷","v":"张雅婷"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"杨思敏","v":"杨思敏"}, +{"n":"李曼妮","v":"李曼妮"}, +{"n":"杨柳","v":"杨柳"}, +{"n":"戚小怜","v":"戚小怜"}, +{"n":"苡若","v":"苡若"}, +{"n":"童汐","v":"童汐"}, +{"n":"谢语彤","v":"谢语彤"}, +{"n":"王筱璐","v":"王筱璐"}, +{"n":"卢珊珊","v":"卢珊珊"}, +{"n":"程诗诗","v":"程诗诗"}, +{"n":"悠悠","v":"悠悠"}, +{"n":"白允儿","v":"白允儿"}, +{"n":"肖云","v":"肖云"} +] +} +], +"3":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"岚玥","v":"岚玥"}, +{"n":"高梨遥香","v":"高梨遥香"}, +{"n":"熙熙","v":"熙熙"}, +{"n":"黎娜","v":"黎娜"}, +{"n":"林曼芸","v":"林曼芸"}, +{"n":"欣欣","v":"欣欣"}, +{"n":"琳达","v":"琳达"}, +{"n":"林嫣","v":"林嫣"}, +{"n":"张宇芯","v":"张宇芯"}, +{"n":"桥本爱菜","v":"桥本爱菜"}, +{"n":"晴天","v":"晴天"}, +{"n":"温芮欣","v":"温芮欣"}, +{"n":"柚子猫","v":"柚子猫"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"吴茜茜","v":"吴茜茜"}, +{"n":"杜冰若","v":"杜冰若"}, +{"n":"杜鹃","v":"杜鹃"}, +{"n":"玛丽莲","v":"玛丽莲"}, +{"n":"胡蓉蓉","v":"胡蓉蓉"}, +{"n":"美樱","v":"美樱"}, +{"n":"万静雪","v":"万静雪"}, +{"n":"许诺","v":"许诺"}, +{"n":"虞姬","v":"虞姬"}, +{"n":"白熙雨","v":"白熙雨"}, +{"n":"萧悦儿","v":"萧悦儿"}, +{"n":"林晓雪","v":"林晓雪"}, +{"n":"苡琍","v":"苡琍"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"蔷薇","v":"蔷薇"}, +{"n":"米亚","v":"米亚"}, +{"n":"兰心洁","v":"兰心洁"}, +{"n":"小影","v":"小影"}, +{"n":"Aida","v":"Aida"}, +{"n":"赖畇希","v":"赖畇希"}, +{"n":"小桃","v":"小桃"}, +{"n":"cola醬","v":"cola醬"}, +{"n":"绯丽","v":"绯丽"}, +{"n":"白思吟","v":"白思吟"}, +{"n":"藤田美绪","v":"藤田美绪"}, +{"n":"娜娜","v":"娜娜"}, +{"n":"静静","v":"静静"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"黄雪纯","v":"黄雪纯"}, +{"n":"赵雅琳","v":"赵雅琳"}, +{"n":"伊琬琳","v":"伊琬琳"}, +{"n":"琪琪","v":"琪琪"}, +{"n":"兮兮","v":"兮兮"}, +{"n":"陈美惠","v":"陈美惠"}, +{"n":"金巧巧","v":"金巧巧"}, +{"n":"苏然","v":"苏然"}, +{"n":"陈美琳","v":"陈美琳"}, +{"n":"陆思涵","v":"陆思涵"}, +{"n":"顾小北","v":"顾小北"}, +{"n":"陶子","v":"陶子"}, +{"n":"七濑恋","v":"七濑恋"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"陈小雨","v":"陈小雨"}, +{"n":"董欣","v":"董欣"}, +{"n":"吴恺彤","v":"吴恺彤"}, +{"n":"羽熙","v":"羽熙"}, +{"n":"清沐","v":"清沐"}, +{"n":"林襄","v":"林襄"}, +{"n":"冬月结衣","v":"冬月结衣"}, +{"n":"维里娜","v":"维里娜"}, +{"n":"兔小白","v":"兔小白"}, +{"n":"神谷怜","v":"神谷怜"}, +{"n":"叶子红","v":"叶子红"}, +{"n":"小捷","v":"小捷"}, +{"n":"美凉子","v":"美凉子"} +] +} +], +"4":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"NANA","v":"NANA"}, +{"n":"吳芳宜","v":"吳芳宜"}, +{"n":"菲菲","v":"菲菲"}, +{"n":"樱桃","v":"樱桃"}, +{"n":"吴凯彤","v":"吴凯彤"}, +{"n":"橙子","v":"橙子"}, +{"n":"王茜","v":"王茜"}, +{"n":"李慕儿","v":"李慕儿"}, +{"n":"叶一涵","v":"叶一涵"}, +{"n":"赵佳美","v":"赵佳美"}, +{"n":"千鹤","v":"千鹤"}, +{"n":"雪见","v":"雪见"}, +{"n":"董小婉","v":"董小婉"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/香蕉超清资源.json b/xBPQ/香蕉超清资源.json new file mode 100644 index 0000000..fbfd5d3 --- /dev/null +++ b/xBPQ/香蕉超清资源.json @@ -0,0 +1,26 @@ +{ +"站名":"香蕉超清资源", +"主页url":"https://avjj.vip/cq/", +"头部集合":"空", +"热门推荐":"1", +"直接播放":"1", +"分类":"亚洲AV$2k-yazhou#自拍偷拍$2k-zipaitoupai#超清传媒$2k-chaoqingchuanmei#3D动漫$2k-3Ddongman#欧美AV$2k-oumei#乱伦人妻$2k-luanlunrenqi#丝袜制服$2k-siwazhifu#直播录播$2k-zhibolubo#SM另类$2k-SMlinglei#超清三级$2k-chaoqingsanji", +"数组":"
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"/cq/k&&.html\"", +"链接前缀":"https://avjj.vip/cq/Kplay", +"链接后缀": "-1-1.html", +"线路数组":"button-rounded&&/a>", +"线路标题":">&&<", +"搜索数组":"
    ", +"搜索图片": "data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接": "href=\"/cq/k&&.html\"", +"搜索模式": "1", +"搜索url":"https://avjj.vip/cq/vod/search/page/{catePg}/wd/{wd}.html", +"搜索链接前缀":"https://avjj.vip/cq/Kplay", +"搜索链接后缀":"-1-1.html", +"分类url":"https://avjj.vip/cq/{cateId}-{catePg}.html", +"免嗅": "0" +} \ No newline at end of file diff --git a/xBPQ/鸭奈飞.json b/xBPQ/鸭奈飞.json new file mode 100644 index 0000000..183a085 --- /dev/null +++ b/xBPQ/鸭奈飞.json @@ -0,0 +1,363 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "鸭奈飞", + "主页url": "https://yanetflix.com", + + "分类": "电影&连续剧&综艺&动漫", + "分类值": "dianying&lianxuju&zongyi&dongman", + + "分类url": "https://yanetflix.com/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", + + "副标题": "module-item-note\">&&
    ", + + "搜索模式": "1", + "搜索url": "/vodsearch/{wd}----------{pg}---.html", + "搜索数组": "module-item\">&&", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "alt=\"&&\"", + "搜索副标题": "module-item-note\">&&
    ", + "搜索链接": "href=\"&&\"", + + "导演": "导演:&&
    ", + "主演": "主演:&&
    ", + "简介": "player-list\">&&", + + "线路数组": "data-dropdown-value=&&
    ", + "线路标题": "&&
    [替换:>>👉]+集♥", + + "播放数组": "module-play-list\">&&
    ", + + "筛选":{ +"dianying":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"dianying"}, + {"n":"动作片","v":"dongzuopian"}, + {"n":"喜剧片","v":"xijupian"}, + {"n":"爱情片","v":"aiqingpian"}, + {"n":"科幻片","v":"kehuanpian"}, + {"n":"恐怖片","v":"kongbupian"}, + {"n":"剧情片","v":"juqingpian"}, + {"n":"战争片","v":"zhanzhengpian"}, + {"n":"悬疑片","v":"xuanyipian"}, + {"n":"冒险片","v":"maoxianpian"}, + {"n":"犯罪片","v":"fanzuipian"}, + {"n":"奇幻片","v":"qihuanpian"}, + {"n":"惊悚片","v":"jingsongpian"}, + {"n":"纪录片","v":"jilupian"}, + {"n":"灾难片","v":"zainanpian"}, + {"n":"古装片","v":"guzhuangpian"}, + {"n":"动画片","v":"donghuapian"}]}, + + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"喜剧","v":"喜剧"}, + {"n":"爱情","v":"爱情"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"动作","v":"动作"}, + {"n":"科幻","v":"科幻"}, + {"n":"剧情","v":"剧情"}, + {"n":"战争","v":"战争"}, + {"n":"警匪","v":"警匪"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"动画","v":"动画"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"武侠","v":"武侠"}, + {"n":"冒险","v":"冒险"}, + {"n":"枪战","v":"枪战"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"惊悚","v":"惊悚"}, + {"n":"经典","v":"经典"}, + {"n":"青春","v":"青春"}, + {"n":"文艺","v":"文艺"}, + {"n":"微电影","v":"微电影"}, + {"n":"古装","v":"古装"}, + {"n":"历史","v":"历史"}, + {"n":"运动","v":"运动"}, + {"n":"农村","v":"农村"}, + {"n":"儿童","v":"儿童"}, + {"n":"网络电影","v":"网络电影"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"美国","v":"美国"}, + {"n":"韩国","v":"韩国"}, + {"n":"日本","v":"日本"}, + {"n":"泰国","v":"泰国"}, + {"n":"新加坡","v":"新加坡"}, + {"n":"马来西亚","v":"马来西亚"}, + {"n":"印度","v":"印度"}, + {"n":"英国","v":"英国"}, + {"n":"法国","v":"法国"}, + {"n":"加拿大","v":"加拿大"}, + {"n":"西班牙","v":"西班牙"}, + {"n":"俄罗斯","v":"俄罗斯"}, + {"n":"其它","v":"其它"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}, + {"n":"2003","v":"2003"}, + {"n":"2002","v":"2002"}, + {"n":"2001","v":"2001"}, + {"n":"2000","v":"2000"}, + {"n":"1999","v":"1999"}, + {"n":"1998","v":"1998"}, + {"n":"1997","v":"1997"}, + {"n":"1996","v":"1996"}, + {"n":"1995","v":"1995"}, + {"n":"1994","v":"1994"}, + {"n":"1993","v":"1993"}, + {"n":"1992","v":"1992"}, + {"n":"1991","v":"1991"}, + {"n":"1990","v":"1990"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"lianxuju":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"lianxuju"}, + {"n":"港台剧","v":"gangtaiju"}, + {"n":"日韩剧","v":"rihanju"}, + {"n":"欧美剧","v":"oumeiju"}, + {"n":"泰国剧","v":"taiguoju"}, + {"n":"海外剧","v":"haiwaiju"}]}, + + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"古装","v":"古装"}, + {"n":"战争","v":"战争"}, + {"n":"青春偶像","v":"青春偶像"}, + {"n":"喜剧","v":"喜剧"}, + {"n":"家庭","v":"家庭"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"动作","v":"动作"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"剧情","v":"剧情"}, + {"n":"历史","v":"历史"}, + {"n":"经典","v":"经典"}, + {"n":"乡村","v":"乡村"}, + {"n":"情景","v":"情景"}, + {"n":"商战","v":"商战"}, + {"n":"网剧","v":"网剧"}, + {"n":"其他","v":"其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"内地"}, + {"n":"韩国","v":"韩国"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"日本","v":"日本"}, + {"n":"美国","v":"美国"}, + {"n":"泰国","v":"泰国"}, + {"n":"英国","v":"英国"}, + {"n":"新加坡","v":"新加坡"}, + {"n":"其他","v":"其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}, + {"n":"2003","v":"2003"}, + {"n":"2002","v":"2002"}, + {"n":"2001","v":"2001"}, + {"n":"2000","v":"2000"}, + {"n":"1999","v":"1999"}, + {"n":"1998","v":"1998"}, + {"n":"1997","v":"1997"}, + {"n":"1996","v":"1996"}, + {"n":"1995","v":"1995"}, + {"n":"1994","v":"1994"}, + {"n":"1993","v":"1993"}, + {"n":"1992","v":"1992"}, + {"n":"1991","v":"1991"}, + {"n":"1990","v":"1990"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"zongyi":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"选秀","v":"选秀"}, + {"n":"情感","v":"情感"}, + {"n":"访谈","v":"访谈"}, + {"n":"播报","v":"播报"}, + {"n":"旅游","v":"旅游"}, + {"n":"音乐","v":"音乐"}, + {"n":"美食","v":"美食"}, + {"n":"纪实","v":"纪实"}, + {"n":"曲艺","v":"曲艺"}, + {"n":"生活","v":"生活"}, + {"n":"游戏互动","v":"游戏互动"}, + {"n":"财经","v":"财经"}, + {"n":"求职","v":"求职"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"内地"}, + {"n":"港台","v":"港台"}, + {"n":"日韩","v":"日韩"}, + {"n":"欧美","v":"欧美"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}, + {"n":"2003","v":"2003"}, + {"n":"2002","v":"2002"}, + {"n":"2001","v":"2001"}, + {"n":"2000","v":"2000"}, + {"n":"1999","v":"1999"}, + {"n":"1998","v":"1998"}, + {"n":"1997","v":"1997"}, + {"n":"1996","v":"1996"}, + {"n":"1995","v":"1995"}, + {"n":"1994","v":"1994"}, + {"n":"1993","v":"1993"}, + {"n":"1992","v":"1992"}, + {"n":"1991","v":"1991"}, + {"n":"1990","v":"1990"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"dongman":[ + {"key":"cateId","name":"类型","value":[ + {"n":"全部","v":"dongman"}, + {"n":"日本动漫","v":"ribendongman"}, + {"n":"大陆动漫","v":"daludongman"}, + {"n":"欧美动漫","v":"oumeidongman"}]}, + + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"情感","v":"情感"}, + {"n":"科幻","v":"科幻"}, + {"n":"热血","v":"热血"}, + {"n":"推理","v":"推理"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"冒险","v":"冒险"}, + {"n":"萝莉","v":"萝莉"}, + {"n":"校园","v":"校园"}, + {"n":"动作","v":"动作"}, + {"n":"机战","v":"机战"}, + {"n":"运动","v":"运动"}, + {"n":"战争","v":"战争"}, + {"n":"少年","v":"少年"}, + {"n":"少女","v":"少女"}, + {"n":"社会","v":"社会"}, + {"n":"原创","v":"原创"}, + {"n":"亲子","v":"亲子"}, + {"n":"益智","v":"益智"}, + {"n":"励志","v":"励志"}, + {"n":"其他","v":"其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"国产","v":"国产"}, + {"n":"日本","v":"日本"}, + {"n":"欧美","v":"欧美"}, + {"n":"其他","v":"其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}, + {"n":"2003","v":"2003"}, + {"n":"2002","v":"2002"}, + {"n":"2001","v":"2001"}, + {"n":"2000","v":"2000"}, + {"n":"1999","v":"1999"}, + {"n":"1998","v":"1998"}, + {"n":"1997","v":"1997"}, + {"n":"1996","v":"1996"}, + {"n":"1995","v":"1995"}, + {"n":"1994","v":"1994"}, + {"n":"1993","v":"1993"}, + {"n":"1992","v":"1992"}, + {"n":"1991","v":"1991"}, + {"n":"1990","v":"1990"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/鸭奈飞影视.json b/xBPQ/鸭奈飞影视.json new file mode 100644 index 0000000..f5d02d4 --- /dev/null +++ b/xBPQ/鸭奈飞影视.json @@ -0,0 +1,491 @@ +{ +"作者":"张弘", +"站名": "鸭奈飞影视", +"主页url": "https://yanetflix.com/", +"二次截取":"class=\"module-items&&
    &&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"alt=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"module-item-note\">&&
    ", +"搜索后缀":"/voddetail/", +"搜索链接前缀": "", +"线路数组": "class=\"module-tab-item tab-item&&", +"线路标题": "&&
    [替换:>>♡]+集♡", +"播放数组":"class=\"module-play-list&&", +"影片类型":"
    &&立即播放", +"导演":"导演:&&
    ", +"主演":"主演:&&", +"简介":"class=\"module-blocklist scroll-box scroll-box-y module-player-list\"&&", +"播放列表":"", +"播放标题":"span>&&<", +"播放链接":"href=\"&&\"", +"免嗅":"1", +"分类": "电影$dianying#电视剧$lianxuju#动漫$dongman#综艺$zongyi", +"分类url":"https://yanetflix.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", +"筛选":{ +"dianying":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"动作片","v":"dongzuopian"}, +{"n":"喜剧片","v":"xijupian"}, +{"n":"爱情片","v":"aiqingpian"}, +{"n":"科幻片","v":"kehuanpian"}, +{"n":"恐怖片","v":"kongbupian"}, +{"n":"剧情片","v":"juqingpian"}, +{"n":"战争片","v":"zhanzhengpian"}, +{"n":"悬疑片","v":"xuanyipian"}, +{"n":"冒险片","v":"maoxianpian"}, +{"n":"犯罪片","v":"fanzuipian"}, +{"n":"奇幻片","v":"qihuanpian"}, +{"n":"惊悚片","v":"jingsongpian"}, +{"n":"纪录片","v":"jilupian"}, +{"n":"灾难片","v":"zainanpian"}, +{"n":"古装片","v":"guzhuangpian"}, +{"n":"动画片","v":"donghuapian"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"儿童","v":"儿童"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"韩国","v":"韩国"}, +{"n":"日本","v":"日本"}, +{"n":"泰国","v":"泰国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"马来西亚","v":"马来西亚"}, +{"n":"印度","v":"印度"}, +{"n":"英国","v":"英国"}, +{"n":"法国","v":"法国"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"俄罗斯","v":"俄罗斯"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n": "法语","v": "法语"}, +{"n": "德语","v": "德语"}, +{"n": "其它","v": "其它"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}, +{"n":"1999","v":"1999"}, +{"n":"1998","v":"1998"}, +{"n":"1997","v":"1997"}, +{"n":"1996","v":"1996"}, +{"n":"1995","v":"1995"}, +{"n":"1994","v":"1994"}, +{"n":"1993","v":"1993"}, +{"n":"1992","v":"1992"}, +{"n":"1991","v":"1991"}, +{"n":"1990","v":"1990"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"lianxuju":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"港台剧","v":"gangtaiju"}, +{"n":"日韩剧","v":"rihanju"}, +{"n":"欧美剧","v":"oumeiju"}, +{"n":"泰国剧","v":"taiguoju"}, +{"n":"海外剧","v":"haiwaiju"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"伦理","v":"伦理"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"泰国","v":"泰国"}, +{"n":"英国","v":"英国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}, +{"n":"1999","v":"1999"}, +{"n":"1998","v":"1998"}, +{"n":"1997","v":"1997"}, +{"n":"1996","v":"1996"}, +{"n":"1995","v":"1995"}, +{"n":"1994","v":"1994"}, +{"n":"1993","v":"1993"}, +{"n":"1992","v":"1992"}, +{"n":"1991","v":"1991"}, +{"n":"1990","v":"1990"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"zongyi":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}, +{"n":"1999","v":"1999"}, +{"n":"1998","v":"1998"}, +{"n":"1997","v":"1997"}, +{"n":"1996","v":"1996"}, +{"n":"1995","v":"1995"}, +{"n":"1994","v":"1994"}, +{"n":"1993","v":"1993"}, +{"n":"1992","v":"1992"}, +{"n":"1991","v":"1991"}, +{"n":"1990","v":"1990"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"dongman":[ +{ +"key":"cateId", +"name":"类型", +"value":[ +{"n":"全部","v":""}, +{"n":"日本动漫","v":"ribendongman"}, +{"n":"大陆动漫","v":"daludondman"}, +{"n":"欧美动漫","v":"oumeidongman"} +] +}, +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"情感","v":"情感"}, +{"n":"科幻","v":"科幻"}, +{"n":"热血","v":"热血"}, +{"n":"推理","v":"推理"}, +{"n":"搞笑","v":"搞笑"}, +{"n":"冒险","v":"冒险"}, +{"n":"萝莉","v":"萝莉"}, +{"n":"校园","v":"校园"}, +{"n":"动作","v":"动作"}, +{"n":"机战","v":"机战"}, +{"n":"运动","v":"运动"}, +{"n":"战争","v":"战争"}, +{"n":"少年","v":"少年"}, +{"n":"少女","v":"少女"}, +{"n":"社会","v":"社会"}, +{"n":"原创","v":"原创"}, +{"n":"亲子","v":"亲子"}, +{"n":"益智","v":"益智"}, +{"n":"励志","v":"励志"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"欧美","v":"日本"}, +{"n":"日本","v":"欧美"}, +{"n":"其他","v":""} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"}, +{"n":"2003","v":"2003"}, +{"n":"2002","v":"2002"}, +{"n":"2001","v":"2001"}, +{"n":"2000","v":"2000"}, +{"n":"1999","v":"1999"}, +{"n":"1998","v":"1998"}, +{"n":"1997","v":"1997"}, +{"n":"1996","v":"1996"}, +{"n":"1995","v":"1995"}, +{"n":"1994","v":"1994"}, +{"n":"1993","v":"1993"}, +{"n":"1992","v":"1992"}, +{"n":"1991","v":"1991"}, +{"n":"1990","v":"1990"} +] +} +] +} +} diff --git a/xBPQ/麻豆女优.json b/xBPQ/麻豆女优.json new file mode 100644 index 0000000..54c2874 --- /dev/null +++ b/xBPQ/麻豆女优.json @@ -0,0 +1,324 @@ +{ +"站名":"麻豆女优", +"主页url":"https://jj88av.com", +"直接播放":"1", + +"链接前缀":"https://jj88av.com", +"副标题":"
    &&
    ", +"分类":"麻豆女优一区$1#麻豆女优二区$2#麻豆女优三区$3#麻豆女优四区$4", +"分类url":"https://jj88av.com/vod/search/page/{catePg}/wd/{wd}.html", + +"筛选":{ +"1":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"沈娜娜","v":"沈娜娜"}, +{"n":"夏晴子","v":"夏晴子"}, +{"n":"吴梦梦","v":"吴梦梦"}, +{"n":"孟若羽","v":"孟若羽"}, +{"n":"艾秋","v":"艾秋"}, +{"n":"林思妤","v":"林思妤"}, +{"n":"凌薇","v":"凌薇"}, +{"n":"斑斑","v":"斑斑"}, +{"n":"秦可欣","v":"秦可欣"}, +{"n":"苏语棠","v":"苏语棠"}, +{"n":"韩棠","v":"韩棠"}, +{"n":"苏清歌","v":"苏清歌"}, +{"n":"金宝娜","v":"金宝娜"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"蜜苏","v":"蜜苏"}, +{"n":"季妍希","v":"季妍希"}, +{"n":"雪千夏","v":"雪千夏"}, +{"n":"李蓉蓉","v":"李蓉蓉"}, +{"n":"唐茜","v":"唐茜"}, +{"n":"管明美","v":"管明美"}, +{"n":"徐蕾","v":"徐蕾"}, +{"n":"仙儿媛","v":"仙儿媛"}, +{"n":"寻小小","v":"寻小小"}, +{"n":"张芸熙","v":"张芸熙"}, +{"n":"夜夜","v":"夜夜"}, +{"n":"雷梦娜","v":"雷梦娜"}, +{"n":"尤莉","v":"尤莉"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"吴芳宜","v":"吴芳宜"}, +{"n":"苏娅","v":"苏娅"}, +{"n":"玥可岚","v":"玥可岚"}, +{"n":"白沛瑶","v":"白沛瑶"}, +{"n":"袁子仪","v":"袁子仪"}, +{"n":"艾玛","v":"艾玛"}, +{"n":"林沁儿","v":"林沁儿"}, +{"n":"粉色情人","v":"粉色情人"}, +{"n":"顾桃桃","v":"顾桃桃"}, +{"n":"林芊彤","v":"林芊彤"}, +{"n":"白靖寒","v":"白靖寒"}, +{"n":"香菱","v":"香菱"}, +{"n":"乐奈子","v":"乐奈子"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"林凤娇","v":"林凤娇"}, +{"n":"明日香","v":"明日香"}, +{"n":"楚梦舒","v":"楚梦舒"}, +{"n":"舒可芯","v":"舒可芯"}, +{"n":"梁芸菲","v":"梁芸菲"}, +{"n":"宋南伊","v":"宋南伊"}, +{"n":"玖玖","v":"玖玖"}, +{"n":"乔安","v":"乔安"}, +{"n":"倪哇哇","v":"倪哇哇"}, +{"n":"赵一曼","v":"赵一曼"}, +{"n":"雪霏","v":"雪霏"}, +{"n":"郭童童","v":"郭童童"}, +{"n":"绫波丽","v":"绫波丽"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"潘雨曦","v":"潘雨曦"}, +{"n":"南芊允","v":"南芊允"}, +{"n":"岚湘庭","v":"岚湘庭"}, +{"n":"沈芯语","v":"沈芯语"}, +{"n":"莉娜","v":"莉娜"}, +{"n":"董小宛","v":"董小宛"}, +{"n":"苏艾文","v":"苏艾文"}, +{"n":"陈可心","v":"陈可心"}, +{"n":"樱井美里","v":"樱井美里"}, +{"n":"周甯","v":"周甯"}, +{"n":"李文雯","v":"李文雯"}, +{"n":"何苗","v":"何苗"}, +{"n":"白若冰","v":"白若冰"} +] +} +], +"2":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"凌波丽","v":"凌波丽"}, +{"n":"徐夜夜","v":"徐夜夜"}, +{"n":"李允熙","v":"李允熙"}, +{"n":"唐雨菲","v":"唐雨菲"}, +{"n":"王以欣","v":"王以欣"}, +{"n":"罗瑾萱","v":"罗瑾萱"}, +{"n":"宁洋子","v":"宁洋子"}, +{"n":"白晶晶","v":"白晶晶"}, +{"n":"宁静","v":"宁静"}, +{"n":"欧妮","v":"欧妮"}, +{"n":"娃娃","v":"娃娃"}, +{"n":"吴心语","v":"吴心语"}, +{"n":"李慕","v":"李慕"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"李娜娜","v":"李娜娜"}, +{"n":"吉吉","v":"吉吉"}, +{"n":"不见星空","v":"不见星空"}, +{"n":"许木学长","v":"许木学长"}, +{"n":"丝丝","v":"丝丝"}, +{"n":"苏小小","v":"苏小小"}, +{"n":"李琼","v":"李琼"}, +{"n":"文冰冰","v":"文冰冰"}, +{"n":"白星雨","v":"白星雨"}, +{"n":"张欣妍","v":"张欣妍"}, +{"n":"唐霏","v":"唐霏"}, +{"n":"茉莉","v":"茉莉"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"米娅","v":"米娅"}, +{"n":"羽芮","v":"羽芮"}, +{"n":"安娜","v":"安娜"}, +{"n":"聂小倩","v":"聂小倩"}, +{"n":"陈圆圆","v":"陈圆圆"}, +{"n":"沙美辰","v":"沙美辰"}, +{"n":"林妙可","v":"林妙可"}, +{"n":"韩宝儿","v":"韩宝儿"}, +{"n":"李娜","v":"李娜"}, +{"n":"乐淆雪","v":"乐淆雪"}, +{"n":"钟宛冰","v":"钟宛冰"}, +{"n":"林怡梦","v":"林怡梦"}, +{"n":"翁雨澄","v":"翁雨澄"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"真希波","v":"真希波"}, +{"n":"王玥","v":"王玥"}, +{"n":"项子甯","v":"项子甯"}, +{"n":"夏禹熙","v":"夏禹熙"}, +{"n":"林洋","v":"林洋"}, +{"n":"清洛","v":"清洛"}, +{"n":"乐乐","v":"乐乐"}, +{"n":"依涵","v":"依涵"}, +{"n":"糖糖","v":"糖糖"}, +{"n":"苏畅","v":"苏畅"}, +{"n":"瑶贝","v":"瑶贝"}, +{"n":"小夜夜","v":"小夜夜"}, +{"n":"张雅婷","v":"张雅婷"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"杨思敏","v":"杨思敏"}, +{"n":"李曼妮","v":"李曼妮"}, +{"n":"杨柳","v":"杨柳"}, +{"n":"戚小怜","v":"戚小怜"}, +{"n":"苡若","v":"苡若"}, +{"n":"童汐","v":"童汐"}, +{"n":"谢语彤","v":"谢语彤"}, +{"n":"王筱璐","v":"王筱璐"}, +{"n":"卢珊珊","v":"卢珊珊"}, +{"n":"程诗诗","v":"程诗诗"}, +{"n":"悠悠","v":"悠悠"}, +{"n":"白允儿","v":"白允儿"}, +{"n":"肖云","v":"肖云"} +] +} +], +"3":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"岚玥","v":"岚玥"}, +{"n":"高梨遥香","v":"高梨遥香"}, +{"n":"熙熙","v":"熙熙"}, +{"n":"黎娜","v":"黎娜"}, +{"n":"林曼芸","v":"林曼芸"}, +{"n":"欣欣","v":"欣欣"}, +{"n":"琳达","v":"琳达"}, +{"n":"林嫣","v":"林嫣"}, +{"n":"张宇芯","v":"张宇芯"}, +{"n":"桥本爱菜","v":"桥本爱菜"}, +{"n":"晴天","v":"晴天"}, +{"n":"温芮欣","v":"温芮欣"}, +{"n":"柚子猫","v":"柚子猫"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"吴茜茜","v":"吴茜茜"}, +{"n":"杜冰若","v":"杜冰若"}, +{"n":"杜鹃","v":"杜鹃"}, +{"n":"玛丽莲","v":"玛丽莲"}, +{"n":"胡蓉蓉","v":"胡蓉蓉"}, +{"n":"美樱","v":"美樱"}, +{"n":"万静雪","v":"万静雪"}, +{"n":"许诺","v":"许诺"}, +{"n":"虞姬","v":"虞姬"}, +{"n":"白熙雨","v":"白熙雨"}, +{"n":"萧悦儿","v":"萧悦儿"}, +{"n":"林晓雪","v":"林晓雪"}, +{"n":"苡琍","v":"苡琍"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"蔷薇","v":"蔷薇"}, +{"n":"米亚","v":"米亚"}, +{"n":"兰心洁","v":"兰心洁"}, +{"n":"小影","v":"小影"}, +{"n":"Aida","v":"Aida"}, +{"n":"赖畇希","v":"赖畇希"}, +{"n":"小桃","v":"小桃"}, +{"n":"cola醬","v":"cola醬"}, +{"n":"绯丽","v":"绯丽"}, +{"n":"白思吟","v":"白思吟"}, +{"n":"藤田美绪","v":"藤田美绪"}, +{"n":"娜娜","v":"娜娜"}, +{"n":"静静","v":"静静"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"黄雪纯","v":"黄雪纯"}, +{"n":"赵雅琳","v":"赵雅琳"}, +{"n":"伊琬琳","v":"伊琬琳"}, +{"n":"琪琪","v":"琪琪"}, +{"n":"兮兮","v":"兮兮"}, +{"n":"陈美惠","v":"陈美惠"}, +{"n":"金巧巧","v":"金巧巧"}, +{"n":"苏然","v":"苏然"}, +{"n":"陈美琳","v":"陈美琳"}, +{"n":"陆思涵","v":"陆思涵"}, +{"n":"顾小北","v":"顾小北"}, +{"n":"陶子","v":"陶子"}, +{"n":"七濑恋","v":"七濑恋"} +] +}, +{ +"key":"wd", +"name":"", +"value":[ +{"n":"陈小雨","v":"陈小雨"}, +{"n":"董欣","v":"董欣"}, +{"n":"吴恺彤","v":"吴恺彤"}, +{"n":"羽熙","v":"羽熙"}, +{"n":"清沐","v":"清沐"}, +{"n":"林襄","v":"林襄"}, +{"n":"冬月结衣","v":"冬月结衣"}, +{"n":"维里娜","v":"维里娜"}, +{"n":"兔小白","v":"兔小白"}, +{"n":"神谷怜","v":"神谷怜"}, +{"n":"叶子红","v":"叶子红"}, +{"n":"小捷","v":"小捷"}, +{"n":"美凉子","v":"美凉子"} +] +} +], +"4":[ +{ +"key":"wd", +"name":"", +"value":[ +{"n":"NANA","v":"NANA"}, +{"n":"吳芳宜","v":"吳芳宜"}, +{"n":"菲菲","v":"菲菲"}, +{"n":"樱桃","v":"樱桃"}, +{"n":"吴凯彤","v":"吴凯彤"}, +{"n":"橙子","v":"橙子"}, +{"n":"王茜","v":"王茜"}, +{"n":"李慕儿","v":"李慕儿"}, +{"n":"叶一涵","v":"叶一涵"}, +{"n":"赵佳美","v":"赵佳美"}, +{"n":"千鹤","v":"千鹤"}, +{"n":"雪见","v":"雪见"}, +{"n":"董小婉","v":"董小婉"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/麻豆映画.json b/xBPQ/麻豆映画.json new file mode 100644 index 0000000..6816fdb --- /dev/null +++ b/xBPQ/麻豆映画.json @@ -0,0 +1,207 @@ +{"name": "麻豆映画", +"url": "https://www.madoupj.com", +"直接播放": "1", +"分类":"麻豆原创$mdapp1#原创伙伴$mdapp2#节目企划$mdapp3#免费视频区$mdapp72", +"数组":"
    &&
    ", +"图片": "img src=\"&&\"", +"标题": "title=\"&&\"", +"链接": "href=\"/index.php/&m=voddetail/&&.html\"", +"链接前缀": "/index.php/&m=vodplay/", +"链接后缀": "-1-1.html", +"搜索数组": "
    &&
    ", +"搜索图片": "img src=\"&&\"", +"搜索标题": "title=\"&&\"", +"搜索链接": "href=\"&&\"", +"搜索模式": "0", +"搜索url": "https://www.madoupj.com/index.php/ajax/suggest?mid=1&wd={wd}", +"搜索后缀": "/index.php/&m=vodplay/", +"搜索链接后缀":"-1-1.html", +"状态": "class=\"yac\">&&

    ", +"导演": "导演:&&

    ", +"主演": "主演:&&

    ", +"简介": "class=\"title\">&&title", +"分类url":"https://www.madoupj.com/index.php/&m=vodtype/{cateId}/page/{catePg}.html", +"免嗅":"0", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"筛选": +{ +"mdapp1":[ +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"MD系列","v":"mdapp4"}, +{"n":"导演系列","v":"mdapp5"}, +{"n":"MDS系列","v":"mdapp6"}, +{"n":"MDX系列","v":"mdapp7"}, +{"n":"MKY系列","v":"mdapp86"}, +{"n":"MCY系列","v":"mdapp95"}, +{"n":"MDXS系列","v":"mdapp8"}, +{"n":"MDL系列","v":"mdapp46"}, +{"n":"MMZ猫爪系列","v":"mdapp50"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"MAD爱豆系列","v":"mdapp52"}, +{"n":"MDWP职场淫行系列","v":"mdapp57"}, +{"n":"MLT乐天系列","v":"mdapp62"}, +{"n":"MSD系列","v":"mdapp63"}, +{"n":"MSM性梦者","v":"mdapp64"}, +{"n":"MDM恋爱咖啡馆","v":"mdapp73"}, +{"n":"MDUS系列","v":"mdapp77"}, +{"n":"MXJ系列","v":"mdapp78"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"MSG系列","v":"mdapp85"}, +{"n":"MAN系列","v":"mdapp88"}, +{"n":"MDAG系列","v":"mdapp99"}, +{"n":"MDHT系列","v":"mdapp100"} +] +} +], +"mdapp2":[ +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"杏吧专区","v":"mdapp9"}, +{"n":"辣椒原创","v":"mdapp79"}, +{"n":"兔子先生","v":"mdapp10"}, +{"n":"O-STAR","v":"mdapp80"}, +{"n":"果冻传媒","v":"mdapp11"}, +{"n":"91制片厂","v":"mdapp51"}, +{"n":"皇家华人","v":"mdapp12"}, +{"n":"天美传媒","v":"mdapp45"}, +{"n":"吴梦梦专区","v":"mdapp13"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"PsychoPorn色控","v":"mdapp14"}, +{"n":"叮叮映画","v":"mdapp70"}, +{"n":"涩会","v":"mdapp71"}, +{"n":"红斯灯影像","v":"mdapp102"}, +{"n":"麻麻传媒","v":"mdapp103"}, +{"n":"蝌蚪传媒","v":"mdapp104"}, +{"n":"Pussy Hunter","v":"mdapp105"}, +{"n":"瑷荳传媒","v":"mdapp106"}, +{"n":"桃花源","v":"mdapp107"}, +{"n":"蜜桃影像传媒","v":"mdapp15"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"豚豚创媒","v":"mdapp74"}, +{"n":"宫美娱乐","v":"mdapp84"}, +{"n":"肉肉传媒","v":"mdapp90"}, +{"n":"爱妃传媒","v":"mdapp75"}, +{"n":"渡边传媒","v":"mdapp94"}, +{"n":"葵心娱乐","v":"mdapp96"}, +{"n":"YOKUBOU","v":"mdapp97"}, +{"n":"大番号番啪啪","v":"mdapp16"}, +{"n":"REAL野性派","v":"mdapp29"} +] +} +], +"mdapp3":[ +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"麻豆不回家","v":"mdapp41"}, +{"n":"狼人插","v":"mdapp53"}, +{"n":"女优擂台摔角狂热","v":"mdapp54"}, +{"n":"恋爱巴士","v":"mdapp60"}, +{"n":"男女优生死斗","v":"mdapp65"}, +{"n":"情人劫密室逃脱","v":"mdapp66"}, +{"n":"换妻","v":"mdapp67"}, +{"n":"你好同学","v":"mdapp68"}, +{"n":"鲍鱼的胜利","v":"mdapp83"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"性爱自修室","v":"mdapp87"}, +{"n":"春游记","v":"mdapp91"}, +{"n":"心动的性号","v":"mdapp92"}, +{"n":"情趣大富翁","v":"mdapp93"}, +{"n":"男优练习生","v":"mdapp101"}, +{"n":"大鸟十八","v":"mdapp17"}, +{"n":"疯拍系列","v":"mdapp18"}, +{"n":"创造淫2021","v":"mdapp55"}, +{"n":"禁欲小屋","v":"mdapp76"}, +{"n":"KISS糖果屋","v":"mdapp19"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"小鹏奇啪行","v":"mdapp20"}, +{"n":"男优出征趣","v":"mdapp21"}, +{"n":"麻豆达人秀","v":"mdapp69"}, +{"n":"30天解密麻豆","v":"mdapp22"}, +{"n":"突袭女优计划","v":"mdapp23"}, +{"n":"女神羞羞研究院","v":"mdapp24"}, +{"n":"淫欲游戏王","v":"mdapp40"}, +{"n":"女优淫娃培训营","v":"mdapp42"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"情趣K歌房","v":"mdapp31"}, +{"n":"小哥哥艾理","v":"mdapp27"}, +{"n":"寻宝吧女神","v":"mdapp98"} +] +} +], +"mdapp72":[ +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"全部","v":""}, +{"n":"糖心","v":"mdapp72"}, +{"n":"CCAV成人头条","v":"mdapp89"}, +{"n":"精东影业","v":"mdapp34"}, +{"n":"星空无限传媒","v":"mdapp47"}, +{"n":"乐播传媒","v":"mdapp48"}, +{"n":"开心鬼传媒","v":"mdapp56"}, +{"n":"葫芦影业","v":"mdapp81"}, +{"n":"深夜保健室","v":"mdapp35"}, +{"n":"大象传媒","v":"mdapp58"}, +{"n":"天马传媒","v":"mdapp82"} +] +}, +{ +"key":"cateId", +"name":"", +"value":[ +{"n":"SWAG","v":"mdapp36"}, +{"n":"HongKongDoll","v":"mdapp59"}, +{"n":"国产短视频","v":"mdapp38"}, +{"n":"北京天使","v":"mdapp39"}, +{"n":"MINI传媒","v":"mdapp61"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/黄仓库.json b/xBPQ/黄仓库.json new file mode 100644 index 0000000..859413a --- /dev/null +++ b/xBPQ/黄仓库.json @@ -0,0 +1,30 @@ +{ +"直接播放":"1", +"站名":"黄仓库", +"主页url":"http://rhsck.com/", +"数组":"class=\"stui-vodlist__box&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"&&", +"状态":"状态:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"简介:&&

    ", +"搜索url": "http://rhsck.com/vodsearch/-------------.html?wd={wd}&submit=", +"搜索模式":"0", +"搜索数组":"
  • &&
  • ", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"播放二次截取": "
    &&
    ", +"播放数组": "

    ", +"列表二次截取": "", +"播放列表": "", +"播放标题": ">&&<", +"播放链接": "href=\"&&\"", +"免嗅":"0", +"嗅探词":".m3u8#.mp4#.flv#.m4a#.avi#.mkv#.mov#.3gp#.asf#.rm#.rmvb#.wmv#.mpg#.mpeg#.mpe#.ts#.vob#.mp3#.wma", +"分类":"日韩AV$1#国产系列$2#欧美$3#成人动漫$4#无码中文$8#有码中文$9#日本无码$10#日本有码$7#国产视频$15#欧美高清$21#动漫剧情$22", +"分类url":"http://rhsck.com/vodtype/{cateId}-{catePg}/pjax/YES.html" +} \ No newline at end of file diff --git a/xBPQ/黄瓜TV.json b/xBPQ/黄瓜TV.json new file mode 100644 index 0000000..d5cb545 --- /dev/null +++ b/xBPQ/黄瓜TV.json @@ -0,0 +1,13 @@ +{ +"站名":"黄瓜TV", +"主页url":"https://kkg51.com:33666/home/index.html", +"直接播放":"1", +"分类":"日韩无码$1316#欧美无码$1317#中文字幕$1318#日韩有码$1319#国产自拍$1320#国产偷拍$1321#卡通动漫$1322#三级剧情$1323#女优$1324#日韩女优$1325#欧美艳星$1347", + +"链接":"href=\"/home/&&.html\"", +"副标题":"&&", +"简介":"https://j10.wnsimages.com/&&.jpg", +"链接前缀":"https://kkg51.com:33666/home/", +"链接后缀":".html", +"分类url":"https://aaq48.com:33666/home/vodlist/38/{cateId}-{catePg}.html" +} \ No newline at end of file diff --git a/xBPQ/黑洞影视.json b/xBPQ/黑洞影视.json new file mode 100644 index 0000000..88af7cf --- /dev/null +++ b/xBPQ/黑洞影视.json @@ -0,0 +1,448 @@ +{ +"作者":"张弘", +"站名":"黑洞网", +"主页url":"https://www.nulltm.com", +"二次截取":"hl-list-wrap hl-wide-wrap&&", +"数组":"class=\"hl-list-item&&", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"副标题":"class=\"hl-lc-1 remarks\">&&", +"链接":"href=\"&&\"", +"链接前缀":"https://www.nulltm.com", +"链接后缀":"", +"线路标题":">&&<", +"线路数组":"", +"搜索url":"https://www.nulltm.com/vodsearch/{wd}----------{pg}---.html", +"搜索模式":"1", +"搜索二次截取":"", +"搜索数组":"
    &&", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"class=\"hl-lc-1 remarks\">&&", +"搜索链接前缀":"https://www.nulltm.com", +"搜索后缀":"/voddetail/", +"搜索链接后缀":".html", +"播放数组":"hl-sort-list&&", +"影片年代":"年份:&&", +"影片地区":"地区:&&", +"影片类型":"类型:&&", +"导演":"导演:&&", +"主演":"主演:&&", +"简介":"简介:&&", +"播放列表":"", +"播放标题":"html\">&&", +"播放链接":"href=\"&&\"", +"播放链接前缀":"https://www.nulltm.com", +"播放链接后缀":"", +"免嗅":"1", +"分类":"电影$1#电视剧$2#综艺$3#动漫$4", +"分类url":"https://www.nulltm.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}-{res}--{year}/version/{version}.html", +"筛选":{ +"1":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"喜剧","v":"喜剧"}, +{"n":"爱情","v":"爱情"}, +{"n":"恐怖","v":"恐怖"}, +{"n":"动作","v":"动作"}, +{"n":"科幻","v":"科幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"战争","v":"战争"}, +{"n":"警匪","v":"警匪"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动画","v":"动画"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"武侠","v":"武侠"}, +{"n":"冒险","v":"冒险"}, +{"n":"枪战","v":"枪战"}, +{"n":"悬疑","v":"悬疑"}, +{"n":"惊悚","v":"惊悚"}, +{"n":"经典","v":"经典"}, +{"n":"青春","v":"青春"}, +{"n":"文艺","v":"文艺"}, +{"n":"微电影","v":"微电影"}, +{"n":"古装","v":"古装"}, +{"n":"历史","v":"历史"}, +{"n":"运动","v":"运动"}, +{"n":"农村","v":"农村"}, +{"n":"儿童","v":"儿童"}, +{"n":"网络电影","v":"网络电影"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"大陆","v":"大陆"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"美国","v":"美国"}, +{"n":"法国","v":"法国"}, +{"n":"英国","v":"英国"}, +{"n":"日本","v":"日本"}, +{"n":"韩国","v":"韩国"}, +{"n":"德国","v":"德国"}, +{"n":"泰国","v":"泰国"}, +{"n":"印度","v":"印度"}, +{"n":"意大利","v":"意大利"}, +{"n":"西班牙","v":"西班牙"}, +{"n":"加拿大","v":"加拿大"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"法语","v":"法语"}, +{"n":"德语","v":"德语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"version", +"name":"版本", +"value":[ +{"n":"全部","v":""}, +{"n":"高清版","v":"高清版"}, +{"n":"剧场版","v":"剧场版"}, +{"n":"抢先版","v":"抢先版"}, +{"n":"OVA","v":"OVA"}, +{"n":"TV","v":"TV"}, +{"n":"影院版","v":"剧院版"} +] +}, +{ +"key":"res", +"name":"资源", +"value":[ +{"n":"全部","v":""}, +{"n":"正片","v":"正片"}, +{"n":"预告片","v":"预告片"}, +{"n":"花絮","v":"花絮"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"2":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"古装","v":"古装"}, +{"n":"战争","v":"战争"}, +{"n":"青春偶像","v":"青春偶像"}, +{"n":"喜剧","v":"喜剧"}, +{"n":"家庭","v":"家庭"}, +{"n":"犯罪","v":"犯罪"}, +{"n":"动作","v":"动作"}, +{"n":"奇幻","v":"奇幻"}, +{"n":"剧情","v":"剧情"}, +{"n":"历史","v":"历史"}, +{"n":"经典","v":"经典"}, +{"n":"乡村","v":"乡村"}, +{"n":"情景","v":"情景"}, +{"n":"商战","v":"商战"}, +{"n":"网剧","v":"网剧"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"韩国","v":"韩国"}, +{"n":"香港","v":"香港"}, +{"n":"台湾","v":"台湾"}, +{"n":"日本","v":"日本"}, +{"n":"美国","v":"美国"}, +{"n":"泰国","v":"泰国"}, +{"n":"英国","v":"英国"}, +{"n":"新加坡","v":"新加坡"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其它"} +] +}, +{ +"key":"version", +"name":"版本", +"value":[ +{"n":"全部","v":""}, +{"n":"高清版","v":"高清版"}, +{"n":"剧场版","v":"剧场版"}, +{"n":"抢先版","v":"抢先版"}, +{"n":"OVA","v":"OVA"}, +{"n":"TV","v":"TV"}, +{"n":"影院版","v":"剧院版"}, +{"n":"资源","v":"资源"} +] +}, +{ +"key":"res", +"name":"资源", +"value":[ +{"n":"全部","v":""}, +{"n":"正片","v":"正片"}, +{"n":"预告片","v":"预告片"}, +{"n":"花絮","v":"花絮"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"3":[ +{ +"key":"class", +"name":"剧情", +"value":[ +{"n":"全部","v":""}, +{"n":"选秀","v":"选秀"}, +{"n":"情感","v":"情感"}, +{"n":"访谈","v":"访谈"}, +{"n":"播报","v":"播报"}, +{"n":"旅游","v":"旅游"}, +{"n":"音乐","v":"音乐"}, +{"n":"美食","v":"美食"}, +{"n":"纪实","v":"纪实"}, +{"n":"曲艺","v":"曲艺"}, +{"n":"生活","v":"生活"}, +{"n":"游戏互动","v":"游戏互动"}, +{"n":"财经","v":"财经"}, +{"n":"求职","v":"求职"} +] +}, +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"内地","v":"内地"}, +{"n":"港台","v":"港台"}, +{"n":"日韩","v":"日韩"}, +{"n":"欧美","v":"欧美"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +], +"4":[ +{ +"key":"area", +"name":"地区", +"value":[ +{"n":"全部","v":""}, +{"n":"国产","v":"国产"}, +{"n":"日本","v":"日本"}, +{"n":"欧美","v":"欧美"}, +{"n":"其他","v":"其他"} +] +}, +{ +"key":"lang", +"name":"语言", +"value":[ +{"n":"全部","v":""}, +{"n":"国语","v":"国语"}, +{"n":"英语","v":"英语"}, +{"n":"粤语","v":"粤语"}, +{"n":"闽南语","v":"闽南语"}, +{"n":"韩语","v":"韩语"}, +{"n":"日语","v":"日语"}, +{"n":"其它","v":"其他"} +] +}, +{ +"key":"version", +"name":"版本", +"value":[ +{"n":"全部","v":""}, +{"n":"TV版","v":"TV版"}, +{"n":"电影版","v":"电影版"}, +{"n":"OVA版","v":"OVA版"}, +{"n":"真人版","v":"真人版"} +] +}, +{ +"key":"year", +"name":"年份", +"value":[ +{"n":"全部","v":""}, +{"n":"2022","v":"2022"}, +{"n":"2021","v":"2021"}, +{"n":"2020","v":"2020"}, +{"n":"2019","v":"2019"}, +{"n":"2018","v":"2018"}, +{"n":"2017","v":"2017"}, +{"n":"2016","v":"2016"}, +{"n":"2015","v":"2015"}, +{"n":"2014","v":"2014"}, +{"n":"2013","v":"2013"}, +{"n":"2012","v":"2012"}, +{"n":"2011","v":"2011"}, +{"n":"2010","v":"2010"}, +{"n":"2009","v":"2009"}, +{"n":"2008","v":"2008"}, +{"n":"2007","v":"2007"}, +{"n":"2006","v":"2006"}, +{"n":"2005","v":"2005"}, +{"n":"2004","v":"2004"} +] +}, +{ +"key":"by", +"name":"排序", +"value":[ +{"n":"全部","v":""}, +{"n":"时间","v":"time"}, +{"n":"人气","v":"hits"}, +{"n":"评分","v":"score"} +] +} +] +} +} \ No newline at end of file diff --git a/xBPQ/黑洞网.json b/xBPQ/黑洞网.json new file mode 100644 index 0000000..3bc2425 --- /dev/null +++ b/xBPQ/黑洞网.json @@ -0,0 +1,255 @@ +{ + "作者": "菜妮丝https://cainisi.cf", + "站名": "黑洞网", + "主页url": "https://www.nulltm.com", + + "分类": "电影&电视剧&综艺&动漫", + "分类值": "1&2&3&4", + + "分类url": "https://www.nulltm.com/vodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html", + + "副标题": "remarks\">&&", + + "搜索模式": "1", + "搜索url": "/vodsearch/{wd}----------{pg}---.html", + "搜索数组": "
    &&", + "搜索图片": "data-original=\"&&\"", + "搜索标题": "title=\"&&\"", + "搜索副标题": "remarks\">&&", + "搜索链接": "href=\"&&\"", + + "影片年代": "年份:&&", + "影片地区": "地区:&&", + "影片类型": "类型:&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "hl-content-text\">&&", + + "线路数组": "hl-icon-tongzhi&&/span>", + "线路标题": "site\">&&<", + + "播放数组": "
    &&", + + "筛选": { +"1":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"喜剧","v":"喜剧"}, + {"n":"爱情","v":"爱情"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"动作","v":"动作"}, + {"n":"科幻","v":"科幻"}, + {"n":"剧情","v":"剧情"}, + {"n":"战争","v":"战争"}, + {"n":"警匪","v":"警匪"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"动画","v":"动画"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"武侠","v":"武侠"}, + {"n":"冒险","v":"冒险"}, + {"n":"枪战","v":"枪战"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"惊悚","v":"惊悚"}, + {"n":"经典","v":"经典"}, + {"n":"青春","v":"青春"}, + {"n":"文艺","v":"文艺"}, + {"n":"微电影","v":"微电影"}, + {"n":"古装","v":"古装"}, + {"n":"历史","v":"历史"}, + {"n":"运动","v":"运动"}, + {"n":"农村","v":"农村"}, + {"n":"儿童","v":"儿童"}, + {"n":"网络电影","v":"网络电影"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"美国","v":"美国"}, + {"n":"法国","v":"法国"}, + {"n":"英国","v":"英国"}, + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"德国","v":"德国"}, + {"n":"泰国","v":"泰国"}, + {"n":"印度","v":"印度"}, + {"n":"意大利","v":"意大利"}, + {"n":"西班牙","v":"西班牙"}, + {"n":"加拿大","v":"加拿大"}, + {"n":"其他","v":"其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"2":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"古装","v":"古装"}, + {"n":"战争","v":"战争"}, + {"n":"青春偶像","v":"青春偶像"}, + {"n":"喜剧","v":"喜剧"}, + {"n":"家庭","v":"家庭"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"动作","v":"动作"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"剧情","v":"剧情"}, + {"n":"历史","v":"历史"}, + {"n":"经典","v":"经典"}, + {"n":"乡村","v":"乡村"}, + {"n":"情景","v":"情景"}, + {"n":"商战","v":"商战"}, + {"n":"网剧","v":"网剧"}, + {"n":"其他","v":"其他"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"内地"}, + {"n":"韩国","v":"韩国"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"日本","v":"日本"}, + {"n":"美国","v":"美国"}, + {"n":"泰国","v":"泰国"}, + {"n":"英国","v":"英国"}, + {"n":"新加坡","v":"新加坡"}, + {"n":"其他","v":"其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"3":[ + {"key":"class","name":"剧情","value":[ + {"n":"全部","v":""}, + {"n":"选秀","v":"选秀"}, + {"n":"情感","v":"情感"}, + {"n":"访谈","v":"访谈"}, + {"n":"播报","v":"播报"}, + {"n":"旅游","v":"旅游"}, + {"n":"音乐","v":"音乐"}, + {"n":"美食","v":"美食"}, + {"n":"纪实","v":"纪实"}, + {"n":"曲艺","v":"曲艺"}, + {"n":"生活","v":"生活"}, + {"n":"游戏互动","v":"游戏互动"}, + {"n":"财经","v":"财经"}, + {"n":"求职","v":"求职"}]}, + + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"内地","v":"内地"}, + {"n":"港台","v":"港台"}, + {"n":"日韩","v":"日韩"}, + {"n":"欧美","v":"欧美"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}], + +"4":[ + {"key":"area","name":"地区","value":[ + {"n":"全部","v":""}, + {"n":"国产","v":"国产"}, + {"n":"日本","v":"日本"}, + {"n":"欧美","v":"欧美"}, + {"n":"其他","v":"其他"}]}, + + {"key":"year","name":"年份","value":[ + {"n":"全部","v":""}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"}, + {"n":"2007","v":"2007"}, + {"n":"2006","v":"2006"}, + {"n":"2005","v":"2005"}, + {"n":"2004","v":"2004"}]}, + + {"key":"by","name":"排序","value":[ + {"n":"时间","v":"time"}, + {"n":"人气","v":"hits"}, + {"n":"评分","v":"score"}]}]} +} \ No newline at end of file diff --git a/xBPQ/黑狐影院.json b/xBPQ/黑狐影院.json new file mode 100644 index 0000000..2be0f78 --- /dev/null +++ b/xBPQ/黑狐影院.json @@ -0,0 +1,30 @@ +{ +"作者":"张弘", +"站名":"黑狐影院", +"主页url":"http://www.heihu.tv", +"数组":"stui-vodlist__box&&
    ", +"图片":"data-original=\"&&\"", +"标题":"title=\"&&\"", +"链接":"href=\"&&\"", +"副标题":"text-right\">&&", +//"搜索url":"http://www.heihu.tv/search.php", +"搜索模式":"1", +"搜索数组":"", +"搜索图片":"data-original=\"&&\"", +"搜索标题":"title=\"&&\"", +"搜索链接":"href=\"&&\"", +"搜索副标题":"text-right\">&&", +"线路数组":"href=\"#down&&/a>", +"线路标题":">&&<", +"播放数组":"class=\"stui-content__playlist clearfix&&", +"影片类型":"类型:&&

    ", +"导演":"导演:&&

    ", +"主演":"主演:&&

    ", +"简介":"简介:&&
    ", +"播放列表":"", +"播放标题":">&&<", +"播放链接":"href=\"&&\"", +"免嗅":"0", +"分类":"电影$1#电视剧$2#动漫$3#综艺$4#伦理$40", +"分类url":"http://www.heihu.tv/list/{cateId}_{catePg}.html?order=time" +} \ No newline at end of file diff --git a/调试助手/bb懒人.txt b/调试助手/bb懒人.txt new file mode 100644 index 0000000..5dcbc3d --- /dev/null +++ b/调试助手/bb懒人.txt @@ -0,0 +1,587 @@ +{"Home": [ +{"key":"APP","title":"APP","pic":"http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg"}, +{"key":"网页","title":"网页","pic":"http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg"}, +{"key":"采集","title":"采集","pic":"http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg"}, +{"key":"直播","title":"直播","pic":"http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg"}, +{"key":"历史","title":"历史","pic":"http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg"}, +{"key":"收藏","title":"收藏","pic":"http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg"}, +{"key":"推送","title":"远程推送","pic":"http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg"}, +{"key": "自选网页", +"title": "经典轮播", +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", +"custom": "ewoibmFtZSI6ICLova7mkq0iLAoiVXNlciI6ICLnqboiLAoidWEiOiJNb3ppbGxhLzUuMCAoTGludXg7IEFuZHJvaWQgMTA7IE1JIDgpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS85Ni4wLjQ2NjQuMTA0IE1vYmlsZSBTYWZhcmkvNTM3LjM2IiwgCiJ1cmwiOiAiaHR0cHM6Ly93d3cuZG91eXUuY29tLyIsCiLnpoHnlKjmkJzntKIiOiAiMSIsCiLnm7TmjqXmkq3mlL4iOiAiMSIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLmqKrlm77mmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5LiA6LW355yLJGdhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMjA4LyIsCiJob3V6aHVpIjogIiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJqaWVxdXFpYW4iOiAi56m6IiwKImppZXF1aG91IjogIuepuiIsCiJqaWVxdXNodXp1cWlhbiI6ICJcInR5cGVcIjoxIiwKImppZXF1c2h1enVob3UiOiAiXCJyczE2XCIiLAoidHVwaWFucWlhbiI6ICJcInJzMVwiOlwiIiwKInR1cGlhbmhvdSI6ICJcIiIsCiJiaWFvdGlxaWFuIjogIlwicm5cIjpcIiIsCiJiaWFvdGlob3UiOiAiXCIiLAoibGlhbmppZXFpYW4iOiAiXCJyaWRcIjoiLAoibGlhbmppZWhvdSI6ICIsXCIiLAoibGpxaWFuemh1aSI6ICJodHRwczovL20uZG91eXUuY29tLyIsCiJmdWJpYW90aXFpYW4iOiAiXCJublwiOlwiIiwKImZ1Ymlhb3RpaG91IjogIlwiIn0="}, +{"key": "自选网页", +"title": "戏曲", +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", +"custom": "eyJuYW1lIjogImJpbGkt5oiP5puyIiwKInVybCI6ICJodHRwczovL2FwaS5iaWxpYmlsaS5jb20iLCAgIAoidWEiOiJNb3ppbGxhLzUuMCAoTGludXg7IEFuZHJvaWQgMTA7IE1JIDgpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS85Ni4wLjQ2NjQuMTA0IE1vYmlsZSBTYWZhcmkvNTM3LjM2IiwgCiJjb29raWUiOiJidXZpZDM9MTIzIiwKIlVzZXIiOiAi56m6IiwgICAgCiLnpoHnlKjmkJzntKIiOiAiMSIsIAoi55u05o6l5pKt5pS+IjogIjAiLAoi5piv5ZCm6K6w5b2V5Y6G5Y+yIjogIjAiLAoi5qiq5Zu+5pi+56S6IjogIjEiLAoiZmVubGVpIjogIumZleWMl+awkeatjCQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ96ZmV5YyX5rCR5q2MJnBhZ2U9I+awkemXtOWwj+iwgyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95rCR6Ze05bCP6LCDJnBhZ2U9I+S6rOWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95Lqs5YmnJnBhZ2U9I+i2iuWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ96LaK5YmnJnBhZ2U9I+iSsuWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ96JKy5YmnJnBhZ2U9I+ecieWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ955yJ5YmnJnBhZ2U9I+WQleWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95ZCV5YmnJnBhZ2U9I+almuWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95qWa5YmnJnBhZ2U9I+m7hOaiheaIjyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ96buE5qKF5oiPJnBhZ2U9I+ivhOWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ96K+E5YmnJnBhZ2U9I+ixq+WJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ96LGr5YmnJnBhZ2U9I+iKsem8k+aIjyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ96Iqx6byT5oiPJnBhZ2U9I+W4g+iii+aIjyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95biD6KKL5oiPJnBhZ2U9I+ayquWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95rKq5YmnJnBhZ2U9I+aYhuabsiQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95piG5puyJnBhZ2U9I+a9ruaxleWwj+WTgSQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95r2u5rGV5bCP5ZOBJnBhZ2U9I+S6jOS6uui9rCQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95LqM5Lq66L2sJnBhZ2U9I+W+veWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95b695YmnJnBhZ2U9I+enpuiFlCQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ956em6IWUJnBhZ2U9I+WxseS4nOaihuWtkCQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95bGx5Lic5qKG5a2QJnBhZ2U9I+a3ruWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ95reu5YmnJnBhZ2U9I+mbgeWJpyQveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJmtleXdvcmQ96ZuB5YmnJnBhZ2U9IiwgCiJob3V6aHVpIjogIiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJqaWVxdXFpYW4iOiAi56m6IiwKImppZXF1aG91IjogIuepuiIsCiJqaWVxdXNodXp1cWlhbiI6ICJ7XCJ0eXBlXCI6XCJ2aWRlbyIsICAgCiJqaWVxdXNodXp1aG91IjogImJhZGdlcGF5IiwKInR1cGlhbnFpYW4iOiAiXCJwaWNcIjpcIiIsIAoidHVwaWFuaG91IjogIlwiIiwKInR1cGlhbnFpYW56aHVpIjogImh0dHA6IiwKImZ1Ymlhb3RpcWlhbiI6ICJkdXJhdGlvblwiOlwiIiwgCiJmdWJpYW90aWhvdSI6ICJcIiIsCiJsaWFuamllcWlhbiI6ICJcImJ2aWRcIjpcIiIsCiJsaWFuamllaG91IjogIlwiIiwKImxqcWlhbnpodWkiOiAiaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tL3ZpZGVvLyIsCiJiaWFvdGlxaWFuIjogIlwidGl0bGVcIjpcIiIsCiJiaWFvdGlob3UiOiAiXCIsIiwKInNvdXN1b2hvdXpodWkiOiAiL3ZvZGRldGFpbC8iLAoianNwaWMiOiAicGljIiwKImpzbmFtZSI6ICJuYW1lIiwKImpzaWQiOiAiaWQiLAoic291c3VvcWlhbiI6ICIveC93ZWItaW50ZXJmYWNlL3NlYXJjaC90eXBlP3NlYXJjaF90eXBlPXZpZGVvJnBhZ2U9MSZwYWdlX3NpemU9MTYma2V5d29yZD0iLAoic291c3VvaG91IjogIiIsCiJzc21vc2hpIjogIjEiLAoic291c3Vvc2hpZm91ZXJjaWppZXF1IjogIjAiLAoic3NqaWVxdXFpYW4iOiAi56m6IiwKInNzamllcXVob3UiOiAi56m6IiwKInNzamllcXVzaHV6dXFpYW4iOiAie1widHlwZVwiOlwidmlkZW8iLAoic3NqaWVxdXNodXp1aG91IjogImNvcm5lciIsCiJzc3R1cGlhbnFpYW4iOiAiXCJwaWNcIjpcIiIsCiJzc3R1cGlhbmhvdSI6ICJcIiIsCiJzc3R1cGlhbnFpYW56aHVpIjogImh0dHA6IiwKInNzYmlhb3RpcWlhbiI6ICJhdXRob3JcIjpcIiIsCiJzc2JpYW90aWhvdSI6ICJcIiIsCiJzc2xpYW5qaWVxaWFuIjogIlwiYnZpZFwiOlwiIiwKInNzbGlhbmppZWhvdSI6ICJcIiIsCiJzc2xqcWlhbnpodWkiOiAiaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tL3ZpZGVvLyIsCiJiZnNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImJmamllcXVxaWFuIjogIuepuiIsCiJiZmppZXF1aG91IjogIuepuiIsCiJiZmppZXF1c2h1enVxaWFuIjogIlwicGFnZXNcIiIsCiJiZmppZXF1c2h1enVob3UiOiAiXSIsCiJ6aHVhbmd0YWlxaWFuIjogIlB1Ymxpc2hlZFwiIGNvbnRlbnQ9XCIiLAoiemh1YW5ndGFpaG91IjogIlwiIiwKImRhb3lhbnFpYW4iOiAiYXV0aG9yXCIgY29udGVudD1cIiIsICAgCiJkYW95YW5ob3UiOiAiXCIiLAoiemh1eWFucWlhbiI6ICJ0bmFtZVwiOlwiIiwgICAKInpodXlhbmhvdSI6ICJcIiIsCiJqdXFpbmdxaWFuIjogInJhd190ZXh0XCI6XCIiLAoianVxaW5naG91IjogIlwiIiwKImJmeXNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImJmeWppZXF1cWlhbiI6ICLnqboiLAoiYmZ5amllcXVob3UiOiAi56m6IiwKImJmeWppZXF1c2h1enVxaWFuIjogInsiLAoiYmZ5amllcXVzaHV6dWhvdSI6ICJ9IiwKImJmYmlhb3RpcWlhbiI6ICJwYXJ0XCI6XCIiLAoiYmZiaWFvdGlob3UiOiAiXCIiLAoiYmZsaWFuamllcWlhbiI6ICJwYWdlXCI6IiwKImJmbGlhbmppZWhvdSI6ICIsIiwKImJmcWlhbnpodWkiOiAiP3A9In0="}, +{"key": "自选网页", +"title": "FM电台", +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", +"custom": "eyJuYW1lIjogIkZN55S15Y+wIiwKInVybCI6ICJodHRwczovL3d3dy5xaW5ndGluZy5mbS9yYWRpb3BhZ2UvIiwKInVhIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS84OC4wLjQzMjQuMTUwIFNhZmFyaS81MzcuMzYiLAoiVXNlciI6ICLnqboiLAoi5piv5ZCm6K6w5b2V5Y6G5Y+yIjogIjEiLAoi55u05o6l5pKt5pS+IjogIjEiLAoiZmVubGVpIjogIuWMl+S6rCQzLyPlpKnmtKUkNS8j5rKz5YyXJDcvI+S4iua1tyQ4My8j5bGx6KW/JDE5LyPlhoXokpnlj6QkMzEvI+i+veWugSQ0NC8j5ZCJ5p6XJDU5LyPpu5HpvpnmsZ8kNjkvI+axn+iLjyQ4NS8j5rWZ5rGfJDk5LyPlronlvr0kMTExLyPnpo/lu7okMTI5LyPmsZ/opb8kMTM5LyPlsbHkuJwkMTUxLyPmsrPljZckMTY5LyPmuZbljJckMTg3LyPmuZbljZckMjAyLyPlub/kuJwkMjE3LyPlub/opb8kMjM5LyPmtbfljZckMjU0LyPph43luoYkMjU3LyPlm5vlt50kMjU5LyPotLXlt54kMjgxLyPkupHljZckMjkxLyPpmZXopb8kMzE2LyPnlJjogoMkMzI3LyPlroHlpI8kMzUxLyPmlrDnloYkMzU3LyPopb/ol48kMzA4LyPpnZLmtbckMzQyLyPnvZHnu5zlj7AkNDA3LyPotYTorq/lj7AkNDMzLyPpn7PkuZDlj7AkNDQyLyPkuqTpgJrlj7AkNDI5LyPnu4/mtY7lj7AkNDM5LyPmlofoibrlj7AkNDMyLyPpg73luILlj7AkNDQxLyPkvZPogrLlj7AkNDMwLyPlj4zor63lj7AkNDMxLyPnu7zlkIjlj7AkNDQwLyPnlJ/mtLvlj7AkNDM4LyPml4XmuLjlj7AkNDM1LyPmm7Loibrlj7AkNDM2LyPmlrnoqIDlj7AkNDM0LyIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIjEiLAoic2hpZm91ZXJjaWppZXF1IjogIjAiLAoiamllcXVxaWFuIjogIlsiLAoiamllcXVob3UiOiAiXSIsCiJqaWVxdXNodXp1cWlhbiI6ICJjbGFzcz1cImNvbnRlbnQtaXRlbS1yb290IiwKImppZXF1c2h1enVob3UiOiAiY2xhc3M9XCJpdGVtVGl0bGVSYWRpb1wiIiwKInR1cGlhbnFpYW56aHVpIjogImh0dHBzOiIsCiJ0dXBpYW5xaWFuIjogInNyYz1cIiIsCiJ0dXBpYW5ob3UiOiAiXCIiLAoiYmlhb3RpcWlhbiI6ICJhbHQ9XCIiLAoiYmlhb3RpaG91IjogIlwiIiwKImxpYW5qaWVxaWFuIjogIi9yYWRpb3MvIiwKImxpYW5qaWVob3UiOiAiXCIiLAoibGpxaWFuemh1aSI6ICJodHRwczovL2xodHRwLnFpbmd0aW5nLmZtL2xpdmUvIiwKImxqaG91emh1aSI6ICIvNjRrLm1wMyJ9"}, +{"key": "自选网页", +"title": "jrs", +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", +"custom": "eyJuYW1lIjogIuS9k+iCsi1qcnMiLAoidXJsIjogImh0dHA6Ly93d3cuanJza2FuLmNvbSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJqaWVxdXFpYW4iOiAi56m6IiwKImppZXF1aG91IjogIuepuiIsCiJqaWVxdXNodXp1cWlhbiI6ICI8dWwgY2xhc3M9XCJpdGVtIHBsYXkiLAoiamllcXVzaHV6dWhvdSI6ICI8L3VsPiIsCiJ0dXBpYW5xaWFuIjogInNyYz1cIiIsCiJ0dXBpYW5ob3UiOiAiXCIiLAoiYmlhb3RpcWlhbiI6ICJjbGFzcz1cImxhYl90ZWFtX2hvbWVcIj4iLAoiYmlhb3RpaG91IjogIjxsaSBjbGFzcz1cImxhYl9iY1wiIiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSIsCiJsaWFuamllaG91IjogIlwiIiwKImxqcWlhbnpodWkiOiAiaHR0cDovL3BsYXkuc3BvcnRzdGVhbTMzMy5jb20iLAoiZnViaWFvdGlxaWFuIjogImNsYXNzPVwibGFiX3RpbWVcIj4iLAoiZnViaWFvdGlob3UiOiAiPC9saT4iLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJjbGFzcz1cInN1Yl9wbGF5bGlzdFwiIiwKImJmamllcXVzaHV6dWhvdSI6ICJ8IiwKInpodWFuZ3RhaXFpYW4iOiAiY2xhc3M9XCJvdGhlcmJveFwiPiIsCiJ6aHVhbmd0YWlob3UiOiAiPC9wPiIsCiJkYW95YW5xaWFuIjogIuWvvOa8lO+8mjwvc3Bhbj4iLAoiZGFveWFuaG91IjogIjwvcD4iLAoiemh1eWFucWlhbiI6ICLkuLvmvJTvvJo8L3NwYW4+IiwKInpodXlhbmhvdSI6ICI8L3A+IiwKImp1cWluZ3FpYW4iOiAiPHNwYW4gY2xhc3M9XCJkYXRhXCIiLAoianVxaW5naG91IjogIjwvc3Bhbj4iLAoiYmZ5c2hpZm91ZXJjaWppZXF1IjogIjAiLAoiYmZ5amllcXVxaWFuIjogIuepuiIsCiJiZnlqaWVxdWhvdSI6ICLnqboiLAoiYmZ5amllcXVzaHV6dXFpYW4iOiAiPGEiLAoiYmZ5amllcXVzaHV6dWhvdSI6ICIvYT4iLAoiYmZiaWFvdGlxaWFuIjogIjxzdHJvbmc+IiwKImJmYmlhb3RpaG91IjogIjwvc3Ryb25nPiIsCiJiZmxpYW5qaWVxaWFuIjogImRhdGEtcGxheT1cIiIsCiJiZmxpYW5qaWVob3UiOiAiXCIiLAoiYmZxaWFuemh1aSI6ICJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSJ9"}, +{"key": "自选网页", +"title": "直播吧", +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", +"custom": "CnsibmFtZSI6ICLkvZPogrItemI4IiwKInVybCI6ICJodHRwczovL3d3dy56aGlibzgubmV0IiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuebtOaOpeaSreaUviI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImNsYXNzPVwibWF0Y2gtaXRlbVwiIiwKImppZXF1c2h1enVob3UiOiAiPC9hPiIsCiJ0dXBpYW5xaWFuIjogImh0dHBzOi8vaW1nMC5iYWlkdS5jb20vaXQvdT05NTk2MDcwNDMsMTA1NDIzNzUyMCZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz00MTcmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtaG9tZSBmbGV4XCI+IiwKImJpYW90aWhvdSI6ICI8L2Rpdj4iLAoidHVwaWFucWlhbnpodWkiOiAi56m6IiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogIuepuiIsCiJmdWJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtdGltZVwiPiIsCiJmdWJpYW90aWhvdSI6ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+In0="}, +{"key": "自选网页", +"title": "抓饭直播", +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", +"custom": "CnsibmFtZSI6ICLmipPppa3nm7Tmkq0iLAoidXJsIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2giLAoidWEiOiAiTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18yXzMgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzEzLjAuMyBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLnm7TmjqXmkq3mlL4iOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMSIsCiJqaWVxdXFpYW4iOiAiXCJjaGFubmVsc1wiIiwKImppZXF1aG91IjogIl0iLAoiamllcXVzaHV6dXFpYW4iOiAieyIsCiJqaWVxdXNodXp1aG91IjogIn0iLAoidHVwaWFucWlhbiI6ICJcImltYWdlVXJsXCI6XCIiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiXCJjbmFtZVwiOlwiIiwKImJpYW90aWhvdSI6ICJcIiIsCiJsaWFuamllcWlhbiI6ICJcImlkXCI6XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2gvIiwKImZ1Ymlhb3RpcWlhbiI6ICJcImNhdGVnb3J5TmFtZVwiOlwiIiwKImZ1Ymlhb3RpaG91IjogIlwiIn0="}, +{"key": "自选网页", +"title": "928直播", +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", +"custom": "eyJuYW1lIjogIjkyOOebtOaSrSIsCiJ1cmwiOiAiaHR0cDovL3d3dy45MjgudHYiLAoidWEiOiAiTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18yXzMgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzEzLjAuMyBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMSIsCiJVc2VyIjogIlJlZmVyZXIkaHR0cDovL3BsYXkuOTI4LnR2LyIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLnm7TmjqXmkq3mlL4iOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJqaWVxdXFpYW4iOiAiWyIsCiJqaWVxdWhvdSI6ICJdIiwKImppZXF1c2h1enVxaWFuIjogIm56dy1vLXQiLAoiamllcXVzaHV6dWhvdSI6ICI8L2E+IiwKInR1cGlhbnFpYW4iOiAiaHR0cHM6Ly9pbWcwLmJhaWR1LmNvbS9pdC91PTk1OTYwNzA0MywxMDU0MjM3NTIwJmZtPTI1MyZmbXQ9YXV0byZhcHA9MTM4JmY9SlBFRz93PTQxNyZoPTUwMCIsCiJ0dXBpYW5ob3UiOiAiXCIiLAoiYmlhb3RpcWlhbiI6ICJ6aHVkdWlfd3V5ZFwiPiIsCiJiaWFvdGlob3UiOiAiPC9zZWN0aW9uPiIsCiJsaWFuamllcWlhbiI6ICJocmVmPVwiaHR0cCIsCiJsaWFuamllaG91IjogIlwiIiwKImxqcWlhbnpodWkiOiAiaHR0cCIsCiJmdWJpYW90aXFpYW4iOiAidC1uemYtbz1cIiIsCiJmdWJpYW90aWhvdSI6ICJcIiJ9"}, +{"key": "自选网页", +"title": "88看球", +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", +"custom": "CnsibmFtZSI6ICLkvZPogrItODjnnIvnkIMiLAoidXJsIjogImh0dHA6Ly93d3cuODhrYW5xaXUuY29tIiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImdyb3VwLWdhbWUtaXRlbSIsCiJqaWVxdXNodXp1aG91IjogIjwvbGk+IiwKInR1cGlhbnFpYW4iOiAiaHR0cHM6Ly9pbWcwLmJhaWR1LmNvbS9pdC91PTE4NDU5NzgxLDcyNjI4OTM2MiZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz04MDAmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAidGV4dC1yaWdodFwiPiIsCiJiaWFvdGlob3UiOiAiPGRpdiBkYXRhLWlkIiwKInR1cGlhbnFpYW56aHVpIjogIuepuiIsCiJsaWFuamllcWlhbiI6ICJocmVmPSciLAoibGlhbmppZWhvdSI6ICInIiwKImxqcWlhbnpodWkiOiAi56m6IiwKImZ1Ymlhb3RpcWlhbiI6ICJyb2xlPVwiYnV0dG9uXCI+IiwKImZ1Ymlhb3RpaG91IjogIjwiLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJcImdhbWUtdmlkZW9zLWJ0bi1jb250YWluZXJcIiIsCiJiZmppZXF1c2h1enVob3UiOiAiPC9kaXY+IiwKImJmeXNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImJmeWppZXF1cWlhbiI6ICLnqboiLAoiYmZ5amllcXVob3UiOiAi56m6IiwKImJmeWppZXF1c2h1enVxaWFuIjogIjxhIiwKImJmeWppZXF1c2h1enVob3UiOiAiL2E+IiwKImJmYmlhb3RpcWlhbiI6ICI+IiwKImJmYmlhb3RpaG91IjogIjwiLAoiYmZsaWFuamllcWlhbiI6ICJocmVmPSciLAoiYmZsaWFuamllaG91IjogIicifQ=="} +], + +"zhuyejiekou": [ +{"name": "cs","url": "http://app.mengdandan.com/xgapp.php/v1/"} +], + +"caijizhan": [ +{"name":"七七","url":"http://api.kunyu77.com/api.php"}, +{"name":"多多资源","url":"https://www.ddzyz1.com/api.php"} +], + +"zhujiexi":[ +{"name":"主解1","url":"http://211.99.99.236:4567/jhjson/ceshi.php?url="}, +{"name":"主解2", "url": "https://hc.izny.cn/json.php?url="}, +{"name":"主解3","url":"https://json.freejx.in/?url="}, +{"name":"主解4","url":"http://tgjx.itcker.com/api/?key=u7eWwiakUR1L6KS4sj&url="}, +{"name":"主解5","url":"https://apd-vlive-apdcdn-tc-qq.com.ytlngy.com/Token.php?url="}, +{"name":"主解6","url":"https://k.json.icu/home/api?type=ys&uid=4274082&key=ajlrtuvwIJNOPQSX03&url="}, +{"name":"主解7","url":"http://110.42.2.115:880/analysis/json/?uid=2284&my=efghjmxzADEFIS0268&url="}, +{"name":"主解8","url":"http://119.91.206.244:9999/jx/hfys.php?url="}, +{"name":"主解9","url":"https://play.fuqizhishi.com/juhe/API.php?appkey=caijijuhe220902&url="}, +{"name":"主解10","url":"http://45.253.64.126:7879/qpjxzy/TV/qpyzzyjxtv.php?url="}, +{"name": "主解11","url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=bfijlnovBCEGHJTV09&url="}, +{"name": "主解12","url":"http://api.ckflv.cn/?url="}, +{"name": "主解13","url":"https://play.fuqizhishi.com/ggtv/API.php?appkey=QQ172598364&url="} +], + +"beiyongjiexi": [ +{"name":"备解1","url":"https://okjx.cc/?url="}, +{"name":"备解2", "url": "https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解3","url":"https://jx.iztyy.com/svip/?url="}, +{"name":"备解4","url":"https://jx.xmflv.com/?url="}, +{"name":"备解5","url":"https://www.pangujiexi.com/pangu/?url="} +], +"dianshizhibo": "http://ht.grelighting.cn/html/zb.txt", +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#?video_id=", +"guolvdizhi": ".gif#.css#.html#51.la#?url=#cnzz.com#baidu.com#tootw.com#auete.com#bilibili.com", + +"zidingyi": [ +{"name": "皮皮泡", +"url": "https://www.pipipao.com", +"User": "User-Agent$123", +"fenlei": "国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/#电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "class=\"more", +"线路名截取数组后": "
    ", +"线路名标题前": "/>", +"线路名标题后": "

    ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "class=\"text-muted\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"text-muted\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ +"name": "乐猪影视", +"url": "http://www.lezhutv.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "User-Agent$123", +"fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vbox\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search-pg-1-wd-", +"sousuohou": ".html&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"vbox\"", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"ssfubiaotiqian": "", +"ssfubiaotihou": "", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list_block show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name": "七小时影院", +"url": "http://www.qxsyy.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/type/1-#电视剧$/type/2-#综艺$/type/3-#动漫$/type/4-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "", +"jiequhou": "", +"jiequshuzuqian": "lazyload", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"/vod/", +"lianjiehou": ".html\"", +"ljqianzhui": "http://www.qxsyy.com/play/", +"ljhouzhui": "-1-1.html", +"搜索请求方式": "0", +"ssmoshi": "0", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/play/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"ssfubiaotiqian": "空", +"ssfubiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"ssljhouzhui": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "空", +"线路名截取后": "空", +"线路名截取数组前": "data-toggle=\"tab\"", +"线路名截取数组后": "/a>", +"线路名标题前": ">", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"text-muted hidden-xs\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"col-pd text-collapse content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "空", +"bfhouzhui": "空", +"bfjiexi": "空"}, +{ +"name": "LIBVIO", +"url": "https://www.libvio.me", +"User": "User-Agent$123", +"fenlei": "最近更新$/show/19--------#电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------#动画片$/show/1---动画-----#纪录片$/show/21--------#国产剧$/show/13--------#日韩剧$/show/15--------#欧美剧$/show/16--------#港台剧$/show/14--------#泰国剧$/show/2-泰国-------#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#恐怖片$/show/1---恐怖-----#动作片$/show/1---动作-----#科幻片$/show/1---科幻-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#警匪片$/show/1---警匪-----#犯罪片$/show/1---犯罪-----#奇幻片$/show/1---奇幻-----#武侠片$/show/1---武侠-----#冒险片$/show/1---冒险-----", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "class=\"stui-vodlist__detail\"", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "icon-iconfontplay2\"", +"线路名截取数组后": "/h3>", +"线路名标题前": ">", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data\">总集数:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">类型:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "影视工厂", +"url": "http://www.ysgc.cc", +"User": "User-Agent$123", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画片$/vodshow/1---动画-----#纪录片$/vodshow/24--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#海外剧$/vodshow/20--------#番剧(B站)$/vodshow/26--------#国创(B站)$/vodshow/27--------#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#悬疑片$/vodshow/1---悬疑-----#惊悚片$/vodshow/1---惊悚-----#犯罪片$/vodshow/1---犯罪-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#奇幻片$/vodshow/1---奇幻-----#武侠片$/vodshow/1---武侠-----#古装片$/vodshow/1---古装-----#冒险片$/vodshow/1---冒险-----#历史片$/vodshow/1---历史-----#歌舞片$/vodshow/1---歌舞-----#家庭片$/vodshow/1---家庭-----#网络片$/vodshow/1---网络-----", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "1", +"线路名截取前": "
      ", +"线路名截取数组前": "", +"线路名标题前": ">", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name": "幻听网听书", +"url": "http://www.ting38.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"fenlei": "玄幻奇幻$/ting/1-#鬼怪故事$/ting/2-#网络热门$/ting/3-#都市言情$/ting/4-#历史军事$/ting/5-#经典纪实$/ting/6-#官场商战$/ting/7-#通俗文学$/ting/8-#刑侦推理$/ting/9-#科幻修真$/ting/10-#武侠仙侠$/ting/11-#人物传记$/ting/12-#幽默笑话$/ting/28-#评书相声$/ting/29-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuohouzhui": "/book/", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"v-thumb stui-vodlist__thumb", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"ssfubiaotiqian": "class=\"pic-text text-right\">", +"ssfubiaotihou": "", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "作者", +"daoyanhou": "

    ", +"zhuyanqian": "主播:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""}, +{"name": "中文听书网", +"url": "https://m.tingzh.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "空", +"图片请求头": "Referer$https://m.tingzh.com/", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "玄幻$/list/1-#武侠$/list/2-#都市$/list/3-#言情$/list/4-#科幻$/list/5-#历史$/list/9-#军事$/list/10-#推理$/list/6-#恐怖$/list/7-#惊悚$/list/8-#广播$/list/29-#儿童$/list/27-#财经$/list/12-#评述$/list/13-#相声$/list/14-#百家讲坛$/list/28-#通俗$/list/32-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"bookbox\"", +"jiequshuzuhou": "class=\"intro_line\"", +"tupianqian": "orgsrc=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "class=\"bookname\">", +"biaotihou": "", +"lianjieqian": "bookid=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://m.tingzh.com/book/", +"ljhouzhui": ".html", +"fubiaotiqian": "状态:", +"fubiaotihou": "", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "&Submit=", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"bookbox\"", +"ssjiequshuzuhou": "class=\"intro_line\"", +"sstupianqian": "orgsrc=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "class=\"bookname\">", +"ssbiaotihou": "", +"sslianjieqian": "bookid=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://m.tingzh.com/book/", +"ssljhouzhui": ".html", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "
    状态:", +"zhuangtaihou": "", +"daoyanqian": "
    作者:", +"daoyanhou": "", +"zhuyanqian": "
    播音:", +"zhuyanhou": "", +"juqingqian": "class=\"book_intro\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""}, +{ +"name": "DJ音乐", +"url": "http://www.djuu.com", +"User": "空", +"禁用搜索": "1", +"是否记录历史": "1", +"直接播放": "1", +"横图显示": "0", +"列表显示": "1", +"fenlei": "热播$/search?musicname=热播&list=2&cid=0&page=#抖音热门$/search?musicname=%E6%8A%96%E9%9F%B3&list=2&cid=0&page=#经典旋律$/search?musicname=经典旋律&list=2&cid=0&page=#迪高串烧$/djlist/1_#喊麦串烧$/djlist/12_#中文串烧$/djlist/13_#外语串烧$/djlist/14_#中英串烧$/djlist/96_#慢摇串烧$/djlist/2_#喊麦串烧$/djlist/15_#Electro$/djlist/22_#ProgHouse$/djlist/26_#FunkyHouse$/djlist/99_#喊麦更多$/djlist/27_#慢摇中文串烧$/djlist/16_#慢歌串烧$/djlist/3_#中文Remix$/djlist/4_#外文Remix$/djlist/5_#越南鼓$/djlist/6_#酒吧风格$/djlist/7_#Mashup$/djlist/8_#中文DISCO$/djlist/9_#外文DISCO$/djlist/10_#交谊舞曲$/djlist/11_", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"isgood_list\">", +"jiequshuzuhou": "", +"tupianqian": "img src=\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "class=\"sc_1\">TIME", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"" +} +] +} \ No newline at end of file diff --git a/调试助手/biu999.json b/调试助手/biu999.json new file mode 100644 index 0000000..062e204 --- /dev/null +++ b/调试助手/biu999.json @@ -0,0 +1,2681 @@ +{"zhuyejiekou": [ +{"name":"团夕影视","url":"https://www.kan365.xyz/api.php/app/"}, +{"name":"巫巫巫电视迷","url":"http://35ys.cc/api.php/v1.vod"}, +{"name":"vip院线","url":"https://vip.wscyun.com/api.php/v1.vod"}, +{"name":"爱看美剧","url":"https://www.uumjw.com/api.php/v1.vod"}, +{"name":"美剧范","url":"http://ttzmz.net/api.php/v1.vod"}, +{"name":"美剧虫","url":"https://meijuchong.com/api.php/v1.vod"}, +{"name":"特狗影视","url":"https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"飓风影视","url":"http://yidayy.top/lehailb_api.php/v1.vod"}, +{"name":"展宁秒播","url":"http://mkk.gotka.top/api.php/v1.vod"}, +{"name":"超速资源","url":"https://vip.wscyun.com/api.php/v1.vod"}, +{"name":"乐云影视","url":"https://www.leyun.tv/api.php/v1.vod"}, +{"name":"六神秒播","url":"http://mkk.gotka.top/api.php/v1.vod"}, +{"name":"暖光影视","url":"https://app.bl210.com/api.php/v1.vod"}, +{"name":"极酷视频","url":"https://jiku.vip/mogai_api.php/v1.vod"}, +{"name":"橘子电影","url":"http://jz.juzidy.vip/mogai_api.php/v1.vod"}, +{"name":"痞痞狸","url":"http://app.ppli.xyz/api.php/v1.vod"}, +{"name":"独播社","url":"http://35ys.cc/api.php/v1.vod"}, +{"name":"瑞丰影视","url":"http://121.204.249.135:4433/ruifenglb_api.php/v1.vod"}, +{"name":"段友影视","url":"http://js.66app.me/api.php/app/"}, +{"name":"段友2影视","url":"https://shangjihuoke.com/api.php/tv.vod"}, +{"name":"69美剧","url":"https://www.69mj.com/api.php/v1.vod"}, +{"name":"奇飞专线","url":"http://mkk.gotka.top/api.php/v1.vod"}, +{"name":"三日影视","url":"https://www.3ri.net/api.php/v1.vod"}, +{"name":"奈非迷","url":"https://app.netflixmi.com/api.php/v1.vod"}, +{"name":"湃黎影视","url":"http://app.ppli.xyz/api.php/v1.vod"}, +{"name":"WSC","url":"https://vip.wscyun.com/api.php/v1.vod"}, +{"name":"开尔影院","url":"https://appx.uy07.com/api.php/v1.vod"}, +{"name":"余生影视","url":"http://yu.cuicanys.cn/lvdou_api.php/v1.vod"}, +{"name":"爱酷影视","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"阿里影视","url":"http://aliys.cn:90/api.php/v1.vod"}, +{"name":"懒猫影视","url":"https://lanmao.lanmaoymw.cn/api.php/v1.vod"}, +{"name":"嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"影视猫","url":"https://vip.wscyun.com/api.php/v1.vod"}, +{"name":"艾特影视","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"天空影视","url":"https://tkys.tv/xgapp.php/v1/"}, +{"name":"天空影视","url":"https://www.tkys.tv/xgapp.php/v2/"}, +{"name":"迪迪影院","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"七彩影视","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"南府影视","url":"http://iapp.nfuxs.club/nfuxs.php/v1.vod"}, +{"name":"小软阁","url":"https://jiku.vip/mogai_api.php/v1.vod"}, +{"name":"影视大全","url":"http://app.269w.com/api.php/v1.vod"}, +{"name":"影视大全2","url":"https://app.okmedcos.com/api.php/v1.vod"}, +{"name":"猫看看","url":"http://mkk.gotka.top/api.php/v1.vod"}, +{"name":"粉象视界","url":"http://42.157.129.15:34444/lvdou_api.php/v1.vod"}, +{"name":"百淘影视","url":"http://ys.58g8.com/lvdou_api.php/v1.vod"}, +{"name":"看看视频","url":"http://888.ccboke.top/ruifenglb_api.php/v1.vod"}, +{"name":"免费影视","url":"http://111.229.120.180:88/lvdou_api.php/v1.vod"}, +{"name":"U5影视","url":"https://appx.uy07.com/api.php/v1.vod"}, +{"name":"万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"饭后电影","url":"http://yinliub.cn/lvdou_api.php/v1.vod"}, +{"name":"双鹿影院","url":"http://cr.slidc.top/mubai_api.php/m2.vod"}, +{"name":"看剧吧","url":"http://app.ishen520.com/api.php/v1.vod"}, +{"name":"熊猫视频","url":"http://anegh.com/lvdou_api.php/v1.vod"}, +{"name":"月儿影视","url":"https://yue52.xyz/api.php/v1.vod"}, +{"name":"渔渔影视","url":"http://luobo.yugenye.site/api.php/v1.vod"}, +{"name":"零刻影院","url":"https://ys.ling00.cn/api.php/v1.vod"}, +{"name":"躺平影视","url":"http://www.lltpys.com/api.php/app/"}, +{"name":"飓风影视2","url": "http://jf.35ys.cc/lehailb_api.php/v1.vod"}, +{"name":"益达影院","url":"http://luobu.yss6080.com/mogai_api.php/v1.vod"}, +{"name":"淘剧社","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"兔子窝","url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod"}, +{"name":"快云影音","url":"https://www.kuaiyunyy.com/api.php/app/"}, +{"name":"QC影视","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"U5影视","url":"https://appx.uy07.com/api.php/v1.vod"}, +{"name":"黄河影视","url":"http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"冷视TV","url":"https://len.tv/api.php/v1.vod"}, +{"name":"天天视频","url":"http://app.qianju.cc/api.php/v1.vod"}, +{"name":"913e影视","url":"http://www.913e.net/xgapp.php/v1/"}, +{"name":"海胆影视","url":"http://xf123.cc/api.php/app/"} +], +"caijizhan": [ +{"name":"酷云七七","url":"http://api.kunyu77.com/api.php"}, +{"name":"苹果采集","url":"http://107.150.5.146:39000/maccms10-main/api.php"}, +{"name":"特狗影视","url":"http://tv.tegouys.com/api.php/iptv/vod/"}, +{"name":"狐狸资源","url":"https://api.foxzyapi.com/api.php"}, +{"name":"猫咪影视","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"酷猫影视","url":"https://www.pgcms10.com/api.php"}, +{"name":"小猫咪","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"毒蜥蜴","url":"https://www.duxiyi.com/api.php"}, +{"name":"77电影","url":"https://www.77diany.com/api.php"}, +{"name":"官采","url":"http://vip-01.uzr.me:2001/api.php"}, +{"name":"百度精品","url":"https://api.apibdzy.com/api.php"}, +{"name":"每天看看","url":"http://47.113.126.237:1234/api.php"}, +{"name":"考拉TV","url":"https://ikaola.tv/api.php"}, +{"name":"天堂影视","url":"http://vipmv.cc/api.php"}, +{"name":"诺讯资源","url":"https://caiji.nxflv.com/api.php"}, +{"name":"智妍采集","url":"http://www.zycaiji.net:7788/api.php"}, +{"name":"江北资源","url":"https://gfzycj.hnmj.vip/api.php"}, +{"name":"樱花资源","url":"https://yhzy.cc/api.php"}, +{"name":"奇粹影视","url":"http://www.blssv.com/api.php"}, +{"name":"新浪采集","url":"https://api.xinlangapi.com/xinlangapi.php"}, +{"name":"7788资源","url":"http://www.zycaiji.net:7788/api.php"}, +{"name":"39影视","url":"https://www.39kan.com/api.php"}, +{"name":"韦青资源","url":"https://lehootv.com/api.php"}, +{"name":"TVB云播","url":"http://www.hktv03.com/api.php"}, +{"name":"红牛资源","url":"https://www.hongniuzy2.com/api.php"}, +{"name":"无尽资源","url":"https://api.wujinapi.com/api.php"}, +{"name":"快播资源","url":"http://www.kuaibozy.com/api.php"}, +{"name":"乐活资源","url":"https://lehootv.com/api.php"}, +{"name":"FOX资源","url":"https://api.foxzyapi.com/api.php"}, +{"name":"M3U8.TV资源","url":"http://www.zycaiji.net:7788/api.php"}, +{"name":"番茄资源","url":"http://api.fqzy.cc/api.php"}, +{"name":"蓝光影视资源","url":"http://www.zzrhgg.com/api.php"}, +{"name":"飘花资源","url":"http://www.zzrhgg.com/api.php"}, +{"name":"丝袜采集🔞","url":"https://siwazyw.cc/api.php"}, +{"name":"91采集🔞","url":"https://91md.me/api.php"}, +{"name":"花椒🔞","url":"https://apihjzy.com/api.php"}, +{"name":"KK资源🔞","url":"https://kkzy.me/api.php"}, +{"name":"秀🔞","url":"https://api.xiuseapi.com/api.php"}, +{"name":"8090资源","url":"http://zy.yilans.net:8090/api.php"} +], +"lunbo": [ +{"name":"斗鱼一起看", +"fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMjA4Lw==", +"qianzhui":"aHR0cHM6Ly9tLmRvdXl1LmNvbS8="}, +{"name":"斗鱼舞蹈", +"fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTAwOC8=", +"qianzhui":"aHR0cHM6Ly9tLmRvdXl1LmNvbS8="}, +{"name":"斗鱼颜值", +"fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMzExLw==", +"qianzhui":"aHR0cHM6Ly9tLmRvdXl1LmNvbS8="}, +{"name":"斗鱼音乐", +"fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTc1Lw==", +"qianzhui":"aHR0cHM6Ly9tLmRvdXl1LmNvbS8="}, +{"name":"斗鱼户外", +"fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTI0Lw==", +"qianzhui":"aHR0cHM6Ly9tLmRvdXl1LmNvbS8="}, +{"name":"斗鱼二次元", +"fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTc0Lw==", +"qianzhui":"aHR0cHM6Ly9tLmRvdXl1LmNvbS8="}, +{"name":"斗鱼王者荣耀", +"fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTgxLw==", +"qianzhui":"aHR0cHM6Ly9tLmRvdXl1LmNvbS8="}, +{"name":"斗鱼趣生活", +"fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTA5Ny8=", +"qianzhui":"aHR0cHM6Ly9tLmRvdXl1LmNvbS8="}, +{"name":"虎牙一起看", +"fanye":"aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIxMzUmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9", +"qianzhui":"aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="}, +{"name":"虎牙星秀", +"fanye":"aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTE2NjMmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9", +"qianzhui":"aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="}, +{"name":"虎牙颜值", +"fanye":"aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIxNjgmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9", +"qianzhui":"aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="}, +{"name":"虎牙二次元", +"fanye":"aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTI2MzMmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9", +"qianzhui":"aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="}, +{"name":"虎牙户外", +"fanye":"aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIxNjUmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9", +"qianzhui":"aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="}, +{"name":"虎牙美食", +"fanye":"aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTI3NTImdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9", +"qianzhui": "aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2h1eWEv"}, +{"name":"虎牙体育", +"fanye":"aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIzNTYmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9", +"qianzhui":"aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="}, +{"name":"虎牙王者荣耀", +"fanye":"aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIzMzYmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9", +"qianzhui":"aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="}, +{"name": "虎牙怀旧游戏", +"fanye":"aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTEwMDEyNSZ0YWdBbGw9MCZjYWxsYmFjaz1nZXRMaXZlTGlzdEpzb25wQ2FsbGJhY2smcGFnZT0=", +"qianzhui":"aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2h1eWEv"}, +{"name":"B站一起看", +"fanye":"aHR0cHM6Ly9hcGkubGl2ZS5iaWxpYmlsaS5jb20veGxpdmUvd2ViLWludGVyZmFjZS92MS9zZWNvbmQvZ2V0TGlzdD9wbGF0Zm9ybT13ZWImcGFyZW50X2FyZWFfaWQ9MTAmYXJlYV9pZD0zMyZzb3J0X3R5cGU9b25saW5lJnBhZ2U9", +"qianzhui":"aHR0cDovL2Zhbmdzb25nLmxpdmUvaGxzL2JpbGkucGhwP2lkPQ=="}, +{"name":"B站舞见", +"fanye":"aHR0cHM6Ly9hcGkubGl2ZS5iaWxpYmlsaS5jb20veGxpdmUvd2ViLWludGVyZmFjZS92MS9zZWNvbmQvZ2V0TGlzdD9wbGF0Zm9ybT13ZWImcGFyZW50X2FyZWFfaWQ9MSZhcmVhX2lkPTIwNyZzb3J0X3R5cGU9b25saW5lJnBhZ2U9", +"qianzhui":"aHR0cDovL2Zhbmdzb25nLmxpdmUvaGxzL2JpbGkucGhwP2lkPQ=="}, +{"name":"B站放松", +"fanye":"aHR0cHM6Ly9hcGkubGl2ZS5iaWxpYmlsaS5jb20veGxpdmUvd2ViLWludGVyZmFjZS92MS9zZWNvbmQvZ2V0TGlzdD9wbGF0Zm9ybT13ZWImcGFyZW50X2FyZWFfaWQ9NSZhcmVhX2lkPTMzOSZzb3J0X3R5cGU9b25saW5lJnBhZ2U9", +"qianzhui":"aHR0cDovL2Zhbmdzb25nLmxpdmUvaGxzL2JpbGkucGhwP2lkPQ=="}, +{"name":"yy轮播", +"fanye":"aHR0cHM6Ly93d3cueXkuY29tL21vcmUvcGFnZS5hY3Rpb24/Yml6PXNpbmcmc3ViQml6PWlkeCZwYWdlPQ==", +"qianzhui":"aHR0cHM6Ly93d3cueXkuY29t"} +], +"zhujiexi": +"https://json.5lp.net/json.php?url= +#http://api.vip123kan.vip/?url= +#https://vip.aiaine.com/api/?key=8FN8gNAySnvJiMllxZ&url= +#http://svip.nicefamily.club/home/api?type=ys&uid=769560&key=chijkrtBEGNPRWXZ35&url= +#http://47.100.138.210:91/home/api?type=ys&uid=7593435&key=ehortuyAHMNQTWX457&url= +#https://jx.300ys.xyz/json/jianghu.php/?url= +#https://jhpc.manduhu.com/j1217.php?url= +#https://api.m3u8.tv:5678/home/api?type=ys&uid=1931000&key=gktuvyzABEORSYZ135&urI= +#https://json.hfyrw.com/mao.go?url=", +"beiyongjiexi": +"http://api.diliktv.xyz/vip/jx.php?url= +#https://nbjx.vip/?url= +#http://jx5.178du.com/p1/?url= +#https://jx.blbo.cc:4433/?url= +#https://jx.parwix.com:4433/player/?url= +#https://jx.xuanqi.pro/?url= +#https://www.nxflv.com/?url= +#http://47.100.138.210:92/?url= +#http://api.diliktv.xyz/vip/jx.php?url= +#https://vipjx.cc/?url= +#https://jx.aidouer.net/?url= +#https://svip.bljiex.cc/?v= +#https://bd.jx.cn/vip/?url= +#https://z1.m1907.cn/?jx= +#https://vip.2ktvb.com/player/?url=", +"dianshizhibo": "https://hk1.monika.love/airwooo/mt/main/biu/zhibo.txt", +"tiyuzhibo": "https://m.zhibo8.net", +"guolvdizhi": "player.css#url=#cnzz.com#51.la#poster#api.php#player", +"wuqu": "aHR0cDovL3d3dy5kanV1LmNvbQ==", +"Home": { +"dy": { +"class": "全部$&class=#喜剧$&class=喜剧#爱情$&class=爱情#动作$&class=动作#枪战$&class=枪战#犯罪$&class=犯罪#惊悚$&class=惊悚#恐怖$&class=恐怖#悬疑$&class=悬疑#动画$&class=动画#家庭$&class=家庭#奇幻$&class=奇幻#魔幻$&class=魔幻#科幻$&class=科幻#战争$&class=战争#青春$&class=青春#剧情$&class=剧情#西部$&class=西部#纪录$&class=记录#音乐$&class=音乐#歌舞$&class=歌舞#运动$&class=运动#历史$&class=历史#武侠$&class=武侠#冒险$&class=冒险#传记$&class=传记", +"area": "全部$&area=#内地$&area=内地#香港$&area=香港#美国$&area=美国#欧洲$&area=欧洲#韩国$&area=韩国#日本$&area=日本#泰国$&area=泰国#印度$&area=印度#其它$&area=其它", +"year": "全部$&lang=&year=#2022$&lang=&year=2022#2021$&lang=&year=2021#2020$&lang=&year=2020#2019$&lang=&year=2019#2018$&lang=&year=2018#2017$&lang=&year=2017#2016-2011$&lang=&year=2016#2010-2000$&lang=&year=2010#90年代$&lang=&year=90#80年代$&lang=&year=80#更早$&lang=&year=70" +}, +"dsj": { +"class": "全部$&class=#古装$&class=古装#言情$&class=言情#武侠$&class=武侠#偶像$&class=偶像#家庭$&class=家庭#青春$&class=青春#都市$&class=都市#喜剧$&class=喜剧#战争$&class=战争#军旅$&class=军旅#谍战$&class=谍战#悬疑$&class=悬疑#罪案$&class=罪案#穿越$&class=穿越#宫廷$&class=宫廷#历史$&class=历史#神话$&class=神话#科幻$&class=科幻#年代$&class=年代#农村$&class=农村#商战$&class=商战#剧情$&class=剧情#奇幻$&class=奇幻", +"area": "全部$&area=#内地$&area=内地#香港$&area=香港#美国$&area=美国#英国$&area=英国#韩国$&area=韩国#日本$&area=日本#泰国$&area=泰国#台湾$&area=台湾#其它$&area=其它", +"year": "全部$&lang=&year=#2022$&lang=&year=2022#2021$&lang=&year=2021#2020$&lang=&year=2020#2019$&lang=&year=2019#2018$&lang=&year=2018#2017$&lang=&year=2017#2016-2011$&lang=&year=2016#2010-2000$&lang=&year=2010#90年代$&lang=&year=90#80年代$&lang=&year=80#更早$&lang=&year=70" +}, +"zy": { +"class": "全部$&class=#表演$&class=表演#播报$&class=播报#访谈$&class=访谈#体验$&class=体验#养成$&class=养成#游戏$&class=游戏#亲子$&class=亲子#美食$&class=美食#情感$&class=情感#选秀$&class=选秀#益智$&class=益智#晚会$&class=晚会#音乐$&class=音乐#文化$&class=文化#喜剧$&class=喜剧#曲艺$&class=曲艺#职场$&class=职场#脱口秀$&class=脱口秀#真人秀$&class=真人秀#竞技$&class=竞技#体育$&class=体育#萌宠$&class=萌宠", +"area": "全部$&area=#内地$&area=内地#香港$&area=香港#美国$&area=美国#韩国$&area=韩国#日本$&area=日本#台湾$&area=台湾", +"year": "全部$&lang=&year=#2022$&lang=&year=2022#2021$&lang=&year=2021#2020$&lang=&year=2020#2019$&lang=&year=2019#2018$&lang=&year=2018#2017$&lang=&year=2017#2016-2011$&lang=&year=2016#2010-2000$&lang=&year=2010#90年代$&lang=&year=90#80年代$&lang=&year=80#更早$&lang=&year=70" +}, +"dm": { +"class": "全部$&class=#搞笑$&class=搞笑#番剧$&class=番剧#国创$&class=国创#大电影$&class=大电影#热血$&class=热血#催泪$&class=催泪#治愈$&class=治愈#励志$&class=励志#机战$&class=机战#战斗$&class=战斗#恋爱$&class=恋爱#科幻$&class=科幻#奇幻$&class=奇幻#魔幻$&class=魔幻#推理$&class=推理#校园$&class=校园#日常$&class=日常#经典$&class=经典#历史$&class=历史#美食$&class=美食#职场$&class=职场#偶像$&class=偶像#泡面$&class=泡面#冒险$&class=冒险#竞技$&class=竞技#武侠$&class=武侠#玄幻$&class=玄幻", +"area": "全部$&area=#内地$&area=内地#日本$&area=日本#欧美$&area=欧美#其它$&area=其它", +"year": "全部$&lang=&year=#2022$&lang=&year=2022#2021$&lang=&year=2021#2020$&lang=&year=2020#2019$&lang=&year=2019#2018$&lang=&year=2018#2017$&lang=&year=2017#2016-2011$&lang=&year=2016#2010-2000$&lang=&year=2010#90年代$&lang=&year=90#80年代$&lang=&year=80#更早$&lang=&year=70" +} +}, +"zidingyi": [ +{"name": "乐猪影视", +"url": "http://www.lezhutv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vbox\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search-pg-1-wd-", +"sousuohou": ".html", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"vbox\"", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list_block show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "在线之家", +"url": "https://www.zxzjtv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/list/1-#美剧$/list/2-#韩剧$/list/3-#日剧$/list/4-#泰剧$/list/5-#动漫$/list/6-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data \">类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "尘落影院", +"url": "https://v.xuangz.cn/", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/whole/2/page/#电影$/whole/1/page/#综艺$/whole/4/page/#动漫$/vodtype/3/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"movie-item-in", +"jiequshuzuhou": "class=\"item-hover", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"row tv-js-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态", +"zhuangtaihou": "", +"daoyanqian": "导演", +"daoyanhou": "", +"zhuyanqian": "主演", +"zhuyanhou": "", +"juqingqian": "border-radius: 4px", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "class=\"tv-js-btn\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "麻衣高清", +"url": "https://www.mayigq.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "1", +"fenlei": "剧集$/lists/2--------#动漫$/lists/3--------#动画片$/lists/1---动画-----#综艺$/lists/4--------#记录片$/lists/5--------#国产剧$/lists/2---国产-----#日韩剧$/lists/2---日韩-----#欧美剧$/lists/2---欧美-----#港台剧$/lists/2---港台-----#海外剧$/lists/2---国产-----#喜剧片$/lists/1---喜剧-----#爱情片$/lists/1---爱情-----#恐怖片$/lists/1---恐怖-----#动作片$/lists/1---动作-----#科幻片$/lists/1---科幻-----#剧情片$/lists/1---剧情-----#战争片$/lists/1---战争-----#警匪片$/lists/1---警匪-----#犯罪片$/lists/1---犯罪-----#奇幻片$/lists/1---奇幻-----#武侠片$/lists/1---武侠-----#冒险片$/lists/1---冒险-----#枪战片$/lists/1---枪战-----#悬疑片$/lists/1---悬疑-----#惊悚片$/lists/1---惊悚-----#青春片$/lists/1---青春-----#文艺片$/lists/1---文艺-----#古装片$/lists/1---古装-----#历史片$/lists/1---历史-----#运动片$/lists/1---运动-----#农村片$/lists/1---农村-----#儿童片$/lists/1---儿童-----", //网站列表的分类 +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "alt=\"", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/show/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"sort-item", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "vod_content\">", +"juqinghou": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"bz\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "      ", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href='", +"bflianjiehou": "'"}, +{"name": "七年影视", +"url": "https://www.lipinvip.com/", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"shouye": "1", +"fenlei": "电影$/vodshow/1--time------#国产剧$/vodshow/12--------#网剧$/vodshow/20--------#欧美剧$/vodshow/15--------#日韩剧$/vodshow/14--------#港台剧$/vodshow/13--------#海外剧$/vodshow/18--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"col-pd\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "小熊影视", +"url": "http://www.xxys520.com/", +"User": "空", +"shouye": "1", +"fenlei": "最新电影$/vodshow/1-----------2022/page/#最新国产剧$/vodshow/2-----------2022/page/#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#泰国剧$/vodtype/29-#其他剧$/vodtype/27-#动漫$/vodtype/3-#综艺$/vodtype/4-#纪录片$/vodtype/5-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "target=\"_blank\">", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "87影院", +"url": "https://87dyba.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "1", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/5--------#国产剧$/vodshow/201--------#港台剧$/vodshow/202--------#日韩剧$/vodshow/203--------#欧美剧$/vodshow/204--------#海外剧$/vodshow/205--------#国产动漫$/vodshow/4-中国大陆-------#日本动漫$/vodshow/4-日本-------#美国动漫$/vodshow/4-美国-------#韩国动漫$/vodshow/4-韩国-------#台湾动漫$/vodshow/4-中国台湾-------#动作片$/vodshow/101--------#喜剧片$/vodshow/102--------#爱情片$/vodshow/103--------#科幻片$/vodshow/104--------#剧情片$/vodshow/105--------#悬疑片$/vodshow/106--------#惊悚片$/vodshow/107--------#恐怖片$/vodshow/108--------#犯罪片$/vodshow/109--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"hl-item-thumb", +"jiequshuzuhou": "", +"zhuangtaihou": "", +"daoyanqian": "导演:
    ", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "花猫TV", +"url": "http://www.huamaotv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian":"class=\"stui-vodlist__item", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data\"", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name":"影视工厂", +"url":"https://www.ysgc.cc", +"tihuan":"cnzz.com", +"User":"空", +"fenlei":"电影$/vodshow/1--------#电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#番剧$/vodshow/26--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#武侠片$/vodshow/1---武侠-----", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"myui-vodlist__box\"", +"jiequshuzuhou":"", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"playlist", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"otherbox\">", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"style=\"display:none;\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""}, +{"name": "555电影", +"url": "https://www.555dy.fun", +"tihuan": "cnzz.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺纪录片$/vodtype/3-#动漫$/vodtype/4-#港台剧$/vodtype/15-#日韩剧$/vodtype/44-#欧美剧$/vodtype/45-", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"myui-vodlist clearfix", +"jiequhou": "", +"jiequshuzuqian": "class=\"myui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"data\" style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "饭团影院", +"url": "https://fantuan.tv", +"tihuan": "cnzz.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#韩国综艺$/vodtype/31-#动漫$/vodtype/4-#国产剧$/vodtype/13-#港剧$/vodtype/14-#韩剧$/vodtype/15-#美剧$/vodtype/16-#日剧$/vodtype/24-#泰剧$/vodtype/25-#台剧$/vodtype/26-#英剧$/vodtype/27-#其他剧$/vodtype/28-", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"myui-vodlist clearfix", +"jiequhou": "", +"jiequshuzuqian": "class=\"myui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"data\" style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "Cokemv", +"url": "https://cokemv.me", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#推荐$/vodshow/5--------", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items module-poster-items-base \"", +"jiequhou": "id=\"page\"", +"jiequshuzuqian": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content module-play-list-", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "视中心影院", +"url": "https://www.ksksi.com/", +"shouye": "1", +//"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/2-内地-------#港台剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/5--------#午夜$/vodshow/32--------", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/2-内地-------#港台剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/5--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "1", +"bfjiequqian": "class=\"module-heading\"", +"bfjiequhou": "type=\"text/javascript\"", +"bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "VIP电影", +"url": "http://www.vip1280.net", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/frim/index1/page/#电视剧$/frim/index2/page/#港台剧$/frim/index3/page/#动作片$/frim/index6/page/#爱情片$/frim/index7/page/#科幻片$/frim/index8/page/#恐怖片$/frim/index9/page/#战争片$/frim/index10/page/#喜剧片$/frim/index11/page/#记录片$/frim/index12/page/#剧情片$/frim/index20/page/#动画片$/frim/index21/page/#欧美剧$/frim/index4/page/#日韩剧$/frim/index5/page/#泰剧$/frim/index22/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/movie/index", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"detail-sketch\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "火火影视", +"url": "https://www.huohuo99.com", +"tihuan": "", +"User": "空", +"fenlei":"动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#惊悚片$/vodtype20-#悬疑片$vodtype/23-#动画片$/vodtype/24-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype15-#欧美剧$vodtype/16-#番剧$/vodtype/31-#综艺$/vodtype/4-#记录片$/vodtype/5-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"hl-list-item hl", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": " id=\"hl-plays-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "完美看看", +"url": "https://www.wanmeikk.me", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/category/1/page/#欧美剧$/category/2/page/#韩剧$/category/3/page/#日剧$/category/4/page/#国产剧$/category/5/page/#动漫$/category/6/page/#预告片$/category/8/page/#泰剧$/category/9/page/#记录片$/category/10/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/project/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist column8 clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"text-muted\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"text-muted\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "蓝光影院", +"url": "https://www.lgyy.cc", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#泰剧$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#惊悚片$/vodshow/20--------#犯罪片$/vodshow/21--------#悬疑片$/vodshow/23--------#动漫$/vodshow/5--------#综艺$/vodshow/3--------", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items module-poster-items-base \"", +"jiequhou": "id=\"page\"", +"jiequshuzuqian": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content module-play-list-", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "LIBVIO", +"url": "https://www.libvio.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/show/2--------#电影$/show/1--------#综艺$/show/3--------#动漫$/show/4--------#动作片$/show/1---动作-----#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#科幻片$/show/1---科幻-----#奇幻片$/show/1---奇幻-----#恐怖片$/show/1---恐怖-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#冒险片$/show/1---冒险-----#国产剧$/show/2-中国大陆-------#台剧$/show/2-中国台湾-------#港剧$/show/2-中国香港-------#韩剧$/show/2-韩国-------#日剧$/show/2-日本-------#美剧$/show/2-美国-------#英剧$/show/2-英国-------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "data", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data\">总集数:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">类型:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "手机看剧", +"url": "https://www.shoujikanju.com/", +"User": "空", +"shouye": "1", +"fenlei": "电影$/sort/1-#电视剧$/sort/2-#综艺$/sort/3-#动漫$/sort/4-#纪录片$/sort/5-", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "id=\"list\"", +"jiequhou": "", +"jiequshuzuqian": "
  • ", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"bd_title\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "", +"zhuangtaihou": "", +"daoyanqian": "class=\"text-muted\">导演:", +"daoyanhou": "", +"zhuyanqian": "class=\"text-muted\">主演:", +"zhuyanhou": "", +"juqingqian": "
    ", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "黑洞网", +"url": "https://www.nulltm.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "
  • ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/vodsearch/", +"sousuohou": "----------1---.html", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"stui-vodlist__box", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "剧白白-蓝光", +"url": "https://www.jubaibai.cc", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist sort-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data hidden-xs\">类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "9亿国语", +"url": "http://www.9e03.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "热播剧集$/vodshow/zuijinrebodianshiju/page/#热播电影$/vodshow/zuijinrebodianying/page/#综艺$/vodshow/zongyi/page/#动漫$/vodshow/dongman/page/#国语配音电影$/vodshow/gypy/page/#国语配音剧集$/vodshow/guoyupeiyinhanju/page/#国语配音动漫$/vodshow/guoyupeiyindongman/page/#国产剧$/vodshow/lianxuju/area/中国大陆/page/#港剧$/vodshow/lianxuju/area/香港/page/#韩剧$/vodshow/lianxuju/area/韩国/page/#美剧$/vodshow/lianxuju/area/美国/page/#泰剧$/vodshow/lianxuju/area/泰国/page/#日剧$/vodshow/lianxuju/area/日本/page/#英剧$/vodshow/lianxuju/area/英国/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "六度TV", +"url": "http://6d.xuangz.cn", +"User": "空", +"fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#美国片$/whole/1_美国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧美剧$/whole/2__欧美剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?c=search&wd=", +"sousuohou": "&sort=addtime&order=desc&page=1", +"sousuohouzhui": "/v_show/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"v-thumb stui-vodlist", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-sketch\"\>", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\'", +"bflianjiehou": "\'"}, +{"name": "小草影视", +"url": "http://www.hzjzxh.org/", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/v-dianying-#电视剧$/v-dianshiju-#动漫$/v-dongman-#综艺$/v-zongyi-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "", +"jiequhou": "", +"jiequshuzuqian": "class=\"myui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"nav-tabs active", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "次元城", +"url": "https://www.cycacg.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "1", +"fenlei": "TV动画$/index.php/vod/show/id/20/page/#剧场版$/index.php/vod/show/id/21/page/", //网站列表的分类 +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "
    ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "备注:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": ".html\">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"fed-play-item", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "fed-text-center\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "声优:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "1", +"bfyjiequqian": "class=\"fed-part-rows\">", +"bfyjiequhou": "", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "喜鹊视频", +"url": "https://www.ak1080.me", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "1", +"fenlei": "电影$/vodshow/1--hits------#连续剧$/vodshow/2--hits------#国产剧$/vodshow/2--time--国语----#欧美剧$/vodshow/2--time--英语----#香港剧$/vodshow/2--time--粤语----#韩国剧$/vodshow/2--time--韩语----#日本剧$/vodshow/2--time--日语----#其它剧$/vodshow/2--time--其它----#综艺$/vodshow/3--hits------#国产综艺$/vodshow/3--time--国语----#韩国综艺$/vodshow/3--time--韩语----#动漫$/vodshow/4--hits------#国产动漫$/vodshow/4--time--国语----#日本动漫$/vodshow/4--time--日语----", //网站列表的分类 +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"text-red\">", +"zhuangtaihou": "/", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "特狗影视", +"url": "https://www.tegouys.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "1", +"fenlei": "儿童电影$/vodshow/class/儿童/id/1/page/#亲子综艺$/vodshow/class/亲子/id/3/page/#合家欢动漫$/vodshow/class/合家欢/id/4/page/#曲艺综艺$/vodshow/class/曲艺/id/3/page/#电影$/vodshow/id/1/page/#国产剧$/vodshow/area/内地/id/2/page/#香港剧$/vodshow/area/香港/id/2/page/#韩国剧$/vodshow/area/韩国/id/2/page/#美国剧$/vodshow/area/美国/id/2/page/#日本剧$/vodshow/area/日本/id/2/page/#泰国剧$/vodshow/area/泰国/id/2/page/#台湾剧$/vodshow/area/台湾/id/2/page/#英国剧$/vodshow/area/英国/id/2/page/#其它剧$/vodshow/area/其它/id/2/page/#综艺$/vodshow/id/3/page/#国产动漫$/vodshow/area/内地/id/4/page/#日本动漫$/vodshow/area/日本/id/4/page/#欧美动漫$/vodshow/area/欧美/id/4/page/#其它动漫$/vodshow/area/其它/id/4/page/", //网站列表的分类 +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"text-red\">", +"zhuangtaihou": "/", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "瓜皮TV", +"url": "https://guapitv.xyz", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "1", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", //网站列表的分类 +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "introduction-content\">

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"zhuangtaiqian": "", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "介绍:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "虚拟影院", +"url": "https://vxlan.top", +"tihuan": "cnzz.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"shouye": "1", +"fenlei": "电影$/index.php/vod/type/id/1/page/#连续剧$/index.php/vod/type/id/2/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/type/id/4/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#国产动漫$/index.php/vod/show/area/国产/id/4/page/#日本动漫$/index.php/vod/show/area/日本/id/4/page/#欧美动漫$/index.php/vod/show/area/欧美/id/4/page/#其他动漫$/index.php/vod/show/area/其他/id/4/page/#动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/", //网站列表的分类 +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pic\"", +"jiequshuzuhou": "
    ", +"biaotihou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "友播TV", +"url": "https://www.youbotv.cn", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/vodshow/1--------#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#剧集$/vodshow/2--------#大陆剧$/vodshow/2-内地-------#美剧$/vodshow/2-美国-------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#直播$/vodshow/28--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "厂长资源-蓝光", +"url": "https://qianoo.cn", +"tihuan": "aliyundrive", +"User": "空", +"fenlei": "电视剧$/dsj/page/#电影$/zuixindianying/page/#番剧$/fanju/page/#动漫$/dm/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
  • ", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "qianoo.cn", +"lianjiehou": "\"", +"sousuoqian": "/xssearch?q=", +"sousuohou": "", +"sousuohouzhui": "/movie/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
  • ", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "qianoo.cn", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"paly_list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "
  • 导演:", +"daoyanhou": "
  • ", +"zhuyanqian": "
  • 主演:", +"zhuyanhou": "
  • ", +"juqingqian": "class=\"yp_context\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "qianoo.cn", +"bflianjiehou": "\""}, +{"name": "口袋影院", +"url": "http://www.koudaitv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#美剧$/type/15-1--------", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vbox\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search-pg-1-wd-", +"sousuohou": ".html", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"vbox\"", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list_block show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "达达龟", +"url": "http://www.dadagui.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/vodsearch/-------------.html?wd=", +"sousuohou": "", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"thumb", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空","bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "天空影视", +"url": "https://www.tkys.tv", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodshow/area/内地/id/2/page/#港剧$/vodshow/area/香港/id/2/page/#韩剧$/vodshow/area/韩国/id/2/page/#美剧$/vodshow/area/美国/id/2/page/#泰剧$/vodshow/area/泰国/id/2/page/#日剧$/vodshow/area/日本/id/2/page/#台剧$/vodshow/area/台湾/id/2/page/#英剧$/vodshow/area/英国/id/2/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-lg-8", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "备注:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "周末电影", +"url": "https://www.zzzlike.vip", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/vodsearch/-------------.html?wd=", +"sousuohou": "", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"thumb", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "龙腾影视", +"tihuan": "cnzz.com", +"url": "https://www.118232.com", +"fenlei": "电影$/vodtype/1/page/#电视剧$/vodtype/2/page/#综艺$/vodtype/3/page/#国产$/vodtype/13/page/#港台$/vodtype/14/page/#日韩$/vodtype/15/page/#欧美$/vodtype/16/page/#动漫$/vodtype/4/page/#动作$/vodtype/6/page/#喜剧$/vodtype/7/page/#爱情$/vodtype/8/page/#科幻$/vodtype/9/page/#恐怖$/vodtype/10/page/#剧情$/vodtype/11/page/#战争$/vodtype/12/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<","bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "骚火电影", +"url": "https://shdy3.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "影片推荐$/?#电影$/list/1-#电视剧$/list/2-#动漫$/list/4-#脱口秀$/list/28-#真人秀$/list/29-#选秀$/list/30-#美食$/list/31-#旅游$/list/32-#汽车$/list/33-#访谈$/list/34-#纪实$/list/35-#搞笑$/list/36-#其他综艺$/list/37-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
    ", +"jiequshuzuhou": "
    ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"sousuohouzhui": "/movie/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
    ", +"ssjiequshuzuhou": "
    ", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"play_link\">", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "

    ", +"zhuangtaihou": "导演", +"daoyanqian": "导演:", +"daoyanhou": "主演", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"p_txt show_part\">", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "看31影视", +"url": "https://www.31kan.vip", +"author": "dj", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "热播剧集$/vodshow/2--hits------#热播电影$/vodshow/1--hits------#热播综艺$/vodshow/3--hits------#热播少儿$/vodshow/33--hits------#国产剧$/vodshow/2-大陆-------#港剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#泰剧$/vodshow/2-泰国-------#日剧$/vodshow/2-日本-------#英剧$/vodshow/2-英国-------", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "
      ", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/","ssmoshi": "0","sousuoshifouercijiequ": "0","jspic": "pic","jsname": "name","jsid": "id","ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "四虎影院", +"url": "https://www.b6y33.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "热门女优$/av/index_#动漫卡通$/video/dongman/index_#电影$/movie/index_#无码中字$/movie/wuma/index_#SM系列$/movie/sm/index_#高清无码$/movie/gaoqing/index_#熟女人妻$/movie/shunv/index_#美颜巨乳$/movie/meiyan/index_#丝袜制服$/movie/siwa/index_#中字有码$/movie/youma/index_", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": " ", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/searchs/index.php?keyboard=", +"sousuohou": "&classid=", +"sousuohouzhui": "/html/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "com/html", +"ssjiequshuzuhou": "", +"sstupianqian": "

    ", +"sstupianhou": " - ", +"ssbiaotihou": "", +"sslianjieqian": ".com", +"sslianjiehou": " - ", +"zhuangtaiqian": "分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "名称:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "GAOAA", +"url": "https://43gaoaa.com", +"User": "空", +"shouye": "1", +"fenlei": "国产视频$/gaotype/25_#日本无码$/gaotype/20_#日本有码$/gaotype/9_#中文字幕$/gaotype/2_#三级电影$/gaotype/1_#巨乳系列$/gaotype/3_#人妻激情$/gaotype/8_#欧美极品$/gaotype/18_#制服诱惑$/gaotype/16_#自拍偷拍$/gaotype/17_#强奸乱伦$/gaotype/14_#绝美少女$/gaotype/13_#首次亮相$/gaotype/12_#HEY诱惑$/gaotype/5_#独家DMM$/gaotype/4_#网红主播$/gaotype/6_#日韩精品$/gaotype/10_#激情口交$/gaotype/11_#动漫电影$/gaotype/15_#极骚萝莉$/gaotype/19_#HEYZO$/gaotype/21_#高潮喷吹$/gaotype/22_#自慰颜射$/gaotype/23_", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "blank\">百人牛牛,美女陪干!不爽就来干", +"jiequhou": "
    ", +"jiequshuzuqian": "class=\"video-pic loading", +"jiequshuzuhou": "player", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/gaosearch/-/?wd=", +"sousuohou": "", +"sousuohouzhui": "/gaotype/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "blank\">百人牛牛,美女陪干!不爽就来干", +"ssjiequhou": "
    ", +"ssjiequshuzuqian": "class=\"video-pic loading", +"ssjiequshuzuhou": "player", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"item line\">", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "target=\"_blank\">", +"zhuangtaihou": "类型:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} +] +} \ No newline at end of file diff --git a/调试助手/biu999.txt b/调试助手/biu999.txt new file mode 100644 index 0000000..b9df58e --- /dev/null +++ b/调试助手/biu999.txt @@ -0,0 +1,6901 @@ +{"zhuyejiekou": [ + +{"name":"优众影视","url":"http://121.205.88.178:8090/xgapp.php/v2/"}, +{"name":"特狗影视","url":"https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"迷你库","url":"http://www.miniku.cc/xgapp.php/v1/"}, +{"name":"筑梦云影视","url":"http://wzys.scp00.cn/api.php/v1.vod"}, +{"name":"一站VIP影视","url":"https://www.dpp8.xyz/api.php/v1.vod"}, +{"name":"影库","url":"https://yingkudy.com/lvdou_api.php/v1.vod"}, +{"name":"佑尘云影视","url":"http://v.i7yc.cn/api.php/v1.vod"}, +{"name":"鑫总资源","url":"http://app.mmhkj.xyz/lvdou_api.php/v1.vod"}, +{"name":"万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"悟空影院","url":"http://dapi.pntao.com/api.php/v1.vod"}, +{"name":"天诚影视","url":"http://tcspvip.cn/api.php/v1.vod"}, +{"name":"群鑫影视","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"枇杷影院","url":"https://www.pipamovie.com/api.php/v1.vod"}, +{"name":"诺诺影视","url":"http://nnys.cuicanys.cn/lvdou_api.php/v1.vod"}, +{"name":"可乐影视","url":"http://klyingshi.com/api.php/v1.vod"}, +{"name":"玖卿乐播","url":"https://vod.nqcode.cn/api.php/v1.vod"}, +{"name":"佳佳影视","url":"https://www.jiajia.pub/api.php/v1.vod"}, +{"name":"豆芽视频","url":"http://bdintv.cn/lvdou_api.php/v1.vod"}, +{"name":"兜里TV","url":"https://app.douli.cc/api.php/v1.vod"}, +{"name":"百淘影视","url":"http://ys.58g8.com/lvdou_api.php/v1.vod"}, +{"name":"爱电影","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"MX影院","url":"http://www.889998.xyz/api.php/v1.vod"}, +{"name":"海玉影视","url":"https://tv2.hykjtv.cn/api.php/v1.vod"}, +{"name":"OK影视","url":"http://123.ok00.xyz/api.php/v1.vod"}, +{"name":"52看剧","url":"http://tool.xxmlb.com/qingdoujiekou.php/v1.vod"}, +{"name":"521看剧","url":"http://521kanju.com/api.php/v1.vod"}, +{"name":"迪迪影院","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"爱酷影视","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"零刻影院","url":"https://ys.ling00.cn/api.php/v1.vod"}, +{"name":"益达影院","url":"http://luobu.yss6080.com/mogai_api.php/v1.vod"}, +{"name":"美剧范","url":"http://ttzmz.net/api.php/v1.vod"}, +{"name":"555电影","url":"https://555dy3.com/api.php/app/"}, +{"name":"天空影视","url":"https://www.tkys.tv/xgapp.php/v2/"}, +{"name":"艾思影视","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"艾特影视","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"懒猫影视","url":"https://lanmao.lanmaoymw.cn/api.php/v1.vod"}, +{"name":"冷视TV","url":"https://len.tv/api.php/v1.vod"}, +{"name":"星辰TV","url":"http://www.xingchentv.cn/mogai_api.php/v1.vod"}, +{"name":"淘剧社","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"沭阳影视","url":"http://zjr.jurentiaodeng.com/api.php/v1.vod"}, +{"name":"渔渔影视","url":"http://luobo.yugenye.site/api.php/v1.vod"}, +{"name":"月儿影视","url":"https://yue52.xyz/api.php/v1.vod"}, +{"name":"段友影视","url":"http://121.204.249.135:4433/ruifenglb_api.php/v1.vod"}, +{"name":"瑞丰影视","url":"http://121.204.249.135:4433/ruifenglb_api.php/v1.vod"}, +{"name":"QC影视","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"暖光影视","url":"https://app.bl210.com/api.php/v1.vod"}, +{"name":"优众影视〔APP〕","url":"http://121.205.88.178:8090/xgapp.php/v2/"} + +], +"caijizhan": [ +{"name":"酷云77","url":"http://api.kunyu77.com/api.php"}, +{"name":"苹果采集","url":"http://107.150.5.146:39000/maccms10-main/api.php"}, +{"name":"江湖官采(官)","url":"http://119.29.1.173/api.php"}, +{"name":"天堂资源〔官源〕","url":"http://vipmv.cc/api.php"}, +{"name":"多多资源〔官源〕","url":"https://www.ddzyz1.com/api.php"}, +{"name":"小猫咪〔官源〕","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"北雁影视〔官源〕","url":"https://zy.beiyan.cc:4433/api.php"}, +{"name":"诺讯资源〔官源〕","url":"http://caiji.nxflv.com/api.php"}, +{"name":"八戒官采〔官源〕","url":"https://www.bajiezy.xyz/api.php"}, +{"name":"忆梦〔官源〕","url":"http://anltv.cn/api.php"}, +{"name":"木子看剧〔官源〕","url":"https://mzkj.maccms.cf/api.php"}, +//{"name":"土狗2345(官)","url":"http://2345.tgzy.cc/api.php"}, +//{"name":"土狗360(官)","url":"http://360.tgzy.cc/api.php"}, +{"name":"艾克资源(官)","url":"https://ikcss.cn/api.php"}, +{"name":"极狐官采(官)","url":"http://82.156.186.35:5678/api.php"}, +{"name":"绝影(官)","url":"https://106.12.153.187/api.php"}, +{"name":"蓝天资源(切)","url":"https://api.ltzyapi.com/api.php"}, +{"name":"星海资源(切)","url":"https://www.xhzy01.com/api.php"}, +{"name":"冠军资源(切)","url":"https://www.cmpzy.com/api.php"}, +{"name":"1080资源库(切)","url":"https://api.1080zyku.com/inc/api_mac10.php"}, +{"name":"TOM资源(切)","url":"https://api.tomcaiji.com/api.php"}, +{"name":"快车资源(切)","url":"https://caiji.kczyapi.com/api.php"}, +{"name":"松鼠资源(切)","url":"https://m3u8.songshuzy.com/api.php"}, +{"name":"多多资源(切)","url":"https://www.ddzyz1.com/api.php"}, +{"name":"OK资源(切)","url":"https://www.okcj.site/api"}, +{"name":"FOX资源(切)","url":"https://api.foxzyapi.com/api.php"}, +{"name":"量子资源(切)","url":"http://cj.lziapi.com/api.php"}, +{"name":"番茄资源(切)","url":"http://api.fqzy.cc/api.php"}, +{"name":"卧龙资源(切)","url":"https://collect.wolongzyw.com/api.php"}, +{"name":"红牛资源(切)","url":"https://www.hongniuzy2.com/api.php"}, +{"name":"樱花资源(切)","url":"https://m3u8.apiyhzy.com/api.php"}, +{"name":"易看资源(切)","url":"https://api.yikanapi.com/api.php"}, +{"name":"酷点资源(切)","url":"https://kudianzy.com/api.php"}, +{"name":"速更资源(切)","url":"https://sugengzy.cn/api.php"}, +{"name":"闪电资源(切)","url":"http://sdzyapi.com/api.php"}, +{"name":"飞速资源(切)","url":"https://www.feisuzy.com/api.php"}, +{"name":"光速资源(切)","url":"https://api.guangsuapi.com/api.php"}, +{"name":"新浪资源(切)","url":"http://api.xinlangapi.com/xinlangapi.php"}, +{"name":"鱼乐资源(切)","url":"https://api.ylzy1.com/api.php"}, +{"name":"快播资源(切)","url":"http://www.kuaibozy.com/api.php"}, +{"name":"百度资源(切)","url":"https://api.apibdzy.com/api.php"}, +{"name":"天空资源(切)","url":"https://api.tiankongapi.com/api.php"}, +{"name":"FF9资源(切)","url":"https://www.ff9.top/api.php"}, +{"name":"看看资源(切)","url":"https://zy.hikan.xyz/api.php"}, +{"name":"U酷资源(优)","url":"https://api.ukuapi.com/api.php"}, +{"name":"龙腾资源(优)","url":"http://175.178.7.35:2020/api.php"}, +{"name":"XYUI(优)","url":"http://jx4.xyui.top:7001/api.php"}, +{"name":"ASMR(优)","url":"http://www.asmr19.in/api.php"}, +{"name":"OmoFun(优)","url":"https://app.omofun.net/api.php"}, +{"name":"考拉TV(优)","url":"https://ikaola.tv/api.php"}, +{"name":"乐活影视(优)","url":"https://lehootv.com/api.php"}, +{"name":"瞬间影视(聚)","url":"http://app.7en7.com/api.php"}, +{"name":"盘看看(聚)","url":"http://tvcaiji.pankk.cn/api.php"}, +{"name":"MX影院2(聚)","url":"http://49.235.107.145:81/api.php"}, +{"name":"4K狗(聚)","url":"http://4kdog.tk/api.php"}, +{"name":"醉璃笙TV(聚)","url":"http://web.xhdj.vip/api.php"}, +{"name":"热剧天堂(聚)","url":"http://175.178.7.35:2020/api.php"}, +{"name":"贵宾影院(聚)","url":"http://vipdytv.com/api.php"}, +{"name":"超高清影视(聚)","url":"http://shdmv.com/api.php"}, +{"name":"趣看(聚)","url":"https://qkmp4.cn/api.php"}, +{"name":"39影视(聚)","url":"https://www.39kan.com/api.php"}, +{"name":"橘猫影视(聚)","url":"https://cj.zitv.cc/api.php"}, +{"name":"飘花电影(聚)","url":"http://www.zzrhgg.com/api.php"}, +{"name":"千寻时光(聚)","url":"http://wy.dqyhg.cn/api.php"}, +{"name":"海外电影(聚)","url":"https://www.200121.com/api.php"}, +{"name":"醉璃笙TV(神马)","url":"http://web.xhdj.vip/api.php/iptv/vod/"}, +{"name":"柚子TV(神马)","url":"http://tvht.lanrentk.cc/api.php/iptv/vod/"}, +{"name":"云玺TV(神马)","url":"http://43.138.193.213:8181//api.php/Miguo/vod/"}, +{"name":"新369TV(神马)","url":"http://106.13.10.156:2023//api.php/Chengcheng/vod/"}, +{"name":"天星影视(神马)","url":"http://www.0009988.com/api.php/iptv/vod/"}, +{"name":"欧闪TV(神马)","url":"https://www.aacc.tv/api.php/iptv/vod/"}, +{"name":"芒迅TV(神马)","url":"http://www.hdyangtv.com/api.php/iptv/vod/"}, +{"name":"米来影视(神马)","url":"http://42.51.37.161:2346/api.php/iptv/vod/"}, +{"name":"美剧虫TV(神马)","url":"http://cms.meijuchong.com/api.php/Chengcheng/vod/"}, +{"name":"蜜果TV(神马)","url":"http://110.42.236.155:88//api.php/Miguo/vod/"}, +{"name":"开乐TV(神马)","url":"http://server.sztuotai.com//api.php/Chengcheng/vod/"}, +{"name":"盒子视界(神马)","url":"http://eh.tvzy.cc/api.php/iptv/vod/"}, +{"name":"嘿荼锋(神马)","url":"http://tv.hfys8.vip/api.php/Sntv/vod/"}, +{"name":"贵宾影院(神马)","url":"https://vipdytv.com/api.php/iptv/vod/"}, +{"name":"独优影视(神马)","url":"http://121.205.88.71:218/api.php/Chengcheng/vod/"}, +{"name":"CV影视(神马)","url":"http://www.cccvvv.top/api.php/iptv/vod/"}, +{"name":"2号币(神马)","url":"http://phoebe.cf/api.php/iptv/vod/"} + +], +"lunbo":[ +{"name": "斗鱼一起看","fanye": "aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMjA4Lw==","qianzhui": "aHR0cDovL2VwZy4xMTIxMTQueHl6L2RvdXl1Lw=="},{"name": "DY王者荣耀看","fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTgxLw==","qianzhui":"aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2RvdXl1Lw=="},{"name": "虎牙一起看","fanye": "aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIxMzUmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9","qianzhui": "aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw==","qianzhui": "aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="},{"name": "B站一起看","fanye": "aHR0cHM6Ly9hcGkubGl2ZS5iaWxpYmlsaS5jb20veGxpdmUvd2ViLWludGVyZmFjZS92MS9zZWNvbmQvZ2V0TGlzdD9wbGF0Zm9ybT13ZWImcGFyZW50X2FyZWFfaWQ9MTAmYXJlYV9pZD0zMyZzb3J0X3R5cGU9b25saW5lJnBhZ2U9","qianzhui": "aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9iaWxpLw=="},{"name": "B站舞见","fanye": "aHR0cHM6Ly9hcGkubGl2ZS5iaWxpYmlsaS5jb20veGxpdmUvd2ViLWludGVyZmFjZS92MS9zZWNvbmQvZ2V0TGlzdD9wbGF0Zm9ybT13ZWImcGFyZW50X2FyZWFfaWQ9MSZhcmVhX2lkPTIwNyZzb3J0X3R5cGU9b25saW5lJnBhZ2U9","qianzhui": "aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9iaWxpLw=="},{"name": "虎牙星秀","fanye": "aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTE2NjMmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9","qianzhui": "aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="},{"name": "斗鱼舞蹈区","fanye": "aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTAwOC8=","qianzhui": "aHR0cHM6Ly9tLmRvdXl1LmNvbS8="},{"name": "斗鱼颜值区","fanye": "aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMzExLw==","qianzhui": "aHR0cHM6Ly9tLmRvdXl1LmNvbS8="},{"name": "B站放松","fanye": "aHR0cHM6Ly9hcGkubGl2ZS5iaWxpYmlsaS5jb20veGxpdmUvd2ViLWludGVyZmFjZS92MS9zZWNvbmQvZ2V0TGlzdD9wbGF0Zm9ybT13ZWImcGFyZW50X2FyZWFfaWQ9NSZhcmVhX2lkPTMzOSZzb3J0X3R5cGU9b25saW5lJnBhZ2U9","qianzhui": "aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9iaWxpLw=="},{"name": "虎牙二次元","fanye": "aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTI2MzMmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9","qianzhui": "aHR0cHM6Ly9lcGcuMTEyMTE0Lnh5ei9odXlhLw=="},{"name": "斗鱼二次元","fanye": "aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTc0Lw==","qianzhui": "aHR0cHM6Ly9tLmRvdXl1LmNvbS8="},{"name": "HY王者荣耀","fanye": "aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIzMzYmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9","qianzhui": "aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2h1eWEv"}, +{"name": "HY怀旧游戏","fanye": "aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTEwMDEyNSZ0YWdBbGw9MCZjYWxsYmFjaz1nZXRMaXZlTGlzdEpzb25wQ2FsbGJhY2smcGFnZT0=","qianzhui": "aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2h1eWEv"}, +{"name": "HY美食","fanye": "aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTI3NTImdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9","qianzhui": "aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2h1eWEv"},{"name": "DY音乐","fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTc1Lw==","qianzhui":"aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2RvdXl1Lw=="},{"name": "DY趣生活","fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTA5Ny8=","qianzhui":"aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2RvdXl1Lw=="}, +{"name": "HY体育","fanye": "aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIzNTYmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9","qianzhui": "aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2h1eWEv"},{"name": "DY户外","fanye":"aHR0cHM6Ly93d3cuZG91eXUuY29tL2dhcGkvcmtjL2RpcmVjdG9yeS9taXhMaXN0LzJfMTI0Lw==","qianzhui":"aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2RvdXl1Lw=="}, +{"name": "HY户外","fanye": "aHR0cHM6Ly93d3cuaHV5YS5jb20vY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIxNjUmdGFnQWxsPTAmY2FsbGJhY2s9Z2V0TGl2ZUxpc3RKc29ucENhbGxiYWNrJnBhZ2U9","qianzhui": "aHR0cDovLzEyNC4yMjMuMjEyLjM4OjgzL2h1eWEv"}, +{"name":"yy","fanye": "aHR0cHM6Ly93d3cueXkuY29tL21vcmUvcGFnZS5hY3Rpb24/Yml6PXNpbmcmc3ViQml6PWlkeCZwYWdlPQ==","qianzhui": "aHR0cHM6Ly93d3cueXkuY29t"}], +"zhujiexi": +"https://play.fuqizhishi.com/maotv/API.php?appkey=QQ172598364&url=#http://106.55.234.91:4433/?url=#http://27.124.4.42:4567/jhjson/ceshi.php?url=#http://jx.vipmv.co/?url=#http://124.222.68.182/jiexi/4kJX.php/?url=#https://svip.iepig.com:4443/api/?key=SicQs2pG0Cw7BnWV9a&url=#https://svip.rongxingvr.top/api/?key=bpWXKrAJUKm3puOCH4&url=#http://qiqi.520say.cn/json/dd.php?url=", +"beiyongjiexi": +"https://jx.blbo.cc:4433/?url=# +https://nbjx.vip/?url=# +http://jx5.178du.com/p1/?url=# +https://jx.parwix.com:4433/player/?url=# +https://jx.xuanqi.pro/?url=# +https://www.nxflv.com/?url=# +http://47.100.138.210:92/?url=", +"dianshizhibo": +"aHR0cDovL2hvbWUuanVuZGllLnRvcDo4MS9DYXQvdHYvbGl2ZS50eHQ=", +//"https://pan.05kr.com/down.php/71aeee8e0901f741c3e69640ebd725d3.txt&830310", +//"https://yangyang1975.coding.net/p/free/d/mao/git/raw/master/biutv2.json", +"tiyuzhibo": "https://m.zhibo8.net", +"reci": "https://v.sogou.com", +"lunbofanye": "https://www.douyu.com/gapi/rkc/directory/mixList/2_208/", +"lunboqianzhui": "https://m.douyu.com", +"wuqu": "aHR0cDovL3d3dy5kanV1LmNvbQ==", +"Home": { +"dy": { +"class": "全部$&class=#喜剧$&class=喜剧#爱情$&class=爱情#动作$&class=动作#枪战$&class=枪战#犯罪$&class=犯罪#惊悚$&class=惊悚#恐怖$&class=恐怖#悬疑$&class=悬疑#动画$&class=动画#家庭$&class=家庭#奇幻$&class=奇幻#魔幻$&class=魔幻#科幻$&class=科幻#战争$&class=战争#青春$&class=青春#剧情$&class=剧情#西部$&class=西部#纪录$&class=记录#音乐$&class=音乐#歌舞$&class=歌舞#运动$&class=运动#历史$&class=历史#武侠$&class=武侠#冒险$&class=冒险#传记$&class=传记", +"area": "全部$&area=#内地$&area=内地#香港$&area=香港#美国$&area=美国#欧洲$&area=欧洲#韩国$&area=韩国#日本$&area=日本#泰国$&area=泰国#印度$&area=印度#其它$&area=其它", +"year": "全部$&lang=&year=#2022$&lang=&year=2022#2021$&lang=&year=2021#2020$&lang=&year=2020#2019$&lang=&year=2019#2018$&lang=&year=2018#2017$&lang=&year=2017#2016-2011$&lang=&year=2016#2010-2000$&lang=&year=2010#90年代$&lang=&year=90#80年代$&lang=&year=80#更早$&lang=&year=70" +}, +"dsj": { +"class": "全部$&class=#古装$&class=古装#言情$&class=言情#武侠$&class=武侠#偶像$&class=偶像#家庭$&class=家庭#青春$&class=青春#都市$&class=都市#喜剧$&class=喜剧#战争$&class=战争#军旅$&class=军旅#谍战$&class=谍战#悬疑$&class=悬疑#罪案$&class=罪案#穿越$&class=穿越#宫廷$&class=宫廷#历史$&class=历史#神话$&class=神话#科幻$&class=科幻#年代$&class=年代#农村$&class=农村#商战$&class=商战#剧情$&class=剧情#奇幻$&class=奇幻", +"area": "全部$&area=#内地$&area=内地#香港$&area=香港#美国$&area=美国#英国$&area=英国#韩国$&area=韩国#日本$&area=日本#泰国$&area=泰国#台湾$&area=台湾#其它$&area=其它", +"year": "全部$&lang=&year=#2022$&lang=&year=2022#2021$&lang=&year=2021#2020$&lang=&year=2020#2019$&lang=&year=2019#2018$&lang=&year=2018#2017$&lang=&year=2017#2016-2011$&lang=&year=2016#2010-2000$&lang=&year=2010#90年代$&lang=&year=90#80年代$&lang=&year=80#更早$&lang=&year=70" +}, +"zy": { +"class": "全部$&class=#表演$&class=表演#播报$&class=播报#访谈$&class=访谈#体验$&class=体验#养成$&class=养成#游戏$&class=游戏#亲子$&class=亲子#美食$&class=美食#情感$&class=情感#选秀$&class=选秀#益智$&class=益智#晚会$&class=晚会#音乐$&class=音乐#文化$&class=文化#喜剧$&class=喜剧#曲艺$&class=曲艺#职场$&class=职场#脱口秀$&class=脱口秀#真人秀$&class=真人秀#竞技$&class=竞技#体育$&class=体育#萌宠$&class=萌宠", +"area": "全部$&area=#内地$&area=内地#香港$&area=香港#美国$&area=美国#韩国$&area=韩国#日本$&area=日本#台湾$&area=台湾", +"year": "全部$&lang=&year=#2022$&lang=&year=2022#2021$&lang=&year=2021#2020$&lang=&year=2020#2019$&lang=&year=2019#2018$&lang=&year=2018#2017$&lang=&year=2017#2016-2011$&lang=&year=2016#2010-2000$&lang=&year=2010#90年代$&lang=&year=90#80年代$&lang=&year=80#更早$&lang=&year=70" +}, +"dm": { +"class": "全部$&class=#搞笑$&class=搞笑#番剧$&class=番剧#国创$&class=国创#大电影$&class=大电影#热血$&class=热血#催泪$&class=催泪#治愈$&class=治愈#励志$&class=励志#机战$&class=机战#战斗$&class=战斗#恋爱$&class=恋爱#科幻$&class=科幻#奇幻$&class=奇幻#魔幻$&class=魔幻#推理$&class=推理#校园$&class=校园#日常$&class=日常#经典$&class=经典#历史$&class=历史#美食$&class=美食#职场$&class=职场#偶像$&class=偶像#泡面$&class=泡面#冒险$&class=冒险#竞技$&class=竞技#武侠$&class=武侠#玄幻$&class=玄幻", +"area": "全部$&area=#内地$&area=内地#日本$&area=日本#欧美$&area=欧美#其它$&area=其它", +"year": "全部$&lang=&year=#2022$&lang=&year=2022#2021$&lang=&year=2021#2020$&lang=&year=2020#2019$&lang=&year=2019#2018$&lang=&year=2018#2017$&lang=&year=2017#2016-2011$&lang=&year=2016#2010-2000$&lang=&year=2010#90年代$&lang=&year=90#80年代$&lang=&year=80#更早$&lang=&year=70" +} +}, +"zidingyi":[ + +{"name": "乐猪影视", +"url": "http://www.lezhutv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vbox\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search-pg-1-wd-", +"sousuohou": ".html", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"vbox\"", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list_block show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + + +{ +"name":"极品影视", +"url":"https://www.jpys.me", +"User":"空", +"fenlei":"大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧美剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"myui-content__list", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"🔞真不卡影院(不支持搜索)", +"url":"http://kan8.tv/", +"fenlei":"电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_#伦理$/films/40_", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__box\"", +"jiequshuzuhou":"", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"pic-text text-right\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"
    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{"name":"厂长资源-蓝光", +"url":"https://qianoo.cn", +"User":"空", +"fenlei":"本月热门$/benyueremen/page/#高分影视$/gaofenyingshi/page/#豆瓣电影TOP250$/dbtop250/page/#最新电影$/zuixindianying/page/#电视剧$/dsj/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/#日剧$/movie_bt_series/rj/page/#海外剧$/movie_bt_series/hwj/page/#番剧$/fanju/page/#动漫$/dm/page/#韩国电影$/movie_bt_series/hanguodianying/page/#纪录片$/movie_bt/movie_bt_tags/jlpp/page/", +"houzhui":"", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"
  • ", +"jiequshuzuhou":"
  • ", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"alt=\"", +"biaotihou":"\"", +"lianjieqian":"qianoo.cn", +"lianjiehou":"\"", +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian":"span>", +"fubiaotihou":"", +"ssjiequshuzuhou":"", +"sstupianqian":"original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"alt=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"qianoo.cn", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"paly_list", +"bfjiequshuzuhou":"
    ", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"
  • 导演:", +"daoyanhou":"
  • ", +"zhuyanqian":"
  • 主演:", +"zhuyanhou":"
  • ", +"juqingqian":"class=\"yp_context\">", +"juqinghou":"
    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"qianoo.cn", +"bflianjiehou":"\"" +}, +{ +"name":"在线之家", +"url":"https://www.zxzjtv.com", +"User":"空", +"fenlei":"电影$/vodshow/1--------#美剧$/vodshow/2--------#韩剧$/vodshow/3--------#日剧$/vodshow/4--------#泰剧$/vodshow/5--------#动漫$/vodshow/6--------#动画片$/vodshow/1---动画-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#警匪片$/vodshow/1---警匪-----#犯罪片$/vodshow/1---犯罪-----#奇幻片$/vodshow/1---奇幻-----#冒险片$/vodshow/1---冒险-----", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__box", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"style=\"display:none;\">", +"juqinghou":"", +"bfbiaotiqian":"\">", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"LIBVIO", +"url":"https://www.libvio.me", +"User":"空", + +"fenlei":"最近更新$/show/19--------#电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------#动画片$/show/1---动画-----#纪录片$/show/21--------#国产剧$/show/13--------#日韩剧$/show/15--------#欧美剧$/show/16--------#港台剧$/show/14--------#泰国剧$/show/2-泰国-------#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#恐怖片$/show/1---恐怖-----#动作片$/show/1---动作-----#科幻片$/show/1---科幻-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#警匪片$/show/1---警匪-----#犯罪片$/show/1---犯罪-----#奇幻片$/show/1---奇幻-----#武侠片$/show/1---武侠-----#冒险片$/show/1---冒险-----", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"class=\"pic-tag", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"最后更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"/", +"juqingqian":"style=\"display:none;\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"COKEMV", +"url":"https://cokemv.me", +"User":"空", +"fenlei":"电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画电影$/vodshow/41--------#抖音电影$/vodshow/5--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#犯罪片$/vodshow/23--------", +"houzhui":"---.html", +"shifouercijiequ":"1", +"jiequqian":"module-page", +"jiequhou":"class=\"fixedGroup", +"jiequshuzuqian":"", +"fubiaotihou":"
    ", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-list", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"
    ", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"class=\"otherbox\">", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"a\" style=\"display:none;\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ + "author":"张弘20220731", + "name":"555电影", +"url":"https://www.xawqxh.net", + "tihuan":"cnzz.com", + "User":"User-Agent:Dart/2.14 (dart:io)", + "shouye":"1", + "fenlei":"奈飞电影$/vodshow/1--time-Netflix-----#奈飞电视剧$/vodshow/2--time-Netflix-----#奈飞动漫$/vodshow/4--time-Netflix-----#电视剧$/vodshow/2--time------#电影$/vodshow/1--time------#福利$/vodshow/124--time------#综艺记录$/vodshow/3--time------#动漫$/vodshow/4--time------#国产电视剧$/vodshow/2-大陆-time------#国产电影$/vodshow/1-大陆-time------#香港电视剧$/vodshow/2-香港-time------#香港电影$/vodshow/1-香港-time------#台湾电视剧$/vodshow/2-台湾-time------#台湾电影$/vodshow/1-台湾-time------#美国电视剧$/vodshow/2-美国-time------#美国电影$/vodshow/1-美国-time------#日本电视剧$/vodshow/2-日本-time------#日本电影$/vodshow/1-日本-time------#韩国电视剧$/vodshow/2-韩国-time------#韩国电影$/vodshow/1-韩国-time------#英国电视剧$/vodshow/2-英国-time------#英国电影$/vodshow/1-英国-time------#法国电视剧$/vodshow/2-法国-time------#法国电影$/vodshow/1-法国-time------#德国电视剧$/vodshow/2-德国-time------#德国电影$/vodshow/1-德国-time------#印度电视剧$/vodshow/2-印度-time------#印度电影$/vodshow/1-印度-time------#泰国电视剧$/vodshow/2-泰国-time------#泰国电影$/vodshow/1-泰国-time------#其他电视剧$/vodshow/2-其他-time------#丹麦电影$/vodshow/1-丹麦-time------#瑞典电影$/vodshow/1-瑞典-time------#巴西电影$/vodshow/1-巴西-time------#加拿大电影$/vodshow/1-加拿大-time------#俄罗斯电影$/vodshow/1-俄罗斯-time------#意大利电影$/vodshow/1-意大利-time------#比利时电影$/vodshow/1-比利时-time------#爱尔兰电影$/vodshow/1-爱尔兰-time------#西班牙电影$/vodshow/1-西班牙-time------#澳大利亚电影$/vodshow/1-澳大利亚-time------#战争电视剧$/vodshow/2--time-战争-----#战争影片$/vodshow/1--time-战争-----#丧尸电视剧$/vodshow/2--time-丧尸-----#丧尸影片$/vodshow/1--time-丧尸-----#仙侠电视剧$/vodshow/2--time-仙侠-----#仙侠影片$/vodshow/1--time-仙侠-----#穿越电视剧$/vodshow/2--time-穿越-----#穿越影片$/vodshow/1--time-穿越-----#惊悚电视剧$/vodshow/2--time-惊悚-----#惊悚影片$/vodshow/1--time-惊悚-----#恐怖电视剧$/vodshow/2--time-恐怖-----#恐怖影片$/vodshow/1--time-恐怖-----#科幻电视剧$/vodshow/2--time-科幻-----#科幻影片$/vodshow/1--time-科幻-----#动作电视剧$/vodshow/2--time-动作-----#动作影片$/vodshow/1--time-动作-----#古装电视剧$/vodshow/2--time-古装-----#古装影片$/vodshow/1--time-古装-----#神话电视剧$/vodshow/2--time-神话-----#神话影片$/vodshow/1--time-神话-----#宫廷电视剧$/vodshow/2--time-宫廷-----#宫廷影片$/vodshow/1--time-宫廷-----#武侠电视剧$/vodshow/2--time-武侠-----#武侠影片$/vodshow/1--time-武侠-----#冒险电视剧$/vodshow/2--time-冒险-----#冒险影片$/vodshow/1--time-冒险-----#奇幻电视剧$/vodshow/2--time-奇幻-----#奇幻影片$/vodshow/1--time-奇幻-----#西部电视剧$/vodshow/2--time-西部-----#西部影片$/vodshow/1--time-西部-----#灾难电视剧$/vodshow/2--time-灾难-----#灾难影片$/vodshow/1--time-灾难-----#剧情电视剧$/vodshow/2--time-剧情-----#剧情影片$/vodshow/1--time-剧情-----#言情电视剧$/vodshow/2--time-言情-----#言情影片$/vodshow/1--time-言情-----#喜剧电视剧$/vodshow/2--time-喜剧-----#喜剧影片$/vodshow/1--time-喜剧-----#爱情电视剧$/vodshow/2--time-爱情-----#爱情影片$/vodshow/1--time-爱情-----#偶像电视剧$/vodshow/2--time-偶像-----#偶像影片$/vodshow/1--time-偶像-----#都市电视剧$/vodshow/2--time-都市-----#都市影片$/vodshow/1--time-都市-----#军旅电视剧$/vodshow/2--time-军旅-----#军旅影片$/vodshow/1--time-军旅-----#谍战电视剧$/vodshow/2--time-谍战-----#谍战影片$/vodshow/1--time-谍战-----#罪案电视剧$/vodshow/2--time-罪案-----#罪案影片$/vodshow/1--time-罪案-----#犯罪电视剧$/vodshow/2--time-犯罪-----#犯罪影片$/vodshow/1--time-犯罪-----#悬疑电视剧$/vodshow/2--time-悬疑-----#悬疑影片$/vodshow/1--time-悬疑-----#家庭电视剧$/vodshow/2--time-家庭-----#家庭影片$/vodshow/1--time-家庭-----#校园电视剧$/vodshow/2--time-校园-----#校园影片$/vodshow/1--time-校园-----#文艺电视剧$/vodshow/2--time-文艺-----#文艺影片$/vodshow/1--time-文艺-----#运动电视剧$/vodshow/2--time-运动-----#运动影片$/vodshow/1--time-运动-----#青春电视剧$/vodshow/2--time-青春-----#青春影片$/vodshow/1--time-青春-----#励志电视剧$/vodshow/2--time-励志-----#励志影片$/vodshow/1--time-励志-----#同性电视剧$/vodshow/2--time-同性-----#同性影片$/vodshow/1--time-同性-----#人性电视剧$/vodshow/2--time-人性-----#人性影片$/vodshow/1--time-人性-----#女性电视剧$/vodshow/2--time-女性-----#女性影片$/vodshow/1--time-女性-----#治愈电视剧$/vodshow/2--time-治愈-----#治愈影片$/vodshow/1--time-治愈-----#美食电视剧$/vodshow/2--time-美食-----#美食影片$/vodshow/1--time-美食-----#短片电视剧$/vodshow/2--time-短片-----#短片影片$/vodshow/1--time-短片-----#动画电视剧$/vodshow/2--time-动画-----#动画影片$/vodshow/1--time-动画-----#儿童电视剧$/vodshow/2--time-儿童-----#儿童影片$/vodshow/1--time-儿童-----#歌舞电视剧$/vodshow/2--time-歌舞-----#歌舞影片$/vodshow/1--time-歌舞-----#音乐电视剧$/vodshow/2--time-音乐-----#音乐影片$/vodshow/1--time-音乐-----#历史电视剧$/vodshow/2--time-历史-----#历史影片$/vodshow/1--time-历史-----#传记电视剧$/vodshow/2--time-传记-----#传记影片$/vodshow/1--time-传记-----#记录电视剧$/vodshow/2--time-记录-----#记录影片$/vodshow/1--time-记录-----#真人秀$/vodshow/2--time-真人秀-----#真人秀影片$/vodshow/1--time-真人秀-----#脱口秀$/vodshow/2--time-脱口秀-----#脱口秀影片$/vodshow/1--time-脱口秀-----#国产动漫$/vodshow/4-大陆-time------#日本动漫$/vodshow/4-日本-time------#欧美动漫$/vodshow/4-欧美-time------#其他动漫$/vodshow/4-其他-time------#大陆综艺$/vodshow/3-大陆-time------#香港综艺$/vodshow/3-香港-time------#台湾综艺$/vodshow/3-台湾-time------#韩国综艺$/vodshow/3-韩国-time------#美国综艺$/vodshow/3-美国-time------#其他综艺$/vodshow/3-其他-time------", +"houzhui":"---.html", +"shifouercijiequ":"1", +"jiequqian":"class=\"module-items", +"jiequhou":"class=\"fixedGroup", +"jiequshuzuqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"class=\"text-red\">", +"zhuangtaihou":"/", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{"author":"20220617", +"name":"F7好看剧", +"url":"https://www.haokanju1.cc", +"User":"空", +"fenlei":"4K剧集$/vodshow/23--------#4K电影$/vodshow/24--------#亲子动漫$/vodshow/4---亲子-----#益智动漫$/vodshow/4---益智-----#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/20--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#大陆动漫$/vodshow/4-大陆-------#内地动漫$/vodshow/4-内地-------#日本动漫$/vodshow/4-日本-------#韩国动漫$/vodshow/4-韩国-------#美国动漫$/vodshow/4-美国-------#英国动漫$/vodshow/4-英国-------#台湾动漫$/vodshow/4-台湾-------#动画片$/vodshow/1---动画-----#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic", +"jiequshuzuhou":"module-item\">", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"sort-item", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"集数:
    ", +"zhuangtaihou":"
    ", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"vod_content\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/index.php/vod/detail/id/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"
    ", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"
    ", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"备注:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"n-content\">

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/search-pg-1-wd-", +"sousuohou":".html", +"sousuohouzhui":"/detail/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"空", +"jsname":"空", +"jsid":"空", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"vbox\"", +"ssjiequshuzuhou":"", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"yac\">", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"class=\"tbox_js\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"
  • ", +"bfyjiequshuzuhou":"
  • ", +"bfbiaotiqian":"\">", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""}, +{"name":"宝仙HD", +"url":"https://webdillo.com", +"tihuan":"cnzz.com", +//"User":"User-Agent:Dart/2.14 (dart:io)", +"shouye":"1", +"fenlei":"电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/index.php/vod/detail/id/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"content_playlist clearfix", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"pic_text text_right\">", +"zhuangtaihou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""}, +{ + "author":"sober", + "name":"私人影院", + "url":"https://soumk.com", + "tihuan":"cnzz.com", + "User":"空",//这个不用动,是个别网站播放需要请求头时才用到 + //"User":"User-Agent:Dart/2.14 (dart:io)", + //"shouye":"1", + + "fenlei":"电影$/vodtype/1-#连续剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-", + "houzhui":".html", + "shifouercijiequ":"0", + "jiequqian":"空", + "jiequhou":"空", + "jiequshuzuqian":"class=\"stui-vodlist__box\"", + "jiequshuzuhou":"", + "tupianqian":"data-original=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"https://soumk.com", + "lianjiehou":"\"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/voddetail/",//搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou":"", + "zhuangtaiqian":"class=\"data\"", + "zhuangtaihou":"

    ", + "daoyanqian":"导演:", + "daoyanhou":"

    ", + "zhuyanqian":"主演:", + "zhuyanhou":"

    ", + "juqingqian":"简介:", + "juqinghou":"

    ", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":">", + "bfbiaotihou":"<", + "bflianjieqian":"href=\"", + "bflianjiehou":"\"" +} , +{"name":"夜空蓝光", +"url":"https://www.yekong.cc", +"tihuan":"cnzz.com", +"shouye":"1", +//"User":"User-Agent:Dart/2.14 (dart:io)", +"fenlei":"电影$/pianku-dianying-----------/page/#欧美剧$/pianku-lianxuju-----------/page/#国产剧$/pianku-lianxuju---%E5%9B%BD%E4%BA%A7%E5%89%A7--------/#港剧$/pianku-lianxuju---%E6%B8%AF%E5%89%A7--------/#动漫$/pianku-dongman-----------/#综艺$/pianku-zongyi-----------/", +"houzhui":"", +"shifouercijiequ":"1", +"jiequqian":"class=\"module-item-pic", +"jiequhou":"class=\"fixedGroup", +"jiequshuzuqian":"", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"alt=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list", +"bfjiequshuzuhou":"class=\"module\"", +"zhuangtaiqian":"class=\"module-item-note\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"class=\"module-info-introduction-content\">", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""}, +{"name":"AB影院", +"url":"https://abu22.com", +"tihuan":"cnzz.com", +"User":"空", +"fenlei":"电影$/vodshow/1--hits------#电视剧$/vodshow/2--hits------#综艺$/vodshow/3--hits------#动漫$/vodshow/4--hits------#纪录片$/vodshow/5--hits------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__item", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=10", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0","jspic":"pic", +"jsname":"name","jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"zhuangtaiqian":"年份:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"class=\"stui-content__desc col-pd clearfix\">", +"juqinghou":"", +"bfjiequshuzuqian":"class=\"stui-content__playlist", +"bfjiequshuzuhou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""} +, +{ + "name":"UM影院", + "url":"https://www.umkan.com/", + "User":"User-Agent:Dart/2.14 (dart:io)", + "shouye":"1", + "fenlei":"电影$/index.php/vod/show/id/1/page/#国产剧$/index.php/vod/show/class/国产/id/2/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动画$/index.php/vod/show/id/4/page/", + "houzhui":".html", + "shifouercijiequ":"1", + "jiequqian":"class=\"module-items", + "jiequhou":"id=\"page", + "jiequshuzuqian":"", + "tupianqian":"data-original=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/index.php/vod/detail/id/", + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "zhuangtaiqian":"class=\"module-item-note\">", + "zhuangtaihou":"", + "daoyanqian":"target=\"_blank\">", + "daoyanhou":"", + "zhuyanqian":"target=\"_blank\">", + "zhuyanhou":"", + "juqingqian":"class=\"module-info-introduction-content\">", + "juqinghou":"

    ", + "bfjiequshuzuqian":"class=\"module-list", + "bfjiequshuzuhou":"", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":"", + "bfbiaotihou":"", + "bflianjieqian":"href=\"", + "bflianjiehou":"\"" +}, +{"name":"茶杯狐", + "url":"https://www.cupfox.cc/", + "tihuan":"cnzz.com", + "User":"空", + "shouye":"1", + + "fenlei":"电影$/fox/1-#电视剧$/fox/2-#综艺$/fox/3-#动漫$/fox/4-#伦理片$/fox/20-", + "houzhui":".html", + + "shifouercijiequ":"0", + "jiequqian":"空", + "jiequhou":"空", + "jiequshuzuqian":"class=\"fed-list-item", + "jiequshuzuhou":"", + "tupianqian":"data-original=\"", + "tupianhou":"\"", + "biaotiqian":".html\" >", + "biaotihou":"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/voddetail/", + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"class=\"fed-part-rows\">", + + "zhuangtaiqian":"年份:", + "zhuangtaihou":"", + "daoyanqian":"导演:", + "daoyanhou":"", + "zhuyanqian":"主演:", + "zhuyanhou":"", + "juqingqian":"简介:", + "juqinghou":"", + + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":">", + "bfbiaotihou":"", + "bflianjieqian":"href=\"", + "bflianjiehou":"\""}, +{ + "name":"桔子tv", + "url":"https://juztv.com", + "tihuan":"cnzz.com", + "User":"User-Agent:Dart/2.14 (dart:io)", + "fenlei":"电视剧$/vodtype/2-#电影$/vodtype/1-#动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#其他片$/vodtype/20-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#其他剧$/vodtype/21-", + "houzhui":"/", + "shifouercijiequ":"1", + "jiequqian":"class=\"stui-vodlist clearfix", + "jiequhou":"", + "jiequshuzuqian":"class=\"stui-vodlist__thumb", + "jiequshuzuhou":"", + "tupianqian":"data-original=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "fubiaotiqian":"", + "fubiaotihou":"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=50", + "sousuohouzhui":"/voddetail/", + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou":"", + "zhuangtaiqian":"更新:", + "zhuangtaihou":"

    ", + "daoyanqian":"导演:", + "daoyanhou":"

    ", + "zhuyanqian":"主演:", + "zhuyanhou":"

    ", + "juqingqian":"class=\"detail-content\" style=\"display:none;\">", + "juqinghou":"", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":">", + "bfbiaotihou":"<", + "bflianjieqian":"href=\"", + "bflianjiehou":"\"" +}, +{"author":"20220608", +"name":"87影院", +"url":"https://87dyba.com", +"User":"空", +"fenlei":"电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/5--------#国产剧$/vodshow/201--------#港台剧$/vodshow/202--------#日韩剧$/vodshow/203--------#欧美剧$/vodshow/204--------#海外剧$/vodshow/205--------#国产动漫$/vodshow/4-中国大陆-------#日本动漫$/vodshow/4-日本-------#美国动漫$/vodshow/4-美国-------#韩国动漫$/vodshow/4-韩国-------#台湾动漫$/vodshow/4-中国台湾-------#动作片$/vodshow/101--------#喜剧片$/vodshow/102--------#爱情片$/vodshow/103--------#科幻片$/vodshow/104--------#剧情片$/vodshow/105--------#悬疑片$/vodshow/106--------#惊悚片$/vodshow/107--------#恐怖片$/vodshow/108--------#犯罪片$/vodshow/109--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"hl-item-thumb", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"remarks\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"hl-plays-list", +"bfjiequshuzuhou":"", +"zhuangtaihou":"", +"daoyanqian":"导演:
    ", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{"author":"20220625", +"name":"米子影视", +"url":"https://www.mizi6.com", +"User":"空", +"fenlei":"电影$/vodshow/id/1/page/#电视剧$/vodshow/id/2/page/#综艺$/vodshow/id/4/page/#动漫$/vodshow/id/3/page/#记录片$/vodshow/id/5/page/#亲子动漫$/vodshow/class/亲子/id/3/page/#动画片$/vodshow/id/17/page/#国产剧$/vodshow/id/13/page/#日韩剧$/vodshow/id/15/page/#欧美剧$/vodshow/id/16/page/#港台剧$/vodshow/id/14/page/#海外剧$/vodshow/id/23/page/#国产动漫$/vodshow/area/中国大陆/id/3/page/#日本动漫$/vodshow/area/日本/id/3/page/#欧美动漫$/vodshow/area/欧美/id/3/page/#动作片$/vodshow/id/6/page/#喜剧片$/vodshow/id/7/page/#爱情片$/vodshow/id/8/page/#科幻片$/vodshow/id/9/page/#恐怖片$/vodshow/id/10/page/#剧情片$/vodshow/id/11/page/#战争片$/vodshow/id/12/page/", +"houzhui":".html", +"shifouercijiequ":"1", +"jiequqian":"class=\"module-items", +"jiequhou":"class=\"fixedGroup", +"jiequshuzuqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/yingshi/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"
    ", +"fubiaotihou":"<", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"sort-item", +"bfjiequshuzuhou":"
    ", +"zhuangtaiqian":"集数:
    ", +"zhuangtaihou":"
    ", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"vod_content\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=双面赘婿", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list-content", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"playlist", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"red;\">", +"zhuangtaihou":"", +"daoyanqian":"data\">导演:", +"daoyanhou":"

    ", +"zhuyanqian":"data\">主演:", +"zhuyanhou":"

    ", +"juqingqian":"sketch\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{"author":"20220615", +"name":"悟空影视", +"url":"https://www.01vo.com", +"User":"空", +"fenlei":"体育$/vodshow/36--------#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/25--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/31--------#日本动漫$/vodshow/32--------#欧美动漫$/vodshow/33--------#动漫片$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/24--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"<", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"sort-item", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=天使的心跳", +"sousuohou":"&limit=500", +"sousuohouzhui":"/vod/detail/id/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list-content", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"备注:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"introduction-content\">

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":".html\">", +"biaotihou":"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"center\">", +"fubiaotihou":"", +"sousuoqian":"/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"fed-play-item", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"fed-text-center\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"声优:", +"zhuyanhou":"", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"1", +"bfyjiequqian":"class=\"fed-part-rows\">", +"bfyjiequhou":"", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{"author":"20220530", +"name":"漫岛动漫", +"url":"https://www.mandao.tv", +"User":"空", +"fenlei":"日本动漫$/list/lm1_#国产动漫$/list/lm2_#欧美动漫$/list/lm3_#剧场电影$/list/lm4_#次元影视$/list/lm5_", +"houzhui":".html", +"qishiye":"2",//可以自定义列表翻页起始页的页数,如果填上一个空字,则不使用起始页数,直接获取链接的数据。 +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"li-hv", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"bz\">", +"fubiaotihou":"

    ", +"sousuoqian":"/search.php?searchword=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/man/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"mb\"", +"ssjiequshuzuhou":"", +"zhuangtaiqian":"状态:", +"zhuangtaihou":"", +"daoyanqian":"类型:", +"daoyanhou":"", +"zhuyanqian":"声优:", +"zhuyanhou":"", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":"_self\">", +"bfbiaotihou":"<", +"bflianjieqian":"href='", +"bflianjiehou":"'" +}, +{"name":"iibb电影网", +"url":"https://www.iibb.me/", +"tihuan":"cnzz.com", +"User":"空", +"fenlei":"电影$/type/1-#电视剧$/type/2-#动漫$/type/3-#综艺$/type/4-#直播$/type/5-#音乐$/type/6-#美图$/type/7-#有声小说$/type/8-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"col-md-1-5", +"jiequshuzuhou":"", +"tupianqian":"src=\"", +"tupianhou":"\"", +"biaotiqian":"alt=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/?m=search-type-so-0.html&TXT=", +"sousuohou":"&submit=", +"sousuohouzhui":"/detail/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"空", +"jsname":"空", +"jsid":"空", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"online-button", +"ssjiequshuzuhou":"", +"sstupianqian":"src=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"alt=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"dslist-group", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"影片分类:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演
    ", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"剧情:", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""}, + +{"author":"20220625", +"name":"奈落影院", +"url":"https://newfii.com", +"User":"空", +"fenlei":"电影$/vodshow/1--------#国产剧$/vodshow/13--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#港台剧$/vodshow/14--------#海外剧$/vodshow/21--------#记录片$/vodshow/27--------#童漫$/vodshow/24--------#动画片$/vodshow/20--------#国漫$/vodshow/22--------#日漫$/vodshow/25--------#欧漫$/vodshow/23--------#番剧(B站)$/vodshow/35--------#国创(B站)$/vodshow/36--------#综艺$/vodshow/4--------#科幻片$/vodshow/6--------#动作片$/vodshow/7--------#喜剧片$/vodshow/8--------#爱情片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic\"", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"sort-item", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"module-info-introduction-content\">", +"juqinghou":"

    ", +"bfjiequshuzuqian":"class=\"module-list", +"bfjiequshuzuhou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"hdmoli", +"url":"https://www.hdmoli.com", +"User":"空", +"fenlei":"电影$/mlist/index1-#剧集$/mlist/index2-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"myui-vodlist__thumb", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"sstupianqian":"original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"playlist", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanhou":"

    ", +"zhuyanqian":"演员:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"双十电影", +"url":"https://www.1010dy1.com", +"User":"空", +"fenlei":"电影$/show/1/page/#陆剧$/show/2/area/大陆/page/#韩剧$/show/2/area/韩国/page/#港剧$/show/2/area/香港/page/#台剧$/show/2/area/台湾/page/#日剧$/show/2/area/日本/page/#美剧$/show/2/area/美国/page/#泰剧$/show/2/area/泰国/page/#英剧$/show/2/area/英国/page/#新加坡剧$/show/2/area/新加坡/page/#其他剧$/show/2/area/其他/page/#大陆动漫$/show/3/area/大陆/page/#日本动漫$/show/3/area/日本/page/#欧美动漫$/show/3/area/欧美/page/#综艺$/show/4/page/#喜剧片$/show/1/class/喜剧/page/#爱情片$/show/1/class/爱情/page/#恐怖片$/show/1/class/恐怖/page/#动作片$/show/1/class/动作/page/#科幻片$/show/1/class/科幻/page/#剧情片$/show/1/class/剧情/page/#战争片$/show/1/class/战争/page/#犯罪片$/show/1/class/犯罪/page/#灾难片$/show/1/class/灾难/page/#奇幻片$/show/1/class/奇幻/page/#悬疑片$/show/1/class/悬疑/page/#惊悚片$/show/1/class/惊悚/page/#冒险片$/show/1/class/冒险/page/", +"houzhui":"/", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__box", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"
    ", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"playlist clearfix\">", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"骚火电影", +"url":"https://shdy2.com", +"User":"空", +"fenlei":"国产剧$/list/20-#TVB剧$/list/21-#韩剧$/list/22-#美剧$/list/23-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-#动漫$/list/4-#亲子动漫$/list/46-#电影$/list/1-#动画片$/list/13-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"v_img\">", +"jiequshuzuhou":"/div>", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"v_note\">", +"fubiaotihou":"<", +"sousuoqian":"/search.php?searchword=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/movie/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"
    ", +"ssjiequshuzuhou":"/div>", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"1", +"bfjiequqian":"id=\"play_link\">", +"bfjiequhou":"", +"bfjiequshuzuqian":"", +"zhuangtaiqian":"h1>

    ", +"zhuangtaihou":"/ 导演", +"daoyanqian":"导演:", +"daoyanhou":"/ 主演", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"show_part\">", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"神马接口", +"url":"https://www.smdyy.cc", +"fenlei":"热播剧集$/show/2--hits------#热播电影$/show/1--hits------#综艺$/show/3--------#动漫$/show/4--------#少儿片库$/show/33--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#记录片$/show/26--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------#惊悚片$/show/21--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#泰国剧$/show/28--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__box", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"类型:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"display:none;\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"剧白白-蓝光", +"url":"https://www.jubaibai.cc", +"User":"空", +"fenlei":"电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__box\"", +"jiequshuzuhou":"", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"t text-right\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/vod/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist sort-list", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"display:none;\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"火火影视", +"url":"https://www.huohuo99.com", +"User":"空", +"fenlei":"国产剧$/vodtype/13-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#港台剧$/vodtype/14-#番剧$/vodtype/31-#动画片$/vodtype/24-#综艺$/vodtype/4-#记录片$/vodtype/5-#动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#惊悚片$/vodtype20-#悬疑片$vodtype/23-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"hl-list-item hl", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"remarks\">", +"fubiaotihou":"", +"zhuangtaiqian":"状态:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"天空资源", +"url":"https://www.tkys.tv", +"fenlei":"电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodshow/area/内地/id/2/page/#港剧$/vodshow/area/香港/id/2/page/#韩剧$/vodshow/area/韩国/id/2/page/#美剧$/vodshow/area/美国/id/2/page/#泰剧$/vodshow/area/泰国/id/2/page/#日剧$/vodshow/area/日本/id/2/page/#台剧$/vodshow/area/台湾/id/2/page/#英剧$/vodshow/area/英国/id/2/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"完美看看影视", +"url":"https://www.wanmeikk.me/", +"User":"空", +"fenlei":"电影$/category/1-#国产剧$/category/5-#欧美剧$/category/2-#韩剧$/category/3-#动漫$/category/6-#泰剧$/category/9-#纪录片$/category/10-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"年份:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"display:none;\">", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"达达龟", +"url":"https://www.dadagui.me", +"User":"空", +"fenlei":"电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产剧$/vodshow/13--------#日韩剧$/vodshow/14--------#欧美剧$/vodshow/15--------#港台剧$/vodshow/16--------#日剧$/vodshow/25--------#台剧$/vodshow/26--------#泰剧$/vodshow/27--------#越剧$/vodshow/28--------#国产动漫$/vodshow/33--------#日本动漫$/vodshow/34--------#港台动漫$/vodshow/35--------#欧美动漫$/vodshow/36--------#其它动漫$/vodshow/37--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#动画片$/vodshow/20--------#犯罪片$/vodshow/21--------#纪录片$/vodshow/22--------#音乐片$/vodshow/23--------#微电影$/vodshow/24--------#奇幻片$/vodshow/38--------#悬疑片$/vodshow/39--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__box", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"display:none;\">", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\">" +}, +{ +"name":"乐猪影视", +"url":"http://www.lezhutv.com", +"User":"空", +"fenlei":"电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"vbox\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"span>", +"fubiaotihou":"", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"list_block show\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"yac\">", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"class=\"tbox_js\">", +"juqinghou":"
    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"
  • ", +"bfyjiequshuzuhou":"
  • ", +"bfbiaotiqian":"\">", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"口袋影院", +"url":"http://www.koudaitv.com", +"User":"空", +"fenlei":"电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#美剧$/type/15-1--------", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"vbox\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"span>", +"fubiaotihou":"", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"list_block show\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"yac\">", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"class=\"tbox_js\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"
  • ", +"bfyjiequshuzuhou":"
  • ", +"bfbiaotiqian":"\">", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"黑洞影视", +"url":"https://www.nulltm.com", +"User":"空", +"fenlei":"电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"hl-list-item hl-col-xs-4 hl-col-sm-3 hl-col-md-20w hl-col-lg-2\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"t text-right\">", +"fubiaotihou":"", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"hl-col-xs-4 hl-col-sm-2\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"北川影视", +"url":"https://www.bcwzg.com", +"User":"Referer:https://j.bcyingshi.ink/", +"fenlei":"电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", +"houzhui":"---/", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic\"", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"sstupianqian":"original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"类型:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"class=\"detail-sketch\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href='", +"bflianjiehou":"'" +}, +{ +"name":"花猫TV", +"url":"http://www.huamaotv.com", +"User":"空", +"fenlei":"电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__item", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"pic-text\">", +"fubiaotihou":"", +"zhuangtaiqian":"年份:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"348电影网", +"url":"https://www.348z.com", +"User":"空", +"fenlei":"电影$/vodshow/id/1/page/#连续剧$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#动漫$/vodshow/id/4/page/#4K$/vodshow/id/37/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"pack-ykpack", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"hidden\">", +"fubiaotihou":"", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"content_playlist", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"状态:", +"zhuangtaihou":"", +"daoyanhou":"

    ", +"zhuyanqian":"演员:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"思乐影视", +"url":"https://www.4ltv.com", +"User":"空", +"fenlei":"电视剧$/show/1------#电影$/show/2------#综艺$/show/3------#动漫$/show/4------", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"col-md-1", +"ssjiequshuzuhou":"", +"sstupianqian":"src=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"sort-item", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"remarks\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"hl-plays-list", +"bfjiequshuzuhou":"", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"🔞如如影视", +"url":"https://www.wei333.com", +"User":"空", +"fenlei":"电影$/movie/?v1-#电视剧$/dsj/?v2-#综艺$/zong/?v3-#动漫$/dong/?v4-#伦理片$/lun/?v5-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"
  • ", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"pic-text text-right\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"style=\"display:none;\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"\">", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"看一看影视", +"url":"https://www.kyikan.cc", +"fenlei":"连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧美剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", +"houzhui":"-order--by--class-0-year-0-letter--area--lang-.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php?m=vod-search-pg-1-wd-", +"sousuohou":".html&limit=500", +"sousuohouzhui":"/vodhtml/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"", +"zhuangtaiqian":"class=\"bz\">", +"zhuangtaihou":"", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":">介绍:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href='", +"bflianjiehou":"'" +}, +{ +"name":"1080Kkk", +"url":"https://www.1080kkk.com", +"User":"空", +"fenlei":"电影$/ys/1--------#电视剧$/ys/2--------#综艺$/ys/3--------#动漫$/ys/4--------#动画片$/ys/1---动画-----#记录片$/ys/1---记录-----#国产剧$/ys/2----国语----#韩剧$/ys/2----韩语----#日剧$/ys/2----日语----#美剧$/ys/2----英语----#港剧$/ys/2----粤语----#喜剧片$/ys/1---喜剧-----#爱情片$/ys/1---爱情-----#恐怖片$/ys/1---恐怖-----#动作片$/ys/1---动作-----#科幻片$/ys/1---科幻-----#剧情片$/ys/1---剧情-----#战争片$/ys/1---战争-----#警匪片$/ys/1---警匪-----#犯罪片$/ys/1---犯罪-----#奇幻$/ys/1---奇幻-----#武侠$/ys/1---武侠-----#冒险$/ys/1---冒险-----", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"乌龟影院", +"url":"https://www.wuguiyy.com", +"User":"空", +"fenlei":"电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__box\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"style=\"display:none;\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"31看影视", +"url":"https://www.31kan.vip", +"author":"dj", +"User":"空", +"fenlei":"热播剧集$/vodshow/2--hits------#热播电影$/vodshow/1--hits------#热播综艺$/vodshow/3--hits------#热播少儿$/vodshow/33--hits------#国产剧$/vodshow/2-大陆-------#港剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#泰剧$/vodshow/2-泰国-------#日剧$/vodshow/2-日本-------#英剧$/vodshow/2-英国-------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"小强迷", +"url":"http://xqmi.top", +"User":"空", +"fenlei":"电影$/index.php/vod/show/by/time/id/1/page/#电视剧$/index.php/vod/show/by/time/id/2/page/#综艺$/index.php/vod/show/by/time/id/3/page/#动漫$/index.php/vod/show/by/time/id/4/page/#国产剧$/index.php/vod/show/by/time/id/13/page/#港台剧$/index.php/vod/show/by/time/id/14/page/#日韩剧$/index.php/vod/show/by/time/id/15/page/#欧美剧$/index.php/vod/show/by/time/id/16/page/#国产动漫$/index.php/vod/show/area/国产/by/time/id/4/page/#日本动漫$/index.php/vod/show/area/日本/by/time/id/4/page/#动作片$/index.php/vod/show/by/time/id/6/page/#喜剧片$/index.php/vod/show/by/time/id/7/page/#爱情片$/index.php/vod/show/by/time/id/8/page/#科幻片$/index.php/vod/show/by/time/id/9/page/#恐怖片$/index.php/vod/show/by/time/id/10/page/#剧情片$/index.php/vod/show/by/time/id/11/page/#战争片$/index.php/vod/show/by/time/id/12/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":" lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\">", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"状态:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"chok8电影", +"url":"https://www.chok8.com", +"fenlei":"电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#记录片$/vodshow/jilupian--------#国产剧$/vodshow/guochanju--------#日韩剧$/vodshow/rihanju--------#欧美剧$/vodshow/oumeiju--------#港台剧$/vodshow/gangtaiju--------#动作片$/vodshow/dongzuopian--------#喜剧片$/vodshow/xijupian--------#爱情片$/vodshow/aiqingpian--------#科幻片$/vodshow/kehuanpian--------#恐怖片$/vodshow/kongbupian--------#剧情片$/vodshow/juqingpian--------#战争片$/vodshow/zhanzhengpian--------#犯罪片$/vodshow/fanzuipian--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"九州影视", +"url":"http://www.unss.net", +"User":"空", +"fenlei":"电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/type/id/4/page/#动画片$/index.php/vod/show/id/21/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#泰剧$/index.php/vod/show/id/34/page/#国产动漫$/index.php/vod/show/id/26/page/#日本动漫$/index.php/vod/show/id/27/page/#欧美动漫$/index.php/vod/show/id/28/page/#动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#犯罪片$/index.php/vod/show/id/20/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"鸭奈飞", +"url":"https://yanetflix.com", +"User":"空", +"fenlei":"电影$/vodshow/dianying--time------#连续剧$/vodshow/lianxuju--time------#综艺$/vodshow/zongyi--time------#动漫$/vodshow/dongman--time------#动画片$/vodshow/donghuapian--time------#纪录片$/vodshow/jilupian--time------#国产剧$/vodshow/guochanju--time------#日韩剧$/vodshow/rihanju--time------#欧美剧$/vodshow/oumeiju--time------#港台剧$/vodshow/gangtaiju--time------#泰国剧$/vodshow/taiguoju--time------#海外剧$/vodshow/haiwaiju--time------#大陆动漫$/vodshow/daludongman--time------#日本动漫$/vodshow/ribendongman--time------#欧美动漫$/vodshow/oumeidongman--time------#动作片$/vodshow/dongzuopian--time------#喜剧片$/vodshow/xijupian--time------#爱情片$/vodshow/aiqingpian--time------#科幻片$/vodshow/kehuanpian--time------#恐怖片$/vodshow/kongbupian--time------#剧情片$/vodshow/juqingpian--time------#战争片$/vodshow/zhanzhengpian--time------#悬疑片$/vodshow/xuanyipian--time------#冒险片$/vodshow/maoxianpian--time------#犯罪片$/vodshow/fanzuipian--time------#奇幻片$/vodshow/qihuanpian--time------#惊悚片$/vodshow/jingsongpian--time------#灾难片$/vodshow/zainanpian--time------#古装片$/vodshow/guzhuangpian--time------", +"houzhui":"---.html", +"shifouercijiequ":"1", +"jiequqian":"
    ", +"fubiaotihou":"
    ", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"23影视网", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"pack-prb\">", +"fubiaotihou":"", +"zhuangtaiqian":"remarks\">", +"zhuangtaihou":"", +"daoyanhou":"

    ", +"zhuyanqian":"演员:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"小熊影视", +"url":"http://www.xxys520.com", +"User":"空", +"fenlei":"电影$/vodshow/1--------#电视剧$/vodshow/2--------#动漫$/vodshow/3--------#动画片$/vodshow/24--------#综艺$/vodshow/4--------#纪录片$/vodshow/5--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#泰国剧$/vodshow/29--------#其他剧$/vodshow/27--------#国漫$/vodshow/3----国语----#日漫$/vodshow/3----日语----#韩漫$/vodshow/3----韩语----#美漫$/vodshow/3----英语----#台漫$/vodshow/3----闽南语----#其它漫$/vodshow/3----其它----#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#惊悚片$/vodshow/20--------#犯罪片$/vodshow/21--------#冒险片$/vodshow/22--------#悬疑片$/vodshow/23--------#武侠片$/vodshow/25--------#奇幻片$/vodshow/26--------#古装片$/vodshow/28--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic\"", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"vod_content\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"red\">", +"zhuangtaihou":"", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"手机看剧", +"url":"https://www.shoujikanju.com/", +"User":"空", +"fenlei":"电影$/sort/1-#电视剧$/sort/2-#综艺$/sort/3-#动漫$/sort/4-#纪录片$/sort/5-", +"houzhui":".html", +"shifouercijiequ":"1", +"jiequqian":"id=\"list\"", +"jiequhou":"", +"jiequshuzuqian":"
  • ", +"jiequshuzuhou":"
  • ", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"span>", +"biaotihou":"", +"fubiaotihou":"", +"zhuangtaiqian":"空", +"zhuangtaihou":"空", +"daoyanqian":"空", +"daoyanhou":"空", +"zhuyanqian":"空", +"zhuyanhou":"空", +"juqingqian":"text-indent:2em;\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"克拉TV", +"url":"https://www.kelatv.com", +"fenlei":"电影$/dianying/index-#电视剧$/dianshiju/index-#动漫$/dongman/index-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"layui-col-md2 layui-col-sm4 layui-col-xs6 item\"", +"jiequshuzuhou":"", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"alt=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"", +"fubiaotihou":"", +"sousuoqian":"/search/", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"video-txt\"", +"ssjiequshuzuhou":"", +"sstupianqian":"original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"layui-tab-item bt-playlist layui-show\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"

    状态:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"class=\"bt-content\">

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"创艺影视", +"url":"https://www.30dian.cn", +"User":"空", +"fenlei":"电影$/vodshow/1--------#连续剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#纪录片$/vodshow/30--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"7091fc;\">", +"fubiaotihou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"炫猫影视", +"url":"https://www.xuanmao520.com", +"User":"空", +"fenlei":"电影$/vod/show/id/1/page/#电视剧$/vod/show/id/2/page/#综艺$/vod/show/id/3/page/#动漫$/vod/show/id/4/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"神马影院", +"url":"https://www.smtv8.com", +"fenlei":"国产剧$/guocanju/index_#韩国剧$/hanguoju/index_#日本剧$/ribenju/index_#欧美剧$/oumeiju/index_#香港剧$/xianggangju/index_#台湾剧$/taiwanju/index_#海外剧$/haiwaiju/index_#综艺$/fun/index_#动漫$/cartoon/index_#记录片$/jilupian/index_#喜剧片$/xijupian/index_#动作片$/dongzuopian/index_#科幻片$/kehuanpian/index_#恐怖片$/kongbupian/index_#爱情片$/aiqingpian/index_#战争片$/zhanzhengpian/index_#犯罪片$/fanzuipian/index_#剧情片$/juqingpian/index_#经典片$/jingdianpian/index_", +"houzhui":"_______.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"link-hover\"", +"jiequshuzuhou":"", +"tupianqian":"src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"i>", +"fubiaotihou":"", +"sstupianqian":"src=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"urlli clearfix\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"bz\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href='", +"bflianjiehou":"'" +}, +{ +"name":"利丽娅电影", +"url":"https://www.llyady.com", +"User":"空", +"fenlei":"电影$/vodshow/1--hits------#国产剧$/vodshow/28--------#日韩剧$/vodshow/29--------#欧美剧$/vodshow/30--------#港台剧$/vodshow/31--------#其他剧$/vodshow/31--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic\"", +"jiequshuzuhou":"class=\"module-item-caption\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"right;\">", +"fubiaotihou":"", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"sort-item-", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"module-item-text\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"状态:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"大象TV", +"url":"http://www.daxiangtv.net", +"User":"空", +"fenlei":"电影$/vodshow/1--time------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#欧美剧$/vodshow/16--------#日韩剧$/vodshow/15--------#海外剧$/vodshow/82--------#海外剧$/vodshow/18--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"4kan电影网", +"url":"https://www.4kan.cc", +"fenlei":"电影$/vodshow/1--------#国产剧$/vodshow/13-内地-------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#港台剧$/vodshow/13-香港-------#台剧$/vodshow/13-台湾-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui":"---/", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"e;border-radius:0 10px 0 10px;\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"id=\"playlist", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"style=\"bottom:0;backgroud-color:white;border-radius:0 10px 0 10px;\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"耐看点播", +"url":"https://www.nkdyw.com", +"fenlei":"电影$/show/1--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#综艺$/show/3--------#国产动漫$/show/4-国产-------#日本动漫$/show/4-日本-------#欧美动漫$/show/4-欧美-------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic", +"jiequshuzuhou":"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"scroll-content", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"集数:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"98播播网", +"url":"https://98bbw.com", +"fenlei":"电影$/vod/show/id/1/page/#电视剧$/vod/show/id/2/page/#国产剧$/vod/show/id/2/area/中国大陆/page/#港剧$/vod/show/id/2/area/中国香港/page/#韩剧$/vod/show/id/3/page/#日剧$/vod/show/id/5/page/#美剧$/vod/show/id/4/page/#综艺$/vod/show/id/22/page/#国产动漫$/vod/show/id/26/page/#日本动漫$/vod/show/id/25/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload", +"jiequshuzuhou":"", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/show/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"pic-text text-right\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"🔞奇优影院(不支持搜)", +"url":"http://1e6e.com", +"User":"空", +"fenlei":"电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#伦理$/list/6_", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"class=\"pic-text text-right\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ + "name":"黑狐影院", + "url":"http://heihu.tv", + "tihuan":"cnzz.com", + "shouye":"1", + "fenlei":"电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#伦理$/list/40_", + //"fenlei":"电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_", + "houzhui":".html", + "shifouercijiequ":"0", + "jiequqian":"空", + "jiequhou":"空", + "jiequshuzuqian":"class=\"stui-vodlist__box\"", + "jiequshuzuhou":"", + "tupianqian":"original=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "sousuoqian":"/?c=search&wd=", + "sousuohou":"", + "sousuohouzhui":"/gov-", + "ssmoshi":"1", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"class=\"thumb\"", + "ssjiequshuzuhou":"", + "sstupianqian":"data-original=\"", + "sstupianhou":"\"", + "ssbiaotiqian":"title=\"", + "ssbiaotihou":"\"", + "sslianjieqian":"href=\"", + "sslianjiehou":"\"", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou":"", + "zhuangtaiqian":"class=\"pic-text text-right\">", + "zhuangtaihou":"", + "daoyanqian":"导演:", + "daoyanhou":"

    ", + "zhuyanqian":"主演:", + "zhuyanhou":"

    ", + "juqingqian":"简介:", + "juqinghou":"", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":">", + "bfbiaotihou":"<", + "bflianjieqian":"href=\"", + "bflianjiehou":"\"" +}, +{ +"name":"影渣渣", +"url":"https://www.yingzhazha.com", +"User":"空", +"fenlei":"电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育赛事$/vodshow/22--------#电视直播$/vodshow/28--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#海外剧$/vodshow/23--------#泰剧$/vodshow/37--------#国产动漫$/vodshow/20--------#日本动漫$/vodshow/25--------#欧美动漫$/vodshow/26--------#海外动漫$/vodshow/34--------#其他动漫$/vodshow/21--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#纪录片$/vodshow/24--------#动画电影$/vodshow/27--------#犯罪片$/vodshow/35--------#悬疑片$/vodshow/41--------#奇幻片$/vodshow/42--------#冒险片$/vodshow/43--------#惊悚片$/vodshow/44--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"
    ", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"vod_content\">", +"juqinghou":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"zhuangtaiqian":"class=\"pic-text text-right\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"星空影视", +"url":"https://xkys.tv", +"User":"空", +"fenlei":"电影$/vodshow/1--------#国产剧$/vodshow/2-内地-------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#直播$/vodshow/22--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/Moviedsetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"scroll-content\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"sNum\">", +"fubiaotihou":"", +"sstupianqian":"data-src=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"ulNumList", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"状态:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"title=\"", +"bfbiaotihou":"\"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"稀饭影视", +"url":"https://www.xifanys.com", +"User":"无", +"fenlei":"电视剧$/yingpianshow/lianxuju--------#电影$/yingpianshow/dianying--------#综艺$/yingpianshow/zongyi--------#动漫$/yingpianshow/dongman--------#纪录片$/yingpianshow/jilupian--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic\"", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/yingpiandetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"scroll-content\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"hdtag\">", +"fubiaotihou":"", +"sousuoqian":"/?c=search&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/show/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"movie-item-in", +"ssjiequshuzuhou":"", +"bfjiequshuzuhou":"class=\"row", +"zhuangtaiqian":"状态", +"zhuangtaihou":"", +"daoyanqian":"导演", +"daoyanhou":"", +"zhuyanqian":"主演", +"zhuyanhou":"", +"juqinghou":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"city电影", +"url":"https://www.citydy.com", +"User":"User-Agent:Dart/2.14 (dart:io)", +"fenlei":"电影$/show/id-1/page/#纪录片$/show/id-5/page/##电视剧$/show/id-2/page/#国产剧$/show/id-2/area/大陆/page/#日剧$/show/id-2/area/日本/page/#泰剧$/show/id-2/area/泰国/page/#韩剧$/show/id-2/area/韩国/page/#美剧$/show/id-2/area/美国/page/#英剧$/show/id-2/area/英国/page/#综艺$/type/id-3-#动漫$/type/id-4-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"img-pic", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail/id-", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"play-div-oa", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"状态:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"简介:", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"小傻瓜", +"url":"https://www.xiaoshaguays.com", +"fenlei":"电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/#动画片$/index.php/vod/show/class/动画/id/1/page/#纪录片$/index.php/vod/show/id/5/page/#陆剧$/index.php/vod/show/area/大陆/id/2/page/#韩剧$/index.php/vod/show/area/韩国/id/2/page/#美剧$/index.php/vod/show/area/美国/id/2/page/#日剧$/index.php/vod/show/area/日本/id/2/page/#港剧$/index.php/vod/show/area/香港/id/2/page/#台剧$/index.php/vod/show/area/台湾/id/2/page/#泰剧$/index.php/vod/show/area/泰国/id/2/page/#陆漫$/index.php/vod/show/area/国产/id/4/page/#日漫$/index.php/vod/show/area/日本/id/4/page/#美漫$/index.php/vod/show/area/欧美/id/4/page/#其他漫$/index.php/vod/show/area/其他/id/4/page/#喜剧片$/index.php/vod/show/class/喜剧/id/1/page/#爱情片$/index.php/vod/show/class/爱情/id/1/page/#恐怖片$/index.php/vod/show/class/恐怖/id/1/page/#动作片$/index.php/vod/show/class/动作/id/1/page/#科幻片$/index.php/vod/show/class/科幻/id/1/page/#剧情片$/index.php/vod/show/class/剧情/id/1/page/#战争片$/index.php/vod/show/class/战争/id/1/page/#警匪片$/index.php/vod/show/class/警匪/id/1/page/#犯罪片$/index.php/vod/show/class/犯罪/id/1/page/#奇幻片$/index.php/vod/show/class/奇幻/id/1/page/#武侠片$/index.php/vod/show/class/武侠/id/1/page/#冒险片$/index.php/vod/show/class/冒险/id/1/page/#枪战片$/index.php/vod/show/class/枪战/id/1/page/#恐怖片$/index.php/vod/show/class/恐怖/id/1/page/#悬疑片$/index.php/vod/show/class/悬疑/id/1/page/#惊悚片$/index.php/vod/show/class/惊悚/id/1/page/#经典片$/index.php/vod/show/class/经典/id/1/page/#青春片$/index.php/vod/show/class/青春/id/1/page/#文艺片$/index.php/vod/show/class/文艺/id/1/page/#微电影$/index.php/vod/show/class/微电影/id/1/page/#古装片$/index.php/vod/show/class/古装/id/1/page/#历史片$/index.php/vod/show/class/历史/id/1/page/#运动片$/index.php/vod/show/class/运动/id/1/page/#农村片$/index.php/vod/show/class/农村/id/1/page/#儿童片$/index.php/vod/show/class/儿童/id/1/page/#网络电影$/index.php/vod/show/class/网络电影/id/1/page/", +"houzhui":".html", +"shifouercijiequ":"1", +"jiequqian":"class=\"module-items", +"jiequhou":"class=\"fixedGroup", +"jiequshuzuqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/vod/search.html?wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/index.php/vod/detail/id/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"module-card-item module-item", +"ssjiequshuzuhou":"referrerpolicy", +"sstupianqian":"data-original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"alt=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list-content", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"scroll-content\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"集数:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"爱看影视", +"url":"https://ikan6.vip", +"fenlei":"电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui":"---/", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic\"", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"scroll-content\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"集数:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"视中心影院", +"url":"https://www.ksksi.com", +"fenlei":"电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/2-内地-------#港台剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/5--------", +"houzhui":"---.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic\"", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"1", +"bfjiequqian":"class=\"module-heading\"", +"bfjiequhou":"type=\"text/javascript\"", +"bfjiequshuzuqian":"class=\"module-blocklist scroll-box scroll-box-y\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"集数:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"text-right\">", +"fubiaotihou":"", +"sousuoqian":"/search/", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail1/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"module-item-cover", +"ssjiequshuzuhou":"", +"sstupianqian":"original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"stui-content__playlist clearfix", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"pic-text text-right\">", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"class=\"detail-sketch\">", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"老电影", +"url":"https://www.laodyw.com", +"User":"空", +"fenlei":"国产剧$/guocanju/index_#香港剧$/xianggangju/index_#台湾剧$/taiwanju/index_#韩国剧$/hanguoju/index_#日本剧$/ribenju/index_#欧美剧$/oumeiju/index_#海外剧$/haiwaiju/index_#动漫$/cartoon/index_#综艺$/fun/index_#纪录片$/jilupian/index_#喜剧片$/xijupian/index_#动作片$/dongzuopian/index_#科幻片$/kehuanpian/index_#恐怖片$/kongbupian/index_#爱情片$/aiqingpian/index_#战争片$/zhanzhengpian/index_#犯罪片$/fanzuipian/index_#剧情片$/juqingpian/index_#经典片$/jingdianpian/index_", +"houzhui":"_______1.html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"lazyload\"", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"t text-right\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"", +"sstupianqian":"original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"状态:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"剧情:", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"\">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"Nike影视网", +"url":"https://www.ajeee.com", +"User":"空", +"fenlei":"电影$/show/Movie/page/#大陆剧$/show/Tv/area/大陆/page/#韩剧$/show/Tv/area/韩国/page/#港剧$/show/Tv/area/香港/page/#台剧$/show/Tv/area/台湾/page/#日剧$/show/Tv/area/日本/page/#美剧$/show/Tv/area/美国/page/#泰剧$/show/Tv/area/泰国/page/#英剧$/show/Tv/area/英国/page/#大陆动漫$/show/Cartoon/area/大陆/page/#日本动漫$/show/Cartoon/area/日本/page/#欧美动漫$/show/Cartoon/area/欧美/page/#综艺$/show/Variety/page/", +"houzhui":".html", +"shifouercijiequ":"1", +"jiequqian":"module-page", +"jiequhou":"class=\"fixedGroup", +"jiequshuzuqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-list", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"class=\"module-info-introduction-content\"", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ +"name":"伊雪湾", +"url":"https://www.yixuewan.com", +"fenlei":"国产剧$/vodshow/13/page/#日韩剧$/vodshow/14/page/#港台剧$/vodshow/15/page/#欧美剧$/vodshow/16/page/#其他剧$/vodshow/20/page/#纪录片$/vodshow/21/page/#大陆动漫$/vodshow/4/area/中国大陆/page/#日本动漫$/vodshow/4/area/日本/page/#美国动漫$/vodshow/4/area/美国/page/#其他动漫$/vodshow/4/area/其他/page/#综艺$/vodshow/3/page/#动作片$/vodshow/6/page/#喜剧片$/vodshow/7/page/#剧情片$/vodshow/24/page/#爱情片$/vodshow/8/page/#科幻片$/vodshow/9/page/#恐怖片$/vodshow/10/page/#冒险片$/vodshow/11/page/#战争片$/vodshow/12/page/#其他片$/vodshow/32/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic\"", +"jiequshuzuhou":"class=\"module-item\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"fubiaotiqian":"item-text\">", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-blocklist scroll-box scroll-box-y\">", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"上映:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"剧情:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"myui-content__list sort-list clearfix", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"简介:", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{ + "name":"哔嘀影视", + "url":"https://bidiys.cc/", + "User":"User-Agent:Dart/2.14 (dart:io)", + "shouye":"1", + "fenlei":"南瓜电影$/vodshow-nanguady--------#4K专区$/vodshow-huiyuanzhuanqu--------#电影$/vodshow-dianying--------#电视剧$/vodshow-lianxuju--------#动漫$/vodshow-dongman--------#日本番剧$/vodshow-rbdm--------#国产剧$/vodshow-guochanju--------#日韩剧$/vodshow-rihanju--------#欧美剧$/vodshow-oumeiju--------#港台剧$/vodshow-gangtaiju--------#其他海外$/vodshow-qita--------#综艺$/vodshow-zongyi--------", + "houzhui":"---.html", + "shifouercijiequ":"0", + "jiequqian":"空", + "jiequhou":"空", + "jiequshuzuqian":"class=\"module-item-pic\"", + "jiequshuzuhou":"class=\"module-item\"", + "tupianqian":"data-src=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "sousuoqian":"/vodsearch--------------.html?wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/voddetail-", + "ssmoshi":"1", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"class=\"module-item-pic\"", + "ssjiequshuzuhou":"", + "sstupianqian":"data-src=\"", + "sstupianhou":"\"", + "ssbiaotiqian":"alt=\"", + "ssbiaotihou":"\"", + "sslianjieqian":"href=\"", + "sslianjiehou":"\"", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"id=\"sort-item-", + "bfjiequshuzuhou":"", + "zhuangtaiqian":"上映:", + "zhuangtaihou":"", + "daoyanqian":"导演:", + "daoyanhou":"", + "zhuyanqian":"主演:", + "zhuyanhou":"", + "juqingqian":"剧情:", + "juqinghou":"", + "bfbiaotiqian":"span>", + "bfbiaotihou":"",//截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian":"data-original=\"",//列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou":"\"",//列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian":"title=\"",//列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou":"\"",//列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian":"href=\"",//列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou":"\"",//列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian":"/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/voddetail/",//搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"id=\"playlist",//播放截取的列表数组的前关键词 + "bfjiequshuzuhou":"",//播放截取的列表数组的后关键词 + "zhuangtaiqian":"class=\"text-red\">",//状态前关键词 + "zhuangtaihou":"/",//状态后关键词 + "daoyanqian":"导演:",//导演前关键词 + "daoyanhou":"

    ",//导演态后关键词 + "zhuyanqian":"主演:",//主演前关键词 + "zhuyanhou":"

    ",//主演后关键词 + "juqingqian":"简介:",//剧情前关键词 + "juqinghou":"",//播放剧集数组后关键词 + "bfbiaotiqian":">",//播放剧集标题前关键词 + "bfbiaotihou":"<",//状播放剧集标题后关键词 + "bflianjieqian":"href=\"",//播放剧集链接前关键词 + "bflianjiehou":"\"" +}, +{ + "author":"20220607", + "name":"荣耀Glory", + "url":"http://app.lmvideos.cn",//填网站链接 + "tihuan":"cnzz.com",//这个不用动,是个别网站嗅探时过滤地址用的 + "User":"空",//这个不用动,是个别网站播放需要请求头时才用到 + "shouye":"1", + "fenlei":"电影$/vod/type/id/1/page/#电视剧$/vod/type/id/2/page/#综艺$/vod/type/id/3/page/#动漫$/vod/type/id/4/page/#音乐MV$/vod/type/id/32/page/#4K电影$/vod/type/id/30/page/#4K剧集$/vod/type/id/31/page/",//网站列表的分类 + "houzhui":".html",//网站翻页链接的后缀 + "shifouercijiequ":"0",//截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian":"空",//不需要二次截取就填空 + "jiequhou":"空",//不需要二次截取就填空 + "jiequshuzuqian":"class=\"stui-vodlist__thumb",//截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou":"class=\"play",//截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian":"data-original=\"",//列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou":"\"",//列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian":"title=\"",//列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou":"\"",//列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian":"href=\"",//列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou":"\"",//列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/vod/play/id/",//搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"class=\"stui-play__list",//播放截取的列表数组的前关键词 + "bfjiequshuzuhou":"",//播放截取的列表数组的后关键词 + "zhuangtaiqian":">当前",//状态前关键词 + "zhuangtaihou":"",//状态后关键词 + "daoyanqian":"导演:",//导演前关键词 + "daoyanhou":"

    ",//导演态后关键词 + "zhuyanqian":"主演:",//主演前关键词 + "zhuyanhou":"

    ",//主演后关键词 + "juqingqian":"

    简介:",//剧情前关键词 + "juqinghou":"

    ",//剧情后关键词 + "bfyshifouercijiequ":"0",//截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian":"空",//不需要二次截取就填空 + "bfyjiequhou":"空",//不需要二次截取就填空 + "bfyjiequshuzuqian":"",//播放剧集数组后关键词 + "bfbiaotiqian":">",//播放剧集标题前关键词 + "bfbiaotihou":"<",//状播放剧集标题后关键词 + "bflianjieqian":"href=\"",//播放剧集链接前关键词 + "bflianjiehou":"\"" +} , +{ + "author":"20220615", + "name":"悟空影视", + "url":"https://www.01vo.com",//填网站链接 + "tihuan":"cnzz.com",//这个不用动,是个别网站嗅探时过滤地址用的 + "User":"空",//这个不用动,是个别网站播放需要请求头时才用到 + "shouye":"1", + "fenlei":"体育$/vodshow/36--------#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/25--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/31--------#日本动漫$/vodshow/32--------#欧美动漫$/vodshow/33--------#动漫片$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/24--------",//网站列表的分类 + "houzhui":"---.html",//网站翻页链接的后缀 + "shifouercijiequ":"0",//截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian":"空",//不需要二次截取就填空 + "jiequhou":"空",//不需要二次截取就填空 + "jiequshuzuqian":"class=\"module-item-pic",//截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou":"alt=\"",//截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian":"data-src=\"",//列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou":"\"",//列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian":"title=\"",//列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou":"\"",//列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian":"href=\"",//列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou":"\"",//列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/voddetail/",//搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"id=\"sort-item",//播放截取的列表数组的前关键词 + "bfjiequshuzuhou":"",//播放截取的列表数组的后关键词 + "zhuangtaiqian":"集数:
    ",//状态前关键词 + "zhuangtaihou":"
    ",//状态后关键词 + "daoyanqian":"导演:",//导演前关键词 + "daoyanhou":"",//导演态后关键词 + "zhuyanqian":"主演:",//主演前关键词 + "zhuyanhou":"",//主演后关键词 + "juqingqian":"vod_content\">",//剧情前关键词 + "juqinghou":"",//剧情后关键词 + "bfyshifouercijiequ":"0",//截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian":"空",//不需要二次截取就填空 + "bfyjiequhou":"空",//不需要二次截取就填空 + "bfyjiequshuzuqian":"",//播放剧集数组后关键词 + "bfbiaotiqian":"span>",//播放剧集标题前关键词 + "bfbiaotihou":"", + "tupianqian":"data-original=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/movie/index", + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou":"", + "zhuangtaiqian":"class=\"pic-text text-right\">", + "zhuangtaihou":"", + "daoyanqian":"导演:", + "daoyanhou":"", + "zhuyanqian":"主演:", + "zhuyanhou":"", + "juqingqian":"class=\"detail-sketch\"", + "juqinghou":"", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":"\">", + "bfbiaotihou":"", + "bflianjieqian":"href=\"", + "bflianjiehou":"\"" +}, +{ + "name":"YYDS影院", + "url":"https://www.yydsvod.com", + "User":"空", + "shouye":"1", + "fenlei":"电视剧$/vod/show/drama--------#电影$/vod/show/movie--------#综艺$/vod/show/varietyshow--------#动漫$/vod/show/animes--------#伦理片$/vod/show/limit--------", + "houzhui":"---.html", + "shifouercijiequ":"0", + "jiequqian":"空", + "jiequhou":"空", + "jiequshuzuqian":"lazyload\"", + "jiequshuzuhou":"", + "tupianqian":"data-original=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/vod/detail/", + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"class=\"col-md-1", + "ssjiequshuzuhou":"", + "sstupianqian":"src=\"", + "sstupianhou":"\"", + "ssbiaotiqian":"title=\"", + "ssbiaotihou":"\"", + "sslianjieqian":"href=\"", + "sslianjiehou":"\"", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"class=\"myui-content__list", + "bfjiequshuzuhou":"", + "zhuangtaiqian":"更新:", + "zhuangtaihou":"

    ", + "daoyanqian":"导演:", + "daoyanhou":"

    ", + "zhuyanqian":"主演:", + "zhuyanhou":"

    ", + "juqingqian":"简介:", + "juqinghou":"", + "bfbiaotiqian":">", + "bfbiaotihou":"<", + "bflianjieqian":"href=\"", + "bflianjiehou":"\"" +}, +{ + "name":"小猫咪", + "url":"https://xmaomi.net", + "User":"空", + "shouye":"1", + "fenlei":"电影$/vodshow/1--------#国产剧$/vodshow/2-中国大陆-------#台剧$/vodshow/2-中国台湾-------#美剧$/vodshow/2-美国-------#港剧$/vodshow/2-中国香港-------#韩剧$/vodshow/2-韩国-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui":"---.html", + "shifouercijiequ":"0", + "jiequqian":"空", + "jiequhou":"空", + "jiequshuzuqian":"hl-lazy\"", + "jiequshuzuhou":"", + "tupianqian":"data-original=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/vodplay/",//搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"id=\"hl-plays-list", + "bfjiequshuzuhou":"", + "zhuangtaihou":"", + "daoyanqian":"导演:", + "daoyanhou":"", + "zhuyanqian":"主演:", + "zhuyanhou":"", + "juqingqian":"简介:", + "juqinghou":"", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":">", + "bfbiaotihou":"", + "bflianjieqian":"href=\"", + "bflianjiehou":"\"" +}, +{ + "name":"蓝莓影视", + "url":"https://lanmeiguojiang.com", + "User":"空", + "shouye":"1", + //"fenlei":"电影$/ys/index.php/vod/type/id/20/page/#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#抖音电影$/vodshow/5--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/23--------", + "fenlei":"电影$/show/1--------#剧集$/show/2--------#综艺$/show/4--------#动漫$/show/3--------#4K剧集$/show/24--------#4K电影$/show/25--------#国产剧$/show/13--------#欧美剧$/show/14--------#港台剧$/show/15--------#日韩剧$/show/16--------#网剧$/show/20--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------", + "houzhui":"---.html", + "shifouercijiequ":"1", + "jiequqian":"class=\"module-items", + "jiequhou":"class=\"fixedGroup", + "jiequshuzuqian":"", + "zhuangtaiqian":"更新:", + "zhuangtaihou":"", + "daoyanqian":"导演:", + "daoyanhou":"", + "zhuyanqian":"主演:", + "zhuyanhou":"", + "juqingqian":"

    ", + "juqinghou":"

    ", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":"span>", + "bfbiaotihou":"", + "fubiaotihou":"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/voddetail/", + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"class=\"module-play-list\"", + "bfjiequshuzuhou":"", + "zhuangtaiqian":"更新:", + "zhuangtaihou":"", + "daoyanqian":"导演:", + "daoyanhou":"", + "zhuyanqian":"主演:", + "zhuyanhou":"", + "juqingqian":"

    ", + "juqinghou":"

    ", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":"span>", + "bfbiaotihou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"alt=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/?m=search-type-so-0.html&TXT=", +"sousuohou":"&submit=", +"sousuohouzhui":"/detail/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"空", +"jsname":"空", +"jsid":"空", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"uk-width-1-5", +"ssjiequshuzuhou":"", +"sstupianqian":"src=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"alt=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"影片分类:", +"zhuangtaihou":"

    ", +"daoyanqian":"更新时间:", +"daoyanhou":"

    ", +"zhuyanqian":"class=\"data\">主演:", +"zhuyanhou":"

    ", +"juqingqian":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""}, + +{"name":"🔞爱看影院", +"tihuan":"cnzz.com", +"url":"https://www.readav.com", +"fenlei":"国产视频$/index.php/vod/type/id/1/page/#日本视频$/index.php/vod/type/id/2/page/#VR视频$/index.php/vod/type/id/3/page/#韩国视频$/index.php/vod/type/id/4/page/#欧美视频$/index.php/vod/type/id/5/page/#动画视频$/index.php/vod/type/id/6/page/6#中文字幕$/index.php/vod/type/id/9/page/#国产精品$/index.php/vod/show/id/10/page/#精品三级$/index.php/vod/show/id/11/page/#主播大秀$/index.php/vod/show/id/12/page/#抖阴视频$/index.php/vod/show/id/13/page/#国模私拍$/index.php/vod/show/id/14/page/#颜射瞬间$/index.php/vod/show/id/15/page/#女神学生$/index.php/vod/show/id/16/page/#美熟少妇$/index.php/vod/show/id/17/page/#娇妻素人$/index.php/vod/show/id/18/page/#空姐模特$/index.php/vod/show/id/19/page/#国产乱伦$/index.php/vod/show/id/20/page/#骑兵有码$/index.php/vod/show/id/27/page/#步兵无码$/index.php/vod/show/id/28/page/#制服师生$/index.php/vod/show/id/50/page/#强奸乱伦$/index.php/vod/show/id/51/page/#人妻熟女$/index.php/vod/show/id/53/page/#三级剧情$/index.php/vod/show/id/55/page/#丝袜美腿$/index.php/vod/show/id/56/page/#亚洲情色$/index.php/vod/show/id/58/page/#VR有码$/index.php/vod/show/id/7/page/#VR无码$/index.php/vod/show/id/8/page/#韩国精品$/index.php/vod/show/id/42/page/#韩国制服主播$/index.php/vod/show/id/43/page/#韩国萝莉主播$/index.php/vod/show/id/44/page/#韩国大秀主播$/index.php/vod/show/id/45/page/#韩国自慰主播$/index.php/vod/show/id/46/page/#韩国唯美三级$/index.php/vod/show/id/47/page/#韩国明星学生$/index.php/vod/show/id/48/page/#无码中文$/index.php/vod/show/id/34/page/#强奸中文$/index.php/vod/show/id/35/page/#巨乳中文$/index.php/vod/show/id/36/page/#乱伦中文$/index.php/vod/show/id/37/page/#制服中文$/index.php/vod/show/id/38/page/#人妻中文$/index.php/vod/show/id/39/page/#调教中文$/index.php/vod/show/id/40/page/#出轨中文$/index.php/vod/show/id/41/page/#中文字幕$/index.php/vod/show/id/59/page/#卡通动漫$/index.php/vod/show/id/49/page/#欧美性爱$/index.php/vod/show/id/29/page/#欧美人兽$/index.php/vod/show/id30/page/#欧美人妖$/index.php/vod/show/id/31/page/#欧美男同$/index.php/vod/show/id/32/page/#欧美女同$/index.php/vod/show/id/33/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/detail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"stui-content__playlist", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"text-muted hidden-xs\">类型:", +"zhuangtaihou":"", +"daoyanqian":"class=\"data\">导演:", +"daoyanhou":"

    ", +"zhuyanqian":"class=\"data\">主演:", +"zhuyanhou":"

    ", +"juqingqian":"class=\"detail-content\"", +"juqinghou":"
    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, + + + +{"name":"🔞麻豆传媒破解", +"url":"https://www.madoupj.com", +"tihuan":"cnzz.com", +"User":"空", +"fenlei":"MD系列$/index.php/&m=vodtype/mdapp4/page/#导演系列$/index.php/&m=vodtype/mdapp5/page/#MDS系列$/index.php/&m=vodtype/mdapp6/page/#MDX系列$/index.php/&m=vodtype/mdapp7/page/#MKY系列$/index.php/&m=vodtype/mdapp86/page/#MCY系列$/index.php/&m=vodtype/mdapp95/page/#MDXS系列$/index.php/&m=vodtype/mdapp8/page/#MDL系列$/index.php/&m=vodtype/mdapp46/page/#MMZ猫爪系列$/index.php/&m=vodtype/mdapp50/page/#MAD爱豆系列$/index.php/&m=vodtype/mdapp52/page/#MDWP职场淫行系列$/index.php/&m=vodtype/mdapp57/page/#MLT乐天系列$/index.php/&m=vodtype/mdapp62/page/#MSD系列$/index.php/&m=vodtype/mdapp63/page/#MSM性梦者$/index.php/&m=vodtype/mdapp64/page/#MDM恋爱咖啡馆$/index.php/&m=vodtype/mdapp73/page/#MDUS系列$/index.php/&m=vodtype/mdapp77/page/#MXJ系列$/index.php/&m=vodtype/mdapp78/page/#MSG系列$/index.php/&m=vodtype/mdapp85/page/#MAN系列$/index.php/&m=vodtype/mdapp88/page/#杏吧专区$/index.php/&m=vodtype/mdapp9/page/#辣椒原创$/index.php/&m=vodtype/mdapp79/page/#兔子先生$/index.php/&m=vodtype/mdapp10/page/#O-STAR$/index.php/&m=vodtype/mdapp80/page/#果冻传媒$/index.php/&m=vodtype/mdapp11/page/#91制片厂$/index.php/&m=vodtype/mdapp51/page/#皇家华人$/index.php/&m=vodtype/mdapp12/page/#天美传媒$/index.php/&m=vodtype/mdapp45/page/#吴梦梦专区$/index.php/&m=vodtype/mdapp13/page/#PsychoPorn色控$/index.php/&m=vodtype/mdapp14/page/#叮叮映画$/index.php/&m=vodtype/mdapp70/page/#涩会$/index.php/&m=vodtype/mdapp71/page/#蜜桃影像传媒$/index.php/&m=vodtype/mdapp15/page/#豚豚创媒$/index.php/&m=vodtype/mdapp74/page/#宫美娱乐$/index.php/&m=vodtype/mdapp84/page/#肉肉传媒$/index.php/&m=vodtype/mdapp90/page/#爱妃传媒$/index.php/&m=vodtype/mdapp75/page/#渡边传媒$/index.php/&m=vodtype/mdapp94/page/#葵心娱乐$/index.php/&m=vodtype/mdapp96/page/#YOKUBOU$/index.php/&m=vodtype/mdapp97/page/#糖心$/index.php/&m=vodtype/mdapp72/page/#CCAV成人头条$/index.php/&m=vodtype/mdapp89/page/#精东影业$/index.php/&m=vodtype/mdapp34/page/#星空无限传媒$/index.php/&m=vodtype/mdapp47/page/#乐播传媒$/index.php/&m=vodtype/mdapp48/page/#开心鬼传媒$/index.php/&m=vodtype/mdapp56/page/#葫芦影业$/index.php/&m=vodtype/mdapp81/page/#深夜保健室$/index.php/&m=vodtype/mdapp35/page/#大象传媒$/index.php/&m=vodtype/mdapp58/page/#天马传媒$/index.php/&m=vodtype/mdapp82/page/#SWAG$/index.php/&m=vodtype/mdapp36/page/#HongKongDoll$/index.php/&m=vodtype/mdapp59/page/#国产短视频$/index.php/&m=vodtype/mdapp38/page/#北京天使$/index.php/&m=vodtype/mdapp39/page/#MINI传媒$/index.php/&m=vodtype/mdapp61/page/#麻豆不回家$/index.php/&m=vodtype/mdapp41/page/#狼人插$/index.php/&m=vodtype/mdapp53/page/#女优擂台摔角狂热$/index.php/&m=vodtype/mdapp54/page/#恋爱巴士$/index.php/&m=vodtype/mdapp60/page/#男女优生死斗$/index.php/&m=vodtype/mdapp65/page/#情人劫密室逃脱$/index.php/&m=vodtype/mdapp66/page/#换妻$/index.php/&m=vodtype/mdapp67/page/#你好同学$/index.php/&m=vodtype/mdapp68/page/#鲍鱼的胜利$/index.php/&m=vodtype/mdapp83/page/#性爱自修室$/index.php/&m=vodtype/mdapp87/page/#春游记$/index.php/&m=vodtype/mdapp91/page/#心动的性号$/index.php/&m=vodtype/mdapp92/page/#情趣大富翁$/index.php/&m=vodtype/mdapp93/page/#大鸟十八$/index.php/&m=vodtype/mdapp17/page/#疯拍系列$/index.php/&m=vodtype/mdapp18/page/#创造淫2021$/index.php/&m=vodtype/mdapp55/page/#禁欲小屋$/index.php/&m=vodtype/mdapp76/page/#KISS糖果屋$/index.php/&m=vodtype/mdapp19/page/#小鹏奇啪行$/index.php/&m=vodtype/mdapp20/page/#男优出征趣$/index.php/&m=vodtype/mdapp21/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"col-sm-4\"", +"jiequshuzuhou":"", +"tupianqian":"img src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":".html", +"sousuohouzhui":"/index.php/vod/detail/id/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"空", +"jsname":"空", +"jsid":"空", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"class=\"col-sm-4\"", +"ssjiequshuzuhou":"", +"sstupianqian":"src=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"single-audio\"", +"bfjiequshuzuhou":"

    ", +"zhuangtaiqian":"class=\"yac\">", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:
    ", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"class=\"title\">", +"juqinghou":"title", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{"name":"🔞四虎影院", +"url":"https://www.e456j.com", +"tihuan":"cnzz.com", +"User":"空", +"直接播放":"0", +"列表显示":"0", +"横图显示":"1", +"fenlei":"热门女优$/av/index_#动漫卡通$/video/dongman/index_#电影$/movie/index_#无码中字$/movie/wuma/index_#SM系列$/movie/sm/index_#高清无码$/movie/gaoqing/index_#熟女人妻$/movie/shunv/index_#美颜巨乳$/movie/meiyan/index_#丝袜制服$/movie/siwa/index_#中字有码$/movie/youma/index_", +"houzhui":".html", +"qishiye":"2", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":" ", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/searchs/index.php?keyboard=", +"sousuohou":"&classid=", +"sousuohouzhui":"/html/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"com/html", +"ssjiequshuzuhou":"", +"sstupianqian":"

    ", +"sstupianhou":" - ", +"ssbiaotihou":"", +"sslianjieqian":".com", +"sslianjiehou":" - ", +"zhuangtaiqian":"分类:", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"名称:", +"juqinghou":"", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{"name":"🔞555三级片", +"url":"https://www.5dyhd.com", +"tihuan":"cnzz.com", +"User":"User-Agent:Dart/2.14 (dart:io)", +"fenlei":"福利$/vodshow/124--------", +"houzhui":"---.html", +"shifouercijiequ":"1", +"jiequqian":"class=\"module-items", +"jiequhou":"class=\"fixedGroup", +"jiequshuzuqian":"", +"fubiaotihou":"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"module-play-list\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"更新:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":"span>", +"bfbiaotihou":"百人牛牛,美女陪干!不爽就来干", +"jiequhou":"
    ", +"jiequshuzuqian":"class=\"video-pic loading", +"jiequshuzuhou":"player", +"tupianqian":"original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/gaosearch/-/?wd=", +"sousuohou":"", +"sousuohouzhui":"/gaotype/", +"ssmoshi":"1", +"sousuoshifouercijiequ":"1", +"jspic":"空", +"jsname":"空", +"jsid":"空", +"ssjiequqian":"blank\">百人牛牛,美女陪干!不爽就来干", +"ssjiequhou":"
    ", +"ssjiequshuzuqian":"class=\"video-pic loading", +"ssjiequshuzuhou":"player", +"sstupianqian":"original=\"", +"sstupianhou":"\"", +"ssbiaotiqian":"title=\"", +"ssbiaotihou":"\"", +"sslianjieqian":"href=\"", +"sslianjiehou":"\"", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"item line\">", +"bfjiequshuzuhou":"
    ", +"zhuangtaiqian":"target=\"_blank\">", +"zhuangtaihou":"类型:", +"daoyanhou":"

    ", +"zhuyanqian":"class=\"data\">主演:", +"zhuyanhou":"

    ", +"juqingqian":"

    ", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, +{"name":"🔞老鸭TV", + "url":"https://laoyatv.com", + "tihuan":"cnzz.com", + "User":"空", + "shouye":"1", + "fenlei":"片商$/index.php/vod/show/id/1/page/#MD系列$/index.php/vod/show/id/2/page/#国产$/index.php/vod/show/id/3/page/#节目$/index.php/vod/show/id/4/page/#91制片厂$/index.php/vod/show/id/6/page/#天美传媒$/index.php/vod/show/id/7/page/#星空传媒$/index.php/vod/show/id/8/page/#精东影业$/index.php/vod/show/id/9/page/#蜜桃传媒$/index.php/vod/show/id/10/page/#葫芦鲸鱼$/index.php/vod/show/id/11/page/#乐播传媒$/index.php/vod/show/id/12/page/#涩会SH$/index.php/vod/show/id/25/page/#叮叮DD$/index.php/vod/show/id/26/page/#肉肉RR$/index.php/vod/show/id/27/page/#辣椒HPP$/index.php/vod/show/id/28/page/#豚豚TT$/index.php/vod/show/id/29/page/#色空$/index.php/vod/show/id/34/page/#麻豆$/index.php/vod/show/id/13/page/#兔子先生$/index.php/vod/show/id/17#猫爪$/index.php/vod/show/id/14#爱豆$/index.php/vod/show/id/15#皇家华人$/index.php/vod/show/id/16#自拍调教$/index.php/vod/show/id/20#网爆泄密$/index.php/vod/show/id/21/page/#主播录播$/index.php/vod/show/id/22/page/#探花偷拍$/index.php/vod/show/id/23/page/#素人自制$/index.php/vod/show/id/24/page/#AV解说$/index.php/vod/show/id/31/page/#未分类系列$/index.php/vod/show/id/32/page/#日韩字幕$/index.php/vod/show/id/33/page/#日本无码$/index.php/vod/show/id/35/page/#情色游戏$/index.php/vod/show/id/18/page/", + "houzhui":".html", + "shifouercijiequ":"0", + "jiequqian":"空", + "jiequhou":"空", + "jiequshuzuqian":"class=\"module-item-pic", + "jiequshuzuhou":"alt=\"", + "tupianqian":"data-src=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/show/", + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"id=\"sort-item", + "bfjiequshuzuhou":"
    ", + "zhuangtaiqian":"状态:", + "zhuangtaihou":"", + "daoyanqian":"导演:", + "daoyanhou":"", + "zhuyanqian":"主演:", + "zhuyanhou":"", + "juqingqian":"剧情:", + "juqinghou":"", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":">", + "bfbiaotihou":"<", + "bflianjieqian":"href=\"", + "bflianjiehou":"\"" +}, + +{"name":"🔞黄仓库", +"url":"http://661ck.cc", +"tihuan":"cnzz.com", +"User":"空", +"shouye":"1", +"fenlei":"日韩AV$/vodtype/1-#国产系列$/vodtype/2-#欧美$/vodtype/3-#成人动漫$/vodtype/4-#无码中文$/vodtype/8-#有码中文$/vodtype/9-#日本无码$/vodtype/10-#日本有码$/vodtype/7-#国产视频$/vodtype/15-#欧美高清$/vodtype/21-#动漫剧情$/vodtype/22-", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"stui-vodlist__box", +"jiequshuzuhou":"", +"zhuangtaiqian":"时间:", +"zhuangtaihou":"", +"daoyanhou":"

    ", +"zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"剧情:", +"juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\"" +}, + + + + {"name":"🔞香蕉视频", + "url":"http://xj02.xjxj77.xyz/", + "tihuan":"cnzz.com", + "User":"空", + "shouye":"1", + "fenlei":"人妻熟女$/index.php/vod/type/id/1/page/#偷拍自拍$/index.php/vod/type/id/2/page/#港韩情色$/index.php/vod/type/id/3/page/#丝袜制服$/index.php/vod/type/id/4/page/#清纯少女$/index.php/vod/type/id/5/page/#辣妹大奶$/index.php/vod/type/id/34/page/#女同专属$/index.php/vod/type/id/35/page/#素人出演$/index.php/vod/type/id/36/page/#角色扮演$/index.php/vod/type/id/37/page/#成人动漫$/index.php/vod/type/id/38/page/#变态另类$/index.php/vod/type/id/39/page/", + "houzhui":".html", + "shifouercijiequ":"0", + "jiequqian":"空", + "jiequhou":"空", + "jiequshuzuqian":"class=\"module-item-pic", + "jiequshuzuhou":"", + "tupianqian":"data-src=\"", + "tupianhou":"\"", + "biaotiqian":"title=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/voddetail/", + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"class=\"scroll-content", + "bfjiequshuzuhou":"", + "zhuangtaiqian":"状态:
    ", + "zhuangtaihou":"", + "daoyanqian":"导演:
    ", + "daoyanhou":"", + "zhuyanqian":"主演:", + "zhuyanhou":"", + "juqingqian":"剧情:", + "juqinghou":"", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":"", + "bfbiaotihou":"", + "bflianjieqian":"href=\"", + "bflianjiehou":"\""}, +{"name":"🔞4K狗", + "url":"https://wyb.4kdog.tk", + "tihuan":"cnzz.com", + "User":"空", + "shouye":"1", + "fenlei":"China$/index.php/vod/type/id/23/page/#亚洲$/index.php/vod/type/id/21/page/#无码$/index.php/vod/type/id/20/page/#欧美$/index.php/vod/type/id/22/page/", + "houzhui":".html", + "shifouercijiequ":"0", + "jiequqian":"空", + "jiequhou":"空", + "jiequshuzuqian":"class=\"module-item-pic", + "jiequshuzuhou":"", + "tupianqian":"data-src=\"", + "tupianhou":"\"", + "biaotiqian":"alt=\"", + "biaotihou":"\"", + "lianjieqian":"href=\"", + "lianjiehou":"\"", + "sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", + "sousuohou":"&limit=500", + "sousuohouzhui":"/voddetail/", + "ssmoshi":"0", + "sousuoshifouercijiequ":"0", + "jspic":"pic", + "jsname":"name", + "jsid":"id", + "ssjiequqian":"空", + "ssjiequhou":"空", + "ssjiequshuzuqian":"空", + "ssjiequshuzuhou":"空", + "sstupianqian":"空", + "sstupianhou":"空", + "ssbiaotiqian":"空", + "ssbiaotihou":"空", + "sslianjieqian":"空", + "sslianjiehou":"空", + "bfshifouercijiequ":"0", + "bfjiequqian":"空", + "bfjiequhou":"空", + "bfjiequshuzuqian":"id=\"sort-item-1", + "bfjiequshuzuhou":"", + "zhuangtaiqian":"年代:", + "zhuangtaihou":"", + "daoyanqian":"导演:", + "daoyanhou":"", + "zhuyanqian":"主演:", + "zhuyanhou":"", + "juqingqian":"剧情:", + "juqinghou":"", + "bfyshifouercijiequ":"0", + "bfyjiequqian":"空", + "bfyjiequhou":"空", + "bfyjiequshuzuqian":"", + "bfbiaotiqian":">", + "bfbiaotihou":"<", + "bflianjieqian":"href=\"", + "bflianjiehou":"\"" +} + +] +} diff --git a/调试助手/biu体育.txt b/调试助手/biu体育.txt new file mode 100644 index 0000000..41a9d52 --- /dev/null +++ b/调试助手/biu体育.txt @@ -0,0 +1,232 @@ + +{"Home": [{"key":"网页","title":"体育调试","pic":"https://img1.baidu.com/it/u=2281814604,2588211077&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500"}], + +"zhuyejiekou": [{"name":"","url":""}], + +"caijizhan": [{"name":"","url":""}], + +"zhujiexi":[{"name":"","url":""}], + +"beiyongjiexi": [{"name":"","url":""}], + +"dianshizhibo": "", + +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#?video_id=", + +"guolvdizhi": "player.css#?url=#51.la#poster#.html#file=#cnzz.com#baidu.com#.gif", + +"zidingyi": [ + +{"name": "体育-jrs", + +"url": "http://www.jrskan.com", + +"User": "空", + +"是否记录历史": "1", + +"横图显示": "1", + +"列表显示": "0", + +"fenlei": "体育$空", + +"houzhui": "", + +"qishiye": "空", + +"shifouercijiequ": "0", + +"jiequqian": "空", + +"jiequhou": "空", + +"jiequshuzuqian": "
      ", + +"tupianqian": "src=\"", + +"tupianhou": "\"", + +"biaotiqian": "class=\"lab_team_home\">", + +"biaotihou": "
    • ", + +"fubiaotihou": "
    • ", + +"bfshifouercijiequ": "0", + +"bfjiequqian": "空", + +"bfjiequhou": "空", + +"bfjiequshuzuqian": "class=\"sub_playlist\"", + +"bfjiequshuzuhou": "|", + +"zhuangtaiqian": "class=\"otherbox\">", + +"zhuangtaihou": "

      ", + +"daoyanqian": "导演:", + +"daoyanhou": "

      ", + +"zhuyanqian": "主演:", + +"zhuyanhou": "

      ", + +"juqingqian": "", + +"bfyshifouercijiequ": "0", + +"bfyjiequqian": "空", + +"bfyjiequhou": "空", + +"bfyjiequshuzuqian": "", + +"bfbiaotiqian": "", + +"bfbiaotihou": "", + +"bflianjieqian": "data-play=\"", + +"bflianjiehou": "\"", + +"bfqianzhui": "http://play.sportsteam333.com"}, + +{"name": "体育-zb8", + +"url": "https://www.zhibo8.net", + +"User": "空", + +"是否记录历史": "1", + +"直接播放": "1", + +"列表显示": "1", + +"fenlei": "体育$空", + +"houzhui": "", + +"shifouercijiequ": "0", + +"jiequqian": "空", + +"jiequhou": "空", + +"jiequshuzuqian": "class=\"match-item\"", + +"jiequshuzuhou": "", + +"tupianqian": "https://img0.baidu.com/it/u=959607043,1054237520&fm=253&fmt=auto&app=138&f=JPEG?w=417&h=500", + +"tupianhou": "\"", + +"biaotiqian": "class=\"col-home flex\">", + +"biaotihou": "", + +"tupianqianzhui": "空", + +"lianjieqian": "href=\"", + +"lianjiehou": "\"", + +"ljqianzhui": "空", + +"fubiaotiqian": "class=\"col-time\">", + +"fubiaotihou": " "}, + +{"name": "体育-88看球", + +"url": "http://www.88kanqiu.com", + +"User": "空", + +"是否记录历史": "1", + +"横图显示": "1", + +"列表显示": "0", + +"fenlei": "体育$空", + +"houzhui": "", + +"shifouercijiequ": "0", + +"jiequqian": "空", + +"jiequhou": "空", + +"jiequshuzuqian": "group-game-item", + +"jiequshuzuhou": "", + +"tupianqian": "https://img0.baidu.com/it/u=18459781,726289362&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500", + +"tupianhou": "\"", + +"biaotiqian": "text-right\">", + +"biaotihou": "
      ", + +"fubiaotihou": "<", + +"bfshifouercijiequ": "0", + +"bfjiequqian": "空", + +"bfjiequhou": "空", + +"bfjiequshuzuqian": "\"game-videos-btn-container\"", + +"bfjiequshuzuhou": "
      ", + +"bfyshifouercijiequ": "0", + +"bfyjiequqian": "空", + +"bfyjiequhou": "空", + +"bfyjiequshuzuqian": "", + +"bfbiaotiqian": ">", + +"bfbiaotihou": "<", + +"bflianjieqian": "href='", + +"bflianjiehou": "'"} + +]} \ No newline at end of file diff --git a/调试助手/fl.txt b/调试助手/fl.txt new file mode 100644 index 0000000..6161e6d --- /dev/null +++ b/调试助手/fl.txt @@ -0,0 +1,4769 @@ +//持续关注工众號:應佣多多,及时获取最新免费优质软件,本接口自网络收集,仅为不会写代码而又想使用调试助手的粉丝提供便利之用,作者不是本人,而是多位网络大佬,如有冒犯,请联系删除,谢谢! +{ + "Home": [ + { + "key":"采集", + "title":"主页", + "pic": "https://i.niupic.com/images/2022/10/03/a5Zk.jpg" + }, + { + "key":"网页", + "title":"网页", + "pic": "https://i.niupic.com/images/2022/10/03/a5Zl.jpg" + }, + { + "key":"APP", + "title":"APP", + "pic": "https://i.niupic.com/images/2022/10/03/a5Zm.jpg" + }, + { + "key":"直播", + "title":"直播", + "pic": "https://i.niupic.com/images/2022/10/03/a5Zn.jpg" + }, + { + "key":"历史", + "title": "历史", + "pic": "https://i.niupic.com/images/2022/10/03/a5Zo.jpg" + }, + { + "key":"收藏", + "title":"收藏", + "pic": "https://i.niupic.com/images/2022/10/03/a5Zp.jpg" + }, + { + "key":"推送", + "title":"推送", + "pic": "https://i.niupic.com/images/2022/10/03/a5Zq.jpg" + }, + { + "key":"工众號:應佣多多", + "title":"工众號:應佣多多", + "pic": "https://i.niupic.com/images/2022/10/03/a5Zr.jpg" + } + ], + "zhuyejiekou": [ + { + "name": "👑工众號:應佣多多", + "url": "https://www.idianying.com.cn/mogai_api.php/v1.vod" + }, + { + "name": "🚀暖光影视", + "url": "https://app.bl210.com/api.php/v1.vod" + }, + { + "name": "🚀52看剧(萝卜)", + "url": "http://tool.xxmlb.com/qingdoujiekou.php/v1.vod" + }, + { + "name": "🚀影库", + "url": "https://yingkudy.com/lvdou_api.php/v1.vod" + }, + { + "name": "🚀爱酷影视", + "url": "https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod" + }, + { + "name": "🚀百淘影视", + "url": "http://ys.58g8.com/lvdou_api.php/v1.vod" + }, + { + "name": "🚀段友影视2", + "url": "https://shangjihuoke.com/api.php/tv.vod" + }, + { + "name": "🚀冷视TV", + "url": "https://len.tv/api.php/v1.vod" + }, + { + "name": "🚀万能影院", + "url": "http://app.wnvod.net/lvdou_api.php/v1.vod" + }, + { + "name": "🚀蜗牛动漫", + "url": "http://woniudm.woniu.cyou:20000/mogai_api.php/v1.vod" + }, + { + "name": "🚀小鸟动漫", + "url": "http://xydm.baicai.buzz/mogai_api.php/v1.vod" + }, + { + "name": "🚀渔渔影视", + "url": "http://luobo.yugenye.site/api.php/v1.vod" + } + ], + "caijizhan": [ + { + "name": "👑工众號:應佣多多", + "url": "http://api.kunyu77.com/api.php" + }, + { + "name": "🍇多多资源", + "url": "https://www.ddzyz1.com/api.php" + }, + { + "name": "🍇红牛资源", + "url": "https://www.hongniuzy2.com/api.php" + }, + { + "name": "🍇晓辉资源", + "url": "https://www.xhzy01.com/api.php" + }, + { + "name": "🍇老子采集", + "url": "http://cj.lziapi.com/api.php" + }, + { + "name": "🍇诺讯采集", + "url": "http://caiji.nxflv.com/api.php" + }, + { + "name": "🍇1080资源库", + "url": "https://api.1080zyku.com/inc/api_mac10.php" + }, + { + "name": "🍇天堂资源", + "url": "http://vipmv.cc/api.php" + }, + { + "name": "🍇土狗2345", + "url": "http://2345.tgzy.cc/api.php" + }, + { + "name": "🍇土狗360", + "url": "http://360.tgzy.cc/api.php" + }, + { + "name": "🍇忆梦", + "url": "http://anltv.cn/api.php" + }, + { + "name": "🍇木子看剧", + "url": "https://mzkj.maccms.cf/api.php" + }, + { + "name": "🍇冠军资源", + "url": "https://www.cmpzy.com/api.php" + }, + { + "name": "🍇快车资源", + "url": "https://caiji.kczyapi.com/api.php" + }, + { + "name": "🍇FOX资源", + "url": "https://api.foxzyapi.com/api.php" + }, + { + "name": "🍇量子资源", + "url": "http://cj.lziapi.com/api.php" + }, + { + "name": "🍇卧龙资源", + "url": "https://collect.wolongzyw.com/api.php" + }, + { + "name": "🍇樱花资源", + "url": "https://m3u8.apiyhzy.com/api.php" + }, + { + "name": "🍇酷点资源", + "url": "https://kudianzy.com/api.php" + }, + { + "name": "🍇闪电资源", + "url": "http://sdzyapi.com/api.php" + }, + { + "name": "🍇鱼乐资源", + "url": "https://api.ylzy1.com/api.php" + }, + { + "name": "🍇快播资源", + "url": "http://www.kuaibozy.com/api.php" + }, + { + "name": "🍇789盘", + "url": "https://www.rrvipw.com/api.php" + }, + { + "name": "🍇段友影视", + "url": "http://shangjihuoke.com/api.php" + }, + { + "name": "🍇乐活影视", + "url": "https://lehootv.com/api.php" + }, + { + "name": "🍇39影视", + "url": "https://www.39kan.com/api.php" + }, + { + "name": "🍇飘花电影", + "url": "http://www.zzrhgg.com/api.php" + }, + { + "name": "🍇千寻时光", + "url": "http://wy.dqyhg.cn/api.php" + }, + { + "name": "🍇海外电影", + "url": "https://www.200121.com/api.php" + }, + { + "name": "🍇天空TV", + "url": "http://tv.tkys.tv/api.php/iptv/vod/" + }, + { + "name": "🍇CV影视", + "url": "http://www.cccvvv.top/api.php/iptv/vod/" + }, + { + "name": "🍇CK资源", + "url": "https://ckzy.me/api.php" + } + ], + "zhujiexi": [ + {"name":"刘兵","url":"http://newjiexi.gotka.top/keyu3.php?url="}, +{"name":"云you","url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=bfijlnovBCEGHJTV09&url="}, +{"name":"ckflv","url":"http://api.ckflv.cn/?url="}, +{"name":"可与","url":"http://newjiexi.gotka.top/keyu3.php?url="}, +{"name":"融兴","url":"https://svip.rongxingvr.top/api/?key=4gb6ui9qfap4kLrvb2&url="}, +{"name":"猫咪","url":"http://api.xiaomaomi.tv/home/api?type=ys&uid=8728968&key=cdkmqvyzFIJPRT2349&url="}, +{"name":"free","url":"https://h5.freejson.xyz/player/?url="}, +{"name":"OKjx嗅探","url":"https://okjx.cc/?url="}, +{"name":"hxys","url":"https://hxys.tv/bfq/?url="}, +{"name":"fuqi","url":"https://play.fuqizhishi.com/juhe/API.php?appkey=caijijuhe220902&url="}, +{"name":"fositv","url":"https://play.fositv.com/?url="}, +{"name":"fuqi2","url":"https://play.fuqizhishi.com/jx1/API.php?appkey=iiiixiaobai&url="}, +{"name":"战狼","url":"https://jx.zhanlangbu.com/?url="}, +{"name":"酷云","url":"http://101.34.67.237:5705/parse/api/酷云.js?url="}, +{"name":"chaoli","url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=klmnqADJQRUV024678&url="}, +{"name":"fuqi3","url":"https://play.fuqizhishi.com/jx/API.php?appkey=iiiixiaobai&url="}, +{"name":"江湖","url":"http://101.34.67.237:5705/parse/api/江湖.js?url="}, +{"name":"鸿途","url":"http://101.34.67.237:5705/parse/api/鸿途.js?url="}, +{"name":"飞跃","url":"http://101.34.67.237:5705/parse/api/飞跃.js?url="}, +{"name":"无名","url":"http://101.34.67.237:5705/parse/api/无名.js?url="}, +{"name":"cyu","url":"https://vip.cyu0.cn/home/api?type=ys&uid=1353484&key=efopqwABCLOTVYZ278&url="}, +{"name":"bynote","url":"https://jx.bynote.top/API.php?url="}, +{"name":"vip","url":"http://101.34.67.237:5705/parse/api/vip.js?url="}, +{"name":"dyg","url":"http://101.34.67.237:5705/parse/api/dyg.js?url="}, +{"name":"江湖2","url":"http://211.99.99.236:4567/jhjson/ceshi.php?url="}], + "beiyongjiexi": [ +{"name":"解析1","url":"https://nbjx.vip/?url="}, +{"name":"解析2","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"解析3","url":"https://www.nxflv.com/?url="}, +{"name":"解析6","url":"https://za.kuanjv.com/?url="}, +{"name":"解析","url":"http://m2090.com/?url="}, +{"name":"解析","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"解析","url":"https://jx.xuanqi.pro/?url="}, +{"name":"解析","url":"https://www.nxflv.com/?url="}, +{"name":"解析","url":"http://47.100.138.210:92/?url="}, +{"name":"解析","url":"http://api.diliktv.xyz/vip/jx.php?url="}, +{"name":"解析","url":"https://vipjx.cc/?url="}, +{"name":"解析","url":"https://jx.aidouer.net/?url="}, +{"name":"解析","url":"https://svip.bljiex.cc/?v="}, +{"name":"解析","url":"https://bd.jx.cn/vip/?url="}, +{"name":"解析","url":"https://z1.m1907.cn/?jx="}, +{"name":"解析","url":"https://vip.2ktvb.com/player/?url="}, +{"name":"解析","url":"https://nbjx.vip/?url="}, +{"name":"备解1","url":"https://jx.xmflv.com/?url="}, +{"name":"备解2","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解3","url":"https://www.pangujiexi.com/pangu/?url="}, +{"name":"备解4","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解5","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"备解6","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"备解7","url":"https://jx.m3u8.tv/jiexi/?url="}, +{"name":"备解8","url":"https://okjx.cc/?url="}, +{"name":"备解9","url":"https://www.yemu.xyz/?url="}, +{"name":"备解10","url":"https://jx.xmflv.com/?url="}, +{"name":"备解11","url":"https://parse.123mingren.com/?url="}, +{"name":"备解12","url":"http://www.ckmov.vip/api.php?url="}, +{"name":"备解13","url":"http://api.wpsseo.cn/?v="}, +{"name":"备解14","url":"https://go.yh0523.cn/y.cy?url="}, +{"name":"备解15","url":"https://www.ckplayer.vip/jiexi/?url="}, +{"name":"解析","url":"http://jx5.178du.com/p1/?url="} ], +// 电视直播的接口链接 +"dianshizhibo":"https://image.api.losfer.cn/down.php/994beb4e9cfb5283a3318cf5044ec758.txt&a0709a", + "嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#?video_id=", + "guolvdizhi": ".gif#.css#.ico#.html#51.la#poster#?url=#file=#cnzz.com#baidu.com#tootw.com#auete.com#bilibili.com", + "zidingyi": [ + { + "name": "👑工众號:應佣多多", + "url": "https://www.fantuanhd.com", + "ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36", + "User": "User-Agent$123", + "嗅探词": "m3u8?#.m3u8#.mp4#.flv#.mp3#.m4a", + "过滤词": "51.la#cnzz.com#baidu.com#?url=", + "cookie": "", + "是否记录历史": "0", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "添加手动点击图标": "1", + "qishiye": "1", + "fenlei": "电影$/type/id-20-#电视剧$/type/id-21-#综艺$/type/id-22-#动漫/少儿$/type/id-23-#纪录片$/type/id-24-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "text-right\">", + "fubiaotihou": "
      ", + "lianjieqian": "href=\"/play/", + "lianjiehou": "-1-1.html\"", + "ljqianzhui": "https://www.fantuanhd.com/detail/", + "ljhouzhui": ".html", + "搜索请求方式": "0", + "ssmoshi": "0", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"stui-vodlist__box", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "sstupianqianzhui": "空", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "ssfubiaotiqian": "text_right\">", + "ssfubiaotihou": "", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "ssljqianzhui": "空", + "ssljhouzhui": "空", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "", + "线路名截取后": "", + "线路名截取数组前": "class=\"pull-right\">", + "线路名截取数组后": "", + "线路名标题前": "

      ", + "线路名标题后": "

      ", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-content\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "bfqianzhui": "空", + "bfhouzhui": "空", + "bfjiexi": "空" + }, + { + "name": "bili-动物世界", + "url": "https://api.bilibili.com", + "ua": "Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", + "cookie": "innersign=0; buvid3=91BA4E1F-9AB1-F767-2F4D-68AE15871D4A82900infoc; i-wanna-go-back=-1; b_ut=7; b_lsid=103349ECA_182D2DA1881; _uuid=C52B10B4C-DD103-9DFC-FDB5-A38936101E64A84754infoc; buvid4=E048FB7D-A337-F0BB-544C-7AB3F7315AD184247-122082510-jfKjb2w6jTb32s8uEefwlw%3D%3D; buvid_fp=af25c71ea5abec45eebfffd42c02aab7; nostalgia_conf=-1; b_timer=%7B%22ffp%22%3A%7B%22333.400.fp.risk_91BA4E1F%22%3A%22182D2DA1A1B%22%2C%22333.337.fp.risk_91BA4E1F%22%3A%22182D2E5CF15%22%7D%7D; CURRENT_BLACKGAP=0; CURRENT_FNVAL=80; sid=6zxrig3u; PVID=1", + "User": "空", + "直接播放": "0", + "是否记录历史": "1", + "横图显示": "1", + "fenlei": "动物世界$/x/web-interface/search/type?search_type=video&keyword=动物世界&duration=4&order=stow&page=#演唱会$/x/web-interface/search/type?search_type=video&keyword=演唱会&duration=4&order=stow&page=#戏曲$/x/web-interface/search/type?search_type=video&keyword=戏曲&duration=4&order=stow&page=#白噪音$/x/web-interface/search/type?search_type=video&keyword=假窗白噪音&duration=4&order=stow&page=#相声小品$/x/web-interface/search/type?search_type=video&keyword=相声小品&duration=4&order=stow&page=", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "{\"type\":\"video", + "jiequshuzuhou": "corner", + "tupianqian": "\"pic\":\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "fubiaotiqian": "duration\":\"", + "fubiaotihou": "\"", + "lianjieqian": "\"bvid\":\"", + "lianjiehou": "\"", + "ljqianzhui": "https://www.bilibili.com/video/", + "biaotiqian": "title\":\"", + "biaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/x/web-interface/search/type?search_type=video&page=1&page_size=16&keyword=", + "sousuohou": "", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "{\"type\":\"video", + "ssjiequshuzuhou": "corner", + "sstupianqian": "\"pic\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "http:", + "ssbiaotiqian": "author\":\"", + "ssbiaotihou": "\"", + "sslianjieqian": "\"bvid\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "https://www.bilibili.com/video/", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "\"pages\"", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "Published\" content=\"", + "zhuangtaihou": "\"", + "daoyanqian": "author\" content=\"", + "daoyanhou": "\"", + "zhuyanqian": "tname\":\"", + "zhuyanhou": "\"", + "juqingqian": "raw_text\":\"", + "juqinghou": "\"", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "part\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "page\":", + "bflianjiehou": ",", + "bfqianzhui": "?p=" + }, + { + "name": "🏄b站〔自〕嗅探慢不建议使用", + "url": "https://api.bilibili.com", + "ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", + "cookie":"innersign=0; buvid3=91BA4E1F-9AB1-F767-2F4D-68AE15871D4A82900infoc; i-wanna-go-back=-1; b_ut=7; b_lsid=103349ECA_182D2DA1881; _uuid=C52B10B4C-DD103-9DFC-FDB5-A38936101E64A84754infoc; buvid4=E048FB7D-A337-F0BB-544C-7AB3F7315AD184247-122082510-jfKjb2w6jTb32s8uEefwlw%3D%3D; buvid_fp=af25c71ea5abec45eebfffd42c02aab7; nostalgia_conf=-1; b_timer=%7B%22ffp%22%3A%7B%22333.400.fp.risk_91BA4E1F%22%3A%22182D2DA1A1B%22%2C%22333.337.fp.risk_91BA4E1F%22%3A%22182D2E5CF15%22%7D%7D; CURRENT_BLACKGAP=0; CURRENT_FNVAL=80; sid=6zxrig3u; PVID=1", + "User": "空", + "直接播放": "0", + "横图显示": "1", + "fenlei": " 动物世界$/x/web-interface/search/type?search_type=video&keyword=%E5%8A%A8%E7%89%A9%E4%B8%96%E7%95%8C&duration=2&page=# mv$/x/web-interface/search/type?search_type=video&keyword=mv&duration=2&page=# 戏曲$/x/web-interface/search/type?search_type=video&keyword=戏曲&duration=2&page=# 演唱会$/x/web-interface/search/type?search_type=video&keyword=演唱会&duration=4&page=# 搞笑$/x/web-interface/search/type?search_type=video&keyword=娱乐&duration=2&page=# 鬼畜$/x/web-interface/search/type?search_type=video&keyword=鬼畜&duration=2&page=# 番剧$/x/web-interface/search/type?search_type=video&keyword=番剧&duration=2&page=# 舞蹈$/x/web-interface/search/type?search_type=video&keyword=舞蹈&duration=2&page=# 美食$/x/web-interface/search/type?search_type=video&keyword=美食&duration=2&page=# 记录$/x/web-interface/search/type?search_type=video&keyword=纪录片&duration=2&page=# 剧集$/x/web-interface/search/type?search_type=video&keyword=电视剧&duration=2&page=# 国创$/x/web-interface/search/type?search_type=video&keyword=国创&duration=2&page=# 综艺$/x/web-interface/search/type?search_type=video&keyword=综艺&duration=2&page=# 动画$/x/web-interface/search/type?search_type=video&keyword=动画&duration=2&page=# 娱乐$/x/web-interface/search/type?search_type=video&keyword=娱乐&duration=2&page=# 电影$/x/web-interface/search/type?search_type=video&keyword=电影&duration=2&page=# 游戏$/x/web-interface/search/type?search_type=video&keyword=游戏&duration=2&page=# 科技$/x/web-interface/search/type?search_type=video&keyword=科技&duration=2&page=# 资讯$/x/web-interface/search/type?search_type=video&keyword=资讯&duration=2&page=# 汽车$/x/web-interface/search/type?search_type=video&keyword=汽车&duration=2&page=# 时尚$/x/web-interface/search/type?search_type=video&keyword=时尚&duration=2&page=# 运动$/x/web-interface/search/type?search_type=video&keyword=运动&duration=2&page=# 公开课$/x/web-interface/search/type?search_type=video&keyword=公开课&duration=2&page=# 单机游戏$/x/web-interface/search/type?search_type=video&keyword=单机游戏&duration=2&page=# 生活$/x/web-interface/search/type?search_type=video&keyword=生活&duration=2&page= ", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "{\"type", + "jiequshuzuhou": "corner", + "tupianqian": "\"pic\":\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "biaotiqian": "author\":\"", + "biaotihou": "\"", + "lianjieqian": "\"bvid\":\"", + "lianjiehou": "\"", + "ljqianzhui": "https://www.bilibili.com/video/", + "fubiaotiqian": "title\":\"", + "fubiaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/index.php/ajax/suggest?mid=2&wd=", + "sousuohou": "&limit=200", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "sstupianqianzhui": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "ssljqianzhui": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "\"pages\"", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "tname\":\"", + "zhuangtaihou": "\"", + "daoyanqian": "空空", + "daoyanhou": "空空", + "zhuyanqian": "空空", + "zhuyanhou": "空空", + "juqingqian": "raw_text\":\"", + "juqinghou": "\"", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "part\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "page\":", + "bflianjiehou": ",", + "bfqianzhui": "?p=" +}, +{ +"name": "bili-美食", +"url": "https://api.bilibili.com", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"cookie":"buvid3=123", +"User": "空", +"直接播放": "0", +"是否记录历史": "1", +"横图显示": "1", +"fenlei": "披萨$/x/web-interface/search/type?search_type=video&keyword=披萨&duration=0&order=pubdate&page=#火锅$/x/web-interface/search/type?search_type=video&keyword=火锅&duration=0&order=pubdate&page=#烧烤$/x/web-interface/search/type?search_type=video&keyword=烧烤&duration=0&order=pubdate&page=#烤鱼$/x/web-interface/search/type?search_type=video&keyword=烤鱼&duration=0&order=pubdate&page=#海鲜$/x/web-interface/search/type?search_type=video&keyword=海鲜&duration=0&order=pubdate&page=#津菜$/x/web-interface/search/type?search_type=video&keyword=津菜&duration=0&order=pubdate&page=#川菜$/x/web-interface/search/type?search_type=video&keyword=川菜 +&duration=0&order=pubdate&page=#湘菜$/x/web-interface/search/type?search_type=video&keyword=湘菜&duration=0&order=pubdate&page=#鲁菜$/x/web-interface/search/type?search_type=video&keyword=鲁菜&duration=0&order=pubdate&page=#苏菜$/x/web-interface/search/type?search_type=video&keyword=苏菜&duration=0&order=pubdate&page=#粤菜$/x/web-interface/search/type?search_type=video&keyword=粤菜&duration=0&order=pubdate&page=#东北菜$/x/web-interface/search/type?search_type=video&keyword=东北菜&duration=0&order=pubdate&page=#冀菜$/x/web-interface/search/type?search_type=video&keyword=冀菜&duration=0&order=pubdate&page=#豫菜$/x/web-interface/search/type?search_type=video&keyword=豫菜&duration=0&order=pubdate&page=#鄂菜$/x/web-interface/search/type?search_type=video&keyword=鄂菜&duration=0&order=pubdate&page=#本帮菜$/x/web-interface/search/type?search_type=video&keyword=本帮菜&duration=0&order=pubdate&page=#客家菜$/x/web-interface/search/type?search_type=video&keyword=客家菜&duration=0&order=pubdate&page=#赣菜$/x/web-interface/search/type?search_type=video&keyword=赣菜&duration=0&order=pubdate&page=#京菜$/x/web-interface/search/type?search_type=video&keyword=京菜&duration=0&order=pubdate&page=#浙菜$/x/web-interface/search/type?search_type=video&keyword=浙菜&duration=0&order=pubdate&page=#徽菜$/x/web-interface/search/type?search_type=video&keyword=徽菜&duration=0&order=pubdate&page=#湘菜$/x/web-interface/search/type?search_type=video&keyword=湘菜&duration=0&order=pubdate&page=#凉菜$/x/web-interface/search/type?search_type=video&keyword=凉菜&duration=0&order=pubdate&page=#蒸菜$/x/web-interface/search/type?search_type=video&keyword=蒸菜&duration=0&order=pubdate&page=#日料$/x/web-interface/search/type?search_type=video&keyword=日料 +&duration=0&order=pubdate&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type\":\"video", +"jiequshuzuhou": "corner", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "duration\":\"", +"fubiaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"biaotiqian": "title\":\"", +"biaotihou": "\"", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/x/web-interface/search/type?search_type=video&page=1&page_size=16&keyword=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "{\"type\":\"video", +"ssjiequshuzuhou": "corner", +"sstupianqian": "\"pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "http:", +"ssbiaotiqian": "author\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"bvid\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://www.bilibili.com/video/", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "Published\" content=\"", +"zhuangtaihou": "\"", +"daoyanqian": "author\" content=\"", +"daoyanhou": "\"", +"zhuyanqian": "tname\":\"", +"zhuyanhou": "\"", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p=" +}, +{ + "name": "短视频", + "url": "http://www.sharenice.net", + "User": "空", + "ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36", + "fenlei": "抖音$/douyin?page=#快手$/kuaishou?page=#微视$/weishi?page=#火山$/huoshan?page=#场库$/changku?page=#美拍$/meipai?page=#秒拍$/miaopai?page=#全民$/quanmin?page=#梨$/lishipin?page=#好兔$/haotu?page=#开眼$/kaiyan?page=", + "houzhui": "", + "直接播放": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"cover\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"http://www.sharenice.net", + "lianjiehou": "\"" +}, +{ +"name": "馨雨听书", +"url": "https://xytingshu.com", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19044", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "百家讲坛$/mp3/35-#儿童$/mp3/13-#笑话$/mp3/14-#诗歌$/mp3/33-#文学$/mp3/34-#经典$/mp3/29-#评书$/mp3/15-#相声$/mp3/32-#广播$/mp3/31-#科幻$/mp3/5-#推理$/mp3/8-#历史$/mp3/9-#军事$/mp3/10-#穿越$/mp3/11-#财经$/mp3/28-#戏曲$/mp3/16-#玄幻$/mp3/1-#武侠$/mp3/2-#都市$/mp3/3-#言情$/mp3/4-#恐怖$/mp3/6-#惊悚$/mp3/7-#网游$/mp3/12-#粤语$/mp3/30-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "'btn'", +"jiequhou": "
    ", +"tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20200501%2F75d7790f974a4da4b5e76e98c51c9dfb.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662796592&t=fe023992330b87b9b0b812d9b4763cb7", +"tupianhou": "\"", +//"tupianqianzhui": "https://xytingshu.com", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "", +"fubiaotiqian": "时间:", +"fubiaotihou": "

    ", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "
    ", +"sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20200501%2F75d7790f974a4da4b5e76e98c51c9dfb.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662796592&t=fe023992330b87b9b0b812d9b4763cb7", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +//"ssljqianzhui": "https://m.tingzh.com/book/", +//"ssljhouzhui": ".html", +"ssfubiaotiqian": "

    作者:", +"ssfubiaotihou": "

    ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "
    ", +"zhuangtaiqian": "小说状态:", +"zhuangtaihou": "", +"daoyanqian": "更新时间:", +"daoyanhou": "", +"zhuyanqian": "
  • 小说类型:", +"zhuyanhou": "
  • ", +"juqingqian": ">馨雨听书网", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" +}, +{ + "name": "有声小说", + "url": "https://m.tingzh.com", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "玄幻$/list/1-#武侠$/list/2-#都市$/list/3-#言情$/list/4-#科幻$/list/5-", + "houzhui": ".html", + "qishiye": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"bookbox\"", + "jiequshuzuhou": "class=\"intro_line\"", + "tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "class=\"bookname\">", + "biaotihou": "", + "lianjieqian": "bookid=\"", + "lianjiehou": "\"", + "ljqianzhui": "https://m.tingzh.com/book/", + "ljhouzhui": ".html", + "fubiaotiqian": "状态:", + "fubiaotihou": "
    ", + "sousuohouzhui": "/book/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "&Submit=", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"bookbox\"", + "ssjiequshuzuhou": "class=\"intro_line\"", + "sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", + "sstupianhou": "\"", + "sstupianqianzhui": "空", + "ssbiaotiqian": "class=\"bookname\">", + "ssbiaotihou": "", + "sslianjieqian": "bookid=\"", + "sslianjiehou": "\"", + "ssljqianzhui": "https://m.tingzh.com/book/", + "ssljhouzhui": ".html", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "
    状态:", + "zhuangtaihou": "", + "daoyanqian": "
    作者:", + "daoyanhou": "", + "zhuyanqian": "
    播音:", + "zhuyanhou": "", + "juqingqian": "class=\"book_intro\">", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "bfqianzhui": "" +}, +{ +"name": "秋霞电影", +"url": "https://www.7xiady.cc", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "1", +"fenlei": "电影$/show/dianying--------#剧集$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", +"houzhui": "---/", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ + "name": "饭团影视", + "url": "https://www.fantuanhd.com", + "ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36", + "User": "User-Agent$123", + "嗅探词": "m3u8?#.m3u8#.mp4#.flv#.mp3#.m4a", + "过滤词": "51.la#cnzz.com#baidu.com#?url=", + //访问请求cookie + "cookie":"", + //0表示:记录,1表示:不记录 + "是否记录历史": "0", + //0表示:否,1表示:是 + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", +//0:不添加,1:添加 + "添加手动点击图标": "1", + "qishiye": "1", + "fenlei": "电影$/type/id-20-#电视剧$/type/id-21-#综艺$/type/id-22-#动漫/少儿$/type/id-23-#纪录片$/type/id-24-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "lianjieqian": "href=\"/play/", + "lianjiehou": "-1-1.html\"", + "ljqianzhui": "https://www.fantuanhd.com/detail/", + "ljhouzhui": ".html", +//0:get方式,1:post方式,注意:如果用post方式,【ssmoshi】要填:1 + "搜索请求方式": "0", + "ssmoshi": "0", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + //"sousuoqian": "/search/wd/", + //"sousuohou": ".html", + "sousuohouzhui": "/detail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"stui-vodlist__box", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "sstupianqianzhui": "空", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "ssfubiaotiqian": "text_right\">", + "ssfubiaotihou": "", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "ssljqianzhui": "空", + "ssljhouzhui": "空", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "", + "线路名截取后": "", + "线路名截取数组前": "class=\"pull-right\">", + "线路名截取数组后": "
    ", + "线路名标题前": "

    ", + "线路名标题后": "

    ", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-content\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "bfqianzhui": "空", + "bfhouzhui": "空", + "bfjiexi": "空" +}, +{ +"网站名字": "皮皮炮", +"网站地址": "https://www.pipipao.com", +"访问请求ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"访问请求cookie": "空", +"访问请求referer": "空", +"播放请求头": "User-Agent$123", +"图片请求头": "空", +"启用js加载源码":"0", +"js加载源码时间":"4", +"嗅探词": "m3u8?#.m3u8#.mp4#.flv#.mp3#.m4a", +"过滤词": "?url=#.css#51.la#cnzz.com#baidu.com#bilibili.com", +"是否记录历史": "0", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"列表起始页": "1", +"列表分类": "电视剧$/vodshow/id/dianshiju/page/#电影$/vodshow/id/dianying/page/#综艺$/vodshow/id/zongyi/page/#动漫$/vodshow/id/dongman/page/", +"列表后缀": ".html", +"列表二次截取": "空", +"列表截取数组": "class=\"stui-vodlist__box\"$$", +"列表图片前缀": "空", +"列表图片": "original=\"$$\"", +"列表标题": "title=\"$$\"", +"列表副标题": "class=\"pic-text text-right\">$$", +"列表链接": "href=\"$$\"", +"列表链接前缀": "空", +"列表链接后缀": "空", +"搜索请求方式": "0", +"搜索模式": "0", +"搜索前": "/index.php/ajax/suggest?mid=1&wd=", +"搜索后": "&limit=150", +"搜索连接后缀": "/vod/", +"搜索二次截取": "空", +"搜索截取数组": "前$$后", +"搜索图片前缀": "空", +"搜索图片": "original=\"$$\"", +"搜索标题": "title=\"$$\"", +"搜索副标题": "class=\"pic-text text-right\">$$", +"搜索链接": "href=\"$$\"", +"搜索链接前缀": "空", +"搜索链接后缀": "空", +"启用线路名": "1", +"线路名二次截取": "空", +"线路名截取数组": "class=\"more$$
    ", +"线路名标题": "/>$$", +"播放页状态": "class=\"pic-text text-right\">$$", +"播放页导演": "导演:$$

    ", +"播放页演员": "主演:$$

    ", +"播放页剧情": "

    $$

    ", +"播放页二次截取": "空", +"播放页截取数组": "class=\"stui-content__playlist$$", +"播放剧集二次截取": "空", +"播放剧集截取数组": "", +"播放剧集标题": ">$$<", +"播放剧集链接": "href=\"$$\"", +"播放剧集链接前缀": "空", +"播放剧集链接后缀": "空" +}, +{ +"name": "独播库", +"url": "https://u.duboku.io", +"tihuan": "cnzz.com", +"User": "空", +"添加手动点击图标": "1", +"fenlei": "陆剧$/vodshow/13--------#港剧$/vodshow/20--------#短剧$/vodshow/21--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui": "---.html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "
    ", +"tupianqian": "original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ssmoshi": "1", +"sousuoqian": "/vodsearch/-------------.html?wd=", +"sousuohou": "&submit=500", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"thumb\">", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"ssfubiaotiqian": "class=\"pic-text text-right\">", +"ssfubiaotihou": "", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "空", +"ssljhouzhui": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "空", +"线路名截取后": "空", +"线路名截取数组前": "#playlist", +"线路名截取数组后": "", +"线路名标题前": ">", +"线路名标题后": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"data\" style=\"display: none;\">", +"juqinghou": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "第六电影", +"tihuan": "cnzz.com", +"url": "https://www.mqdyw.com", +"User": "空", +"fenlei": "动作$/vodshow/aMMM1--hits------#喜剧$/vodshow/2MMM1--hits------#爱情$/vodshow/3MMM1--hits------#科幻$/vodshow/SMMM1--hits------#恐怖$/vodshow/WMMM1--hits------#剧情$/vodshow/mMMM1--hits------#战争$/vodshow/qMMM1--hits------#国产剧$/vodshow/9MMM1--hits------#港台剧$/vodshow/fMMM1--hits------#欧美剧$/vodshow/rMMM1--hits------#日韩剧$/vodshow/jMMM1--hits------#综艺$/vodshow/IMMM1--hits------#动漫$/vodshow/uMMM1--hits------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequshuzuqian": "hl-item-thumb hl-lazy", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "hl-lc-1 remarks\">", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "空", +"线路名截取后": "空", +"线路名截取数组前": "hl-tabs-btn hl-slide-swiper", +"线路名截取数组后": "/a>", +"线路名标题前": " ", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"hl-plays-list\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"data\" style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ + "author": "张弘20220731", + "name": "555电影", + "url": "https://www.xawqxh.net", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "奈飞电影$/vodshow/1--time-Netflix-----#奈飞电视剧$/vodshow/2--time-Netflix-----#奈飞动漫$/vodshow/4--time-Netflix-----#电视剧$/vodshow/2--time------#电影$/vodshow/1--time------#福利$/vodshow/124--time------#综艺记录$/vodshow/3--time------#动漫$/vodshow/4--time------#国产电视剧$/vodshow/2-大陆-time------#国产电影$/vodshow/1-大陆-time------#香港电视剧$/vodshow/2-香港-time------#香港电影$/vodshow/1-香港-time------#台湾电视剧$/vodshow/2-台湾-time------#台湾电影$/vodshow/1-台湾-time------#美国电视剧$/vodshow/2-美国-time------#美国电影$/vodshow/1-美国-time------#日本电视剧$/vodshow/2-日本-time------#日本电影$/vodshow/1-日本-time------#韩国电视剧$/vodshow/2-韩国-time------#韩国电影$/vodshow/1-韩国-time------#英国电视剧$/vodshow/2-英国-time------#英国电影$/vodshow/1-英国-time------#法国电视剧$/vodshow/2-法国-time------#法国电影$/vodshow/1-法国-time------#德国电视剧$/vodshow/2-德国-time------#德国电影$/vodshow/1-德国-time------#印度电视剧$/vodshow/2-印度-time------#印度电影$/vodshow/1-印度-time------#泰国电视剧$/vodshow/2-泰国-time------#泰国电影$/vodshow/1-泰国-time------#其他电视剧$/vodshow/2-其他-time------#丹麦电影$/vodshow/1-丹麦-time------#瑞典电影$/vodshow/1-瑞典-time------#巴西电影$/vodshow/1-巴西-time------#加拿大电影$/vodshow/1-加拿大-time------#俄罗斯电影$/vodshow/1-俄罗斯-time------#意大利电影$/vodshow/1-意大利-time------#比利时电影$/vodshow/1-比利时-time------#爱尔兰电影$/vodshow/1-爱尔兰-time------#西班牙电影$/vodshow/1-西班牙-time------#澳大利亚电影$/vodshow/1-澳大利亚-time------#战争电视剧$/vodshow/2--time-战争-----#战争影片$/vodshow/1--time-战争-----#丧尸电视剧$/vodshow/2--time-丧尸-----#丧尸影片$/vodshow/1--time-丧尸-----#仙侠电视剧$/vodshow/2--time-仙侠-----#仙侠影片$/vodshow/1--time-仙侠-----#穿越电视剧$/vodshow/2--time-穿越-----#穿越影片$/vodshow/1--time-穿越-----#惊悚电视剧$/vodshow/2--time-惊悚-----#惊悚影片$/vodshow/1--time-惊悚-----#恐怖电视剧$/vodshow/2--time-恐怖-----#恐怖影片$/vodshow/1--time-恐怖-----#科幻电视剧$/vodshow/2--time-科幻-----#科幻影片$/vodshow/1--time-科幻-----#动作电视剧$/vodshow/2--time-动作-----#动作影片$/vodshow/1--time-动作-----#古装电视剧$/vodshow/2--time-古装-----#古装影片$/vodshow/1--time-古装-----#神话电视剧$/vodshow/2--time-神话-----#神话影片$/vodshow/1--time-神话-----#宫廷电视剧$/vodshow/2--time-宫廷-----#宫廷影片$/vodshow/1--time-宫廷-----#武侠电视剧$/vodshow/2--time-武侠-----#武侠影片$/vodshow/1--time-武侠-----#冒险电视剧$/vodshow/2--time-冒险-----#冒险影片$/vodshow/1--time-冒险-----#奇幻电视剧$/vodshow/2--time-奇幻-----#奇幻影片$/vodshow/1--time-奇幻-----#西部电视剧$/vodshow/2--time-西部-----#西部影片$/vodshow/1--time-西部-----#灾难电视剧$/vodshow/2--time-灾难-----#灾难影片$/vodshow/1--time-灾难-----#剧情电视剧$/vodshow/2--time-剧情-----#剧情影片$/vodshow/1--time-剧情-----#言情电视剧$/vodshow/2--time-言情-----#言情影片$/vodshow/1--time-言情-----#喜剧电视剧$/vodshow/2--time-喜剧-----#喜剧影片$/vodshow/1--time-喜剧-----#爱情电视剧$/vodshow/2--time-爱情-----#爱情影片$/vodshow/1--time-爱情-----#偶像电视剧$/vodshow/2--time-偶像-----#偶像影片$/vodshow/1--time-偶像-----#都市电视剧$/vodshow/2--time-都市-----#都市影片$/vodshow/1--time-都市-----#军旅电视剧$/vodshow/2--time-军旅-----#军旅影片$/vodshow/1--time-军旅-----#谍战电视剧$/vodshow/2--time-谍战-----#谍战影片$/vodshow/1--time-谍战-----#罪案电视剧$/vodshow/2--time-罪案-----#罪案影片$/vodshow/1--time-罪案-----#犯罪电视剧$/vodshow/2--time-犯罪-----#犯罪影片$/vodshow/1--time-犯罪-----#悬疑电视剧$/vodshow/2--time-悬疑-----#悬疑影片$/vodshow/1--time-悬疑-----#家庭电视剧$/vodshow/2--time-家庭-----#家庭影片$/vodshow/1--time-家庭-----#校园电视剧$/vodshow/2--time-校园-----#校园影片$/vodshow/1--time-校园-----#文艺电视剧$/vodshow/2--time-文艺-----#文艺影片$/vodshow/1--time-文艺-----#运动电视剧$/vodshow/2--time-运动-----#运动影片$/vodshow/1--time-运动-----#青春电视剧$/vodshow/2--time-青春-----#青春影片$/vodshow/1--time-青春-----#励志电视剧$/vodshow/2--time-励志-----#励志影片$/vodshow/1--time-励志-----#同性电视剧$/vodshow/2--time-同性-----#同性影片$/vodshow/1--time-同性-----#人性电视剧$/vodshow/2--time-人性-----#人性影片$/vodshow/1--time-人性-----#女性电视剧$/vodshow/2--time-女性-----#女性影片$/vodshow/1--time-女性-----#治愈电视剧$/vodshow/2--time-治愈-----#治愈影片$/vodshow/1--time-治愈-----#美食电视剧$/vodshow/2--time-美食-----#美食影片$/vodshow/1--time-美食-----#短片电视剧$/vodshow/2--time-短片-----#短片影片$/vodshow/1--time-短片-----#动画电视剧$/vodshow/2--time-动画-----#动画影片$/vodshow/1--time-动画-----#儿童电视剧$/vodshow/2--time-儿童-----#儿童影片$/vodshow/1--time-儿童-----#歌舞电视剧$/vodshow/2--time-歌舞-----#歌舞影片$/vodshow/1--time-歌舞-----#音乐电视剧$/vodshow/2--time-音乐-----#音乐影片$/vodshow/1--time-音乐-----#历史电视剧$/vodshow/2--time-历史-----#历史影片$/vodshow/1--time-历史-----#传记电视剧$/vodshow/2--time-传记-----#传记影片$/vodshow/1--time-传记-----#记录电视剧$/vodshow/2--time-记录-----#记录影片$/vodshow/1--time-记录-----#真人秀$/vodshow/2--time-真人秀-----#真人秀影片$/vodshow/1--time-真人秀-----#脱口秀$/vodshow/2--time-脱口秀-----#脱口秀影片$/vodshow/1--time-脱口秀-----#国产动漫$/vodshow/4-大陆-time------#日本动漫$/vodshow/4-日本-time------#欧美动漫$/vodshow/4-欧美-time------#其他动漫$/vodshow/4-其他-time------#大陆综艺$/vodshow/3-大陆-time------#香港综艺$/vodshow/3-香港-time------#台湾综艺$/vodshow/3-台湾-time------#韩国综艺$/vodshow/3-韩国-time------#美国综艺$/vodshow/3-美国-time------#其他综艺$/vodshow/3-其他-time------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "fubiaotihou": "", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "xlshifouercijiequ": "0", + "xljiequqian": "", + "xljiequhou": "", + "xljiequshuzuqian": "
    ", + "xlbiaotiqian": "", + "xlbiaotihou": "", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "空", + "线路名截取后": "空", + "线路名截取数组前": "", + "线路名截取数组后": "/i>", + "线路名标题前": " ", + "线路名标题后": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"content_desc context clearfix\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ +"name": "11电影", +"url": "http://www.zshjba.com", +"tihuan": "cnzz.com", +"ua": "Mozilla/5.0 (Linux; U; Android 9; zh-CN; Redmi Note 5 Build/PKQ1.180904.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 UCBrowser/13.1.9.1099 Mobile Safari/537.36", +"User": "空", +"嗅探词": ".m3u8", +"fenlei": "电影$/dianying/index_#电视剧$/dianshiju/index_#动漫$/dongman/index_#综艺$/zongyi/index_", +"houzhui": "____.html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "", +"jiequhou": "", +"jiequshuzuqian":"class=\"img-pic", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ssmoshi": "1", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search/", +"sousuohou": ".html", +"sousuohouzhui": "", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"col-md-4 col-sm-3 col-xs-wide-35 p-xs-0\">", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"zhuangtaiqian": "更新时间:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"details-play-list", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "极品影视", +"url": "https://www.jpys.me", +"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "origin$https://player.movie09.com", +"嗅探词": "m3u8?#.m3u8#mp4#.flv#.mp3#.m4a", +"过滤词": "?url=#.css#51.la#cnzz.com#baidu.com", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧美剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", +"houzhui": "---.html", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "评分排序", +"jiequhou": "
    ", +"jiequshuzuqian": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "module-item-note\">", +"fubiaotihou": "
    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "
    ", +"线路名标题前": "", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\">", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-blocklist scroll-box scroll-box-y module-player-list\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "1080P影视", +"url": "https://1080p.tv/", +"shouye": "1", +"fenlei": "连续剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui": "---/", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-item-pic", +"jiequhou": "
    ", +"jiequshuzuqian": "", +"线路名标题前": "", +"线路名标题后": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ + "name": "4K电影网", + "url": "https://www.4kdyw.cn", + "tihuan": "cnzz.com", + "User": "空", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#电视剧(B站)$/vodshow/45--------#纪录片$/vodshow/24--------#纪录片(B站)$/vodshow/46--------#日本动漫$/vodshow/21--------#国产动漫$/vodshow/20--------#欧美动漫$/vodshow/22--------#动漫电影$/vodshow/25--------#番剧(B站)$/vodshow/42--------#国创(B站)$/vodshow/43--------#综艺$/vodshow/3--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/27--------#灾难片$/vodshow/28--------#历史片$/vodshow/29--------#传记片$/vodshow/30--------#歌舞片$/vodshow/47--------#电影(B站)$/vodshow/44--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "/div>
    ", + "fubiaotihou": "<", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "jiequhou": "id=\"page\">", + "jiequshuzuqian": "", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\">", + "juqinghou": "", + "bfjiequshuzuqian": " class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": " ", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ +"name": "LIBVIO", +"url": "https://www.libvio.me", +"User": "User-Agent$123", +"fenlei": "最近更新$/show/19--------#电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------#动画片$/show/1---动画-----#纪录片$/show/21--------#国产剧$/show/13--------#日韩剧$/show/15--------#欧美剧$/show/16--------#港台剧$/show/14--------#泰国剧$/show/2-泰国-------#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#恐怖片$/show/1---恐怖-----#动作片$/show/1---动作-----#科幻片$/show/1---科幻-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#警匪片$/show/1---警匪-----#犯罪片$/show/1---犯罪-----#奇幻片$/show/1---奇幻-----#武侠片$/show/1---武侠-----#冒险片$/show/1---冒险-----", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "class=\"stui-vodlist__detail\"", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "icon-iconfontplay2\"", +"线路名截取数组后": "/h3>", +"线路名标题前": ">", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data\">总集数:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">类型:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "66影视", +"url": "http://www.zhuangxiabi.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36", +"User": "空", +"添加手动点击图标": "1", +"fenlei": "国产剧$/guocanju/index-#电视剧$/ysds/index______#电影$/dys/index______#综艺$/zys/index______#动漫$/dms/index______", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"img-pic", +"jiequshuzuhou": "/span>", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"vtitle text-right\">", +"fubiaotihou": "<", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ssmoshi": "0", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vdetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"ssfubiaotiqian": "空", +"ssfubiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"ssljhouzhui": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "空", +"线路名截取后": "空", +"线路名截取数组前": "class=\"col-lg-8 col-md-6 col-sm-6 col-xs-3 p-xs-0", +"线路名截取数组后": "", +"线路名标题前": ">", +"线路名标题后": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情介绍:", +"juqinghou":"

    ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"play-list", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "空", +"bfhouzhui": "空", +"bfjiexi": "空" +}, +{ + "name": "看戏影视", + "url": "https://www.kanxi123.net", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/list/2-#电影$/list/1-#综艺$/list/3-#动漫$/list/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__thumb lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/post/", + "sousuohou": "&limit=500", + "sousuohouzhui": "空", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"stui-vodlist__box", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "1", + "bfjiequqian": "class=\"stui-pannel__bd\"", + "bfjiequhou": "class=\"stui-vodlist clearfix\"", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ +"name": "喵喵电影", +"url":"https://www.2345ka.com", +"ua":"Mozilla/5.0 (Linux; U; Android 9; zh-CN; Redmi Note 5 Build/PKQ1.180904.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 UCBrowser/13.1.9.1099 Mobile Safari/537.36", +"User": "User-Agent$123", +"嗅探词": ".m3u8#.mp4", +"过滤词":".js#.css#url=#.png#.jpg#.ico", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/t/1/#电视剧$/t/2/#综艺$/t/3/#动漫$/t/4/#音乐MV$/t/6/", +"houzhui": ".html", +"qishiye": "0", +"shifouercijiequ": "1", +"jiequqian": "class=\"movie-list-body flex", +"jiequhou": "class=\"module-footer", +"jiequshuzuqian": "target=\"_top", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "影片信息\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"movie-rating cor4\">", +"fubiaotihou": "", +"sousuohouzhui": "/v/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search?wd=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"box flex", +"ssjiequshuzuhou": "class=\"allstar", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "1", +"线路名截取前": "
    ", +"线路名截取后": "
    ", +"线路名截取数组前": "", +"线路名标题前": ">", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"content_playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "演员:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"summary detailsTxt\"", +"juqinghou": "class=\"bj ectogg\">", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" +}, +{ +"name": "奇粹影视", +"url":"http://www.blssv.com/", +"ua":"Mozilla/5.0 (Linux; U; Android 9; zh-CN; Redmi Note 5 Build/PKQ1.180904.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 UCBrowser/13.1.9.1099 Mobile Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "连续剧$/index.php/vod/show/id/21/page/#电影$/index.php/vod/show/id/20/page/#综艺$/index.php/vod/show/id/23/page/#动漫$/index.php/vod/show/id/22/page/#海外专区$/index.php/vod/ +show/id/24/page/", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "id=\"page", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"module-item-note\">", +"fubiaotihou": "", +"sousuohouzhui": "/index.php/vod/detail/id/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空",//可以自己定义截取图片的前缀 +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", //可以自己定义截取链接的前缀 +//播放页部分 +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "module-info-introduction-content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" +}, +{ + "name": "电影牛牛", + "url": "http://www.dianyingn.com", + //访问请求头 + "ua": "Mozilla/5.0 (iPad; CPU OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1", + //播放请求头 + "User": "User-Agent$123", + //填写播放地址寻找的地址标识词,中间用#号分割,不填写的话就使用全局的嗅探词 + "嗅探词": "m3u8?#.m3u8#mp4#.flv#.mp3#.m4a", + //填写播放地址过滤规则,中间用#号分割,不填写的话就使用全局的过滤词 + "过滤词": "?url=#.css#51.la#cnzz.com#baidu.com#id=m3u8&url=", + //访问请求cookie + "cookie":"", + //0表示:记录,1表示:不记录 + "是否记录历史": "0", + //直接播放截取的播放页链接网址,0表示:否,1表示:是 + "直接播放": "0", + //分类页是否使用列表方式显示,0表示:否,1表示:是 + "列表显示": "0", + //列表图片是否横图显示,0表示:否,1表示:是 + "横图显示": "0", + //可以自定义列表翻页起始页的页数 + "qishiye": "1", + //如果分类类型填空,例如:电视剧$空,则直接取url字段网址的源码。 + "fenlei": "电视剧$/vodshow/dianshiju--------#电影$/vodshow/dianying--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"fed-list-info fed-part-rows", + "jiequhou": "class=\"fed-page-info", + "jiequshuzuqian": ".html\" data-", + "jiequshuzuhou": "", + //如果图片前字段填写完整网络图片地址的话,列表页就自动使用这个网络图片作为列表的图片。 + "tupianqian": "original=\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": ".html\" >", + "biaotihou": "", + "fubiaotiqian": "text-center\">", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "ljhouzhui": "空", + //搜索部分 + //0:get方式,1:post方式,注意:如果用post方式,【ssmoshi】要填:1 + "搜索请求方式": "0", + "ssmoshi": "0", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=150", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "sstupianqianzhui": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "ssfubiaotiqian": "空", + "ssfubiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "ssljqianzhui": "空", + "ssljhouzhui": "空", + //线路名称显示部分,0不启用,1启用 + "是否启用播放线路名": "1", + "线路名是否二次截取": "1", + "线路名截取前": "class=\"fed-tabs-item fed-drop-info fed-visible", + "线路名截取后": "", + "线路名截取数组前": "", + "线路名标题前": ">", + "线路名标题后": "<", + //状态,导演,演员,剧情的截取 + "zhuangtaiqian": "white fed-text-center\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "both fed-text-muted\">", + "juqinghou": "", + //播放集数截取部分 + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "视频排序:正序", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "bfqianzhui": "空", + "bfhouzhui": "空", + "bfjiexi": "空" +}, +{ + "name": "万能影视", + "url": "https://wnvod.net/", + "tihuan": "cnzz.com", + "shouye": "1", + "User": "空", + "fenlei": "国产剧$/vodshow/2---国产--------/page/#港台剧$/vodshow/2---港台--------/page/#日韩剧$/vodshow/2---日韩--------/page/#欧美剧$/vodshow/2---欧美--------/page/#动 漫$/vodtype/4/page/#综 艺$/vodtype/3/page/#喜剧片$/vodshow/1---喜剧--------/page/#爱情片$/vodshow/1---爱情--------/page/#科幻片$/vodshow/1---科幻--------/page/#恐怖片$/vodshow/1---恐怖--------/page/#动作片$/vodshow/1---动作--------/page/#剧情片$/vodshow/1---剧情--------/page/#战争片$/vodshow/1---战争--------/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "", + "jiequhou": "", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "xlshifouercijiequ": "0", + "xljiequqian": "", + "xljiequhou": "", + "xljiequshuzuqian": "data-toggle=\"tab\"", + "xljiequshuzuhou": "/a>", + "xlbiaotiqian": ">", + "xlbiaotihou": "<", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"sketch content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "速搜影视", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "url": "https://www.sstv.pw", + "fenlei": "电影$/vodshow-1/page/#剧集$/vodshow-2/page/#综艺$/vodshow-3/page/#动漫$/vodshow-4/page/#纪录片$/vodshow-21/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"aplus-exp ecimgbor", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "tupianqianzhui": "", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "class=\"pack-prb hidden\">", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "", + "线路名截取后": "", + "线路名截取数组前": "class=\"channelname swiper-slide", + "线路名截取数组后": "/a>", + "线路名标题前": " ", + "线路名标题后": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "年代:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "追剧喵", + "url": "https://zjmiao.com", + "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "连续剧$/index.php/vod/show/id/2/page/#电影$/index.php/vod/show/id/1/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/#记录$/index.php/vod/show/id/76/page/#国产剧$/index.php/vod/show/area/内地/id/2/page/#韩剧$/index.php/vod/show/area/韩国/id/2/page/#美剧$/index.php/vod/show/area/美国/id/2/page/#日本剧$/index.php/vod/show/area/日本/id/2/page/#喜剧片$/index.php/vod/show/class/喜剧/id/1/page/#恐怖片$/index.php/vod/show/class/恐怖/id/1/page/#动作片$/index.php/vod/show/class/动作/id/1/page/#科幻片$/index.php/vod/show/class/科幻/id/1/page/", + "houzhui": ".html", + "qishiye": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"pack-packcover returl list-top-b", + "jiequshuzuhou": "class=\"pack-infolist\">", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "class=\"pack-prb hidden\">", + "fubiaotihou": "<", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + //0:get方式,1:post方式,注意:如果用post方式,ssmoshi要填:1 + "搜索请求方式": "0", + "ssmoshi": "0", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "ssfubiaotiqian": "空", + "ssfubiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + //0不启用,1启用 + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "", + "线路名截取后": "", + "线路名截取数组前": "class=\"channelname swiper-slide", + "线路名截取数组后": "/a>", + "线路名标题前": " ", + "线路名标题后": "", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"playlist_notfull", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "农民影视", + "url": "https://nmdvd.top", + "User": "空", + "ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36", + "fenlei": "电影$/vod-type-id-1-pg-#电视剧$/vod-type-id-2-pg-#综艺$/vod-type-id-3-pg-#动漫$/vod-type-id-4-pg-", + "houzhui": ".html", + "qishiye": "1", + "shifouercijiequ": "0", + "jiequqian": "", + "jiequhou": "class=\"pagination pagination-multi\">", + "jiequshuzuqian": "class=\"b_a", + "jiequshuzuhou": "

    ", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "", + "fubiaotihou": "", + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "", + "sousuohouzhui": "", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "nopic.gif\"", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "ssfubiaotiqian": "", + "ssfubiaotihou": "", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "", + "线路名截取后": "", + "线路名截取数组前": "

    ", + "线路名截取数组后": "

    ", + "线路名标题前": ":(", + "线路名标题后": ")", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "更新时间:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"jjie\">", + "juqinghou": "", + "bfjiequshuzuqian": "
      ", + "bfjiequshuzuhou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "", + "bfyjiequhou": "", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "农民影视", + "url": "http://v.xiangdao.me", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "User": "空", + "fenlei": "电视剧$/vod-list-id-2-pg-#电影$/vod-list-id-1-pg-#综艺$/vod-list-id-3-pg-#动漫$/vod-list-id-4-pg-", + "houzhui": "-order--by-time-class-0-year--letter--area--lang-.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"resize_list", + "jiequhou": "", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "
  • ", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php?page=1&searchword=", + "sousuohou": "&searchtype=", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "thumb", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"numList", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "detail-content\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "
    ", + "线路名标题前": "", + "线路名标题后": "", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "class=\"pic-text text-right\">", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/actor.php?searchword=", + "sousuohou": "", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "", + "线路名截取后": "", + "线路名截取数组前": "data-toggle=\"tab\" href=\"#down", + "线路名截取数组后": "/a>", + "线路名标题前": ">", + "线路名标题后": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "真不卡影院1(不支持搜索)", + "url": "http://www.cerrd.com", + "tihuan": "cnzz.com", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +},{ +"name": "歪片星球", +"url": "https://waipian7.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "User-Agent$123", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/show-dianying--------#剧集$/show-juji--------#综艺$/show-zongyi--------#动漫$/show-dongman--------#纪录片$/show-jilupian--------", +"houzhui": "---/", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "id=\"page", +"jiequshuzuqian": "", +"fubiaotihou": "", +"sousuohouzhui": "/video/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search-", +"sousuohou": "-------------/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"module-card-item-class", +"ssjiequshuzuhou": "", +"sstupianqian": "data-src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "data-dropdown-value", +"线路名截取数组后": "", +"线路名标题前": "\">", +"线路名标题后": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ + "name": "黑狐影院", + "url": "http://heihu.tv", + "tihuan": "cnzz.com", + "fenlei": "电视剧$/list/2_#电影$/list/1_#综艺$/list/4_#动漫$/list/3_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "class=\"pic-text text-right\">", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/actor.php?searchword=", + "sousuohou": "", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "", + "线路名截取后": "", + "线路名截取数组前": "data-toggle=\"tab\" href=\"#down", + "线路名截取数组后": "/a>", + "线路名标题前": ">", + "线路名标题后": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "mahua", + "url": "https://www.mhyyy.com", + "tihuan": "cnzz.com", + "User": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; Mi9 Pro 5G Build/QKQ1.190825.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/11.0 Mobile Safari/537.36 COVC/045429", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "shouye": "1", + "fenlei": "麻花综艺$/show/mhzy/page#麻花影视$/show/mhdy/page#麻花电视$/show/mhds/page#麻花动漫$/show/mhdm/page", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.html?wd=", + "sousuohou": "", + "sousuohouzhui": "/wd/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-pic", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-blocklist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "连载:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "神马接口", + "url": "https://www.smdyy.cc", + "fenlei": "热播剧集$/show/2--hits------#热播电影$/show/1--hits------#综艺$/show/3--------#动漫$/show/4--------#少儿片库$/show/33--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#记录片$/show/26--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------#惊悚片$/show/21--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#泰国剧$/show/28--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "text-right\">", + "fubiaotihou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "神马电影网", + "url": "https://www.smdyy.cc", + "tihuan": "cnzz.com", + "shouye": "1", + "fenlei": "电影$/show/1--------#电视剧$/show/2--------#动漫$/show/4--------#日韩剧$/show/15--------#欧美剧$/show/16--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "<", + "bfbiaotihou": ">", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ +"name": "神马影院", +"url": "https://www.6080x.cc", +"fenlei": "电影$/show/1--------#电视剧$/show/2--------#动漫$/show/4--------#动作片$/show/6--hits------#喜剧片$/show/7--hits------#爱情片$/show/8--time------#科幻片$/show/9--score------#剧情片$/show/11--hits------#战争片$/show/12--------#纪录片$/show/26--------#动画片$/show/27--score------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#泰剧$/show/28--------#国漫$/show/4-国产-score------#日漫$/show/4-日本-score------#欧美漫$/show/4-欧美-time------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\">", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/kan/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "class=\"iconfont icon-iconfontplay2", +"线路名截取数组后": "/h3>", +"线路名标题前": ">", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data\">类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\" style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "神马影院", +"url": "https://www.shenma4480.com", +"ua": "Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.132 Mobile Safari/537.36", +"cookie":"", +"User": "User-Agent$123", +"添加手动点击图标": "0", +"启用js加载源码":"0", +"js加载源码时间":"3", +"嗅探词": "m3u8?#.m3u8#mp4#.flv#.mp3#.m4a", +"过滤词": "?url=#.css#51.la#cnzz.com#baidu.com", +"是否记录历史": "0", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"qishiye": "1", +"fenlei": "电视剧$/show/lianxuju--------#电影$/show/dianying--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", +"houzhui": "---./", +"shifouercijiequ": "0", +"jiequqian": "class=\"ui-listview\">", +"jiequhou": "", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"tupianqianzhui": "", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"ljhouzhui": "空", +"搜索请求方式": "0", +"ssmoshi": "0", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "", +"sousuohouzhui": "/detail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"ssfubiaotiqian": "空", +"ssfubiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"ssljhouzhui": "空", +"是否启用播放线路名": "0", +"线路名是否二次截取": "0", +"线路名截取前": "空", +"线路名截取后": "空", +"线路名截取数组前": "空", +"线路名截取数组后": "空", +"线路名标题前": "空", +"线路名标题后": "空", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "空", +"bfhouzhui": "空" +}, +{ +"name": "七七测试", +"url": "", +"ua": "Dalvik/2.1.0 (Linux; U; Android 5.1.1; MI 9 Build/LMY48Z)", +"User": "空", +"fenlei": "热播推荐$http://api.kunyu77.com/api.php/provide/homeBlock?type_id=0pagenum=&#电视剧$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=2&pagenum=#电影$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=1&pagenum=#综艺$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=3&pagenum=#动漫$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=4&pagenum=", +"houzhui": "&pagesize=24", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"video", +"jiequshuzuhou": "cornermark_color", +"tupianqian": "Cover\":\"", +"tupianhou": "\"", +"biaotiqian": "title\":\"", +"biaotihou": "\"", +"lianjieqian": "id\":", +"lianjiehou": "\"", +"ljqianzhui": "http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&pcode=010110004&type_id=1&sj=1661786776&sysver=9&model=OPPO%20R9tm&sys=android&version=1.8.7&brand=OPPO&ids=", +"ljhouzhui": "空", +"fubiaotiqian": "msg\":\"", +"fubiaotihou": "\"", +"sousuoqian": "http://api.kunyu77.com/api.php/provide/searchVideo?searchName=", +"sousuohou": "", +"sousuohouzhui": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "data\":", +"ssjiequhou": "\"ext\"", +"ssjiequshuzuqian": "{", +"ssjiequshuzuhou": "}", +"sstupianqian": "videoCover\":\"", +"sstupianhou": "\"", +"ssbiaotiqian": "videoName\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "id\":", +"sslianjiehou": "\"", +"ssljqianzhui": "http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&pcode=010110004&type_id=1&sj=1661786776&sysver=9&model=OPPO%20R9tm&sys=android&version=1.8.7&brand=OPPO&ids=", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"data\"", +"bfjiequshuzuhou": "}]}}", +"zhuangtaiqian": "albumTitle\":\"", +"zhuangtaihou": "\"", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "albumTitle\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "\"id\"", +"bfyjiequshuzuhou": "\"playurls\"", +"bfbiaotiqian": "title\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "playurl\":\"", +"bflianjiehou": "\"", +"bfqianzhui": "" +}, +{ + "name": "剧荒TV", + "url": "https://juhuang.tv", + "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "youtube精选$/type/28_type_#电视剧$/type/2_type_#电影$/type/1_type_#纪录片$/type/21_type_#动漫$/type/4_type_#综艺$/type/3_type_", + "houzhui": ".html", + "qishiye": "2", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\">", + "jiequshuzuhou": "class=\"loading\">", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuohouzhui": "/play/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "https://so.juhuang.tv/soapi.php?wd=", + "sousuohou": "", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "ssjiequqian": "[", + "ssjiequhou": "]", + "ssjiequshuzuqian": "{", + "ssjiequshuzuhou": "}", + "sstupianqian": "\"vod_pic\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "空", + "ssbiaotiqian": "\"vod_name\":\"", + "ssbiaotihou": "\"", + "ssfubiaotiqian": "空", + "ssfubiaotihou": "空", + "sslianjieqian": "\"vod_id\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "https://juhuang.tv/play/", + "ssljhouzhui": "_play_1_1.html", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item-1\"", + "bfjiequshuzuhou": "class=\"rightGG_1\"", + "zhuangtaiqian": "空", + "zhuangtaihou": "空", + "daoyanqian": "空", + "daoyanhou": "空", + "zhuyanqian": "空", + "zhuyanhou": "空", + "juqingqian": "class=\"sqjj_a\"", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "2345影视大全", + "url": "https://www.245bt.com", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "电视剧$/frim/2-#国产剧$/frim/16-#网络剧$/frim/17-#港剧$/frim/18-#台剧$/frim/19-#日剧$/frim/20-#韩剧$/frim/21-#美剧$/frim/22-#英剧$/frim/23-#泰剧$/frim/24-#海外剧$/frim/25-#电影$/frim/27-#动作片$/frim/5-#喜剧片$/frim/6-#爱情片$/frim/7-#科幻片$/frim/8-#恐怖片$/frim/9-#战争片$/frim/10-#剧情片$/frim/11-#纪录片$/frim/12-#动画片$/frim/13-#网络电影$/frim/14-#动漫$/frim/3-#综艺$/frim/4-", + "houzhui": ".html", + "qishiye": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "
  • ", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "ljhouzhui": "空", + "fubiaotiqian": "空", + "fubiaotihou": "空", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"box", + "ssjiequshuzuhou": "

    ", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "ssljqianzhui": "https://www.245bt.com/detail/", + "ssljhouzhui": ".html", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"description\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "bfqianzhui": "" +}, +{ + "name": "秋千影视", + "url": "https://grqq.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodtype/1-#电视剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-#4K$/vodtype/44-#美女写真$/vodtype/37-#纪录片$/vodtype/4-#音乐MV$/vodtype/33-#影视短片$/vodtype/25-#热舞美女$/vodtype/32-#少儿$/vodtype/36-", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "class=\"myui-vodlist clearfix", + "jiequhou": "", + "jiequshuzuqian": "class=\"myui-vodlist__thumb", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "", + "fubiaotihou": "", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&submit=", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + //"jspic": "pic", + //"jsname": "name", + //"jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-lg-8", + "ssjiequshuzuhou": "", + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "um", + "url": "https://www.umkan.com/", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/index.php/vod/show/id/1/page/#国产剧$/index.php/vod/show/class/国产/id/2/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动画$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "id=\"page", + "jiequshuzuqian": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "class=\"module-item-note\">", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "target=\"_blank\">", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\">", + "juqinghou": "

    ", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "", + "name": "锐行加速", + "url": "https://www.cjtyy.top", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + "fenlei": "电影$/index.php/vod/show/id/1/page/#连续剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/39/page/#动漫$/index.php/vod/show/id/4/page/", //网站列表的分类 + //"fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/25--------#体育$/vodshow/36--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/31--------#日本动漫$/vodshow/32--------#欧美动漫$/vodshow/33--------#动漫片$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/24--------", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"module-item-pic", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "alt=\"", //截取的列表数组的后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-src=\"", //列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", //列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotiqian": "title=\"", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "\"", //列表中资源的标题后关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjieqian": "href=\"", //列表中资源的详情页跳转链接前关键词,截取的关键词有 " 的用 \ 进行转义 + "lianjiehou": "\"", //列表中资源的详情页跳转链接后关键词,截取的关键词有 " 的用 \ 进行转义 + //搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/vod/search/wd/", + "sousuohou": ".html", + "sousuohouzhui": "/vod/detail/", //搜索页影片跳转详情页的中间标识链接部分 + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + // "jspic": "pic", + // "jsname": "name", + // "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-pic", + "ssjiequshuzuhou": "alt=\"", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"立刻播放", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", //播放截取的列表数组的前关键词 + "bfjiequshuzuhou": "", //播放截取的列表数组的后关键词 + "zhuangtaiqian": "集数:
    ", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "vod_content\">", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "
    ", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "是否启用播放线路名": "1", + "线路名是否二次截取": "1", + "线路名截取前": "
      ", + "线路名截取数组前": "", + "线路名标题前": ">", + "线路名标题后": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "看片网", + "url": "https://www.kanpian.cc", + "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "电视剧$/shaixuan/lianxuju--------#电影$/shaixuan/dianying--------#综艺$/shaixuan/zongyi--------#动漫$/shaixuan/dongman--------", + "houzhui": "---.html", + "qishiye": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "data", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "class=\"pic_text text_right\">", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "ljhouzhui": "空", + "搜索请求方式": "0", + "ssmoshi": "0", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "sstupianqianzhui": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "ssfubiaotiqian": "空", + "ssfubiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "ssljqianzhui": "空", + "ssljhouzhui": "空", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "空", + "线路名截取后": "空", + "线路名截取数组前": "", + "线路名截取数组后": "/a>", + "线路名标题前": " ", + "线路名标题后": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "
    ", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "bfqianzhui": "空", + "bfhouzhui": "空", + "bfjiexi": "空" +}, +{ + "name": "骚火电影", + "url": "https://shdy2.com", + "User": "空", + "fenlei": "国产剧$/list/20-#TVB剧$/list/21-#韩剧$/list/22-#美剧$/list/23-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-#动漫$/list/4-#亲子动漫$/list/46-#电影$/list/1-#动画片$/list/13-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"v_img\">", + "jiequshuzuhou": "

    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
    ", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "
    ", + "线路名截取数组前": "\"current\"", + "线路名截取数组后": "/li>", + "线路名标题前": ">", + "线路名标题后": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"play_link\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"v_note\">", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "/ 主演", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"p_txt show_part\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "六度TV", + "url": "http://6d.xuangz.cn", + "User": "空", + "fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#美国片$/whole/1_美国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧美剧$/whole/2__欧美剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "
    ", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v_show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"v-thumb stui-vodlist", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "如如影视", + "url": "https://www.wei333.com/", + "User": "空", + "fenlei": "电影$/movie/?v1-#电视剧$/dsj/?v2-#综艺$/zong/?v3-#动漫$/dong/?v4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "看一看影视", + "url": "https://www.kyikan.cc", + "fenlei": "连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧美剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", + "houzhui": "-order--by--class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"bz\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "      ", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "乌龟影院", + "url": "https://www.wuguiyy.com", + "User": "空", + "fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "chok8电影", + "url": "https://www.chok8.com/", + "fenlei": "电影$/vodtype/dianying-#电视剧$/vodtype/lianxuju-#国产剧$/vodtype/guochanju-#欧美剧$/vodtype/oumeiju-#科幻片$/vodtype/kehuanpian-#恐怖片$/vodtype/kongbupian-#剧情片$/vodtype/juqingpian-#战争片$/vodtype/zhanzhengpian-#动作片$/vodtype/dongzuopian-#喜剧片$vodtype/xijupian-#爱情片$/vodtype/xijupian-#犯罪片$/vodtype/fanzuipian-#港台剧$/vodtype/gangtaiju-#日韩剧$/vodtype/rihanju-#欧美剧$vodtype/16-#动画片$/vodtype/dongman-#综艺$/vodtype/zongyi-#记录片$/vodtype/jilupian-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box stui-vodlist__bg\"", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist column8 clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"score text-red\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "VIP1280", + "url": "http://www.vip1280.net", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/frim/index1/page/#电视剧$/frim/index2/page/#港台剧$/frim/index3/page/#动作片$/frim/index6/page/#爱情片$/frim/index7/page/#科幻片$/frim/index8/page/#恐怖片$/frim/index9/page/#战争片$/frim/index10/page/#喜剧片$/frim/index11/page/#记录片$/frim/index12/page/#剧情片$/frim/index20/page/#动画片$/frim/index21/page/#欧美剧$/frim/index4/page/#日韩剧$/frim/index5/page/#泰剧$/frim/index22/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/index", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "
    ", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"detail-sketch\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "克拉TV", + "url": "https://www.kelatv.com", + "User": "空", + "fenlei": "电影$/dianying/index-#电视剧$/dianshiju/index-#动漫$/dongman/index-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"layui-col-md2 layui-col-sm4 layui-col-xs6 item\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"video-txt\"", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"layui-tab-item bt-playlist layui-show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "

    状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"bt-content\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "豆角网(快)", + "url": "https://m.doujiaow1.com", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "User": "User-Agent$123", + "图片请求头": "user-agent$Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.132 Mobile Safari/537.36#Referer$https://m.doujiaow3.com/", + "fenlei": "国产剧$/index.php?m=vod-list-id-12-pg-#电影$/index.php?m=vod-list-id-1-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#日剧$/index.php?m=vod-list-id-17-pg-#美剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#综艺$/index.php?m=vod-list-id-30-pg-#动漫$/index.php?m=vod-list-id-4-pg-", + "houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"con\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "是否启用播放线路名": "1", + "线路名是否二次截取": "0", + "线路名截取前": "
    ", + "线路名截取数组前": "", + "线路名标题前": ">", + "线路名标题后": "<", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"ulNumList clearfix list_", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "139影视", + "url": "https://www.139ys.com", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#国产剧$/vodshow/guochanju--------#港台剧$/vodshow/gangtaiju--------#日韩剧$/vodshow/rihanju--------#欧美剧$/vodshow/oumeiju--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "iibb电影网", + "url": "http://www.iibb.me/", + "tihuan": "cnzz.com", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "fenlei": "电影$/type/1-#电视剧$/type/2-#综艺$/type/4-#动漫$/type/3-#直播$/type/5-#音乐$/type/6-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"movie-item\"", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "", + "sousuoqian": "/s/", + "sousuohou": "/1.html", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"movie-item", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"dslist-group-item", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"hdtag\">", + "zhuangtaihou": "", + "daoyanqian": "导演", + "daoyanhou": "", + "zhuyanhou": "", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": " 🐞玖爱视频", + "url": "http://ffs996.com:9520/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "国产系列$/index.php/vod/type/id/21/page#日本系列$/index.php/vod/type/id/20/page#福利嫩妹$/index.php/vod/type/id/23/page#极品女同$/index.php/vod/type/id/34/page#白虎处女$/index.php/vod/type/id/35/page#传媒映画$/index.php/vod/type/id/24/page#网曝黑料$/index.php/vod/type/id/26/page#台湾swag$/index.php/vod/type/id/22/page#寻花探花$/index.php/vod/type/id/25/page#短视频$/index.php/vod/type/id/27/page#网友原创$/index.php/vod/type/id/31/page#AI换脸$/index.php/vod/type/id/32/page#cosplay$/index.php/vod/type/id/29/page#主播系列$/index.php/vod/type/id/30/page#3D动漫$/index.php/vod/type/id/28/page#欧美风情$/index.php/vod/type/id/33/page", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"content-item\"", + "jiequshuzuhou": "
    ", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"play-btn-group", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "display: none;\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\">" +}, +{ + "name": "体育-jrs", + "url": "http://www.jrskan.com", + "User": "空", + "列表显示": "1", + "fenlei": "体育$空", + "houzhui": "", + "qishiye": "空", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
      ", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "class=\"lab_team_home\">", + "biaotihou": "
    • ", + "fubiaotihou": "
    • ", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"sub_playlist\"", + "bfjiequshuzuhou": "|", + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

      ", + "daoyanqian": "导演:", + "daoyanhou": "

      ", + "zhuyanqian": "主演:","zhuyanhou": "

      ", + "juqingqian": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "data-play=\"", + "bflianjiehou": "\"", + "bfqianzhui": "http://play.sportsteam365.com" +}, +{ + "name": "体育", + "url": "https://www.zhibo8.net", + "User": "空", + "直接播放": "1", + "横图显示": "1", + "fenlei": "体育$空", + "houzhui": "", + "qishiye": "空", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"match-item\"", + "jiequshuzuhou": "", + "tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fbbsimg.duoduocdn.com%2Fbbsimg%2F2020-04-21%2F20200421190454_6072.jpg&refer=http%3A%2F%2Fbbsimg.duoduocdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1659057798&t=a71f743a37597784c1bb29c5a46faf4b", + "tupianhou": "\"", + "biaotiqian": "class=\"col-home flex\">", + "biaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "fubiaotiqian": "class=\"col-name\">", + "fubiaotihou": "" +}, +{ + "name": "Justlive斗鱼", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=douyu&page=#英雄联盟$Area?platform=douyu&area=英雄联盟&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=douyu&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\"" +}, +{ + "author": "20220611", + "name": "斗鱼", + "url": "https://www.douyu.com/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "网游竞技$gapi/rkc/directory/mixList/1_1/#单机热游$gapi/rkc/directory/mixList/1_15/#手游休闲$gapi/rkc/directory/mixList/1_9/#娱乐天地$gapi/rkc/directory/mixList/1_2/#科技文化$gapi/rkc/directory/mixList/1_11/#语音互动$gapi/rkc/directory/mixList/1_20/#语音直播$gapi/rkc/directory/mixList/1_18/#正能量$gapi/rkc/directory/mixList/1_13/#颜值$gapi/rkc/directory/mixList/2_201/#音乐$gapi/rkc/directory/mixList/2_175/#舞蹈$gapi/rkc/directory/mixList/2_1008/#二次元$gapi/rkc/directory/mixList/2_174/#户外$gapi/rkc/directory/mixList/2_124/#美食$gapi/rkc/directory/mixList/2_194/#互动交友$gapi/rkc/directory/mixList/2_1555/#一起看$gapi/rkc/directory/mixList/2_208/#趣生活$gapi/rkc/directory/mixList/2_1097/#数码科技$gapi/rkc/directory/mixList/2_134/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#汽车$gapi/rkc/directory/mixList/2_136/#纪录片$gapi/rkc/directory/mixList/2_514/#斗鱼购物$gapi/rkc/directory/mixList/2_1203/#交友$gapi/rkc/directory/mixList/2_1221/#电台$gapi/rkc/directory/mixList/2_1556/#一起玩$gapi/rkc/directory/mixList/2_1575/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/#英雄联盟$gapi/rkc/directory/mixList/2_1/#热门游戏$gapi/rkc/directory/mixList/2_270/#DOTA2$gapi/rkc/directory/mixList/2_3/#穿越火线$gapi/rkc/directory/mixList/2_33/#CFHD$gapi/rkc/directory/mixList/2_1997/#DNF$gapi/rkc/directory/mixList/2_40/#炉石传说$gapi/rkc/directory/mixList/2_2/#CS:GO$gapi/rkc/directory/mixList/2_6/#逆战$gapi/rkc/directory/mixList/2_46/#lol云顶之弈$gapi/rkc/directory/mixList/2_917/#魔兽争霸$gapi/rkc/directory/mixList/2_55/#魔兽怀旧服$gapi/rkc/directory/mixList/2_1055/#网易游戏$gapi/rkc/directory/mixList/2_3567/#守望先锋$gapi/rkc/directory/mixList/2_148/#DOTA$gapi/rkc/directory/mixList/2_217/#魔兽世界$gapi/rkc/directory/mixList/2_5/#天涯明月刀$gapi/rkc/directory/mixList/2_59/#三国杀$gapi/rkc/directory/mixList/2_14/#主机游戏$gapi/rkc/directory/mixList/2_19/#永劫无间$gapi/rkc/directory/mixList/2_1227/#生死狙击2$gapi/rkc/directory/mixList/2_1781/#迷失ARK$gapi/rkc/directory/mixList/2_3528/#艾尔登法环$gapi/rkc/directory/mixList/2_3406/#逃离塔科夫$gapi/rkc/directory/mixList/2_1024/#V Rising$gapi/rkc/directory/mixList/2_3684/#海上狼人杀$gapi/rkc/directory/mixList/2_3556/#怀旧游戏$gapi/rkc/directory/mixList/2_26/#王者荣耀$gapi/rkc/directory/mixList/2_181/#和平精英$gapi/rkc/directory/mixList/2_350/#火影忍者$gapi/rkc/directory/mixList/2_196/#LOL手游$gapi/rkc/directory/mixList/2_1920/#金铲铲之战$gapi/rkc/directory/mixList/2_2556/#重返帝国$gapi/rkc/directory/mixList/2_2915/#COD手游$gapi/rkc/directory/mixList/2_767/#哈利波特:魔法觉醒$gapi/rkc/directory/mixList/2_1192/#CF手游$gapi/rkc/directory/mixList/2_178/#欢乐斗地主$gapi/rkc/directory/mixList/2_416/#原神$gapi/rkc/directory/mixList/2_1223/#天刀手游$gapi/rkc/directory/mixList/2_911/#棋牌娱乐$gapi/rkc/directory/mixList/2_113/#欢乐麻将$gapi/rkc/directory/mixList/2_451/#新游中心$gapi/rkc/directory/mixList/2_229/#QQ飞车$gapi/rkc/directory/mixList/2_331/#阴阳师$gapi/rkc/directory/mixList/2_240/#热门手游$gapi/rkc/directory/mixList/2_30/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "\"type\":1", + "jiequshuzuhou": "\"rs16\"", + "tupianqian": "\"rs1\":\"", + "tupianhou": "\"", + "biaotiqian": "\"rn\":\"", + "biaotihou": "\"", + "lianjieqian": "\"rid\":", + "lianjiehou": ",\"", + "sousuoqian": "/japi/search/api/searchShow?kw=", + "sousuohou": "&page=1&pageSize=50", + "sousuohouzhui": "/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "roomSrc", + "jsname": "roomName", + "jsid": "rid", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "left\">
      ", + "zhuangtaiqian": "Header-logo\" title=\"", + "zhuangtaihou": "\"", + "daoyanqian": "Title-anchorNameH2\">", + "daoyanhou": "", + "zhuyanqian": "canonical\" href=\"", + "zhuyanhou": "\"", + "juqingqian": "is-announceTxt\">", + "juqinghou": "

      ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "

      ", + "bfbiaotihou": "

      ", + "bflianjieqian": "rid=", + "bflianjiehou": "\"" +}, +{ + "name": "Justlive虎牙", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=douyu&page=#一起看$Area?platform=huya&area=一起看&page=#英雄联盟$Area?platform=huya&area=英雄联盟&page=#英雄联盟手游$Area?platform=huya&area=英雄联盟手游&page=#王者荣耀$Area?platform=huya&area=王者荣耀&page=#和平精英$Area?platform=huya&area=和平精英page=#棋牌桌游$Area?platform=huya&area=棋牌桌游&page=#欢乐斗地主$Area?platform=huya&area=欢乐斗地主&page=#体育$Area?platform=huya&area=体育&page=#美食$Area?platform=huya&area=美食&page=#颜值$Area?platform=huya&area=颜值&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=huya&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\"" +}, +{ + "name": "Justlive哔哩", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=bilibili&page=#英雄联盟$Area?platform=bilibili&area=英雄联盟&page=#王者荣耀$Area?platform=bilibili&area=王者荣耀&page=#和平精英$Area?platform=bilibili&area=和平精英&page=#游戏赛事$Area?platform=bilibili&area=游戏赛事&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=bilibili&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\"" +}, +{ + "name": "DJ音乐", + "url": "http://www.djuu.com", + "User": "空", + "直接播放": "1", + "横图显示": "0", + "列表显示": "1", + "fenlei": "热播$/search?musicname=热播&list=2&cid=0&page=#抖音热门$/search?musicname=%E6%8A%96%E9%9F%B3&list=2&cid=0&page=#经典旋律$/search?musicname=经典旋律&list=2&cid=0&page=#迪高串烧$/djlist/1_#喊麦串烧$/djlist/12_#中文串烧$/djlist/13_#外语串烧$/djlist/14_#中英串烧$/djlist/96_#慢摇串烧$/djlist/2_#喊麦串烧$/djlist/15_#Electro$/djlist/22_#ProgHouse$/djlist/26_#FunkyHouse$/djlist/99_#喊麦更多$/djlist/27_#慢摇中文串烧$/djlist/16_#慢歌串烧$/djlist/3_#中文Remix$/djlist/4_#外文Remix$/djlist/5_#越南鼓$/djlist/6_#酒吧风格$/djlist/7_#Mashup$/djlist/8_#中文DISCO$/djlist/9_#外文DISCO$/djlist/10_#交谊舞曲$/djlist/11_", + "houzhui": ".html", + "qishiye": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"isgood_list\">", + "jiequshuzuhou": "", + "tupianqian": "img src=\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "fubiaotiqian": "class=\"sc_1\">TIME", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "biaotiqian": "title=\"", + "biaotihou": "\"" +}, +{ +"name": "🎵音乐MV", +"url": "https://www.ichemv.com", +"User": "authority$play.bgp.68tool.com#referer$https://www.ichemv.com/", +"直接播放": "1", +"横图显示": "1", +"fenlei": "华语MV$/mv/1_0#日韩MV$/mv/2_0#欧美MV$/mv/3_0#现场MV$/mv/4_0#影sMV$/mv/5_0#夜店视频$/mv/6_0#车模视频$/mv/7_0#热舞视频$/mv/8_0#美女x真$/mv/9_0#美女打碟$/mv/10_0#串烧视频$/mv/11_0", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pic\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "
      ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "" +}, +{ + "name": "kw听书", + "url": "http://baby.kuwo.cn", + "ua": "", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "都市传说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=42&rn=20&categoryId=2&pn=#玄幻奇幻$/tingshu/api/filter/albums?sortType=tsScore&classifyId=44&rn=20&categoryId=2&pn=#悬疑推理$/tingshu/api/filter/albums?sortType=tsScore&classifyId=45&rn=20&categoryId=2&pn=#现代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=41&rn=20&categoryId=2&pn=#武侠仙侠$/tingshu/api/filter/albums?sortType=tsScore&classifyId=48&rn=20&categoryId=2&pn=#穿越架空$/tingshu/api/filter/albums?sortType=tsScore&classifyId=52&rn=20&categoryId=2&pn=#经典小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=64&rn=20&categoryId=2&pn=#青春校园$/tingshu/api/filter/albums?sortType=tsScore&classifyId=55&rn=20&categoryId=2&pn=#历史军事$/tingshu/api/filter/albums?sortType=tsScore&classifyId=56&rn=20&categoryId=2&pn=#科幻竞技$/tingshu/api/filter/albums?sortType=tsScore&classifyId=57&rn=20&categoryId=2&pn=#古代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=207&rn=20&categoryId=2&pn=#能力提升$/tingshu/api/filter/albums?sortType=tsScore&classifyId=82&rn=20&categoryId=4&pn=#人文艺术$/tingshu/api/filter/albums?sortType=tsScore&classifyId=77&rn=20&categoryId=4&pn=#国学文化$/tingshu/api/filter/albums?sortType=tsScore&classifyId=78&rn=20&categoryId=4&pn=#成功法则$/tingshu/api/filter/albums?sortType=tsScore&classifyId=79&rn=20&categoryId=4&pn=#外语精通$/tingshu/api/filter/albums?sortType=tsScore&classifyId=76&rn=20&categoryId=4&pn=#养生健康$/tingshu/api/filter/albums?sortType=tsScore&classifyId=81&rn=20&categoryId=4&pn=#酷我读书$/tingshu/api/filter/albums?sortType=tsScore&classifyId=211&rn=20&categoryId=4&pn=#国学经典$/tingshu/api/filter/albums?sortType=tsScore&classifyId=117&rn=20&categoryId=9&pn=#历史小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=181&rn=20&categoryId=9&pn=#纪实档案$/tingshu/api/filter/albums?sortType=tsScore&classifyId=118&rn=20&categoryId=9&pn=#历史传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=119&rn=20&categoryId=9&pn=#人物传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=120&rn=20&categoryId=9&pn=#文化讲堂$/tingshu/api/filter/albums?sortType=tsScore&classifyId=121&rn=20&categoryId=9&pn=#百家讲坛$/tingshu/api/filter/albums?sortType=tsScore&classifyId=212&rn=20&categoryId=9&pn=", + "houzhui": "&kweexVersion=1.0.2", + "qishiye": "1", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"coverImg\":\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "\"artistName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"albumId\":", + "lianjiehou": ",", + "ljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", + "ljhouzhui": "&online=0&kweexVersion=1.0.2", + "fubiaotiqian": "\"title\":\"", + "fubiaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": ":80/tingshu/api//search/Search?rn=10&type=album&version=8.5.6.1&wd=", + "sousuohou": "&pn=1&kweexVersion=1.0.2", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "ssjiequqian": "[", + "ssjiequhou": "]", + "ssjiequshuzuqian": "{", + "ssjiequshuzuhou": "}", + "sstupianqian": "\"coverImg\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "空", + "ssbiaotiqian": "\"artistName\":\"", + "ssbiaotihou": "\"", + "sslianjieqian": "\"albumId\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", + "ssljhouzhui": "&online=0&kweexVersion=1.0.2", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "[", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

      ", + "daoyanqian": "导演:
      ", + "daoyanhou": "

      ", + "zhuyanqian": "主演:", + "zhuyanhou": "

      ", + "juqingqian": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "\"name\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "\"musicrid\":\"", + "bflianjiehou": "\"", + "bfqianzhui": "http://antiserver.kuwo.cn/anti.s?useless=/resource/&format=mp3&rid=MUSIC_", + "bfhouzhui": "&response=res&type=convert_url&" +}, +{ + "name": "听书网", + "url": "https://www.tingbook.cc", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "玄幻$/book/1-#武侠$/book/2-#都市$/book/3-#言情$/book/4-#科幻$/book/5-#推理$/book/6-#恐怖$/book/7-#惊悚$/book/8-#历史$/book/9-#军事$/book/10-#网游$/book/11-#官商$/book/12-#评书$/book/13-#相声$/book/14-#文学$/book/15-#儿童$/book/16-#穿越$/book/28-#娱乐$/book/29-#笑话$/book/30-#戏曲$/book/31-#其它$/book/32-#百家讲坛$/book/33-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-12 col-m-24 col3-\"", + "jiequshuzuhou": "

      ", + "tupianqian": "src=\"", + "tupianhou": "\"", + "tupianqianzhui": "https://www.tingbook.cc", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "zhuangtaiqian": "> ", + "zhuangtaihou": "", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-12 col-m-24 col3-", + "ssjiequshuzuhou": "
      ", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "sstupianqianzhui": "https://www.tingbook.cc", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"tx-title2 f-16 f-bold", + "bfjiequshuzuhou": "
    ", + "daoyanqian": "作者:", + "daoyanhou": "  ", + "zhuyanqian": "播音:", + "zhuyanhou": "

    ", + "juqingqian": "播音,", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "bili-教育", + "url": "https://api.bilibili.com", + "ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", + "cookie":"innersign=0; buvid3=91BA4E1F-9AB1-F767-2F4D-68AE15871D4A82900infoc; i-wanna-go-back=-1; b_ut=7; b_lsid=103349ECA_182D2DA1881; _uuid=C52B10B4C-DD103-9DFC-FDB5-A38936101E64A84754infoc; buvid4=E048FB7D-A337-F0BB-544C-7AB3F7315AD184247-122082510-jfKjb2w6jTb32s8uEefwlw%3D%3D; buvid_fp=af25c71ea5abec45eebfffd42c02aab7; nostalgia_conf=-1; b_timer=%7B%22ffp%22%3A%7B%22333.400.fp.risk_91BA4E1F%22%3A%22182D2DA1A1B%22%2C%22333.337.fp.risk_91BA4E1F%22%3A%22182D2E5CF15%22%7D%7D; CURRENT_BLACKGAP=0; CURRENT_FNVAL=80; sid=6zxrig3u; PVID=1", + "User": "空", + "直接播放": "0", + "横图显示": "1", + "fenlei": "儿童早教$/x/web-interface/search/type?search_type=video&keyword=儿童早教&order=pubdate&page=#儿童启蒙故事$/x/web-interface/search/type?search_type=video&keyword=儿童启蒙故事&order=pubdate&page=#儿童英语启蒙$/x/web-interface/search/type?search_type=video&keyword=儿童英语启蒙&order=pubdate&page=#儿童歌曲$/x/web-interface/search/type?search_type=video&keyword=儿童歌曲&order=pubdate&page=#高一数学$/x/web-interface/search/type?search_type=video&keyword=高一数学&order=pubdate&page=#小学数学$/x/web-interface/search/type?search_type=video&keyword=小学数学&order=pubdate&page=", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "{\"type\":\"video", + "jiequshuzuhou": "corner", + "tupianqian": "\"pic\":\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "fubiaotiqian": "duration\":\"", + "fubiaotihou": "\"", + "lianjieqian": "\"bvid\":\"", + "lianjiehou": "\"", + "ljqianzhui": "https://www.bilibili.com/video/", + "biaotiqian": "title\":\"", + "biaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/x/web-interface/search/type?search_type=video&page=1&page_size=16&keyword=", + "sousuohou": "", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "{\"type\":\"video", + "ssjiequshuzuhou": "corner", + "sstupianqian": "\"pic\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "http:", + "ssbiaotiqian": "author\":\"", + "ssbiaotihou": "\"", + "sslianjieqian": "\"bvid\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "https://www.bilibili.com/video/", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "\"pages\"", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "Published\" content=\"", + "zhuangtaihou": "\"", + "daoyanqian": "author\" content=\"", + "daoyanhou": "\"", + "zhuyanqian": "tname\":\"", + "zhuyanhou": "\"", + "juqingqian": "raw_text\":\"", + "juqinghou": "\"", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "part\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "page\":", + "bflianjiehou": ",", + "bfqianzhui": "?p=" +} + ] +} \ No newline at end of file diff --git a/调试助手/gl.txt b/调试助手/gl.txt new file mode 100644 index 0000000..0e8d81f --- /dev/null +++ b/调试助手/gl.txt @@ -0,0 +1,4302 @@ +//持续关注工众號:應佣多多,及时获取最新免费优质软件,本接口自网络收集,仅为不会写代码而又想使用调试助手的粉丝提供便利之用,作者不是本人,而是多位网络大佬,如有冒犯,请联系删除,谢谢! +{"Home": [ +{"key":"采集","title":"主页","pic":"https://i.niupic.com/images/2022/10/03/a5YW.jpg"}, +{"key":"网页","title":"网页","pic":"https://i.niupic.com/images/2022/10/03/a5Z0.jpg"}, +{"key":"APP","title":"APP","pic":"https://i.niupic.com/images/2022/10/03/a5YX.jpg"}, +{"key":"直播","title":"电视","pic":"https://i.niupic.com/images/2022/10/03/a5Z1.jpg"}, +{"key":"历史","title":"历史","pic":"https://i.niupic.com/images/2022/10/03/a5YY.jpg"}, +{"key":"收藏","title":"收藏","pic":"https://i.niupic.com/images/2022/10/03/a5Z2.jpg"}, +{"key":"推送","title":"推送","pic":"https://i.niupic.com/images/2022/10/03/a5YZ.jpg"}, +{"key":"工众號:應佣多多","title":"工众號:應佣多多","pic":"https://i.niupic.com/images/2022/10/03/a5Z4.jpg"} +], +"zhuyejiekou": [ +{"name":"👑工众號:應佣多多","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"🚀天空影院(部分官方资源)","url":"https://tkys.tv/xgapp.php/v1/"}, +{"name":"🚀天空影院2(部分官方资源)","url":"https://www.tkys.tv/xgapp.php/v2/"}, +{"name":"🚀Hi影院(部分官方资源)","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀QC影院(跑马灯切片秒播)","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"🚀七彩影院(跑马灯切片自测)","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"🚀万能影院(跑马灯切片自测)","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"🚀影库(萝卜)","url":"https://yingkudy.com/lvdou_api.php/v1.vod"}, +{"name":"🚀小鸟动漫(萝卜)","url":"http://xydm.baicai.buzz/mogai_api.php/v1.vod"}, +{"name":"🚀万能影院(萝卜)","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"🚀蜗牛动漫(萝卜)","url":"http://woniudm.woniu.cyou:20000/mogai_api.php/v1.vod"}, +{"name":"🚀我爱跟剧(萝卜)","url":"https://www.genmov.com/mogai_api.php/v1.vod"}, +{"name":"🚀天天视频(萝卜)","url":"http://app.qianju.cc/api.php/v1.vod"}, +{"name":"🚀淘剧社(萝卜)","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"🚀沭阳影院(萝卜)","url":"http://zjr.jurentiaodeng.com/api.php/v1.vod"}, +{"name":"🚀群鑫影院(萝卜)","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"🚀冷视TV(萝卜)","url":"https://len.tv/api.php/v1.vod"}, +{"name":"🚀黄河影院(萝卜)","url":"http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"🚀爱电影(萝卜)","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"🚀OK影院(萝卜)","url":"http://123.ok00.xyz/api.php/v1.vod"}, +{"name":"🚀特狗影院","url":"https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"🚀暖光影院","url":"https://app.bl210.com/api.php/v1.vod"}, +{"name":"🚀嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀迪迪影院","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"🚀快云影音","url":"https://www.kuaiyunyy.com/api.php/app/"}, +{"name":"🚀麻瓜视频","url":"http://aliyun.k8aa.com/mogai_api.php/v1.vod"}, +{"name":"🚀优众影院","url": "http://121.205.88.194:7878/xgtv.php/v1/"}, +{"name":"🚀爱酷影院","url": "https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"🚀万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"🚀ok--影院","url":"http://123.ok00.xyz/api.php/v1.vod"}, +{"name":"🚀美剧影院","url":"http://ttzmz.net/api.php/v1.vod"}, +{"name":"🚀益-达影院","url":"http://luobu.yss6080.com/mogai_api.php/v1.vod"}, +{"name":"🚀渔-渔影院","url":"http://luobo.yugenye.site/api.php/v1.vod"}, +{"name":"🚀迪-迪影院-","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"🚀爱的影院","url": "https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"🚀爱酷影院","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"🚀嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀苍-蓝影院","url":"https://vip.ruifenglb.com:4433/api.php/app/"}, +{"name":"🚀七彩影院","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"🚀创意影院","url":"https://www.30dian.cn/api.php/v1.vod"}, +{"name":"🚀爱酷影院","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"🚀淘-剧影院","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"🚀创-意影院","url":"https://www.30dian.cn/api.php/v1.vod"}, +{"name":"🚀段-友影院","url":"http://js.66app.me/api.php/app/"}, +{"name":"🚀特狗影院","url": "https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"🚀海玉影院","url":"https://tv2.hykjtv.cn/api.php/v1.vod"}, +{"name":"🚀佳佳影院","url":"https://www.jiajia.pub/api.php/v1.vod"}, +{"name":"🚀群鑫影院","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"🚀可乐影院","url":"http://klyingshi.com/api.php/v1.vod"}, +{"name":"🚀麦穗影院","url":"http://b.maisui66.cn/api.php/v1.vod"}, +{"name":"🚀铭轩影院","url":"http://lz0716.com/api.php/v1.vod"}, +{"name":"🚀全球星","url":"http://www.mzok.cn/api.php/v1.vod"}, +{"name":"🚀氢视频","url":"http://www.h1080p.com/api.php/tv.vod"}, +{"name":"🚀万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"🚀小猫咪","url":"http://vod.xiaomaomi.cc/mogai_api.php/v1.vod"}, +{"name":"🚀小七影院","url":"https://www.xiaoqi0.cn/cuican_api.php/v1.vod"}, +{"name":"🚀鑫雨TV","url":"http://81.68.212.225/lvdou_api.php/v1.vod"}, +{"name":"🚀夕阳影院","url":"http://cms.seo-tv.work/mogai_api.php/v1.vod"}, +{"name":"🚀鑫总资源","url":"http://app.mmhkj.xyz/lvdou_api.php/v1.vod"}, +{"name":"🚀毅世纪影院","url":"http://www.ysjblog.top/api.php/v1.vod"}, +{"name":"🚀比邻影院","url":"http://0hzy.cn:9990/mogai_api.php/v1.vod"}, +{"name":"🚀豆芽视频","url":"http://bdintv.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀黄河影院","url": "http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"🚀影院大全1","url":"http://app.269w.com/api.php/v1.vod"}, +{"name":"🚀兔子窝","url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod"}, +{"name":"🚀爱电影","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"🚀艾特影院","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"🚀913e影院","url":"http://www.913e.net/xgapp.php/v1/"} +], +"caijizhan": [ +{"name":"👑工众號:應佣多多","url":"http://api.kunyu77.com/api.php"}, +{"name":"推荐采集","url":"http://101.34.7.151:600/api.php"}, +{"name":"诺讯资源(官)","url":"http://caiji.nxflv.com/api.php"}, +{"name":"忆梦(官)","url":"http://anltv.cn/api.php"}, +{"name":"小猫咪(官)","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"1080资源库(切)","url":"https://api.1080zyku.com/inc/api_mac10.php"}, +{"name":"快车资源(切)","url":"https://caiji.kczyapi.com/api.php"}, +{"name":"松鼠资源(切)","url":"https://m3u8.songshuzy.com/api.php"}, +{"name":"多多资源(切)","url":"https://www.ddzyz1.com/api.php"}, +{"name":"OK资源(切)","url":"https://www.okcj.site/api"}, +{"name":"FOX资源(切)","url":"https://api.foxzyapi.com/api.php"}, +{"name":"番茄资源(切)","url":"http://api.fqzy.cc/api.php"}, +{"name":"卧龙资源(切)","url":"https://collect.wolongzyw.com/api.php"}, +{"name":"红牛资源(切)","url":"https://www.hongniuzy2.com/api.php"}, +{"name":"想看资源(切)","url":"https://m3u8.xiangkanapi.com/api.php"}, +{"name":"酷点资源(切)","url":"https://kudianzy.com/api.php"}, +{"name":"光速资源(切)","url":"https://api.guangsuapi.com/api.php"}, +{"name":"新浪资源(切)","url":"http://api.xinlangapi.com/xinlangapi.php"}, +{"name":"鱼乐资源(切)","url":"https://api.ylzy1.com/api.php"}, +{"name":"快播资源(切)","url":"http://www.kuaibozy.com/api.php"}, +{"name":"南国影源(切)","url":"http://api.nguonphim.tv/api.php"}, +{"name":"U酷资源(优)","url":"https://api.ukuapi.com/api.php"}, +{"name":"淘片资源(优)","url":"https://taopianapi.com/home/cjapi"}, +{"name":"旋风云(优)","url":"http://appimg.ssxmall.cn/api.php"}, +{"name":"XYUI(优)","url":"http://jx4.xyui.top:7001/api.php"}, +{"name":"考拉TV(优)","url":"https://ikaola.tv/api.php"}, +{"name":"51看剧(优)","url":"http://51kanju.cn/api.php"}, +{"name":"一拳动漫(优)","url":"http://47.97.68.224/api.php"}, +{"name":"畅视影院(优)","url":"http://app.reboju.net/api.php"}, +{"name":"超高清影院(聚)","url":"http://shdmv.com/api.php"}, +{"name":"39影院(聚)","url":"https://www.39kan.com/api.php"}, +{"name":"嗨哆咪影院(聚)","url":"http://hdmys1.com/api.php"}, +{"name":"橘猫影院(聚)","url":"http://www.zitv.cc/api.php"}, +{"name":"飘花电影(聚)","url":"http://www.zzrhgg.com/api.php"}, +{"name":"千寻时光(聚)","url":"http://wy.dqyhg.cn/api.php"}, +{"name":"网民电影(聚)","url":"https://www.prinevillesda.org/api.php"}, +{"name":"海外电影(聚)","url":"https://www.200121.com/api.php"}, +{"name":"影院阁(神马)","url":"http://216.98.10.85/api.php/iptv/vod/"}, +{"name":"天空TV(神马)","url":"http://tv.tkys.tv/api.php/iptv/vod/"}, +{"name":"芒迅TV(神马)","url":"http://www.hdyangtv.com/api.php/iptv/vod/"}, +{"name":"米来影院(神马)","url":"http://42.51.37.161:2346/api.php/iptv/vod/"}, +{"name":"盒子视界(神马)","url":"http://eh.tvzy.cc/api.php/iptv/vod/"}, +{"name":"嘿荼锋(神马)","url":"http://tv.hfys8.vip/api.php/Sntv/vod/"}, +{"name":"贵宾影院(神马)","url":"https://vipdytv.com/api.php/iptv/vod/"}, +{"name":"独优影院(神马)","url":"http://121.205.88.71:218/api.php/Chengcheng/vod/"}, +{"name":"天堂影院","url":"http://vipmv.cc/api.php"}, +{"name":"诺讯影院","url":"http://caiji.nxflv.com/api.php"}, +{"name":"快播影院","url":"http://www.kuaibozy.com/api.php"}, +{"name":"奇趣影院","url":"http://www.qiqu.me/api.php"}, +{"name":"KK站采集","url":"http://kkzy5.com/api.php"}, +{"name":"快播资源","url":"http://www.kuaibozy.com/api.php"}, +{"name":"FOX资源","url":"https://api.foxzyapi.com/api.php"}, +{"name":"M3U8源","url":"http://www.zycaiji.net:7788/api.php"}, +{"name":"U酷资源","url":"https://api.ukuapi.com/api.php"}, +{"name":"2号币(神马)","url":"http://phoebe.cf/api.php/iptv/vod/"} +], + "zhujiexi":[ + {"name":"刘兵","url":"http://newjiexi.gotka.top/keyu3.php?url="}, +{"name":"云you","url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=bfijlnovBCEGHJTV09&url="}, +{"name":"ckflv","url":"http://api.ckflv.cn/?url="}, +{"name":"可与","url":"http://newjiexi.gotka.top/keyu3.php?url="}, +{"name":"融兴","url":"https://svip.rongxingvr.top/api/?key=4gb6ui9qfap4kLrvb2&url="}, +{"name":"猫咪","url":"http://api.xiaomaomi.tv/home/api?type=ys&uid=8728968&key=cdkmqvyzFIJPRT2349&url="}, +{"name":"free","url":"https://h5.freejson.xyz/player/?url="}, +{"name":"OKjx嗅探","url":"https://okjx.cc/?url="}, +{"name":"hxys","url":"https://hxys.tv/bfq/?url="}, +{"name":"fuqi","url":"https://play.fuqizhishi.com/juhe/API.php?appkey=caijijuhe220902&url="}, +{"name":"fositv","url":"https://play.fositv.com/?url="}, +{"name":"fuqi2","url":"https://play.fuqizhishi.com/jx1/API.php?appkey=iiiixiaobai&url="}, +{"name":"战狼","url":"https://jx.zhanlangbu.com/?url="}, +{"name":"酷云","url":"http://101.34.67.237:5705/parse/api/酷云.js?url="}, +{"name":"chaoli","url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=klmnqADJQRUV024678&url="}, +{"name":"fuqi3","url":"https://play.fuqizhishi.com/jx/API.php?appkey=iiiixiaobai&url="}, +{"name":"江湖","url":"http://101.34.67.237:5705/parse/api/江湖.js?url="}, +{"name":"鸿途","url":"http://101.34.67.237:5705/parse/api/鸿途.js?url="}, +{"name":"飞跃","url":"http://101.34.67.237:5705/parse/api/飞跃.js?url="}, +{"name":"无名","url":"http://101.34.67.237:5705/parse/api/无名.js?url="}, +{"name":"cyu","url":"https://vip.cyu0.cn/home/api?type=ys&uid=1353484&key=efopqwABCLOTVYZ278&url="}, +{"name":"bynote","url":"https://jx.bynote.top/API.php?url="}, +{"name":"vip","url":"http://101.34.67.237:5705/parse/api/vip.js?url="}, +{"name":"dyg","url":"http://101.34.67.237:5705/parse/api/dyg.js?url="}, +{"name":"江湖2","url":"http://211.99.99.236:4567/jhjson/ceshi.php?url="}], + "beiyongjiexi": [ +{"name":"解析1","url":"https://nbjx.vip/?url="}, +{"name":"解析2","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"解析3","url":"https://www.nxflv.com/?url="}, +{"name":"解析6","url":"https://za.kuanjv.com/?url="}, +{"name":"解析","url":"http://m2090.com/?url="}, +{"name":"解析","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"解析","url":"https://jx.xuanqi.pro/?url="}, +{"name":"解析","url":"https://www.nxflv.com/?url="}, +{"name":"解析","url":"http://47.100.138.210:92/?url="}, +{"name":"解析","url":"http://api.diliktv.xyz/vip/jx.php?url="}, +{"name":"解析","url":"https://vipjx.cc/?url="}, +{"name":"解析","url":"https://jx.aidouer.net/?url="}, +{"name":"解析","url":"https://svip.bljiex.cc/?v="}, +{"name":"解析","url":"https://bd.jx.cn/vip/?url="}, +{"name":"解析","url":"https://z1.m1907.cn/?jx="}, +{"name":"解析","url":"https://vip.2ktvb.com/player/?url="}, +{"name":"解析","url":"https://nbjx.vip/?url="}, +{"name":"备解1","url":"https://jx.xmflv.com/?url="}, +{"name":"备解2","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解3","url":"https://www.pangujiexi.com/pangu/?url="}, +{"name":"备解4","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解5","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"备解6","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"备解7","url":"https://jx.m3u8.tv/jiexi/?url="}, +{"name":"备解8","url":"https://okjx.cc/?url="}, +{"name":"备解9","url":"https://www.yemu.xyz/?url="}, +{"name":"备解10","url":"https://jx.xmflv.com/?url="}, +{"name":"备解11","url":"https://parse.123mingren.com/?url="}, +{"name":"备解12","url":"http://www.ckmov.vip/api.php?url="}, +{"name":"备解13","url":"http://api.wpsseo.cn/?v="}, +{"name":"备解14","url":"https://go.yh0523.cn/y.cy?url="}, +{"name":"备解15","url":"https://www.ckplayer.vip/jiexi/?url="}, +{"name":"解析","url":"http://jx5.178du.com/p1/?url="} ], +// 电视直播的接口链接 +"dianshizhibo":"https://image.api.losfer.cn/down.php/994beb4e9cfb5283a3318cf5044ec758.txt&a0709a", + +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#?video_id=", + +// 自定义接口 +"zidingyi":[ +{ + "name": "👑工众號:應佣多多", + "url": "https://www.jubaibai.cc", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧梅剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist sort-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data hidden-xs\">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "短视频", + "url": "http://www.sharenice.net", + "User": "空", + "ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36", + "fenlei": "抖音$/douyin?page=#快手$/kuaishou?page=#微视$/weishi?page=#火山$/huoshan?page=#场库$/changku?page=#美拍$/meipai?page=#秒拍$/miaopai?page=#全民$/quanmin?page=#梨$/lishipin?page=#好兔$/haotu?page=#开眼$/kaiyan?page=", + "houzhui": "", + "直接播放": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"cover\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"http://www.sharenice.net", + "lianjiehou": "\"" +}, +{ +"name": "馨雨听书", +"url": "https://xytingshu.com", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19044", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "百家讲坛$/mp3/35-#儿童$/mp3/13-#笑话$/mp3/14-#诗歌$/mp3/33-#文学$/mp3/34-#经典$/mp3/29-#评书$/mp3/15-#相声$/mp3/32-#广播$/mp3/31-#科幻$/mp3/5-#推理$/mp3/8-#历史$/mp3/9-#军事$/mp3/10-#穿越$/mp3/11-#财经$/mp3/28-#戏曲$/mp3/16-#玄幻$/mp3/1-#武侠$/mp3/2-#都市$/mp3/3-#言情$/mp3/4-#恐怖$/mp3/6-#惊悚$/mp3/7-#网游$/mp3/12-#粤语$/mp3/30-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "'btn'", +"jiequhou": "
    ", +"tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20200501%2F75d7790f974a4da4b5e76e98c51c9dfb.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662796592&t=fe023992330b87b9b0b812d9b4763cb7", +"tupianhou": "\"", +//"tupianqianzhui": "https://xytingshu.com", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "", +"fubiaotiqian": "时间:", +"fubiaotihou": "

    ", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "
    ", +"sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20200501%2F75d7790f974a4da4b5e76e98c51c9dfb.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662796592&t=fe023992330b87b9b0b812d9b4763cb7", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +//"ssljqianzhui": "https://m.tingzh.com/book/", +//"ssljhouzhui": ".html", +"ssfubiaotiqian": "

    作者:", +"ssfubiaotihou": "

    ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "
    ", +"zhuangtaiqian": "小说状态:", +"zhuangtaihou": "", +"daoyanqian": "更新时间:", +"daoyanhou": "", +"zhuyanqian": "
  • 小说类型:", +"zhuyanhou": "
  • ", +"juqingqian": ">馨雨听书网", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" +}, +{"name": "体育-jrs", +"url": "http://www.jrskan.com", +"User": "空", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"qishiye": "空", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
      ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"lab_team_home\">", +"biaotihou": "
    • ", +"fubiaotihou": "
    • ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sub_playlist\"", +"bfjiequshuzuhou": "|", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

      ", +"daoyanqian": "导演:", +"daoyanhou": "

      ", +"zhuyanqian": "主演:", +"zhuyanhou": "

      ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "data-play=\"", +"bflianjiehou": "\"", +"bfqianzhui": "http://play.sportsteam365.com" +}, +{ +"name": "DJ音乐", +"url": "http://www.djuu.com", +"User": "空", +"直接播放": "1", +"横图显示": "0", +"列表显示": "1", +"fenlei": "热播$/search?musicname=热播&list=2&cid=0&page=#抖音热门$/search?musicname=%E6%8A%96%E9%9F%B3&list=2&cid=0&page=#经典旋律$/search?musicname=经典旋律&list=2&cid=0&page=#迪高串烧$/djlist/1_#喊麦串烧$/djlist/12_#中文串烧$/djlist/13_#外语串烧$/djlist/14_#中英串烧$/djlist/96_#慢摇串烧$/djlist/2_#喊麦串烧$/djlist/15_#Electro$/djlist/22_#ProgHouse$/djlist/26_#FunkyHouse$/djlist/99_#喊麦更多$/djlist/27_#慢摇中文串烧$/djlist/16_#慢歌串烧$/djlist/3_#中文Remix$/djlist/4_#外文Remix$/djlist/5_#越南鼓$/djlist/6_#酒吧风格$/djlist/7_#Mashup$/djlist/8_#中文DISCO$/djlist/9_#外文DISCO$/djlist/10_#交谊舞曲$/djlist/11_", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"isgood_list\">", +"jiequshuzuhou": "", "tupianqian": "img src=\"", "tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "class=\"sc_1\">TIME", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"" +}, +{ +"name": "🎵音乐MV", +"url": "https://www.ichemv.com", +"User": "authority$play.bgp.68tool.com#referer$https://www.ichemv.com/", +"直接播放": "1", +"横图显示": "1", +"fenlei": "华语MV$/mv/1_0#日韩MV$/mv/2_0#欧美MV$/mv/3_0#现场MV$/mv/4_0#影sMV$/mv/5_0#夜店视频$/mv/6_0#车模视频$/mv/7_0#热舞视频$/mv/8_0#美女x真$/mv/9_0#美女打碟$/mv/10_0#串烧视频$/mv/11_0", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pic\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "
    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "
    " +}, + +{ + "name": "Justlive虎牙", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=douyu&page=#一起看$Area?platform=huya&area=一起看&page=#英雄联盟$Area?platform=huya&area=英雄联盟&page=#英雄联盟手游$Area?platform=huya&area=英雄联盟手游&page=#王者荣耀$Area?platform=huya&area=王者荣耀&page=#和平精英$Area?platform=huya&area=和平精英page=#棋牌桌游$Area?platform=huya&area=棋牌桌游&page=#欢乐斗地主$Area?platform=huya&area=欢乐斗地主&page=#体育$Area?platform=huya&area=体育&page=#美食$Area?platform=huya&area=美食&page=#颜值$Area?platform=huya&area=颜值&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=huya&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\"" +}, +{ "name": "Justlive哔哩", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=bilibili&page=#英雄联盟$Area?platform=bilibili&area=英雄联盟&page=#王者荣耀$Area?platform=bilibili&area=王者荣耀&page=#和平精英$Area?platform=bilibili&area=和平精英&page=#游戏赛事$Area?platform=bilibili&area=游戏赛事&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=bilibili&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\"" +}, +{ + "name": "DJ音乐", + "url": "http://www.djuu.com", + "User": "空", + "直接播放": "1", + "横图显示": "0", + "列表显示": "1", + "fenlei": "热播$/search?musicname=热播&list=2&cid=0&page=#抖音热门$/search?musicname=%E6%8A%96%E9%9F%B3&list=2&cid=0&page=#经典旋律$/search?musicname=经典旋律&list=2&cid=0&page=#迪高串烧$/djlist/1_#喊麦串烧$/djlist/12_#中文串烧$/djlist/13_#外语串烧$/djlist/14_#中英串烧$/djlist/96_#慢摇串烧$/djlist/2_#喊麦串烧$/djlist/15_#Electro$/djlist/22_#ProgHouse$/djlist/26_#FunkyHouse$/djlist/99_#喊麦更多$/djlist/27_#慢摇中文串烧$/djlist/16_#慢歌串烧$/djlist/3_#中文Remix$/djlist/4_#外文Remix$/djlist/5_#越南鼓$/djlist/6_#酒吧风格$/djlist/7_#Mashup$/djlist/8_#中文DISCO$/djlist/9_#外文DISCO$/djlist/10_#交谊舞曲$/djlist/11_", + "houzhui": ".html", + "qishiye": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"isgood_list\">", + "jiequshuzuhou": "", + "tupianqian": "img src=\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "fubiaotiqian": "class=\"sc_1\">TIME", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "biaotiqian": "title=\"", + "biaotihou": "\"" +}, +{"name": "🎵音乐MV", +"url": "https://www.ichemv.com", +"User": "authority$play.bgp.68tool.com#referer$https://www.ichemv.com/", +"直接播放": "1", +"横图显示": "1", +"fenlei": "华语MV$/mv/1_0#日韩MV$/mv/2_0#欧美MV$/mv/3_0#现场MV$/mv/4_0#影sMV$/mv/5_0#夜店视频$/mv/6_0#车模视频$/mv/7_0#热舞视频$/mv/8_0#美女x真$/mv/9_0#美女打碟$/mv/10_0#串烧视频$/mv/11_0", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pic\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "" +}, +{ + "name": "kw听书", + "url": "http://baby.kuwo.cn", + "ua": "", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "都市传说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=42&rn=20&categoryId=2&pn=#玄幻奇幻$/tingshu/api/filter/albums?sortType=tsScore&classifyId=44&rn=20&categoryId=2&pn=#悬疑推理$/tingshu/api/filter/albums?sortType=tsScore&classifyId=45&rn=20&categoryId=2&pn=#现代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=41&rn=20&categoryId=2&pn=#武侠仙侠$/tingshu/api/filter/albums?sortType=tsScore&classifyId=48&rn=20&categoryId=2&pn=#穿越架空$/tingshu/api/filter/albums?sortType=tsScore&classifyId=52&rn=20&categoryId=2&pn=#经典小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=64&rn=20&categoryId=2&pn=#青春校园$/tingshu/api/filter/albums?sortType=tsScore&classifyId=55&rn=20&categoryId=2&pn=#历史军事$/tingshu/api/filter/albums?sortType=tsScore&classifyId=56&rn=20&categoryId=2&pn=#科幻竞技$/tingshu/api/filter/albums?sortType=tsScore&classifyId=57&rn=20&categoryId=2&pn=#古代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=207&rn=20&categoryId=2&pn=#能力提升$/tingshu/api/filter/albums?sortType=tsScore&classifyId=82&rn=20&categoryId=4&pn=#人文艺术$/tingshu/api/filter/albums?sortType=tsScore&classifyId=77&rn=20&categoryId=4&pn=#国学文化$/tingshu/api/filter/albums?sortType=tsScore&classifyId=78&rn=20&categoryId=4&pn=#成功法则$/tingshu/api/filter/albums?sortType=tsScore&classifyId=79&rn=20&categoryId=4&pn=#外语精通$/tingshu/api/filter/albums?sortType=tsScore&classifyId=76&rn=20&categoryId=4&pn=#养生健康$/tingshu/api/filter/albums?sortType=tsScore&classifyId=81&rn=20&categoryId=4&pn=#酷我读书$/tingshu/api/filter/albums?sortType=tsScore&classifyId=211&rn=20&categoryId=4&pn=#国学经典$/tingshu/api/filter/albums?sortType=tsScore&classifyId=117&rn=20&categoryId=9&pn=#历史小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=181&rn=20&categoryId=9&pn=#纪实档案$/tingshu/api/filter/albums?sortType=tsScore&classifyId=118&rn=20&categoryId=9&pn=#历史传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=119&rn=20&categoryId=9&pn=#人物传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=120&rn=20&categoryId=9&pn=#文化讲堂$/tingshu/api/filter/albums?sortType=tsScore&classifyId=121&rn=20&categoryId=9&pn=#百家讲坛$/tingshu/api/filter/albums?sortType=tsScore&classifyId=212&rn=20&categoryId=9&pn=", + "houzhui": "&kweexVersion=1.0.2", + "qishiye": "1", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"coverImg\":\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "\"artistName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"albumId\":", + "lianjiehou": ",", + "ljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", + "ljhouzhui": "&online=0&kweexVersion=1.0.2", + "fubiaotiqian": "\"title\":\"", + "fubiaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": ":80/tingshu/api//search/Search?rn=10&type=album&version=8.5.6.1&wd=", + "sousuohou": "&pn=1&kweexVersion=1.0.2", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "ssjiequqian": "[", + "ssjiequhou": "]", + "ssjiequshuzuqian": "{", + "ssjiequshuzuhou": "}", + "sstupianqian": "\"coverImg\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "空", + "ssbiaotiqian": "\"artistName\":\"", + "ssbiaotihou": "\"", + "sslianjieqian": "\"albumId\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", + "ssljhouzhui": "&online=0&kweexVersion=1.0.2", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "[", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "\"name\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "\"musicrid\":\"", + "bflianjiehou": "\"", + "bfqianzhui": "http://antiserver.kuwo.cn/anti.s?useless=/resource/&format=mp3&rid=MUSIC_", + "bfhouzhui": "&response=res&type=convert_url&" +}, +{ + "name": "听书网", + "url": "https://www.tingbook.cc", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "玄幻$/book/1-#武侠$/book/2-#都市$/book/3-#言情$/book/4-#科幻$/book/5-#推理$/book/6-#恐怖$/book/7-#惊悚$/book/8-#历史$/book/9-#军事$/book/10-#网游$/book/11-#官商$/book/12-#评书$/book/13-#相声$/book/14-#文学$/book/15-#儿童$/book/16-#穿越$/book/28-#娱乐$/book/29-#笑话$/book/30-#戏曲$/book/31-#其它$/book/32-#百家讲坛$/book/33-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-12 col-m-24 col3-\"", + "jiequshuzuhou": "

    ", + "tupianqian": "src=\"", + "tupianhou": "\"", + "tupianqianzhui": "https://www.tingbook.cc", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "zhuangtaiqian": "> ", + "zhuangtaihou": "", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-12 col-m-24 col3-", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "sstupianqianzhui": "https://www.tingbook.cc", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"tx-title2 f-16 f-bold", + "bfjiequshuzuhou": "", + "daoyanqian": "作者:", + "daoyanhou": "  ", + "zhuyanqian": "播音:", + "zhuyanhou": "

    ", + "juqingqian": "播音,", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{ + "name": "bili-教育", + "url": "https://api.bilibili.com", + "ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", + "cookie":"innersign=0; buvid3=91BA4E1F-9AB1-F767-2F4D-68AE15871D4A82900infoc; i-wanna-go-back=-1; b_ut=7; b_lsid=103349ECA_182D2DA1881; _uuid=C52B10B4C-DD103-9DFC-FDB5-A38936101E64A84754infoc; buvid4=E048FB7D-A337-F0BB-544C-7AB3F7315AD184247-122082510-jfKjb2w6jTb32s8uEefwlw%3D%3D; buvid_fp=af25c71ea5abec45eebfffd42c02aab7; nostalgia_conf=-1; b_timer=%7B%22ffp%22%3A%7B%22333.400.fp.risk_91BA4E1F%22%3A%22182D2DA1A1B%22%2C%22333.337.fp.risk_91BA4E1F%22%3A%22182D2E5CF15%22%7D%7D; CURRENT_BLACKGAP=0; CURRENT_FNVAL=80; sid=6zxrig3u; PVID=1", + "User": "空", + "直接播放": "0", + "横图显示": "1", + "fenlei": "儿童早教$/x/web-interface/search/type?search_type=video&keyword=儿童早教&order=pubdate&page=#儿童启蒙故事$/x/web-interface/search/type?search_type=video&keyword=儿童启蒙故事&order=pubdate&page=#儿童英语启蒙$/x/web-interface/search/type?search_type=video&keyword=儿童英语启蒙&order=pubdate&page=#儿童歌曲$/x/web-interface/search/type?search_type=video&keyword=儿童歌曲&order=pubdate&page=#高一数学$/x/web-interface/search/type?search_type=video&keyword=高一数学&order=pubdate&page=#小学数学$/x/web-interface/search/type?search_type=video&keyword=小学数学&order=pubdate&page=", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "{\"type\":\"video", + "jiequshuzuhou": "corner", + "tupianqian": "\"pic\":\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "fubiaotiqian": "duration\":\"", + "fubiaotihou": "\"", + "lianjieqian": "\"bvid\":\"", + "lianjiehou": "\"", + "ljqianzhui": "https://www.bilibili.com/video/", + "biaotiqian": "title\":\"", + "biaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/x/web-interface/search/type?search_type=video&page=1&page_size=16&keyword=", + "sousuohou": "", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "{\"type\":\"video", + "ssjiequshuzuhou": "corner", + "sstupianqian": "\"pic\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "http:", + "ssbiaotiqian": "author\":\"", + "ssbiaotihou": "\"", + "sslianjieqian": "\"bvid\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "https://www.bilibili.com/video/", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "\"pages\"", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "Published\" content=\"", + "zhuangtaihou": "\"", + "daoyanqian": "author\" content=\"", + "daoyanhou": "\"", + "zhuyanqian": "tname\":\"", + "zhuyanhou": "\"", + "juqingqian": "raw_text\":\"", + "juqinghou": "\"", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "part\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "page\":", + "bflianjiehou": ",", + "bfqianzhui": "?p="}, +{"name": "❤斗鱼", +"url": "https://www.douyu.com/", +//填网站链接 +"tihuan": "cnzz.com", + //这个不用动,是个别网站嗅探时过滤地址用的 "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 "shouye": "0", + "fenlei": "科技文化$gapi/rkc/directory/mixList/1_11/#梅食$gapi/rkc/directory/mixList/2_194/#一起看$gapi/rkc/directory/mixList/2_208/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#纪录片$gapi/rkc/directory/mixList/2_514/#电台$gapi/rkc/directory/mixList/2_1556/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/", "houzhui": "", + "shifouercijiequ": "0", +"jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "\"type\":1", "jiequshuzuhou": "\"rs16\"", + "tupianqian": "\"rs1\":\"", + "tupianhou": "\"", + "biaotiqian": "\"rn\":\"", + "biaotihou": "\"", + "lianjieqian": "\"rid\":", + "lianjiehou": ",\"", + "sousuoqian": "/japi/search/api/searchShow?kw=", + "sousuohou": "&page=1&pageSize=50", "sousuohouzhui": "/", +"ssmoshi": "0", "sousuoshifouercijiequ": "0", "jspic": "roomSrc", "jsname": "roomName", "jsid": "rid", "ssjiequqian": "空", "ssjiequhou": "空", "ssjiequshuzuqian": "空", "ssjiequshuzuhou": "空", "sstupianqian": "空", "sstupianhou": "空", "ssbiaotiqian": "空", "ssbiaotihou": "空", "sslianjieqian": "空", "sslianjiehou": "空", "bfshifouercijiequ": "0", "bfjiequqian": "空", "bfjiequhou": "空", "bfjiequshuzuqian": "left\">
    ", +"zhuangtaiqian": "更新:", "zhuangtaihou": "

    ", + "daoyanqian": "导演:", "daoyanhou": "

    ", + "zhuyanqian": "主演:", "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "

    ", +"bfbiaotihou": "

    ", +"bflianjieqian": "rid=", +"bflianjiehou": "\""}, +{ + "author": "20220613", + "name": "555电影", + "url": "https://www.xawqxh.net", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + + "fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#Netflix(漫)$/vodshow/4---Netflix-----#热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧梅剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧梅动漫$/vodshow/4-欧梅-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#梅食片$/vodshow/1---梅食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "" +}, +{"author": "20220617", + "name": "F7好看剧", + "url": "https://www.haokanju1.cc", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "4K剧集$/vodshow/23--------#4K电影$/vodshow/24--------#亲子动漫$/vodshow/4---亲子-----#益智动漫$/vodshow/4---益智-----#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/20--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#大陆动漫$/vodshow/4-大陆-------#内地动漫$/vodshow/4-内地-------#日本动漫$/vodshow/4-日本-------#韩国动漫$/vodshow/4-韩国-------#M国动漫$/vodshow/4-M国-------#英国动漫$/vodshow/4-英国-------#台湾动漫$/vodshow/4-台湾-------#动画片$/vodshow/1---动画-----#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"data \">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "LIBVIO", + "url": "https://www.libvio.me", + "tihuan": "dd520.cc", + "User": "空", + "fenlei": "最近更新$/show/19--------#电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------#动画片$/show/1---动画-----#纪录片$/show/21--------#国产剧$/show/13--------#日韩剧$/show/15--------#欧梅剧$/show/16--------#港台剧$/show/14--------#泰国剧$/show/2-泰国-------#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#恐怖片$/show/1---恐怖-----#动作片$/show/1---动作-----#科幻片$/show/1---科幻-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#警匪片$/show/1---警匪-----#犯罪片$/show/1---犯罪-----#奇幻片$/show/1---奇幻-----#武侠片$/show/1---武侠-----#冒险片$/show/1---冒险-----", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\">总集数:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">类型:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "COKEMV", + "url": "https://cokemv.me", + "User": "空", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画电影$/vodshow/41--------#抖音电影$/vodshow/5--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#犯罪片$/vodshow/23--------", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "/div>", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "author":"20220605", + "name": "特狗影院", + "url": "https://www.tegouys.com", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "儿童电影$/vodshow/class/儿童/id/1/page/#亲子综艺$/vodshow/class/亲子/id/3/page/#合家欢动漫$/vodshow/class/合家欢/id/4/page/#曲艺综艺$/vodshow/class/曲艺/id/3/page/#电影$/vodshow/id/1/page/#国产剧$/vodshow/area/内地/id/2/page/#香港剧$/vodshow/area/香港/id/2/page/#韩国剧$/vodshow/area/韩国/id/2/page/#M国剧$/vodshow/area/M国/id/2/page/#日本剧$/vodshow/area/日本/id/2/page/#泰国剧$/vodshow/area/泰国/id/2/page/#台湾剧$/vodshow/area/台湾/id/2/page/#英国剧$/vodshow/area/英国/id/2/page/#其它剧$/vodshow/area/其它/id/2/page/#综艺$/vodshow/id/3/page/#国产动漫$/vodshow/area/内地/id/4/page/#日本动漫$/vodshow/area/日本/id/4/page/#欧梅动漫$/vodshow/area/欧梅/id/4/page/#其它动漫$/vodshow/area/其它/id/4/page/", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"text-red\">", + "zhuangtaihou": "/", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220606", + "name": "瓜皮TV", + "url": "https://guapitv.xyz", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧梅动漫$/vodshow/4-欧梅-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "
    ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220612", + "name": "4K电影网", + "url": "https://www.4kdyw.cn", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#电视剧(B站)$/vodshow/45--------#纪录片$/vodshow/24--------#纪录片(B站)$/vodshow/46--------#日本动漫$/vodshow/21--------#国产动漫$/vodshow/20--------#欧梅动漫$/vodshow/22--------#动漫电影$/vodshow/25--------#番剧(B站)$/vodshow/42--------#国创(B站)$/vodshow/43--------#综艺$/vodshow/3--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/27--------#灾难片$/vodshow/28--------#历史片$/vodshow/29--------#传记片$/vodshow/30--------#歌舞片$/vodshow/47--------#电影(B站)$/vodshow/44--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "red;\">", + "zhuangtaihou": "", + "daoyanqian": "data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "sketch\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220615", + "name": "悟空影院", + "url": "https://www.01vo.com", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "体育$/vodshow/36--------#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/25--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#国产动漫$/vodshow/31--------#日本动漫$/vodshow/32--------#欧梅动漫$/vodshow/33--------#动漫片$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/24--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "biaotihou": "
    ", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220609", + "name": "OmoFun动漫", + "url": "https://www.omofun.tv", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "日漫$/vod/show/id/20/page/#热血$/vod/show/class/热血/id/20/page/#穿越$/vod/show/class/穿越/id/20/page/#奇幻$/vod/show/class/奇幻/id/20/page/#战斗$/vod/show/class/战斗/id/20/page/#搞笑$/vod/show/class/搞笑/id/20/page/#日常$/vod/show/class/日常/id/20/page/#科幻$/vod/show/class/科幻/id/20/page/#萌系$/vod/show/class/萌系/id/20/page/#治愈$/vod/show/class/治愈/id/20/page/#校园$/vod/show/class/校园/id/20/page/#恋爱$/vod/show/class/恋爱/id/20/page/#魔法$/vod/show/class/魔法/id/20/page/#冒险$/vod/show/class/冒险/id/20/page/#机战$/vod/show/class/机战/id/20/page/#催泪$/vod/show/class/催泪/id/20/page/#音乐$/vod/show/class/音乐/id/20/page/", + "houzhui": ".html", + + "shifouercijiequ": "1", + "jiequqian": "
    ", + + "zhuangtaiqian": "备注:", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": ".html\">", + "biaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"fed-play-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "fed-text-center\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "声优:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "1", + "bfyjiequqian": "class=\"fed-part-rows\">", + "bfyjiequhou": "", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author":"20220529", + "issue":"起始页码为0,有别于其他网站都是1,无法解决,所以各类别都会少了第一页的内容", + "name": "风车动漫", + "url": "https://www.dm530p.net", + "User": "空", + "fenlei": "日本动漫$/list/?region=日本&pagesize=24&pageindex=#国产动漫$/list/?region=中国&pagesize=24&pageindex=#欧梅$/list/?region=欧梅&pagesize=24&pageindex=#TV$/list/?genre=TV&pagesize=24&pageindex=#剧场版$/list/?genre=剧场版&pagesize=24&pageindex=#OVA$/list/?genre=OVA&pagesize=24&pageindex=", + "houzhui": "", + + "shifouercijiequ": "1", + "jiequqian": "class=\"lpic\">", + "jiequhou": "/div>", + "jiequshuzuqian": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/s_all?ex=1&kw=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/view/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "class=\"lpic\">", + "ssjiequhou": "/div>", + "ssjiequshuzuqian": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"movurl\"", + "bfjiequshuzuhou": "/ul>", + + "zhuangtaiqian": "

    ", + "zhuangtaihou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author":"20220615", + "name": "森之屋动漫", + "url": "https://www.senfun.net", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "TV动画$/show/1/page/#BD动画$/show/2/page/#剧场版$/show/3/page/#欧梅动漫$/show/37/page/", + "houzhui": ".html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + + "zhuangtaiqian": "info\">状态:", + "zhuangtaihou": "", + "daoyanqian": "info\">监督:", + "daoyanhou": "", + "zhuyanqian": "starring\">声优:", + "zhuyanhou": "", + "juqingqian": "剧情简介", + "juqinghou": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "真不卡影院(不支持搜索)", + "url": "http://www.cerrd.com", + "tihuan": "cnzz.com", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "骚火电影", + "url": "https://shdy2.com", + "User": "空", + "fenlei": "国产剧$/list/20-#TVB剧$/list/21-#韩剧$/list/22-#梅剧$/list/23-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-#动漫$/list/4-#亲子动漫$/list/46-#电影$/list/1-#动画片$/list/13-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"v_img\">", + "jiequshuzuhou": "

    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
    ", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"play_link\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"v_note\">", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "/ 主演", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"p_txt show_part\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "火火影院", + "url": "https://www.huohuo99.com", + "tihuan": "", + "User": "空", + "fenlei": "动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#惊悚片$/vodtype20-#悬疑片$vodtype/23-#动画片$/vodtype/24-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype15-#欧梅剧$vodtype/16-#番剧$/vodtype/31-#综艺$/vodtype/4-#记录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"hl-list-item hl", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": " id=\"hl-plays-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:
    ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "天空资源", + "url": "https://www.tkys.tv", + "tihuan": "cnzz.com", + "fenlei": "电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodshow/area/内地/id/2/page/#港剧$/vodshow/area/香港/id/2/page/#韩剧$/vodshow/area/韩国/id/2/page/#梅剧$/vodshow/area/M国/id/2/page/#泰剧$/vodshow/area/泰国/id/2/page/#日剧$/vodshow/area/日本/id/2/page/#台剧$/vodshow/area/台湾/id/2/page/#英剧$/vodshow/area/英国/id/2/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-8", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "完梅看看影院", + "url": "https://www.wanmeikk.me/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/category/1-#国产剧$/category/5-#欧梅剧$/category/2-#韩剧$/category/3-#动漫$/category/6-#泰剧$/category/9-#纪录片$/category/10-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "class=\"stui-vodlist__box stui-vodlist__bg", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/play/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-pannel_bd col-pd clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"data\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "03-乐猪影院", + "url": "http://www.lezhutv.com", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#梅剧$/type/15-#其它$/type/16-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "口袋影院", + "url": "http://www.koudaitv.com", + "User": "空", + "fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#梅剧$/type/15-1--------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "北川影院", + "url": "https://www.bcwzg.com", + "User": "Referer:https://j.bcyingshi.ink/", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"loading\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-itemvideo-info-contentvod_content\">", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "六度TV", + "url": "http://6d.xuangz.cn", + "User": "空", + "fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#M国片$/whole/1_M国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧梅剧$/whole/2__欧梅剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v_show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"v-thumb stui-vodlist", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "花猫TV", + "url": "http://www.huamaotv.com", + "User": "空", + "fenlei": "电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\"", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "GIMY影院", + "url": "https://gmtv1.xyz", + "User": "空", + "fenlei": "电视剧$/genre/tvseries---#电影$/genre/movies---#综艺$/genre/tv_show---#动漫$/genre/anime---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#喜剧片$/genre/comedy+---#爱情片$/genre/romance---#战争片$/genre/war---#奇幻片$/genre/fantasy---#恐怖片$/genre/horror---#纪录片$/genre/documentary+---#动画电影$/genre/animation---#国产剧$/genre/cn---#韩剧$/genre/kr---#梅剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "Gimy TV 劇迷線上看", + "url": "https://gimytv.app", + "User": "空", + + "fenlei": "陸剧$/genre/cn---#韩剧$/genre/kr---#梅剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---#纪录片$/genre/documentary---#综艺$/genre/tv_show---#日漫$/genre/anime-日本--#梅漫$/genre/anime-梅國--#欧漫$/genre/anime-歐梅--#陸漫$/genre/anime-大陸--#台漫$/genre/anime-臺灣--#港漫$/genre/anime-香港--#韩漫$/genre/anime-韓國--#电影$/genre/movies---#动画电影$/genre/animation---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#爱情片$/genre/romance---#奇幻片$/genre/magic---#战争片$/genre/war---#恐怖片$/genre/horror---#喜剧片$/genre/comedymovie---", + "houzhui": "/by/time.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "狀態:", + "zhuangtaihou": "

    ", + "daoyanqian": "導演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "YYDS影院", + "url": "https://www.yydsvod.com", + "User": "空", + "fenlei": "电视剧$/vod/show/drama--------#电影$/vod/show/movie--------#综艺$/vod/show/varietyshow--------#动漫$/vod/show/animes--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-6 col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "思乐影院", + "url": "https://www.4ltv.com", + "User": "空", + "fenlei": "电视剧$/show/1------#电影$/show/2------#综艺$/show/3------#动漫$/show/4------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"sort-item", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "如如影院", + "url": "https://www.wei333.com/", + "User": "空", + "fenlei": "电影$/movie/?v1-#电视剧$/dsj/?v2-#综艺$/zong/?v3-#动漫$/dong/?v4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "看一看影院", + "url": "https://www.kyikan.cc", + "fenlei": "连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧梅剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", + "houzhui": "-order--by--class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"bz\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "      ", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "乌龟影院", + "url": "https://www.wuguiyy.com", + "User": "空", + "fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "31看影院", + "url": "https://www.31kan.vip", + "author": "dj", + "User": "空", + "fenlei": "热播剧集$/vodshow/2--hits------#热播电影$/vodshow/1--hits------#热播综艺$/vodshow/3--hits------#热播少儿$/vodshow/33--hits------#国产剧$/vodshow/2-大陆-------#港剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#梅剧$/vodshow/2-M国-------#泰剧$/vodshow/2-泰国-------#日剧$/vodshow/2-日本-------#英剧$/vodshow/2-英国-------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "
      ", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小强迷", + "url": "http://xqmi.top", + "User": "空", + "fenlei": "动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧梅剧$/index.php/vod/show/id/16/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "
  • ", + "tupianqian": "data-original=\"", + "tupianhou": "\">", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "
      ", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "爱港剧", + "url": "http://www.2gangju.cc", + "User": "空", + "fenlei": "电影$/vodshow/dianying--------#电视剧$/vodshow/dianshiju--------#综艺$/vodshow/zongyi--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"stui-vodlist clearfix\"", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500&submit=", + "sousuohouzhui": "/dianshiju/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "VIP1280", + "url": "http://www.vip1280.net", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/frim/index1/page/#电视剧$/frim/index2/page/#港台剧$/frim/index3/page/#动作片$/frim/index6/page/#爱情片$/frim/index7/page/#科幻片$/frim/index8/page/#恐怖片$/frim/index9/page/#战争片$/frim/index10/page/#喜剧片$/frim/index11/page/#记录片$/frim/index12/page/#剧情片$/frim/index20/page/#动画片$/frim/index21/page/#欧梅剧$/frim/index4/page/#日韩剧$/frim/index5/page/#泰剧$/frim/index22/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/index", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"detail-sketch\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小熊影院", + "url": "http://www.xxys520.com/", + "User": "空", + "fenlei": "最新电影$/vodshow/1-----------2022/page/#最新国产剧$/vodshow/2-----------2022/page/#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧梅剧$/vodtype/16-#泰国剧$/vodtype/29-#其他剧$/vodtype/27-#动漫$/vodtype/3-#综艺$/vodtype/4-#纪录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "影院之光", + "url": "http://vip.8kvod.com:888", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/t/1/page/#连续剧$/t/2/page/#综艺$/t/3/page/#动漫$/t/4/page/#动作片$/t/6/page/#喜剧片$/t/7/page/#爱情片$/t/8/page/#科幻片$/t/9/page/#恐怖片$/t/10/page/#剧情片$/t/11/page/#动画片$/t/29/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/k/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "剧情简介','", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "手机看剧", + "url": "https://www.shoujikanju.com/", + "User": "空", + "fenlei": "电影$/sort/1-#电视剧$/sort/2-#综艺$/sort/3-#动漫$/sort/4-#纪录片$/sort/5-", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "id=\"list\"", + "jiequhou": "", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"bd_title\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "", + "zhuangtaihou": "", + "daoyanqian": "class=\"text-muted\">导演:", + "daoyanhou": "", + "zhuyanqian": "class=\"text-muted\">主演:", + "zhuyanhou": "", + "juqingqian": "
    ", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "创艺影院", + "url": "https://www.30dian.cn", + "tihuan": "vip.30dian.cn", + "User": "空", + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#纪录片$/vodshow/30--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"text-red\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "炫猫影院", + "url": "https://www.xuanmao520.com/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/index.php/vod/type/id/1/#剧集$/index.php/vod/type/id/2/#综艺$/index.php/vod/type/id/3/#动漫$/index.php/vod/type/id/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/play/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list scrollbar sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"span\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "奈菲影院", + "url": "https://www.1985.one/", + "User": "空", + "fenlei": "电影$/vodshow/id/1/page/#连续剧$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#动漫$/vodshow/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item-", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"module-item-text\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "牛马TV", + "url": "http://www.niumatv.com/", + "User": "空", + "fenlei": "电影$/type/dianying-#电视剧$/type/dianshiju-#国产剧$/vodshow/area/中国大陆/id/dianshiju/page/#港剧$/vodshow/area/中国香港/id/dianshiju/page/#韩剧$/vodshow/area/韩国/id/dianshiju/page/#欧梅剧$/vodshow/area/M国/id/dianshiju/page/#综艺$/type/zongyi-#动漫$/type/dongman-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "豆角网", + "url": "https://m.doujiaow1.com/", + "User": "空", + "fenlei": "电影$/index.php?m=vod-list-id-1-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#泰剧$/index.php?m=vod-list-id-26-pg-#日剧$/index.php?m=vod-list-id-17-pg-#梅剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#动漫剧集$/index.php?m=vod-list-id-37-pg-#动漫电影$/index.php?m=vod-list-id-35-pg-#综艺$/index.php?m=vod-list-id-3-pg-", + "houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"con\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + + "bfjiequshuzuqian": "class=\"ulNumList", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "尘落影院", + "url": "https://v.xuangz.cn/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/whole/2_______0_addtime_#电影$/whole/1_______0_id_#综艺$/whole/4_______0_addtime_#动漫$/whole/3_______0_addtime_#全网资源$/whole/5_______0_addtime_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"movie-item-in", + "jiequshuzuhou": "class=\"item-hover", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"movie-item-in", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"row tv-js-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态", + "zhuangtaihou": "", + "daoyanqian": "导演", + "daoyanhou": "", + "zhuyanqian": "主演", + "zhuyanhou": "", + "juqingqian": "border-radius: 4px", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "class=\"tv-js-btn\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "电影馆", + "url": "https://www.dianyingguan.cn/", + "fenlei": "电影$/show/1--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧梅剧$/show/16--------#其他剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "爱看影院", + "url": "https://ikan6.vip/", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#梅剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "凛冬又至", + "url": "https://ldyz.live/", + "fenlei": "电影$/vodtype/1-#欧梅剧$/vodtype/20-#日剧$/vodtype/24-#韩剧$/vodtype/21-#泰剧$/vodtype/23-#动漫$/vodtype/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "红领巾", + "url": "https://www.honglingjin.tv", + "User": "空", + "fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/3/#动漫$/list/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail1/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-cover", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "Nike影院网", + "url": "https://www.ajeee.com", + "tihuan": "51.la", + "User": "空", + "fenlei": "电影$/show/Movie/page/#大陆剧$/show/Tv/area/大陆/page/#韩剧$/show/Tv/area/韩国/page/#港剧$/show/Tv/area/香港/page/#台剧$/show/Tv/area/台湾/page/#日剧$/show/Tv/area/日本/page/#梅剧$/show/Tv/area/M国/page/#泰剧$/show/Tv/area/泰国/page/#英剧$/show/Tv/area/英国/page/#大陆动漫$/show/Cartoon/area/大陆/page/#日本动漫$/show/Cartoon/area/日本/page/#欧梅动漫$/show/Cartoon/area/欧梅/page/#综艺$/show/Variety/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "class=\"layout-box", + "jiequshuzuqian": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "伊雪湾", + "tihuan": "cnzz.com", + "url": "https://www.yixuewan.com", + "fenlei": "国产剧$/vodshow/13/page/#日韩剧$/vodshow/14/page/#港台剧$/vodshow/15/page/#欧梅剧$/vodshow/16/page/#其他剧$/vodshow/20/page/#纪录片$/vodshow/21/page/#大陆动漫$/vodshow/4/area/中国大陆/page/#日本动漫$/vodshow/4/area/日本/page/#M国动漫$/vodshow/4/area/M国/page/#其他动漫$/vodshow/4/area/其他/page/#综艺$/vodshow/3/page/#动作片$/vodshow/6/page/#喜剧片$/vodshow/7/page/#剧情片$/vodshow/24/page/#爱情片$/vodshow/8/page/#科幻片$/vodshow/9/page/#恐怖片$/vodshow/10/page/#冒险片$/vodshow/11/page/#战争片$/vodshow/12/page/#其他片$/vodshow/32/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y\">", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "极品影院", + "url": "https://www.jpys.me/", + "User": "空", + "fenlei": "大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧梅剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "有声小说", +"url": "https://m.tingzh.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "玄幻$/list/1-#武侠$/list/2-#都市$/list/3-#言情$/list/4-#科幻$/list/5-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"bookbox\"", +"jiequshuzuhou": "class=\"intro_line\"", +"tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "class=\"bookname\">", +"biaotihou": "", +"lianjieqian": "bookid=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://m.tingzh.com/book/", +"ljhouzhui": ".html", +"fubiaotiqian": "状态:", +"fubiaotihou": "", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "&Submit=", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"bookbox\"", +"ssjiequshuzuhou": "class=\"intro_line\"", +"sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "class=\"bookname\">", +"ssbiaotihou": "", +"sslianjieqian": "bookid=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://m.tingzh.com/book/", +"ssljhouzhui": ".html", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "
    状态:", +"zhuangtaihou": "", +"daoyanqian": "
    作者:", +"daoyanhou": "", +"zhuyanqian": "
    播音:", +"zhuyanhou": "", +"juqingqian": "class=\"book_intro\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "name": "139影院", + "url": "https://www.139ys.com", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#国产剧$/vodshow/guochanju--------#港台剧$/vodshow/gangtaiju--------#日韩剧$/vodshow/rihanju--------#欧梅剧$/vodshow/oumeiju--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ "name": "Justlive斗鱼", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=douyu&page=#电台新声$Area?platform=douyu&area=电台新声&page=#文化$Area?platform=douyu&area=文化&page=#科普$Area?platform=douyu&area=科普&page=#王者荣耀$Area?platform=douyu&area=王者荣耀&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=douyu&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\""}]} \ No newline at end of file diff --git a/调试助手/mw.txt b/调试助手/mw.txt new file mode 100644 index 0000000..1a54abc --- /dev/null +++ b/调试助手/mw.txt @@ -0,0 +1,1643 @@ +//持续关注工众號:應佣多多,及时获取最新免费优质软件,本接口自网络收集,仅为不会写代码而又想使用调试助手的粉丝提供便利之用,作者不是本人,而是多位网络大佬,如有冒犯,请联系删除,谢谢! +{"Home": [ +{"key":"采集","title":"优选主页","pic":"https://i.niupic.com/images/2022/10/03/a5Zc.jpg"}, +{"key":"网页","title":"电影网站","pic":"https://i.niupic.com/images/2022/10/03/a5Zd.jpg"}, +{"key":"APP","title":"APP电影","pic":"https://i.niupic.com/images/2022/10/03/a5Ze.jpg"}, +{"key":"直播","title":"电视直播","pic":"https://i.niupic.com/images/2022/10/03/a5Zf.jpg"}, +{"key":"历史","title":"历史记录","pic":"https://i.niupic.com/images/2022/10/03/a5Zg.jpg"}, +{"key":"收藏","title":"我的收藏","pic":"https://i.niupic.com/images/2022/10/03/a5Zh.jpg"}, +{"key":"推送","title":"远程推送","pic":"https://i.niupic.com/images/2022/10/03/a5Zi.jpg"}, +{"key":"工众号:appsduoduo","title":"工众号:appsduoduo","pic":"https://i.niupic.com/images/2022/10/03/a5Zj.jpg"} +], + +"zhuyejiekou": [ +{"name":"👑工众號:應佣多多","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"🚀嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀苍-蓝影院","url":"https://vip.ruifenglb.com:4433/api.php/app/"}, +{"name":"🚀七彩影院","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"🚀创意影院","url":"https://www.30dian.cn/api.php/v1.vod"}, +{"name":"🚀爱酷影院","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"🚀淘-剧影院","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"🚀创-意影院","url":"https://www.30dian.cn/api.php/v1.vod"}, +{"name":"🚀段-友影院","url":"http://js.66app.me/api.php/app/"}, +{"name":"🚀特狗影院","url": "https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"🚀海玉影院","url":"https://tv2.hykjtv.cn/api.php/v1.vod"}, +{"name":"🚀佳佳影院","url":"https://www.jiajia.pub/api.php/v1.vod"}, +{"name":"🚀群鑫影院","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"🚀可乐影院","url":"http://klyingshi.com/api.php/v1.vod"}, +{"name":"🚀麦穗影院","url":"http://b.maisui66.cn/api.php/v1.vod"}, +{"name":"🚀铭轩影院","url":"http://lz0716.com/api.php/v1.vod"}, +{"name":"🚀全球星","url":"http://www.mzok.cn/api.php/v1.vod"}, +{"name":"🚀氢视频","url":"http://www.h1080p.com/api.php/tv.vod"}, +{"name":"🚀万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"🚀小猫咪","url":"http://vod.xiaomaomi.cc/mogai_api.php/v1.vod"}, +{"name":"🚀小七影院","url":"https://www.xiaoqi0.cn/cuican_api.php/v1.vod"}, +{"name":"🚀鑫雨TV","url":"http://81.68.212.225/lvdou_api.php/v1.vod"}, +{"name":"🚀夕阳影院","url":"http://cms.seo-tv.work/mogai_api.php/v1.vod"}, +{"name":"🚀鑫总资源","url":"http://app.mmhkj.xyz/lvdou_api.php/v1.vod"}, +{"name":"🚀毅世纪影院","url":"http://www.ysjblog.top/api.php/v1.vod"}, +{"name":"🚀比邻影院","url":"http://0hzy.cn:9990/mogai_api.php/v1.vod"}, +{"name":"🚀豆芽视频","url":"http://bdintv.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀黄河影院","url": "http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"🚀影院大全1","url":"http://app.269w.com/api.php/v1.vod"}, +{"name":"🚀兔子窝","url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod"}, +{"name":"🚀爱电影","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"🚀艾特影院","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"913e影院","url":"http://www.913e.net/xgapp.php/v1/"} +], + +"caijizhan": [ +{"name":"👑工众號:應佣多多","url":"https://ddzyz5.com/api.php"}, +{"name":"酷云七七","url":"http://api.kunyu77.com/api.php"}, +{"name":"苹果采集","url":"http://107.150.5.146:39000/maccms10-main/api.php"}, +{"name":"特狗影院","url":"http://tv.tegouys.com/api.php/iptv/vod/"}, +{"name":"推荐采集","url":"http://101.34.7.151:600/api.php"}, +{"name":"诺讯资源(官)","url":"http://caiji.nxflv.com/api.php"}, +{"name":"忆梦(官)","url":"http://anltv.cn/api.php"}, +{"name":"小猫咪(官)","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"1080资源库(切)","url":"https://api.1080zyku.com/inc/api_mac10.php"}, +{"name":"快车资源(切)","url":"https://caiji.kczyapi.com/api.php"}, +{"name":"松鼠资源(切)","url":"https://m3u8.songshuzy.com/api.php"}, +{"name":"多多资源(切)","url":"https://www.ddzyz1.com/api.php"}, +{"name":"OK资源(切)","url":"https://www.okcj.site/api"}, +{"name":"FOX资源(切)","url":"https://api.foxzyapi.com/api.php"}, +{"name":"番茄资源(切)","url":"http://api.fqzy.cc/api.php"}, +{"name":"卧龙资源(切)","url":"https://collect.wolongzyw.com/api.php"}, +{"name":"红牛资源(切)","url":"https://www.hongniuzy2.com/api.php"}, +{"name":"想看资源(切)","url":"https://m3u8.xiangkanapi.com/api.php"}, +{"name":"酷点资源(切)","url":"https://kudianzy.com/api.php"}, +{"name":"光速资源(切)","url":"https://api.guangsuapi.com/api.php"}, +{"name":"新浪资源(切)","url":"http://api.xinlangapi.com/xinlangapi.php"}, +{"name":"鱼乐资源(切)","url":"https://api.ylzy1.com/api.php"}, +{"name":"快播资源(切)","url":"http://www.kuaibozy.com/api.php"}, +{"name":"南国影源(切)","url":"http://api.nguonphim.tv/api.php"}, +{"name":"U酷资源(优)","url":"https://api.ukuapi.com/api.php"}, +{"name":"淘片资源(优)","url":"https://taopianapi.com/home/cjapi"}, +{"name":"旋风云(优)","url":"http://appimg.ssxmall.cn/api.php"}, +{"name":"XYUI(优)","url":"http://jx4.xyui.top:7001/api.php"}, +{"name":"考拉TV(优)","url":"https://ikaola.tv/api.php"}, +{"name":"51看剧(优)","url":"http://51kanju.cn/api.php"}, +{"name":"一拳动漫(优)","url":"http://47.97.68.224/api.php"}, +{"name":"畅视影院(优)","url":"http://app.reboju.net/api.php"}, +{"name":"超高清影院(聚)","url":"http://shdmv.com/api.php"}, +{"name":"39影院(聚)","url":"https://www.39kan.com/api.php"}, +{"name":"嗨哆咪影院(聚)","url":"http://hdmys1.com/api.php"}, +{"name":"橘猫影院(聚)","url":"http://www.zitv.cc/api.php"}, +{"name":"飘花电影(聚)","url":"http://www.zzrhgg.com/api.php"}, +{"name":"千寻时光(聚)","url":"http://wy.dqyhg.cn/api.php"}, +{"name":"网民电影(聚)","url":"https://www.prinevillesda.org/api.php"}, +{"name":"海外电影(聚)","url":"https://www.200121.com/api.php"}, +{"name":"影院阁(神马)","url":"http://216.98.10.85/api.php/iptv/vod/"}, +{"name":"天空TV(神马)","url":"http://tv.tkys.tv/api.php/iptv/vod/"}, +{"name":"芒迅TV(神马)","url":"http://www.hdyangtv.com/api.php/iptv/vod/"}, +{"name":"米来影院(神马)","url":"http://42.51.37.161:2346/api.php/iptv/vod/"}, +{"name":"盒子视界(神马)","url":"http://eh.tvzy.cc/api.php/iptv/vod/"}, +{"name":"嘿荼锋(神马)","url":"http://tv.hfys8.vip/api.php/Sntv/vod/"}, +{"name":"贵宾影院(神马)","url":"https://vipdytv.com/api.php/iptv/vod/"}, +{"name":"独优影院(神马)","url":"http://121.205.88.71:218/api.php/Chengcheng/vod/"}, +{"name":"天堂影院","url":"http://vipmv.cc/api.php"}, +{"name":"诺讯影院","url":"http://caiji.nxflv.com/api.php"}, +{"name":"快播影院","url":"http://www.kuaibozy.com/api.php"}, +{"name":"奇趣影院","url":"http://www.qiqu.me/api.php"}, +{"name":"KK站采集","url":"http://kkzy5.com/api.php"}, +{"name":"快播资源","url":"http://www.kuaibozy.com/api.php"}, +{"name":"FOX资源","url":"https://api.foxzyapi.com/api.php"}, +{"name":"M3U8源","url":"http://www.zycaiji.net:7788/api.php"}, +{"name":"U酷资源","url":"https://api.ukuapi.com/api.php"}, +{"name":"2号币(神马)","url":"http://phoebe.cf/api.php/iptv/vod/"} +], + +"zhujiexi": [ +{"name":"刘兵","url":"http://newjiexi.gotka.top/keyu3.php?url="}, +{"name":"云you","url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=bfijlnovBCEGHJTV09&url="}, +{"name":"ckflv","url":"http://api.ckflv.cn/?url="}, +{"name":"可与","url":"http://newjiexi.gotka.top/keyu3.php?url="}, +{"name":"融兴","url":"https://svip.rongxingvr.top/api/?key=4gb6ui9qfap4kLrvb2&url="}, +{"name":"猫咪","url":"http://api.xiaomaomi.tv/home/api?type=ys&uid=8728968&key=cdkmqvyzFIJPRT2349&url="}, +{"name":"free","url":"https://h5.freejson.xyz/player/?url="}, +{"name":"OKjx嗅探","url":"https://okjx.cc/?url="}, +{"name":"hxys","url":"https://hxys.tv/bfq/?url="}, +{"name":"fuqi","url":"https://play.fuqizhishi.com/juhe/API.php?appkey=caijijuhe220902&url="}, +{"name":"fositv","url":"https://play.fositv.com/?url="}, +{"name":"fuqi2","url":"https://play.fuqizhishi.com/jx1/API.php?appkey=iiiixiaobai&url="}, +{"name":"战狼","url":"https://jx.zhanlangbu.com/?url="}, +{"name":"酷云","url":"http://101.34.67.237:5705/parse/api/酷云.js?url="}, +{"name":"chaoli","url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=klmnqADJQRUV024678&url="}, +{"name":"fuqi3","url":"https://play.fuqizhishi.com/jx/API.php?appkey=iiiixiaobai&url="}, +{"name":"江湖","url":"http://101.34.67.237:5705/parse/api/江湖.js?url="}, +{"name":"鸿途","url":"http://101.34.67.237:5705/parse/api/鸿途.js?url="}, +{"name":"飞跃","url":"http://101.34.67.237:5705/parse/api/飞跃.js?url="}, +{"name":"无名","url":"http://101.34.67.237:5705/parse/api/无名.js?url="}, +{"name":"cyu","url":"https://vip.cyu0.cn/home/api?type=ys&uid=1353484&key=efopqwABCLOTVYZ278&url="}, +{"name":"bynote","url":"https://jx.bynote.top/API.php?url="}, +{"name":"vip","url":"http://101.34.67.237:5705/parse/api/vip.js?url="}, +{"name":"dyg","url":"http://101.34.67.237:5705/parse/api/dyg.js?url="}, +{"name":"江湖2","url":"http://211.99.99.236:4567/jhjson/ceshi.php?url="}], + "beiyongjiexi": [ +{"name":"解析1","url":"https://nbjx.vip/?url="}, +{"name":"解析2","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"解析3","url":"https://www.nxflv.com/?url="}, +{"name":"解析6","url":"https://za.kuanjv.com/?url="}, +{"name":"解析","url":"http://m2090.com/?url="}, +{"name":"解析","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"解析","url":"https://jx.xuanqi.pro/?url="}, +{"name":"解析","url":"https://www.nxflv.com/?url="}, +{"name":"解析","url":"http://47.100.138.210:92/?url="}, +{"name":"解析","url":"http://api.diliktv.xyz/vip/jx.php?url="}, +{"name":"解析","url":"https://vipjx.cc/?url="}, +{"name":"解析","url":"https://jx.aidouer.net/?url="}, +{"name":"解析","url":"https://svip.bljiex.cc/?v="}, +{"name":"解析","url":"https://bd.jx.cn/vip/?url="}, +{"name":"解析","url":"https://z1.m1907.cn/?jx="}, +{"name":"解析","url":"https://vip.2ktvb.com/player/?url="}, +{"name":"解析","url":"https://nbjx.vip/?url="}, +{"name":"备解1","url":"https://jx.xmflv.com/?url="}, +{"name":"备解2","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解3","url":"https://www.pangujiexi.com/pangu/?url="}, +{"name":"备解4","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解5","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"备解6","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"备解7","url":"https://jx.m3u8.tv/jiexi/?url="}, +{"name":"备解8","url":"https://okjx.cc/?url="}, +{"name":"备解9","url":"https://www.yemu.xyz/?url="}, +{"name":"备解10","url":"https://jx.xmflv.com/?url="}, +{"name":"备解11","url":"https://parse.123mingren.com/?url="}, +{"name":"备解12","url":"http://www.ckmov.vip/api.php?url="}, +{"name":"备解13","url":"http://api.wpsseo.cn/?v="}, +{"name":"备解14","url":"https://go.yh0523.cn/y.cy?url="}, +{"name":"备解15","url":"https://www.ckplayer.vip/jiexi/?url="}, +{"name":"解析","url":"http://jx5.178du.com/p1/?url="} ], +// 电视直播的接口链接 +"dianshizhibo":"https://image.api.losfer.cn/down.php/994beb4e9cfb5283a3318cf5044ec758.txt&a0709a", +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a", +"guolvdizhi": "player.css#url=#51.la#poster#api.php#file=#auth_#cnzz.com#pap.html#baidu.com#tootw.com#auete.com#douyin", + +"zidingyi": [ +{"name": "👑工众号:appsduoduo", +"url": "", +"ua": "Dalvik/2.1.0 (Linux; U; Android 5.1.1; MI 9 Build/LMY48Z)", +"User": "空", +"fenlei": "热播推荐$http://api.kunyu77.com/api.php/provide/homeBlock?type_id=0pagenum=&#电视剧$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=2&pagenum=#电影$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=1&pagenum=#综艺$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=3&pagenum=#动漫$http://api.kunyu77.com/api.php/provide/searchFilter?type_id=4&pagenum=", +"houzhui": "&pagesize=24", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"video", +"jiequshuzuhou": "cornermark_color", +"tupianqian": "Cover\":\"", +"tupianhou": "\"", +"biaotiqian": "title\":\"", +"biaotihou": "\"", +"lianjieqian": "id\":", +"lianjiehou": "\"", +"ljqianzhui": "http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&pcode=010110004&type_id=1&sj=1661786776&sysver=9&model=OPPO%20R9tm&sys=android&version=1.8.7&brand=OPPO&ids=", +"ljhouzhui": "空", +"fubiaotiqian": "msg\":\"", +"fubiaotihou": "\"", +"sousuoqian": "http://api.kunyu77.com/api.php/provide/searchVideo?searchName=", +"sousuohou": "", +"sousuohouzhui": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "data\":", +"ssjiequhou": "\"ext\"", +"ssjiequshuzuqian": "{", +"ssjiequshuzuhou": "}", +"sstupianqian": "videoCover\":\"", +"sstupianhou": "\"", +"ssbiaotiqian": "videoName\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "id\":", +"sslianjiehou": "\"", +"ssljqianzhui": "http://api.kunyu77.com/api.php/provide/videoPlaylist?devid=453CA5D864457C7DB4D0EAA93DE96E66&package=com.sevenVideo.app.android&pcode=010110004&type_id=1&sj=1661786776&sysver=9&model=OPPO%20R9tm&sys=android&version=1.8.7&brand=OPPO&ids=", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"data\"", +"bfjiequshuzuhou": "}]}}", +"zhuangtaiqian": "albumTitle\":\"", +"zhuangtaihou": "\"", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "albumTitle\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "\"id\"", +"bfyjiequshuzuhou": "\"playurls\"", +"bfbiaotiqian": "title\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "playurl\":\"", +"bflianjiehou": "\"", +"bfqianzhui": ""}, + +{"name": "😺小猫咪源", +"url": "https://xmaomi.net", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"启用js加载源码":"1", +"js加载源码时间":"5", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"shouye": "1", +"fenlei": "首页推荐$空#电影$/vod_____show/1--------#电视剧$/vod_____show/2--------#综艺$/vod_____show/3--------#动漫$/vod_____show/4--------#纪录片$/vod_____show/5--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"sousuoqian": "/v_search/-------------.html?wd=", +"sousuohou": "&submit=", +"sousuohouzhui": "/play/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"ssfubiaotiqian": "", +"ssfubiaotihou": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"hl-plays-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "
  • ", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, + +{"name": "🍉瓜皮TV", +"url": "https://guapitv.xyz", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#记录$/vodshow/21--------", +"houzhui": "---.html", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "module-page", +"jiequhou": "id=\"page", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "", +"fubiaotiqian": "module-item-note\">", +"fubiaotihou": "<", +"sousuohouzhui": "/vod/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "", +"ssjiequshuzuhou": "", +"sstupianqian": "", +"sstupianhou": "", +"sstupianqianzhui": "空", +"ssbiaotiqian": "", +"ssbiaotihou": "", +"sslianjieqian": "", +"sslianjiehou": "", +"ssljqianzhui": "", +"ssljhouzhui": "", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "data-dropdown-value=", +"线路名截取数组后": ">", +"线路名标题前": "\"", +"线路名标题后": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", + "bfjiequshuzuqian": "module-play-list-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "module-info-introduction-content\">", + "juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""}, + +{"name": "💍极品影视", + "url": "https://www.jpys.me", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/13--------#港剧$/vodshow/14--------#韩剧$/vodshow/16--------#美剧$/vodshow/15--------#综艺$/vodshow/4--------#动漫$/vodshow/3--------", + "houzhui": "---.html", +"qishiye": "1", +"shifouercijiequ": "1", + "jiequqian": "评分排序", + "jiequhou": "id=\"page", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "", +"fubiaotiqian": "module-item-douban\">", +"fubiaotihou": "<", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "", +"ssjiequshuzuhou": "", +"sstupianqian": "", +"sstupianhou": "", +"sstupianqianzhui": "空", +"ssbiaotiqian": "", +"ssbiaotihou": "", +"sslianjieqian": "", +"sslianjiehou": "", +"ssljqianzhui": "", +"ssljhouzhui": "", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "data-dropdown-value=", +"线路名截取数组后": ">", +"线路名标题前": "\"", +"线路名标题后": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", + "bfjiequshuzuqian": "module-play-list-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "module-info-introduction-content\">", + "juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""}, + +{"name": "💧蓝光影院", +"url": "https://www.lgyy.cc", +"tihuan": "cnzz.com", + "ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"User": "空", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#泰剧$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#惊悚片$/vodshow/20--------#犯罪片$/vodshow/21--------#悬疑片$/vodshow/23--------#动漫$/vodshow/5--------#综艺$/vodshow/3--------", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items module-poster-items-base \"", +"jiequhou": "id=\"page\"", +"jiequshuzuqian": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "空", +"线路名截取后": "空", +"线路名截取数组前": "data-dropdown-value=", +"线路名截取数组后": ">", +"线路名标题前": "\"", +"线路名标题后": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content module-play-list-", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + +{"name": "🔥骚火电影", +"url": "https://shdy3.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "影片推荐$/?#电影$/list/1-#电视剧$/list/2-#动漫$/list/4-#脱口秀$/list/28-#真人秀$/list/29-#选秀$/list/30-#美食$/list/31-#旅游$/list/32-#汽车$/list/33-#访谈$/list/34-#纪实$/list/35-#搞笑$/list/36-#其他综艺$/list/37-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
    ", +"jiequshuzuhou": "
    ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"sousuohouzhui": "/movie/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
    ", +"ssjiequshuzuhou": "
    ", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"play_link\">", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "

    ", +"zhuangtaihou": "导演", +"daoyanqian": "导演:", +"daoyanhou": "主演", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"p_txt show_part\">", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "🎬影视工厂", +"url": "https://www.ysgc.cc", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + +{"name": "💖爱看影视", +"url": "https://www.ikandy.fun", +"tihuan": "空", +"User": "空", +"shouye": "1", +"fenlei": "国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#海外剧$/vodshow/20--------#动 漫$/vodshow/4--------#综 艺$/vodshow/3--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", +"houzhui": "---/", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "
    ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"xlshifouercijiequ": "", +"xljiequqian": "", +"xljiequhou": "", +"xljiequshuzuqian": "

    ", +"xljiequshuzuhou": "/h3>", +"xlbiaotiqian": ">", +"xlbiaotihou": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\">", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "备注:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + +{ + "name": "🐢乌龟影院", + "url": "https://www.wuguiyy.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "name": "💎克拉TV", + "url": "https://www.kelatv.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/dianying/index-#电视剧$/dianshiju/index-#动漫$/dongman/index-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"layui-col-md2 layui-col-sm4 layui-col-xs6 item\"", + "jiequshuzuhou": "", + "tupianqian": "odata-original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"video-txt\"", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"layui-tab-item bt-playlist layui-show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "

    状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"bt-content\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "author": "20220612", + "name": "🍚大米星球", + "url": "https://dmys1.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/20--------#电视剧$/vodshow/21--------#动漫$/vodshow/22--------#综艺$/vodshow/23--------#Netflix(剧)$/vodshow/21---Netflix-----#国产剧$/vodshow/21-大陆-------#韩国剧$/vodshow/21-韩国-------#美国剧$/vodshow/21-美国-------#英国剧$/vodshow/21-英国-------#泰国剧$/vodshow/21-泰国-------#日本剧$/vodshow/21-日本-------#香港剧$/vodshow/21-香港-------#台湾剧$/vodshow/21-台湾-------#Netflix(片)$/vodshow/20---Netflix-----#仙侠片$/vodshow/20---仙侠-----#剧情片$/vodshow/20---剧情-----#科幻片$/vodshow/20---科幻-----#动作片$/vodshow/20---动作-----#喜剧片$/vodshow/20---喜剧-----#爱情片$/vodshow/20---爱情-----#冒险片$/vodshow/20---冒险-----#儿童片$/vodshow/20---儿童-----#歌舞片$/vodshow/20---歌舞-----#音乐片$/vodshow/20---音乐-----#奇幻片$/vodshow/20---奇幻-----#动画片$/vodshow/20---动画-----#恐怖片$/vodshow/20---恐怖-----#惊悚片$/vodshow/20---惊悚-----#战争片$/vodshow/20---战争-----#传记片$/vodshow/20---传记-----#纪录片$/vodshow/20---纪录-----#犯罪片$/vodshow/20---犯罪-----#悬疑片$/vodshow/20---悬疑-----#西部片$/vodshow/20---西部-----#灾难片$/vodshow/20---灾难-----#古装片$/vodshow/20---古装-----#武侠片$/vodshow/20---武侠-----#家庭片$/vodshow/20---家庭-----#短片$/vodshow/20---短片-----#运动片$/vodshow/20---运动-----#青春片$/vodshow/20---青春-----#同性片$/vodshow/20---同性-----#励志片$/vodshow/20---励志-----#历史片$/vodshow/20---历史-----", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "备注:", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "n-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + //"biaotihou": "\"", + "biaotihou": "23影视网", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + //新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) + "fubiaotiqian": "pack-prb\">", + "fubiaotihou": "", + + "zhuangtaiqian": "remarks\">", + "zhuangtaihou": "", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "name": "🌰豆角影视", + "url": "https://m.doujiaow1.com/", + "User": "空", + "shouye": "1", + "fenlei": "电影$/index.php?m=vod-list-id-1-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#泰剧$/index.php?m=vod-list-id-26-pg-#日剧$/index.php?m=vod-list-id-17-pg-#美剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#动漫剧集$/index.php?m=vod-list-id-37-pg-#动漫电影$/index.php?m=vod-list-id-35-pg-#综艺$/index.php?m=vod-list-id-3-pg-", + "houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"con\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + + "bfjiequshuzuqian": "class=\"ulNumList", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + + + +{"author": "张弘20220731", +"name":"🍙饭团影视", +"url":"http://www.fantuantva.com/", +"User":"User-Agent:Dart/2.14 (dart:io)","shouye":"1", +"fenlei":"电影$/t/dianying/page/#大陆剧$/t/lianxuju/page/#国产剧$/t/guochanju/page/#综艺$/t/zongyi/page/#动漫$/t/dongman/page/", +"houzhui":".html", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"show_play\">", +"jiequshuzuhou":"", +"tupianqian":"data-original=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/v/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"con_c2_list\">", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"class=\"tc_wz\">", +"zhuangtaihou":"

    ", +"daoyanqian":"导演:", +"daoyanhou":"

    ","zhuyanqian":"主演:", +"zhuyanhou":"

    ", +"juqingqian":"","juqinghou":"

    ", +"bfyshifouercijiequ":"0", +"bfyjiequqian":"空", +"bfyjiequhou":"空", +"bfyjiequshuzuqian":"", +"bfbiaotiqian":">", +"bfbiaotihou":"<", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""}, + +{ + "name": "🇨🇳红领巾源", + "url": "https://www.honglingjin.tv", + "User": "空", + "shouye": "1", + //"fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/4/#动漫$/list/3/", + "fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/3/#动漫$/list/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail1/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-cover", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "name": "🍓蓝莓影视", + "url": "https://lanmeiguojiang.com", + "User": "空", + "shouye": "1", + + //"fenlei": "电影$/ys/index.php/vod/type/id/20/page/#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#抖音电影$/vodshow/5--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/23--------", + "fenlei": "电影$/show/1--------#剧集$/show/2--------#综艺$/show/4--------#动漫$/show/3--------#4K剧集$/show/24--------#4K电影$/show/25--------#国产剧$/show/13--------#欧美剧$/show/14--------#港台剧$/show/15--------#日韩剧$/show/16--------#网剧$/show/20--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "fubiaotihou": "", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list-content", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"zhuangtaiqian": "class=\"module-info-item-content\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演", +"zhuyanhou": "class=\"slash\"", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "title=\"", +"bfbiaotihou": "\"", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, + +{"name": "❄️北川影视", +"url": "https://www.bcwzg.com", +"tihuan": "51.la", +"User": "Referer:https://j.bcyingshi.ink/", +"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", +"houzhui": "---/", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "class=\"loading\"", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "备注:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + +{"name": "📯UM影院", +"url": "https://www.umkan.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "authority$www.umkan.com", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", + "fenlei": "电影$/index.php/vod/show/id/1/page/#连续剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/#记录$/index.php/vod/show/id/29/page/", + "houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "module-items module-poster-items-base", +"jiequhou": "id=\"page", + "jiequshuzuqian": "", + "tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", + +"fubiaotiqian": "module-item-note\">", +"fubiaotihou": "", + +"jspic": "空", +"jsname": "空", +"jsid": "空", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", + "bfjiequshuzuqian": "module-play-list-content", + "bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "module-info-introduction-content\">", + "juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", +"bfqianzhui": "" +}, + +{"name": "🌍歪片星球", +"url": "https://waipian7.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电影$/show-dianying--------#电视剧$/show-juji--------#综艺$/show-zongyi--------#动漫$/show-dongman--------", +"houzhui": "---/", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "
    ", +"jiequhou": "
    ", +"jiequshuzuqian": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "", +"fubiaotiqian": "class=\"module-item-note\">", +"fubiaotihou": "
    ", +"sousuohouzhui": "/video/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "", +"ssjiequshuzuhou": "", +"sstupianqian": "", +"sstupianhou": "", +"sstupianqianzhui": "空", +"ssbiaotiqian": "", +"ssbiaotihou": "", +"sslianjieqian": "", +"sslianjiehou": "", +"ssljqianzhui": "", +"ssljhouzhui": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "
    ", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "
    ", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "
    ", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""}, +{"name": "👍NIKE影视", + "url": "https://www.ajeee.com", + "ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "电影$/show/Movie/page/#电视剧$/show/Tv/page/#综艺$/show/Variety/page/#动漫$/Cartoon/page/", + "houzhui": ".html", + "qishiye": "1", + "shifouercijiequ": "1", + "jiequqian": "module-poster-items-base", + "jiequhou": "
    ", + "jiequshuzuqian": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "", + "ljhouzhui": "", + "fubiaotiqian": "module-item-note\">", + "fubiaotihou": "
    ", + "sousuohouzhui": "/detail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "", + "ssjiequshuzuhou": "", + "sstupianqian": "", + "sstupianhou": "", + "sstupianqianzhui": "空", + "ssbiaotiqian": "", + "ssbiaotihou": "", + "sslianjieqian": "", + "sslianjiehou": "", + "ssljqianzhui": "", + "ssljhouzhui": "", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "module-play-list\">", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"", + "bfqianzhui": ""}, + +{"author": "20220711", +"name": "🐬斗鱼直播", +"url": "http://live.yj1211.work/api/live/getRecommendByPlatform", +"User": "空", +"直接播放": "1", +"横图显示": "1", +"fenlei": "王者荣耀$Area?platform=douyu&area=王者荣耀&page=#颜值$Area?platform=douyu&area=颜值&page=#音乐$Area?platform=douyu&area=音乐&page=#舞蹈$Area?platform=douyu&area=舞蹈&page=#户外$Area?platform=douyu&area=户外&page=#和平精英$Area?platform=douyu&area=和平精英&page=#LOL手游$Area?platform=douyu&area=LOL手游&page=#欢乐斗地主$Area?platform=douyu&area=欢乐斗地主&page=#热门手游$Area?platform=douyu&area=热门手游&page=", +"houzhui": "&size=20", +"shifouercijiequ": "1", +"jiequqian": "[", +"jiequhou": "]", +"jiequshuzuqian": "{", +"jiequshuzuhou": "}", +"tupianqian": "\"roomPic\":\"", +"tupianhou": "\"", +"biaotiqian": "\"roomName\":\"", +"biaotihou": "\"", +"lianjieqian": "\"roomId\":\"", +"lianjiehou": "\"", +"ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=douyu&roomId=", +"fubiaotiqian": "\"ownerName\":\"", +"fubiaotihou": "\"" +}, + + { + "name": "🏭厂长资源", + "url": "https://www.czspp.com", + "tihuan": "aliyundrive", + "ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", + "User": "空", + "嗅探词": "m3u8?#ixigua#.m3u8#mp4#.flv#.mp3#.m4a#s1.czspp.com", +"guolvdizhi": "player.css#51.la#cnzz.com#baidu.com", + "fenlei": "本月热门$/benyueremen/page/#高分影视$/gaofenyingshi/page/#豆瓣电影TOP250$/dbtop250/page/#最新电影$/zuixindianying/page/#电视剧$/dsj/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/#日剧$/movie_bt_series/rj/page/#海外剧$/movie_bt_series/hwj/page/#番剧$/fanju/page/#动漫$/dm/page/#韩国电影$/movie_bt_series/hanguodianying/page/#纪录片$/movie_bt/movie_bt_tags/jlpp/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "czspp.com", + "lianjiehou": "\"", + "sousuoqian": "/xssearch?q=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
  • ", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "czspp.com", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "paly_list_btn", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "
  • 导演:", + "daoyanhou": "
  • ", + "zhuyanqian": "
  • 主演:", + "zhuyanhou": "
  • ", + "juqingqian": "class=\"yp_context\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "czspp.com", + "bflianjiehou": "\""} +] +} \ No newline at end of file diff --git a/调试助手/nbiubiu.txt b/调试助手/nbiubiu.txt new file mode 100644 index 0000000..5d15fc8 --- /dev/null +++ b/调试助手/nbiubiu.txt @@ -0,0 +1,5035 @@ +{"Home": [ +{"key":"APP","title":"APP调试","pic":"http://cdn-ali-img-shstaticbz.shanhutech.cn/bizhi/staticwp/202112/84c6d69bc6e40b2c0b9270599c7b68bf--3444364193.jpg"}, +{"key":"网页","title":"网页调试","pic":"http://cdn-ali-img-staticbz.shanhutech.cn/bizhi/staticwp/201606/22cc5dc67e9892c571ec545924d05b82.jpg"}, +{"key":"采集","title":"采集调试","pic":"http://cdn-ali-img-shstaticbz.shanhutech.cn/bizhi/staticwp/202108/a189caeeae097f3e0691d5efe2615bf8--1006726213.jpg"}, +{"key":"直播","title":"直播调试","pic":"http://cdn-ali-img-shstaticbz.shanhutech.cn/bizhi/staticwp/202101/0e0de2e6ae3d3e8ea600f48db315669e--263726006.jpg"}, +{"key":"历史","title":"历史记录","pic":"http://cdn-ali-img-shstaticbz.shanhutech.cn/bizhi/staticwp/202108/8265a0f1e96a617dfcfaa305a392d24b--725685882.jpg"}, +{"key":"收藏","title":"我的收藏","pic":"http://cdn-ali-img-shstaticbz.shanhutech.cn/bizhi/staticwp/202011/d0dc24aceac170d5829d80ebd7ad9dd6--534474667.jpg"}, +{"key":"推送","title":"远程推送","pic":"http://cdn-ali-img-staticbz.shanhutech.cn/bizhi/staticwp/201611/7ee343d7da35f4886f988cf979544c7e.jpg"}, +{"key":"待添加","title":"待添加","pic":"http://cdn-ali-img-shstaticbz.shanhutech.cn/bizhi/staticwp/202109/33339828a43795069afd4de08ce7fc2a--542398261.jpg"} +], +"zhuyejiekou":[ +{"name":"🚀海玉影视","url":"https://tv2.hykjtv.cn/api.php/v1.vod"}, +{"name":"暖光影视","url":"https://app.bl210.com/api.php/v1.vod"}, +{"name":"🚀佳佳影视","url":"https://www.jiajia.pub/api.php/v1.vod"}, +{"name":"🚀群鑫影视","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"🚀可乐影视","url":"http://klyingshi.com/api.php/v1.vod"}, +{"name":"🚀麦穗影视","url":"http://b.maisui66.cn/api.php/v1.vod"}, +{"name":"🚀铭轩影视","url":"http://lz0716.com/api.php/v1.vod"}, +{"name":"🚀全球星","url":"http://www.mzok.cn/api.php/v1.vod"}, +{"name":"🚀氢视频","url":"http://www.h1080p.com/api.php/tv.vod"}, +{"name":"🚀万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"🚀小猫咪","url":"http://vod.xiaomaomi.cc/mogai_api.php/v1.vod"}, +{"name":"🚀小七影视","url":"https://www.xiaoqi0.cn/cuican_api.php/v1.vod"}, +{"name":"🚀鑫雨TV","url":"http://81.68.212.225/lvdou_api.php/v1.vod"}, +{"name":"🚀夕阳影视","url":"http://cms.seo-tv.work/mogai_api.php/v1.vod"}, +{"name":"🚀鑫总资源","url":"http://app.mmhkj.xyz/lvdou_api.php/v1.vod"}, +{"name":"🚀毅世纪影视","url":"http://www.ysjblog.top/api.php/v1.vod"}, +{"name":"🚀比邻影视","url":"http://0hzy.cn:9990/mogai_api.php/v1.vod"}, +{"name":"🚀豆芽视频","url":"http://bdintv.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀黄河影视","url": "http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"🚀影视大全1","url":"http://app.269w.com/api.php/v1.vod"}, +{"name":"🚀兔子窝","url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod"}, +{"name":"🚀爱电影","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"🚀艾特影视","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"🚀嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀4k狗影视","url":"http://4kdog.tk/api.php/app/"}, +{"name":"🚀影视大全2","url":"https://app.okmedcos.com/api.php/v1.vod"}, +{"name":"🚀月儿影视","url":"https://yue52.xyz/api.php/v1.vod"}, +{"name":"🚀OK影视","url":"http://123.ok00.xyz/api.php/v1.vod"}, +{"name":"🚀北川影视","url":"https://www.bcwzg.com/api.php/app/"}, +{"name":"🚀爱酷影视","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"🚀特狗影视","url":"https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"🚀天空影视","url":"https://tkys.tv/xgapp.php/v1/"}, +{"name":"🚀天空影视v2","url":"https://www.tkys.tv/xgapp.php/v2/"}, +{"name":"🚀QC影视","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"🚀段友影视","url":"http://js.66app.me/api.php/app/"}, +{"name":"🚀段友影视1","url":"https://shangjihuoke.com/api.php/tv.vod"}, +{"name":"🚀段友瑞丰","url":"http://121.204.249.135:4433/ruifenglb_api.php/v1.vod"}, +{"name":"🚀影库电影","url":"https://yingkudy.com/lvdou_api.php/v1.vod"}, +{"name":"🚀U5开尔","url":"https://appx.uy07.com/api.php/v1.vod"}, +{"name":"🚀913e影视","url":"http://www.913e.net/xgapp.php/v1/"}, +{"name":"🚀淘剧社","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"🚀钟特影视","url":"https://app.zteys.com/api.php/v1.vod"}, +{"name":"🚀粉象视界","url":"http://42.157.129.15:34444/lvdou_api.php/v1.vod"}, +{"name":"🚀迪迪影院","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"🚀九亿影视","url":"http://vod.9e03.com/lvdou_api.php/v1.vod"}, +{"name":"🚀沐阳影视","url": "http://zjr.jurentiaodeng.com/api.php/v1.vod"}, +{"name":"🚀三日影视","url":"https://www.3ri.net/api.php/v1.vod"}, +{"name":"🚀vip影院","url":"http://360yy.cn/api.php/app/"}, +{"name":"🚀独播社","url":"http://35ys.cc/api.php/v1.vod"}, +{"name":"🚀益达影院","url":"http://luobu.yss6080.com/mogai_api.php/v1.vod"}, +{"name":"🚀七彩影视","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"🚀玖卿乐播","url":"https://vod.nqcode.cn/api.php/v1.vod"}, +{"name":"🚀诺诺影视","url":"http://nnys.cuicanys.cn/lvdou_api.php/v1.vod"}], +"caijizhan":[ +{"name":"海外推荐","url":"https://demo.if101.tv/api.php"}, +{"name":"🍇七七采集","url":"http://api.kunyu77.com/api.php"}, +{"name":"🍇刚刚采集","url":"http://mov.fuqizhishi.com/api.php"}, +{"name":"🍇江北采集","url":"https://gfzycj.hnmj.vip/api.php"}, +{"name":"🍇诺讯采集","url":"http://caiji.nxflv.com/api.php"}, +{"name":"🍇VIP官采","url":"http://vip-01.uzr.me:2001/api.php"}, +{"name":"🍇天堂采集","url":"http://vipmv.cc/api.php"}, +{"name":"🍇小猫咪采集","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"🍇智妍采集","url":"http://www.zycaiji.net:7788/api.php"}, +{"name":"🍇毒蜥蜴采集","url":"https://www.duxiyi.com/api.php"}, +{"name":"🍇7788采集","url":"http://www.zycaiji.net:7788/api.php"}, +{"name":"🍇樱花采集","url":"https://yhzy.cc/api.php"}, +{"name":"🍇腾讯采集","url":"https://wabc.ml/mao/1.php"}, +{"name":"🍇爱奇艺采集","url":"https://wabc.ml/mao/2.php"}, +{"name":"🐢777电影采集","url":"https://www.77diany.com/api.php"}, +{"name":"🐢每天看看采集","url":"http://47.113.126.237:1234/api.php"}], + +"zhujiexi": [ +{"name":"主解析1","url":"http://110.42.2.115:880/analysis/json/?uid=2100&my=fgjnoqstLMRUZ03489&url="}, +{"name":"主解析2","url":"https://za.kuanjv.com/?url="}, +{"name":"主解析3","url":"http://124.222.68.182/jiexi/4kJX.php/?url="}, +{"name":"主解析4","url":"https://vip.byteamone.cn/api/?key=rpPXBo57OXwYBnirql&url="}, +{"name":"主解析5","url":"https://svip.rongxingvr.top/api/?key=bpWXKrAJUKm3puOCH4&url="}, +{"name":"主解析6","url":"http://qiqi.520say.cn/json/dd.php?url="} +], + +"beiyongjiexi": [ +{"name":"1","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"2","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"3","url":"https://jx.xmflv.com/?url="}, +{"name":"4","url":"https://m3u8.look4you.top/?url="} +], + +"dianshizhibo": "https://cdn.staticaly.com/gh/tvbw/mytv/main/tv88", + +"guolvdizhi": "player.css#url=#cnzz.com#51.la", + + +"zidingyi":[{"name": "乐猪影视", +"url": "http://www.lezhutv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vbox\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search-pg-1-wd-", +"sousuohou": ".html", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"vbox\"", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list_block show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ + "name": "黑狐影院(不支持搜索)", + "url": "http://heihu.tv", + "tihuan": "cnzz.com", + "shouye": "1", + "fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#伦理$/list/40_", + //"fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "", + "sousuohouzhui": "/gov-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "韩剧佬", //填网站名称 + "tihuan": "cnzz.com", +//------填网站链接 + "url": "http://www.hanjulao.com", + "shouye": "1", +//------网站列表的分类 + "fenlei": "电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------#动画片$/show/24--------#国产剧$/show/22--------#港台剧$/show/14--------#韩国剧$/show/13--------#日本剧$/show/15--------#欧美剧$/show/16--------#泰国剧$/show/20--------", +//------网站翻页链接的后缀 + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", +//------截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"myui-vodlist__box\"", +//------ //截取的列表数组的后关键词 + "jiequshuzuhou": "", +//------列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", +//------//列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", +//------搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", +//------搜索页影片跳转详情页的中间标识链接部分 + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", +//播放截取的列表数组的前关键词 + "bfjiequshuzuqian": "class=\"myui-content__list", +//播放截取的列表数组的后关键词 + "bfjiequshuzuhou": "", +//------下面的是详情内容可以不动 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", +//------下面的是播放链接关键词第一集 + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "厂长资源", +"url": "https://qianoo.cn", +"tihuan": "aliyundrive", +"User": "空", +"fenlei": "电视剧$/dsj/page/#电影$/zuixindianying/page/#番剧$/fanju/page/#动漫$/dm/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
  • ", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "qianoo.cn", +"lianjiehou": "\"", +"sousuoqian": "/xssearch?q=", +"sousuohou": "", +"sousuohouzhui": "/movie/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
  • ", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "qianoo.cn", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"paly_list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "
  • 导演:", +"daoyanhou": "
  • ", +"zhuyanqian": "
  • 主演:", +"zhuyanhou": "
  • ", +"juqingqian": "class=\"yp_context\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "qianoo.cn", +"bflianjiehou": "\""}, +{ + "name": "真不卡1(不支持搜索)", + "url": "http://www.cerrd.com", + "tihuan": "cnzz.com", + "shouye": "1", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "影视工厂", +"url": "http://www.ysgc.cc", +"User": "空", +"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#番剧$/vodshow/26--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#武侠片$/vodshow/1---武侠-----", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "口袋影院", +"url": "http://www.koudaitv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#美剧$/type/15-1--------", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vbox\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search-pg-1-wd-", +"sousuohou": ".html", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"vbox\"", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list_block show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:
    ", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + +{ + "name": "豆角网", + "url": "https://m.doujiaow1.com/", + "User": "空", + "shouye": "1", + "fenlei": "电影$/index.php?m=vod-list-id-1-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#日剧$/index.php?m=vod-list-id-17-pg-#美剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#综艺$/index.php?m=vod-list-id-30-pg-#动漫$/index.php?m=vod-list-id-4-pg-", + "houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"con\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"ulNumList clearfix list_1", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "秋千影视", + "url": "https://grqq.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodtype/1-#电视剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-#4K$/vodtype/44-#美女写真$/vodtype/37-#纪录片$/vodtype/4-#音乐MV$/vodtype/33-#影视短片$/vodtype/25-#热舞美女$/vodtype/32-#少儿$/vodtype/36-", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-8", + "jiequshuzuhou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{ + "name": "人人影视", + "url": "https://www.rr520.cc/", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/show/2--------#电影$/show/1--------#综艺$/show/3--------#动漫$/show/4--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuohouzhui": "/vod/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演: ", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "author": "20220606", + "name": "虚拟影院", + "url": "https://vxlan.top", + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + + "fenlei": "电影$/index.php/vod/type/id/1/page/#连续剧$/index.php/vod/type/id/2/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/type/id/4/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#国产动漫$/index.php/vod/show/area/国产/id/4/page/#日本动漫$/index.php/vod/show/area/日本/id/4/page/#欧美动漫$/index.php/vod/show/area/欧美/id/4/page/#其他动漫$/index.php/vod/show/area/其他/id/4/page/#动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "0", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "空", //不需要二次截取就填空 + "jiequhou": "空", //不需要二次截取就填空 + "jiequshuzuqian": "class=\"pic\"", //截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuhou": "
    ", //列表中资源的标题前关键词,截取的关键词有 " 的用 \ 进行转义 + "biaotihou": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "

    ", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "

    ", //主演后关键词 + "juqingqian": "简介:", //剧情前关键词 + "juqinghou": "", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": ">", //播放剧集标题前关键词 + "bfbiaotihou": "<", //状播放剧集标题后关键词 + "bflianjieqian": "href=\"", //播放剧集链接前关键词 + "bflianjiehou": "\"" +}, +{"name": "搜狗影院", +"url": "http://sogouyy.cn", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/s/dianying/page/#电视剧$/s/dianshiju/page/#综艺$/s/zongyi/page/#动漫$/s/dianying/page/#B站$/s/bilibili/page/", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "
    ", +"jiequshuzuhou": "
    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/d/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sort-item\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name":"小猫咪", +"url": "https://www.xmaomi.net", +"tihuan": "", +"User": "空", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动作片$/vodshow/101--------#喜剧片$/vodshow/102--------#爱情片$/vodshow/103--------#科幻片$/vodshow/104--------#剧情片$/vodshow/105--------#悬疑片$/vodshow/106--------#惊悚片$/vodshow/107--------#恐怖片$/vodshow/108--------#犯罪片$/vodshow/109--------#冒险片$/vodshow/111--------#奇幻片$/vodshow/112--------#战争片$/vodshow/114--------#动画片$/vodshow/115--------#国产剧$/vodshow/201--------#港台剧$/vodshow/202--------#日韩剧$/vodshow/203--------#欧美剧$/vodshow/204--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"hl-list-item hl", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vodplay/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": " id=\"hl-plays-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:
    ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{"name": "看看铺", +"url": "https://www.kankanpu.com/", +"fenlei": "电视剧$/vshow/2-----------/page/#电影$/vshow/1-----------/page/#综艺$/vshow/3-----------/page/#动漫$/vshow/4-----------/page/#国产剧$/vshow/15-----------/page/#港台剧$/vshow/16-----------/page/#日韩剧$/vshow/17-----------/page/#欧美剧$/vshow/18-----------/page/#动作片$/vshow/6-----------/page/#喜剧片$/vshow/7-----------/page/#爱情片$/vshow/8-----------/page/#科幻片$/vshow/9-----------/page/#恐怖片$/vshow/10-----------/page/#剧情片$/vshow/11-----------/page/#战争片$/vshow/12-----------/page/#动画片$/vshow/13-----------/page/#奇幻片$/vshow/14-----------/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"sort-item", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"module-item-caption\">", +"zhuangtaihou": "", +"daoyanqian": "target=\"_blank\">", +"daoyanhou": "", +"zhuyanqian": "class=\"module-item-style video-tag\">", +"zhuyanhou": "", +"juqingqian": " style=\"display: none;\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "六度TV", +"url": "http://6d.xuangz.cn", +"User": "空", +"fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#美国片$/whole/1_美国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧美剧$/whole/2__欧美剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?c=search&wd=", +"sousuohou": "&sort=addtime&order=desc&page=1", +"sousuohouzhui": "/v_show/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"v-thumb stui-vodlist", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-sketch\"\>", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\'", +"bflianjiehou": "\'"}, +{"name": "奇优影院", +"url": "http://1e6e.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search.php?searchword=", +"sousuohou": ";post;utf-8", +"sousuohouzhui": "/view/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ + "name": "干饭影视", + "url": "http://www.gfysys.com/", + "shouye": "1", + "fenlei": "电影$/vodtype/1-#剧集$/vodtype/2-#综艺$//vodtype/3-#动漫$/vodtype/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"video-info-item\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name":"片吧", +"url": "https://www.pianba.tv", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/class/2--------#电影$/class/1--------#综艺$/class/3--------#动漫$/class/4--------#动作片$/class/5--------#喜剧片$/class/6--------#爱情片$/class/7--------#科幻片$/class/8--------#恐怖片$/class/9--------#剧情片$/class/10--------#战争片$/class/11--------#国产剧$/class/13--------#港台剧$/class/14--------#日韩剧$/class/16--------#欧美剧$/class/15--------#海外剧$/class/17--------", +"houzhui": "---html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/html/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "艾菲影视", +"url": "https://www.ifimv.com/", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "国产剧$/vodshow/13--------#美剧$/vodshow/14--------#日韩剧$/vodshow/15--------#泰剧$/vodshow/16--------#动画片$/vodshow/23--------#恐怖片$/vodshow/24--------#历史片$/vodshow/25--------#战争片$/vodshow/26--------#记录片$/vodshow/29--------#悬疑片$/vodshow/12--------#灾难片$/vodshow/30--------#惊悚片$/vodshow/10--------#恐怖片$/vodshow/11--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data hidden-xs\">类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "浮起知识", +"url": "http://mov.fuqizhishi.com/", +"tihuan": "cnzz.com", +//"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vodlist_item num", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情介绍", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "皮皮泡影院", +"url": "http://www.pipipao.com", +"User": "空", +"fenlei": "国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#纪录片$/vodshow/id/jilupian/page/#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#动画片$/vodshow/id/donghua/page/#动漫$/type/dongman/page/#综艺$/type/zongyi/page/#", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": " class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "小熊影视2", +"url": "http://www.xxys520.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/vodshow/2--------#国产剧$/vodshow/13--------#日韩剧$/vodshow/15--------#美剧$/vodshow/16--------#电影$/vodshow/1--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------", +"houzhui": "---2022.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item\"", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "9亿国语", +"url": "http://www.9e03.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "热播剧集$/vodshow/zuijinrebodianshiju/page/#热播电影$/vodshow/zuijinrebodianying/page/#综艺$/vodshow/zongyi/page/#动漫$/vodshow/dongman/page/#国语配音电影$/vodshow/gypy/page/#国语配音剧集$/vodshow/guoyupeiyinhanju/page/#国语配音动漫$/vodshow/guoyupeiyindongman/page/#国产剧$/vodshow/lianxuju/area/中国大陆/page/#港剧$/vodshow/lianxuju/area/香港/page/#韩剧$/vodshow/lianxuju/area/韩国/page/#美剧$/vodshow/lianxuju/area/美国/page/#泰剧$/vodshow/lianxuju/area/泰国/page/#日剧$/vodshow/lianxuju/area/日本/page/#英剧$/vodshow/lianxuju/area/英国/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "电视盒子", +"url": "http://m1.tv9box.com/", +"User": "空", +"fenlei": "电视剧$/list-select-id-2-type--area--year--star--state--order-addtime-p-#电影$/list-select-id-1-type--area--year--star--state--order-addtime-p-#综艺$/list-select-id-4-type--area--year--star--state--order-addtime-p-#动漫$/list-select-id-3-type--area--year--star--state--order-addtime-p-#国产剧$/list-select-id-2-type--area-内地-year--star--state--order-addtime-p-#港剧$/list-select-id-2-type--area-香港-year--star--state--order-addtime-p-#韩剧$/list-select-id-2-type--area-韩国-year--star--state--order-addtime-p-#美剧$/list-select-id-2-type--area-美国-year--star--state--order-addtime-p-#日剧$/list-select-id-2-type--area-日本-year--star--state--order-addtime-p-#", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-xs-4", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/ajax-search.html?wd=", +"sousuohou": ".html", +"sousuohouzhui": "/vod-read-id-", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "", +"ssjiequhou": "", +"ssjiequshuzuqian": "class=\"media", +"ssjiequshuzuhou": "
    ", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list-unstyled row text-center ff-playurl-line ff-playurl", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": " class=\"tab-pane fade vod-nav-content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "龙腾影视", +"tihuan": "cnzz.com", +"url": "https://www.118232.com", +"fenlei": "电影$/vodtype/1/page/#电视剧$/vodtype/2/page/#综艺$/vodtype/3/page/#国产$/vodtype/13/page/#港台$/vodtype/14/page/#日韩$/vodtype/15/page/#欧美$/vodtype/16/page/#动漫$/vodtype/4/page/#动作$/vodtype/6/page/#喜剧$/vodtype/7/page/#爱情$/vodtype/8/page/#科幻$/vodtype/9/page/#恐怖$/vodtype/10/page/#剧情$/vodtype/11/page/#战争$/vodtype/12/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<","bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "在线之家", +"url": "https://www.zxzjtv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/list/1-#美剧$/list/2-#韩剧$/list/3-#日剧$/list/4-#泰剧$/list/5-#动漫$/list/6-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data \">类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "达达龟", +"url": "http://www.dadagui.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/vodsearch/-------------.html?wd=", +"sousuohou": "", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"thumb", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空","bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ + "name": "98播播网", + "url": "https://98bbw.com/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/whole/1/page/#电视剧$/whole/2/page/#国产剧$/whole/2/area/中国大陆/page/#港剧$/whole/2/area/中国香港/page/#韩剧$/whole/3/page/#日剧$/whole/5/page/#美剧$/whole/4/page/#综艺$/whole/22/page/#国产动漫$/whole/26/page/#日本动漫$/whole/25/page/#更新$/label/new", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/show/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{"name": "555电影", + "url": "https://www.555dy.fun", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/15--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "
    ", + "jiequshuzuqian": "", + "daoyanqian": "导演:", + "daoyanhou": "
    ", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "/div>", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{ + "author": "20220613", + "name": "555电影", + "url": "https://www.xawqxh.net", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + + "fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#Netflix(漫)$/vodshow/4---Netflix-----#福利库$/vodshow/124--------#热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧美剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#美食片$/vodshow/1---美食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{ + "author": "20220606", + "name": "瓜皮TV", + "url": "https://guapitv.xyz", + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + //"jiequhou": "
    ", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 + "zhuangtaihou": "
    ", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "introduction-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "
    ", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search/", +"sousuohou": "", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"video-txt\"", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"layui-tab-item bt-playlist layui-show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "

    状态:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"bt-content\">

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ + "name": "city电影", + "url": "https://www.citydy.com/", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/show/id-1/page/#电视剧$/show/id-2/page/#日剧$/show/id-2/area/日本/page/#泰剧$/show/id-2/area/泰国/page/#韩剧$/show/id-2/area/韩国/page/#美剧$/show/id-2/area/美国/page/#英剧$/show/id-2/area/英国/page/#综艺$/type/id-3-#动漫$/type/id-4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-sm-6 col-xs-3 hide-actor", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/id-", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"play-div-oa", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{ + "name": "爱看影视", + "url": "https://ikan6.vip/", + "shouye": "1", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#记录片$/vodshow/20--------#国创$/vodshow/21--------#动漫$/vodshow/4--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "周末电影", +"url": "https://www.zzzlike.vip", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/vodsearch/-------------.html?wd=", +"sousuohou": "", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"thumb", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "花猫TV", +"url": "http://www.huamaotv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian":"class=\"stui-vodlist__item", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data\"", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "尘落影院", +"url": "https://v.xuangz.cn/", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/whole/2/page/#电影$/whole/1/page/#综艺$/whole/4/page/#动漫$/vodtype/3/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"movie-item-in", +"jiequshuzuhou": "class=\"item-hover", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"row tv-js-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态", +"zhuangtaihou": "", +"daoyanqian": "导演", +"daoyanhou": "", +"zhuyanqian": "主演", +"zhuyanhou": "", +"juqingqian": "border-radius: 4px", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "class=\"tv-js-btn\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "影视之光", +"url": "http://vip.8kvod.com:888", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/t/1/page/#连续剧$/t/2/page/#综艺$/t/3/page/#动漫$/t/4/page/#动作片$/t/6/page/#喜剧片$/t/7/page/#爱情片$/t/8/page/#科幻片$/t/9/page/#恐怖片$/t/10/page/#剧情片$/t/11/page/#动画片$/t/29/page/", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/k/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "分类:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "思古影视", +"url": "https://www.siguyy.net", +"user":"空", +"fenlei": "电影$/show/m--------#电视剧$/show/tv--------#综艺$/show/va--------#动漫$/show/ct--------", +"houzhui": "---.htm", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情简介','", +"juqinghou": "','", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "双十电影", +"url": "https://www.1010dy.vip/", +"tihuan": "", +"User": "空", +"fenlei":"电影$/type/1-#电视剧$/type/2-#动漫$/type/3-#日韩剧$/type/4-#欧美剧$/type/5-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"stui-vodlist__box", +"ssjiequshuzuhou": "", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"btn btn-primary\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态: text-right", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"juqingqian": "简介", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name":"北川影视", +"url":"https://www.bcwzg.com", +"tihuan":"51.la", +"User":"Referer:https://j.bcyingshi.ink/", +"fenlei":"电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", +"houzhui":"---/", +"shifouercijiequ":"0", +"jiequqian":"空", +"jiequhou":"空", +"jiequshuzuqian":"class=\"module-item-pic\"", +"jiequshuzuhou":"class=\"loading\"", +"tupianqian":"data-src=\"", +"tupianhou":"\"", +"biaotiqian":"title=\"", +"biaotihou":"\"", +"lianjieqian":"href=\"", +"lianjiehou":"\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou":"&limit=500", +"sousuohouzhui":"/voddetail/", +"ssmoshi":"0", +"sousuoshifouercijiequ":"0", +"jspic":"pic", +"jsname":"name", +"jsid":"id", +"ssjiequqian":"空", +"ssjiequhou":"空", +"ssjiequshuzuqian":"空", +"ssjiequshuzuhou":"空", +"sstupianqian":"空", +"sstupianhou":"空", +"ssbiaotiqian":"空", +"ssbiaotihou":"空", +"sslianjieqian":"空", +"sslianjiehou":"空", +"bfshifouercijiequ":"0", +"bfjiequqian":"空", +"bfjiequhou":"空", +"bfjiequshuzuqian":"class=\"scroll-content\"", +"bfjiequshuzuhou":"", +"zhuangtaiqian":"备注:", +"zhuangtaihou":"", +"daoyanqian":"导演:", +"daoyanhou":"", +"zhuyanqian":"主演:", +"zhuyanhou":"", +"juqingqian":"class=\"video-info-itemvideo-info-contentvod_content\">", +"juqinghou":"", +"bfbiaotiqian":"", +"bfbiaotihou":"", +"bflianjieqian":"href=\"", +"bflianjiehou":"\""}, +{"name": "4kan电影网", + "url": "https://www.4kan.cc/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13-内地-------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#港台剧$/vodshow/13-香港-------#台剧$/vodshow/13-台湾-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=50", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "style=\"bottom:0;backgroud-color:white;border-radius:0 10px 0 10px;\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{"name": "Fun4k影视", +"url": "https://www.fun4k.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/vod/dianying--------#电视剧$/vod/lianxuju--------#综艺$/vod/zongyi--------#动漫$/vod/dongman-内地-------#Blibli番剧$/vod/fanju--------#Blibli国创$/vod/guochuang--------#Blibli电影$/vod/bilibilidy--------#Blibli剧集$/vod/bilibilijuji--------#国产剧$/vod/guochanju--------#港台剧$/vod/gangtaiju--------#日韩剧$/vod/rihanju--------#欧美剧$/vod/oumeiju--------#动作片$/vod/dongzuopian--------#喜剧片$/vod/xijupian--------#爱情片$/vod/aiqingpian--------#科幻片$/vod/kehuanpian--------#恐怖片$/vod/kongbupian--------#剧情片$/vod/juqingpian--------#战争片$/vod/zhanzhengpian--------#犯罪片$/vod/fanzui--------#惊悚片$/vod/jingsong--------#冒险片$/vod/maoxian--------#悬疑片$/vod/xuanyi--------", +"houzhui": "---/", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pack-ykpack", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"content_playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "演员:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "不开VIP", +"url": "https://bukaivip1.com/", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/index.php/vod/show/id/1/page/#连续剧$/index.php/vod/show/id/2/page/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/#纪录片$/index.php/vod/show/id/20/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/vod/search.html?wd=", +"sousuohou": "", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"thumb\"", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"col-pd\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "奇粹影院", +"url": "http://www.blssv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "热播电影$/index.php/vod/show/by/hits/id/1/page/#热播剧集$/index.php/vod/show/by/hits/id/2/page/#热播综艺$/index.php/vod/show/by/hits/id/3/page/#动漫$/index.php/vod/show/id/4/page/#海外专区$/index.php/vod/show/id/24/page/#4K专区$/index.php/vod/show/id/27/page/", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "module-page", +"jiequhou": "
    ", +"jiequshuzuqian": "", +"daoyanqian": "导演:", +"daoyanhou": "
    ", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "module-info-introduction-content\">", +"juqinghou": "

    ", +//播放列表数组 +"bfjiequshuzuqian": "class=\"module-list", +"bfjiequshuzuhou": "", +//播放集数截取 +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "强小迷影视", +"url": "http://xqmi.top/", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/show/id/4/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
  • ", +"jiequshuzuhou": "
  • ", +"tupianqian": "data-original=\"", +"tupianhou": "\">", +"biaotiqian": "title=\"", +"biaotihou":"\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "
      ", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian":"空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "创艺影视", +"url": "https://www.30dian.cn", +"tihuan": "vip.30dian.cn", +"User": "空", +"fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#纪录片$/vodshow/30--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"text-red\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "思乐影视", +"url": "https://www.4ltv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/show/1------#电影$/show/2------#综艺$/show/3------#动漫$/show/4------", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian":"class=\"module-item-pic", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"col-md-1", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sort-item", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "蓝光影视", +"url": "https://www.lgyy.cc/", +"tihuan": "cnzz.com", +"User": "空","fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#番剧$/vodshow/17--------#国创$/vodshow/18--------#综艺$/vodshow/3--------#纪录片$/vodshow/4--------","houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "module-page", +"jiequhou": "
    ","jiequshuzuqian": "", +"daoyanqian": "导演:", +"daoyanhou": "
    ", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "/div>", +"bfjiequshuzuqian": "class=\"module-list", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ + "name": "chok8电影", + "url": "https://www.chok8.com/", + "shouye": "1", + "fenlei": "电影$/vodtype/dianying-#电视剧$/vodtype/lianxuju-#国产剧$/vodtype/guochanju-#欧美剧$/vodtype/oumeiju-#科幻片$/vodtype/kehuanpian-#恐怖片$/vodtype/kongbupian-#剧情片$/vodtype/juqingpian-#战争片$/vodtype/zhanzhengpian-#动作片$/vodtype/dongzuopian-#喜剧片$vodtype/xijupian-#爱情片$/vodtype/xijupian-#犯罪片$/vodtype/fanzuipian-#港台剧$/vodtype/gangtaiju-#日韩剧$/vodtype/rihanju-#欧美剧$vodtype/16-#动画片$/vodtype/dongman-#综艺$/vodtype/zongyi-#记录片$/vodtype/jilupian-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box stui-vodlist__bg\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist column8 clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"score text-red\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "大象TV", + "url": "http://www.daxiangtv.net/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/vodshow/1--time------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#欧美剧$/vodshow/16--------#日韩剧$/vodshow/15--------#海外剧$/vodshow/82--------#海外剧$/vodshow/18--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=50", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"sketch content hide\"> ", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "手机看剧", + "url": "https://www.shoujikanju.com/", + "User": "空", + "shouye": "1", + "fenlei": "电影$/sort/1-#电视剧$/sort/2-#综艺$/sort/3-#动漫$/sort/4-#纪录片$/sort/5-", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "id=\"list\"", + "jiequhou": "", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"bd_title\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "", + "zhuangtaihou": "", + "daoyanqian": "class=\"text-muted\">导演:", + "daoyanhou": "", + "zhuyanqian": "class=\"text-muted\">主演:", + "zhuyanhou": "", + "juqingqian": "
    ", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "剧白白", +"url": "https://www.jubaibai.cc", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist sort-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data hidden-xs\">类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "LIBVIO影视", +"url": "https://www.libvio.com", +"tihuan": "dd520.cc", +"User": "空", +"fenlei": "电视剧$/show/2--------#电影$/show/1--------#综艺$/show/3--------#动漫$/show/4--------#动作片$/show/1---动作-----#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#科幻片$/show/1---科幻-----#奇幻片$/show/1---奇幻-----#恐怖片$/show/1---恐怖-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#冒险片$/show/1---冒险-----#国产剧$/show/2-中国大陆-------#台剧$/show/2-中国台湾-------#港剧$/show/2-中国香港-------#韩剧$/show/2-韩国-------#日剧$/show/2-日本-------#美剧$/show/2-美国-------#英剧$/show/2-英国-------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "data", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data\">总集数:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">类型:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ + "name": "蓝莓影视", + "url": "https://lanmeiguojiang.com/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/ys/index.php/vod/type/id/20/page/#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#抖音电影$/vodshow/5--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/23--------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/ys/index.php/vod/search/wd/", + "sousuohou": ".html", + "sousuohouzhui": "/ys/index.php/vod/detail/id/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"stui-vodlist__box", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "老茶馆", + "url": "https://lcgv.vip/", + "shouye": "1", + "fenlei": "电影$/vodshow/dy/page/#电视剧$/vodshow/ds/page/#国产剧$/vodshow/gcj/page/#台剧$/vodshow/tj/page/#港剧$/vodshow/xgj/page/#泰剧$/vodshow/taiju/page/#日剧$/vodshow/rj/page/#欧美剧$/vodshow/omj/page/#海剧$/vodshow/haiju/page/#综艺$/vodshow/zy/page/#动漫$/vodshow/dm/page/#专线美剧$/vodshow/zhuanxianmeiju/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/n/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "1080Kkk", + "url": "https://www.1080kkk.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/dy/1/page/#电视剧$/dy/2/page/#综艺$/dy/3/page/#动漫$/dy/4/page/#国产剧$/ys/13-----------/page/#韩剧$/ys/24-----------/page/#日剧$/ys/22-----------/page/#美剧$/ys/16-----------/page/#港剧$/ys/14-----------/page/#台剧$/ys/15-----------/page/#海外剧$/ys/23-----------/page/#动作片$/ys/6-----------/page/#喜剧片$/ys/7-----------/page/#爱情片$/ys/8-----------/page/#科幻片$/ys/9-----------/page/#恐怖片$/ys/10-----------/page/犯罪片$/ys/11-----------/page/#战争片$/ys/12-----------/page/#剧情片$/ys/21-----------/page/#记录片$/ys/29-----------/page/动画电影$/ys/20-----------/page/#国产动漫$/ys/25-----------/page/#日本动漫$/ys/26-----------/page/#欧美动漫$/ys/27-----------/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__item", + "jiequshuzuhou": "
  • ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/1080p/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "stui-content__desc col-pd clearfix\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "牛马TV", + "url": "http://www.niumatv.com/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/type/dianying-#电视剧$/type/dianshiju-#国产剧$/vodshow/area/中国大陆/id/dianshiju/page/#港剧$/vodshow/area/中国香港/id/dianshiju/page/#韩剧$/vodshow/area/韩国/id/dianshiju/page/#欧美剧$/vodshow/area/美国/id/dianshiju/page/#综艺$/type/zongyi-#动漫$/type/dongman-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + // /page/

    ' + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "COKEMV", +"url": "https://cokemv.me", +"tihuan": "cnzz.com", +"User": "空","fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#抖音电影$/vodshow/5--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#犯罪片$/vodshow/23--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "module-page", +"jiequhou": "
    ", +"jiequshuzuqian": "", +"daoyanqian": "导演:", +"daoyanhou": "
    ", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "/div>", +"bfjiequshuzuqian": "class=\"module-list", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "九州影视", +"url": "http://www.unss.net/", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/index.php/vod/show/id/2#电影$/index.php/vod/show/id/1#综艺$/index.php/vod/show/id/3#动漫$/index.php/vod/show/id/4", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian":"class=\"col-lg-8 col-md-6 col-sm-4 col-xs-3\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuohouzhui": "/index.php/vod/detail/id/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演: ", +"zhuyanhou": "

    ", +"juqingqian": "class=\"sketch content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "VIP1280", +"url": "http://www.vip1280.net", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/frim/index1/page/#电视剧$/frim/index2/page/#港台剧$/frim/index3/page/#动作片$/frim/index6/page/#爱情片$/frim/index7/page/#科幻片$/frim/index8/page/#恐怖片$/frim/index9/page/#战争片$/frim/index10/page/#喜剧片$/frim/index11/page/#记录片$/frim/index12/page/#剧情片$/frim/index20/page/#动画片$/frim/index21/page/#欧美剧$/frim/index4/page/#日韩剧$/frim/index5/page/#泰剧$/frim/index22/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/movie/index", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"detail-sketch\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "二三影院", +"url": "https://www.23wm.net", +"User": "空", +"fenlei": "电影$/vodshow/1--------1---/page/#剧集$/vodshow/2--------1---/page/#综艺$/vodshow/3--------1---/page/#动漫$/vodshow/4--------1---/page/#纪录片$/vodshow/20--------1---/page/#国产剧$/vodshow/13--------1---/page/#港台剧$/vodshow/14--------1---/page/#日韩剧$/vodshow/15--------1---/page/#欧美剧$/vodshow/16--------1---/page/#哔哩哔哩$/vodshow/39--------1---/page/#喜剧片$/vodshow/7--------1---/page/#爱情片$/vodshow/8--------1---/page/#科幻片$/vodshow/9--------1---/page/#恐怖片$/vodshow/10--------1---/page/#剧情片$/vodshow/11--------1---/page/#", +"houzhui": "html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pack-ykpack", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": ".&limit=500", +"sousuohouzhui": "/voddetail/vodsearch/.html/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"content_playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "演员:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "看一看影视", +"tihuan": "playerla.com", +"url": "https://www.kyikan.cc", +"fenlei": "连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧美剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", +"houzhui": "-order--by--class-0-year-0-letter--area--lang-.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"bz\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "      ", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\'", +"bflianjiehou": "\""}, +{"name": "O8TV", +"url": "https://www.o8tv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/vodtype/2-#电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#Netflix美剧$/label/netflix/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "山寨饭团", +"url": "https://www.fantuantva.com", +"tihuan": "cnzz.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "动作片$/t/dongzuopian-#喜剧片$/t/xijupian-#爱情片$/t/aiqingpian-#科幻片$/t/kehuanpian-#动作片$/t/kongbupian-#剧情片$/t/juqingpian-#战争片$/t/zhanzhengpian-#国产剧$/t/guochanju-#港台剧$/t/gangtaiju-#日韩剧$/t/rihanju-#欧美剧$/t/oumeiju-#其他剧$/t/qitaju-#综艺$/t/zongyi-#动漫$/t/dongman-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"show_play\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/p/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"con_c2_list\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "详情
    ", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "骚火电影", +"url": "https://shdy3.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "影片推荐$/?#电影$/list/1-#电视剧$/list/2-#动漫$/list/4-#脱口秀$/list/28-#真人秀$/list/29-#选秀$/list/30-#美食$/list/31-#旅游$/list/32-#汽车$/list/33-#访谈$/list/34-#纪实$/list/35-#搞笑$/list/36-#其他综艺$/list/37-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
    ", +"jiequshuzuhou": "
    ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"sousuohouzhui": "/movie/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
    ", +"ssjiequshuzuhou": "
    ", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"play_link\">", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "

    ", +"zhuangtaihou": "导演", +"daoyanqian": "导演:", +"daoyanhou": "主演", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"p_txt show_part\">", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ + "name": "七年影视", + "url": "https://www.lipinvip.com/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/vodshow/1--time------#国产剧$/vodshow/12--------#网剧$/vodshow/20--------#欧美剧$/vodshow/15--------#日韩剧$/vodshow/14--------#港台剧$/vodshow/13--------#海外剧$/vodshow/18--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "348电影网", + "url": "https://www.348z.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/id/1/page/#连续剧$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#动漫$/vodshow/id/4/page/#4K$/vodshow/id/37/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"pack-ykpack", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "
      ", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "详情:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "红领巾", + "url": "https://www.honglingjin.tv", + "User": "空", + "shouye": "1", + "fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/4/#动漫$/list/3/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "
    ", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-cover", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小熊影视", + "url": "http://www.xxys520.com/", + "User": "空", + "shouye": "1", + "fenlei": "最新电影$/vodshow/1-----------2022/page/#最新国产剧$/vodshow/2-----------2022/page/#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#泰国剧$/vodtype/29-#其他剧$/vodtype/27-#动漫$/vodtype/3-#综艺$/vodtype/4-#纪录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "视中心影院", + "url": "https://www.ksksi.com/", + "shouye": "1", + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/2-内地-------#港台剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/5--------#午夜$/vodshow/32--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "1", + "bfjiequqian": "class=\"module-heading\"", + "bfjiequhou": "type=\"text/javascript\"", + "bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, + {"name": "宝塔影院", +"url": "https://baotayy.com/", +"tihuan": "", +"User": "空", +"fenlei":"电影$/ta/dianying/#连续剧$/ta/lianxuju/#综艺$/ta/zongyi/#动漫$/ta/dongman/#资讯$/zixun/zixun/#犯罪片$/ta/fanzuipian/#动作片$/ta/dongzuopian/#喜剧片$/ta/xijupian/#爱情片$/ta/aiqingpian/#科幻片$/ta/kehuanpian/#恐怖片$/ta/kongbupian/#剧情片$/ta/juqingpian/#恐怖片$/ta/kongbupian/#战争片$/ta/zhanzhengpian/#台剧$/ta/taiju/#韩剧$/ta/hanju/#国产剧$/ta/guochanju/#伦理片$/ta/lunlipian/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/xx/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"myui-vodlist__thumb picture\"", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list scrollbar sort-list clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新\: ", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"sketch content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "蜂鸟", +"url": "https://wap.fnyy6.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/vshow/dy--------#电视剧$/vshow/tv--------#综艺$/vshow/zy--------#动漫$/vshow/dm--------#国产剧$/vshow/guochan--------#港台剧$/vshow/gangtai--------#日韩剧$/vodshow/rihan--------#欧美剧$/vshow/oumei--------#动作片$/vshow/dongzuo--------#喜剧片$/vshow/xiju--------#爱情片$/vshow/aiqing--------#科幻片$/vshow/kehuan--------#恐怖片$/vshow/kongbu--------#剧情片$/vshow/juqing--------#战争片$/vshow/xhanzheng--------", +"houzhui": "---/", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"fed-list-item", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "\" >", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "", +"ssjiequshuzuhou": "", +"sstupianqian": "", +"sstupianhou": "", +"ssbiaotiqian": "", +"ssbiaotihou": "", +"sslianjieqian": "", +"sslianjiehou": "", +"bfshifouercijiequ": "1", +"bfjiequqian": "class=\"fed-drop-head fed-padding fed-part-rows\"", +"bfjiequhou": "

    ", +"bfjiequshuzuqian": "class=\"fed-part-rows\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"fed-list-remarks fed-font-xii fed-text-white fed-text-center\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "真不卡2", + "url": "https://www.23vod.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vod-type-id-1-#连续剧$/vod-type-id-2-#综艺$/vod-type-id-3-#动漫$/vod-type-id-4-#动作片$/vod-type-id-5-#喜剧片$/vod-type-id-6-#爱情片$/vod-type-id-7-#科幻片$/vod-type-id-8-#恐怖片$/vod-type-id-9-#剧情片$/vod-type-id-10-#战争片$/vod-type-id-11-#国产剧$/vod-type-id-12-#香港剧$/vod-type-id-13-#台湾剧$/vod-type-id-14-#日本剧$/vod-type-id-15-#韩国剧$/vod-type-id-16-#欧美剧$/vod-type-id-17-#海外剧$/vod-type-id-18-", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"p1", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"videourl clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "介绍:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{"name": "真不卡3", + "url": "https://www.zbkyy.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vodtype/1-#连续剧$/vodtype/2-#综艺$/vodtype/3-#动漫$/vodtype/4-#动作片$/vodtype/5-#喜剧片$/vodtype/6-#爱情片$/vodtype/7-#科幻片$/vodtype/8-#恐怖片$/vodtype/9-#剧情片$/vodtype/10-#战争片$/vodtype/11-#纪录片$/vodtype/22-#国产剧$/vodtype/12-#香港剧$/vodtype/13-#台湾剧$/vodtype/14-#日本剧$/vodtype/15-#韩国剧$/vodtype/16-#欧美剧$/vodtype/17-#海外剧$/vodtype/18-", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__thumb", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{"name": "真不卡4", + "url": "https://www.sobods.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{ + "name": "真不卡5", + "url": "https://www.zhenbuka5.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=50", + "sousuohouzhui": "/vodplay/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch", //简介: + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220625", + "name": "米子影视", + "url": "https://www.mizi6.com", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + "fenlei": "电影$/vodshow/id/1/page/#电视剧$/vodshow/id/2/page/#综艺$/vodshow/id/4/page/#动漫$/vodshow/id/3/page/#记录片$/vodshow/id/5/page/#亲子动漫$/vodshow/class/亲子/id/3/page/#动画片$/vodshow/id/17/page/#国产剧$/vodshow/id/13/page/#日韩剧$/vodshow/id/15/page/#欧美剧$/vodshow/id/16/page/#港台剧$/vodshow/id/14/page/#海外剧$/vodshow/id/23/page/#国产动漫$/vodshow/area/中国大陆/id/3/page/#日本动漫$/vodshow/area/日本/id/3/page/#欧美动漫$/vodshow/area/欧美/id/3/page/#动作片$/vodshow/id/6/page/#喜剧片$/vodshow/id/7/page/#爱情片$/vodshow/id/8/page/#科幻片$/vodshow/id/9/page/#恐怖片$/vodshow/id/10/page/#剧情片$/vodshow/id/11/page/#战争片$/vodshow/id/12/page/", //网站列表的分类 + "houzhui": ".html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + "jiequhou": "class=\"fixedGroup", //不需要二次截取就填空 + "jiequshuzuqian": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "更新:", //状态前关键词 (全部) + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "
    ", + "tupianqian": "lay-src=\"", + "tupianhou": "\"", + "biaotiqian": "titel=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"ji-box", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{"name": "酷云影院", + "url": "http://kuyun123.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "动作片$/type/-5-#喜剧片$/type/-6-#爱情片$/type/-7-#科幻片$/type/-8-#恐怖片$/type/-9-#剧情片$/type/-10-#战争片$/type/-11-#纪录片$/type/-22-#悬疑片$/type/-34-#犯罪片$/type/-35-#奇幻片$/type/-36-#邵氏经典$/type/-37-#国产剧$/type/-12-#香港剧$/type/-13-#台湾剧$/type/-14-#日本剧$/type/-15-#韩国剧$/type/-16-#欧美剧$/type/-17-#海外剧$/type/-18-#港台综艺$/type/-24-#日韩综艺$/type/-25-#欧美综艺$/type/-26-#国产动漫$/type/-28-#港台动漫$/type/-29-#日韩动漫$/type/-30-#欧美动漫$/type/-31-#海外动漫$/type/-32-#动漫电影$/type/-33-", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"media-wrapper", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "年代:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{"name": "酷云影院2", + "url": "https://www.kuyun5.com/", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "动作片$/vod-show-5--------#喜剧片$/vod-show-6--------#爱情片$/vod-show-7--------#科幻片$/vod-show-8--------#恐怖片$/vod-show-9--------#剧情片$/vod-show-10--------#战争片$/vod-show-11--------#纪录片$/vod-show-23--------#国产剧$/vod-show-12--------#香港剧$/vod-show-13--------#台湾剧$/vod-show-14--------#日本剧$/vod-show-15--------#韩国剧$/vod-show-16--------#欧美剧$/vod-show-17--------#海外剧$/vod-show-18--------#综艺$/vod-show-3--------#动漫$/vod-show-4--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vodlist_item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlistbox", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"content_desc context clearfix", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{ + "name": "韩剧在线", //填网站名称 + "tihuan": "cnzz.com", +//------填网站链接 + "url": "https://www.52kpop1.com", + "shouye": "4", +//------网站列表的分类 + "fenlei": "电影$/vodshow/1--------#韩剧$/vodshow/2--------#韩综$/vodshow/3--------#最新推荐$/vodshow/4--------#Running Man$/vodshow/20--------", +//------网站翻页链接的后缀 + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", +//------截取的列表数组的前关键词,截取的关键词有 " 的用 \ 进行转义 + "jiequshuzuqian": "class=\"stui-vodlist__box\"", +//------ //截取的列表数组的后关键词 + "jiequshuzuhou": "", +//------列表中资源的图片前关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianqian": "data-original=\"", +//------//列表中资源的图片后关键词,截取的关键词有 " 的用 \ 进行转义 + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", +//------搜索部分基本不用动,现在网站基本都是苹果CMS,所有搜索是固定的。 + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", +//------搜索页影片跳转详情页的中间标识链接部分 + "sousuohouzhui": "/kan/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", +//播放截取的列表数组的前关键词 + "bfjiequshuzuqian": "class=\"stui-content__playlist", +//播放截取的列表数组的后关键词 + "bfjiequshuzuhou": "", +//------下面的是详情内容可以不动 + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", +//------下面的是播放链接关键词第一集 + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{"name": "动物世界演唱会", +"url": "https://api.bilibili.com", +"User": "空", +"直接播放": "0", +"横图显示": "1", +"fenlei": "动物世界$/x/web-interface/search/type?search_type=video&keyword=%E5%8A%A8%E7%89%A9%E4%B8%96%E7%95%8C&duration=3&page=#mv$/x/web-interface/search/type?search_type=video&keyword=mv&duration=3&page=#戏曲$/x/web-interface/search/type?search_type=video&keyword=戏曲&duration=3&page=#演唱会$/x/web-interface/search/type?search_type=video&keyword=演唱会&duration=4&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type", +"jiequshuzuhou": "corner", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"biaotiqian": "author\":\"", +"biaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"fubiaotiqian": "title\":\"", +"fubiaotihou": "\"", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "tname\":\"", +"zhuangtaihou": "\"", +"daoyanqian": "空空", +"daoyanhou": "空空", +"zhuyanqian": "空空", +"zhuyanhou": "空空", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="} +] +} \ No newline at end of file diff --git a/调试助手/ty.txt b/调试助手/ty.txt new file mode 100644 index 0000000..50d1e95 --- /dev/null +++ b/调试助手/ty.txt @@ -0,0 +1,47 @@ +{"Home": [{"key": "自选网页", + +"title": "jrs", + +"pic": "https://i.niupic.com/images/2022/10/04/a653.jpg", + +"custom": "eyJuYW1lIjogIuS9k+iCsi1qcnMiLAoidXJsIjogImh0dHA6Ly93d3cuanJza2FuLmNvbSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJqaWVxdXFpYW4iOiAi56m6IiwKImppZXF1aG91IjogIuepuiIsCiJqaWVxdXNodXp1cWlhbiI6ICI8dWwgY2xhc3M9XCJpdGVtIHBsYXkiLAoiamllcXVzaHV6dWhvdSI6ICI8L3VsPiIsCiJ0dXBpYW5xaWFuIjogInNyYz1cIiIsCiJ0dXBpYW5ob3UiOiAiXCIiLAoiYmlhb3RpcWlhbiI6ICJjbGFzcz1cImxhYl90ZWFtX2hvbWVcIj4iLAoiYmlhb3RpaG91IjogIjxsaSBjbGFzcz1cImxhYl9iY1wiIiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSIsCiJsaWFuamllaG91IjogIlwiIiwKImxqcWlhbnpodWkiOiAiaHR0cDovL3BsYXkuc3BvcnRzdGVhbTMzMy5jb20iLAoiZnViaWFvdGlxaWFuIjogImNsYXNzPVwibGFiX3RpbWVcIj4iLAoiZnViaWFvdGlob3UiOiAiPC9saT4iLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJjbGFzcz1cInN1Yl9wbGF5bGlzdFwiIiwKImJmamllcXVzaHV6dWhvdSI6ICJ8IiwKInpodWFuZ3RhaXFpYW4iOiAiY2xhc3M9XCJvdGhlcmJveFwiPiIsCiJ6aHVhbmd0YWlob3UiOiAiPC9wPiIsCiJkYW95YW5xaWFuIjogIuWvvOa8lO+8mjwvc3Bhbj4iLAoiZGFveWFuaG91IjogIjwvcD4iLAoiemh1eWFucWlhbiI6ICLkuLvmvJTvvJo8L3NwYW4+IiwKInpodXlhbmhvdSI6ICI8L3A+IiwKImp1cWluZ3FpYW4iOiAiPHNwYW4gY2xhc3M9XCJkYXRhXCIiLAoianVxaW5naG91IjogIjwvc3Bhbj4iLAoiYmZ5c2hpZm91ZXJjaWppZXF1IjogIjAiLAoiYmZ5amllcXVxaWFuIjogIuepuiIsCiJiZnlqaWVxdWhvdSI6ICLnqboiLAoiYmZ5amllcXVzaHV6dXFpYW4iOiAiPGEiLAoiYmZ5amllcXVzaHV6dWhvdSI6ICIvYT4iLAoiYmZiaWFvdGlxaWFuIjogIjxzdHJvbmc+IiwKImJmYmlhb3RpaG91IjogIjwvc3Ryb25nPiIsCiJiZmxpYW5qaWVxaWFuIjogImRhdGEtcGxheT1cIiIsCiJiZmxpYW5qaWVob3UiOiAiXCIiLAoiYmZxaWFuemh1aSI6ICJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSJ9"}, + +{"key": "自选网页", + +"title": "直播吧", + +"pic": "https://i.niupic.com/images/2022/10/04/a654.jpg", + +"custom": "CnsibmFtZSI6ICLkvZPogrItemI4IiwKInVybCI6ICJodHRwczovL3d3dy56aGlibzgubmV0IiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuebtOaOpeaSreaUviI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImNsYXNzPVwibWF0Y2gtaXRlbVwiIiwKImppZXF1c2h1enVob3UiOiAiPC9hPiIsCiJ0dXBpYW5xaWFuIjogImh0dHBzOi8vaW1nMC5iYWlkdS5jb20vaXQvdT05NTk2MDcwNDMsMTA1NDIzNzUyMCZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz00MTcmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtaG9tZSBmbGV4XCI+IiwKImJpYW90aWhvdSI6ICI8L2Rpdj4iLAoidHVwaWFucWlhbnpodWkiOiAi56m6IiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogIuepuiIsCiJmdWJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtdGltZVwiPiIsCiJmdWJpYW90aWhvdSI6ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+In0="}, + +{"key": "自选网页", + +"title": "抓饭直播", + +"pic": "https://i.niupic.com/images/2022/10/04/a655.jpg", + +"custom": "CnsibmFtZSI6ICLmipPppa3nm7Tmkq0iLAoidXJsIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2giLAoidWEiOiAiTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18yXzMgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzEzLjAuMyBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLnm7TmjqXmkq3mlL4iOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMSIsCiJqaWVxdXFpYW4iOiAiXCJjaGFubmVsc1wiIiwKImppZXF1aG91IjogIl0iLAoiamllcXVzaHV6dXFpYW4iOiAieyIsCiJqaWVxdXNodXp1aG91IjogIn0iLAoidHVwaWFucWlhbiI6ICJcImltYWdlVXJsXCI6XCIiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiXCJjbmFtZVwiOlwiIiwKImJpYW90aWhvdSI6ICJcIiIsCiJsaWFuamllcWlhbiI6ICJcImlkXCI6XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2gvIiwKImZ1Ymlhb3RpcWlhbiI6ICJcImNhdGVnb3J5TmFtZVwiOlwiIiwKImZ1Ymlhb3RpaG91IjogIlwiIn0="}, + +{"key": "自选网页", + +"title": "88看球", + +"pic": "https://i.niupic.com/images/2022/10/04/a656.jpg", + +"custom": "CnsibmFtZSI6ICLkvZPogrItODjnnIvnkIMiLAoidXJsIjogImh0dHA6Ly93d3cuODhrYW5xaXUuY29tIiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImdyb3VwLWdhbWUtaXRlbSIsCiJqaWVxdXNodXp1aG91IjogIjwvbGk+IiwKInR1cGlhbnFpYW4iOiAiaHR0cHM6Ly9pbWcwLmJhaWR1LmNvbS9pdC91PTE4NDU5NzgxLDcyNjI4OTM2MiZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz04MDAmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAidGV4dC1yaWdodFwiPiIsCiJiaWFvdGlob3UiOiAiPGRpdiBkYXRhLWlkIiwKInR1cGlhbnFpYW56aHVpIjogIuepuiIsCiJsaWFuamllcWlhbiI6ICJocmVmPSciLAoibGlhbmppZWhvdSI6ICInIiwKImxqcWlhbnpodWkiOiAi56m6IiwKImZ1Ymlhb3RpcWlhbiI6ICJyb2xlPVwiYnV0dG9uXCI+IiwKImZ1Ymlhb3RpaG91IjogIjwiLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJcImdhbWUtdmlkZW9zLWJ0bi1jb250YWluZXJcIiIsCiJiZmppZXF1c2h1enVob3UiOiAiPC9kaXY+IiwKImJmeXNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImJmeWppZXF1cWlhbiI6ICLnqboiLAoiYmZ5amllcXVob3UiOiAi56m6IiwKImJmeWppZXF1c2h1enVxaWFuIjogIjxhIiwKImJmeWppZXF1c2h1enVob3UiOiAiL2E+IiwKImJmYmlhb3RpcWlhbiI6ICI+IiwKImJmYmlhb3RpaG91IjogIjwiLAoiYmZsaWFuamllcWlhbiI6ICJocmVmPSciLAoiYmZsaWFuamllaG91IjogIicifQ=="}], + +"zhuyejiekou": [{"name":"","url":""}], + +"caijizhan": [{"name":"","url":""}], + +"zhujiexi":[{"name":"","url":""}], + +"beiyongjiexi": [{"name":"","url":""}], + +"dianshizhibo": "", + +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#.mp4#.flv#.mp3#.m4a", + +"guolvdizhi": ".html#51.la#cnzz.com#baidu.com#tootw.com#auete.com#bilibili.com#?url=", + +"zidingyi": [{}]} \ No newline at end of file diff --git a/调试助手/wds.ecsxs.com_230381.txt b/调试助手/wds.ecsxs.com_230381.txt new file mode 100644 index 0000000..b41c713 --- /dev/null +++ b/调试助手/wds.ecsxs.com_230381.txt @@ -0,0 +1,4426 @@ +{"Home": [ +{"key":"APP","title":"主页","pic":"http://img.netbian.com/file/2022/0908/2337436X4uU.jpg"}, +{"key":"网页","title":"网页","pic":"http://img.netbian.com/file/2017/0509/10d657441bf67a8b4933eab7761f3024.jpg"}, +{"key":"采集","title":"采集","pic":"http://img.netbian.com/file/2022/0707/094041IfPuI.jpg"}, +{"key":"直播","title":"电视","pic":"http://img.netbian.com/file/2022/0131/011918dnDVU.jpg"}, +{"key":"历史","title":"历史","pic":"http://img.netbian.com/file/2021/1212/232908d1Krv.jpg"}, +{"key":"收藏","title":"收藏","pic":"http://img.netbian.com/file/2022/0224/001838ijv8X.jpg"}, +{"key":"推送","title":"推送","pic":"http://img.netbian.com/file/2018/0910/bdf0c86176fb6e1732657b8076e380c8.jpg"}, +{"key": "自选网页","title": "jrs","pic": "http://img.netbian.com/file/2022/0822/235240EMiBB.jpg","custom": "eyJuYW1lIjogIuS9k+iCsi1qcnMiLAoidXJsIjogImh0dHA6Ly93d3cuanJza2FuLmNvbSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJqaWVxdXFpYW4iOiAi56m6IiwKImppZXF1aG91IjogIuepuiIsCiJqaWVxdXNodXp1cWlhbiI6ICI8dWwgY2xhc3M9XCJpdGVtIHBsYXkiLAoiamllcXVzaHV6dWhvdSI6ICI8L3VsPiIsCiJ0dXBpYW5xaWFuIjogInNyYz1cIiIsCiJ0dXBpYW5ob3UiOiAiXCIiLAoiYmlhb3RpcWlhbiI6ICJjbGFzcz1cImxhYl90ZWFtX2hvbWVcIj4iLAoiYmlhb3RpaG91IjogIjxsaSBjbGFzcz1cImxhYl9iY1wiIiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSIsCiJsaWFuamllaG91IjogIlwiIiwKImxqcWlhbnpodWkiOiAiaHR0cDovL3BsYXkuc3BvcnRzdGVhbTMzMy5jb20iLAoiZnViaWFvdGlxaWFuIjogImNsYXNzPVwibGFiX3RpbWVcIj4iLAoiZnViaWFvdGlob3UiOiAiPC9saT4iLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJjbGFzcz1cInN1Yl9wbGF5bGlzdFwiIiwKImJmamllcXVzaHV6dWhvdSI6ICJ8IiwKInpodWFuZ3RhaXFpYW4iOiAiY2xhc3M9XCJvdGhlcmJveFwiPiIsCiJ6aHVhbmd0YWlob3UiOiAiPC9wPiIsCiJkYW95YW5xaWFuIjogIuWvvOa8lO+8mjwvc3Bhbj4iLAoiZGFveWFuaG91IjogIjwvcD4iLAoiemh1eWFucWlhbiI6ICLkuLvmvJTvvJo8L3NwYW4+IiwKInpodXlhbmhvdSI6ICI8L3A+IiwKImp1cWluZ3FpYW4iOiAiPHNwYW4gY2xhc3M9XCJkYXRhXCIiLAoianVxaW5naG91IjogIjwvc3Bhbj4iLAoiYmZ5c2hpZm91ZXJjaWppZXF1IjogIjAiLAoiYmZ5amllcXVxaWFuIjogIuepuiIsCiJiZnlqaWVxdWhvdSI6ICLnqboiLAoiYmZ5amllcXVzaHV6dXFpYW4iOiAiPGEiLAoiYmZ5amllcXVzaHV6dWhvdSI6ICIvYT4iLAoiYmZiaWFvdGlxaWFuIjogIjxzdHJvbmc+IiwKImJmYmlhb3RpaG91IjogIjwvc3Ryb25nPiIsCiJiZmxpYW5qaWVxaWFuIjogImRhdGEtcGxheT1cIiIsCiJiZmxpYW5qaWVob3UiOiAiXCIiLAoiYmZxaWFuemh1aSI6ICJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSJ9"}, +{"key": "自选网页","title": "直播","pic": "http://img.netbian.com/file/2022/0731/001641R2MuS.jpg","custom": "CnsibmFtZSI6ICLkvZPogrItemI4IiwKInVybCI6ICJodHRwczovL3d3dy56aGlibzgubmV0IiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuebtOaOpeaSreaUviI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImNsYXNzPVwibWF0Y2gtaXRlbVwiIiwKImppZXF1c2h1enVob3UiOiAiPC9hPiIsCiJ0dXBpYW5xaWFuIjogImh0dHBzOi8vaW1nMC5iYWlkdS5jb20vaXQvdT05NTk2MDcwNDMsMTA1NDIzNzUyMCZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz00MTcmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtaG9tZSBmbGV4XCI+IiwKImJpYW90aWhvdSI6ICI8L2Rpdj4iLAoidHVwaWFucWlhbnpodWkiOiAi56m6IiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogIuepuiIsCiJmdWJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtdGltZVwiPiIsCiJmdWJpYW90aWhvdSI6ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+In0="},{"key": "自选网页","title": "抓饭直播","pic": "http://img.netbian.com/file/2022/0616/001709icMIV.jpg","custom": "CnsibmFtZSI6ICLmipPppa3nm7Tmkq0iLAoidXJsIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2giLAoidWEiOiAiTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18yXzMgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzEzLjAuMyBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLnm7TmjqXmkq3mlL4iOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMSIsCiJqaWVxdXFpYW4iOiAiXCJjaGFubmVsc1wiIiwKImppZXF1aG91IjogIl0iLAoiamllcXVzaHV6dXFpYW4iOiAieyIsCiJqaWVxdXNodXp1aG91IjogIn0iLAoidHVwaWFucWlhbiI6ICJcImltYWdlVXJsXCI6XCIiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiXCJjbmFtZVwiOlwiIiwKImJpYW90aWhvdSI6ICJcIiIsCiJsaWFuamllcWlhbiI6ICJcImlkXCI6XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2gvIiwKImZ1Ymlhb3RpcWlhbiI6ICJcImNhdGVnb3J5TmFtZVwiOlwiIiwKImZ1Ymlhb3RpaG91IjogIlwiIn0="}, +{"key": "自选网页","title": "体育","pic": "http://img.netbian.com/file/2022/0509/224444q30QJ.jpg","custom": "CnsibmFtZSI6ICLkvZPogrItODjnnIvnkIMiLAoidXJsIjogImh0dHA6Ly93d3cuODhrYW5xaXUuY29tIiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImdyb3VwLWdhbWUtaXRlbSIsCiJqaWVxdXNodXp1aG91IjogIjwvbGk+IiwKInR1cGlhbnFpYW4iOiAiaHR0cHM6Ly9pbWcwLmJhaWR1LmNvbS9pdC91PTE4NDU5NzgxLDcyNjI4OTM2MiZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz04MDAmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAidGV4dC1yaWdodFwiPiIsCiJiaWFvdGlob3UiOiAiPGRpdiBkYXRhLWlkIiwKInR1cGlhbnFpYW56aHVpIjogIuepuiIsCiJsaWFuamllcWlhbiI6ICJocmVmPSciLAoibGlhbmppZWhvdSI6ICInIiwKImxqcWlhbnpodWkiOiAi56m6IiwKImZ1Ymlhb3RpcWlhbiI6ICJyb2xlPVwiYnV0dG9uXCI+IiwKImZ1Ymlhb3RpaG91IjogIjwiLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJcImdhbWUtdmlkZW9zLWJ0bi1jb250YWluZXJcIiIsCiJiZmppZXF1c2h1enVob3UiOiAiPC9kaXY+IiwKImJmeXNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImJmeWppZXF1cWlhbiI6ICLnqboiLAoiYmZ5amllcXVob3UiOiAi56m6IiwKImJmeWppZXF1c2h1enVxaWFuIjogIjxhIiwKImJmeWppZXF1c2h1enVob3UiOiAiL2E+IiwKImJmYmlhb3RpcWlhbiI6ICI+IiwKImJmYmlhb3RpaG91IjogIjwiLAoiYmZsaWFuamllcWlhbiI6ICJocmVmPSciLAoiYmZsaWFuamllaG91IjogIicifQ=="}, +{"key":"待添加","title":"待添加","pic":"http://img.netbian.com/file/2022/0511/235313ld7gS.jpg"} +], +"zhuyejiekou": [ +{"name":"爱电","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"天空影院(部分官方资源)","url":"https://tkys.tv/xgapp.php/v1/"}, +{"name":"天空影院2(部分官方资源)","url":"https://www.tkys.tv/xgapp.php/v2/"}, +{"name":"Hi影院(部分官方资源)","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"QC影院(跑马灯切片秒播)","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"七彩影院(跑马灯切片自测)","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"万能影院(跑马灯切片自测)","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"影库(萝卜)","url":"https://yingkudy.com/lvdou_api.php/v1.vod"}, +{"name":"小鸟动漫(萝卜)","url":"http://xydm.baicai.buzz/mogai_api.php/v1.vod"}, +{"name":"万能影院(萝卜)","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"蜗牛动漫(萝卜)","url":"http://woniudm.woniu.cyou:20000/mogai_api.php/v1.vod"}, +{"name":"我爱跟剧(萝卜)","url":"https://www.genmov.com/mogai_api.php/v1.vod"}, +{"name":"天天视频(萝卜)","url":"http://app.qianju.cc/api.php/v1.vod"}, +{"name":"淘剧社(萝卜)","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"沭阳影院(萝卜)","url":"http://zjr.jurentiaodeng.com/api.php/v1.vod"}, +{"name":"群鑫影院(萝卜)","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"冷视TV(萝卜)","url":"https://len.tv/api.php/v1.vod"}, +{"name":"黄河影院(萝卜)","url":"http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"爱电影(萝卜)","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"OK影院(萝卜)","url":"http://123.ok00.xyz/api.php/v1.vod"}, +{"name":"特狗影院","url":"https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"暖光影院","url":"https://app.bl210.com/api.php/v1.vod"}, +{"name":"嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"迪迪影院","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"快云影音","url":"https://www.kuaiyunyy.com/api.php/app/"}, +{"name":"麻瓜视频","url":"http://aliyun.k8aa.com/mogai_api.php/v1.vod"}, +{"name": "优众影院","url": "http://121.205.88.194:7878/xgtv.php/v1/"}, +{"name": "爱酷影院","url": "https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"ok--影院","url":"http://123.ok00.xyz/api.php/v1.vod"}, +{"name":"美剧影院","url":"http://ttzmz.net/api.php/v1.vod"}, +{"name":"益-达影院","url":"http://luobu.yss6080.com/mogai_api.php/v1.vod"}, +{"name":"渔-渔影院","url":"http://luobo.yugenye.site/api.php/v1.vod"}, +{"name":"迪-迪影院-","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name": "爱的影院","url": "https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"爱酷影院","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"苍-蓝影院","url":"https://vip.ruifenglb.com:4433/api.php/app/"}, +{"name":"七彩影院","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"创意影院","url":"https://www.30dian.cn/api.php/v1.vod"}, +{"name":"爱酷影院","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"淘-剧影院","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"创-意影院","url":"https://www.30dian.cn/api.php/v1.vod"}, +{"name":"段-友影院","url":"http://js.66app.me/api.php/app/"}, +{"name": "特狗影院","url": "https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"🚀海玉影院","url":"https://tv2.hykjtv.cn/api.php/v1.vod"}, +{"name":"🚀佳佳影院","url":"https://www.jiajia.pub/api.php/v1.vod"}, +{"name":"🚀群鑫影院","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"🚀可乐影院","url":"http://klyingshi.com/api.php/v1.vod"}, +{"name":"🚀麦穗影院","url":"http://b.maisui66.cn/api.php/v1.vod"}, +{"name":"🚀铭轩影院","url":"http://lz0716.com/api.php/v1.vod"}, +{"name":"🚀全球星","url":"http://www.mzok.cn/api.php/v1.vod"}, +{"name":"🚀氢视频","url":"http://www.h1080p.com/api.php/tv.vod"}, +{"name":"🚀万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"🚀小猫咪","url":"http://vod.xiaomaomi.cc/mogai_api.php/v1.vod"}, +{"name":"🚀小七影院","url":"https://www.xiaoqi0.cn/cuican_api.php/v1.vod"}, +{"name":"🚀鑫雨TV","url":"http://81.68.212.225/lvdou_api.php/v1.vod"}, +{"name":"🚀夕阳影院","url":"http://cms.seo-tv.work/mogai_api.php/v1.vod"}, +{"name":"🚀鑫总资源","url":"http://app.mmhkj.xyz/lvdou_api.php/v1.vod"}, +{"name":"🚀毅世纪影院","url":"http://www.ysjblog.top/api.php/v1.vod"}, +{"name":"🚀比邻影院","url":"http://0hzy.cn:9990/mogai_api.php/v1.vod"}, +{"name":"🚀豆芽视频","url":"http://bdintv.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀黄河影院","url": "http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"🚀影院大全1","url":"http://app.269w.com/api.php/v1.vod"}, +{"name":"🚀兔子窝","url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod"}, +{"name":"🚀爱电影","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"🚀艾特影院","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"913e影院","url":"http://www.913e.net/xgapp.php/v1/"} +], +"caijizhan": [ +////交流群189203334 +// 填采集站接口, +// 采集站后缀填写到api.php就可以了,后面那些不用填写,一次只可以填写一个。 +{"name":"吾爱有三七七","url":"http://api.kunyu77.com/api.php"}, +{"name":"苹果采集","url":"http://107.150.5.146:39000/maccms10-main/api.php"}, +{"name":"特狗影院","url":"http://tv.tegouys.com/api.php/iptv/vod/"}, +{"name":"推荐采集","url":"http://101.34.7.151:600/api.php"}, +{"name":"诺讯资源(官)","url":"http://caiji.nxflv.com/api.php"}, +{"name":"忆梦(官)","url":"http://anltv.cn/api.php"}, +{"name":"小猫咪(官)","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"1080资源库(切)","url":"https://api.1080zyku.com/inc/api_mac10.php"}, +{"name":"快车资源(切)","url":"https://caiji.kczyapi.com/api.php"}, +{"name":"松鼠资源(切)","url":"https://m3u8.songshuzy.com/api.php"}, +{"name":"多多资源(切)","url":"https://www.ddzyz1.com/api.php"}, +{"name":"OK资源(切)","url":"https://www.okcj.site/api"}, +{"name":"FOX资源(切)","url":"https://api.foxzyapi.com/api.php"}, +{"name":"番茄资源(切)","url":"http://api.fqzy.cc/api.php"}, +{"name":"卧龙资源(切)","url":"https://collect.wolongzyw.com/api.php"}, +{"name":"红牛资源(切)","url":"https://www.hongniuzy2.com/api.php"}, +{"name":"想看资源(切)","url":"https://m3u8.xiangkanapi.com/api.php"}, +{"name":"酷点资源(切)","url":"https://kudianzy.com/api.php"}, +{"name":"光速资源(切)","url":"https://api.guangsuapi.com/api.php"}, +{"name":"新浪资源(切)","url":"http://api.xinlangapi.com/xinlangapi.php"}, +{"name":"鱼乐资源(切)","url":"https://api.ylzy1.com/api.php"}, +{"name":"快播资源(切)","url":"http://www.kuaibozy.com/api.php"}, +{"name":"南国影源(切)","url":"http://api.nguonphim.tv/api.php"}, +{"name":"U酷资源(优)","url":"https://api.ukuapi.com/api.php"}, +{"name":"淘片资源(优)","url":"https://taopianapi.com/home/cjapi"}, +{"name":"旋风云(优)","url":"http://appimg.ssxmall.cn/api.php"}, +{"name":"XYUI(优)","url":"http://jx4.xyui.top:7001/api.php"}, +{"name":"考拉TV(优)","url":"https://ikaola.tv/api.php"}, +{"name":"51看剧(优)","url":"http://51kanju.cn/api.php"}, +{"name":"一拳动漫(优)","url":"http://47.97.68.224/api.php"}, +{"name":"畅视影院(优)","url":"http://app.reboju.net/api.php"}, +{"name":"超高清影院(聚)","url":"http://shdmv.com/api.php"}, +{"name":"39影院(聚)","url":"https://www.39kan.com/api.php"}, +{"name":"嗨哆咪影院(聚)","url":"http://hdmys1.com/api.php"}, +{"name":"橘猫影院(聚)","url":"http://www.zitv.cc/api.php"}, +{"name":"飘花电影(聚)","url":"http://www.zzrhgg.com/api.php"}, +{"name":"千寻时光(聚)","url":"http://wy.dqyhg.cn/api.php"}, +{"name":"网民电影(聚)","url":"https://www.prinevillesda.org/api.php"}, +{"name":"海外电影(聚)","url":"https://www.200121.com/api.php"}, +{"name":"影院阁(神马)","url":"http://216.98.10.85/api.php/iptv/vod/"}, +{"name":"天空TV(神马)","url":"http://tv.tkys.tv/api.php/iptv/vod/"}, +{"name":"芒迅TV(神马)","url":"http://www.hdyangtv.com/api.php/iptv/vod/"}, +{"name":"米来影院(神马)","url":"http://42.51.37.161:2346/api.php/iptv/vod/"}, +{"name":"盒子视界(神马)","url":"http://eh.tvzy.cc/api.php/iptv/vod/"}, +{"name":"嘿荼锋(神马)","url":"http://tv.hfys8.vip/api.php/Sntv/vod/"}, +{"name":"贵宾影院(神马)","url":"https://vipdytv.com/api.php/iptv/vod/"}, +{"name":"独优影院(神马)","url":"http://121.205.88.71:218/api.php/Chengcheng/vod/"}, +{"name":"七七影院","url":"http://api.kunyu77.com/api.php"}, +{"name":"天堂影院","url":"http://vipmv.cc/api.php"}, +{"name":"诺讯影院","url":"http://caiji.nxflv.com/api.php"}, +{"name":"快播影院","url":"http://www.kuaibozy.com/api.php"}, +{"name":"奇趣影院","url":"http://www.qiqu.me/api.php"}, +{"name":"KK站采集","url":"http://kkzy5.com/api.php"}, +{"name":"快播资源","url":"http://www.kuaibozy.com/api.php"}, +{"name":"FOX资源","url":"https://api.foxzyapi.com/api.php"}, +{"name":"M3U8源","url":"http://www.zycaiji.net:7788/api.php"}, +{"name":"U酷资源","url":"https://api.ukuapi.com/api.php"}, +{"name":"🚆小猫咪(官)","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"🚆1080资源库(切)","url":"https://api.1080zyku.com/inc/api_mac10.php"}, +{"name":"🚆快车资源(切)","url":"https://caiji.kczyapi.com/api.php"}, +{"name":"🚆松鼠资源(切)","url":"https://m3u8.songshuzy.com/api.php"}, +{"name":"🚆多多资源(切)","url":"https://www.ddzyz1.com/api.php"}, +{"name":"🚆FOX资源(切)","url":"https://api.foxzyapi.com/api.php"}, +{"name":"🚆番茄资源(切)","url":"http://api.fqzy.cc/api.php"}, +{"name":"🚆卧龙资源(切)","url":"https://collect.wolongzyw.com/api.php"}, +{"name":"🚆红牛资源(切)","url":"https://www.hongniuzy2.com/api.php"}, +{"name":"🚆酷点资源(切)","url":"https://kudianzy.com/api.php"}, +{"name":"🚆光速资源(切)","url":"https://api.guangsuapi.com/api.php"}, +{"name":"🚆新浪资源(切)","url":"http://api.xinlangapi.com/xinlangapi.php"}, +{"name":"🚆鱼乐资源(切)","url":"https://api.ylzy1.com/api.php"}, +{"name":"🚆快播资源(切)","url":"http://www.kuaibozy.com/api.php"}, +{"name":"🚆南国影源(切)","url":"http://api.nguonphim.tv/api.php"}, +{"name":"🚆U酷资源(优)","url":"https://api.ukuapi.com/api.php"}, +{"name":"🚆XYUI(优)","url":"http://jx4.xyui.top:7001/api.php"}, +{"name":"🚆39影院(聚)","url":"https://www.39kan.com/api.php"}, +{"name":"🚆飘花电影(聚)","url":"http://www.zzrhgg.com/api.php"}, +{"name":"🚆海外电影(聚)","url":"https://www.200121.com/api.php"}, +{"name":"🚆江湖官采(官)","url":"http://119.29.1.173/api.php"}, +{"name":"🚆星海资源(切)","url":"https://www.xhzy01.com/api.php"}, +{"name":"🚆TOM资源(切)","url":"https://api.tomcaiji.com/api.php"}, +{"name":"🚆快车资源(切)","url":"https://caiji.kczyapi.com/api.php"}, +{"name":"🚆樱花资源(切)","url":"https://m3u8.apiyhzy.com/api.php"}, +{"name":"🚆飞速资源(切)","url":"https://www.feisuzy.com/api.php"}, +{"name":"🚆光速资源(切)","url":"https://api.guangsuapi.com/api.php"}, +{"name":"🚆鱼乐资源(切)","url":"https://api.ylzy1.com/api.php"}, +{"name":"🚆快播资源(切)","url":"http://www.kuaibozy.com/api.php"}, +{"name":"🚆百度资源(切)","url":"https://api.apibdzy.com/api.php"}, +{"name":"🚆天空资源(切)","url":"https://api.tiankongapi.com/api.php"}, +{"name":"🚆FF9资源(切)","url":"https://www.ff9.top/api.php"}, +{"name":"🚆看看资源(切)","url":"https://zy.hikan.xyz/api.php"}, +{"name":"🚆U酷资源(优)","url":"https://api.ukuapi.com/api.php"}, +{"name":"🚆龙腾资源(优)","url":"http://175.178.7.35:2020/api.php"}, +{"name":"🚆OmoFun(优)","url":"https://app.omofun.net/api.php"}, +{"name":"🚆乐活影院(优)","url":"https://lehootv.com/api.php"}, +{"name":"🚆瞬间影院(聚)","url":"http://app.7en7.com/api.php"}, +{"name":"🚆MX影院2(聚)","url":"http://49.235.107.145:81/api.php"}, +{"name":"🚆醉璃笙TV(聚)","url":"http://web.xhdj.vip/api.php"}, +{"name":"🚆热剧天堂(聚)","url":"http://175.178.7.35:2020/api.php"}, +{"name":"🚆醉璃笙TV(神马)","url":"http://web.xhdj.vip/api.php/iptv/vod/"}, +{"name":"🚆柚子TV(神马)","url":"http://tvht.lanrentk.cc/api.php/iptv/vod/"}, +{"name":"🚆云玺TV(神马)","url":"http://43.138.193.213:8181//api.php/Miguo/vod/"}, +{"name":"🚆新369TV(神马)","url":"http://106.13.10.156:2023//api.php/Chengcheng/vod/"}, +{"name":"🚆开乐TV(神马)","url":"http://server.sztuotai.com//api.php/Chengcheng/vod/"}, +{"name":"🚆嘿荼锋(神马)","url":"http://tv.hfys8.vip/api.php/Sntv/vod/"}, +{"name":"🚆独优影院(神马)","url":"http://121.205.88.71:218/api.php/Chengcheng/vod/"}, +{"name":"🚆CV影院(神马)","url":"http://www.cccvvv.top/api.php/iptv/vod/"}, + +{"name":"2号币(神马)","url":"http://phoebe.cf/api.php/iptv/vod/"} +], + "zhujiexi":[ + {"name":"左岸","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"左岸2","url":"https://play.fuqizhishi.com/juhe/API.php?appkey=caijijuhe220902&url="}, +{"name": "刚刚TV","url":"https://play.fuqizhishi.com/jx/API.php?appkey=zhitigonggeixiaobai4567891&url="}, +{"name":"江湖","url":"http://103.40.240.46/jh/?url="}, +{"name":"人人","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"虾米","url":"https://jx.xmflv.com/?url="}, +{"name":"九亿","url":"https://m3u8.look4you.top/?url="}, +{"name":"可乐","url":"https://www.klyingshi.com/mz-jx/?url="}, +{"name":"搜狗解析","url":"http://152.136.200.38/analysis.php?v="}, +{"name":"4K解析","url":"https://jx.4kdv.com/?url="}, +{"name":"顶空解析","url":"https://jx.dikotv.com/?url="}, +{"name":"ggtv","url":"https://play.fuqizhishi.com/maotv/API.php?appkey=QQ172598364&url="}, +{"name":"解析1","url":"http://27.124.4.42:4567/jhjson/ceshi.php?url="}, +{"name":"解析1","url":"https://jx.hfyrw.com/mao.go?url="}, +{"name":"解析2","url":"https://json.5lp.net/json.php?url="}, +{"name":"解析2","url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1931000&key=gktuvyzABEORSYZ135&url="}, +{"name":"解析2","url":"https://vip.nxflv.com/home/api?uid=701203&key=bltuyCEFKLTX013679&url="}, +{"name":"云you","url":"https://maoyingshi.cc/api.php?url="}, +{"name":"293","url":"http://110.42.2.115:880/analysis/json/?uid=2100&my=fgjnoqstLMRUZ03489&url="}, +{"name":"解析2","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"解析3","url":"https://jx.300ys.xyz/json/jianghu.php/?url="}, +{"name":"解析3","url":"https://jhpc.manduhu.com/j1217.php?url="}, +{"name":"解析3","url":"https://json.hfyrw.com/mao.go?url="}, +{"name":"解析3","url":"http://api.vip123kan.vip/?url="}, +{"name":"解析3","url":"https://vip.aiaine.com/api/?key=8FN8gNAySnvJiMllxZ&url="}, +{"name":"解析3","url":"http://svip.nicefamily.club/home/api?type=ys&uid=769560&key=chijkrtBEGNPRWXZ35&url="}, +{"name":"解析3","url":"http://47.100.138.210:91/home/api?type=ys&uid=7593435&key=ehortuyAHMNQTWX457&url="}, +{"name":"解析3","url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1931000&key=gktuvyzABEORSYZ135&urI="}], + "beiyongjiexi": [ +{"name":"解析1","url":"https://nbjx.vip/?url="}, +{"name":"解析2","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"解析3","url":"https://www.nxflv.com/?url="}, +{"name":"解析6","url":"https://za.kuanjv.com/?url="}, +{"name":"解析","url":"http://m2090.com/?url="}, +{"name":"解析","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"解析","url":"https://jx.xuanqi.pro/?url="}, +{"name":"解析","url":"https://www.nxflv.com/?url="}, +{"name":"解析","url":"http://47.100.138.210:92/?url="}, +{"name":"解析","url":"http://api.diliktv.xyz/vip/jx.php?url="}, +{"name":"解析","url":"https://vipjx.cc/?url="}, +{"name":"解析","url":"https://jx.aidouer.net/?url="}, +{"name":"解析","url":"https://svip.bljiex.cc/?v="}, +{"name":"解析","url":"https://bd.jx.cn/vip/?url="}, +{"name":"解析","url":"https://z1.m1907.cn/?jx="}, +{"name":"解析","url":"https://vip.2ktvb.com/player/?url="}, +{"name":"解析","url":"https://nbjx.vip/?url="}, +{"name":"备解1","url":"https://jx.xmflv.com/?url="}, +{"name":"备解2","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解3","url":"https://www.pangujiexi.com/pangu/?url="}, +{"name":"备解4","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解5","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"备解6","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"备解7","url":"https://jx.m3u8.tv/jiexi/?url="}, +{"name":"备解8","url":"https://okjx.cc/?url="}, +{"name":"备解9","url":"https://www.yemu.xyz/?url="}, +{"name":"备解10","url":"https://jx.xmflv.com/?url="}, +{"name":"备解11","url":"https://parse.123mingren.com/?url="}, +{"name":"备解12","url":"http://www.ckmov.vip/api.php?url="}, +{"name":"备解13","url":"http://api.wpsseo.cn/?v="}, +{"name":"备解14","url":"https://go.yh0523.cn/y.cy?url="}, +{"name":"备解15","url":"https://www.ckplayer.vip/jiexi/?url="}, +{"name":"解析","url":"http://jx5.178du.com/p1/?url="} ], +// 电视直播的接口链接 +"dianshizhibo": "https://cdn.staticaly.com/gh/tvbw/mytv/main/tv88", +// "guolvdizhi": "pap.html#player.css#url=#51.la#poster#api.php#file=#cnzz.com", + + +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#?video_id=", + +//填写播放地址过滤规则,中间用#号分割,不用填太多,默认的基本够用,主要是针对自定义的网站过滤的。 +"guolvdizhi": ".gif#.css#.ico#.html#51.la#poster#?url=#file=#cnzz.com#baidu.com#tootw.com#auete.com#bilibili.com", +//交流群189203334 +// 自定义接口 +"zidingyi":[ +{ + "name": "短视频", + "url": "http://www.sharenice.net", + "User": "空", + "ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36", + "fenlei": "抖音$/douyin?page=#快手$/kuaishou?page=#微视$/weishi?page=#火山$/huoshan?page=#场库$/changku?page=#美拍$/meipai?page=#秒拍$/miaopai?page=#全民$/quanmin?page=#梨$/lishipin?page=#好兔$/haotu?page=#开眼$/kaiyan?page=", + "houzhui": "", + "直接播放": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"cover\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"http://www.sharenice.net", + "lianjiehou": "\"" +}, +{ +"name": "馨雨听书", +"url": "https://xytingshu.com", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19044", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "百家讲坛$/mp3/35-#儿童$/mp3/13-#笑话$/mp3/14-#诗歌$/mp3/33-#文学$/mp3/34-#经典$/mp3/29-#评书$/mp3/15-#相声$/mp3/32-#广播$/mp3/31-#科幻$/mp3/5-#推理$/mp3/8-#历史$/mp3/9-#军事$/mp3/10-#穿越$/mp3/11-#财经$/mp3/28-#戏曲$/mp3/16-#玄幻$/mp3/1-#武侠$/mp3/2-#都市$/mp3/3-#言情$/mp3/4-#恐怖$/mp3/6-#惊悚$/mp3/7-#网游$/mp3/12-#粤语$/mp3/30-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "'btn'", +"jiequhou": "
    ", +"tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20200501%2F75d7790f974a4da4b5e76e98c51c9dfb.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662796592&t=fe023992330b87b9b0b812d9b4763cb7", +"tupianhou": "\"", +//"tupianqianzhui": "https://xytingshu.com", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "", +"fubiaotiqian": "时间:", +"fubiaotihou": "

    ", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "
    ", +"sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20200501%2F75d7790f974a4da4b5e76e98c51c9dfb.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662796592&t=fe023992330b87b9b0b812d9b4763cb7", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +//"ssljqianzhui": "https://m.tingzh.com/book/", +//"ssljhouzhui": ".html", +"ssfubiaotiqian": "

    作者:", +"ssfubiaotihou": "

    ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "
    ", +"zhuangtaiqian": "小说状态:", +"zhuangtaihou": "", +"daoyanqian": "更新时间:", +"daoyanhou": "", +"zhuyanqian": "
  • 小说类型:", +"zhuyanhou": "
  • ", +"juqingqian": ">馨雨听书网", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" +}, +{"name": "⚽直播8", +"url": "https://www.zhibo8.net", +"User": "空", +"直接播放": "1", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"match-item\"", +"jiequshuzuhou": "", +"tupianqian": "https://img0.baidu.com/it/u=959607043,1054237520&fm=253&fmt=auto&app=138&f=JPEG?w=417&h=500", +"tupianhou": "\"", +"biaotiqian": "class=\"col-home flex\">", +"biaotihou": "
    ", +"tupianqianzhui": "空", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"col-time\">", +"fubiaotihou": "
    "}, + +{"name": "⚽体育-88看球", +"url": "http://www.88kanqiu.com", +"User": "空", +"是否记录历史": "1", +"横图显示": "1", +"列表显示": "0", +"fenlei": "体育$空", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "group-game-item", +"jiequshuzuhou": "", +"tupianqian": "https://img0.baidu.com/it/u=18459781,726289362&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500","tupianhou": "\"", +"biaotiqian": "text-right\">", +"biaotihou": "
    ", +"fubiaotihou": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"game-videos-btn-container\"", +"bfjiequshuzuhou": "
    ", +"bfyshifouercijiequ": "0","bfyjiequqian": "空", +"bfyjiequhou": "空","bfyjiequshuzuqian": "","bfbiaotiqian": ">", +"bfbiaotihou": "<","bflianjieqian": "href='", +"bflianjiehou": "'"}, +{"name": "体育-jrs", +"url": "http://www.jrskan.com", +"User": "空", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"qishiye": "空", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
      ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"lab_team_home\">", +"biaotihou": "
    • ", +"fubiaotihou": "
    • ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sub_playlist\"", +"bfjiequshuzuhou": "|", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

      ", +"daoyanqian": "导演:", +"daoyanhou": "

      ", +"zhuyanqian": "主演:", +"zhuyanhou": "

      ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "data-play=\"", +"bflianjiehou": "\"", +"bfqianzhui": "http://play.sportsteam365.com" +}, +{ +"name": "DJ音乐", +"url": "http://www.djuu.com", +"User": "空", +"直接播放": "1", +"横图显示": "0", +"列表显示": "1", +"fenlei": "热播$/search?musicname=热播&list=2&cid=0&page=#抖音热门$/search?musicname=%E6%8A%96%E9%9F%B3&list=2&cid=0&page=#经典旋律$/search?musicname=经典旋律&list=2&cid=0&page=#迪高串烧$/djlist/1_#喊麦串烧$/djlist/12_#中文串烧$/djlist/13_#外语串烧$/djlist/14_#中英串烧$/djlist/96_#慢摇串烧$/djlist/2_#喊麦串烧$/djlist/15_#Electro$/djlist/22_#ProgHouse$/djlist/26_#FunkyHouse$/djlist/99_#喊麦更多$/djlist/27_#慢摇中文串烧$/djlist/16_#慢歌串烧$/djlist/3_#中文Remix$/djlist/4_#外文Remix$/djlist/5_#越南鼓$/djlist/6_#酒吧风格$/djlist/7_#Mashup$/djlist/8_#中文DISCO$/djlist/9_#外文DISCO$/djlist/10_#交谊舞曲$/djlist/11_", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"isgood_list\">", +"jiequshuzuhou": "", "tupianqian": "img src=\"", "tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "class=\"sc_1\">TIME", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"" +}, +{ +"name": "🎵音乐MV", +"url": "https://www.ichemv.com", +"User": "authority$play.bgp.68tool.com#referer$https://www.ichemv.com/", +"直接播放": "1", +"横图显示": "1", +"fenlei": "华语MV$/mv/1_0#日韩MV$/mv/2_0#欧美MV$/mv/3_0#现场MV$/mv/4_0#影sMV$/mv/5_0#夜店视频$/mv/6_0#车模视频$/mv/7_0#热舞视频$/mv/8_0#美女x真$/mv/9_0#美女打碟$/mv/10_0#串烧视频$/mv/11_0", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pic\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "" +}, + +{ + "name": "Justlive虎牙", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=douyu&page=#一起看$Area?platform=huya&area=一起看&page=#英雄联盟$Area?platform=huya&area=英雄联盟&page=#英雄联盟手游$Area?platform=huya&area=英雄联盟手游&page=#王者荣耀$Area?platform=huya&area=王者荣耀&page=#和平精英$Area?platform=huya&area=和平精英page=#棋牌桌游$Area?platform=huya&area=棋牌桌游&page=#欢乐斗地主$Area?platform=huya&area=欢乐斗地主&page=#体育$Area?platform=huya&area=体育&page=#美食$Area?platform=huya&area=美食&page=#颜值$Area?platform=huya&area=颜值&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=huya&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\"" +}, +{ "name": "Justlive哔哩", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=bilibili&page=#英雄联盟$Area?platform=bilibili&area=英雄联盟&page=#王者荣耀$Area?platform=bilibili&area=王者荣耀&page=#和平精英$Area?platform=bilibili&area=和平精英&page=#游戏赛事$Area?platform=bilibili&area=游戏赛事&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=bilibili&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\"" +}, +{ + "name": "DJ音乐", + "url": "http://www.djuu.com", + "User": "空", + "直接播放": "1", + "横图显示": "0", + "列表显示": "1", + "fenlei": "热播$/search?musicname=热播&list=2&cid=0&page=#抖音热门$/search?musicname=%E6%8A%96%E9%9F%B3&list=2&cid=0&page=#经典旋律$/search?musicname=经典旋律&list=2&cid=0&page=#迪高串烧$/djlist/1_#喊麦串烧$/djlist/12_#中文串烧$/djlist/13_#外语串烧$/djlist/14_#中英串烧$/djlist/96_#慢摇串烧$/djlist/2_#喊麦串烧$/djlist/15_#Electro$/djlist/22_#ProgHouse$/djlist/26_#FunkyHouse$/djlist/99_#喊麦更多$/djlist/27_#慢摇中文串烧$/djlist/16_#慢歌串烧$/djlist/3_#中文Remix$/djlist/4_#外文Remix$/djlist/5_#越南鼓$/djlist/6_#酒吧风格$/djlist/7_#Mashup$/djlist/8_#中文DISCO$/djlist/9_#外文DISCO$/djlist/10_#交谊舞曲$/djlist/11_", + "houzhui": ".html", + "qishiye": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"isgood_list\">", + "jiequshuzuhou": "", + "tupianqian": "img src=\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "fubiaotiqian": "class=\"sc_1\">TIME", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "biaotiqian": "title=\"", + "biaotihou": "\"" +}, +{"name": "🎵音乐MV", +"url": "https://www.ichemv.com", +"User": "authority$play.bgp.68tool.com#referer$https://www.ichemv.com/", +"直接播放": "1", +"横图显示": "1", +"fenlei": "华语MV$/mv/1_0#日韩MV$/mv/2_0#欧美MV$/mv/3_0#现场MV$/mv/4_0#影sMV$/mv/5_0#夜店视频$/mv/6_0#车模视频$/mv/7_0#热舞视频$/mv/8_0#美女x真$/mv/9_0#美女打碟$/mv/10_0#串烧视频$/mv/11_0", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pic\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "" +}, +{ + "name": "kw听书", + "url": "http://baby.kuwo.cn", + "ua": "", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "都市传说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=42&rn=20&categoryId=2&pn=#玄幻奇幻$/tingshu/api/filter/albums?sortType=tsScore&classifyId=44&rn=20&categoryId=2&pn=#悬疑推理$/tingshu/api/filter/albums?sortType=tsScore&classifyId=45&rn=20&categoryId=2&pn=#现代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=41&rn=20&categoryId=2&pn=#武侠仙侠$/tingshu/api/filter/albums?sortType=tsScore&classifyId=48&rn=20&categoryId=2&pn=#穿越架空$/tingshu/api/filter/albums?sortType=tsScore&classifyId=52&rn=20&categoryId=2&pn=#经典小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=64&rn=20&categoryId=2&pn=#青春校园$/tingshu/api/filter/albums?sortType=tsScore&classifyId=55&rn=20&categoryId=2&pn=#历史军事$/tingshu/api/filter/albums?sortType=tsScore&classifyId=56&rn=20&categoryId=2&pn=#科幻竞技$/tingshu/api/filter/albums?sortType=tsScore&classifyId=57&rn=20&categoryId=2&pn=#古代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=207&rn=20&categoryId=2&pn=#能力提升$/tingshu/api/filter/albums?sortType=tsScore&classifyId=82&rn=20&categoryId=4&pn=#人文艺术$/tingshu/api/filter/albums?sortType=tsScore&classifyId=77&rn=20&categoryId=4&pn=#国学文化$/tingshu/api/filter/albums?sortType=tsScore&classifyId=78&rn=20&categoryId=4&pn=#成功法则$/tingshu/api/filter/albums?sortType=tsScore&classifyId=79&rn=20&categoryId=4&pn=#外语精通$/tingshu/api/filter/albums?sortType=tsScore&classifyId=76&rn=20&categoryId=4&pn=#养生健康$/tingshu/api/filter/albums?sortType=tsScore&classifyId=81&rn=20&categoryId=4&pn=#酷我读书$/tingshu/api/filter/albums?sortType=tsScore&classifyId=211&rn=20&categoryId=4&pn=#国学经典$/tingshu/api/filter/albums?sortType=tsScore&classifyId=117&rn=20&categoryId=9&pn=#历史小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=181&rn=20&categoryId=9&pn=#纪实档案$/tingshu/api/filter/albums?sortType=tsScore&classifyId=118&rn=20&categoryId=9&pn=#历史传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=119&rn=20&categoryId=9&pn=#人物传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=120&rn=20&categoryId=9&pn=#文化讲堂$/tingshu/api/filter/albums?sortType=tsScore&classifyId=121&rn=20&categoryId=9&pn=#百家讲坛$/tingshu/api/filter/albums?sortType=tsScore&classifyId=212&rn=20&categoryId=9&pn=", + "houzhui": "&kweexVersion=1.0.2", + "qishiye": "1", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"coverImg\":\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "\"artistName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"albumId\":", + "lianjiehou": ",", + "ljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", + "ljhouzhui": "&online=0&kweexVersion=1.0.2", + "fubiaotiqian": "\"title\":\"", + "fubiaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": ":80/tingshu/api//search/Search?rn=10&type=album&version=8.5.6.1&wd=", + "sousuohou": "&pn=1&kweexVersion=1.0.2", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "ssjiequqian": "[", + "ssjiequhou": "]", + "ssjiequshuzuqian": "{", + "ssjiequshuzuhou": "}", + "sstupianqian": "\"coverImg\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "空", + "ssbiaotiqian": "\"artistName\":\"", + "ssbiaotihou": "\"", + "sslianjieqian": "\"albumId\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", + "ssljhouzhui": "&online=0&kweexVersion=1.0.2", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "[", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

      ", + "daoyanqian": "导演:", + "daoyanhou": "

      ", + "zhuyanqian": "主演:", + "zhuyanhou": "

      ", + "juqingqian": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "\"name\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "\"musicrid\":\"", + "bflianjiehou": "\"", + "bfqianzhui": "http://antiserver.kuwo.cn/anti.s?useless=/resource/&format=mp3&rid=MUSIC_", + "bfhouzhui": "&response=res&type=convert_url&" +}, +{ + "name": "听书网", + "url": "https://www.tingbook.cc", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "玄幻$/book/1-#武侠$/book/2-#都市$/book/3-#言情$/book/4-#科幻$/book/5-#推理$/book/6-#恐怖$/book/7-#惊悚$/book/8-#历史$/book/9-#军事$/book/10-#网游$/book/11-#官商$/book/12-#评书$/book/13-#相声$/book/14-#文学$/book/15-#儿童$/book/16-#穿越$/book/28-#娱乐$/book/29-#笑话$/book/30-#戏曲$/book/31-#其它$/book/32-#百家讲坛$/book/33-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-12 col-m-24 col3-\"", + "jiequshuzuhou": "

      ", + "tupianqian": "src=\"", + "tupianhou": "\"", + "tupianqianzhui": "https://www.tingbook.cc", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "zhuangtaiqian": "> ", + "zhuangtaihou": "", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-12 col-m-24 col3-", + "ssjiequshuzuhou": "
      ", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "sstupianqianzhui": "https://www.tingbook.cc", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"tx-title2 f-16 f-bold", + "bfjiequshuzuhou": "
    ", + "daoyanqian": "作者:", + "daoyanhou": "  ", + "zhuyanqian": "播音:", + "zhuyanhou": "

    ", + "juqingqian": "播音,", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{ + "name": "bili-教育", + "url": "https://api.bilibili.com", + "ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", + "cookie":"innersign=0; buvid3=91BA4E1F-9AB1-F767-2F4D-68AE15871D4A82900infoc; i-wanna-go-back=-1; b_ut=7; b_lsid=103349ECA_182D2DA1881; _uuid=C52B10B4C-DD103-9DFC-FDB5-A38936101E64A84754infoc; buvid4=E048FB7D-A337-F0BB-544C-7AB3F7315AD184247-122082510-jfKjb2w6jTb32s8uEefwlw%3D%3D; buvid_fp=af25c71ea5abec45eebfffd42c02aab7; nostalgia_conf=-1; b_timer=%7B%22ffp%22%3A%7B%22333.400.fp.risk_91BA4E1F%22%3A%22182D2DA1A1B%22%2C%22333.337.fp.risk_91BA4E1F%22%3A%22182D2E5CF15%22%7D%7D; CURRENT_BLACKGAP=0; CURRENT_FNVAL=80; sid=6zxrig3u; PVID=1", + "User": "空", + "直接播放": "0", + "横图显示": "1", + "fenlei": "儿童早教$/x/web-interface/search/type?search_type=video&keyword=儿童早教&order=pubdate&page=#儿童启蒙故事$/x/web-interface/search/type?search_type=video&keyword=儿童启蒙故事&order=pubdate&page=#儿童英语启蒙$/x/web-interface/search/type?search_type=video&keyword=儿童英语启蒙&order=pubdate&page=#儿童歌曲$/x/web-interface/search/type?search_type=video&keyword=儿童歌曲&order=pubdate&page=#高一数学$/x/web-interface/search/type?search_type=video&keyword=高一数学&order=pubdate&page=#小学数学$/x/web-interface/search/type?search_type=video&keyword=小学数学&order=pubdate&page=", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "{\"type\":\"video", + "jiequshuzuhou": "corner", + "tupianqian": "\"pic\":\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "fubiaotiqian": "duration\":\"", + "fubiaotihou": "\"", + "lianjieqian": "\"bvid\":\"", + "lianjiehou": "\"", + "ljqianzhui": "https://www.bilibili.com/video/", + "biaotiqian": "title\":\"", + "biaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/x/web-interface/search/type?search_type=video&page=1&page_size=16&keyword=", + "sousuohou": "", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "{\"type\":\"video", + "ssjiequshuzuhou": "corner", + "sstupianqian": "\"pic\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "http:", + "ssbiaotiqian": "author\":\"", + "ssbiaotihou": "\"", + "sslianjieqian": "\"bvid\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "https://www.bilibili.com/video/", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "\"pages\"", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "Published\" content=\"", + "zhuangtaihou": "\"", + "daoyanqian": "author\" content=\"", + "daoyanhou": "\"", + "zhuyanqian": "tname\":\"", + "zhuyanhou": "\"", + "juqingqian": "raw_text\":\"", + "juqinghou": "\"", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "part\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "page\":", + "bflianjiehou": ",", + "bfqianzhui": "?p="}, +{"name": "❤斗鱼", +"url": "https://www.douyu.com/", +//填网站链接 +"tihuan": "cnzz.com", + //这个不用动,是个别网站嗅探时过滤地址用的 "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 "shouye": "0", + "fenlei": "科技文化$gapi/rkc/directory/mixList/1_11/#梅食$gapi/rkc/directory/mixList/2_194/#一起看$gapi/rkc/directory/mixList/2_208/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#纪录片$gapi/rkc/directory/mixList/2_514/#电台$gapi/rkc/directory/mixList/2_1556/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/", "houzhui": "", + "shifouercijiequ": "0", +"jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "\"type\":1", "jiequshuzuhou": "\"rs16\"", + "tupianqian": "\"rs1\":\"", + "tupianhou": "\"", + "biaotiqian": "\"rn\":\"", + "biaotihou": "\"", + "lianjieqian": "\"rid\":", + "lianjiehou": ",\"", + "sousuoqian": "/japi/search/api/searchShow?kw=", + "sousuohou": "&page=1&pageSize=50", "sousuohouzhui": "/", +"ssmoshi": "0", "sousuoshifouercijiequ": "0", "jspic": "roomSrc", "jsname": "roomName", "jsid": "rid", "ssjiequqian": "空", "ssjiequhou": "空", "ssjiequshuzuqian": "空", "ssjiequshuzuhou": "空", "sstupianqian": "空", "sstupianhou": "空", "ssbiaotiqian": "空", "ssbiaotihou": "空", "sslianjieqian": "空", "sslianjiehou": "空", "bfshifouercijiequ": "0", "bfjiequqian": "空", "bfjiequhou": "空", "bfjiequshuzuqian": "left\">
    ", +"zhuangtaiqian": "更新:", "zhuangtaihou": "

    ", + "daoyanqian": "导演:", "daoyanhou": "

    ", + "zhuyanqian": "主演:", "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "

    ", +"bfbiaotihou": "

    ", +"bflianjieqian": "rid=", +"bflianjiehou": "\""}, +{ + "author": "20220613", + "name": "555电影", + "url": "https://www.xawqxh.net", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + + "fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#Netflix(漫)$/vodshow/4---Netflix-----#热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧梅剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧梅动漫$/vodshow/4-欧梅-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#梅食片$/vodshow/1---梅食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "" +}, +{"author": "20220617", + "name": "F7好看剧", + "url": "https://www.haokanju1.cc", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "4K剧集$/vodshow/23--------#4K电影$/vodshow/24--------#亲子动漫$/vodshow/4---亲子-----#益智动漫$/vodshow/4---益智-----#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/20--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#大陆动漫$/vodshow/4-大陆-------#内地动漫$/vodshow/4-内地-------#日本动漫$/vodshow/4-日本-------#韩国动漫$/vodshow/4-韩国-------#M国动漫$/vodshow/4-M国-------#英国动漫$/vodshow/4-英国-------#台湾动漫$/vodshow/4-台湾-------#动画片$/vodshow/1---动画-----#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"data \">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "LIBVIO", + "url": "https://www.libvio.me", + "tihuan": "dd520.cc", + "User": "空", + "fenlei": "最近更新$/show/19--------#电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------#动画片$/show/1---动画-----#纪录片$/show/21--------#国产剧$/show/13--------#日韩剧$/show/15--------#欧梅剧$/show/16--------#港台剧$/show/14--------#泰国剧$/show/2-泰国-------#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#恐怖片$/show/1---恐怖-----#动作片$/show/1---动作-----#科幻片$/show/1---科幻-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#警匪片$/show/1---警匪-----#犯罪片$/show/1---犯罪-----#奇幻片$/show/1---奇幻-----#武侠片$/show/1---武侠-----#冒险片$/show/1---冒险-----", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\">总集数:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">类型:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "COKEMV", + "url": "https://cokemv.me", + "User": "空", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画电影$/vodshow/41--------#抖音电影$/vodshow/5--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#犯罪片$/vodshow/23--------", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "/div>", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "author":"20220605", + "name": "特狗影院", + "url": "https://www.tegouys.com", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "儿童电影$/vodshow/class/儿童/id/1/page/#亲子综艺$/vodshow/class/亲子/id/3/page/#合家欢动漫$/vodshow/class/合家欢/id/4/page/#曲艺综艺$/vodshow/class/曲艺/id/3/page/#电影$/vodshow/id/1/page/#国产剧$/vodshow/area/内地/id/2/page/#香港剧$/vodshow/area/香港/id/2/page/#韩国剧$/vodshow/area/韩国/id/2/page/#M国剧$/vodshow/area/M国/id/2/page/#日本剧$/vodshow/area/日本/id/2/page/#泰国剧$/vodshow/area/泰国/id/2/page/#台湾剧$/vodshow/area/台湾/id/2/page/#英国剧$/vodshow/area/英国/id/2/page/#其它剧$/vodshow/area/其它/id/2/page/#综艺$/vodshow/id/3/page/#国产动漫$/vodshow/area/内地/id/4/page/#日本动漫$/vodshow/area/日本/id/4/page/#欧梅动漫$/vodshow/area/欧梅/id/4/page/#其它动漫$/vodshow/area/其它/id/4/page/", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"text-red\">", + "zhuangtaihou": "/", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220606", + "name": "瓜皮TV", + "url": "https://guapitv.xyz", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧梅动漫$/vodshow/4-欧梅-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "
    ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220612", + "name": "4K电影网", + "url": "https://www.4kdyw.cn", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#电视剧(B站)$/vodshow/45--------#纪录片$/vodshow/24--------#纪录片(B站)$/vodshow/46--------#日本动漫$/vodshow/21--------#国产动漫$/vodshow/20--------#欧梅动漫$/vodshow/22--------#动漫电影$/vodshow/25--------#番剧(B站)$/vodshow/42--------#国创(B站)$/vodshow/43--------#综艺$/vodshow/3--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/27--------#灾难片$/vodshow/28--------#历史片$/vodshow/29--------#传记片$/vodshow/30--------#歌舞片$/vodshow/47--------#电影(B站)$/vodshow/44--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "red;\">", + "zhuangtaihou": "", + "daoyanqian": "data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "sketch\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220615", + "name": "悟空影院", + "url": "https://www.01vo.com", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "体育$/vodshow/36--------#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/25--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#国产动漫$/vodshow/31--------#日本动漫$/vodshow/32--------#欧梅动漫$/vodshow/33--------#动漫片$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/24--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "biaotihou": "
    ", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220609", + "name": "OmoFun动漫", + "url": "https://www.omofun.tv", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "日漫$/vod/show/id/20/page/#热血$/vod/show/class/热血/id/20/page/#穿越$/vod/show/class/穿越/id/20/page/#奇幻$/vod/show/class/奇幻/id/20/page/#战斗$/vod/show/class/战斗/id/20/page/#搞笑$/vod/show/class/搞笑/id/20/page/#日常$/vod/show/class/日常/id/20/page/#科幻$/vod/show/class/科幻/id/20/page/#萌系$/vod/show/class/萌系/id/20/page/#治愈$/vod/show/class/治愈/id/20/page/#校园$/vod/show/class/校园/id/20/page/#恋爱$/vod/show/class/恋爱/id/20/page/#魔法$/vod/show/class/魔法/id/20/page/#冒险$/vod/show/class/冒险/id/20/page/#机战$/vod/show/class/机战/id/20/page/#催泪$/vod/show/class/催泪/id/20/page/#音乐$/vod/show/class/音乐/id/20/page/", + "houzhui": ".html", + + "shifouercijiequ": "1", + "jiequqian": "
    ", + + "zhuangtaiqian": "备注:", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": ".html\">", + "biaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"fed-play-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "fed-text-center\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "声优:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "1", + "bfyjiequqian": "class=\"fed-part-rows\">", + "bfyjiequhou": "", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author":"20220529", + "issue":"起始页码为0,有别于其他网站都是1,无法解决,所以各类别都会少了第一页的内容", + "name": "风车动漫", + "url": "https://www.dm530p.net", + "User": "空", + "fenlei": "日本动漫$/list/?region=日本&pagesize=24&pageindex=#国产动漫$/list/?region=中国&pagesize=24&pageindex=#欧梅$/list/?region=欧梅&pagesize=24&pageindex=#TV$/list/?genre=TV&pagesize=24&pageindex=#剧场版$/list/?genre=剧场版&pagesize=24&pageindex=#OVA$/list/?genre=OVA&pagesize=24&pageindex=", + "houzhui": "", + + "shifouercijiequ": "1", + "jiequqian": "class=\"lpic\">", + "jiequhou": "/div>", + "jiequshuzuqian": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/s_all?ex=1&kw=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/view/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "class=\"lpic\">", + "ssjiequhou": "/div>", + "ssjiequshuzuqian": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"movurl\"", + "bfjiequshuzuhou": "/ul>", + + "zhuangtaiqian": "

    ", + "zhuangtaihou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author":"20220615", + "name": "森之屋动漫", + "url": "https://www.senfun.net", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "TV动画$/show/1/page/#BD动画$/show/2/page/#剧场版$/show/3/page/#欧梅动漫$/show/37/page/", + "houzhui": ".html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + + "zhuangtaiqian": "info\">状态:", + "zhuangtaihou": "", + "daoyanqian": "info\">监督:", + "daoyanhou": "", + "zhuyanqian": "starring\">声优:", + "zhuyanhou": "", + "juqingqian": "剧情简介", + "juqinghou": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "真不卡影院(不支持搜索)", + "url": "http://www.cerrd.com", + "tihuan": "cnzz.com", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "骚火电影", + "url": "https://shdy2.com", + "User": "空", + "fenlei": "国产剧$/list/20-#TVB剧$/list/21-#韩剧$/list/22-#梅剧$/list/23-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-#动漫$/list/4-#亲子动漫$/list/46-#电影$/list/1-#动画片$/list/13-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"v_img\">", + "jiequshuzuhou": "

    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
    ", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"play_link\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"v_note\">", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "/ 主演", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"p_txt show_part\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "剧白白-蓝光", + "url": "https://www.jubaibai.cc", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧梅剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist sort-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data hidden-xs\">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "火火影院", + "url": "https://www.huohuo99.com", + "tihuan": "", + "User": "空", + "fenlei": "动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#惊悚片$/vodtype20-#悬疑片$vodtype/23-#动画片$/vodtype/24-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype15-#欧梅剧$vodtype/16-#番剧$/vodtype/31-#综艺$/vodtype/4-#记录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"hl-list-item hl", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": " id=\"hl-plays-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:
    ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "天空资源", + "url": "https://www.tkys.tv", + "tihuan": "cnzz.com", + "fenlei": "电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodshow/area/内地/id/2/page/#港剧$/vodshow/area/香港/id/2/page/#韩剧$/vodshow/area/韩国/id/2/page/#梅剧$/vodshow/area/M国/id/2/page/#泰剧$/vodshow/area/泰国/id/2/page/#日剧$/vodshow/area/日本/id/2/page/#台剧$/vodshow/area/台湾/id/2/page/#英剧$/vodshow/area/英国/id/2/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-8", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "完梅看看影院", + "url": "https://www.wanmeikk.me/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/category/1-#国产剧$/category/5-#欧梅剧$/category/2-#韩剧$/category/3-#动漫$/category/6-#泰剧$/category/9-#纪录片$/category/10-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "class=\"stui-vodlist__box stui-vodlist__bg", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/play/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-pannel_bd col-pd clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"data\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "03-乐猪影院", + "url": "http://www.lezhutv.com", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#梅剧$/type/15-#其它$/type/16-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "口袋影院", + "url": "http://www.koudaitv.com", + "User": "空", + "fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#梅剧$/type/15-1--------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "北川影院", + "url": "https://www.bcwzg.com", + "User": "Referer:https://j.bcyingshi.ink/", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"loading\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-itemvideo-info-contentvod_content\">", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "六度TV", + "url": "http://6d.xuangz.cn", + "User": "空", + "fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#M国片$/whole/1_M国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧梅剧$/whole/2__欧梅剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v_show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"v-thumb stui-vodlist", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "花猫TV", + "url": "http://www.huamaotv.com", + "User": "空", + "fenlei": "电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\"", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "GIMY影院", + "url": "https://gmtv1.xyz", + "User": "空", + "fenlei": "电视剧$/genre/tvseries---#电影$/genre/movies---#综艺$/genre/tv_show---#动漫$/genre/anime---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#喜剧片$/genre/comedy+---#爱情片$/genre/romance---#战争片$/genre/war---#奇幻片$/genre/fantasy---#恐怖片$/genre/horror---#纪录片$/genre/documentary+---#动画电影$/genre/animation---#国产剧$/genre/cn---#韩剧$/genre/kr---#梅剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "Gimy TV 劇迷線上看", + "url": "https://gimytv.app", + "User": "空", + + "fenlei": "陸剧$/genre/cn---#韩剧$/genre/kr---#梅剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---#纪录片$/genre/documentary---#综艺$/genre/tv_show---#日漫$/genre/anime-日本--#梅漫$/genre/anime-梅國--#欧漫$/genre/anime-歐梅--#陸漫$/genre/anime-大陸--#台漫$/genre/anime-臺灣--#港漫$/genre/anime-香港--#韩漫$/genre/anime-韓國--#电影$/genre/movies---#动画电影$/genre/animation---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#爱情片$/genre/romance---#奇幻片$/genre/magic---#战争片$/genre/war---#恐怖片$/genre/horror---#喜剧片$/genre/comedymovie---", + "houzhui": "/by/time.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "狀態:", + "zhuangtaihou": "

    ", + "daoyanqian": "導演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "YYDS影院", + "url": "https://www.yydsvod.com", + "User": "空", + "fenlei": "电视剧$/vod/show/drama--------#电影$/vod/show/movie--------#综艺$/vod/show/varietyshow--------#动漫$/vod/show/animes--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-6 col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "思乐影院", + "url": "https://www.4ltv.com", + "User": "空", + "fenlei": "电视剧$/show/1------#电影$/show/2------#综艺$/show/3------#动漫$/show/4------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"sort-item", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "如如影院", + "url": "https://www.wei333.com/", + "User": "空", + "fenlei": "电影$/movie/?v1-#电视剧$/dsj/?v2-#综艺$/zong/?v3-#动漫$/dong/?v4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "看一看影院", + "url": "https://www.kyikan.cc", + "fenlei": "连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧梅剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", + "houzhui": "-order--by--class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"bz\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "      ", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "乌龟影院", + "url": "https://www.wuguiyy.com", + "User": "空", + "fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "31看影院", + "url": "https://www.31kan.vip", + "author": "dj", + "User": "空", + "fenlei": "热播剧集$/vodshow/2--hits------#热播电影$/vodshow/1--hits------#热播综艺$/vodshow/3--hits------#热播少儿$/vodshow/33--hits------#国产剧$/vodshow/2-大陆-------#港剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#梅剧$/vodshow/2-M国-------#泰剧$/vodshow/2-泰国-------#日剧$/vodshow/2-日本-------#英剧$/vodshow/2-英国-------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "
      ", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小强迷", + "url": "http://xqmi.top", + "User": "空", + "fenlei": "动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧梅剧$/index.php/vod/show/id/16/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "
  • ", + "tupianqian": "data-original=\"", + "tupianhou": "\">", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "
      ", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "爱港剧", + "url": "http://www.2gangju.cc", + "User": "空", + "fenlei": "电影$/vodshow/dianying--------#电视剧$/vodshow/dianshiju--------#综艺$/vodshow/zongyi--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"stui-vodlist clearfix\"", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500&submit=", + "sousuohouzhui": "/dianshiju/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "VIP1280", + "url": "http://www.vip1280.net", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/frim/index1/page/#电视剧$/frim/index2/page/#港台剧$/frim/index3/page/#动作片$/frim/index6/page/#爱情片$/frim/index7/page/#科幻片$/frim/index8/page/#恐怖片$/frim/index9/page/#战争片$/frim/index10/page/#喜剧片$/frim/index11/page/#记录片$/frim/index12/page/#剧情片$/frim/index20/page/#动画片$/frim/index21/page/#欧梅剧$/frim/index4/page/#日韩剧$/frim/index5/page/#泰剧$/frim/index22/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/index", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"detail-sketch\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小熊影院", + "url": "http://www.xxys520.com/", + "User": "空", + "fenlei": "最新电影$/vodshow/1-----------2022/page/#最新国产剧$/vodshow/2-----------2022/page/#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧梅剧$/vodtype/16-#泰国剧$/vodtype/29-#其他剧$/vodtype/27-#动漫$/vodtype/3-#综艺$/vodtype/4-#纪录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "影院之光", + "url": "http://vip.8kvod.com:888", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/t/1/page/#连续剧$/t/2/page/#综艺$/t/3/page/#动漫$/t/4/page/#动作片$/t/6/page/#喜剧片$/t/7/page/#爱情片$/t/8/page/#科幻片$/t/9/page/#恐怖片$/t/10/page/#剧情片$/t/11/page/#动画片$/t/29/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/k/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "剧情简介','", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "手机看剧", + "url": "https://www.shoujikanju.com/", + "User": "空", + "fenlei": "电影$/sort/1-#电视剧$/sort/2-#综艺$/sort/3-#动漫$/sort/4-#纪录片$/sort/5-", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "id=\"list\"", + "jiequhou": "", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"bd_title\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "", + "zhuangtaihou": "", + "daoyanqian": "class=\"text-muted\">导演:", + "daoyanhou": "", + "zhuyanqian": "class=\"text-muted\">主演:", + "zhuyanhou": "", + "juqingqian": "
    ", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "创艺影院", + "url": "https://www.30dian.cn", + "tihuan": "vip.30dian.cn", + "User": "空", + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#纪录片$/vodshow/30--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"text-red\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "炫猫影院", + "url": "https://www.xuanmao520.com/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/index.php/vod/type/id/1/#剧集$/index.php/vod/type/id/2/#综艺$/index.php/vod/type/id/3/#动漫$/index.php/vod/type/id/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/play/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list scrollbar sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"span\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "奈菲影院", + "url": "https://www.1985.one/", + "User": "空", + "fenlei": "电影$/vodshow/id/1/page/#连续剧$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#动漫$/vodshow/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item-", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"module-item-text\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "牛马TV", + "url": "http://www.niumatv.com/", + "User": "空", + "fenlei": "电影$/type/dianying-#电视剧$/type/dianshiju-#国产剧$/vodshow/area/中国大陆/id/dianshiju/page/#港剧$/vodshow/area/中国香港/id/dianshiju/page/#韩剧$/vodshow/area/韩国/id/dianshiju/page/#欧梅剧$/vodshow/area/M国/id/dianshiju/page/#综艺$/type/zongyi-#动漫$/type/dongman-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "豆角网", + "url": "https://m.doujiaow1.com/", + "User": "空", + "fenlei": "电影$/index.php?m=vod-list-id-1-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#泰剧$/index.php?m=vod-list-id-26-pg-#日剧$/index.php?m=vod-list-id-17-pg-#梅剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#动漫剧集$/index.php?m=vod-list-id-37-pg-#动漫电影$/index.php?m=vod-list-id-35-pg-#综艺$/index.php?m=vod-list-id-3-pg-", + "houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"con\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + + "bfjiequshuzuqian": "class=\"ulNumList", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "尘落影院", + "url": "https://v.xuangz.cn/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/whole/2_______0_addtime_#电影$/whole/1_______0_id_#综艺$/whole/4_______0_addtime_#动漫$/whole/3_______0_addtime_#全网资源$/whole/5_______0_addtime_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"movie-item-in", + "jiequshuzuhou": "class=\"item-hover", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"movie-item-in", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"row tv-js-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态", + "zhuangtaihou": "", + "daoyanqian": "导演", + "daoyanhou": "", + "zhuyanqian": "主演", + "zhuyanhou": "", + "juqingqian": "border-radius: 4px", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "class=\"tv-js-btn\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "电影馆", + "url": "https://www.dianyingguan.cn/", + "fenlei": "电影$/show/1--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧梅剧$/show/16--------#其他剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "爱看影院", + "url": "https://ikan6.vip/", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#梅剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "凛冬又至", + "url": "https://ldyz.live/", + "fenlei": "电影$/vodtype/1-#欧梅剧$/vodtype/20-#日剧$/vodtype/24-#韩剧$/vodtype/21-#泰剧$/vodtype/23-#动漫$/vodtype/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "红领巾", + "url": "https://www.honglingjin.tv", + "User": "空", + "fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/3/#动漫$/list/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail1/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-cover", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "Nike影院网", + "url": "https://www.ajeee.com", + "tihuan": "51.la", + "User": "空", + "fenlei": "电影$/show/Movie/page/#大陆剧$/show/Tv/area/大陆/page/#韩剧$/show/Tv/area/韩国/page/#港剧$/show/Tv/area/香港/page/#台剧$/show/Tv/area/台湾/page/#日剧$/show/Tv/area/日本/page/#梅剧$/show/Tv/area/M国/page/#泰剧$/show/Tv/area/泰国/page/#英剧$/show/Tv/area/英国/page/#大陆动漫$/show/Cartoon/area/大陆/page/#日本动漫$/show/Cartoon/area/日本/page/#欧梅动漫$/show/Cartoon/area/欧梅/page/#综艺$/show/Variety/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "class=\"layout-box", + "jiequshuzuqian": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "伊雪湾", + "tihuan": "cnzz.com", + "url": "https://www.yixuewan.com", + "fenlei": "国产剧$/vodshow/13/page/#日韩剧$/vodshow/14/page/#港台剧$/vodshow/15/page/#欧梅剧$/vodshow/16/page/#其他剧$/vodshow/20/page/#纪录片$/vodshow/21/page/#大陆动漫$/vodshow/4/area/中国大陆/page/#日本动漫$/vodshow/4/area/日本/page/#M国动漫$/vodshow/4/area/M国/page/#其他动漫$/vodshow/4/area/其他/page/#综艺$/vodshow/3/page/#动作片$/vodshow/6/page/#喜剧片$/vodshow/7/page/#剧情片$/vodshow/24/page/#爱情片$/vodshow/8/page/#科幻片$/vodshow/9/page/#恐怖片$/vodshow/10/page/#冒险片$/vodshow/11/page/#战争片$/vodshow/12/page/#其他片$/vodshow/32/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y\">", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "极品影院", + "url": "https://www.jpys.me/", + "User": "空", + "fenlei": "大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧梅剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "有声小说", +"url": "https://m.tingzh.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "玄幻$/list/1-#武侠$/list/2-#都市$/list/3-#言情$/list/4-#科幻$/list/5-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"bookbox\"", +"jiequshuzuhou": "class=\"intro_line\"", +"tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "class=\"bookname\">", +"biaotihou": "", +"lianjieqian": "bookid=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://m.tingzh.com/book/", +"ljhouzhui": ".html", +"fubiaotiqian": "状态:", +"fubiaotihou": "", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "&Submit=", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"bookbox\"", +"ssjiequshuzuhou": "class=\"intro_line\"", +"sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "class=\"bookname\">", +"ssbiaotihou": "", +"sslianjieqian": "bookid=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://m.tingzh.com/book/", +"ssljhouzhui": ".html", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "
    状态:", +"zhuangtaihou": "", +"daoyanqian": "
    作者:", +"daoyanhou": "", +"zhuyanqian": "
    播音:", +"zhuyanhou": "", +"juqingqian": "class=\"book_intro\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "name": "139影院", + "url": "https://www.139ys.com", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#国产剧$/vodshow/guochanju--------#港台剧$/vodshow/gangtaiju--------#日韩剧$/vodshow/rihanju--------#欧梅剧$/vodshow/oumeiju--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ "name": "Justlive斗鱼", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=douyu&page=#电台新声$Area?platform=douyu&area=电台新声&page=#文化$Area?platform=douyu&area=文化&page=#科普$Area?platform=douyu&area=科普&page=#王者荣耀$Area?platform=douyu&area=王者荣耀&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=douyu&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\""}]} + diff --git a/调试助手/zh.txt b/调试助手/zh.txt new file mode 100644 index 0000000..1439bcb --- /dev/null +++ b/调试助手/zh.txt @@ -0,0 +1,2219 @@ +//持续关注工众號:應佣多多,及时获取最新免费优质软件,本接口自网络收集,仅为不会写代码而又想使用调试助手的粉丝提供便利之用,作者不是本人,而是多位网络大佬,如有冒犯,请联系删除,谢谢! +{"Home": [ +{"key":"采集","title":"主页","pic":"https://i.niupic.com/images/2022/10/03/a5Zt.jpg"}, +{"key":"网页","title":"网页","pic":"https://i.niupic.com/images/2022/10/03/a5Zu.jpg"}, +{"key":"APP","title":"APP","pic":"https://i.niupic.com/images/2022/10/03/a5Zv.jpg"}, +{"key":"直播","title":"直播","pic":"https://i.niupic.com/images/2022/10/03/a5Zw.jpg"}, +{"key":"历史","title":"历史","pic":"https://i.niupic.com/images/2022/10/03/a5Zy.jpg"}, +{"key":"收藏","title":"收藏","pic":"https://i.niupic.com/images/2022/10/03/a5Zz.jpg"}, +{"key":"推送","title":"推送","pic":"https://i.niupic.com/images/2022/10/03/a5ZA.jpg"}, +{"key":"音乐MV","title":"音乐MV","pic":"https://i.niupic.com/images/2022/10/03/a5ZB.jpg","custom":"eyJuYW1lIjogIumfs+S5kE1WIiwKInVybCI6ICJodHRwczovL3d3dy5pY2hlbXYuY29tIiwKIlVzZXIiOiAiYXV0aG9yaXR5JHBsYXkuYmdwLjY4dG9vbC5jb20jcmVmZXJlciRodHRwczovL3d3dy5pY2hlbXYuY29tLyIsCiLlm77niYfor7fmsYLlpLQiOiAiUmVmZXJlciRodHRwczovL3d3dy5pY2hlbXYuY29tLyIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMCIsCiLlkK/nlKhqc+WKoOi9vea6kOeggSI6IjEiLAoianPliqDovb3mupDnoIHml7bpl7QiOiIzIiwKIuebtOaOpeaSreaUviI6ICIxIiwKIuaoquWbvuaYvuekuiI6ICIwIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLljY7or61NViQvbXYvMV8wI+aXpemfqU1WJC9tdi8yXzAj5qyn576OTVYkL212LzNfMCPnjrDlnLpNViQvbXYvNF8wI+W9sXNNViQvbXYvNV8wI+WknOW6l+inhumikSQvbXYvNl8wI+i9puaooeinhumikSQvbXYvN18wI+eDreiInuinhumikSQvbXYvOF8wI+e+juWls3jnnJ8kL212LzlfMCPnvo7lpbPmiZPnop8kL212LzEwXzAj5Liy54On6KeG6aKRJC9tdi8xMV8wIiwKImhvdXpodWkiOiAiLmh0bWwiLAoic2hpZm91ZXJjaWppZXF1IjogIjAiLAoiamllcXVxaWFuIjogIuepuiIsCiJqaWVxdWhvdSI6ICLnqboiLAoiamllcXVzaHV6dXFpYW4iOiAiY2xhc3M9XCJwaWNcIiIsCiJqaWVxdXNodXp1aG91IjogIjwvbGk+IiwKInR1cGlhbnFpYW4iOiAiPGltZyBzcmM9XCIiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiY2xhc3M9XCJtdl9uYW1lXCI+IiwKImJpYW90aWhvdSI6ICI8L2Rpdj4iLAoibGlhbmppZXFpYW4iOiAiaHJlZj1cIiIsCiJsaWFuamllaG91IjogIlwiIiwKImxqcWlhbnpodWkiOiAiaHR0cHM6Ly93d3cuaWNoZW12LmNvbSIsCiJmdWJpYW90aXFpYW4iOiAiY2xhc3M9XCJtdl9wXCI+IiwKImZ1Ymlhb3RpaG91IjogIjwvZGl2PiJ9"},{"key": "自选网页", + +"title": "JRS", + +"pic": "https://i.niupic.com/images/2022/10/04/a653.jpg", + +"custom": "eyJuYW1lIjogIuS9k+iCsi1qcnMiLAoidXJsIjogImh0dHA6Ly93d3cuanJza2FuLmNvbSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJqaWVxdXFpYW4iOiAi56m6IiwKImppZXF1aG91IjogIuepuiIsCiJqaWVxdXNodXp1cWlhbiI6ICI8dWwgY2xhc3M9XCJpdGVtIHBsYXkiLAoiamllcXVzaHV6dWhvdSI6ICI8L3VsPiIsCiJ0dXBpYW5xaWFuIjogInNyYz1cIiIsCiJ0dXBpYW5ob3UiOiAiXCIiLAoiYmlhb3RpcWlhbiI6ICJjbGFzcz1cImxhYl90ZWFtX2hvbWVcIj4iLAoiYmlhb3RpaG91IjogIjxsaSBjbGFzcz1cImxhYl9iY1wiIiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSIsCiJsaWFuamllaG91IjogIlwiIiwKImxqcWlhbnpodWkiOiAiaHR0cDovL3BsYXkuc3BvcnRzdGVhbTMzMy5jb20iLAoiZnViaWFvdGlxaWFuIjogImNsYXNzPVwibGFiX3RpbWVcIj4iLAoiZnViaWFvdGlob3UiOiAiPC9saT4iLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJjbGFzcz1cInN1Yl9wbGF5bGlzdFwiIiwKImJmamllcXVzaHV6dWhvdSI6ICJ8IiwKInpodWFuZ3RhaXFpYW4iOiAiY2xhc3M9XCJvdGhlcmJveFwiPiIsCiJ6aHVhbmd0YWlob3UiOiAiPC9wPiIsCiJkYW95YW5xaWFuIjogIuWvvOa8lO+8mjwvc3Bhbj4iLAoiZGFveWFuaG91IjogIjwvcD4iLAoiemh1eWFucWlhbiI6ICLkuLvmvJTvvJo8L3NwYW4+IiwKInpodXlhbmhvdSI6ICI8L3A+IiwKImp1cWluZ3FpYW4iOiAiPHNwYW4gY2xhc3M9XCJkYXRhXCIiLAoianVxaW5naG91IjogIjwvc3Bhbj4iLAoiYmZ5c2hpZm91ZXJjaWppZXF1IjogIjAiLAoiYmZ5amllcXVxaWFuIjogIuepuiIsCiJiZnlqaWVxdWhvdSI6ICLnqboiLAoiYmZ5amllcXVzaHV6dXFpYW4iOiAiPGEiLAoiYmZ5amllcXVzaHV6dWhvdSI6ICIvYT4iLAoiYmZiaWFvdGlxaWFuIjogIjxzdHJvbmc+IiwKImJmYmlhb3RpaG91IjogIjwvc3Ryb25nPiIsCiJiZmxpYW5qaWVxaWFuIjogImRhdGEtcGxheT1cIiIsCiJiZmxpYW5qaWVob3UiOiAiXCIiLAoiYmZxaWFuemh1aSI6ICJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSJ9"}, + +{"key": "自选网页", + +"title": "直播吧", + +"pic": "https://i.niupic.com/images/2022/10/04/a654.jpg", + +"custom": "CnsibmFtZSI6ICLkvZPogrItemI4IiwKInVybCI6ICJodHRwczovL3d3dy56aGlibzgubmV0IiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuebtOaOpeaSreaUviI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImNsYXNzPVwibWF0Y2gtaXRlbVwiIiwKImppZXF1c2h1enVob3UiOiAiPC9hPiIsCiJ0dXBpYW5xaWFuIjogImh0dHBzOi8vaW1nMC5iYWlkdS5jb20vaXQvdT05NTk2MDcwNDMsMTA1NDIzNzUyMCZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz00MTcmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtaG9tZSBmbGV4XCI+IiwKImJpYW90aWhvdSI6ICI8L2Rpdj4iLAoidHVwaWFucWlhbnpodWkiOiAi56m6IiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogIuepuiIsCiJmdWJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtdGltZVwiPiIsCiJmdWJpYW90aWhvdSI6ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+In0="}, + +{"key": "自选网页", + +"title": "抓饭直播", + +"pic": "https://i.niupic.com/images/2022/10/04/a655.jpg", + +"custom": "CnsibmFtZSI6ICLmipPppa3nm7Tmkq0iLAoidXJsIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2giLAoidWEiOiAiTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18yXzMgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzEzLjAuMyBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLnm7TmjqXmkq3mlL4iOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMSIsCiJqaWVxdXFpYW4iOiAiXCJjaGFubmVsc1wiIiwKImppZXF1aG91IjogIl0iLAoiamllcXVzaHV6dXFpYW4iOiAieyIsCiJqaWVxdXNodXp1aG91IjogIn0iLAoidHVwaWFucWlhbiI6ICJcImltYWdlVXJsXCI6XCIiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiXCJjbmFtZVwiOlwiIiwKImJpYW90aWhvdSI6ICJcIiIsCiJsaWFuamllcWlhbiI6ICJcImlkXCI6XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2gvIiwKImZ1Ymlhb3RpcWlhbiI6ICJcImNhdGVnb3J5TmFtZVwiOlwiIiwKImZ1Ymlhb3RpaG91IjogIlwiIn0="}, + +{"key": "自选网页", + +"title": "88看球", + +"pic": "https://i.niupic.com/images/2022/10/04/a656.jpg", + +"custom": "CnsibmFtZSI6ICLkvZPogrItODjnnIvnkIMiLAoidXJsIjogImh0dHA6Ly93d3cuODhrYW5xaXUuY29tIiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImdyb3VwLWdhbWUtaXRlbSIsCiJqaWVxdXNodXp1aG91IjogIjwvbGk+IiwKInR1cGlhbnFpYW4iOiAiaHR0cHM6Ly9pbWcwLmJhaWR1LmNvbS9pdC91PTE4NDU5NzgxLDcyNjI4OTM2MiZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz04MDAmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAidGV4dC1yaWdodFwiPiIsCiJiaWFvdGlob3UiOiAiPGRpdiBkYXRhLWlkIiwKInR1cGlhbnFpYW56aHVpIjogIuepuiIsCiJsaWFuamllcWlhbiI6ICJocmVmPSciLAoibGlhbmppZWhvdSI6ICInIiwKImxqcWlhbnpodWkiOiAi56m6IiwKImZ1Ymlhb3RpcWlhbiI6ICJyb2xlPVwiYnV0dG9uXCI+IiwKImZ1Ymlhb3RpaG91IjogIjwiLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJcImdhbWUtdmlkZW9zLWJ0bi1jb250YWluZXJcIiIsCiJiZmppZXF1c2h1enVob3UiOiAiPC9kaXY+IiwKImJmeXNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImJmeWppZXF1cWlhbiI6ICLnqboiLAoiYmZ5amllcXVob3UiOiAi56m6IiwKImJmeWppZXF1c2h1enVxaWFuIjogIjxhIiwKImJmeWppZXF1c2h1enVob3UiOiAiL2E+IiwKImJmYmlhb3RpcWlhbiI6ICI+IiwKImJmYmlhb3RpaG91IjogIjwiLAoiYmZsaWFuamllcWlhbiI6ICJocmVmPSciLAoiYmZsaWFuamllaG91IjogIicifQ=="} +], + +"zhuyejiekou": [ +{"name":"👑工众號:應佣多多","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"👒暖光影视","url":"https://app.bl210.com/api.php/v1.vod"}, +{"name":"👒52看剧(萝卜)","url":"http://tool.xxmlb.com/qingdoujiekou.php/v1.vod"}, +{"name":"👒影库","url":"https://yingkudy.com/lvdou_api.php/v1.vod"}, +{"name":"👒爱酷影视","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"👒百淘影视","url":"http://ys.58g8.com/lvdou_api.php/v1.vod"}, +{"name":"👒段友影视2","url":"https://shangjihuoke.com/api.php/tv.vod"}, +{"name":"👒优众影视","url": "http://121.205.88.194:7878/xgtv.php/v1/"}, +{"name":"👒爱影视","url": "https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"👒爱酷影视","url": "https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"} +], + +"caijizhan": [ +{"name":"👑工众號:應佣多多","url":"http://api.kunyu77.com/api.php"}, +{"name":"🐯多多资源","url":"https://www.ddzyz1.com/api.php"}, +{"name":"🐯红牛资源","url":"https://www.hongniuzy2.com/api.php"}, +{"name":"🐯晓辉资源","url":"https://www.xhzy01.com/api.php"}, +{"name":"🐯老子采集","url":"http://cj.lziapi.com/api.php"}, +{"name":"🐯1080资源库","url":"https://api.1080zyku.com/inc/api_mac10.php"}, +{"name":"🐯天堂资源","url":"http://vipmv.cc/api.php"}, +{"name":"🐯土狗2345","url":"http://2345.tgzy.cc/api.php"}, +{"name":"🐯土狗360","url":"http://360.tgzy.cc/api.php"}, +{"name":"🐯忆梦","url":"http://anltv.cn/api.php"}, +{"name":"🐯木子看剧","url":"https://mzkj.maccms.cf/api.php"}, +{"name":"🐯冠军资源","url":"https://www.cmpzy.com/api.php"}, +{"name":"🐯快车资源","url":"https://caiji.kczyapi.com/api.php"}, +{"name":"🐯FOX资源","url":"https://api.foxzyapi.com/api.php"}, +{"name":"🐯量子资源","url":"http://cj.lziapi.com/api.php"}, +{"name":"🐯卧龙资源","url":"https://collect.wolongzyw.com/api.php"} +], + +"zhujiexi":[ +{"name":"刘兵","url":"http://newjiexi.gotka.top/keyu3.php?url="}, +{"name":"云you","url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=bfijlnovBCEGHJTV09&url="}, +{"name":"ckflv","url":"http://api.ckflv.cn/?url="}, +{"name":"可与","url":"http://newjiexi.gotka.top/keyu3.php?url="}, +{"name":"融兴","url":"https://svip.rongxingvr.top/api/?key=4gb6ui9qfap4kLrvb2&url="}, +{"name":"猫咪","url":"http://api.xiaomaomi.tv/home/api?type=ys&uid=8728968&key=cdkmqvyzFIJPRT2349&url="}, +{"name":"free","url":"https://h5.freejson.xyz/player/?url="}, +{"name":"OKjx嗅探","url":"https://okjx.cc/?url="}, +{"name":"hxys","url":"https://hxys.tv/bfq/?url="}, +{"name":"fuqi","url":"https://play.fuqizhishi.com/juhe/API.php?appkey=caijijuhe220902&url="}, +{"name":"fositv","url":"https://play.fositv.com/?url="}, +{"name":"fuqi2","url":"https://play.fuqizhishi.com/jx1/API.php?appkey=iiiixiaobai&url="}, +{"name":"战狼","url":"https://jx.zhanlangbu.com/?url="}, +{"name":"酷云","url":"http://101.34.67.237:5705/parse/api/酷云.js?url="}, +{"name":"chaoli","url":"http://chaloli.cn/home/api?type=ys&uid=1942949&key=klmnqADJQRUV024678&url="}, +{"name":"fuqi3","url":"https://play.fuqizhishi.com/jx/API.php?appkey=iiiixiaobai&url="}, +{"name":"江湖","url":"http://101.34.67.237:5705/parse/api/江湖.js?url="}, +{"name":"鸿途","url":"http://101.34.67.237:5705/parse/api/鸿途.js?url="}, +{"name":"飞跃","url":"http://101.34.67.237:5705/parse/api/飞跃.js?url="}, +{"name":"无名","url":"http://101.34.67.237:5705/parse/api/无名.js?url="}, +{"name":"cyu","url":"https://vip.cyu0.cn/home/api?type=ys&uid=1353484&key=efopqwABCLOTVYZ278&url="}, +{"name":"bynote","url":"https://jx.bynote.top/API.php?url="}, +{"name":"vip","url":"http://101.34.67.237:5705/parse/api/vip.js?url="}, +{"name":"dyg","url":"http://101.34.67.237:5705/parse/api/dyg.js?url="}, +{"name":"江湖2","url":"http://211.99.99.236:4567/jhjson/ceshi.php?url="}], + "beiyongjiexi": [ +{"name":"解析1","url":"https://nbjx.vip/?url="}, +{"name":"解析2","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"解析3","url":"https://www.nxflv.com/?url="}, +{"name":"解析6","url":"https://za.kuanjv.com/?url="}, +{"name":"解析","url":"http://m2090.com/?url="}, +{"name":"解析","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"解析","url":"https://jx.xuanqi.pro/?url="}, +{"name":"解析","url":"https://www.nxflv.com/?url="}, +{"name":"解析","url":"http://47.100.138.210:92/?url="}, +{"name":"解析","url":"http://api.diliktv.xyz/vip/jx.php?url="}, +{"name":"解析","url":"https://vipjx.cc/?url="}, +{"name":"解析","url":"https://jx.aidouer.net/?url="}, +{"name":"解析","url":"https://svip.bljiex.cc/?v="}, +{"name":"解析","url":"https://bd.jx.cn/vip/?url="}, +{"name":"解析","url":"https://z1.m1907.cn/?jx="}, +{"name":"解析","url":"https://vip.2ktvb.com/player/?url="}, +{"name":"解析","url":"https://nbjx.vip/?url="}, +{"name":"备解1","url":"https://jx.xmflv.com/?url="}, +{"name":"备解2","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解3","url":"https://www.pangujiexi.com/pangu/?url="}, +{"name":"备解4","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解5","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"备解6","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"备解7","url":"https://jx.m3u8.tv/jiexi/?url="}, +{"name":"备解8","url":"https://okjx.cc/?url="}, +{"name":"备解9","url":"https://www.yemu.xyz/?url="}, +{"name":"备解10","url":"https://jx.xmflv.com/?url="}, +{"name":"备解11","url":"https://parse.123mingren.com/?url="}, +{"name":"备解12","url":"http://www.ckmov.vip/api.php?url="}, +{"name":"备解13","url":"http://api.wpsseo.cn/?v="}, +{"name":"备解14","url":"https://go.yh0523.cn/y.cy?url="}, +{"name":"备解15","url":"https://www.ckplayer.vip/jiexi/?url="}, +{"name":"解析","url":"http://jx5.178du.com/p1/?url="} ], +// 电视直播的接口链接 +"dianshizhibo":"https://image.api.losfer.cn/down.php/994beb4e9cfb5283a3318cf5044ec758.txt&a0709a", + +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#?video_id=", + +"guolvdizhi": ".gif#.css#.ico#.html#51.la#poster#?url=#file=#cnzz.com#baidu.com#tootw.com#auete.com#bilibili.com", + + +"zidingyi": [ +{"name":"👑工众號:應佣多多", +"url": "https://www.pipipao.com", +"User": "User-Agent$123", +"fenlei": "国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/#电视剧$/vodshow/id/dianshiju/page/#电影$/vodshow/id/dianying/page/#综艺$/vodshow/id/zongyi/page/#动漫$/vodshow/id/dongman/page/#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "class=\"more", +"线路名截取数组后": "
    ", +"线路名标题前": "/>", +"线路名标题后": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "class=\"text-muted\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"text-muted\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ +"name": "乐猪影视", +"url": "http://www.lezhutv.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "User-Agent$123", +"fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vbox\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search-pg-1-wd-", +"sousuohou": ".html&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"vbox\"", +"ssjiequshuzuhou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"ssfubiaotiqian": "", +"ssfubiaotihou": "", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list_block show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, + +{ +"name": "厂长资源", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"url": "https://www.czspp.com", +"User": "User-Agent$123", +"嗅探词": "m3u8?#.m3u8#mp4#douyinvod#/video/tos", +"过滤词": "?url=#.css#51.la#cnzz.com#baidu.com", +"fenlei": "本月热门$/benyueremen/page/#高分影视$/gaofenyingshi/page/#豆瓣电影TOP250$/dbtop250/page/#最新电影$/zuixindianying/page/#电视剧$/dsj/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/#日剧$/movie_bt_series/rj/page/#海外剧$/movie_bt_series/hwj/page/#番剧$/fanju/page/#动漫$/dm/page/#韩国电影$/movie_bt_series/hanguodianying/page/#纪录片$/movie_bt/movie_bt_tags/jlpp/page/", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"thumb", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"lianjieqian": "czspp.com", +"lianjiehou": "\"", +"sousuoqian": "/xssearch?q=", +"sousuohou": "", +"sousuohouzhui": "/movie/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"thumb", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"ssfubiaotiqian": "", +"ssfubiaotihou": "", +"sslianjieqian": "czspp.com", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"paly_list_btn\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "
  • 导演:", +"daoyanhou": "
  • ", +"zhuyanqian": "
  • 主演:", +"zhuyanhou": "
  • ", +"juqingqian": "class=\"yp_context\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "czspp.com", +"bflianjiehou": "\"" +}, +{"name": "555电影", +"url": "https://www.555dy.me", +"User": "User-Agent$123", +"fenlei": "热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧美剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#美食片$/vodshow/1---美食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "class=\"fixedGroup", +"jiequshuzuqian": "", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "
    ", +"线路名标题前": "", +"线路名标题后": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "introduction-content\">

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"zhuangtaiqian": "年份:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ +"name": "极品影视", +"url": "https://www.jpys.me", +"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "origin$https://player.movie09.com", +"嗅探词": "m3u8?#.m3u8#mp4#.flv#.mp3#.m4a", +"过滤词": "?url=#.css#51.la#cnzz.com#baidu.com", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧美剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", +"houzhui": "---.html", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "评分排序", +"jiequhou": "
    ", +"jiequshuzuqian": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "module-item-note\">", +"fubiaotihou": "
    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "
    ", +"线路名标题前": "", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\">", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-blocklist scroll-box scroll-box-y module-player-list\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name": "七小时影院", +"url": "http://www.qxsyy.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", + "fenlei": "电影$/type/1-#电视剧$/type/2-#综艺$/type/3-#动漫$/type/4-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "", +"jiequhou": "", +"jiequshuzuqian": "lazyload", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"/vod/", +"lianjiehou": ".html\"", +"ljqianzhui": "http://www.qxsyy.com/play/", +"ljhouzhui": "-1-1.html", +"搜索请求方式": "0", +"ssmoshi": "0", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/play/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"ssfubiaotiqian": "空", +"ssfubiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"ssljhouzhui": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "空", +"线路名截取后": "空", +"线路名截取数组前": "data-toggle=\"tab\"", +"线路名截取数组后": "/a>", +"线路名标题前": ">", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"text-muted hidden-xs\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"col-pd text-collapse content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "空", +"bfhouzhui": "空", +"bfjiexi": "空"}, +{ +"name": "酷客影院", +"url": "http://696m.com", +"User": "User-Agent$123", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__thumb", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"搜索请求方式": "1", +"ssmoshi": "1", +"sousuoqian": "http://696m.com/search.php", +"sousuohou": "searchword", +"sousuohouzhui": "", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "data", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"ssfubiaotiqian": "text-right\">", +"ssfubiaotihou": "", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "LIBVIO", +"url": "https://www.libvio.me", +"User": "User-Agent$123", +"fenlei": "最近更新$/show/19--------#电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------#动画片$/show/1---动画-----#纪录片$/show/21--------#国产剧$/show/13--------#日韩剧$/show/15--------#欧美剧$/show/16--------#港台剧$/show/14--------#泰国剧$/show/2-泰国-------#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#恐怖片$/show/1---恐怖-----#动作片$/show/1---动作-----#科幻片$/show/1---科幻-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#警匪片$/show/1---警匪-----#犯罪片$/show/1---犯罪-----#奇幻片$/show/1---奇幻-----#武侠片$/show/1---武侠-----#冒险片$/show/1---冒险-----", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "class=\"stui-vodlist__detail\"", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "class=\"pic-text text-right\">", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "icon-iconfontplay2\"", +"线路名截取数组后": "/h3>", +"线路名标题前": ">", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data\">总集数:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">类型:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name":"溪谷影视", +"url": "http://www.xigutv.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "User-Agent$123", +"添加手动点击图标": "0", +"嗅探词": ".m3u8", +"过滤词": ".css#.png#.gif#.jpg#url=", +"cookie":"", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/#电影$/index.php/vod/show/id/1/page/", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-main", +"jiequhou": "id=\"page\"", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "", +"fubiaotiqian":"class=\"module-item-note\">", +"fubiaotihou": "", +"搜索请求方式": "0", +"ssmoshi": "0", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "", +"ssjiequhou": "", +"ssjiequshuzuqian": "", +"ssjiequshuzuhou": "", +"sstupianqian": "data-src=\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"ssfubiaotiqian": "

    ", +"ssfubiaotihou": "

    ", +"ssmao": "cai", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "空", +"ssljhouzhui": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "class=\"module-tab-item tab-item\"", +"线路名截取数组后": "", +"线路名标题前": "", +"线路名标题后": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "", +"bfyjiequhou": "", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "", +"bfhouzhui": "", +"bfjiexi": ""}, +{ +"name": "瓜皮TV", +"url": "https://guapitv.xyz", +"User": "User-Agent$123", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "class=\"fixedGroup", +"jiequshuzuqian": "", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "空", +"线路名截取后": "空", +"线路名截取数组前": "tab-item\"", +"线路名截取数组后": "", +"线路名标题前": "", +"线路名标题后": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "introduction-content\">

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"sstupianqian": "data-src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"是否启用播放线路名": "1", +"线路名是否二次截取": "0", +"线路名截取前": "", +"线路名截取后": "", +"线路名截取数组前": "data-dropdown-value", +"线路名截取数组后": "", +"线路名标题前": "\">", +"线路名标题后": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list", +"bfjiequshuzuhou": "class=\"module\">", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ +"name": "影视工厂", +"url": "http://www.ysgc.cc", +"User": "User-Agent$123", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画片$/vodshow/1---动画-----#纪录片$/vodshow/24--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#海外剧$/vodshow/20--------#番剧(B站)$/vodshow/26--------#国创(B站)$/vodshow/27--------#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#科幻片$/vodshow/1---科幻-----#恐怖片$/vodshow/1---恐怖-----#悬疑片$/vodshow/1---悬疑-----#惊悚片$/vodshow/1---惊悚-----#犯罪片$/vodshow/1---犯罪-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#奇幻片$/vodshow/1---奇幻-----#武侠片$/vodshow/1---武侠-----#古装片$/vodshow/1---古装-----#冒险片$/vodshow/1---冒险-----#历史片$/vodshow/1---历史-----#歌舞片$/vodshow/1---歌舞-----#家庭片$/vodshow/1---家庭-----#网络片$/vodshow/1---网络-----", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"是否启用播放线路名": "1", +"线路名是否二次截取": "1", +"线路名截取前": "
      ", +"线路名截取数组前": "", +"线路名标题前": ">", +"线路名标题后": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name": "剧荒TV", +"url": "https://juhuang.tv", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "User-Agent$123", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "youtube精选$/type/28_type_#电视剧$/type/2_type_#电影$/type/1_type_#纪录片$/type/21_type_#动漫$/type/4_type_#综艺$/type/3_type_", +"houzhui": ".html", +"qishiye": "2", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\">", +"jiequshuzuhou": "class=\"loading\">", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuohouzhui": "/play/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "https://so.juhuang.tv/soapi.php?wd=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"ssjiequqian": "[", +"ssjiequhou": "]", +"ssjiequshuzuqian": "{", +"ssjiequshuzuhou": "}", +"sstupianqian": "\"vod_pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "\"vod_name\":\"", +"ssbiaotihou": "\"", +"ssfubiaotiqian": "空", +"ssfubiaotihou": "空", +"sslianjieqian": "\"vod_id\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://juhuang.tv/play/", +"ssljhouzhui": "_play_1_1.html", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"sort-item-1\"", +"bfjiequshuzuhou": "class=\"rightGG_1\"", +"zhuangtaiqian": "空", +"zhuangtaihou": "空", +"daoyanqian": "空", +"daoyanhou": "空", +"zhuyanqian": "空", +"zhuyanhou": "空", +"juqingqian": "class=\"sqjj_a\"", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ +"name": "Auete影视", +"url": "https://auete.com", +"User": "User-Agent$123", +"fenlei": "Netflix影视$/Netflix/movies#谍战剧集推荐$/diezhan/index#电影$/Movie/index#电视剧$/Tv/index#综艺$/Zy/index#动漫$/Dm/index#其他$/qita/index#记录片$/qita/Jlp/index#国产剧$/Tv/neidi/index#韩剧$/Tv/hanju/index#美剧$/Tv/oumei/index#日剧$/Tv/riju/index#泰剧$/Tv/yataiju/index#网剧$/Tv/wangju/index#台剧$/Tv/taiju/index#港剧$/Tv/tvbgj/index#英剧$/Tv/yingju/index#经典剧$/qita/Jdj/index#动画$/Dm/donghua/index#日漫$/Dm/riman/index#国漫$/Dm/guoman/index#美漫$/Dm/meiman/index#经典片$/qita/Jdp/index#网大电影$/qita/wlp/index#国产老电影$/qita/laodianying/index#喜剧片$/Movie/xjp/index#动作片$/Movie/dzp/index#爱情片$/Movie/aqp/index#科幻片$/Movie/khp/index#恐怖片$/Movie/kbp/index#惊悚片$/Movie/jsp/index#战争片$/Movie/zzp/index#剧情片$/Movie/jqp/index#", +"houzhui": ".html", +"qishiye": "2", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"trans_3", +"jiequshuzuhou": "class=\"lazy", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "", +"ssjiequshuzuhou": "", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "text-danger\">", +"ssbiaotihou": "", +"zhuangtaiqian": "状态: ", +"zhuangtaihou": "", +"daoyanqian": "影片导演:", +"daoyanhou": "

    ", +"zhuyanqian": "影片主演:", +"zhuyanhou": "

    ", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "1", +"bfyjiequqian": "
      ", +"bfyjiequhou": "
    ", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "哔嘀影视", +"url": "https://www.bdys01.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "User-Agent$123", +"fenlei": "最新影片$/s/all/#动作$/s/dongzuo/#爱情$/s/aiqing/#喜剧$/s/xiju/#科幻$/s/kehuan/#恐怖$/s/kongbu/#战争$/s/zhanzheng/#武侠$/s/wuxia/#魔幻$/s/mohuan/#剧情$/s/juqing/#动画$/s/donghua/#惊悚$/s/jingsong/#3D$/s/3D/#灾难$/s/zainan/#悬疑$/s/xuanyi/#警匪$/s/jingfei/#文艺$/s/wenyi/#青春$/s/qingchun/#冒险$/s/maoxian/#犯罪$/s/fanzui/#纪录$/s/jilu/#古装$/s/guzhuang/#奇幻$/s/qihuan/#国语$/s/guoyu/#综艺$/s/zongyi/#历史$/s/lishi/#运动$/s/yundong/#原创压制$/s/yuanchuang/#美剧$/s/meiju/#韩剧$/s/hanju/#国产电视剧$/s/guoju/#日剧$/s/riju/#英剧$/s/yingju/#德剧$/s/deju/#俄剧$/s/eju/#巴剧$/s/baju/#加剧$/s/jiaju/#西剧$/s/spanish/#意大利剧$/s/yidaliju/#泰剧$/s/taiju/#港台剧$/s/gangtaiju/#法剧$/s/faju/#澳剧$/s/aoju/", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "

    ", +"biaotihou": "

    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "top-0 start-0\">", +"fubiaotihou": "", +"sousuoqian": "/performer/", +"sousuohou": "", +"sousuohouzhui": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
    ", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "

    ", +"ssbiaotihou": "

    ", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"play-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "摘要:<>", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:<>", +"daoyanhou": "

    ", +"zhuyanqian": "主演:<>", +"zhuyanhou": "

    ", +"juqingqian": "剧情简介", +"juqinghou": "
    ", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{ +"name": "DJ音乐", +"url": "http://www.djuu.com", +"User": "空", +"是否记录历史": "1", +"直接播放": "1", +"横图显示": "0", +"列表显示": "1", +"fenlei": "热播$/search?musicname=热播&list=2&cid=0&page=#抖音热门$/search?musicname=%E6%8A%96%E9%9F%B3&list=2&cid=0&page=#经典旋律$/search?musicname=经典旋律&list=2&cid=0&page=#迪高串烧$/djlist/1_#喊麦串烧$/djlist/12_#中文串烧$/djlist/13_#外语串烧$/djlist/14_#中英串烧$/djlist/96_#慢摇串烧$/djlist/2_#喊麦串烧$/djlist/15_#Electro$/djlist/22_#ProgHouse$/djlist/26_#FunkyHouse$/djlist/99_#喊麦更多$/djlist/27_#慢摇中文串烧$/djlist/16_#慢歌串烧$/djlist/3_#中文Remix$/djlist/4_#外文Remix$/djlist/5_#越南鼓$/djlist/6_#酒吧风格$/djlist/7_#Mashup$/djlist/8_#中文DISCO$/djlist/9_#外文DISCO$/djlist/10_#交谊舞曲$/djlist/11_", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"isgood_list\">", +"jiequshuzuhou": "", +"tupianqian": "img src=\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "class=\"sc_1\">TIME", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"" +}, +{"name": "体育-jrs", +"url": "http://www.jrskan.com", +"User": "空", +"是否记录历史": "1", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"qishiye": "空", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
    ", +"tupianqianzhui": "空", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"col-time\">", +"fubiaotihou": " "}, +{"name": "体育-88看球", +"url": "http://www.88kanqiu.com", +"User": "空", +"是否记录历史": "1", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "group-game-item", +"jiequshuzuhou": "", +"tupianqian": "https://img0.baidu.com/it/u=18459781,726289362&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500", +"tupianhou": "\"", +"biaotiqian": "text-right\">", +"biaotihou": "
    ", +"fubiaotihou": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"game-videos-btn-container\"", +"bfjiequshuzuhou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href='", +"bflianjiehou": "'"}, +{"name": "98体育录像", +"url": "https://m.98zhibo.com", +"ua": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Mobile Safari/537.36", +"User": "", +"网页编码": "gb2312", +"嗅探词": "m3u8?#.m3u8#.mp4#.flv", +"过滤词": "?url=#.css#51.la#cnzz.com#baidu.com", +"是否记录历史": "1", +"列表显示": "1", +"qishiye": "1", +"fenlei": "NBA录像$/nbalx/list_175_#足球录像$/football/list_208_#CBA录像$/cba/list_180_#综合录像$/zonghe/list_196_", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "", +"jiequhou": "", +"jiequshuzuqian": "class=\"lite\"", +"jiequshuzuhou": "", +"tupianqian": "https://img2.baidu.com/it/u=918943129,3360154568&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=749", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "target=\"_self\">", +"biaotihou": "", +"fubiaotiqian": "class=\"pass_time\">", +"fubiaotihou": "", +"lianjieqian": "href='", +"lianjiehou": "'", +"ljqianzhui": "空", +"ljhouzhui": "空", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"signals\"", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"http", +"bflianjiehou": "\"", +"bfqianzhui": "http", +"bfhouzhui": "空", +"bfjiexi": "https://jx.bozrc.com:4433/player/?url="}, +{ +"name": "斗鱼", +"User": "空", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"url": "https://www.douyu.com/", +"直接播放": "1", +"是否记录历史": "1", +"横图显示": "1", +"fenlei": "一起看$gapi/rkc/directory/mixList/2_208/#趣生活$gapi/rkc/directory/mixList/2_1097/#穿越火线$gapi/rkc/directory/mixList/2_33/#QQ飞车$gapi/rkc/directory/mixList/2_331/#颜值$gapi/rkc/directory/mixList/2_201/#音乐$gapi/rkc/directory/mixList/2_175/#舞蹈$gapi/rkc/directory/mixList/2_1008/#科技$gapi/rkc/directory/mixList/2_134/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#汽车$gapi/rkc/directory/mixList/2_136/#纪录片$gapi/rkc/directory/mixList/2_514/#斗鱼购物$gapi/rkc/directory/mixList/2_1203/#户外$gapi/rkc/directory/mixList/2_124/#美食$gapi/rkc/directory/mixList/2_194/#互动交友$gapi/rkc/directory/mixList/2_1555/#二次元$gapi/rkc/directory/mixList/2_174/#网游竞技$gapi/rkc/directory/mixList/1_1/#单机热游$gapi/rkc/directory/mixList/1_15/#手游休闲$gapi/rkc/directory/mixList/1_9/#娱乐天地$gapi/rkc/directory/mixList/1_2/#科技文化$gapi/rkc/directory/mixList/1_11/#语音互动$gapi/rkc/directory/mixList/1_20/#语音直播$gapi/rkc/directory/mixList/1_18/#正能量$gapi/rkc/directory/mixList/1_13/#交友$gapi/rkc/directory/mixList/2_1221/#电台$gapi/rkc/directory/mixList/2_1556/#一起玩$gapi/rkc/directory/mixList/2_1575/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/#英雄联盟$gapi/rkc/directory/mixList/2_1/#热门游戏$gapi/rkc/directory/mixList/2_270/#DOTA2$gapi/rkc/directory/mixList/2_3/#CFHD$gapi/rkc/directory/mixList/2_1997/#DNF$gapi/rkc/directory/mixList/2_40/#炉石传说$gapi/rkc/directory/mixList/2_2/#CS:GO$gapi/rkc/directory/mixList/2_6/#逆战$gapi/rkc/directory/mixList/2_46/#lol云顶之弈$gapi/rkc/directory/mixList/2_917/#魔兽争霸$gapi/rkc/directory/mixList/2_55/#魔兽怀旧服$gapi/rkc/directory/mixList/2_1055/#网易游戏$gapi/rkc/directory/mixList/2_3567/#守望先锋$gapi/rkc/directory/mixList/2_148/#DOTA$gapi/rkc/directory/mixList/2_217/#魔兽世界$gapi/rkc/directory/mixList/2_5/#天涯明月刀$gapi/rkc/directory/mixList/2_59/#三国杀$gapi/rkc/directory/mixList/2_14/#主机游戏$gapi/rkc/directory/mixList/2_19/#永劫无间$gapi/rkc/directory/mixList/2_1227/#生死狙击2$gapi/rkc/directory/mixList/2_1781/#迷失ARK$gapi/rkc/directory/mixList/2_3528/#艾尔登法环$gapi/rkc/directory/mixList/2_3406/#逃离塔科夫$gapi/rkc/directory/mixList/2_1024/#V Rising$gapi/rkc/directory/mixList/2_3684/#海上狼人杀$gapi/rkc/directory/mixList/2_3556/#怀旧游戏$gapi/rkc/directory/mixList/2_26/#王者荣耀$gapi/rkc/directory/mixList/2_181/#和平精英$gapi/rkc/directory/mixList/2_350/#火影忍者$gapi/rkc/directory/mixList/2_196/#LOL手游$gapi/rkc/directory/mixList/2_1920/#金铲铲之战$gapi/rkc/directory/mixList/2_2556/#重返帝国$gapi/rkc/directory/mixList/2_2915/#COD手游$gapi/rkc/directory/mixList/2_767/#哈利波特$gapi/rkc/directory/mixList/2_1192/#CF手游$gapi/rkc/directory/mixList/2_178/#欢乐斗地主$gapi/rkc/directory/mixList/2_416/#原神$gapi/rkc/directory/mixList/2_1223/#天刀手游$gapi/rkc/directory/mixList/2_911/#棋牌娱乐$gapi/rkc/directory/mixList/2_113/#欢乐麻将$gapi/rkc/directory/mixList/2_451/#新游中心$gapi/rkc/directory/mixList/2_229/#阴阳师$gapi/rkc/directory/mixList/2_240/#热门手游$gapi/rkc/directory/mixList/2_30/", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "\"type\":1", +"jiequshuzuhou": "\"rs16\"", +"tupianqian": "\"rs1\":\"", +"tupianhou": "\"", +"biaotiqian": "\"rn\":\"", +"biaotihou": "\"", +"lianjieqian": "\"rid\":", +"lianjiehou": ",\"", +"ljqianzhui": "https://m.douyu.com/", +"fubiaotiqian": "\"nn\":\"", +"fubiaotihou": "\"" +}, +{ +"name": "虎牙", +"url": "https://www.huya.com/", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"User": "空", +"直接播放": "1", +"是否记录历史": "1", +"横图显示": "1", +"fenlei": "一起看$cache.php?m=LiveList&do=getLiveListByPage&gameId=2135&tagAll=0&callback=getLiveListJsonpCallback&page=#星秀$cache.php?m=LiveList&do=getLiveListByPage&gameId=1663&tagAll=0&callback=getLiveListJsonpCallback&page=#颜值$cache.php?m=LiveList&do=getLiveListByPage&gameId=2168&tagAll=0&callback=getLiveListJsonpCallback&page=#旅游$cache.php?m=LiveList&do=getLiveListByPage&gameId=6791&tagAll=0&callback=getLiveListJsonpCallback&page=#美食$cache.php?m=LiveList&do=getLiveListByPage&gameId=2752&tagAll=0&callback=getLiveListJsonpCallback&page=#趣分享$cache.php?m=LiveList&do=getLiveListByPage&gameId=5883&tagAll=0&callback=getLiveListJsonpCallback&page=#体育$cache.php?m=LiveList&do=getLiveListByPage&gameId=2356&tagAll=0&callback=getLiveListJsonpCallback&page=#户外$cache.php?m=LiveList&do=getLiveListByPage&gameId=2165&tagAll=0&callback=getLiveListJsonpCallback&page=#飞车$cache.php?m=LiveList&do=getLiveListByPage&gameId=9&tagAll=0&callback=getLiveListJsonpCallback&page=#LOL手游$cache.php?m=LiveList&do=getLiveListByPage&gameId=6203&tagAll=0&callback=getLiveListJsonpCallback&page=#怀旧游戏$cache.php?m=LiveList&do=getLiveListByPage&gameId=100125&tagAll=0&callback=getLiveListJsonpCallback&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "gameFullName", +"jiequshuzuhou": "isRoomPay", +"tupianqian": "screenshot\":\"", +"tupianhou": "\"", +"biaotiqian": "introduction\":\"", +"biaotihou": "\"", +"lianjieqian": "profileRoom\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://m.huya.com/", +"fubiaotiqian": "nick\":\"", +"fubiaotihou": "\"" +}, + +{"name": "有声小说", +"url": "https://m.tingzh.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "玄幻$/list/1-#武侠$/list/2-#都市$/list/3-#言情$/list/4-#科幻$/list/5-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"bookbox\"", +"jiequshuzuhou": "class=\"intro_line\"", +"tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "class=\"bookname\">", +"biaotihou": "", +"lianjieqian": "bookid=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://m.tingzh.com/book/", +"ljhouzhui": ".html", +"fubiaotiqian": "状态:", +"fubiaotihou": "", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "&Submit=", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"bookbox\"", +"ssjiequshuzuhou": "class=\"intro_line\"", +"sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "class=\"bookname\">", +"ssbiaotihou": "", +"sslianjieqian": "bookid=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://m.tingzh.com/book/", +"ssljhouzhui": ".html", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "
    状态:", +"zhuangtaihou": "", +"daoyanqian": "
    作者:", +"daoyanhou": "", +"zhuyanqian": "
    播音:", +"zhuyanhou": "", +"juqingqian": "class=\"book_intro\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": ""}, +{"name": "kw听书", +"url": "http://baby.kuwo.cn", +"ua": "", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "都市传说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=42&rn=20&categoryId=2&pn=#玄幻奇幻$/tingshu/api/filter/albums?sortType=tsScore&classifyId=44&rn=20&categoryId=2&pn=#悬疑推理$/tingshu/api/filter/albums?sortType=tsScore&classifyId=45&rn=20&categoryId=2&pn=#现代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=41&rn=20&categoryId=2&pn=#武侠仙侠$/tingshu/api/filter/albums?sortType=tsScore&classifyId=48&rn=20&categoryId=2&pn=#穿越架空$/tingshu/api/filter/albums?sortType=tsScore&classifyId=52&rn=20&categoryId=2&pn=#经典小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=64&rn=20&categoryId=2&pn=#青春校园$/tingshu/api/filter/albums?sortType=tsScore&classifyId=55&rn=20&categoryId=2&pn=#历史军事$/tingshu/api/filter/albums?sortType=tsScore&classifyId=56&rn=20&categoryId=2&pn=#科幻竞技$/tingshu/api/filter/albums?sortType=tsScore&classifyId=57&rn=20&categoryId=2&pn=#古代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=207&rn=20&categoryId=2&pn=#能力提升$/tingshu/api/filter/albums?sortType=tsScore&classifyId=82&rn=20&categoryId=4&pn=#人文艺术$/tingshu/api/filter/albums?sortType=tsScore&classifyId=77&rn=20&categoryId=4&pn=#国学文化$/tingshu/api/filter/albums?sortType=tsScore&classifyId=78&rn=20&categoryId=4&pn=#成功法则$/tingshu/api/filter/albums?sortType=tsScore&classifyId=79&rn=20&categoryId=4&pn=#外语精通$/tingshu/api/filter/albums?sortType=tsScore&classifyId=76&rn=20&categoryId=4&pn=#养生健康$/tingshu/api/filter/albums?sortType=tsScore&classifyId=81&rn=20&categoryId=4&pn=#酷我读书$/tingshu/api/filter/albums?sortType=tsScore&classifyId=211&rn=20&categoryId=4&pn=#国学经典$/tingshu/api/filter/albums?sortType=tsScore&classifyId=117&rn=20&categoryId=9&pn=#历史小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=181&rn=20&categoryId=9&pn=#纪实档案$/tingshu/api/filter/albums?sortType=tsScore&classifyId=118&rn=20&categoryId=9&pn=#历史传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=119&rn=20&categoryId=9&pn=#人物传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=120&rn=20&categoryId=9&pn=#文化讲堂$/tingshu/api/filter/albums?sortType=tsScore&classifyId=121&rn=20&categoryId=9&pn=#百家讲坛$/tingshu/api/filter/albums?sortType=tsScore&classifyId=212&rn=20&categoryId=9&pn=", +"houzhui": "&kweexVersion=1.0.2", +"qishiye": "1", +"shifouercijiequ": "1", +"jiequqian": "[", +"jiequhou": "]", +"jiequshuzuqian": "{", +"jiequshuzuhou": "}", +"tupianqian": "\"coverImg\":\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "\"artistName\":\"", +"biaotihou": "\"", +"lianjieqian": "\"albumId\":", +"lianjiehou": ",", +"ljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", +"ljhouzhui": "&online=0&kweexVersion=1.0.2", +"fubiaotiqian": "\"title\":\"", +"fubiaotihou": "\"", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": ":80/tingshu/api//search/Search?rn=10&type=album&version=8.5.6.1&wd=", +"sousuohou": "&pn=1&kweexVersion=1.0.2", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"ssjiequqian": "[", +"ssjiequhou": "]", +"ssjiequshuzuqian": "{", +"ssjiequshuzuhou": "}", +"sstupianqian": "\"coverImg\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "\"artistName\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"albumId\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", +"ssljhouzhui": "&online=0&kweexVersion=1.0.2", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "[", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "\"name\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "\"musicrid\":\"", +"bflianjiehou": "\"", +"bfqianzhui": "http://antiserver.kuwo.cn/anti.s?useless=/resource/&format=mp3&rid=MUSIC_", +"bfhouzhui": "&response=res&type=convert_url&"}, +{"name": "音乐MV", +"url": "https://www.ichemv.com", +"User": "authority$play.bgp.68tool.com#referer$https://www.ichemv.com/", +"图片请求头": "Referer$https://www.ichemv.com/", +"是否记录历史": "0", +"启用js加载源码":"1", +"js加载源码时间":"3", +"直接播放": "1", +"横图显示": "0", +"列表显示": "1", +"fenlei": "华语MV$/mv/1_0#日韩MV$/mv/2_0#欧美MV$/mv/3_0#现场MV$/mv/4_0#影sMV$/mv/5_0#夜店视频$/mv/6_0#车模视频$/mv/7_0#热舞视频$/mv/8_0#美女x真$/mv/9_0#美女打碟$/mv/10_0#串烧视频$/mv/11_0", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pic\"", +"jiequshuzuhou": "", +"tupianqian": "", +"biaotihou": "
    ", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "
    "}, +{ +"name": "聚合短视频", +"url": "http://www.sharenice.net", +"User": "空", +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#?video_id=#?item_id=#.qianpailive", +"guolvdizhi": "51.la#?url=#cnzz.com#baidu.com#?url=", +"ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36", +"fenlei": "抖音$/douyin?page=#快手$/kuaishou?page=#微视$/weishi?page=#火山$/huoshan?page=#场库$/changku?page=#美拍$/meipai?page=#秒拍$/miaopai?page=#全民$/quanmin?page=#梨$/lishipin?page=#好兔$/haotu?page=#开眼$/kaiyan?page=", +"houzhui": "", +"是否记录历史": "1", +"直接播放": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"cover\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"http://www.sharenice.net", +"lianjiehou": "\"" +}, +{"name": "兔小贝-儿童教育", +"url": "http://drpy.fuqizhishi.com/vod?rule=兔小贝&ac=detail&t=", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "User-Agent$123", +"嗅探词": "m3u8?#.m3u8#.mp4#.flv#.bdstatic", +"过滤词": "?url=#.css#51.la#cnzz.com#baidu.com", +"是否记录历史": "1", +"直接播放": "1", +"qishiye": "1", +"fenlei": "快乐儿歌$2&pg=#儿童故事$3&pg=#国学经典$4&pg=#启蒙教育$25&pg=", +"houzhui": "", +"shifouercijiequ": "1", +"jiequqian": "[", +"jiequhou": "]", +"jiequshuzuqian": "{", +"jiequshuzuhou": "}", +"tupianqian": "vod_pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "vod_name\":\"", +"biaotihou": "\"", +"fubiaotiqian": "vod_remarks\":\"", +"fubiaotihou": "\"", +"lianjieqian": "$", +"lianjiehou": "\"", +"ljqianzhui": "https://www.tuxiaobei.com/play/", +"ljhouzhui": "空"}, +{"name": "bili-动物世界", +"url": "https://api.bilibili.com", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"cookie":"buvid3=123", +"User": "空", +"直接播放": "0", +"是否记录历史": "1", +"横图显示": "1", +"fenlei": "动物世界$/x/web-interface/search/type?search_type=video&keyword=动物世界&page=#演唱会$/x/web-interface/search/type?search_type=video&keyword=演唱会&page=#戏曲$/x/web-interface/search/type?search_type=video&keyword=戏曲&page=#白噪音$/x/web-interface/search/type?search_type=video&keyword=假窗白噪音&page=#相声小品$/x/web-interface/search/type?search_type=video&keyword=相声小品&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type\":\"video", +"jiequshuzuhou": "corner", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "duration\":\"", +"fubiaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"biaotiqian": "\"title\":\"", +"biaotihou": "\",", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/x/web-interface/search/type?search_type=video&page=1&page_size=16&keyword=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "{\"type\":\"video", +"ssjiequshuzuhou": "corner", +"sstupianqian": "\"pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "http:", +"ssbiaotiqian": "author\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"bvid\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://www.bilibili.com/video/", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "Published\" content=\"", +"zhuangtaihou": "\"", +"daoyanqian": "author\" content=\"", +"daoyanhou": "\"", +"zhuyanqian": "tname\":\"", +"zhuyanhou": "\"", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="}, +{"name": "bili-戏曲", +"url": "https://api.bilibili.com", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"cookie":"buvid3=123", +"User": "空", +"直接播放": "0", +"是否记录历史": "1", +"横图显示": "1", +"fenlei": "陕北民歌$/x/web-interface/search/type?search_type=video&keyword=陕北民歌&page=#民间小调$/x/web-interface/search/type?search_type=video&keyword=民间小调&page=#京剧$/x/web-interface/search/type?search_type=video&keyword=京剧&page=#越剧$/x/web-interface/search/type?search_type=video&keyword=越剧&page=#蒲剧$/x/web-interface/search/type?search_type=video&keyword=蒲剧&page=#眉剧$/x/web-interface/search/type?search_type=video&keyword=眉剧&page=#吕剧$/x/web-interface/search/type?search_type=video&keyword=吕剧&page=#楚剧$/x/web-interface/search/type?search_type=video&keyword=楚剧&page=#黄梅戏$/x/web-interface/search/type?search_type=video&keyword=黄梅戏&page=#评剧$/x/web-interface/search/type?search_type=video&keyword=评剧&page=#豫剧$/x/web-interface/search/type?search_type=video&keyword=豫剧&page=#花鼓戏$/x/web-interface/search/type?search_type=video&keyword=花鼓戏&page=#布袋戏$/x/web-interface/search/type?search_type=video&keyword=布袋戏&page=#沪剧$/x/web-interface/search/type?search_type=video&keyword=沪剧&page=#昆曲$/x/web-interface/search/type?search_type=video&keyword=昆曲&page=#潮汕小品$/x/web-interface/search/type?search_type=video&keyword=潮汕小品&page=#二人转$/x/web-interface/search/type?search_type=video&keyword=二人转&page=#徽剧$/x/web-interface/search/type?search_type=video&keyword=徽剧&page=#秦腔$/x/web-interface/search/type?search_type=video&keyword=秦腔&page=#山东梆子$/x/web-interface/search/type?search_type=video&keyword=山东梆子&page=#淮剧$/x/web-interface/search/type?search_type=video&keyword=淮剧&page=#雁剧$/x/web-interface/search/type?search_type=video&keyword=雁剧&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type\":\"video", +"jiequshuzuhou": "badgepay", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "duration\":\"", +"fubiaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"biaotiqian": "\"title\":\"", +"biaotihou": "\",", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/x/web-interface/search/type?search_type=video&page=1&page_size=16&keyword=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "{\"type\":\"video", +"ssjiequshuzuhou": "corner", +"sstupianqian": "\"pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "http:", +"ssbiaotiqian": "author\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"bvid\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://www.bilibili.com/video/", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "Published\" content=\"", +"zhuangtaihou": "\"", +"daoyanqian": "author\" content=\"", +"daoyanhou": "\"", +"zhuyanqian": "tname\":\"", +"zhuyanhou": "\"", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="}, +{"name": "bili-美食", +"url": "https://api.bilibili.com", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"cookie":"buvid3=123", +"User": "空", +"直接播放": "0", +"是否记录历史": "1", +"横图显示": "1", +"fenlei": "披萨$/x/web-interface/search/type?search_type=video&keyword=披萨&page=#火锅$/x/web-interface/search/type?search_type=video&keyword=火锅&page=#烧烤$/x/web-interface/search/type?search_type=video&keyword=烧烤&page=#烤鱼$/x/web-interface/search/type?search_type=video&keyword=烤鱼&page=#海鲜$/x/web-interface/search/type?search_type=video&keyword=海鲜&page=#津菜$/x/web-interface/search/type?search_type=video&keyword=津菜&page=#川菜$/x/web-interface/search/type?search_type=video&keyword=川菜&page=#湘菜$/x/web-interface/search/type?search_type=video&keyword=湘菜&page=#鲁菜$/x/web-interface/search/type?search_type=video&keyword=鲁菜&page=#苏菜$/x/web-interface/search/type?search_type=video&keyword=苏菜&page=#粤菜$/x/web-interface/search/type?search_type=video&keyword=粤菜&page=#东北菜$/x/web-interface/search/type?search_type=video&keyword=东北菜&page=#冀菜$/x/web-interface/search/type?search_type=video&keyword=冀菜&page=#豫菜$/x/web-interface/search/type?search_type=video&keyword=豫菜&page=#鄂菜$/x/web-interface/search/type?search_type=video&keyword=鄂菜&page=#本帮菜$/x/web-interface/search/type?search_type=video&keyword=本帮菜&page=#客家菜$/x/web-interface/search/type?search_type=video&keyword=客家菜&page=#赣菜$/x/web-interface/search/type?search_type=video&keyword=赣菜&page=#京菜$/x/web-interface/search/type?search_type=video&keyword=京菜&page=#浙菜$/x/web-interface/search/type?search_type=video&keyword=浙菜&page=#徽菜$/x/web-interface/search/type?search_type=video&keyword=徽菜&page=#湘菜$/x/web-interface/search/type?search_type=video&keyword=湘菜&page=#凉菜$/x/web-interface/search/type?search_type=video&keyword=凉菜&page=#蒸菜$/x/web-interface/search/type?search_type=video&keyword=蒸菜&page=#日料$/x/web-interface/search/type?search_type=video&keyword=日料&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type\":\"video", +"jiequshuzuhou": "corner", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "duration\":\"", +"fubiaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"biaotiqian": "\"title\":\"", +"biaotihou": "\",", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "{\"type\":\"video", +"ssjiequshuzuhou": "corner", +"sstupianqian": "\"pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "http:", +"ssbiaotiqian": "author\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"bvid\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://www.bilibili.com/video/", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "Published\" content=\"", +"zhuangtaihou": "\"", +"daoyanqian": "author\" content=\"", +"daoyanhou": "\"", +"zhuyanqian": "tname\":\"", +"zhuyanhou": "\"", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="}, +{"name": "bili-教育", +"url": "https://api.bilibili.com", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"cookie":"buvid3=123", +"User": "空", +"是否记录历史": "1", +"直接播放": "0", +"横图显示": "1", +"fenlei": "儿童早教$/x/web-interface/search/type?search_type=video&keyword=儿童早教&page=#儿童启蒙故事$/x/web-interface/search/type?search_type=video&keyword=儿童启蒙故事&page=#儿童英语启蒙$/x/web-interface/search/type?search_type=video&keyword=儿童英语启蒙&page=#儿童歌曲$/x/web-interface/search/type?search_type=video&keyword=儿童歌曲&page=#高一数学$/x/web-interface/search/type?search_type=video&keyword=高一数学&page=#小学数学$/x/web-interface/search/type?search_type=video&keyword=小学数学&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type\":\"video", +"jiequshuzuhou": "corner", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "duration\":\"", +"fubiaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"biaotiqian": "\"title\":\"", +"biaotihou": "\",", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "{\"type\":\"video", +"ssjiequshuzuhou": "corner", +"sstupianqian": "\"pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "http:", +"ssbiaotiqian": "author\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"bvid\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://www.bilibili.com/video/", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "Published\" content=\"", +"zhuangtaihou": "\"", +"daoyanqian": "author\" content=\"", +"daoyanhou": "\"", +"zhuyanqian": "tname\":\"", +"zhuyanhou": "\"", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="}, +{"name": "(60分钟以上)动物世界", +"url": "https://api.bilibili.com", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"cookie":"buvid3=123", +"User": "空", +"直接播放": "0", +"是否记录历史": "1", +"横图显示": "1", +"fenlei": "动物世界$/x/web-interface/search/type?search_type=video&keyword=动物世界&duration=4&page=#演唱会$/x/web-interface/search/type?search_type=video&keyword=演唱会&duration=4&page=#戏曲$/x/web-interface/search/type?search_type=video&keyword=戏曲&duration=4&page=#白噪音$/x/web-interface/search/type?search_type=video&keyword=假窗白噪音&duration=4&page=#相声小品$/x/web-interface/search/type?search_type=video&keyword=相声小品&duration=4&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type\":\"video", +"jiequshuzuhou": "corner", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "duration\":\"", +"fubiaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"biaotiqian": "\"title\":\"", +"biaotihou": "\",", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "{\"type\":\"video", +"ssjiequshuzuhou": "corner", +"sstupianqian": "\"pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "http:", +"ssbiaotiqian": "author\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"bvid\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://www.bilibili.com/video/", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "Published\" content=\"", +"zhuangtaihou": "\"", +"daoyanqian": "author\" content=\"", +"daoyanhou": "\"", +"zhuyanqian": "tname\":\"", +"zhuyanhou": "\"", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="}, +{"name": "(60分钟以上)戏曲", +"url": "https://api.bilibili.com", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"cookie":"buvid3=123", +"User": "空", +"直接播放": "0", +"是否记录历史": "1", +"横图显示": "1", +"fenlei": "陕北民歌$/x/web-interface/search/type?search_type=video&keyword=陕北民歌&duration=4&page=#民间小调$/x/web-interface/search/type?search_type=video&keyword=民间小调&duration=4&page=#京剧$/x/web-interface/search/type?search_type=video&keyword=京剧&duration=4&page=#越剧$/x/web-interface/search/type?search_type=video&keyword=越剧&duration=4&page=#蒲剧$/x/web-interface/search/type?search_type=video&keyword=蒲剧&duration=4&page=#眉剧$/x/web-interface/search/type?search_type=video&keyword=眉剧&duration=4&page=#吕剧$/x/web-interface/search/type?search_type=video&keyword=吕剧&duration=4&page=#楚剧$/x/web-interface/search/type?search_type=video&keyword=楚剧&duration=4&page=#黄梅戏$/x/web-interface/search/type?search_type=video&keyword=黄梅戏&duration=4&page=#评剧$/x/web-interface/search/type?search_type=video&keyword=评剧&duration=4&page=#豫剧$/x/web-interface/search/type?search_type=video&keyword=豫剧&duration=4&page=#花鼓戏$/x/web-interface/search/type?search_type=video&keyword=花鼓戏&duration=4&page=#布袋戏$/x/web-interface/search/type?search_type=video&keyword=布袋戏&duration=4&page=#沪剧$/x/web-interface/search/type?search_type=video&keyword=沪剧&duration=4&page=#昆曲$/x/web-interface/search/type?search_type=video&keyword=昆曲&duration=4&page=#潮汕小品$/x/web-interface/search/type?search_type=video&keyword=潮汕小品&duration=4&page=#二人转$/x/web-interface/search/type?search_type=video&keyword=二人转&duration=4&page=#徽剧$/x/web-interface/search/type?search_type=video&keyword=徽剧&duration=4&page=#秦腔$/x/web-interface/search/type?search_type=video&keyword=秦腔&duration=4&page=#山东梆子$/x/web-interface/search/type?search_type=video&keyword=山东梆子&duration=4&page=#淮剧$/x/web-interface/search/type?search_type=video&keyword=淮剧&duration=4&page=#雁剧$/x/web-interface/search/type?search_type=video&keyword=雁剧&duration=4&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type\":\"video", +"jiequshuzuhou": "badgepay", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "duration\":\"", +"fubiaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"biaotiqian": "\"title\":\"", +"biaotihou": "\",", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "{\"type\":\"video", +"ssjiequshuzuhou": "corner", +"sstupianqian": "\"pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "http:", +"ssbiaotiqian": "author\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"bvid\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://www.bilibili.com/video/", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "Published\" content=\"", +"zhuangtaihou": "\"", +"daoyanqian": "author\" content=\"", +"daoyanhou": "\"", +"zhuyanqian": "tname\":\"", +"zhuyanhou": "\"", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="}, +{"name": "(60分钟以上)美食", +"url": "https://api.bilibili.com", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"cookie":"buvid3=123", +"User": "空", +"直接播放": "0", +"是否记录历史": "1", +"横图显示": "1", +"fenlei": "披萨$/x/web-interface/search/type?search_type=video&keyword=披萨&duration=4&page=#火锅$/x/web-interface/search/type?search_type=video&keyword=火锅&duration=4&page=#烧烤$/x/web-interface/search/type?search_type=video&keyword=烧烤&duration=4&page=#烤鱼$/x/web-interface/search/type?search_type=video&keyword=烤鱼&duration=4&page=#海鲜$/x/web-interface/search/type?search_type=video&keyword=海鲜&duration=4&page=#津菜$/x/web-interface/search/type?search_type=video&keyword=津菜&duration=4&page=#川菜$/x/web-interface/search/type?search_type=video&keyword=川菜&duration=4&page=#湘菜$/x/web-interface/search/type?search_type=video&keyword=湘菜&duration=4&page=#鲁菜$/x/web-interface/search/type?search_type=video&keyword=鲁菜&duration=4&page=#苏菜$/x/web-interface/search/type?search_type=video&keyword=苏菜&duration=4&page=#粤菜$/x/web-interface/search/type?search_type=video&keyword=粤菜&duration=4&page=#东北菜$/x/web-interface/search/type?search_type=video&keyword=东北菜&duration=4&page=#冀菜$/x/web-interface/search/type?search_type=video&keyword=冀菜&duration=4&page=#豫菜$/x/web-interface/search/type?search_type=video&keyword=豫菜&duration=4&page=#鄂菜$/x/web-interface/search/type?search_type=video&keyword=鄂菜&duration=4&page=#本帮菜$/x/web-interface/search/type?search_type=video&keyword=本帮菜&duration=4&page=#客家菜$/x/web-interface/search/type?search_type=video&keyword=客家菜&duration=4&page=#赣菜$/x/web-interface/search/type?search_type=video&keyword=赣菜&duration=4&page=#京菜$/x/web-interface/search/type?search_type=video&keyword=京菜&duration=4&page=#浙菜$/x/web-interface/search/type?search_type=video&keyword=浙菜&duration=4&page=#徽菜$/x/web-interface/search/type?search_type=video&keyword=徽菜&duration=4&page=#湘菜$/x/web-interface/search/type?search_type=video&keyword=湘菜&duration=4&page=#凉菜$/x/web-interface/search/type?search_type=video&keyword=凉菜&duration=4&page=#蒸菜$/x/web-interface/search/type?search_type=video&keyword=蒸菜&duration=4&page=#日料$/x/web-interface/search/type?search_type=video&keyword=日料&duration=4&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type\":\"video", +"jiequshuzuhou": "corner", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "duration\":\"", +"fubiaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"biaotiqian": "\"title\":\"", +"biaotihou": "\",", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "{\"type\":\"video", +"ssjiequshuzuhou": "corner", +"sstupianqian": "\"pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "http:", +"ssbiaotiqian": "author\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"bvid\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://www.bilibili.com/video/", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "Published\" content=\"", +"zhuangtaihou": "\"", +"daoyanqian": "author\" content=\"", +"daoyanhou": "\"", +"zhuyanqian": "tname\":\"", +"zhuyanhou": "\"", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="}, +{"name": "(60分钟以上)教育", +"url": "https://api.bilibili.com", +"ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", +"cookie":"buvid3=123", +"User": "空", +"是否记录历史": "1", +"直接播放": "0", +"横图显示": "1", +"fenlei": "儿童早教$/x/web-interface/search/type?search_type=video&keyword=儿童早教&duration=4&page=#儿童启蒙故事$/x/web-interface/search/type?search_type=video&keyword=儿童启蒙故事&duration=4&page=#儿童英语启蒙$/x/web-interface/search/type?search_type=video&keyword=儿童英语启蒙&duration=4&page=#儿童歌曲$/x/web-interface/search/type?search_type=video&keyword=儿童歌曲&duration=4&page=#高一数学$/x/web-interface/search/type?search_type=video&keyword=高一数学&duration=4&page=#小学数学$/x/web-interface/search/type?search_type=video&keyword=小学数学&duration=4&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type\":\"video", +"jiequshuzuhou": "corner", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "duration\":\"", +"fubiaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.bilibili.com/video/", +"biaotiqian": "\"title\":\"", +"biaotihou": "\",", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "{\"type\":\"video", +"ssjiequshuzuhou": "corner", +"sstupianqian": "\"pic\":\"", +"sstupianhou": "\"", +"sstupianqianzhui": "http:", +"ssbiaotiqian": "author\":\"", +"ssbiaotihou": "\"", +"sslianjieqian": "\"bvid\":\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://www.bilibili.com/video/", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "Published\" content=\"", +"zhuangtaihou": "\"", +"daoyanqian": "author\" content=\"", +"daoyanhou": "\"", +"zhuyanqian": "tname\":\"", +"zhuyanhou": "\"", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="} +] +} \ No newline at end of file diff --git a/调试助手/中文网页自定义格式模板.txt b/调试助手/中文网页自定义格式模板.txt new file mode 100644 index 0000000..2b818d7 --- /dev/null +++ b/调试助手/中文网页自定义格式模板.txt @@ -0,0 +1,74 @@ +{"网站名字": "xx资源网", +"网站地址": "https://www.xxx.com", +"访问请求ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"访问请求cookie": "空", +"访问请求referer": "空", +"播放请求头": "User-Agent$123", +"图片请求头": "空", +"网页编码": "utf-8", + +//0:不禁用,1:禁用 +"禁用搜索": "0", + +//0:不启用,1:启用 +"启用js加载源码":"0", +"js加载源码时间":"5", + +"嗅探词": "m3u8?#.m3u8#.mp4#.flv#.mp3#.m4a", +"过滤词": "51.la#cnzz.com#baidu.com#bilibili.com", + +//0:记录,1:不记录 +"是否记录历史": "0", + +//0:否,1:是 +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"列表起始页": "1", +"列表分类": "电视剧$/vodshow/id/dianshiju/page/#电影$/vodshow/id/dianying/page/#综艺$/vodshow/id/zongyi/page/#动漫$/vodshow/id/dongman/page/", +"列表后缀": ".html", +"列表二次截取": "空", +"列表截取数组": "class=\"stui-vodlist__box\"$$", +"列表图片前缀": "空", +"列表图片": "original=\"$$\"", +"列表标题": "title=\"$$\"", +"列表副标题": "class=\"pic-text text-right\">$$
    ", +"列表链接": "href=\"$$\"", +"列表链接前缀": "空", +"列表链接后缀": "空", + +//0:get方式,1:post方式,注意:如果用post方式,【搜索模式】要填:1 +"搜索请求方式": "0", +"搜索模式": "0", +"搜索前": "/index.php/ajax/suggest?mid=1&wd=", +"搜索后": "&limit=150", +"搜索连接后缀": "/vod/", +"搜索二次截取": "空", +"搜索截取数组": "前$$后", +"搜索图片前缀": "空", +"搜索图片": "original=\"$$\"", +"搜索标题": "title=\"$$\"", +"搜索副标题": "class=\"pic-text text-right\">$$", +"搜索链接": "href=\"$$\"", +"搜索链接前缀": "空", +"搜索链接后缀": "空", + +//0:不启用,1:启用 +"启用线路名": "0", +"线路名二次截取": "空", +"线路名截取数组": "class=\"more$$", +"线路名标题": "/>$$", + +"播放页状态": "class=\"pic-text text-right\">$$", +"播放页导演": "导演:$$

    ", +"播放页演员": "主演:$$

    ", +"播放页剧情": "

    $$

    ", + +"播放页二次截取": "空", +"播放页截取数组": "class=\"stui-content__playlist$$", +"播放剧集二次截取": "空", +"播放剧集截取数组": "", +"播放剧集标题": ">$$<", +"播放剧集链接": "href=\"$$\"", +"播放剧集链接前缀": "空", +"播放剧集链接后缀": "空"} \ No newline at end of file diff --git a/调试助手/图示例.txt b/调试助手/图示例.txt new file mode 100644 index 0000000..3a319d2 --- /dev/null +++ b/调试助手/图示例.txt @@ -0,0 +1,26 @@ +{"网站名字": "图片示例", +"网站地址": "https://desk.tooopen.com", +"访问请求ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"网页编码": "空", +"图片请求头": "Referer$https://desk.tooopen.com/", +"禁用搜索": "1", +"看图模式": "1", +"看图连接字符": "_", +"图片详情最大页数": "1", +"列表起始页": "1", +"列表分类": "美女明星$/model_3_#艺术写真$/artphoto_3_", +"列表后缀": ".html", +"列表二次截取": "id=\"container\"$$", +"列表截取数组": "", +"列表图片前缀": "空", +"列表图片": "src=\"$$\"", +"列表标题": "alt=\"$$\"", +"列表副标题": "空", +"列表链接": "href=\"http$$\"", +"列表链接前缀": "http", +"列表链接后缀": "空", +"播放剧集二次截取": "id=\"faded\"$$", +"播放剧集截取数组": "
  • $$
  • ", +"播放剧集链接": "src=\"$$\"", +"播放剧集链接前缀": "空", +"播放剧集链接后缀": "空"} \ No newline at end of file diff --git a/调试助手/图类网页自定义格式模板.txt b/调试助手/图类网页自定义格式模板.txt new file mode 100644 index 0000000..9fee662 --- /dev/null +++ b/调试助手/图类网页自定义格式模板.txt @@ -0,0 +1,26 @@ +{"网站名字": "壁纸图片类模板", +"网站地址": "https://xxx.com", +"访问请求ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"网页编码": "空", +"图片请求头": "Referer$https://xxx.com/", +"禁用搜索": "1", +"看图模式": "1", +"看图连接字符": "_", +"图片详情最大页数": "1", +"列表起始页": "1", +"列表分类": "壁纸$/model_3_", +"列表后缀": ".html", +"列表二次截取": "id=\"container\"$$", +"列表截取数组": "", +"列表图片前缀": "空", +"列表图片": "src=\"$$\"", +"列表标题": "alt=\"$$\"", +"列表副标题": "空", +"列表链接": "href=\"$$\"", +"列表链接前缀": "空", +"列表链接后缀": "空", +"播放剧集二次截取": "id=\"faded\"$$", +"播放剧集截取数组": "
  • $$
  • ", +"播放剧集链接": "src=\"$$\"", +"播放剧集链接前缀": "空", +"播放剧集链接后缀": "空"} \ No newline at end of file diff --git a/调试助手/新全局接口格式模板.txt b/调试助手/新全局接口格式模板.txt new file mode 100644 index 0000000..62ad250 --- /dev/null +++ b/调试助手/新全局接口格式模板.txt @@ -0,0 +1,168 @@ +//首页的栏目可以自己设置标题名称和图片,key不用改动,是列表页的识别标志,每个栏目的顺序也可以随意排序。 +{"Home": [ +{"key":"APP","title":"APP","pic":"https://pic.netbian.com/uploads/allimg/220716/001159-1657901519eb96.jpg"}, +{"key":"网页","title":"网页","pic":"https://pic.netbian.com/uploads/allimg/220716/000946-16579013861fe3.jpg"}, +{"key":"采集","title":"采集站","pic":"https://pic.netbian.com/uploads/allimg/220716/000857-1657901337b7b9.jpg"}, +{"key":"直播","title":"直播","pic":"https://pic.netbian.com/uploads/allimg/220715/235203-16579003239a93.jpg"}, +{"key":"历史","title":"历史","pic":"https://pic.netbian.com/uploads/allimg/220421/225912-16505531526c39.jpg"}, +{"key":"收藏","title":"收藏","pic":"https://pic.netbian.com/uploads/allimg/220206/161011-16441350118bb4.jpg"}, +{"key":"推送","title":"推送","pic":"https://pic.netbian.com/uploads/allimg/211222/213101-16401798611c4d.jpg"}, +{"key":"待添加","title":"待添加","pic":"https://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg"} +], + +//填写APP接口,支持以下5种接口格式。 +"zhuyejiekou": [ +{"name":"填接口名称","url":"http://xxx/api.php/v1.vod"}, +{"name":"填接口名称","url":"https://xxx/xgapp.php/v1/"}, +{"name":"填接口名称","url":"http://xxx/api.php/app/"}, +{"name":"填接口名称","url":"https://xxx/xgapp.php/v2/"}, +{"name":"填接口名称","url":"http://xxx/mogai_api.php/v1.vod"} +], + +//填写采集接口 +"caijizhan": [ +{"name":"填接口名称","url":"填采集站链接"}, +{"name":"填接口名称","url":"填采集站链接"}, +{"name":"填接口名称","url":"填采集站链接"}, +{"name":"填接口名称","url":"填采集站链接"} +], + +//主解析是JSON直链格式的解析 +"zhujiexi":[ +{"name":"解析1","url":"www.xxx.url="}, +{"name":"解析2","url":"www.xxx.url="}, +{"name":"解析3","url":"www.xxx.url="} +], + +//备用解析是常规格式的解析 +"beiyongjiexi": [ +{"name":"解析1","url":"www.xxx.url="}, +{"name":"解析2","url":"www.xxx.url="}, +{"name":"解析3","url":"www.xxx.url="} +], + +//填写电视直播的接口链接 +"dianshizhibo": "https://xxx.txt", + +//填写播放地址寻找的地址标识词,中间用#号分割 +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#?video_id=", + +//填写播放地址过滤规则,中间用#号分割 +"guolvdizhi": ".gif#.css#.ico#.html#51.la#poster#api.php#file=#cnzz.com#baidu.com#tootw.com#auete.com#bilibili.com", + +//填写网页接口内容,格式是 {网页接口1},{网页接口2},{网页接口3} 一个花括号里面就是一个自定义接口内容 用,号分割 最后一个不加,号 +"zidingyi": [ +{"name": "网页接口1", +"url": "https://www.xxx.com", +"User": "空", +"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "网页接口2", +"url": "https://www.xxx.com", +"User": "空", +"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} +] +} \ No newline at end of file diff --git a/调试助手/新网页自定义格式模板.txt b/调试助手/新网页自定义格式模板.txt new file mode 100644 index 0000000..c29d9bb --- /dev/null +++ b/调试助手/新网页自定义格式模板.txt @@ -0,0 +1,128 @@ +{"name": "填写网站名称", +"url": "http://www.xxx.com", + +//访问请求头 +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", + +//访问请求cookie +"cookie":"", + +//播放请求头 +"User": "User-Agent$123", + +//0:不添加,1:添加 +"添加手动点击图标": "0", + +//0:不启用,1:启用 +"启用js加载源码":"0", + +//根据网站响应速度自行调整加载需要的时间,时间太短可能导致获取数据失败。 +"js加载源码时间":"3", + +//填写播放地址寻找的地址标识词,中间用#号分割,不填写的话就使用全局的嗅探词 +"嗅探词": "m3u8?#.m3u8#mp4#.flv#.mp3#.m4a", + +//填写播放地址过滤规则,中间用#号分割,不填写的话就使用全局的过滤词 +"过滤词": "?url=#.css#51.la#cnzz.com#baidu.com", + +//0:记录,1:不记录 +"是否记录历史": "0", + +//直接播放截取的播放页链接网址,0表示:否,1表示:是 +"直接播放": "0", + +//分类页是否使用列表方式显示,0表示:否,1表示:是 +"列表显示": "0", + +//列表图片是否横图显示,0表示:否,1表示:是 +"横图显示": "0", + +//可以自定义列表翻页起始页的页数 +"qishiye": "1", + +//如果分类类型填空,例如:电视剧$空,则直接取url字段网址的源码。 +"fenlei": "电视剧$/vodshow/2_#电影$/vodshow/1_#综艺$/vodshow/3_#动漫$/vodshow/4_", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", + +//如果图片前字段填写完整网络图片地址的话,列表页就自动使用这个网络图片作为列表的图片。 +"tupianqian": "original=\"", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"ljhouzhui": "空", + +//搜索部分 +//0:get方式,1:post方式,注意:如果用post方式,【ssmoshi】要填:1 +"搜索请求方式": "0", +"ssmoshi": "0", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=150", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"ssfubiaotiqian": "空", +"ssfubiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"ssljhouzhui": "空", + +//线路名称显示部分,0不启用,1启用 +"是否启用播放线路名": "0", +"线路名是否二次截取": "0", +"线路名截取前": "空", +"线路名截取后": "空", +"线路名截取数组前": "空", +"线路名截取数组后": "空", +"线路名标题前": "空", +"线路名标题后": "空", + +//状态,导演,演员,剧情的截取 +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "", + +//播放集数截取部分 +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "空", +"bfhouzhui": "空"} \ No newline at end of file diff --git a/调试助手/新过滤词查找.apk b/调试助手/新过滤词查找.apk new file mode 100644 index 0000000..793a60a Binary files /dev/null and b/调试助手/新过滤词查找.apk differ diff --git a/调试助手/网络接口.txt b/调试助手/网络接口.txt new file mode 100644 index 0000000..02d2f10 --- /dev/null +++ b/调试助手/网络接口.txt @@ -0,0 +1,5 @@ +灌篮接口:https://download.kstore.space/download/3010/gl.txt +漫威接口:https://download.kstore.space/download/3010/mw.txt +花旦接口:https://download.kstore.space/download/3010/fl.txt +综合接口:https://download.kstore.space/download/3010/zh.txt +体育接口:https://download.kstore.space/download/3010/ty.txt \ No newline at end of file diff --git a/调试助手/调试助手.txt b/调试助手/调试助手.txt new file mode 100644 index 0000000..b2e31d5 --- /dev/null +++ b/调试助手/调试助手.txt @@ -0,0 +1,5020 @@ +{"Home": [ +{"key":"APP","title":"影视","pic":"https://raw.iqiq.io/tianiue/MovieTV/master/tstp/01.jpg"}, +{"key":"网页","title":"网页","pic":"https://raw.iqiq.io/tianiue/MovieTV/master/tstp/02.jpg"}, +{"key":"采集","title":"采集","pic":"https://raw.iqiq.io/tianiue/MovieTV/master/tstp/03.jpg"}, +{"key":"直播","title":"直播","pic":"https://raw.iqiq.io/tianiue/MovieTV/master/tstp/04.jpg"}, +{"key":"历史","title":"历史","pic":"https://raw.iqiq.io/tianiue/MovieTV/master/tstp/05.jpg"}, +{"key":"收藏","title":"收藏","pic":"https://raw.iqiq.io/tianiue/MovieTV/master/tstp/06.jpg"}, +{"key":"推送","title":"推送","pic":"https://raw.iqiq.io/tianiue/MovieTV/master/tstp/07.jpg"}, +{"key":"待添加","title":"待加","pic":"https://raw.iqiq.io/tianiue/MovieTV/master/tstp/08.jpg"} +], + +"zhuyejiekou": [ +{"name":"铭轩影视","url":"http://lz0716.com/api.php/v1.vod"}, +{"name":"小七影视","url":"https://www.xiaoqi0.cn/cuican_api.php/v1.vod"}, +{"name":"夕阳影视","url":"http://cms.seo-tv.work/mogai_api.php/v1.vod"}, +{"name":"九亿影视","url":"http://vod.9e03.com/lvdou_api.php/v1.vod"}, +{"name":"七彩影视","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"玖卿乐播","url":"https://vod.nqcode.cn/api.php/v1.vod"}, +{"name":"筑梦云影视(萝卜)","url":"http://wzys.scp00.cn/api.php/v1.vod"}, +{"name":"一站VIP影视(萝卜)","url":"https://www.dpp8.xyz/api.php/v1.vod"}, +{"name":"渔渔影视(萝卜)","url":"http://luobo.yugenye.site/api.php/v1.vod"}, +{"name":"影库(萝卜)","url":"https://yingkudy.com/lvdou_api.php/v1.vod"}, +{"name":"月儿影视(萝卜)","url":"https://yue52.xyz/api.php/v1.vod"}, +{"name":"佑尘云影视(萝卜)","url":"http://v.i7yc.cn/api.php/v1.vod"}, +{"name":"鑫总资源(萝卜)","url":"http://app.mmhkj.xyz/lvdou_api.php/v1.vod"}, +{"name":"星辰TV(萝卜)","url":"http://www.xingchentv.cn/mogai_api.php/v1.vod"}, +{"name":"万能影院(萝卜)","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"悟空影院(萝卜)","url":"http://dapi.pntao.com/api.php/v1.vod"}, +{"name":"兔子窝(萝卜)","url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod"}, +{"name":"淘剧社(萝卜)","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"天诚影视(萝卜)","url":"http://tcspvip.cn/api.php/v1.vod"}, +{"name":"群鑫影视(萝卜)","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"枇杷影院(萝卜)","url":"https://www.pipamovie.com/api.php/v1.vod"}, +{"name":"冷视TV(萝卜)","url":"https://len.tv/api.php/v1.vod"}, +{"name":"佳佳影视(萝卜)","url":"https://www.jiajia.pub/api.php/v1.vod"}, +{"name":"豆芽视频(萝卜)","url":"http://bdintv.cn/lvdou_api.php/v1.vod"}, +{"name":"兜里TV(萝卜)","url":"https://app.douli.cc/api.php/v1.vod"}, +{"name":"百淘影视(萝卜)","url":"http://ys.58g8.com/lvdou_api.php/v1.vod"}, +{"name":"啊玲影视(萝卜)","url":"http://520dml.xyz/api.php/v1.vod"}, +{"name":"爱电影(萝卜)","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"OK影视(萝卜)","url":"http://123.ok00.xyz/api.php/v1.vod"}, +{"name":"MX影院(萝卜)","url":"http://www.889998.xyz/api.php/v1.vod"}, +{"name":"52看剧(萝卜)","url":"http://tool.xxmlb.com/qingdoujiekou.php/v1.vod"}, +{"name":"521看剧(萝卜)","url":"http://521kanju.com/api.php/v1.vod"}, +{"name":"懒猫影视","url":"https://lanmao.lanmaoymw.cn/api.php/v1.vod"}, +{"name":"嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"迪迪影院","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"爱酷影视","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"零刻影院","url":"https://ys.ling00.cn/api.php/v1.vod"}, +{"name":"益达影院","url":"http://luobu.yss6080.com/mogai_api.php/v1.vod"}, +{"name":"555电影","url":"https://555dy3.com/api.php/app/"}, +{"name":"QC影视","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"暖光影视","url":"https://app.bl210.com/api.php/v1.vod"}, +{"name":"艾思影视","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"独播社","url":"http://35ys.cc/api.php/v1.vod"}, +{"name":"艾特影视","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"迷你库","url":"http://www.miniku.cc/xgapp.php/v1/"} +], + +"caijizhan": [ +{"name":"酷云77","url":"http://api.kunyu77.com/api.php"}, +{"name":"小猫咪采集","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"每天看看采集","url":"http://47.113.126.237:1234/api.php"}, +{"name":"推荐采集","url":"http://101.34.7.151:600/api.php"}, +{"name":"江湖官采(官)","url":"http://119.29.1.173/api.php"}, +{"name":"土狗2345(官)","url":"http://2345.tgzy.cc/api.php"}, +{"name":"土狗360(官)","url":"http://360.tgzy.cc/api.php"}, +{"name":"诺讯资源(官)","url":"http://caiji.nxflv.com/api.php"}, +{"name":"忆梦(官)","url":"http://anltv.cn/api.php"}, +{"name":"绝影(官)","url":"https://106.12.153.187/api.php"}, +{"name":"星海资源(切)","url":"https://www.xhzy01.com/api.php"}, +{"name":"冠军资源(切)","url":"https://www.cmpzy.com/api.php"}, +{"name":"1080资源库(切)","url":"https://api.1080zyku.com/inc/api_mac10.php"}, +{"name":"TOM资源(切)","url":"https://api.tomcaiji.com/api.php"}, +{"name":"快车资源(切)","url":"https://caiji.kczyapi.com/api.php"}, +{"name":"松鼠资源(切)","url":"https://m3u8.songshuzy.com/api.php"}, +{"name":"多多资源(切)","url":"https://www.ddzyz1.com/api.php"}, +{"name":"FOX资源(切)","url":"https://api.foxzyapi.com/api.php"}, +{"name":"量子资源(切)","url":"http://cj.lziapi.com/api.php"}, +{"name":"番茄资源(切)","url":"http://api.fqzy.cc/api.php"}, +{"name":"卧龙资源(切)","url":"https://collect.wolongzyw.com/api.php"}, +{"name":"红牛资源(切)","url":"https://www.hongniuzy2.com/api.php"}, +{"name":"樱花资源(切)","url":"https://m3u8.apiyhzy.com/api.php"}, +{"name":"酷点资源(切)","url":"https://kudianzy.com/api.php"}, +{"name":"速更资源(切)","url":"https://sugengzy.cn/api.php"}, +{"name":"闪电资源(切)","url":"http://sdzyapi.com/api.php"}, +{"name":"飞速资源(切)","url":"https://www.feisuzy.com/api.php"}, +{"name":"光速资源(切)","url":"https://api.guangsuapi.com/api.php"}, +{"name":"新浪资源(切)","url":"http://api.xinlangapi.com/xinlangapi.php"}, +{"name":"鱼乐资源(切)","url":"https://api.ylzy1.com/api.php"}, +{"name":"快播资源(切)","url":"http://www.kuaibozy.com/api.php"}, +{"name":"百度资源(切)","url":"https://api.apibdzy.com/api.php"}, +{"name":"天空资源(切)","url":"https://api.tiankongapi.com/api.php"}, +{"name":"FF9资源(切)","url":"https://www.ff9.top/api.php"}, +{"name":"看看资源(切)","url":"https://zy.hikan.xyz/api.php"}, +{"name":"U酷资源(优)","url":"https://api.ukuapi.com/api.php"}, +{"name":"龙腾资源(优)","url":"http://175.178.7.35:2020/api.php"}, +{"name":"ASMR(优)","url":"http://www.asmr19.in/api.php"}, +{"name":"考拉TV(优)","url":"https://ikaola.tv/api.php"}, +{"name":"乐活影视(优)","url":"https://lehootv.com/api.php"}, +{"name":"瞬间影视(聚)","url":"http://app.7en7.com/api.php"}, +{"name":"盘看看(聚)","url":"http://tvcaiji.pankk.cn/api.php"}, +{"name":"MX影院2(聚)","url":"http://49.235.107.145:81/api.php"}, +{"name":"醉璃笙TV(聚)","url":"http://web.xhdj.vip/api.php"}, +{"name":"热剧天堂(聚)","url":"http://175.178.7.35:2020/api.php"}, +{"name":"贵宾影院(聚)","url":"http://vipdytv.com/api.php"}, +{"name":"趣看(聚)","url":"https://qkmp4.cn/api.php"}, +{"name":"39影视(聚)","url":"https://www.39kan.com/api.php"}, +{"name":"飘花电影(聚)","url":"http://www.zzrhgg.com/api.php"}, +{"name":"千寻时光(聚)","url":"http://wy.dqyhg.cn/api.php"}, +{"name":"海外电影(聚)","url":"https://www.200121.com/api.php"}, +{"name":"天空TV(神马)","url":"http://tv.tkys.tv/api.php/iptv/vod/"}, +{"name":"柚子TV(神马)","url":"http://tvht.lanrentk.cc/api.php/iptv/vod/"}, +{"name":"云玺TV(神马)","url":"http://43.138.193.213:8181//api.php/Miguo/vod/"}, +{"name":"新369TV(神马)","url":"http://106.13.10.156:2023//api.php/Chengcheng/vod/"}, +{"name":"开乐TV(神马)","url":"http://server.sztuotai.com//api.php/Chengcheng/vod/"}, +{"name":"嘿荼锋(神马)","url":"http://tv.hfys8.vip/api.php/Sntv/vod/"}, +{"name":"CV影视(神马)","url":"http://www.cccvvv.top/api.php/iptv/vod/"}, +{"name":"2号币(神马)","url":"http://phoebe.cf/api.php/iptv/vod/"}, +{"name":"🔞酷豆资源","url":"https://api.kdapi.info/api.php"}, +{"name":"🔞91采集","url":"https://91md.me/api.php"}, +{"name":"🔞佳丽资源","url":"https://jializyzapi.com/api.php"}, +{"name":"🔞色窝资源","url":"https://sewozyapi.com/api.php"}, +{"name":"🔞淫窝资源","url":"https://api.yinwoapi.com/api.php"}, +{"name":"🔞皇冠资源","url":"https://hghhh.com/api.php"}, +{"name":"🔞狼友资源","url":"https://www.langyouzy.com/api.php"}, +{"name":"🔞色南国资源","url":"https://api.sexnguon.com/api.php"}, +{"name":"🔞影库资源","url":"https://api.ykapi.net/api.php"}, +{"name":"🔞9号资源","url":"http://fhapi9.com/api.php"}, +{"name":"🔞秀色资源","url":"https://api.xiuseapi.com/api.php"}, +{"name":"🔞乐播资源","url":"https://lbapi9.com/api.php"}, +{"name":"🔞乐播资源2","url":"http://lbapiby.com/api.php"}, +{"name":"🔞老鸭资源","url":"https://api.apilyzy.com/api.php"}, +{"name":"🔞芒果资源","url":"https://mgzyz1.com/api.php"}, +{"name":"🔞KK资源","url":"https://kkzy.me/api.php"}, +{"name":"🔞爱播资源","url":"https://cj.apiabzy.com/api.php"}, +{"name":"🔞探探资源","url":"https://apittzy.com/api.php"}, +{"name":"🔞番号资源","url":"http://fhapi9.com/api.php"}, +{"name":"🔞鲨鱼资源","url":"https://shayuapi.com/api.php"}, +{"name":"🔞爱爱影视","url":"https://www.aiaiys.top/api.php"} +], + +"zhujiexi":[ +{"name":"江湖","url":"http://211.99.99.236:4567/jhjson/ceshi.php?url="}, +{"name":"ZNJSON","url":"https://svip.znjson.com/api/?key=gX8j9IPvoQ5mFmlIzu&url="}, +{"name":"爱酷","url":"https://jx.zhanlangbu.com/API.php?appkey=53df3aa2fdb66bcbc4d05730b6fbfc71&url="} +], + +"beiyongjiexi": [ +{"name":"虾米","url":"https://jx.xmflv.com/?url="}, +{"name":"parwix","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"OK解析","url":"https://okjx.cc/?url="}, +{"name":"夜幕解析","url":"https://www.yemu.xyz/?url="}, +{"name":"BL解析","url":"https://svip.bljiex.cc/?v="}, +{"name":"CHok","url":"https://www.gai4.com/?url="}, +{"name":"ckmov","url":"https://www.ckmov.vip/api.php?url="}, +{"name":"H8","url":"https://www.h8jx.com/jiexi.php?url="}, +{"name":"诺讯","url":"https://www.nxflv.com/?url="}, +{"name":"人人迷","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"TV解析","url":"https://jx.m3u8.tv/jiexi/?url="}, +{"name":"CK","url":"https://www.ckplayer.vip/jiexi/?url="}, +{"name":"番茄资源","url":"https://dp.fqplayer.com/dplayer/?url="}, +{"name":"旋风云解析","url":"https://jx.58g8.com/1/?url="}, +{"name":"JY解析","url":"https://jx.playerjy.com/?url="}, +{"name":"PM","url":"https://www.playm3u8.cn/jiexi.php?url="} +], + +"dianshizhibo": "https://cdn.statically.io/gh/woairong720/BiuBiu/main/listx.txt", + +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a", + +"guolvdizhi": ".gif#.js#.css#rl=#.ico#.html#51.la#poster#api.php#file=#cnzz.com#baidu.com#tootw.com#auete.com#bilibili.com", + +"zidingyi": [ +{"author": "20220711", +"name": "JustLive斗鱼", +"url": "http://live.yj1211.work/api/live/getRecommendByPlatform", +"User": "空", +"直接播放": "1", +"横图显示": "1", +"fenlei": "全部$?platform=douyu&page=#一起看$Area?platform=douyu&area=原创IP&page=#颜值$Area?platform=douyu&area=颜值&page=#音乐$Area?platform=douyu&area=音乐&page=#舞蹈$Area?platform=douyu&area=舞蹈&page=#二次元$Area?platform=douyu&area=二次元&page=#户外$Area?platform=douyu&area=户外&page=#美食$Area?platform=douyu&area=美食&page=#互动交友$Area?platform=douyu&area=互动交友&page=#趣生活$Area?platform=douyu&area=趣生活&page=#数码科技$Area?platform=douyu&area=数码科技&page=#文化$Area?platform=douyu&area=文化&page=#科普$Area?platform=douyu&area=科普&page=#社会人文$Area?platform=douyu&area=社会人文&page=#汽车$Area?platform=douyu&area=汽车&page=#纪录片$Area?platform=douyu&area=纪录片&page=#斗鱼购物$Area?platform=douyu&area=斗鱼购物&page=#交友$Area?platform=douyu&area=交友&page=#电台$Area?platform=douyu&area=电台&page=#一起玩$Area?platform=douyu&area=一起玩&page=#音乐之声$Area?platform=douyu&area=音乐之声&page=#正能量$Area?platform=douyu&area=正能量&page=#英雄联盟$Area?platform=douyu&area=英雄联盟&page=#热门游戏$Area?platform=douyu&area=热门游戏&page=#DOTA2$Area?platform=douyu&area=DOTA2&page=#穿越火线$Area?platform=douyu&area=穿越火线&page=#CFHD$Area?platform=douyu&area=CFHD&page=#DNF$Area?platform=douyu&area=DNF&page=#炉石传说$Area?platform=douyu&area=炉石传说&page=#CS:GO$Area?platform=douyu&area=CS:GO&page=#逆战$Area?platform=douyu&area=逆战&page=#lol云顶之弈$Area?platform=douyu&area=lol云顶之弈&page=#魔兽争霸$Area?platform=douyu&area=魔兽争霸&page=#QQ飞车端游$Area?platform=douyu&area=QQ飞车端游&page=#网易游戏$Area?platform=douyu&area=网易游戏&page=#守望先锋$Area?platform=douyu&area=守望先锋&page=#DOTA$Area?platform=douyu&area=DOTA&page=#魔兽世界$Area?platform=douyu&area=魔兽世界&page=#天涯明月刀$Area?platform=douyu&area=天涯明月刀&page=#三国杀$Area?platform=douyu&area=三国杀&page=#主机游戏$Area?platform=douyu&area=主机游戏&page=#永劫无间$Area?platform=douyu&area=永劫无间&page=#生死狙击2$Area?platform=douyu&area=生死狙击2&page=#迷失ARK$Area?platform=douyu&area=迷失ARK&page=#糖豆人$Area?platform=douyu&area=糖豆人&page=#逃离塔科夫$Area?platform=douyu&area=逃离塔科夫&page=#怪物猎人$Area?platform=douyu&area=怪物猎人&page=#海上狼人杀$Area?platform=douyu&area=海上狼人杀&page=#怀旧游戏$Area?platform=douyu&area=怀旧游戏&page=#$Area?platform=douyu&area=&page=#王者荣耀$Area?platform=douyu&area=王者荣耀&page=#和平精英$Area?platform=douyu&area=和平精英&page=#火影忍者$Area?platform=douyu&area=火影忍者&page=#LOL手游$Area?platform=douyu&area=LOL手游&page=#金铲铲之战$Area?platform=douyu&area=金铲铲之战&page=#重返帝国$Area?platform=douyu&area=重返帝国&page=#蛋仔派对$Area?platform=douyu&area=蛋仔派对&page=#狼人杀$Area?platform=douyu&area=狼人杀&page=#CF手游$Area?platform=douyu&area=CF手游&page=#欢乐斗地主$Area?platform=douyu&area=欢乐斗地主&page=#原神$Area?platform=douyu&area=原神&page=#天刀手游$Area?platform=douyu&area=天刀手游&page=#棋牌娱乐$Area?platform=douyu&area=棋牌娱乐&page=#欢乐麻将$Area?platform=douyu&area=欢乐麻将&page=#IP游戏$Area?platform=douyu&area=IP游戏&page=#QQ飞车$Area?platform=douyu&area=QQ飞车&page=#阴阳师$Area?platform=douyu&area=阴阳师&page=#热门手游$Area?platform=douyu&area=热门手游&page=", +"houzhui": "&size=20", +"shifouercijiequ": "1", +"jiequqian": "[", +"jiequhou": "]", +"jiequshuzuqian": "{", +"jiequshuzuhou": "}", +"tupianqian": "\"roomPic\":\"", +"tupianhou": "\"", +"biaotiqian": "\"roomName\":\"", +"biaotihou": "\"", +"lianjieqian": "\"roomId\":\"", +"lianjiehou": "\"", +"ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=douyu&roomId=", //可以自己定义截取链接的前缀 +"fubiaotiqian": "\"ownerName\":\"", +"fubiaotihou": "\"" +}, +{"author": "20220711", +"name": "JustLive哔哩", +"url": "http://live.yj1211.work/api/live/getRecommendByPlatform", +"User": "空", +"直接播放": "1", +"横图显示": "1", +"fenlei": "全部$?platform=bilibili&page=#影音馆$Area?platform=bilibili&area=影音馆&page=#视频唱见$Area?platform=bilibili&area=视频唱见&page=#萌宅领域$Area?platform=bilibili&area=萌宅领域&page=#视频聊天$Area?platform=bilibili&area=视频聊天&page=#舞见$Area?platform=bilibili&area=舞见&page=#户外$Area?platform=bilibili&area=户外&page=#日常$Area?platform=bilibili&area=日常&page=#唱见电台$Area?platform=bilibili&area=唱见电台&page=#聊天电台$Area?platform=bilibili&area=聊天电台&page=#配音$Area?platform=bilibili&area=配音&page=#虚拟主播$Area?platform=bilibili&area=虚拟主播&page=#美食$Area?platform=bilibili&area=美食&page=#萌宠$Area?platform=bilibili&area=萌宠&page=#时尚$Area?platform=bilibili&area=时尚&page=#手工绘画$Area?platform=bilibili&area=手工绘画&page=#运动$Area?platform=bilibili&area=运动&page=#搞笑$Area?platform=bilibili&area=搞笑&page=#生活分享$Area?platform=bilibili&area=生活分享&page=#人文社科$Area?platform=bilibili&area=人文社科&page=#科技科普$Area?platform=bilibili&area=科技科普&page=#职业技能$Area?platform=bilibili&area=职业技能&page=#陪伴学习$Area?platform=bilibili&area=陪伴学习&page=#游戏赛事$Area?platform=bilibili&area=游戏赛事&page=#体育赛事$Area?platform=bilibili&area=体育赛事&page=#赛事综合$Area?platform=bilibili&area=赛事综合&page=#英雄联盟$Area?platform=bilibili&area=英雄联盟&page=#穿越火线$Area?platform=bilibili&area=穿越火线&page=#CS:GO$Area?platform=bilibili&area=CS:GO&page=#APEX英雄$Area?platform=bilibili&area=APEX英雄&page=#DOTA2$Area?platform=bilibili&area=DOTA2&page=#守望先锋$Area?platform=bilibili&area=守望先锋&page=#吃鸡行动$Area?platform=bilibili&area=吃鸡行动&page=#洛奇英雄传$Area?platform=bilibili&area=洛奇英雄传&page=#QQ飞车$Area?platform=bilibili&area=QQ飞车&page=#反恐精英Online$Area?platform=bilibili&area=反恐精英Online&page=#逃离塔科夫$Area?platform=bilibili&area=逃离塔科夫&page=#最终幻想14$Area?platform=bilibili&area=最终幻想14&page=#VRChat$Area?platform=bilibili&area=VRChat&page=#Pavlov VR$Area?platform=bilibili&area=Pavlov VR&page=#MIR4$Area?platform=bilibili&area=MIR4&page=#新天龙八部$Area?platform=bilibili&area=新天龙八部&page=#诛仙世界$Area?platform=bilibili&area=诛仙世界&page=#大话西游$Area?platform=bilibili&area=大话西游&page=#VALORANT$Area?platform=bilibili&area=VALORANT&page=#星际公民$Area?platform=bilibili&area=星际公民&page=#Squad战术小队$Area?platform=bilibili&area=Squad战术小队&page=#生死狙击2$Area?platform=bilibili&area=生死狙击2&page=#风暴奇侠$Area?platform=bilibili&area=风暴奇侠&page=#装甲战争$Area?platform=bilibili&area=装甲战争&page=#失落的方舟$Area?platform=bilibili&area=失落的方舟&page=#阿尔比恩$Area?platform=bilibili&area=阿尔比恩&page=#猎杀对决$Area?platform=bilibili&area=猎杀对决&page=#CFHD$Area?platform=bilibili&area=CFHD&page=#骑士精神2$Area?platform=bilibili&area=骑士精神2&page=#武装突袭$Area?platform=bilibili&area=武装突袭&page=#V rising$Area?platform=bilibili&area=V rising&page=#300英雄$Area?platform=bilibili&area=300英雄&page=#炉石传说$Area?platform=bilibili&area=炉石传说&page=#剑网3$Area?platform=bilibili&area=剑网3&page=#街头篮球$Area?platform=bilibili&area=街头篮球&page=#综合射击$Area?platform=bilibili&area=综合射击&page=#剑灵$Area?platform=bilibili&area=剑灵&page=#艾尔之光$Area?platform=bilibili&area=艾尔之光&page=#黑色沙漠$Area?platform=bilibili&area=黑色沙漠&page=#天涯明月刀$Area?platform=bilibili&area=天涯明月刀&page=#超激斗梦境$Area?platform=bilibili&area=超激斗梦境&page=#冒险岛$Area?platform=bilibili&area=冒险岛&page=#逆战$Area?platform=bilibili&area=逆战&page=#魔兽争霸3$Area?platform=bilibili&area=魔兽争霸3&page=#星际海盗$Area?platform=bilibili&area=星际海盗&page=#DNF$Area?platform=bilibili&area=DNF&page=#FPS沙盒$Area?platform=bilibili&area=FPS沙盒&page=#剑网3缘起$Area?platform=bilibili&area=剑网3缘起&page=#魔兽世界$Area?platform=bilibili&area=魔兽世界&page=#FIFA ONLINE 4$Area?platform=bilibili&area=FIFA ONLINE 4&page=#NBA2KOL2$Area?platform=bilibili&area=NBA2KOL2&page=#使命召唤:战区$Area?platform=bilibili&area=使命召唤:战区&page=#星际战甲$Area?platform=bilibili&area=星际战甲&page=#坦克世界$Area?platform=bilibili&area=坦克世界&page=#战舰世界$Area?platform=bilibili&area=战舰世界&page=#战争雷霆$Area?platform=bilibili&area=战争雷霆&page=#战意$Area?platform=bilibili&area=战意&page=#无限法则$Area?platform=bilibili&area=无限法则&page=#风暴英雄$Area?platform=bilibili&area=风暴英雄&page=#星际争霸2$Area?platform=bilibili&area=星际争霸2&page=#刀塔自走棋$Area?platform=bilibili&area=刀塔自走棋&page=#堡垒之夜$Area?platform=bilibili&area=堡垒之夜&page=#枪神纪$Area?platform=bilibili&area=枪神纪&page=#三国杀$Area?platform=bilibili&area=三国杀&page=#龙之谷$Area?platform=bilibili&area=龙之谷&page=#古剑奇谭OL$Area?platform=bilibili&area=古剑奇谭OL&page=#幻想全明星$Area?platform=bilibili&area=幻想全明星&page=#封印者$Area?platform=bilibili&area=封印者&page=#怀旧网游$Area?platform=bilibili&area=怀旧网游&page=#新游前瞻$Area?platform=bilibili&area=新游前瞻&page=#星战前夜:晨曦$Area?platform=bilibili&area=星战前夜:晨曦&page=#梦幻西游端游$Area?platform=bilibili&area=梦幻西游端游&page=#流放之路$Area?platform=bilibili&area=流放之路&page=#永恒轮回$Area?platform=bilibili&area=永恒轮回&page=#泰亚史诗$Area?platform=bilibili&area=泰亚史诗&page=#激战2$Area?platform=bilibili&area=激战2&page=#其他游戏$Area?platform=bilibili&area=其他游戏&page=#王者荣耀$Area?platform=bilibili&area=王者荣耀&page=#和平精英$Area?platform=bilibili&area=和平精英&page=#LOL手游$Area?platform=bilibili&area=LOL手游&page=#原神$Area?platform=bilibili&area=原神&page=#第五人格$Area?platform=bilibili&area=第五人格&page=#哈利波特:魔法觉醒$Area?platform=bilibili&area=哈利波特:魔法觉醒&page=#幻塔$Area?platform=bilibili&area=幻塔&page=#金铲铲之战$Area?platform=bilibili&area=金铲铲之战&page=#APEX英雄手游$Area?platform=bilibili&area=APEX英雄手游&page=#明日方舟$Area?platform=bilibili&area=明日方舟&page=#深空之眼$Area?platform=bilibili&area=深空之眼&page=#玛娜希斯回$Area?platform=bilibili&area=玛娜希斯回&page=#响使命召唤手游$Area?platform=bilibili&area=响使命召唤手游&page=#黑色沙漠手游$Area?platform=bilibili&area=黑色沙漠手游&page=#崩坏3$Area?platform=bilibili&area=崩坏3&page=#游戏王:决斗链接$Area?platform=bilibili&area=游戏王:决斗链接&page=#蛋仔派对$Area?platform=bilibili&area=蛋仔派对&page=#阴阳师$Area?platform=bilibili&area=阴阳师&page=#火影忍者手游$Area?platform=bilibili&area=火影忍者手游&page=#Fate/GO$Area?platform=bilibili&area=Fate/GO&page=#综合棋牌$Area?platform=bilibili&area=综合棋牌&page=#QQ飞车手游$Area?platform=bilibili&area=QQ飞车手游&page=#决战!平安京$Area?platform=bilibili&area=决战!平安京&page=#狼人杀$Area?platform=bilibili&area=狼人杀&page=#三国杀移动版$Area?platform=bilibili&area=三国杀移动版&page=#碧蓝航线$Area?platform=bilibili&area=碧蓝航线&page=#影之诗$Area?platform=bilibili&area=影之诗&page=#明日之后$Area?platform=bilibili&area=明日之后&page=#部落冲突:皇室战争$Area?platform=bilibili&area=部落冲突:皇室战争&page=#雀姬$Area?platform=bilibili&area=雀姬&page=#公主连结Re:Dive$Area?platform=bilibili&area=公主连结Re:Dive&page=#DNF手游$Area?platform=bilibili&area=DNF手游&page=#新游评测$Area?platform=bilibili&area=新游评测&page=#FIFA足球世界$Area?platform=bilibili&area=FIFA足球世界&page=#BanG Dream$Area?platform=bilibili&area=BanG Dream&page=#荒野乱斗$Area?platform=bilibili&area=荒野乱斗&page=#CF手游$Area?platform=bilibili&area=CF手游&page=#战双帕弥什$Area?platform=bilibili&area=战双帕弥什&page=#天涯明月刀手游$Area?platform=bilibili&area=天涯明月刀手游&page=#解密游戏$Area?platform=bilibili&area=解密游戏&page=#恋爱养成游戏$Area?platform=bilibili&area=恋爱养成游戏&page=#文明与征服$Area?platform=bilibili&area=文明与征服&page=#暗区突围$Area?platform=bilibili&area=暗区突围&page=#跑跑卡丁车手游$Area?platform=bilibili&area=跑跑卡丁车手游&page=#非人学园$Area?platform=bilibili&area=非人学园&page=#百闻牌$Area?platform=bilibili&area=百闻牌&page=#猫和老鼠手游$Area?platform=bilibili&area=猫和老鼠手游&page=#坎公骑冠剑$Area?platform=bilibili&area=坎公骑冠剑&page=#忍者必须死3$Area?platform=bilibili&area=忍者必须死3&page=#梦幻西游手游$Area?platform=bilibili&area=梦幻西游手游&page=#航海王热血航线$Area?platform=bilibili&area=航海王热血航线&page=#少女前线$Area?platform=bilibili&area=少女前线&page=#少女前线:云图计划$Area?platform=bilibili&area=少女前线:云图计划&page=#漫威超级战争$Area?platform=bilibili&area=漫威超级战争&page=#摩尔庄园手游$Area?platform=bilibili&area=摩尔庄园手游&page=#宝可梦大集结$Area?platform=bilibili&area=宝可梦大集结&page=#小动物之星$Area?platform=bilibili&area=小动物之星&page=#天地劫:幽城再临$Area?platform=bilibili&area=天地劫:幽城再临&page=#漫威对决$Area?platform=bilibili&area=漫威对决&page=#东方归言录$Area?platform=bilibili&area=东方归言录&page=#梦幻模拟战$Area?platform=bilibili&area=梦幻模拟战&page=#剑网3指尖江湖$Area?platform=bilibili&area=剑网3指尖江湖&page=#天谕手游$Area?platform=bilibili&area=天谕手游&page=#时空猎人3$Area?platform=bilibili&area=时空猎人3&page=#猫之城$Area?platform=bilibili&area=猫之城&page=#重返帝国$Area?platform=bilibili&area=重返帝国&page=#其他手游$Area?platform=bilibili&area=其他手游&page=#$Area?platform=bilibili&area=&page=#主机游戏$Area?platform=bilibili&area=主机游戏&page=#我的世界$Area?platform=bilibili&area=我的世界&page=#独立游戏$Area?platform=bilibili&area=独立游戏&page=#怀旧游戏$Area?platform=bilibili&area=怀旧游戏&page=#永劫无间$Area?platform=bilibili&area=永劫无间&page=#艾尔登法环$Area?platform=bilibili&area=艾尔登法环&page=#弹幕互动玩法$Area?platform=bilibili&area=弹幕互动玩法&page=#恐怖游戏$Area?platform=bilibili&area=恐怖游戏&page=#聚会游戏$Area?platform=bilibili&area=聚会游戏&page=#命运2$Area?platform=bilibili&area=命运2&page=#沙石镇时光$Area?platform=bilibili&area=沙石镇时光&page=#Dread Hunger$Area?platform=bilibili&area=Dread Hunger&page=#策略游戏$Area?platform=bilibili&area=策略游戏&page=#战地风云$Area?platform=bilibili&area=战地风云&page=#幽灵线:东京$Area?platform=bilibili&area=幽灵线:东京&page=#糖豆人$Area?platform=bilibili&area=糖豆人&page=#消逝的光芒2$Area?platform=bilibili&area=消逝的光芒2&page=#只狼$Area?platform=bilibili&area=只狼&page=#怪物猎人$Area?platform=bilibili&area=怪物猎人&page=#饥荒$Area?platform=bilibili&area=饥荒&page=#精灵宝可梦$Area?platform=bilibili&area=精灵宝可梦&page=#暖雪$Area?platform=bilibili&area=暖雪&page=#全面战争:战锤3$Area?platform=bilibili&area=全面战争:战锤3&page=#彩虹六号:异种$Area?platform=bilibili&area=彩虹六号:异种&page=#战神$Area?platform=bilibili&area=战神&page=#FORZA 极限竞速$Area?platform=bilibili&area=FORZA 极限竞速&page=#NBA2K$Area?platform=bilibili&area=NBA2K&page=#帝国时代4$Area?platform=bilibili&area=帝国时代4&page=#光环:无限$Area?platform=bilibili&area=光环:无限&page=#孤岛惊魂6$Area?platform=bilibili&area=孤岛惊魂6&page=#植物大战僵尸$Area?platform=bilibili&area=植物大战僵尸&page=#使命召唤$Area?platform=bilibili&area=使命召唤&page=#仙剑奇侠传七$Area?platform=bilibili&area=仙剑奇侠传七&page=#灵魂筹码$Area?platform=bilibili&area=灵魂筹码&page=#格斗游戏$Area?platform=bilibili&area=格斗游戏&page=#荒野大镖客2$Area?platform=bilibili&area=荒野大镖客2&page=#重生细胞$Area?platform=bilibili&area=重生细胞&page=#刺客信条$Area?platform=bilibili&area=刺客信条&page=#恐鬼症$Area?platform=bilibili&area=恐鬼症&page=#以撒$Area?platform=bilibili&area=以撒&page=#双人成行$Area?platform=bilibili&area=双人成行&page=#方舟$Area?platform=bilibili&area=方舟&page=#仁王2$Area?platform=bilibili&area=仁王2&page=#鬼泣5$Area?platform=bilibili&area=鬼泣5&page=#枪火重生$Area?platform=bilibili&area=枪火重生&page=#盗贼之海$Area?platform=bilibili&area=盗贼之海&page=#胡闹厨房$Area?platform=bilibili&area=胡闹厨房&page=#人间地狱$Area?platform=bilibili&area=人间地狱&page=#体育游戏$Area?platform=bilibili&area=体育游戏&page=#恐惧之间$Area?platform=bilibili&area=恐惧之间&page=#塞尔达$Area?platform=bilibili&area=塞尔达&page=#马里奥制造2$Area?platform=bilibili&area=马里奥制造2&page=#全境封锁2$Area?platform=bilibili&area=全境封锁2&page=#骑马与砍杀$Area?platform=bilibili&area=骑马与砍杀&page=#人类一败涂地$Area?platform=bilibili&area=人类一败涂地&page=#鬼谷八荒$Area?platform=bilibili&area=鬼谷八荒&page=#无主之地3$Area?platform=bilibili&area=无主之地3&page=#辐射76$Area?platform=bilibili&area=辐射76&page=#全面战争$Area?platform=bilibili&area=全面战争&page=#亿万僵尸$Area?platform=bilibili&area=亿万僵尸&page=#暗黑破坏神2$Area?platform=bilibili&area=暗黑破坏神2&page=#文字游戏$Area?platform=bilibili&area=文字游戏&page=#恋爱模拟游戏$Area?platform=bilibili&area=恋爱模拟游戏&page=#泰拉瑞亚$Area?platform=bilibili&area=泰拉瑞亚&page=#雨中冒险2$Area?platform=bilibili&area=雨中冒险2&page=#赏金游戏$Area?platform=bilibili&area=赏金游戏&page=#仙剑客栈2$Area?platform=bilibili&area=仙剑客栈2&page=#其他单机$Area?platform=bilibili&area=其他单机&page=", +"houzhui": "&size=20", +"shifouercijiequ": "1", +"jiequqian": "[", +"jiequhou": "]", +"jiequshuzuqian": "{", +"jiequshuzuhou": "}", +"tupianqian": "\"roomPic\":\"", +"tupianhou": "\"", +"biaotiqian": "\"roomName\":\"", +"biaotihou": "\"", +"lianjieqian": "\"roomId\":\"", +"lianjiehou": "\"", +"ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=bilibili&roomId=", //可以自己定义截取链接的前缀 +"fubiaotiqian": "\"ownerName\":\"", +"fubiaotihou": "\"" +}, +{"author": "20220711", +"name": "JustLive虎牙", +"url": "http://live.yj1211.work/api/live/getRecommendByPlatform", +"User": "空", +"直接播放": "1", +"横图显示": "1", +"fenlei": "全部$?platform=huya&page=#一起看$Area?platform=huya&area=一起看&page=#星秀$Area?platform=huya&area=星秀&page=#户外$Area?platform=huya&area=户外&page=#二次元$Area?platform=huya&area=二次元&page=#美食$Area?platform=huya&area=美食&page=#颜值$Area?platform=huya&area=颜值&page=#交友$Area?platform=huya&area=交友&page=#体育$Area?platform=huya&area=体育&page=#组队$Area?platform=huya&area=组队&page=#英雄联盟$Area?platform=huya&area=英雄联盟&page=#LOL云顶之弈$Area?platform=huya&area=LOL云顶之弈&page=#穿越火线$Area?platform=huya&area=穿越火线&page=#DNF$Area?platform=huya&area=DNF&page=#射击综合$Area?platform=huya&area=射击综合&page=#炉石传说$Area?platform=huya&area=炉石传说&page=#DOTA2$Area?platform=huya&area=DOTA2&page=#魔兽争霸3$Area?platform=huya&area=魔兽争霸3&page=#CS:GO$Area?platform=huya&area=CS:GO&page=#逆战$Area?platform=huya&area=逆战&page=#魔兽世界$Area?platform=huya&area=魔兽世界&page=#QQ飞车$Area?platform=huya&area=QQ飞车&page=#天天吃鸡$Area?platform=huya&area=天天吃鸡&page=#主机游戏$Area?platform=huya&area=主机游戏&page=#我的世界$Area?platform=huya&area=我的世界&page=#方舟$Area?platform=huya&area=方舟&page=#永劫无间$Area?platform=huya&area=永劫无间&page=#逃离塔科夫$Area?platform=huya&area=逃离塔科夫&page=#怀旧游戏$Area?platform=huya&area=怀旧游戏&page=#互动点播$Area?platform=huya&area=互动点播&page=#Dread Hunger$Area?platform=huya&area=Dread Hunger&page=#王者荣耀$Area?platform=huya&area=王者荣耀&page=#和平精英$Area?platform=huya&area=和平精英&page=#金铲铲之战$Area?platform=huya&area=金铲铲之战&page=#LOL手游$Area?platform=huya&area=LOL手游&page=#新游广场$Area?platform=huya&area=新游广场&page=#综合手游$Area?platform=huya&area=综合手游&page=#暗区突围$Area?platform=huya&area=暗区突围&page=#火影忍者手游$Area?platform=huya&area=火影忍者手游&page=#CF手游$Area?platform=huya&area=CF手游&page=#棋牌休闲$Area?platform=huya&area=棋牌休闲&page=#原神$Area?platform=huya&area=原神&page=#第五人格$Area?platform=huya&area=第五人格&page=#明日之后$Area?platform=huya&area=明日之后&page=#时空猎人3$Area?platform=huya&area=时空猎人3&page=#二次元手游$Area?platform=huya&area=二次元手游&page=", +"houzhui": "&size=20", +"shifouercijiequ": "1", +"jiequqian": "[", +"jiequhou": "]", +"jiequshuzuqian": "{", +"jiequshuzuhou": "}", +"tupianqian": "\"roomPic\":\"", +"tupianhou": "\"", +"biaotiqian": "\"roomName\":\"", +"biaotihou": "\"", +"lianjieqian": "\"roomId\":\"", +"lianjiehou": "\"", +"ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=huya&roomId=", //可以自己定义截取链接的前缀 +"fubiaotiqian": "\"ownerName\":\"", +"fubiaotihou": "\"" +}, +{"author": "20220711", +"name": "JustLive网易", +"url": "http://live.yj1211.work/api/live/getRecommendByPlatform", +"User": "空", +"直接播放": "1", +"横图显示": "1", +"fenlei": "全部$?platform=cc&page=#星秀$Area?platform=cc&area=星秀&page=#二次元$Area?platform=cc&area=二次元&page=#正能量$Area?platform=cc&area=正能量&page=#梦幻西游手游$Area?platform=cc&area=梦幻西游手游&page=#哈利波特:魔法觉醒$Area?platform=cc&area=哈利波特:魔法觉醒&page=#游戏文化$Area?platform=cc&area=游戏文化&page=#明日之后$Area?platform=cc&area=明日之后&page=#阴阳师$Area?platform=cc&area=阴阳师&page=#大话西游手游$Area?platform=cc&area=大话西游手游&page=#第五人格$Area?platform=cc&area=第五人格&page=#倩女幽魂手游$Area?platform=cc&area=倩女幽魂手游&page=#率土之滨$Area?platform=cc&area=率土之滨&page=#王牌竞速$Area?platform=cc&area=王牌竞速&page=#暗黑破坏神:不朽$Area?platform=cc&area=暗黑破坏神:不朽&page=#一梦江湖$Area?platform=cc&area=一梦江湖&page=#决战!平安京$Area?platform=cc&area=决战!平安京&page=#漫威超级战争$Area?platform=cc&area=漫威超级战争&page=#荒野行动$Area?platform=cc&area=荒野行动&page=#天谕手游$Area?platform=cc&area=天谕手游&page=#永劫无间$Area?platform=cc&area=永劫无间&page=#梦幻西游电脑版$Area?platform=cc&area=梦幻西游电脑版&page=#我的世界$Area?platform=cc&area=我的世界&page=#主机单机$Area?platform=cc&area=主机单机&page=#守望先锋$Area?platform=cc&area=守望先锋&page=#大话西游2经典版$Area?platform=cc&area=大话西游2经典版&page=#魔兽世界怀旧服$Area?platform=cc&area=魔兽世界怀旧服&page=#新倩女幽魂$Area?platform=cc&area=新倩女幽魂&page=#逆水寒$Area?platform=cc&area=逆水寒&page=#荒野行动PC模拟器$Area?platform=cc&area=荒野行动PC模拟器&page=#超激斗梦境$Area?platform=cc&area=超激斗梦境&page=#天下3$Area?platform=cc&area=天下3&page=#FPS综合游戏$Area?platform=cc&area=FPS综合游戏&page=#泰亚史诗$Area?platform=cc&area=泰亚史诗&page=#APEX英雄$Area?platform=cc&area=APEX英雄&page=#战意$Area?platform=cc&area=战意&page=", +"houzhui": "&size=20", +"shifouercijiequ": "1", +"jiequqian": "[", +"jiequhou": "]", +"jiequshuzuqian": "{", +"jiequshuzuhou": "}", +"tupianqian": "\"roomPic\":\"", +"tupianhou": "\"", +"biaotiqian": "\"roomName\":\"", +"biaotihou": "\"", +"lianjieqian": "\"roomId\":\"", +"lianjiehou": "\"", +"ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=cc&roomId=", //可以自己定义截取链接的前缀 +"fubiaotiqian": "\"ownerName\":\"", +"fubiaotihou": "\"" +}, +{"author": "20220630", +"name": "Auete影视", +"url": "https://auete.com", + +//访问请求头,如果不需要自定义请求ua的话,不填写或者直接删除这个字段就可以了。 +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +//播放请求头 +"User": "空", +//直接播放截取的播放页链接网址,0表示:否,1表示:是 +"直接播放": "0", +//分类页是否使用列表方式显示,0表示:否,1表示:是 +"列表显示": "0", +//列表图片是否横图显示,0表示:否,1表示:是 +"横图显示": "0", + +//影视分类和翻页后缀部分,如果分类类型填空,例如:测试$空,则直接取url字段网站的源码。 +"fenlei": "豆瓣TOP250$/Top250/movie#Netflix影视$/Netflix/movies#谍战剧集推荐$/diezhan/index#电影$/Movie/index#电视剧$/Tv/index#综艺$/Zy/index#动漫$/Dm/index#其他$/qita/index#记录片$/qita/Jlp/index#国产剧$/Tv/neidi/index#韩剧$/Tv/hanju/index#美剧$/Tv/oumei/index#日剧$/Tv/riju/index#泰剧$/Tv/yataiju/index#网剧$/Tv/wangju/index#台剧$/Tv/taiju/index#港剧$/Tv/tvbgj/index#英剧$/Tv/yingju/index#经典剧$/qita/Jdj/index#动画$/Dm/donghua/index#日漫$/Dm/riman/index#国漫$/Dm/guoman/index#美漫$/Dm/meiman/index#经典片$/qita/Jdp/index#网大电影$/qita/wlp/index#国产老电影$/qita/laodianying/index#喜剧片$/Movie/xjp/index#动作片$/Movie/dzp/index#爱情片$/Movie/aqp/index#科幻片$/Movie/khp/index#恐怖片$/Movie/kbp/index#惊悚片$/Movie/jsp/index#战争片$/Movie/zzp/index#剧情片$/Movie/jqp/index", +"houzhui": ".html", +"qishiye": "2",//可以自定义列表翻页起始页的页数,如果填上一个空字,则不使用起始页数,直接获取链接的数据。 + +//影视列表展示部分 +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"trans_3", +"jiequshuzuhou": "", +"fubiaotihou": "", +"ssjiequshuzuhou": "", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空",//可以自己定义截取图片的前缀 +"ssbiaotiqian": "text-danger\">", +"ssbiaotihou": "", + +"zhuangtaiqian": "状态: ", +"zhuangtaihou": "", +"daoyanqian": "影片导演:", +"daoyanhou": "

    ", +"zhuyanqian": "影片主演:", +"zhuyanhou": "

    ", +"juqingqian": "

    ", +"juqinghou": "

    ", + +"bfyshifouercijiequ": "1", +"bfyjiequqian": "
      ", +"bfyjiequhou": "
    ", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" //可以自己定义截取播放链接的前缀,不需要的话不填写,或者删除这个字段即可。 +}, +{ +"author": "20220611", +"name": "斗鱼", +"url": "https://www.douyu.com/", +"User": "空", +"横图显示": "1", + +"fenlei": "网游竞技$gapi/rkc/directory/mixList/1_1/#单机热游$gapi/rkc/directory/mixList/1_15/#手游休闲$gapi/rkc/directory/mixList/1_9/#娱乐天地$gapi/rkc/directory/mixList/1_2/#科技文化$gapi/rkc/directory/mixList/1_11/#语音互动$gapi/rkc/directory/mixList/1_20/#语音直播$gapi/rkc/directory/mixList/1_18/#正能量$gapi/rkc/directory/mixList/1_13/#颜值$gapi/rkc/directory/mixList/2_201/#音乐$gapi/rkc/directory/mixList/2_175/#舞蹈$gapi/rkc/directory/mixList/2_1008/#二次元$gapi/rkc/directory/mixList/2_174/#户外$gapi/rkc/directory/mixList/2_124/#美食$gapi/rkc/directory/mixList/2_194/#互动交友$gapi/rkc/directory/mixList/2_1555/#一起看$gapi/rkc/directory/mixList/2_208/#趣生活$gapi/rkc/directory/mixList/2_1097/#数码科技$gapi/rkc/directory/mixList/2_134/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#汽车$gapi/rkc/directory/mixList/2_136/#纪录片$gapi/rkc/directory/mixList/2_514/#斗鱼购物$gapi/rkc/directory/mixList/2_1203/#交友$gapi/rkc/directory/mixList/2_1221/#电台$gapi/rkc/directory/mixList/2_1556/#一起玩$gapi/rkc/directory/mixList/2_1575/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/#英雄联盟$gapi/rkc/directory/mixList/2_1/#热门游戏$gapi/rkc/directory/mixList/2_270/#DOTA2$gapi/rkc/directory/mixList/2_3/#穿越火线$gapi/rkc/directory/mixList/2_33/#CFHD$gapi/rkc/directory/mixList/2_1997/#DNF$gapi/rkc/directory/mixList/2_40/#炉石传说$gapi/rkc/directory/mixList/2_2/#CS:GO$gapi/rkc/directory/mixList/2_6/#逆战$gapi/rkc/directory/mixList/2_46/#lol云顶之弈$gapi/rkc/directory/mixList/2_917/#魔兽争霸$gapi/rkc/directory/mixList/2_55/#魔兽怀旧服$gapi/rkc/directory/mixList/2_1055/#网易游戏$gapi/rkc/directory/mixList/2_3567/#守望先锋$gapi/rkc/directory/mixList/2_148/#DOTA$gapi/rkc/directory/mixList/2_217/#魔兽世界$gapi/rkc/directory/mixList/2_5/#天涯明月刀$gapi/rkc/directory/mixList/2_59/#三国杀$gapi/rkc/directory/mixList/2_14/#主机游戏$gapi/rkc/directory/mixList/2_19/#永劫无间$gapi/rkc/directory/mixList/2_1227/#生死狙击2$gapi/rkc/directory/mixList/2_1781/#迷失ARK$gapi/rkc/directory/mixList/2_3528/#艾尔登法环$gapi/rkc/directory/mixList/2_3406/#逃离塔科夫$gapi/rkc/directory/mixList/2_1024/#V Rising$gapi/rkc/directory/mixList/2_3684/#海上狼人杀$gapi/rkc/directory/mixList/2_3556/#怀旧游戏$gapi/rkc/directory/mixList/2_26/#王者荣耀$gapi/rkc/directory/mixList/2_181/#和平精英$gapi/rkc/directory/mixList/2_350/#火影忍者$gapi/rkc/directory/mixList/2_196/#LOL手游$gapi/rkc/directory/mixList/2_1920/#金铲铲之战$gapi/rkc/directory/mixList/2_2556/#重返帝国$gapi/rkc/directory/mixList/2_2915/#COD手游$gapi/rkc/directory/mixList/2_767/#哈利波特:魔法觉醒$gapi/rkc/directory/mixList/2_1192/#CF手游$gapi/rkc/directory/mixList/2_178/#欢乐斗地主$gapi/rkc/directory/mixList/2_416/#原神$gapi/rkc/directory/mixList/2_1223/#天刀手游$gapi/rkc/directory/mixList/2_911/#棋牌娱乐$gapi/rkc/directory/mixList/2_113/#欢乐麻将$gapi/rkc/directory/mixList/2_451/#新游中心$gapi/rkc/directory/mixList/2_229/#QQ飞车$gapi/rkc/directory/mixList/2_331/#阴阳师$gapi/rkc/directory/mixList/2_240/#热门手游$gapi/rkc/directory/mixList/2_30/", +"houzhui": "", + +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "\"type\":1", +"jiequshuzuhou": "\"rs16\"", +"tupianqian": "\"rs1\":\"", +"tupianhou": "\"", +"biaotiqian": "\"rn\":\"", +"biaotihou": "\"", +"lianjieqian": "\"rid\":", +"lianjiehou": ",\"", + +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian": "\"nn\":\"", +"fubiaotihou": "\"", + +"sousuoqian": "/japi/search/api/searchShow?kw=", +"sousuohou": "&page=1&pageSize=50", +"sousuohouzhui": "/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "roomSrc", +"jsname": "roomName", +"jsid": "rid", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", + +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "left\">
    ", + +"zhuangtaiqian": "Header-logo\" title=\"", +"zhuangtaihou": "\"", +"daoyanqian": "Title-anchorNameH2\">", +"daoyanhou": "", +"zhuyanqian": "canonical\" href=\"", +"zhuyanhou": "\"", +"juqingqian": "is-announceTxt\">", +"juqinghou": "

    ", + +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "

    ", +"bfbiaotihou": "

    ", +"bflianjieqian": "rid=", +"bflianjiehou": "\"" +}, +{ + "name": "九州", + "url": "http://www.unss.net", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/index.php/vod/show/id/2/page/#电影$/index.php/vod/show/id/1/page/#综艺$/index.php/vod/show/id/3/page/#国产$/index.php/vod/show/id/13", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfjiequshuzuqian": "class=\"myui-content__list scrollbar sort-list clearfix\"", + "bfjiequshuzuhou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "思古", + "url": "https://www.siguyy.com/", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/type/tv/page/#电影$/type/m/page/#综艺$/type/va/psge/#国产$/show/tv-大陆----------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "看看屋", + "url": "https://m.kkw361.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/dianying/page/#国产剧$/guocanju/page/#综艺$/zongyi/page/#电视剧$/dianshiju/page/", + "houzhui": "____.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"ui-pages", + "jiequhou": "class=\"uipages\">", + "jiequshuzuqian": "", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"vw50 fn-left\">", + "daoyanhou": "", + "zhuyanqian": "class=\"vw100 clear\">", + "zhuyanhou": "", + "juqingqian": "class=\"v-js clear yc\">", + "juqinghou": "", + "bfjiequshuzuqian": "class=\"plau-ul-list\">", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "耐克TV", + "url": "https://www.ajeee.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/show/Movie/page/#国产剧$/show/Tv/area/大陆/page/#电视剧$/show/Tv/page/#综艺$/show/Variety/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "id=\"page", + "jiequshuzuqian": "", + "zhuangtaihou": "", + "daoyanqian": "class=\"module-info-item-title\">", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\">", + "juqinghou": "

    ", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "um", + "url": "https://www.umkan.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/index.php/vod/show/id/1/page/#国产剧$/index.php/vod/show/class/国产/id/2/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动画$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "id=\"page", + "jiequshuzuqian": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "class=\"module-item-note\">", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "target=\"_blank\">", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\">", + "juqinghou": "

    ", + "bfjiequshuzuqian": "class=\"module-list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + { + "name": "中国电影", + "url": "https://www.chinady.ga", + "User": "空", + "shouye": "1", + "fenlei": "电影$/vodshow/dianying-----------#国产剧$/vodshow/dsj--hits---------#电视剧$/vodshow/dsj-----------#综艺$/vodshow/zy-----------#动画$/vodshow/dm-----------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\">", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfjiequshuzuqian": "class=\"sort-item", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小鸟", + "url": "http://www.158381886.xyz", + "User": "空", + "shouye": "1", + "fenlei": "电影$/index.php/vod/show/id/1/page/#国产剧$/index.php/vod/show/id/13/page/#综艺$/index.php/vod/show/id/3/page/#动画$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "class=\"module-items", + "jiequhou": "id=\"page", + "jiequshuzuqian": "class=\"module-item\">", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "/div>", + "bfjiequshuzuqian": "class=\"sort-item\"", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "🔞搜狗影院", +"url": "http://sogouyy.cn", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "伦理片$/s/lunlipian/page/", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "
    ", +"jiequshuzuhou": "
    ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/d/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sort-item\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "看看铺", +"url": "https://www.kankanpu.com", +"fenlei": "电视剧$/vshow/2-----------/page/#电影$/vshow/1-----------/page/#综艺$/vshow/3-----------/page/#动漫$/vshow/4-----------/page/#国产剧$/vshow/15-----------/page/#港台剧$/vshow/16-----------/page/#日韩剧$/vshow/17-----------/page/#欧美剧$/vshow/18-----------/page/#动作片$/vshow/6-----------/page/#喜剧片$/vshow/7-----------/page/#爱情片$/vshow/8-----------/page/#科幻片$/vshow/9-----------/page/#恐怖片$/vshow/10-----------/page/#剧情片$/vshow/11-----------/page/#战争片$/vshow/12-----------/page/#动画片$/vshow/13-----------/page/#奇幻片$/vshow/14-----------/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"sort-item", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"module-item-caption\">", +"zhuangtaihou": "", +"daoyanqian": "target=\"_blank\">", +"daoyanhou": "", +"zhuyanqian": "class=\"module-item-style video-tag\">", +"zhuyanhou": "", +"juqingqian": " style=\"display: none;\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "艾菲影视", +"url": "https://www.ifimv.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "国产剧$/vodshow/13--------#美剧$/vodshow/14--------#日韩剧$/vodshow/15--------#泰剧$/vodshow/16--------#动画片$/vodshow/23--------#恐怖片$/vodshow/24--------#历史片$/vodshow/25--------#战争片$/vodshow/26--------#记录片$/vodshow/29--------#悬疑片$/vodshow/12--------#灾难片$/vodshow/30--------#惊悚片$/vodshow/10--------#恐怖片$/vodshow/11--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"data hidden-xs\">类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "class=\"data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "皮皮泡影院", +"url": "http://www.pipipao.com", +"User": "空", +"fenlei": "国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#纪录片$/vodshow/id/jilupian/page/#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#动画片$/vodshow/id/donghua/page/#动漫$/type/dongman/page/#综艺$/type/zongyi/page/#", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": " class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + {"name": "🔞宝塔影院", +"url": "https://baotayy.com", +"tihuan": "", +"User": "空", +"fenlei":"电影$/ta/dianying/#连续剧$/ta/lianxuju/#综艺$/ta/zongyi/#动漫$/ta/dongman/#资讯$/zixun/zixun/#犯罪片$/ta/fanzuipian/#动作片$/ta/dongzuopian/#喜剧片$/ta/xijupian/#爱情片$/ta/aiqingpian/#科幻片$/ta/kehuanpian/#恐怖片$/ta/kongbupian/#剧情片$/ta/juqingpian/#恐怖片$/ta/kongbupian/#战争片$/ta/zhanzhengpian/#台剧$/ta/taiju/#韩剧$/ta/hanju/#国产剧$/ta/guochanju/#伦理片$/ta/lunlipian/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian":"/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=50", +"sousuohouzhui": "/xx/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"myui-vodlist__thumb picture\"", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list scrollbar sort-list clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新\: ", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"sketch content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "🔞真不卡2", + "url": "https://www.23vod.com", + "tihuan": "cnzz.com", + "User": "空", + "shouye": "1", + + "fenlei": "电影$/vod-type-id-1-#连续剧$/vod-type-id-2-#综艺$/vod-type-id-3-#动漫$/vod-type-id-4-#动作片$/vod-type-id-5-#喜剧片$/vod-type-id-6-#爱情片$/vod-type-id-7-#科幻片$/vod-type-id-8-#恐怖片$/vod-type-id-9-#剧情片$/vod-type-id-10-#战争片$/vod-type-id-11-#国产剧$/vod-type-id-12-#香港剧$/vod-type-id-13-#台湾剧$/vod-type-id-14-#日本剧$/vod-type-id-15-#韩国剧$/vod-type-id-16-#欧美剧$/vod-type-id-17-#海外剧$/vod-type-id-18-#伦理片$/vod-type-id-20-", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"p1", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"videourl clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "年份:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "介绍:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{"name": "★厂长资源-蓝光", +"url": "https://qianoo.cn", +"User": "空", +"fenlei": "本月热门$/benyueremen/page/#高分影视$/gaofenyingshi/page/#豆瓣电影TOP250$/dbtop250/page/#最新电影$/zuixindianying/page/#电视剧$/dsj/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/#日剧$/movie_bt_series/rj/page/#海外剧$/movie_bt_series/hwj/page/#番剧$/fanju/page/#动漫$/dm/page/#韩国电影$/movie_bt_series/hanguodianying/page/#纪录片$/movie_bt/movie_bt_tags/jlpp/page/", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
  • ", +"jiequshuzuhou": "
  • ", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "qianoo.cn", +"lianjiehou": "\"", +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian": "span>", +"fubiaotihou": "", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "qianoo.cn", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"paly_list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "
  • 导演:", +"daoyanhou": "
  • ", +"zhuyanqian": "
  • 主演:", +"zhuyanhou": "
  • ", +"juqingqian": "class=\"yp_context\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "qianoo.cn", +"bflianjiehou": "\"" +}, +{ +"name": "在线之家", +"url": "https://www.zxzjtv.com", +"User": "空", +"fenlei": "电影$/vodshow/1--------#美剧$/vodshow/2--------#韩剧$/vodshow/3--------#日剧$/vodshow/4--------#泰剧$/vodshow/5--------#动漫$/vodshow/6--------#动画片$/vodshow/1---动画-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----#警匪片$/vodshow/1---警匪-----#犯罪片$/vodshow/1---犯罪-----#奇幻片$/vodshow/1---奇幻-----#冒险片$/vodshow/1---冒险-----", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "★LIBVIO", +"url": "https://www.libvio.me", +"User": "空", + +"fenlei": "最近更新$/show/19--------#电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------#动画片$/show/1---动画-----#纪录片$/show/21--------#国产剧$/show/13--------#日韩剧$/show/15--------#欧美剧$/show/16--------#港台剧$/show/14--------#泰国剧$/show/2-泰国-------#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#恐怖片$/show/1---恐怖-----#动作片$/show/1---动作-----#科幻片$/show/1---科幻-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#警匪片$/show/1---警匪-----#犯罪片$/show/1---犯罪-----#奇幻片$/show/1---奇幻-----#武侠片$/show/1---武侠-----#冒险片$/show/1---冒险-----", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "class=\"pic-tag", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "最后更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "/", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "★COKEMV", +"url": "https://cokemv.me", +"User": "空", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画电影$/vodshow/41--------#抖音电影$/vodshow/5--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#犯罪片$/vodshow/23--------", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "module-page", +"jiequhou": "class=\"fixedGroup", +"jiequshuzuqian": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +//新版Biubiu参数:副标题 (不需要的话,就不填写或者删除副标题2个字段也可以。) +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "a\" style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"author": "20220613", +"name": "★555电影", +"url": "https://www.xawqxh.net", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#Netflix(漫)$/vodshow/4---Netflix-----#热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧美剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#美食片$/vodshow/1---美食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "class=\"fixedGroup", +"jiequshuzuqian": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "class=\"text-red\">", +"zhuangtaihou": "/", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"author": "20220606", +"name": "瓜皮TV", +"url": "https://guapitv.xyz", +"User": "空", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items", +"jiequhou": "class=\"fixedGroup", +"jiequshuzuqian": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "
    ", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "
    ", +"fubiaotihou": "<", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"sort-item", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "集数:
    ", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "vod_content\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=双面赘婿", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "red;\">", +"zhuangtaihou": "", +"daoyanqian": "data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "sketch\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"author": "20220615", +"name": "悟空影视", +"url": "https://www.01vo.com", +"User": "空", +"fenlei": "体育$/vodshow/36--------#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/25--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/31--------#日本动漫$/vodshow/32--------#欧美动漫$/vodshow/33--------#动漫片$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/24--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "class=\"module-item\"", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "item-text\">", +"fubiaotihou": "<", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"sort-item", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=天使的心跳", +"sousuohou": "&limit=500", +"sousuohouzhui": "/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "备注:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "introduction-content\">

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"author": "20220625", +"name": "奈落影院", +"url": "https://newfii.com", +"User": "空", +"fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#港台剧$/vodshow/14--------#海外剧$/vodshow/21--------#记录片$/vodshow/27--------#童漫$/vodshow/24--------#动画片$/vodshow/20--------#国漫$/vodshow/22--------#日漫$/vodshow/25--------#欧漫$/vodshow/23--------#番剧(B站)$/vodshow/35--------#国创(B站)$/vodshow/36--------#综艺$/vodshow/4--------#科幻片$/vodshow/6--------#动作片$/vodshow/7--------#喜剧片$/vodshow/8--------#爱情片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "class=\"module-item\"", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "item-text\">", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"sort-item", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanhou": "

    ", +"zhuyanqian": "演员:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "双十电影", +"url": "https://www.1010dy1.com", +"User": "空", +"fenlei": "电影$/show/1/page/#陆剧$/show/2/area/大陆/page/#韩剧$/show/2/area/韩国/page/#港剧$/show/2/area/香港/page/#台剧$/show/2/area/台湾/page/#日剧$/show/2/area/日本/page/#美剧$/show/2/area/美国/page/#泰剧$/show/2/area/泰国/page/#英剧$/show/2/area/英国/page/#新加坡剧$/show/2/area/新加坡/page/#其他剧$/show/2/area/其他/page/#大陆动漫$/show/3/area/大陆/page/#日本动漫$/show/3/area/日本/page/#欧美动漫$/show/3/area/欧美/page/#综艺$/show/4/page/#喜剧片$/show/1/class/喜剧/page/#爱情片$/show/1/class/爱情/page/#恐怖片$/show/1/class/恐怖/page/#动作片$/show/1/class/动作/page/#科幻片$/show/1/class/科幻/page/#剧情片$/show/1/class/剧情/page/#战争片$/show/1/class/战争/page/#犯罪片$/show/1/class/犯罪/page/#灾难片$/show/1/class/灾难/page/#奇幻片$/show/1/class/奇幻/page/#悬疑片$/show/1/class/悬疑/page/#惊悚片$/show/1/class/惊悚/page/#冒险片$/show/1/class/冒险/page/", +"houzhui": "/", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "
    ", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "playlist clearfix\">", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "骚火电影", +"url": "https://shdy2.com", +"User": "空", +"fenlei": "国产剧$/list/20-#TVB剧$/list/21-#韩剧$/list/22-#美剧$/list/23-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-#动漫$/list/4-#亲子动漫$/list/46-#电影$/list/1-#动画片$/list/13-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"v_img\">", +"jiequshuzuhou": "/div>", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "v_note\">", +"fubiaotihou": "<", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/movie/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
    ", +"ssjiequshuzuhou": "/div>", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "1", +"bfjiequqian": "id=\"play_link\">", +"bfjiequhou": "", +"bfjiequshuzuqian": "", +"zhuangtaiqian": "h1>

    ", +"zhuangtaihou": "/ 导演", +"daoyanqian": "导演:", +"daoyanhou": "/ 主演", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "show_part\">", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "神马接口", +"url": "https://www.smdyy.cc", +"fenlei": "热播剧集$/show/2--hits------#热播电影$/show/1--hits------#综艺$/show/3--------#动漫$/show/4--------#少儿片库$/show/33--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#记录片$/show/26--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------#惊悚片$/show/21--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#泰国剧$/show/28--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "达达龟", +"url": "https://www.dadagui.me", +"User": "空", +"fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#国产剧$/vodshow/13--------#日韩剧$/vodshow/14--------#欧美剧$/vodshow/15--------#港台剧$/vodshow/16--------#日剧$/vodshow/25--------#台剧$/vodshow/26--------#泰剧$/vodshow/27--------#越剧$/vodshow/28--------#国产动漫$/vodshow/33--------#日本动漫$/vodshow/34--------#港台动漫$/vodshow/35--------#欧美动漫$/vodshow/36--------#其它动漫$/vodshow/37--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#动画片$/vodshow/20--------#犯罪片$/vodshow/21--------#纪录片$/vodshow/22--------#音乐片$/vodshow/23--------#微电影$/vodshow/24--------#奇幻片$/vodshow/38--------#悬疑片$/vodshow/39--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "display: none;\">", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\">" +}, +{ +"name": "乐猪影视", +"url": "http://www.lezhutv.com", +"User": "空", +"fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vbox\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "span>", +"fubiaotihou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list_block show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "口袋影院", +"url": "http://www.koudaitv.com", +"User": "空", +"fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#美剧$/type/15-1--------", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"vbox\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "span>", +"fubiaotihou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list_block show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"tbox_js\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "
  • ", +"bfyjiequshuzuhou": "
  • ", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "黑洞影视", +"url": "https://www.nulltm.com", +"User": "空", +"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"hl-list-item hl-col-xs-4 hl-col-sm-3 hl-col-md-20w hl-col-lg-2\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "t text-right\">", +"fubiaotihou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"hl-col-xs-4 hl-col-sm-2\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "北川影视", +"url": "https://www.bcwzg.com", +"User": "Referer:https://j.bcyingshi.ink/", +"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", +"houzhui": "---/", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "class=\"module-item\"", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "item-text\">", +"fubiaotihou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "类型:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-sketch\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href='", +"bflianjiehou": "'" +}, +{ +"name": "花猫TV", +"url": "http://www.huamaotv.com", +"User": "空", +"fenlei": "电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__item", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "pic-text\">", +"fubiaotihou": "", +"zhuangtaiqian": "年份:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "思乐影视", +"url": "https://www.4ltv.com", +"User": "空", +"fenlei": "电视剧$/show/1------#电影$/show/2------#综艺$/show/3------#动漫$/show/4------", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "class=\"module-item\"", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "item-text\">", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"col-md-1", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sort-item", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "1080Kkk", +"url": "https://www.1080kkk.com", +"User": "空", +"fenlei": "电影$/ys/1--------#电视剧$/ys/2--------#综艺$/ys/3--------#动漫$/ys/4--------#动画片$/ys/1---动画-----#记录片$/ys/1---记录-----#国产剧$/ys/2----国语----#韩剧$/ys/2----韩语----#日剧$/ys/2----日语----#美剧$/ys/2----英语----#港剧$/ys/2----粤语----#喜剧片$/ys/1---喜剧-----#爱情片$/ys/1---爱情-----#恐怖片$/ys/1---恐怖-----#动作片$/ys/1---动作-----#科幻片$/ys/1---科幻-----#剧情片$/ys/1---剧情-----#战争片$/ys/1---战争-----#警匪片$/ys/1---警匪-----#犯罪片$/ys/1---犯罪-----#奇幻$/ys/1---奇幻-----#武侠$/ys/1---武侠-----#冒险$/ys/1---冒险-----", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "乌龟影院", +"url": "https://www.wuguiyy.com", +"User": "空", +"fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"stui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "31看影视", +"url": "https://www.31kan.vip", +"author": "dj", +"User": "空", +"fenlei": "热播剧集$/vodshow/2--hits------#热播电影$/vodshow/1--hits------#热播综艺$/vodshow/3--hits------#热播少儿$/vodshow/33--hits------#国产剧$/vodshow/2-大陆-------#港剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#泰剧$/vodshow/2-泰国-------#日剧$/vodshow/2-日本-------#英剧$/vodshow/2-英国-------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "小强迷", +"url": "http://xqmi.top", +"User": "空", +"fenlei": "电影$/index.php/vod/show/by/time/id/1/page/#电视剧$/index.php/vod/show/by/time/id/2/page/#综艺$/index.php/vod/show/by/time/id/3/page/#动漫$/index.php/vod/show/by/time/id/4/page/#国产剧$/index.php/vod/show/by/time/id/13/page/#港台剧$/index.php/vod/show/by/time/id/14/page/#日韩剧$/index.php/vod/show/by/time/id/15/page/#欧美剧$/index.php/vod/show/by/time/id/16/page/#国产动漫$/index.php/vod/show/area/国产/by/time/id/4/page/#日本动漫$/index.php/vod/show/area/日本/by/time/id/4/page/#动作片$/index.php/vod/show/by/time/id/6/page/#喜剧片$/index.php/vod/show/by/time/id/7/page/#爱情片$/index.php/vod/show/by/time/id/8/page/#科幻片$/index.php/vod/show/by/time/id/9/page/#恐怖片$/index.php/vod/show/by/time/id/10/page/#剧情片$/index.php/vod/show/by/time/id/11/page/#战争片$/index.php/vod/show/by/time/id/12/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": " lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\">", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "chok8电影", +"url": "https://www.chok8.com", +"fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#记录片$/vodshow/jilupian--------#国产剧$/vodshow/guochanju--------#日韩剧$/vodshow/rihanju--------#欧美剧$/vodshow/oumeiju--------#港台剧$/vodshow/gangtaiju--------#动作片$/vodshow/dongzuopian--------#喜剧片$/vodshow/xijupian--------#爱情片$/vodshow/aiqingpian--------#科幻片$/vodshow/kehuanpian--------#恐怖片$/vodshow/kongbupian--------#剧情片$/vodshow/juqingpian--------#战争片$/vodshow/zhanzhengpian--------#犯罪片$/vodshow/fanzuipian--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "九州影视", +"url": "http://www.unss.net", +"User": "空", +"fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/type/id/4/page/#动画片$/index.php/vod/show/id/21/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#泰剧$/index.php/vod/show/id/34/page/#国产动漫$/index.php/vod/show/id/26/page/#日本动漫$/index.php/vod/show/id/27/page/#欧美动漫$/index.php/vod/show/id/28/page/#动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#犯罪片$/index.php/vod/show/id/20/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "鸭奈飞", +"url": "https://yanetflix.com", +"User": "空", +"fenlei": "电影$/vodshow/dianying--time------#连续剧$/vodshow/lianxuju--time------#综艺$/vodshow/zongyi--time------#动漫$/vodshow/dongman--time------#动画片$/vodshow/donghuapian--time------#纪录片$/vodshow/jilupian--time------#国产剧$/vodshow/guochanju--time------#日韩剧$/vodshow/rihanju--time------#欧美剧$/vodshow/oumeiju--time------#港台剧$/vodshow/gangtaiju--time------#泰国剧$/vodshow/taiguoju--time------#海外剧$/vodshow/haiwaiju--time------#大陆动漫$/vodshow/daludongman--time------#日本动漫$/vodshow/ribendongman--time------#欧美动漫$/vodshow/oumeidongman--time------#动作片$/vodshow/dongzuopian--time------#喜剧片$/vodshow/xijupian--time------#爱情片$/vodshow/aiqingpian--time------#科幻片$/vodshow/kehuanpian--time------#恐怖片$/vodshow/kongbupian--time------#剧情片$/vodshow/juqingpian--time------#战争片$/vodshow/zhanzhengpian--time------#悬疑片$/vodshow/xuanyipian--time------#冒险片$/vodshow/maoxianpian--time------#犯罪片$/vodshow/fanzuipian--time------#奇幻片$/vodshow/qihuanpian--time------#惊悚片$/vodshow/jingsongpian--time------#灾难片$/vodshow/zainanpian--time------#古装片$/vodshow/guzhuangpian--time------", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "
    ", +"fubiaotihou": "
    ", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "23影视网", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "pack-prb\">", +"fubiaotihou": "", +"zhuangtaiqian": "remarks\">", +"zhuangtaihou": "", +"daoyanhou": "

    ", +"zhuyanqian": "演员:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "影视之光", +"url": "http://vip.8kvod.com:888", +"User": "空", +"fenlei": "电影$/t/1/page/#连续剧$/t/2/page/#综艺$/t/3/page/#动漫$/t/4/page/#动作片$/t/6/page/#喜剧片$/t/7/page/#爱情片$/t/8/page/#科幻片$/t/9/page/#恐怖片$/t/10/page/#剧情片$/t/11/page/#动画片$/t/29/page/", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "red\">", +"zhuangtaihou": "", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "手机看剧", +"url": "https://www.shoujikanju.com/", +"User": "空", +"fenlei": "电影$/sort/1-#电视剧$/sort/2-#综艺$/sort/3-#动漫$/sort/4-#纪录片$/sort/5-", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "id=\"list\"", +"jiequhou": "", +"jiequshuzuqian": "
  • ", +"jiequshuzuhou": "
  • ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "span>", +"biaotihou": "", +"fubiaotihou": "
    ", +"zhuangtaiqian": "空", +"zhuangtaihou": "空", +"daoyanqian": "空", +"daoyanhou": "空", +"zhuyanqian": "空", +"zhuyanhou": "空", +"juqingqian": "text-indent: 2em;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "克拉TV", +"url": "https://www.kelatv.com", +"fenlei": "电影$/dianying/index-#电视剧$/dianshiju/index-#动漫$/dongman/index-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"layui-col-md2 layui-col-sm4 layui-col-xs6 item\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "", +"fubiaotihou": "", +"sousuoqian": "/search/", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"video-txt\"", +"ssjiequshuzuhou": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"layui-tab-item bt-playlist layui-show\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "

    状态:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"bt-content\">

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "创艺影视", +"url": "https://www.30dian.cn", +"User": "空", +"fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#纪录片$/vodshow/30--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "7091fc;\">", +"fubiaotihou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "炫猫影视", +"url": "https://www.xuanmao520.com", +"User": "空", +"fenlei": "电影$/vod/show/id/1/page/#电视剧$/vod/show/id/2/page/#综艺$/vod/show/id/3/page/#动漫$/vod/show/id/4/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "神马影院", +"url": "https://www.smtv8.com", +"fenlei": "国产剧$/guocanju/index_#韩国剧$/hanguoju/index_#日本剧$/ribenju/index_#欧美剧$/oumeiju/index_#香港剧$/xianggangju/index_#台湾剧$/taiwanju/index_#海外剧$/haiwaiju/index_#综艺$/fun/index_#动漫$/cartoon/index_#记录片$/jilupian/index_#喜剧片$/xijupian/index_#动作片$/dongzuopian/index_#科幻片$/kehuanpian/index_#恐怖片$/kongbupian/index_#爱情片$/aiqingpian/index_#战争片$/zhanzhengpian/index_#犯罪片$/fanzuipian/index_#剧情片$/juqingpian/index_#经典片$/jingdianpian/index_", +"houzhui": "_______.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"link-hover\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "i>", +"fubiaotihou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"urlli clearfix\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"bz\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href='", +"bflianjiehou": "'" +}, +{ +"name": "利丽娅电影", +"url": "https://www.llyady.com", +"User": "空", +"fenlei": "电影$/vodshow/1--hits------#国产剧$/vodshow/28--------#日韩剧$/vodshow/29--------#欧美剧$/vodshow/30--------#港台剧$/vodshow/31--------#其他剧$/vodshow/31--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic\"", +"jiequshuzuhou": "class=\"module-item-caption\"", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "right;\">", +"fubiaotihou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "e;border-radius:0 10px 0 10px;\">", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "style=\"bottom:0;backgroud-color:white;border-radius:0 10px 0 10px;\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "🔞奇优影院(不支持搜)", +"url": "http://1e6e.com", +"User": "空", +"fenlei": "电影$/list/1_#电视剧$/list/2_#综艺$/list/4_#动漫$/list/3_#伦理$/list/6_", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"zhuangtaiqian": "class=\"pic-text text-right\">", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "星空影视", +"url": "https://xkys.tv", +"User": "空", +"fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/2-内地-------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#直播$/vodshow/22--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"module-item-pic", +"jiequshuzuhou": "class=\"module-item\"", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "item-text\">", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/Moviedsetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"scroll-content\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "上映:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "", +"tupianqian": "data-src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "sNum\">", +"fubiaotihou": "", +"sstupianqian": "data-src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"ulNumList", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "title=\"", +"bfbiaotihou": "\"", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "尘落影院", +"url": "https://v.xuangz.cn", +"User": "空", +"fenlei": "电视剧$/whole/2_______0_addtime_#电影$/whole/1_______0_id_#综艺$/whole/4_______0_addtime_#动漫$/whole/3_______0_addtime_#全网资源$/whole/5_______0_addtime_", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"movie-item-in", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "hdtag\">", +"fubiaotihou": "", +"sousuoqian": "/?c=search&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/show/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"movie-item-in", +"ssjiequshuzuhou": "", +"bfjiequshuzuhou": "class=\"row", +"zhuangtaiqian": "状态", +"zhuangtaihou": "", +"daoyanqian": "导演", +"daoyanhou": "", +"zhuyanqian": "主演", +"zhuyanhou": "", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "city电影", +"url": "https://www.citydy.com", +"User": "User-Agent:Dart/2.14 (dart:io)", +"fenlei": "电影$/show/id-1/page/#纪录片$/show/id-5/page/##电视剧$/show/id-2/page/#国产剧$/show/id-2/area/大陆/page/#日剧$/show/id-2/area/日本/page/#泰剧$/show/id-2/area/泰国/page/#韩剧$/show/id-2/area/韩国/page/#美剧$/show/id-2/area/美国/page/#英剧$/show/id-2/area/英国/page/#综艺$/type/id-3-#动漫$/type/id-4-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"img-pic", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/id-", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"play-div-oa", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "老电影", +"url": "https://www.laodyw.com", +"User": "空", +"fenlei": "国产剧$/guocanju/index_#香港剧$/xianggangju/index_#台湾剧$/taiwanju/index_#韩国剧$/hanguoju/index_#日本剧$/ribenju/index_#欧美剧$/oumeiju/index_#海外剧$/haiwaiju/index_#动漫$/cartoon/index_#综艺$/fun/index_#纪录片$/jilupian/index_#喜剧片$/xijupian/index_#动作片$/dongzuopian/index_#科幻片$/kehuanpian/index_#恐怖片$/kongbupian/index_#爱情片$/aiqingpian/index_#战争片$/zhanzhengpian/index_#犯罪片$/fanzuipian/index_#剧情片$/juqingpian/index_#经典片$/jingdianpian/index_", +"houzhui": "_______1.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "t text-right\">", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "状态:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "剧情:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "\">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "Nike影视网", +"url": "https://www.ajeee.com", +"User": "空", +"fenlei": "电影$/show/Movie/page/#大陆剧$/show/Tv/area/大陆/page/#韩剧$/show/Tv/area/韩国/page/#港剧$/show/Tv/area/香港/page/#台剧$/show/Tv/area/台湾/page/#日剧$/show/Tv/area/日本/page/#美剧$/show/Tv/area/美国/page/#泰剧$/show/Tv/area/泰国/page/#英剧$/show/Tv/area/英国/page/#大陆动漫$/show/Cartoon/area/大陆/page/#日本动漫$/show/Cartoon/area/日本/page/#欧美动漫$/show/Cartoon/area/欧美/page/#综艺$/show/Variety/page/", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "module-page", +"jiequhou": "class=\"fixedGroup", +"jiequshuzuqian": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-list", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ +"name": "139影视", +"url": "https://www.139ys.com", +"User": "空", +"fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#国产剧$/vodshow/guochanju--------#港台剧$/vodshow/gangtaiju--------#日韩剧$/vodshow/rihanju--------#欧美剧$/vodshow/oumeiju--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "lazyload\"", +"jiequshuzuhou": "class=\"myui-vodlist__detail", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"fubiaotiqian": "text-right\">", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "简介:", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{ + "name": "哔嘀影视", + "url": "https://bidiys.cc/", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "南瓜电影$/vodshow-nanguady--------#4K专区$/vodshow-huiyuanzhuanqu--------#电影$/vodshow-dianying--------#电视剧$/vodshow-lianxuju--------#动漫$/vodshow-dongman--------#日本番剧$/vodshow-rbdm--------#国产剧$/vodshow-guochanju--------#日韩剧$/vodshow-rihanju--------#欧美剧$/vodshow-oumeiju--------#港台剧$/vodshow-gangtaiju--------#其他海外$/vodshow-qita--------#综艺$/vodshow-zongyi--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"module-item\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch--------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item-", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/index", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"detail-sketch\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "YYDS影院", + "url": "https://www.yydsvod.com", + "User": "空", + "shouye": "1", + "fenlei": "电视剧$/vod/show/drama--------#电影$/vod/show/movie--------#综艺$/vod/show/varietyshow--------#动漫$/vod/show/animes--------#伦理片$/vod/show/limit--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "蓝莓影视", + "url": "https://lanmeiguojiang.com", + "User": "空", + "shouye": "1", + //"fenlei": "电影$/ys/index.php/vod/type/id/20/page/#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#抖音电影$/vodshow/5--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/23--------", + "fenlei": "电影$/show/1--------#剧集$/show/2--------#综艺$/show/4--------#动漫$/show/3--------#4K剧集$/show/24--------#4K电影$/show/25--------#国产剧$/show/13--------#欧美剧$/show/14--------#港台剧$/show/15--------#日韩剧$/show/16--------#网剧$/show/20--------#动作片$/show/6--------#喜剧片$/show/7--------#爱情片$/show/8--------#科幻片$/show/9--------#恐怖片$/show/10--------#剧情片$/show/11--------#战争片$/show/12--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "fubiaotihou": "", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-play-list\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"fubiaotihou": "", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "更新:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "span>", +"bfbiaotihou": "百人牛牛,美女陪干!不爽就来干", +"jiequhou": "
    ", +"jiequshuzuqian": "class=\"video-pic loading", +"jiequshuzuhou": "player", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/gaosearch/-/?wd=", +"sousuohou": "", +"sousuohouzhui": "/gaotype/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "1", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "blank\">百人牛牛,美女陪干!不爽就来干", +"ssjiequhou": "
    ", +"ssjiequshuzuqian": "class=\"video-pic loading", +"ssjiequshuzuhou": "player", +"sstupianqian": "original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"item line\">", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "target=\"_blank\">", +"zhuangtaihou": "类型:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "

    ", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name": "🔞爱看影院", +"tihuan": "cnzz.com", +"url": "https://www.readav.com", +"fenlei": "国产视频$/index.php/vod/type/id/1/page/#日本视频$/index.php/vod/type/id/2/page/#VR视频$/index.php/vod/type/id/3/page/#韩国视频$/index.php/vod/type/id/4/page/#欧美视频$/index.php/vod/type/id/5/page/#动画视频$/index.php/vod/type/id/6/page/6#中文字幕$/index.php/vod/type/id/9/page/#国产精品$/index.php/vod/show/id/10/page/#精品三级$/index.php/vod/show/id/11/page/#主播大秀$/index.php/vod/show/id/12/page/#抖阴视频$/index.php/vod/show/id/13/page/#国模私拍$/index.php/vod/show/id/14/page/#颜射瞬间$/index.php/vod/show/id/15/page/#女神学生$/index.php/vod/show/id/16/page/#美熟少妇$/index.php/vod/show/id/17/page/#娇妻素人$/index.php/vod/show/id/18/page/#空姐模特$/index.php/vod/show/id/19/page/#国产乱伦$/index.php/vod/show/id/20/page/#骑兵有码$/index.php/vod/show/id/27/page/#步兵无码$/index.php/vod/show/id/28/page/#制服师生$/index.php/vod/show/id/50/page/#强奸乱伦$/index.php/vod/show/id/51/page/#人妻熟女$/index.php/vod/show/id/53/page/#三级剧情$/index.php/vod/show/id/55/page/#丝袜美腿$/index.php/vod/show/id/56/page/#亚洲情色$/index.php/vod/show/id/58/page/#VR有码$/index.php/vod/show/id/7/page/#VR无码$/index.php/vod/show/id/8/page/#韩国精品$/index.php/vod/show/id/42/page/#韩国制服主播$/index.php/vod/show/id/43/page/#韩国萝莉主播$/index.php/vod/show/id/44/page/#韩国大秀主播$/index.php/vod/show/id/45/page/#韩国自慰主播$/index.php/vod/show/id/46/page/#韩国唯美三级$/index.php/vod/show/id/47/page/#韩国明星学生$/index.php/vod/show/id/48/page/#无码中文$/index.php/vod/show/id/34/page/#强奸中文$/index.php/vod/show/id/35/page/#巨乳中文$/index.php/vod/show/id/36/page/#乱伦中文$/index.php/vod/show/id/37/page/#制服中文$/index.php/vod/show/id/38/page/#人妻中文$/index.php/vod/show/id/39/page/#调教中文$/index.php/vod/show/id/40/page/#出轨中文$/index.php/vod/show/id/41/page/#中文字幕$/index.php/vod/show/id/59/page/#卡通动漫$/index.php/vod/show/id/49/page/#欧美性爱$/index.php/vod/show/id/29/page/#欧美人兽$/index.php/vod/show/id30/page/#欧美人妖$/index.php/vod/show/id/31/page/#欧美男同$/index.php/vod/show/id/32/page/#欧美女同$/index.php/vod/show/id/33/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian":"class=\"stui-vodlist", +"jiequshuzuhou": "", +"tupianqian":"data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/detail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"stui-content__playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"text-muted hidden-xs\">类型:", +"zhuangtaihou": "", +"daoyanqian": "class=\"data\">导演:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"detail-content\"", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name": "🔞香蕉超清资源", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "亚洲AV$/?ju=cqzy-cqzyfl-62-#3D动漫$/?ju=cqzy-cqzyfl-66-#自拍偷拍$/?ju=cqzy-cqzyfl-63-#超清传媒$/?ju=cqzy-cqzyfl-64-#欧美AV$/?ju=cqzy-cqzyfl-65-#乱伦人妻$/?ju=cqzy-cqzyfl-67-#丝袜制服$/?ju=cqzy-cqzyfl-68-#直播录播$/?ju=cqzy-cqzyfl-69-#SM另类$/?ju=cqzy-cqzyfl-70-#超清三级$/?ju=cqzy-cqzyfl-71-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"uk-width-1-5", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "alt=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?m=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"read-btn uk-margin-bottom", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name": "🔞香蕉国产传媒", +"url": "https://www.2024xxj.com", +"tihuan": "cnzz.com", +"User": "空", +"shouye": "0", +"fenlei": "麻豆原创$/gccm/guochanchuamei/madouyuanchuang/index_#91制片厂$/gccm/guochanchuamei/91zhipianchang/index_#天美传媒$/?ju=gccm-gccmfl-3-#蜜桃传媒$/?ju=gccm-gccmfl-4-#港台三级$/?ju=gccm-gccmfl-17-#皇家华人$/?ju=gccm-gccmfl-5-#星空传媒$/?ju=gccm-gccmfl-6-#精东影业$/?ju=gccm-gccmfl-7-#乐播传媒$/?ju=gccm-gccmfl-8-#乌鸦传媒$/?ju=gccm-gccmfl-9-#兔子先生$/?ju=gccm-gccmfl-10-#杏吧原创$/?ju=gccm-gccmfl-11-#mini传媒$//?ju=gccm-gccmfl-12-#大象传媒$/?ju=gccm-gccmfl-13-#开心鬼传媒$/?ju=gccm-gccmfl-14-#PsychoPorn$/?ju=gccm-gccmfl-15-#糖心Vlgo$/?ju=gccm-gccmfl-16-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"item", +"jiequshuzuhou": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/?ju=search-type-so-0.html&TXT=", +"sousuohou": "&submit=", +"sousuohouzhui": "/detail/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"uk-width-1-5", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"list-videos", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "影片分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "更新时间:", +"daoyanhou": "

    ", +"zhuyanqian": "class=\"data\">主演:", +"zhuyanhou": "

    ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name": "🔞麻豆传媒", +"url": "https://www.madoupj.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "MD系列$/index.php/&m=vodtype/mdapp4/page/#导演系列$/index.php/&m=vodtype/mdapp5/page/#MDS系列$/index.php/&m=vodtype/mdapp6/page/#MDX系列$/index.php/&m=vodtype/mdapp7/page/#MKY系列$/index.php/&m=vodtype/mdapp86/page/#MCY系列$/index.php/&m=vodtype/mdapp95/page/#MDXS系列$/index.php/&m=vodtype/mdapp8/page/#MDL系列$/index.php/&m=vodtype/mdapp46/page/#MMZ猫爪系列$/index.php/&m=vodtype/mdapp50/page/#MAD爱豆系列$/index.php/&m=vodtype/mdapp52/page/#MDWP职场淫行系列$/index.php/&m=vodtype/mdapp57/page/#MLT乐天系列$/index.php/&m=vodtype/mdapp62/page/#MSD系列$/index.php/&m=vodtype/mdapp63/page/#MSM性梦者$/index.php/&m=vodtype/mdapp64/page/#MDM恋爱咖啡馆$/index.php/&m=vodtype/mdapp73/page/#MDUS系列$/index.php/&m=vodtype/mdapp77/page/#MXJ系列$/index.php/&m=vodtype/mdapp78/page/#MSG系列$/index.php/&m=vodtype/mdapp85/page/#MAN系列$/index.php/&m=vodtype/mdapp88/page/#杏吧专区$/index.php/&m=vodtype/mdapp9/page/#辣椒原创$/index.php/&m=vodtype/mdapp79/page/#兔子先生$/index.php/&m=vodtype/mdapp10/page/#O-STAR$/index.php/&m=vodtype/mdapp80/page/#果冻传媒$/index.php/&m=vodtype/mdapp11/page/#91制片厂$/index.php/&m=vodtype/mdapp51/page/#皇家华人$/index.php/&m=vodtype/mdapp12/page/#天美传媒$/index.php/&m=vodtype/mdapp45/page/#吴梦梦专区$/index.php/&m=vodtype/mdapp13/page/#PsychoPorn色控$/index.php/&m=vodtype/mdapp14/page/#叮叮映画$/index.php/&m=vodtype/mdapp70/page/#涩会$/index.php/&m=vodtype/mdapp71/page/#蜜桃影像传媒$/index.php/&m=vodtype/mdapp15/page/#豚豚创媒$/index.php/&m=vodtype/mdapp74/page/#宫美娱乐$/index.php/&m=vodtype/mdapp84/page/#肉肉传媒$/index.php/&m=vodtype/mdapp90/page/#爱妃传媒$/index.php/&m=vodtype/mdapp75/page/#渡边传媒$/index.php/&m=vodtype/mdapp94/page/#葵心娱乐$/index.php/&m=vodtype/mdapp96/page/#YOKUBOU$/index.php/&m=vodtype/mdapp97/page/#糖心$/index.php/&m=vodtype/mdapp72/page/#CCAV成人头条$/index.php/&m=vodtype/mdapp89/page/#精东影业$/index.php/&m=vodtype/mdapp34/page/#星空无限传媒$/index.php/&m=vodtype/mdapp47/page/#乐播传媒$/index.php/&m=vodtype/mdapp48/page/#开心鬼传媒$/index.php/&m=vodtype/mdapp56/page/#葫芦影业$/index.php/&m=vodtype/mdapp81/page/#深夜保健室$/index.php/&m=vodtype/mdapp35/page/#大象传媒$/index.php/&m=vodtype/mdapp58/page/#天马传媒$/index.php/&m=vodtype/mdapp82/page/#SWAG$/index.php/&m=vodtype/mdapp36/page/#HongKongDoll$/index.php/&m=vodtype/mdapp59/page/#国产短视频$/index.php/&m=vodtype/mdapp38/page/#北京天使$/index.php/&m=vodtype/mdapp39/page/#MINI传媒$/index.php/&m=vodtype/mdapp61/page/#麻豆不回家$/index.php/&m=vodtype/mdapp41/page/#狼人插$/index.php/&m=vodtype/mdapp53/page/#女优擂台摔角狂热$/index.php/&m=vodtype/mdapp54/page/#恋爱巴士$/index.php/&m=vodtype/mdapp60/page/#男女优生死斗$/index.php/&m=vodtype/mdapp65/page/#情人劫密室逃脱$/index.php/&m=vodtype/mdapp66/page/#换妻$/index.php/&m=vodtype/mdapp67/page/#你好同学$/index.php/&m=vodtype/mdapp68/page/#鲍鱼的胜利$/index.php/&m=vodtype/mdapp83/page/#性爱自修室$/index.php/&m=vodtype/mdapp87/page/#春游记$/index.php/&m=vodtype/mdapp91/page/#心动的性号$/index.php/&m=vodtype/mdapp92/page/#情趣大富翁$/index.php/&m=vodtype/mdapp93/page/#大鸟十八$/index.php/&m=vodtype/mdapp17/page/#疯拍系列$/index.php/&m=vodtype/mdapp18/page/#创造淫2021$/index.php/&m=vodtype/mdapp55/page/#禁欲小屋$/index.php/&m=vodtype/mdapp76/page/#KISS糖果屋$/index.php/&m=vodtype/mdapp19/page/#小鹏奇啪行$/index.php/&m=vodtype/mdapp20/page/#男优出征趣$/index.php/&m=vodtype/mdapp21/page/", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"col-sm-4\"", +"jiequshuzuhou": "", +"tupianqian": "img src=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": ".html", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "空", +"jsname": "空", +"jsid": "空", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"col-sm-4\"", +"ssjiequshuzuhou": "", +"sstupianqian": "src=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"single-audio\"", +"bfjiequshuzuhou": "

    ", +"zhuangtaiqian": "class=\"yac\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:
    ", +"daoyanhou": "

    ", +"zhuyanqian": "主演:
    ", +"zhuyanhou": "

    ", +"juqingqian": "class=\"title\">", +"juqinghou": "title", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +}, +{"name": "🔞四虎影院", +"url": "https://www.a345w.com", +"tihuan": "cnzz.com", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "1", +"fenlei": "热门女优$/av/index_#动漫卡通$/video/dongman/index_#电影$/movie/index_#无码中字$/movie/wuma/index_#SM系列$/movie/sm/index_#高清无码$/movie/gaoqing/index_#熟女人妻$/movie/shunv/index_#美颜巨乳$/movie/meiyan/index_#丝袜制服$/movie/siwa/index_#中字有码$/movie/youma/index_", +"houzhui": ".html", +"qishiye": "2", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": " ", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/searchs/index.php?keyboard=", +"sousuohou": "&classid=", +"sousuohouzhui": "/html/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "com/html", +"ssjiequshuzuhou": "", +"sstupianqian": "

    ", +"sstupianhou": " - ", +"ssbiaotihou": "", +"sslianjieqian": ".com", +"sslianjiehou": " - ", +"zhuangtaiqian": "分类:", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:
    ", +"daoyanhou": "

    ", +"zhuyanqian": "主演:
    ", +"zhuyanhou": "

    ", +"juqingqian": "名称:", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"" +} +] +} \ No newline at end of file diff --git a/调试助手/调试助手0928.txt b/调试助手/调试助手0928.txt new file mode 100644 index 0000000..f826f11 --- /dev/null +++ b/调试助手/调试助手0928.txt @@ -0,0 +1,4466 @@ +{ +"Home": [ +{"key":"采集","title":"七七资源","pic":"https://raw.iqiq.io/jigedos/tvbox1/main/C.png"}, +{"key":"网页","title":"网页资源","pic":"https://raw.iqiq.io/jigedos/tvbox1/main/B.png"}, +{"key":"APP","title":"APP资源","pic":"https://raw.iqiq.io/jigedos/tvbox1/main/A.png"}, +{"key":"直播","title":"电视直播","pic":"https://raw.iqiq.io/jigedos/tvbox1/main/D.png"}, +{"key":"历史","title":"历史","pic":"https://raw.iqiq.io/jigedos/tvbox1/main/E.png"}, +{"key":"收藏","title":"收藏","pic":"https://raw.iqiq.io/jigedos/tvbox1/main/F.png"}, +{"key":"推送","title":"推送","pic":"https://raw.iqiq.io/jigedos/tvbox1/main/G.png"} +], +"zhuyejiekou": [ +{"name":"9e国语","url": "http://vod.9e03.com/lvdou_api.php/v1.vod"}, +{"name":"咪剧范","url":"http://ttzmz.net/api.php/v1.vod"}, +{"name":"大猫影院","url":"http://app.ishen520.com/api.php/v1.vod"}, +{"name":"A北川","url":"https://www.bcwzg.com/api.php/app/"}, +{"name":"懒猫影院[多线]","url":"https://lanmao.lanmaoymw.cn/api.php/v1.vod"}, +{"name":"段友2影院","url":"https://shangjihuoke.com/api.php/tv.vod"}, +{"name":"段友影院1","url":"http://js.66app.me/api.php/app/"}, +{"name":"📹️万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"📹️QC观","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"📹️月儿","url":"https://yue52.xyz/api.php/v1.vod"}, +{"name":"📹️黄河","url":"http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"📹️兔子窝","url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod"}, +{"name":"📹️暖光观","url":"https://app.bl210.com/api.php/v1.vod"}, +{"name": "📹️9e华语","url": "http://vod.9e03.com/lvdou_api.php/v1.vod"}, +{"name":"📹️段友观2","url":"https://shangjihuoke.com/api.php/tv.vod"}, +{"name":"📹️段友观3","url":"http://js.66app.me/api.php/app/"}, +{"name":"📹️爱酷观","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"A美剧范","url":"http://ttzmz.net/api.php/v1.vod"}, +{"name":"📹️迪迪影院","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"📹️寒枫视频","url":"https://vip.shenyunwl.cn/mogai_api.php/v1.vod"}, +{"name":"📹️创意观","url":"https://www.30dian.cn/api.php/v1.vod"}, +{"name":"📹️阿里","url":"http://aliys.cn:90/api.php/v1.vod"}, +{"name":"📹️迪迪","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"📹️大猫观","url":"http://app.ishen520.com/api.php/v1.vod"}, +{"name":"📹️爱电影","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"创艺","url":"http://www.30dian.cn/api.php/v1.vod"} +], + +"caijizhan": [ +{"name":"📽︎七七","url":"http://api.kunyu77.com/api.php"}, +{"name":"📽︎云海采集","url":"http://101.34.7.151:600/api.php"}, +{"name":"📽︎贵宾影院","url":"https://vipdytv.com/api.php/iptv/vod/"}, +{"name":"📽︎南华影源","url":"http://api.nguonphim.tv/api.php"}, +{"name":"📽︎量子资源","url":"http://cj.lziapi.com/api.php"}, +{"name":"📽︎速更资源","url":"https://www.sugengzy.cn/api.php"}, +{"name":"📽︎蓝光观资源","url":"http://www.zzrhgg.com/api.php"}, +{"name":"📽︎飘花资源","url":"http://www.zzrhgg.com/api.php"} + + + +], + +"zhujiexi": [ +{"name":"融兴","url":"https://svip.rongxingvr.top/api/?key=bpWXKrAJUKm3puOCH4&url="}, +{"name":"左岸","url":"http://110.42.2.115:880/analysis/json/?uid=2100&my=fgjnoqstLMRUZ03489&url="}, +{"name":"左岸2","url":"https://za.kuanjv.com/?url="}, +{"name":"太空","url":"http://124.222.68.182/jiexi/4kJX.php/?url="}, +{"name":"扶风","url":"https://vip.byteamone.cn/api/?key=rpPXBo57OXwYBnirql&url="}, +{"name":"多多","url":"http://qiqi.520say.cn/json/dd.php?url="} +], + +"beiyongjiexi": [ +{"name":"左岸","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"人人","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"虾米","url":"https://jx.xmflv.com/?url="}, +{"name":"九亿","url":"https://m3u8.look4you.top/?url="} +], + +"dianshizhibo": "https://wds.ecsxs.com/230233.txt", + +"guolvdizhi": "player.css#url=#cnzz.com#51.la", + +"zidingyi": [ +{"name": "体育-jrs", +"url": "http://www.jrkankan.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"直接播放": "0", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"qishiye": "空", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
      ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"lab_team_home\">", +"biaotihou": "
    • ", +"fubiaotihou": "
    • ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sub_playlist\"", +"bfjiequshuzuhou": "|", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

      ", +"daoyanqian": "导演:", +"daoyanhou": "

      ", +"zhuyanqian": "主演:", +"zhuyanhou": "

      ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "data-play=\"", +"bflianjiehou": "\"", +"bfqianzhui": "http://play.sportsteam333.com" +}, + +{"name": "直播8", +"url": "https://www.zhibo8.net", +"User": "空", +"直接播放": "1", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"match-item\"", +"jiequshuzuhou": "", +"tupianqian": "https://img0.baidu.com/it/u=959607043,1054237520&fm=253&fmt=auto&app=138&f=JPEG?w=417&h=500", +"tupianhou": "\"", +"biaotiqian": "class=\"col-home flex\">", +"biaotihou": "", +"tupianqianzhui": "空", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"fubiaotiqian": "class=\"col-time\">", +"fubiaotihou": " "}, + +{"name": "体育-88看球", +"url": "http://www.88kanqiu.com", +"User": "空", +"是否记录历史": "1", +"横图显示": "1", +"列表显示": "0", +"fenlei": "体育$空", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "group-game-item", +"jiequshuzuhou": "", +"tupianqian": "https://img0.baidu.com/it/u=18459781,726289362&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500","tupianhou": "\"", +"biaotiqian": "text-right\">", +"biaotihou": "
      ", +"fubiaotihou": "<", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"game-videos-btn-container\"", +"bfjiequshuzuhou": "
      ", +"bfyshifouercijiequ": "0","bfyjiequqian": "空", +"bfyjiequhou": "空","bfyjiequshuzuqian": "","bfbiaotiqian": ">", +"bfbiaotihou": "<","bflianjieqian": "href='", +"bflianjiehou": "'"}, + +{ "name": "厂长资源-蓝光官方", + "url": "https://qianoo.cn", + "tihuan": "aliyundrive", + "User": "空", + "fenlei": "本月热门$/benyueremen/page/#高分影视$/gaofenyingshi/page/#豆瓣电影TOP250$/dbtop250/page/#最新电影$/zuixindianying/page/#电视剧$/dsj/page/#国产剧$/gcj/page/#美剧$/meijutt/page/#韩剧$/hanjutv/page/#日剧$/movie_bt_series/rj/page/#海外剧$/movie_bt_series/hwj/page/#番剧$/fanju/page/#动漫$/dm/page/#韩国电影$/movie_bt_series/hanguodianying/page/#纪录片$/movie_bt/movie_bt_tags/jlpp/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
    • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "qianoo.cn", + "lianjiehou": "\"", + "sousuoqian": "/xssearch?q=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
    • ", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "qianoo.cn", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"paly_list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "上映:", + "zhuangtaihou": "", + "daoyanqian": "
    • 导演:", + "daoyanhou": "
    • ", + "zhuyanqian": "
    • 主演:", + "zhuyanhou": "
    • ", + "juqingqian": "class=\"yp_context\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "qianoo.cn", + "bflianjiehou": "\"" +}, + +{"name": "❤BiLiBiLi", +"url": "https://api.bilibili.com", +"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36", +"User": "空", +"直接播放": "0", +"横图显示": "1", +"fenlei": "动物世界$/x/web-interface/search/type?search_type=video&keyword=%E5%8A%A8%E7%89%A9%E4%B8%96%E7%95%8C&duration=3&page=#mv$/x/web-interface/search/type?search_type=video&keyword=mv&duration=3&page=#戏曲$/x/web-interface/search/type?search_type=video&keyword=戏曲&duration=3&page=#演唱会$/x/web-interface/search/type?search_type=video&keyword=演唱会&duration=4&page=#电影音乐$/x/web-interface/search/type?search_type=video&keyword=电影音乐&duration=0&page=#舞蹈$/x/web-interface/search/type?search_type=video&keyword=舞蹈&duration=0&page=#生活$/x/web-interface/search/type?search_type=video&keyword=生活&duration=0&page=#音乐$/x/web-interface/search/type?search_type=video&keyword=音乐&duration=0&page=#搞笑$/x/web-interface/search/type?search_type=video&keyword=搞笑&duration=0&page=#河南卫视$/x/web-interface/search/type?search_type=video&keyword=河南卫视&duration=0&page#电影$/x/web-interface/search/type?search_type=video&keyword=电影&duration=3&page=#运动$/x/web-interface/search/type?search_type=video&keyword=运动&duration=3&page=#公开课$/x/web-interface/search/type?search_type=video&keyword=公开课&duration=3&page=", +"houzhui": "", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "{\"type", +"jiequshuzuhou": "corner", +"tupianqian": "\"pic\":\"", +"tupianhou": "\"", +"tupianqianzhui": "http:", +"biaotiqian": "author\":\"", +"biaotihou": "\"", +"lianjieqian": "\"bvid\":\"", +"lianjiehou": "\"", +"ljqianzhui":"https://www.bilibili.com/video/", +"fubiaotiqian": "title\":\"", +"fubiaotihou": "\"", +"sousuohouzhui": "/voddetail/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"sstupianqianzhui": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"ssljqianzhui": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "\"pages\"", +"bfjiequshuzuhou": "]", +"zhuangtaiqian": "tname\":\"", +"zhuangtaihou": "\"", +"daoyanqian": "空空", +"daoyanhou": "空空", +"zhuyanqian": "空空", +"zhuyanhou": "空空", +"juqingqian": "raw_text\":\"", +"juqinghou": "\"", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "{", +"bfyjiequshuzuhou": "}", +"bfbiaotiqian": "part\":\"", +"bfbiaotihou": "\"", +"bflianjieqian": "page\":", +"bflianjiehou": ",", +"bfqianzhui": "?p="}, +{"name": "❤斗鱼", +"url": "https://www.douyu.com/", +//填网站链接 +"tihuan": "cnzz.com", + //这个不用动,是个别网站嗅探时过滤地址用的 "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 "shouye": "0", + "fenlei": "科技文化$gapi/rkc/directory/mixList/1_11/#美食$gapi/rkc/directory/mixList/2_194/#一起看$gapi/rkc/directory/mixList/2_208/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#纪录片$gapi/rkc/directory/mixList/2_514/#电台$gapi/rkc/directory/mixList/2_1556/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/", "houzhui": "", + "shifouercijiequ": "0", +"jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "\"type\":1", "jiequshuzuhou": "\"rs16\"", + "tupianqian": "\"rs1\":\"", + "tupianhou": "\"", + "biaotiqian": "\"rn\":\"", + "biaotihou": "\"", + "lianjieqian": "\"rid\":", + "lianjiehou": ",\"", + "sousuoqian": "/japi/search/api/searchShow?kw=", + "sousuohou": "&page=1&pageSize=50", "sousuohouzhui": "/", +"ssmoshi": "0", "sousuoshifouercijiequ": "0", "jspic": "roomSrc", "jsname": "roomName", "jsid": "rid", "ssjiequqian": "空", "ssjiequhou": "空", "ssjiequshuzuqian": "空", "ssjiequshuzuhou": "空", "sstupianqian": "空", "sstupianhou": "空", "ssbiaotiqian": "空", "ssbiaotihou": "空", "sslianjieqian": "空", "sslianjiehou": "空", "bfshifouercijiequ": "0", "bfjiequqian": "空", "bfjiequhou": "空", "bfjiequshuzuqian": "left\">
      ", +"zhuangtaiqian": "更新:", "zhuangtaihou": "

      ", + "daoyanqian": "导演:", "daoyanhou": "

      ", + "zhuyanqian": "主演:", "zhuyanhou": "

      ", + "juqingqian": "简介:", + "juqinghou": "
      ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "

      ", +"bfbiaotihou": "

      ", +"bflianjieqian": "rid=", +"bflianjiehou": "\""}, + +{ + "author": "20220613", + "name": "555电影", + "url": "https://www.xawqxh.net", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + + "fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#Netflix(漫)$/vodshow/4---Netflix-----#热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧美剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#美食片$/vodshow/1---美食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:
      ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

      ", + "juqinghou": "

      ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "tupianqianzhui": "", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "fubiaotiqian": "class=\"pack-prb hidden\">", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"content_playlist", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "年代:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "演员:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "米来影视", + "url": "http://www.qdytv.com/", + "User": "User-Agentart/2.14 (dart:io)", + "fenlei": "电影$/show/id/1/page#电视剧$/show/id/2/page#综艺$/show/id/3/page#动漫$/show/id/4/page#纪录片$/show/id/20/page", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__thumb", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"sketch content\">", + "juqinghou": "", + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "旧梦影视", + "url": "http://150.158.130.238:4433", + "User": "User-Agentart/2.14 (dart:io)", + "fenlei": "电影$/index.php/vod/show/id/1/page#电视剧$/index.php/vod/show/id/2/page#综艺$/index.php/vod/show/id/6/page#动漫$/index.php/vod/show/id/3/page#B站$/index.php/vod/show/id/4/page", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "class=\"module-main module-page", + "jiequhou": "id=\"page\"", + "jiequshuzuqian": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/detail/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "zhuangtaiqian": "class=\"module-info-item-content\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演", + "zhuyanhou": "class=\"slash\"", + "juqingqian": "class=\"module-info-introduction-content\">", + "juqinghou": "

    ", + "bfjiequshuzuqian": "class=\"module-play-list\"", + "bfjiequshuzuhou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "看片网", + "url": "https://www.kanpian.cc/", + "tihuan": "cnzz.com", +"shouye": "1", + "User": "空", + "fenlei": "电影$/shaixuan/dianying--------#电视剧$/shaixuan/lianxuju--------#综艺$/shaixuan/zongyi--------#动漫$/shaixuan/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vodlist_thumb lazyload\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", +"fubiaotiqian":"class=\"pic_text text_right text_dy\">", +"fubiaotihou":"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"playlist_full\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情介绍", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "author": "20220617", + "name": "F7好看剧", + "url": "https://www.haokanju1.cc", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "4K剧集$/vodshow/23--------#4K电影$/vodshow/24--------#亲子动漫$/vodshow/4---亲子-----#益智动漫$/vodshow/4---益智-----#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/20--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#大陆动漫$/vodshow/4-大陆-------#内地动漫$/vodshow/4-内地-------#日本动漫$/vodshow/4-日本-------#韩国动漫$/vodshow/4-韩国-------#美国动漫$/vodshow/4-美国-------#英国动漫$/vodshow/4-英国-------#台湾动漫$/vodshow/4-台湾-------#动画片$/vodshow/1---动画-----#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"data \">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "LIBVIO", + "url": "https://www.libvio.me", + "tihuan": "dd520.cc", + "User": "空", + "fenlei": "最近更新$/show/19--------#电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------#动画片$/show/1---动画-----#纪录片$/show/21--------#国产剧$/show/13--------#日韩剧$/show/15--------#欧美剧$/show/16--------#港台剧$/show/14--------#泰国剧$/show/2-泰国-------#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#恐怖片$/show/1---恐怖-----#动作片$/show/1---动作-----#科幻片$/show/1---科幻-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#警匪片$/show/1---警匪-----#犯罪片$/show/1---犯罪-----#奇幻片$/show/1---奇幻-----#武侠片$/show/1---武侠-----#冒险片$/show/1---冒险-----", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\">总集数:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">类型:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "COKEMV", + "url": "https://cokemv.me", + "User": "空", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画电影$/vodshow/41--------#抖音电影$/vodshow/5--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#犯罪片$/vodshow/23--------", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "/div>", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "author": "20220606", + "name": "瓜皮TV", + "url": "https://guapitv.xyz", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧美动漫$/vodshow/4-欧美-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "
    ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220612", + "name": "4K电影网", + "url": "https://www.4kdyw.cn", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#电视剧(B站)$/vodshow/45--------#纪录片$/vodshow/24--------#纪录片(B站)$/vodshow/46--------#日本动漫$/vodshow/21--------#国产动漫$/vodshow/20--------#欧美动漫$/vodshow/22--------#动漫电影$/vodshow/25--------#番剧(B站)$/vodshow/42--------#国创(B站)$/vodshow/43--------#综艺$/vodshow/3--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/27--------#灾难片$/vodshow/28--------#历史片$/vodshow/29--------#传记片$/vodshow/30--------#歌舞片$/vodshow/47--------#电影(B站)$/vodshow/44--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "red;\">", + "zhuangtaihou": "", + "daoyanqian": "data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "sketch\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220615", + "name": "悟空影视", + "url": "https://www.01vo.com", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "体育$/vodshow/36--------#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/25--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------#国产动漫$/vodshow/31--------#日本动漫$/vodshow/32--------#欧美动漫$/vodshow/33--------#动漫片$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/24--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "biaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220609", + "name": "OmoFun动漫", + "url": "https://www.omofun.tv", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "日漫$/vod/show/id/20/page/#热血$/vod/show/class/热血/id/20/page/#穿越$/vod/show/class/穿越/id/20/page/#奇幻$/vod/show/class/奇幻/id/20/page/#战斗$/vod/show/class/战斗/id/20/page/#搞笑$/vod/show/class/搞笑/id/20/page/#日常$/vod/show/class/日常/id/20/page/#科幻$/vod/show/class/科幻/id/20/page/#萌系$/vod/show/class/萌系/id/20/page/#治愈$/vod/show/class/治愈/id/20/page/#校园$/vod/show/class/校园/id/20/page/#恋爱$/vod/show/class/恋爱/id/20/page/#魔法$/vod/show/class/魔法/id/20/page/#冒险$/vod/show/class/冒险/id/20/page/#机战$/vod/show/class/机战/id/20/page/#催泪$/vod/show/class/催泪/id/20/page/#音乐$/vod/show/class/音乐/id/20/page/", + "houzhui": ".html", + + "shifouercijiequ": "1", + "jiequqian": "
    ", + + "zhuangtaiqian": "备注:", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": ".html\">", + "biaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"fed-play-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "fed-text-center\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "声优:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "1", + "bfyjiequqian": "class=\"fed-part-rows\">", + "bfyjiequhou": "", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author":"20220529", + "issue":"起始页码为0,有别于其他网站都是1,无法解决,所以各类别都会少了第一页的内容", + "name": "风车动漫", + "url": "https://www.dm530p.net", + "User": "空", + "fenlei": "日本动漫$/list/?region=日本&pagesize=24&pageindex=#国产动漫$/list/?region=中国&pagesize=24&pageindex=#欧美$/list/?region=欧美&pagesize=24&pageindex=#TV$/list/?genre=TV&pagesize=24&pageindex=#剧场版$/list/?genre=剧场版&pagesize=24&pageindex=#OVA$/list/?genre=OVA&pagesize=24&pageindex=", + "houzhui": "", + + "shifouercijiequ": "1", + "jiequqian": "class=\"lpic\">", + "jiequhou": "/div>", + "jiequshuzuqian": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/s_all?ex=1&kw=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/view/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "class=\"lpic\">", + "ssjiequhou": "/div>", + "ssjiequshuzuqian": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"movurl\"", + "bfjiequshuzuhou": "/ul>", + + "zhuangtaiqian": "

    ", + "zhuangtaihou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author":"20220615", + "name": "森之屋动漫", + "url": "https://www.senfun.net", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "TV动画$/show/1/page/#BD动画$/show/2/page/#剧场版$/show/3/page/#欧美动漫$/show/37/page/", + "houzhui": ".html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + + "zhuangtaiqian": "info\">状态:", + "zhuangtaihou": "", + "daoyanqian": "info\">监督:", + "daoyanhou": "", + "zhuyanqian": "starring\">声优:", + "zhuyanhou": "", + "juqingqian": "剧情简介", + "juqinghou": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "真不卡影院(不支持搜索)", + "url": "http://www.cerrd.com", + "tihuan": "cnzz.com", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "name": "剧白白-蓝光", + "url": "https://www.jubaibai.cc", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧美剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist sort-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data hidden-xs\">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "火火影视", + "url": "https://www.huohuo99.com", + "tihuan": "", + "User": "空", + "fenlei": "动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#惊悚片$/vodtype20-#悬疑片$vodtype/23-#动画片$/vodtype/24-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype15-#欧美剧$vodtype/16-#番剧$/vodtype/31-#综艺$/vodtype/4-#记录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"hl-list-item hl", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": " id=\"hl-plays-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:
    ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "天空资源", + "url": "https://www.tkys.tv", + "tihuan": "cnzz.com", + "fenlei": "电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodshow/area/内地/id/2/page/#港剧$/vodshow/area/香港/id/2/page/#韩剧$/vodshow/area/韩国/id/2/page/#美剧$/vodshow/area/美国/id/2/page/#泰剧$/vodshow/area/泰国/id/2/page/#日剧$/vodshow/area/日本/id/2/page/#台剧$/vodshow/area/台湾/id/2/page/#英剧$/vodshow/area/英国/id/2/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-8", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "完美看看影视", + "url": "https://www.wanmeikk.me/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/category/1-#国产剧$/category/5-#欧美剧$/category/2-#韩剧$/category/3-#动漫$/category/6-#泰剧$/category/9-#纪录片$/category/10-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "class=\"stui-vodlist__box stui-vodlist__bg", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/play/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-pannel_bd col-pd clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"data\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "03-乐猪影视", + "url": "http://www.lezhutv.com", + "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#美剧$/type/15-#其它$/type/16-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "口袋影院", + "url": "http://www.koudaitv.com", + "User": "空", + "fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#美剧$/type/15-1--------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "北川影视", + "url": "https://www.bcwzg.com", + "User": "Referer:https://j.bcyingshi.ink/", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧美剧$/vodshow/16--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"loading\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-itemvideo-info-contentvod_content\">", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "六度TV", + "url": "http://6d.xuangz.cn", + "User": "空", + "fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#美国片$/whole/1_美国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧美剧$/whole/2__欧美剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v_show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"v-thumb stui-vodlist", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "花猫TV", + "url": "http://www.huamaotv.com", + "User": "空", + "fenlei": "电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\"", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "GIMY影视", + "url": "https://gmtv1.xyz", + "User": "空", + "fenlei": "电视剧$/genre/tvseries---#电影$/genre/movies---#综艺$/genre/tv_show---#动漫$/genre/anime---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#喜剧片$/genre/comedy+---#爱情片$/genre/romance---#战争片$/genre/war---#奇幻片$/genre/fantasy---#恐怖片$/genre/horror---#纪录片$/genre/documentary+---#动画电影$/genre/animation---#国产剧$/genre/cn---#韩剧$/genre/kr---#美剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "Gimy TV 劇迷線上看", + "url": "https://gimytv.app", + "User": "空", + + "fenlei": "陸剧$/genre/cn---#韩剧$/genre/kr---#美剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---#纪录片$/genre/documentary---#综艺$/genre/tv_show---#日漫$/genre/anime-日本--#美漫$/genre/anime-美國--#欧漫$/genre/anime-歐美--#陸漫$/genre/anime-大陸--#台漫$/genre/anime-臺灣--#港漫$/genre/anime-香港--#韩漫$/genre/anime-韓國--#电影$/genre/movies---#动画电影$/genre/animation---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#爱情片$/genre/romance---#奇幻片$/genre/magic---#战争片$/genre/war---#恐怖片$/genre/horror---#喜剧片$/genre/comedymovie---", + "houzhui": "/by/time.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "狀態:", + "zhuangtaihou": "

    ", + "daoyanqian": "導演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "YYDS影院", + "url": "https://www.yydsvod.com", + "User": "空", + "fenlei": "电视剧$/vod/show/drama--------#电影$/vod/show/movie--------#综艺$/vod/show/varietyshow--------#动漫$/vod/show/animes--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-6 col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "思乐影视", + "url": "https://www.4ltv.com", + "User": "空", + "fenlei": "电视剧$/show/1------#电影$/show/2------#综艺$/show/3------#动漫$/show/4------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"sort-item", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "如如影视", + "url": "https://www.wei333.com/", + "User": "空", + "fenlei": "电影$/movie/?v1-#电视剧$/dsj/?v2-#综艺$/zong/?v3-#动漫$/dong/?v4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "看一看影视", + "url": "https://www.kyikan.cc", + "fenlei": "连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧美剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", + "houzhui": "-order--by--class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"bz\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "      ", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "乌龟影院", + "url": "https://www.wuguiyy.com", + "User": "空", + "fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "31看影视", + "url": "https://www.31kan.vip", + "author": "dj", + "User": "空", + "fenlei": "热播剧集$/vodshow/2--hits------#热播电影$/vodshow/1--hits------#热播综艺$/vodshow/3--hits------#热播少儿$/vodshow/33--hits------#国产剧$/vodshow/2-大陆-------#港剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#美剧$/vodshow/2-美国-------#泰剧$/vodshow/2-泰国-------#日剧$/vodshow/2-日本-------#英剧$/vodshow/2-英国-------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "
      ", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小强迷", + "url": "http://xqmi.top", + "User": "空", + "fenlei": "动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧美剧$/index.php/vod/show/id/16/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "
  • ", + "tupianqian": "data-original=\"", + "tupianhou": "\">", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "
      ", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "爱港剧", + "url": "http://www.2gangju.cc", + "User": "空", + "fenlei": "电影$/vodshow/dianying--------#电视剧$/vodshow/dianshiju--------#综艺$/vodshow/zongyi--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"stui-vodlist clearfix\"", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500&submit=", + "sousuohouzhui": "/dianshiju/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "VIP1280", + "url": "http://www.vip1280.net", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/frim/index1/page/#电视剧$/frim/index2/page/#港台剧$/frim/index3/page/#动作片$/frim/index6/page/#爱情片$/frim/index7/page/#科幻片$/frim/index8/page/#恐怖片$/frim/index9/page/#战争片$/frim/index10/page/#喜剧片$/frim/index11/page/#记录片$/frim/index12/page/#剧情片$/frim/index20/page/#动画片$/frim/index21/page/#欧美剧$/frim/index4/page/#日韩剧$/frim/index5/page/#泰剧$/frim/index22/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/index", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"detail-sketch\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小熊影视", + "url": "http://www.xxys520.com/", + "User": "空", + "fenlei": "最新电影$/vodshow/1-----------2022/page/#最新国产剧$/vodshow/2-----------2022/page/#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧美剧$/vodtype/16-#泰国剧$/vodtype/29-#其他剧$/vodtype/27-#动漫$/vodtype/3-#综艺$/vodtype/4-#纪录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "影视之光", + "url": "http://vip.8kvod.com:888", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/t/1/page/#连续剧$/t/2/page/#综艺$/t/3/page/#动漫$/t/4/page/#动作片$/t/6/page/#喜剧片$/t/7/page/#爱情片$/t/8/page/#科幻片$/t/9/page/#恐怖片$/t/10/page/#剧情片$/t/11/page/#动画片$/t/29/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/k/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "剧情简介','", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "手机看剧", + "url": "https://www.shoujikanju.com/", + "User": "空", + "fenlei": "电影$/sort/1-#电视剧$/sort/2-#综艺$/sort/3-#动漫$/sort/4-#纪录片$/sort/5-", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "id=\"list\"", + "jiequhou": "", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"bd_title\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "", + "zhuangtaihou": "", + "daoyanqian": "class=\"text-muted\">导演:", + "daoyanhou": "", + "zhuyanqian": "class=\"text-muted\">主演:", + "zhuyanhou": "", + "juqingqian": "
    ", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "创艺影视", + "url": "https://www.30dian.cn", + "tihuan": "vip.30dian.cn", + "User": "空", + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#纪录片$/vodshow/30--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"text-red\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "炫猫影视", + "url": "https://www.xuanmao520.com/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/index.php/vod/type/id/1/#剧集$/index.php/vod/type/id/2/#综艺$/index.php/vod/type/id/3/#动漫$/index.php/vod/type/id/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/play/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list scrollbar sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"span\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "奈菲影院", + "url": "https://www.1985.one/", + "User": "空", + "fenlei": "电影$/vodshow/id/1/page/#连续剧$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#动漫$/vodshow/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item-", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"module-item-text\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "牛马TV", + "url": "http://www.niumatv.com/", + "User": "空", + "fenlei": "电影$/type/dianying-#电视剧$/type/dianshiju-#国产剧$/vodshow/area/中国大陆/id/dianshiju/page/#港剧$/vodshow/area/中国香港/id/dianshiju/page/#韩剧$/vodshow/area/韩国/id/dianshiju/page/#欧美剧$/vodshow/area/美国/id/dianshiju/page/#综艺$/type/zongyi-#动漫$/type/dongman-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "豆角网", + "url": "https://m.doujiaow1.com/", + "User": "空", + "fenlei": "电影$/index.php?m=vod-list-id-1-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#泰剧$/index.php?m=vod-list-id-26-pg-#日剧$/index.php?m=vod-list-id-17-pg-#美剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#动漫剧集$/index.php?m=vod-list-id-37-pg-#动漫电影$/index.php?m=vod-list-id-35-pg-#综艺$/index.php?m=vod-list-id-3-pg-", + "houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"con\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + + "bfjiequshuzuqian": "class=\"ulNumList", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "尘落影院", + "url": "https://v.xuangz.cn/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/whole/2_______0_addtime_#电影$/whole/1_______0_id_#综艺$/whole/4_______0_addtime_#动漫$/whole/3_______0_addtime_#全网资源$/whole/5_______0_addtime_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"movie-item-in", + "jiequshuzuhou": "class=\"item-hover", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"movie-item-in", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"row tv-js-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态", + "zhuangtaihou": "", + "daoyanqian": "导演", + "daoyanhou": "", + "zhuyanqian": "主演", + "zhuyanhou": "", + "juqingqian": "border-radius: 4px", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "class=\"tv-js-btn\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "电影馆", + "url": "https://www.dianyingguan.cn/", + "fenlei": "电影$/show/1--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧美剧$/show/16--------#其他剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "爱看影视", + "url": "https://ikan6.vip/", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#美剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "凛冬又至", + "url": "https://ldyz.live/", + "fenlei": "电影$/vodtype/1-#欧美剧$/vodtype/20-#日剧$/vodtype/24-#韩剧$/vodtype/21-#泰剧$/vodtype/23-#动漫$/vodtype/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "红领巾", + "url": "https://www.honglingjin.tv", + "User": "空", + "fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/3/#动漫$/list/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail1/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-cover", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "Nike影视网", + "url": "https://www.ajeee.com", + "tihuan": "51.la", + "User": "空", + "fenlei": "电影$/show/Movie/page/#大陆剧$/show/Tv/area/大陆/page/#韩剧$/show/Tv/area/韩国/page/#港剧$/show/Tv/area/香港/page/#台剧$/show/Tv/area/台湾/page/#日剧$/show/Tv/area/日本/page/#美剧$/show/Tv/area/美国/page/#泰剧$/show/Tv/area/泰国/page/#英剧$/show/Tv/area/英国/page/#大陆动漫$/show/Cartoon/area/大陆/page/#日本动漫$/show/Cartoon/area/日本/page/#欧美动漫$/show/Cartoon/area/欧美/page/#综艺$/show/Variety/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "class=\"layout-box", + "jiequshuzuqian": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "伊雪湾", + "tihuan": "cnzz.com", + "url": "https://www.yixuewan.com", + "fenlei": "国产剧$/vodshow/13/page/#日韩剧$/vodshow/14/page/#港台剧$/vodshow/15/page/#欧美剧$/vodshow/16/page/#其他剧$/vodshow/20/page/#纪录片$/vodshow/21/page/#大陆动漫$/vodshow/4/area/中国大陆/page/#日本动漫$/vodshow/4/area/日本/page/#美国动漫$/vodshow/4/area/美国/page/#其他动漫$/vodshow/4/area/其他/page/#综艺$/vodshow/3/page/#动作片$/vodshow/6/page/#喜剧片$/vodshow/7/page/#剧情片$/vodshow/24/page/#爱情片$/vodshow/8/page/#科幻片$/vodshow/9/page/#恐怖片$/vodshow/10/page/#冒险片$/vodshow/11/page/#战争片$/vodshow/12/page/#其他片$/vodshow/32/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y\">", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "极品影视", + "url": "https://www.jpys.me/", + "User": "空", + "fenlei": "大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧美剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "139影视", + "url": "https://www.139ys.com", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#国产剧$/vodshow/guochanju--------#港台剧$/vodshow/gangtaiju--------#日韩剧$/vodshow/rihanju--------#欧美剧$/vodshow/oumeiju--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{"name": "骚火电影", +"url": "https://shdy3.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "影片推荐$/?#电影$/list/1-#电视剧$/list/2-#动漫$/list/4-#脱口秀$/list/28-#真人秀$/list/29-#选秀$/list/30-#咪食$/list/31-#旅游$/list/32-#汽车$/list/33-#访谈$/list/34-#纪实$/list/35-#搞笑$/list/36-#其他综艺$/list/37-", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
    ", +"jiequshuzuhou": "
    ", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"sousuohouzhui": "/movie/", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "
    ", +"ssjiequshuzuhou": "
    ", +"sstupianqian": "data-original=\"", +"sstupianhou": "\"", +"ssbiaotiqian": "title=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"play_link\">", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "

    ", +"zhuangtaihou": "导演", +"daoyanqian": "导演:", +"daoyanhou": "主演", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "class=\"p_txt show_part\">", +"juqinghou": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, +{"name": "影院工厂", +"url": "https://www.ysgc.cc", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", +"houzhui": "---.html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"myui-vodlist__box\"", +"jiequshuzuhou": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

    ", +"daoyanqian": "导演:", +"daoyanhou": "

    ", +"zhuyanqian": "主演:", +"zhuyanhou": "

    ", +"juqingqian": "style=\"display: none;\">", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + + +{"name": "1蓝光影院", +"url": "https://www.lgyy.cc", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧mei剧$/vodshow/16--------#泰剧$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#惊悚片$/vodshow/20--------#犯罪片$/vodshow/21--------#悬疑片$/vodshow/23--------#动漫$/vodshow/5--------#综艺$/vodshow/3--------", +"houzhui": "---.html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items module-poster-items-base \"", +"jiequhou": "id=\"page\"", +"jiequshuzuqian": "", +"tupianqian": "original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/voddetail/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list-content module-play-list-", +"bfjiequshuzuhou": "
    ", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "
    ", +"daoyanqian": "导演:", +"daoyanhou": "
    ", +"zhuyanqian": "主演:", +"zhuyanhou": "
    ", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + +{ + "name": "乌龟影院", + "url": "https://www.wuguiyy.com", + "User": "空", + "shouye": "1", + "fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "name": "克拉TV", + "url": "https://www.kelatv.com", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/dianying/index-#电视剧$/dianshiju/index-#动漫$/dongman/index-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"layui-col-md2 layui-col-sm4 layui-col-xs6 item\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"video-txt\"", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"layui-tab-item bt-playlist layui-show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "

    状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"bt-content\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "利丽娅电影", + "url": "https://www.llyady.com/", + //"User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "电影$/vodshow/1--hits------#国产剧$/vodshow/28--------#日韩剧$/vodshow/29--------#欧mei剧$/vodshow/30--------#港台剧$/vodshow/31--------#其他剧$/vodshow/31--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=50", + "sousuohouzhui": "/video/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item-", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"module-item-text\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + + +{ + "author": "20220612", + "name": "1大米星球", + "url": "https://www.dmxq.fun", //填网站链接 + "tihuan": "cnzz.com", //这个不用动,是个别网站嗅探时过滤地址用的 + "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 + "shouye": "1", + + "fenlei": "电影$/vodshow/20--------#电视剧$/vodshow/21--------#动漫$/vodshow/22--------#综艺$/vodshow/23--------#Netflix(剧)$/vodshow/21---Netflix-----#国产剧$/vodshow/21-大陆-------#韩国剧$/vodshow/21-韩国-------#咪国剧$/vodshow/21-咪国-------#英国剧$/vodshow/21-英国-------#泰国剧$/vodshow/21-泰国-------#日本剧$/vodshow/21-日本-------#香港剧$/vodshow/21-香港-------#台湾剧$/vodshow/21-台湾-------#Netflix(片)$/vodshow/20---Netflix-----#仙侠片$/vodshow/20---仙侠-----#剧情片$/vodshow/20---剧情-----#科幻片$/vodshow/20---科幻-----#动作片$/vodshow/20---动作-----#喜剧片$/vodshow/20---喜剧-----#爱情片$/vodshow/20---爱情-----#冒险片$/vodshow/20---冒险-----#儿童片$/vodshow/20---儿童-----#歌舞片$/vodshow/20---歌舞-----#音乐片$/vodshow/20---音乐-----#奇幻片$/vodshow/20---奇幻-----#动画片$/vodshow/20---动画-----#恐怖片$/vodshow/20---恐怖-----#惊悚片$/vodshow/20---惊悚-----#战争片$/vodshow/20---战争-----#传记片$/vodshow/20---传记-----#纪录片$/vodshow/20---纪录-----#犯罪片$/vodshow/20---犯罪-----#悬疑片$/vodshow/20---悬疑-----#西部片$/vodshow/20---西部-----#灾难片$/vodshow/20---灾难-----#古装片$/vodshow/20---古装-----#武侠片$/vodshow/20---武侠-----#家庭片$/vodshow/20---家庭-----#短片$/vodshow/20---短片-----#运动片$/vodshow/20---运动-----#青春片$/vodshow/20---青春-----#同性片$/vodshow/20---同性-----#励志片$/vodshow/20---励志-----#历史片$/vodshow/20---历史-----", //网站列表的分类 + "houzhui": "---.html", //网站翻页链接的后缀 + + "shifouercijiequ": "1", //截取的列表数组是否需要二次截取,0不需要,1需要 + "jiequqian": "class=\"module-items", //不需要二次截取就填空 + "jiequhou": "class=\"fixedGroup", //不需要二次截取就填空 + "jiequshuzuqian": "", //播放截取的列表数组的后关键词 + + "zhuangtaiqian": "备注:", //状态前关键词 + "zhuangtaihou": "", //状态后关键词 + "daoyanqian": "导演:", //导演前关键词 + "daoyanhou": "", //导演态后关键词 + "zhuyanqian": "主演:", //主演前关键词 + "zhuyanhou": "", //主演后关键词 + "juqingqian": "n-content\">

    ", //剧情前关键词 + "juqinghou": "

    ", //剧情后关键词 + + "bfyshifouercijiequ": "0", //截取的播放列表数组是否需要二次截取,0不需要,1需要 + "bfyjiequqian": "空", //不需要二次截取就填空 + "bfyjiequhou": "空", //不需要二次截取就填空 + "bfyjiequshuzuqian": "", //播放剧集数组后关键词 + "bfbiaotiqian": "span>", //播放剧集标题前关键词 + "bfbiaotihou": "", +"zhuangtaiqian": "备注:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"video-info-item video-info-content vod_content\">", +"juqinghou": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""}, + + +{"name": "莫扎兔", +"url": "https://mozhatu.com", +"tihuan": "cnzz.com", +"User": "空", +"fenlei": "电影$/index.php/vod/show/id/1/page/#电视剧$/index.php/vod/show/id/2/page/#国产剧$/index.php/vod/show/id/201/page/#港台剧$/index.php/vod/show/id/202/page/#日韩剧$/index.php/vod/show/id/203/page/#欧mei剧$/index.php/vod/show/id/204/page/#海外剧$/index.php/vod/show/id/205/page/#综艺$/index.php/vod/show/id/3/page/#动漫$/index.php/vod/show/id/4/page/", +"houzhui": ".html", +"shifouercijiequ": "1", +"jiequqian": "class=\"module-items module-poster-items-base", +"jiequhou": "id=\"page\"", +"jiequshuzuqian": "", +"tupianqian": "data-original=\"", +"tupianhou": "\"", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", +"sousuohou": "&limit=500", +"sousuohouzhui": "/index.php/vod/detail/id/", +"ssmoshi": "0", +"sousuoshifouercijiequ": "0", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "空", +"ssjiequshuzuhou": "空", +"sstupianqian": "空", +"sstupianhou": "空", +"ssbiaotiqian": "空", +"ssbiaotihou": "空", +"sslianjieqian": "空", +"sslianjiehou": "空", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"module-play-list\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "集数:", +"zhuangtaihou": "", +"daoyanqian": "导演:", +"daoyanhou": "", +"zhuyanqian": "主演:", +"zhuyanhou": "", +"juqingqian": "class=\"module-info-introduction-content\">", +"juqinghou": "

    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "href=\"", +"bflianjiehou": "\""} +] +} \ No newline at end of file diff --git a/调试助手/调试助手1001.json b/调试助手/调试助手1001.json new file mode 100644 index 0000000..cfdbfd0 --- /dev/null +++ b/调试助手/调试助手1001.json @@ -0,0 +1,4313 @@ +{"Home": [ +{"key":"APP","title":"主页","pic":"http://img.netbian.com/file/2022/0908/2337436X4uU.jpg"}, +{"key":"网页","title":"网页","pic":"http://img.netbian.com/file/2017/0509/10d657441bf67a8b4933eab7761f3024.jpg"}, +{"key":"采集","title":"采集","pic":"http://img.netbian.com/file/2022/0707/094041IfPuI.jpg"}, +{"key":"直播","title":"电视","pic":"http://img.netbian.com/file/2022/0131/011918dnDVU.jpg"}, +{"key":"历史","title":"历史","pic":"http://img.netbian.com/file/2021/1212/232908d1Krv.jpg"}, +{"key":"收藏","title":"收藏","pic":"http://img.netbian.com/file/2022/0224/001838ijv8X.jpg"}, +{"key":"推送","title":"推送","pic":"http://img.netbian.com/file/2018/0910/bdf0c86176fb6e1732657b8076e380c8.jpg"}, +{"key":"待添加","title":"待添加","pic":"http://img.netbian.com/file/2022/0511/235313ld7gS.jpg"} +], +"zhuyejiekou": [ +{"name":"爱电影","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"天空影院(部分官方资源)","url":"https://tkys.tv/xgapp.php/v1/"}, +{"name":"天空影院2(部分官方资源)","url":"https://www.tkys.tv/xgapp.php/v2/"}, +{"name":"Hi影院(部分官方资源)","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"QC影院(跑马灯切片秒播)","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"七彩影院(跑马灯切片自测)","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"万能影院(跑马灯切片自测)","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"影库(萝卜)","url":"https://yingkudy.com/lvdou_api.php/v1.vod"}, +{"name":"小鸟动漫(萝卜)","url":"http://xydm.baicai.buzz/mogai_api.php/v1.vod"}, +{"name":"万能影院(萝卜)","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"蜗牛动漫(萝卜)","url":"http://woniudm.woniu.cyou:20000/mogai_api.php/v1.vod"}, +{"name":"我爱跟剧(萝卜)","url":"https://www.genmov.com/mogai_api.php/v1.vod"}, +{"name":"天天视频(萝卜)","url":"http://app.qianju.cc/api.php/v1.vod"}, +{"name":"淘剧社(萝卜)","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"沭阳影院(萝卜)","url":"http://zjr.jurentiaodeng.com/api.php/v1.vod"}, +{"name":"群鑫影院(萝卜)","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"冷视TV(萝卜)","url":"https://len.tv/api.php/v1.vod"}, +{"name":"黄河影院(萝卜)","url":"http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"爱电影(萝卜)","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"OK影院(萝卜)","url":"http://123.ok00.xyz/api.php/v1.vod"}, +{"name":"特狗影院","url":"https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"暖光影院","url":"https://app.bl210.com/api.php/v1.vod"}, +{"name":"嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"迪迪影院","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name":"快云影音","url":"https://www.kuaiyunyy.com/api.php/app/"}, +{"name":"麻瓜视频","url":"http://aliyun.k8aa.com/mogai_api.php/v1.vod"}, +{"name": "优众影院","url": "http://121.205.88.194:7878/xgtv.php/v1/"}, +{"name": "爱酷影院","url": "https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"ok--影院","url":"http://123.ok00.xyz/api.php/v1.vod"}, +{"name":"美剧影院","url":"http://ttzmz.net/api.php/v1.vod"}, +{"name":"益-达影院","url":"http://luobu.yss6080.com/mogai_api.php/v1.vod"}, +{"name":"渔-渔影院","url":"http://luobo.yugenye.site/api.php/v1.vod"}, +{"name":"迪-迪影院-","url":"http://dd88.icu:6080/xgapp.php/v2/"}, +{"name": "爱的影院","url": "https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"爱酷影院","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"嗷呜视频","url":"http://www.cx99999.cn/lvdou_api.php/v1.vod"}, +{"name":"苍-蓝影院","url":"https://vip.ruifenglb.com:4433/api.php/app/"}, +{"name":"七彩影院","url":"https://www.qcsvip.com/mogai_api.php/v1.vod"}, +{"name":"创意影院","url":"https://www.30dian.cn/api.php/v1.vod"}, +{"name":"爱酷影院","url":"https://www.zhanlangbu.com/ruifenglb_api.php/v1.vod"}, +{"name":"淘-剧影院","url":"https://app.shuhai99.com/api.php/v1.vod"}, +{"name":"创-意影院","url":"https://www.30dian.cn/api.php/v1.vod"}, +{"name":"段-友影院","url":"http://js.66app.me/api.php/app/"}, +{"name": "特狗影院","url": "https://www.tegouys.com/xgapp.php/v2/"}, +{"name":"🚀海玉影院","url":"https://tv2.hykjtv.cn/api.php/v1.vod"}, +{"name":"🚀佳佳影院","url":"https://www.jiajia.pub/api.php/v1.vod"}, +{"name":"🚀群鑫影院","url":"http://www.qunxinys.com/api.php/v1.vod"}, +{"name":"🚀可乐影院","url":"http://klyingshi.com/api.php/v1.vod"}, +{"name":"🚀麦穗影院","url":"http://b.maisui66.cn/api.php/v1.vod"}, +{"name":"🚀铭轩影院","url":"http://lz0716.com/api.php/v1.vod"}, +{"name":"🚀全球星","url":"http://www.mzok.cn/api.php/v1.vod"}, +{"name":"🚀氢视频","url":"http://www.h1080p.com/api.php/tv.vod"}, +{"name":"🚀万能影院","url":"http://app.wnvod.net/lvdou_api.php/v1.vod"}, +{"name":"🚀小猫咪","url":"http://vod.xiaomaomi.cc/mogai_api.php/v1.vod"}, +{"name":"🚀小七影院","url":"https://www.xiaoqi0.cn/cuican_api.php/v1.vod"}, +{"name":"🚀鑫雨TV","url":"http://81.68.212.225/lvdou_api.php/v1.vod"}, +{"name":"🚀夕阳影院","url":"http://cms.seo-tv.work/mogai_api.php/v1.vod"}, +{"name":"🚀鑫总资源","url":"http://app.mmhkj.xyz/lvdou_api.php/v1.vod"}, +{"name":"🚀毅世纪影院","url":"http://www.ysjblog.top/api.php/v1.vod"}, +{"name":"🚀比邻影院","url":"http://0hzy.cn:9990/mogai_api.php/v1.vod"}, +{"name":"🚀豆芽视频","url":"http://bdintv.cn/lvdou_api.php/v1.vod"}, +{"name":"🚀黄河影院","url": "http://i.ledu8.cn/api.php/v1.vod"}, +{"name":"🚀影院大全1","url":"http://app.269w.com/api.php/v1.vod"}, +{"name":"🚀兔子窝","url":"http://cj.huimaojia.com:12345/mogai_api.php/v1.vod"}, +{"name":"🚀爱电影","url":"https://www.idianying.com.cn/mogai_api.php/v1.vod"}, +{"name":"🚀艾特影院","url":"https://www.aitee.cc/api.php/v1.vod"}, +{"name":"913e影院","url":"http://www.913e.net/xgapp.php/v1/"} +], +"caijizhan": [ +// 填采集站接口, +// 采集站后缀填写到api.php就可以了,后面那些不用填写,一次只可以填写一个。 +{"name":"吾爱有三七七","url":"http://api.kunyu77.com/api.php"}, +{"name":"苹果采集","url":"http://107.150.5.146:39000/maccms10-main/api.php"}, +{"name":"特狗影院","url":"http://tv.tegouys.com/api.php/iptv/vod/"}, +{"name":"推荐采集","url":"http://101.34.7.151:600/api.php"}, +{"name":"诺讯资源(官)","url":"http://caiji.nxflv.com/api.php"}, +{"name":"忆梦(官)","url":"http://anltv.cn/api.php"}, +{"name":"小猫咪(官)","url":"http://zy.xiaomaomi.cc/api.php"}, +{"name":"1080资源库(切)","url":"https://api.1080zyku.com/inc/api_mac10.php"}, +{"name":"快车资源(切)","url":"https://caiji.kczyapi.com/api.php"}, +{"name":"松鼠资源(切)","url":"https://m3u8.songshuzy.com/api.php"}, +{"name":"多多资源(切)","url":"https://www.ddzyz1.com/api.php"}, +{"name":"OK资源(切)","url":"https://www.okcj.site/api"}, +{"name":"FOX资源(切)","url":"https://api.foxzyapi.com/api.php"}, +{"name":"番茄资源(切)","url":"http://api.fqzy.cc/api.php"}, +{"name":"卧龙资源(切)","url":"https://collect.wolongzyw.com/api.php"}, +{"name":"红牛资源(切)","url":"https://www.hongniuzy2.com/api.php"}, +{"name":"想看资源(切)","url":"https://m3u8.xiangkanapi.com/api.php"}, +{"name":"酷点资源(切)","url":"https://kudianzy.com/api.php"}, +{"name":"光速资源(切)","url":"https://api.guangsuapi.com/api.php"}, +{"name":"新浪资源(切)","url":"http://api.xinlangapi.com/xinlangapi.php"}, +{"name":"鱼乐资源(切)","url":"https://api.ylzy1.com/api.php"}, +{"name":"快播资源(切)","url":"http://www.kuaibozy.com/api.php"}, +{"name":"南国影源(切)","url":"http://api.nguonphim.tv/api.php"}, +{"name":"U酷资源(优)","url":"https://api.ukuapi.com/api.php"}, +{"name":"淘片资源(优)","url":"https://taopianapi.com/home/cjapi"}, +{"name":"旋风云(优)","url":"http://appimg.ssxmall.cn/api.php"}, +{"name":"XYUI(优)","url":"http://jx4.xyui.top:7001/api.php"}, +{"name":"考拉TV(优)","url":"https://ikaola.tv/api.php"}, +{"name":"51看剧(优)","url":"http://51kanju.cn/api.php"}, +{"name":"一拳动漫(优)","url":"http://47.97.68.224/api.php"}, +{"name":"畅视影院(优)","url":"http://app.reboju.net/api.php"}, +{"name":"超高清影院(聚)","url":"http://shdmv.com/api.php"}, +{"name":"39影院(聚)","url":"https://www.39kan.com/api.php"}, +{"name":"嗨哆咪影院(聚)","url":"http://hdmys1.com/api.php"}, +{"name":"橘猫影院(聚)","url":"http://www.zitv.cc/api.php"}, +{"name":"飘花电影(聚)","url":"http://www.zzrhgg.com/api.php"}, +{"name":"千寻时光(聚)","url":"http://wy.dqyhg.cn/api.php"}, +{"name":"网民电影(聚)","url":"https://www.prinevillesda.org/api.php"}, +{"name":"海外电影(聚)","url":"https://www.200121.com/api.php"}, +{"name":"影院阁(神马)","url":"http://216.98.10.85/api.php/iptv/vod/"}, +{"name":"天空TV(神马)","url":"http://tv.tkys.tv/api.php/iptv/vod/"}, +{"name":"芒迅TV(神马)","url":"http://www.hdyangtv.com/api.php/iptv/vod/"}, +{"name":"米来影院(神马)","url":"http://42.51.37.161:2346/api.php/iptv/vod/"}, +{"name":"盒子视界(神马)","url":"http://eh.tvzy.cc/api.php/iptv/vod/"}, +{"name":"嘿荼锋(神马)","url":"http://tv.hfys8.vip/api.php/Sntv/vod/"}, +{"name":"贵宾影院(神马)","url":"https://vipdytv.com/api.php/iptv/vod/"}, +{"name":"独优影院(神马)","url":"http://121.205.88.71:218/api.php/Chengcheng/vod/"}, +{"name":"七七影院","url":"http://api.kunyu77.com/api.php"}, +{"name":"天堂影院","url":"http://vipmv.cc/api.php"}, +{"name":"诺讯影院","url":"http://caiji.nxflv.com/api.php"}, +{"name":"快播影院","url":"http://www.kuaibozy.com/api.php"}, +{"name":"奇趣影院","url":"http://www.qiqu.me/api.php"}, +{"name":"KK站采集","url":"http://kkzy5.com/api.php"}, +{"name":"快播资源","url":"http://www.kuaibozy.com/api.php"}, +{"name":"FOX资源","url":"https://api.foxzyapi.com/api.php"}, +{"name":"M3U8源","url":"http://www.zycaiji.net:7788/api.php"}, +{"name":"U酷资源","url":"https://api.ukuapi.com/api.php"}, +{"name":"2号币(神马)","url":"http://phoebe.cf/api.php/iptv/vod/"} +], + "zhujiexi":[ + {"name":"左岸","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"人人","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"虾米","url":"https://jx.xmflv.com/?url="}, +{"name":"九亿","url":"https://m3u8.look4you.top/?url="}, +{"name":"可乐","url":"https://www.klyingshi.com/mz-jx/?url="}, +{"name":"搜狗解析","url":"http://152.136.200.38/analysis.php?v="}, +{"name":"4K解析","url":"https://jx.4kdv.com/?url="}, +{"name":"顶空解析","url":"https://jx.dikotv.com/?url="}, +{"name":"ggtv","url":"https://play.fuqizhishi.com/maotv/API.php?appkey=QQ172598364&url="}, +{"name":"解析1","url":"http://27.124.4.42:4567/jhjson/ceshi.php?url="}, +{"name":"解析1","url":"https://jx.hfyrw.com/mao.go?url="}, +{"name":"解析2","url":"https://json.5lp.net/json.php?url="}, +{"name":"解析2","url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1931000&key=gktuvyzABEORSYZ135&url="}, +{"name":"解析2","url":"https://vip.nxflv.com/home/api?uid=701203&key=bltuyCEFKLTX013679&url="}, +{"name":"云you","url":"https://maoyingshi.cc/api.php?url="}, +{"name":"293","url":"http://110.42.2.115:880/analysis/json/?uid=2100&my=fgjnoqstLMRUZ03489&url="}, +{"name":"解析2","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"解析3","url":"https://jx.300ys.xyz/json/jianghu.php/?url="}, +{"name":"解析3","url":"https://jhpc.manduhu.com/j1217.php?url="}, +{"name":"解析3","url":"https://json.hfyrw.com/mao.go?url="}, +{"name":"解析3","url":"http://api.vip123kan.vip/?url="}, +{"name":"解析3","url":"https://vip.aiaine.com/api/?key=8FN8gNAySnvJiMllxZ&url="}, +{"name":"解析3","url":"http://svip.nicefamily.club/home/api?type=ys&uid=769560&key=chijkrtBEGNPRWXZ35&url="}, +{"name":"解析3","url":"http://47.100.138.210:91/home/api?type=ys&uid=7593435&key=ehortuyAHMNQTWX457&url="}, +{"name":"解析3","url":"https://api.m3u8.tv:5678/home/api?type=ys&uid=1931000&key=gktuvyzABEORSYZ135&urI="}], + "beiyongjiexi": [ +{"name":"解析1","url":"https://nbjx.vip/?url="}, +{"name":"解析2","url":"https://jx.blbo.cc:4433/?url="}, +{"name":"解析3","url":"https://www.nxflv.com/?url="}, +{"name":"解析6","url":"https://za.kuanjv.com/?url="}, +{"name":"解析","url":"http://m2090.com/?url="}, +{"name":"解析","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"解析","url":"https://jx.xuanqi.pro/?url="}, +{"name":"解析","url":"https://www.nxflv.com/?url="}, +{"name":"解析","url":"http://47.100.138.210:92/?url="}, +{"name":"解析","url":"http://api.diliktv.xyz/vip/jx.php?url="}, +{"name":"解析","url":"https://vipjx.cc/?url="}, +{"name":"解析","url":"https://jx.aidouer.net/?url="}, +{"name":"解析","url":"https://svip.bljiex.cc/?v="}, +{"name":"解析","url":"https://bd.jx.cn/vip/?url="}, +{"name":"解析","url":"https://z1.m1907.cn/?jx="}, +{"name":"解析","url":"https://vip.2ktvb.com/player/?url="}, +{"name":"解析","url":"https://nbjx.vip/?url="}, +{"name":"备解1","url":"https://jx.xmflv.com/?url="}, +{"name":"备解2","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解3","url":"https://www.pangujiexi.com/pangu/?url="}, +{"name":"备解4","url":"https://jx.bozrc.com:4433/player/?url="}, +{"name":"备解5","url":"https://jx.parwix.com:4433/player/?url="}, +{"name":"备解6","url":"https://jx.parwix.com:4433/player/analysis.php?v="}, +{"name":"备解7","url":"https://jx.m3u8.tv/jiexi/?url="}, +{"name":"备解8","url":"https://okjx.cc/?url="}, +{"name":"备解9","url":"https://www.yemu.xyz/?url="}, +{"name":"备解10","url":"https://jx.xmflv.com/?url="}, +{"name":"备解11","url":"https://parse.123mingren.com/?url="}, +{"name":"备解12","url":"http://www.ckmov.vip/api.php?url="}, +{"name":"备解13","url":"http://api.wpsseo.cn/?v="}, +{"name":"备解14","url":"https://go.yh0523.cn/y.cy?url="}, +{"name":"备解15","url":"https://www.ckplayer.vip/jiexi/?url="}, +{"name":"解析","url":"http://jx5.178du.com/p1/?url="} ], +// 电视直播的接口链接 +"dianshizhibo": "https://wds.ecsxs.com/230077.txt", +// "guolvdizhi": "pap.html#player.css#url=#51.la#poster#api.php#file=#cnzz.com", + + +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#mp4#.flv#.mp3#.m4a#?video_id=", + +//填写播放地址过滤规则,中间用#号分割,不用填太多,默认的基本够用,主要是针对自定义的网站过滤的。 +"guolvdizhi": ".gif#.css#.ico#.html#51.la#poster#?url=#file=#cnzz.com#baidu.com#tootw.com#auete.com#bilibili.com", +// 自定义接口 +"zidingyi":[ +{ + "name": "短视频", + "url": "http://www.sharenice.net", + "User": "空", + "ua": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36", + "fenlei": "抖音$/douyin?page=#快手$/kuaishou?page=#微视$/weishi?page=#火山$/huoshan?page=#场库$/changku?page=#美拍$/meipai?page=#秒拍$/miaopai?page=#全民$/quanmin?page=#梨$/lishipin?page=#好兔$/haotu?page=#开眼$/kaiyan?page=", + "houzhui": "", + "直接播放": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"cover\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"http://www.sharenice.net", + "lianjiehou": "\"" +}, +{ +"name": "馨雨听书", +"url": "https://xytingshu.com", +//"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19044", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "百家讲坛$/mp3/35-#儿童$/mp3/13-#笑话$/mp3/14-#诗歌$/mp3/33-#文学$/mp3/34-#经典$/mp3/29-#评书$/mp3/15-#相声$/mp3/32-#广播$/mp3/31-#科幻$/mp3/5-#推理$/mp3/8-#历史$/mp3/9-#军事$/mp3/10-#穿越$/mp3/11-#财经$/mp3/28-#戏曲$/mp3/16-#玄幻$/mp3/1-#武侠$/mp3/2-#都市$/mp3/3-#言情$/mp3/4-#恐怖$/mp3/6-#惊悚$/mp3/7-#网游$/mp3/12-#粤语$/mp3/30-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "'btn'", +"jiequhou": "
    ", +"tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20200501%2F75d7790f974a4da4b5e76e98c51c9dfb.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662796592&t=fe023992330b87b9b0b812d9b4763cb7", +"tupianhou": "\"", +//"tupianqianzhui": "https://xytingshu.com", +"biaotiqian": "title=\"", +"biaotihou": "\"", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "", +"ljhouzhui": "", +"fubiaotiqian": "时间:", +"fubiaotihou": "

    ", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "
    ", +"sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20200501%2F75d7790f974a4da4b5e76e98c51c9dfb.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662796592&t=fe023992330b87b9b0b812d9b4763cb7", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "alt=\"", +"ssbiaotihou": "\"", +"sslianjieqian": "href=\"", +"sslianjiehou": "\"", +//"ssljqianzhui": "https://m.tingzh.com/book/", +//"ssljhouzhui": ".html", +"ssfubiaotiqian": "

    作者:", +"ssfubiaotihou": "

    ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "
    ", +"zhuangtaiqian": "小说状态:", +"zhuangtaihou": "
  • ", +"daoyanqian": "更新时间:", +"daoyanhou": "", +"zhuyanqian": "
  • 小说类型:", +"zhuyanhou": "
  • ", +"juqingqian": ">馨雨听书网", +"juqinghou": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", +"bflianjiehou": "\"", +"bfqianzhui": "" +}, +{"name": "体育-jrs", +"url": "http://www.jrskan.com", +"User": "空", +"列表显示": "1", +"fenlei": "体育$空", +"houzhui": "", +"qishiye": "空", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "
      ", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"lab_team_home\">", +"biaotihou": "
    • ", +"fubiaotihou": "
    • ", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "class=\"sub_playlist\"", +"bfjiequshuzuhou": "|", +"zhuangtaiqian": "class=\"otherbox\">", +"zhuangtaihou": "

      ", +"daoyanqian": "导演:", +"daoyanhou": "

      ", +"zhuyanqian": "主演:", +"zhuyanhou": "

      ", +"juqingqian": "", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": "", +"bfbiaotihou": "", +"bflianjieqian": "data-play=\"", +"bflianjiehou": "\"", +"bfqianzhui": "http://play.sportsteam365.com" +}, +{ +"name": "DJ音乐", +"url": "http://www.djuu.com", +"User": "空", +"直接播放": "1", +"横图显示": "0", +"列表显示": "1", +"fenlei": "热播$/search?musicname=热播&list=2&cid=0&page=#抖音热门$/search?musicname=%E6%8A%96%E9%9F%B3&list=2&cid=0&page=#经典旋律$/search?musicname=经典旋律&list=2&cid=0&page=#迪高串烧$/djlist/1_#喊麦串烧$/djlist/12_#中文串烧$/djlist/13_#外语串烧$/djlist/14_#中英串烧$/djlist/96_#慢摇串烧$/djlist/2_#喊麦串烧$/djlist/15_#Electro$/djlist/22_#ProgHouse$/djlist/26_#FunkyHouse$/djlist/99_#喊麦更多$/djlist/27_#慢摇中文串烧$/djlist/16_#慢歌串烧$/djlist/3_#中文Remix$/djlist/4_#外文Remix$/djlist/5_#越南鼓$/djlist/6_#酒吧风格$/djlist/7_#Mashup$/djlist/8_#中文DISCO$/djlist/9_#外文DISCO$/djlist/10_#交谊舞曲$/djlist/11_", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"isgood_list\">", +"jiequshuzuhou": "", "tupianqian": "img src=\"", "tupianhou": "\"", +"tupianqianzhui": "http:", +"fubiaotiqian": "class=\"sc_1\">TIME", +"fubiaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "空", +"biaotiqian": "title=\"", +"biaotihou": "\"" +}, +{ +"name": "🎵音乐MV", +"url": "https://www.ichemv.com", +"User": "authority$play.bgp.68tool.com#referer$https://www.ichemv.com/", +"直接播放": "1", +"横图显示": "1", +"fenlei": "华语MV$/mv/1_0#日韩MV$/mv/2_0#欧美MV$/mv/3_0#现场MV$/mv/4_0#影sMV$/mv/5_0#夜店视频$/mv/6_0#车模视频$/mv/7_0#热舞视频$/mv/8_0#美女x真$/mv/9_0#美女打碟$/mv/10_0#串烧视频$/mv/11_0", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pic\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "" +}, + +{ + "name": "Justlive虎牙", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=douyu&page=#一起看$Area?platform=huya&area=一起看&page=#英雄联盟$Area?platform=huya&area=英雄联盟&page=#英雄联盟手游$Area?platform=huya&area=英雄联盟手游&page=#王者荣耀$Area?platform=huya&area=王者荣耀&page=#和平精英$Area?platform=huya&area=和平精英page=#棋牌桌游$Area?platform=huya&area=棋牌桌游&page=#欢乐斗地主$Area?platform=huya&area=欢乐斗地主&page=#体育$Area?platform=huya&area=体育&page=#美食$Area?platform=huya&area=美食&page=#颜值$Area?platform=huya&area=颜值&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=huya&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\"" +}, +{ "name": "Justlive哔哩", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=bilibili&page=#英雄联盟$Area?platform=bilibili&area=英雄联盟&page=#王者荣耀$Area?platform=bilibili&area=王者荣耀&page=#和平精英$Area?platform=bilibili&area=和平精英&page=#游戏赛事$Area?platform=bilibili&area=游戏赛事&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=bilibili&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\"" +}, +{ + "name": "DJ音乐", + "url": "http://www.djuu.com", + "User": "空", + "直接播放": "1", + "横图显示": "0", + "列表显示": "1", + "fenlei": "热播$/search?musicname=热播&list=2&cid=0&page=#抖音热门$/search?musicname=%E6%8A%96%E9%9F%B3&list=2&cid=0&page=#经典旋律$/search?musicname=经典旋律&list=2&cid=0&page=#迪高串烧$/djlist/1_#喊麦串烧$/djlist/12_#中文串烧$/djlist/13_#外语串烧$/djlist/14_#中英串烧$/djlist/96_#慢摇串烧$/djlist/2_#喊麦串烧$/djlist/15_#Electro$/djlist/22_#ProgHouse$/djlist/26_#FunkyHouse$/djlist/99_#喊麦更多$/djlist/27_#慢摇中文串烧$/djlist/16_#慢歌串烧$/djlist/3_#中文Remix$/djlist/4_#外文Remix$/djlist/5_#越南鼓$/djlist/6_#酒吧风格$/djlist/7_#Mashup$/djlist/8_#中文DISCO$/djlist/9_#外文DISCO$/djlist/10_#交谊舞曲$/djlist/11_", + "houzhui": ".html", + "qishiye": "1", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"isgood_list\">", + "jiequshuzuhou": "", + "tupianqian": "img src=\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "fubiaotiqian": "class=\"sc_1\">TIME", + "fubiaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "ljqianzhui": "空", + "biaotiqian": "title=\"", + "biaotihou": "\"" +}, +{"name": "🎵音乐MV", +"url": "https://www.ichemv.com", +"User": "authority$play.bgp.68tool.com#referer$https://www.ichemv.com/", +"直接播放": "1", +"横图显示": "1", +"fenlei": "华语MV$/mv/1_0#日韩MV$/mv/2_0#欧美MV$/mv/3_0#现场MV$/mv/4_0#影sMV$/mv/5_0#夜店视频$/mv/6_0#车模视频$/mv/7_0#热舞视频$/mv/8_0#美女x真$/mv/9_0#美女打碟$/mv/10_0#串烧视频$/mv/11_0", +"houzhui": ".html", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"pic\"", +"jiequshuzuhou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "" +}, +{ + "name": "kw听书", + "url": "http://baby.kuwo.cn", + "ua": "", + "User": "空", + "直接播放": "0", + "列表显示": "0", + "横图显示": "0", + "fenlei": "都市传说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=42&rn=20&categoryId=2&pn=#玄幻奇幻$/tingshu/api/filter/albums?sortType=tsScore&classifyId=44&rn=20&categoryId=2&pn=#悬疑推理$/tingshu/api/filter/albums?sortType=tsScore&classifyId=45&rn=20&categoryId=2&pn=#现代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=41&rn=20&categoryId=2&pn=#武侠仙侠$/tingshu/api/filter/albums?sortType=tsScore&classifyId=48&rn=20&categoryId=2&pn=#穿越架空$/tingshu/api/filter/albums?sortType=tsScore&classifyId=52&rn=20&categoryId=2&pn=#经典小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=64&rn=20&categoryId=2&pn=#青春校园$/tingshu/api/filter/albums?sortType=tsScore&classifyId=55&rn=20&categoryId=2&pn=#历史军事$/tingshu/api/filter/albums?sortType=tsScore&classifyId=56&rn=20&categoryId=2&pn=#科幻竞技$/tingshu/api/filter/albums?sortType=tsScore&classifyId=57&rn=20&categoryId=2&pn=#古代言情$/tingshu/api/filter/albums?sortType=tsScore&classifyId=207&rn=20&categoryId=2&pn=#能力提升$/tingshu/api/filter/albums?sortType=tsScore&classifyId=82&rn=20&categoryId=4&pn=#人文艺术$/tingshu/api/filter/albums?sortType=tsScore&classifyId=77&rn=20&categoryId=4&pn=#国学文化$/tingshu/api/filter/albums?sortType=tsScore&classifyId=78&rn=20&categoryId=4&pn=#成功法则$/tingshu/api/filter/albums?sortType=tsScore&classifyId=79&rn=20&categoryId=4&pn=#外语精通$/tingshu/api/filter/albums?sortType=tsScore&classifyId=76&rn=20&categoryId=4&pn=#养生健康$/tingshu/api/filter/albums?sortType=tsScore&classifyId=81&rn=20&categoryId=4&pn=#酷我读书$/tingshu/api/filter/albums?sortType=tsScore&classifyId=211&rn=20&categoryId=4&pn=#国学经典$/tingshu/api/filter/albums?sortType=tsScore&classifyId=117&rn=20&categoryId=9&pn=#历史小说$/tingshu/api/filter/albums?sortType=tsScore&classifyId=181&rn=20&categoryId=9&pn=#纪实档案$/tingshu/api/filter/albums?sortType=tsScore&classifyId=118&rn=20&categoryId=9&pn=#历史传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=119&rn=20&categoryId=9&pn=#人物传奇$/tingshu/api/filter/albums?sortType=tsScore&classifyId=120&rn=20&categoryId=9&pn=#文化讲堂$/tingshu/api/filter/albums?sortType=tsScore&classifyId=121&rn=20&categoryId=9&pn=#百家讲坛$/tingshu/api/filter/albums?sortType=tsScore&classifyId=212&rn=20&categoryId=9&pn=", + "houzhui": "&kweexVersion=1.0.2", + "qishiye": "1", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"coverImg\":\"", + "tupianhou": "\"", + "tupianqianzhui": "空", + "biaotiqian": "\"artistName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"albumId\":", + "lianjiehou": ",", + "ljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", + "ljhouzhui": "&online=0&kweexVersion=1.0.2", + "fubiaotiqian": "\"title\":\"", + "fubiaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": ":80/tingshu/api//search/Search?rn=10&type=album&version=8.5.6.1&wd=", + "sousuohou": "&pn=1&kweexVersion=1.0.2", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "ssjiequqian": "[", + "ssjiequhou": "]", + "ssjiequshuzuqian": "{", + "ssjiequshuzuhou": "}", + "sstupianqian": "\"coverImg\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "空", + "ssbiaotiqian": "\"artistName\":\"", + "ssbiaotihou": "\"", + "sslianjieqian": "\"albumId\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "http://baby.kuwo.cn/tingshu/api/data/album/songs?albumId=", + "ssljhouzhui": "&online=0&kweexVersion=1.0.2", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "[", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "class=\"otherbox\">", + "zhuangtaihou": "

      ", + "daoyanqian": "导演:", + "daoyanhou": "

      ", + "zhuyanqian": "主演:", + "zhuyanhou": "

      ", + "juqingqian": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "\"name\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "\"musicrid\":\"", + "bflianjiehou": "\"", + "bfqianzhui": "http://antiserver.kuwo.cn/anti.s?useless=/resource/&format=mp3&rid=MUSIC_", + "bfhouzhui": "&response=res&type=convert_url&" +}, +{ + "name": "听书网", + "url": "https://www.tingbook.cc", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + "shouye": "1", + "fenlei": "玄幻$/book/1-#武侠$/book/2-#都市$/book/3-#言情$/book/4-#科幻$/book/5-#推理$/book/6-#恐怖$/book/7-#惊悚$/book/8-#历史$/book/9-#军事$/book/10-#网游$/book/11-#官商$/book/12-#评书$/book/13-#相声$/book/14-#文学$/book/15-#儿童$/book/16-#穿越$/book/28-#娱乐$/book/29-#笑话$/book/30-#戏曲$/book/31-#其它$/book/32-#百家讲坛$/book/33-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-12 col-m-24 col3-\"", + "jiequshuzuhou": "

      ", + "tupianqian": "src=\"", + "tupianhou": "\"", + "tupianqianzhui": "https://www.tingbook.cc", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "zhuangtaiqian": "> ", + "zhuangtaihou": "", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-12 col-m-24 col3-", + "ssjiequshuzuhou": "
      ", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "sstupianqianzhui": "https://www.tingbook.cc", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"tx-title2 f-16 f-bold", + "bfjiequshuzuhou": "
    ", + "daoyanqian": "作者:", + "daoyanhou": "  ", + "zhuyanqian": "播音:", + "zhuyanhou": "

    ", + "juqingqian": "播音,", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\""}, +{ + "name": "bili-教育", + "url": "https://api.bilibili.com", + "ua":"Mozilla/5.0 (Linux; Android 10; MI 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36", + "cookie":"innersign=0; buvid3=91BA4E1F-9AB1-F767-2F4D-68AE15871D4A82900infoc; i-wanna-go-back=-1; b_ut=7; b_lsid=103349ECA_182D2DA1881; _uuid=C52B10B4C-DD103-9DFC-FDB5-A38936101E64A84754infoc; buvid4=E048FB7D-A337-F0BB-544C-7AB3F7315AD184247-122082510-jfKjb2w6jTb32s8uEefwlw%3D%3D; buvid_fp=af25c71ea5abec45eebfffd42c02aab7; nostalgia_conf=-1; b_timer=%7B%22ffp%22%3A%7B%22333.400.fp.risk_91BA4E1F%22%3A%22182D2DA1A1B%22%2C%22333.337.fp.risk_91BA4E1F%22%3A%22182D2E5CF15%22%7D%7D; CURRENT_BLACKGAP=0; CURRENT_FNVAL=80; sid=6zxrig3u; PVID=1", + "User": "空", + "直接播放": "0", + "横图显示": "1", + "fenlei": "儿童早教$/x/web-interface/search/type?search_type=video&keyword=儿童早教&order=pubdate&page=#儿童启蒙故事$/x/web-interface/search/type?search_type=video&keyword=儿童启蒙故事&order=pubdate&page=#儿童英语启蒙$/x/web-interface/search/type?search_type=video&keyword=儿童英语启蒙&order=pubdate&page=#儿童歌曲$/x/web-interface/search/type?search_type=video&keyword=儿童歌曲&order=pubdate&page=#高一数学$/x/web-interface/search/type?search_type=video&keyword=高一数学&order=pubdate&page=#小学数学$/x/web-interface/search/type?search_type=video&keyword=小学数学&order=pubdate&page=", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "{\"type\":\"video", + "jiequshuzuhou": "corner", + "tupianqian": "\"pic\":\"", + "tupianhou": "\"", + "tupianqianzhui": "http:", + "fubiaotiqian": "duration\":\"", + "fubiaotihou": "\"", + "lianjieqian": "\"bvid\":\"", + "lianjiehou": "\"", + "ljqianzhui": "https://www.bilibili.com/video/", + "biaotiqian": "title\":\"", + "biaotihou": "\"", + "sousuohouzhui": "/voddetail/", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "sousuoqian": "/x/web-interface/search/type?search_type=video&page=1&page_size=16&keyword=", + "sousuohou": "", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "{\"type\":\"video", + "ssjiequshuzuhou": "corner", + "sstupianqian": "\"pic\":\"", + "sstupianhou": "\"", + "sstupianqianzhui": "http:", + "ssbiaotiqian": "author\":\"", + "ssbiaotihou": "\"", + "sslianjieqian": "\"bvid\":\"", + "sslianjiehou": "\"", + "ssljqianzhui": "https://www.bilibili.com/video/", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "\"pages\"", + "bfjiequshuzuhou": "]", + "zhuangtaiqian": "Published\" content=\"", + "zhuangtaihou": "\"", + "daoyanqian": "author\" content=\"", + "daoyanhou": "\"", + "zhuyanqian": "tname\":\"", + "zhuyanhou": "\"", + "juqingqian": "raw_text\":\"", + "juqinghou": "\"", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "{", + "bfyjiequshuzuhou": "}", + "bfbiaotiqian": "part\":\"", + "bfbiaotihou": "\"", + "bflianjieqian": "page\":", + "bflianjiehou": ",", + "bfqianzhui": "?p="}, +{"name": "❤斗鱼", +"url": "https://www.douyu.com/", +//填网站链接 +"tihuan": "cnzz.com", + //这个不用动,是个别网站嗅探时过滤地址用的 "User": "空", //这个不用动,是个别网站播放需要请求头时才用到 "shouye": "0", + "fenlei": "科技文化$gapi/rkc/directory/mixList/1_11/#梅食$gapi/rkc/directory/mixList/2_194/#一起看$gapi/rkc/directory/mixList/2_208/#文化$gapi/rkc/directory/mixList/2_195/#科普$gapi/rkc/directory/mixList/2_204/#社会人文$gapi/rkc/directory/mixList/2_1162/#纪录片$gapi/rkc/directory/mixList/2_514/#电台$gapi/rkc/directory/mixList/2_1556/#音乐之声$gapi/rkc/directory/mixList/2_910/#正能量$gapi/rkc/directory/mixList/2_250/", "houzhui": "", + "shifouercijiequ": "0", +"jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "\"type\":1", "jiequshuzuhou": "\"rs16\"", + "tupianqian": "\"rs1\":\"", + "tupianhou": "\"", + "biaotiqian": "\"rn\":\"", + "biaotihou": "\"", + "lianjieqian": "\"rid\":", + "lianjiehou": ",\"", + "sousuoqian": "/japi/search/api/searchShow?kw=", + "sousuohou": "&page=1&pageSize=50", "sousuohouzhui": "/", +"ssmoshi": "0", "sousuoshifouercijiequ": "0", "jspic": "roomSrc", "jsname": "roomName", "jsid": "rid", "ssjiequqian": "空", "ssjiequhou": "空", "ssjiequshuzuqian": "空", "ssjiequshuzuhou": "空", "sstupianqian": "空", "sstupianhou": "空", "ssbiaotiqian": "空", "ssbiaotihou": "空", "sslianjieqian": "空", "sslianjiehou": "空", "bfshifouercijiequ": "0", "bfjiequqian": "空", "bfjiequhou": "空", "bfjiequshuzuqian": "left\">
    ", +"zhuangtaiqian": "更新:", "zhuangtaihou": "

    ", + "daoyanqian": "导演:", "daoyanhou": "

    ", + "zhuyanqian": "主演:", "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "

    ", +"bfbiaotihou": "

    ", +"bflianjieqian": "rid=", +"bflianjiehou": "\""}, +{ + "author": "20220613", + "name": "555电影", + "url": "https://www.xawqxh.net", + "tihuan": "cnzz.com", + "User": "User-Agent:Dart/2.14 (dart:io)", + + "fenlei": "Netflix(片)$/vodshow/1---Netflix-----#Netflix(剧)$/vodshow/2---Netflix-----#Netflix(漫)$/vodshow/4---Netflix-----#热播电影$/vodshow/1--hits------#热播连续剧$/vodshow/13--------#日韩剧$/vodshow/44--------#欧梅剧$/vodshow/45--------#港台剧$/vodshow/15--------#纪录片$/vodshow/1---纪录-----#儿童片$/vodshow/1---儿童-----#动画片$/vodshow/1---动画-----#亲子动漫$/vodshow/4---亲子-----#儿歌动漫$/vodshow/4---儿歌-----#国产动漫$/vodshow/4-大陆-------#日本动漫$/vodshow/4-日本-------#欧梅动漫$/vodshow/4-欧梅-------#其他动漫$/vodshow/4-其他-------#综艺记录$/vodshow/3--------#仙侠片$/vodshow/1---仙侠-----#剧情片$/vodshow/1---剧情-----#科幻片$/vodshow/1---科幻-----#动作片$/vodshow/1---动作-----#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#冒险片$/vodshow/1---冒险-----#歌舞片$/vodshow/1---歌舞-----#音乐片$/vodshow/1---音乐-----#奇幻片$/vodshow/1---奇幻-----#恐怖片$/vodshow/1---恐怖-----#惊悚片$/vodshow/1---惊悚-----#丧尸片$/vodshow/1---丧尸-----#战争片$/vodshow/1---战争-----#传记片$/vodshow/1---传记-----#犯罪片$/vodshow/1---犯罪-----#悬疑片$/vodshow/1---悬疑-----#西部片$/vodshow/1---西部-----#灾难片$/vodshow/1---灾难-----#古装片$/vodshow/1---古装-----#武侠片$/vodshow/1---武侠-----#家庭片$/vodshow/1---家庭-----#短片$/vodshow/1---短片-----#校园片$/vodshow/1---校园-----#文艺片$/vodshow/1---文艺-----#运动片$/vodshow/1---运动-----#青春片$/vodshow/1---青春-----#同性片$/vodshow/1---同性-----#励志片$/vodshow/1---励志-----#人性片$/vodshow/1---人性-----#梅食片$/vodshow/1---梅食-----#女性片$/vodshow/1---女性-----#治愈片$/vodshow/1---治愈-----#历史片$/vodshow/1---历史-----#真人秀$/vodshow/1---真人秀-----#脱口秀$/vodshow/1---脱口秀-----#", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", +"tupianqian": "src=\"", +"tupianhou": "\"", +"biaotiqian": "class=\"mv_name\">", +"biaotihou": "", +"lianjieqian": "href=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://www.ichemv.com", +"fubiaotiqian": "class=\"mv_p\">", +"fubiaotihou": "" +}, +{"author": "20220617", + "name": "F7好看剧", + "url": "https://www.haokanju1.cc", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "4K剧集$/vodshow/23--------#4K电影$/vodshow/24--------#亲子动漫$/vodshow/4---亲子-----#益智动漫$/vodshow/4---益智-----#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/20--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#大陆动漫$/vodshow/4-大陆-------#内地动漫$/vodshow/4-内地-------#日本动漫$/vodshow/4-日本-------#韩国动漫$/vodshow/4-韩国-------#M国动漫$/vodshow/4-M国-------#英国动漫$/vodshow/4-英国-------#台湾动漫$/vodshow/4-台湾-------#动画片$/vodshow/1---动画-----#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"data \">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "LIBVIO", + "url": "https://www.libvio.me", + "tihuan": "dd520.cc", + "User": "空", + "fenlei": "最近更新$/show/19--------#电影$/show/1--------#电视剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------#动画片$/show/1---动画-----#纪录片$/show/21--------#国产剧$/show/13--------#日韩剧$/show/15--------#欧梅剧$/show/16--------#港台剧$/show/14--------#泰国剧$/show/2-泰国-------#喜剧片$/show/1---喜剧-----#爱情片$/show/1---爱情-----#恐怖片$/show/1---恐怖-----#动作片$/show/1---动作-----#科幻片$/show/1---科幻-----#剧情片$/show/1---剧情-----#战争片$/show/1---战争-----#警匪片$/show/1---警匪-----#犯罪片$/show/1---犯罪-----#奇幻片$/show/1---奇幻-----#武侠片$/show/1---武侠-----#冒险片$/show/1---冒险-----", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload\"", + "jiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\">总集数:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">类型:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "COKEMV", + "url": "https://cokemv.me", + "User": "空", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#动画电影$/vodshow/41--------#抖音电影$/vodshow/5--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#犯罪片$/vodshow/23--------", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "/div>", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "author":"20220605", + "name": "特狗影院", + "url": "https://www.tegouys.com", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "儿童电影$/vodshow/class/儿童/id/1/page/#亲子综艺$/vodshow/class/亲子/id/3/page/#合家欢动漫$/vodshow/class/合家欢/id/4/page/#曲艺综艺$/vodshow/class/曲艺/id/3/page/#电影$/vodshow/id/1/page/#国产剧$/vodshow/area/内地/id/2/page/#香港剧$/vodshow/area/香港/id/2/page/#韩国剧$/vodshow/area/韩国/id/2/page/#M国剧$/vodshow/area/M国/id/2/page/#日本剧$/vodshow/area/日本/id/2/page/#泰国剧$/vodshow/area/泰国/id/2/page/#台湾剧$/vodshow/area/台湾/id/2/page/#英国剧$/vodshow/area/英国/id/2/page/#其它剧$/vodshow/area/其它/id/2/page/#综艺$/vodshow/id/3/page/#国产动漫$/vodshow/area/内地/id/4/page/#日本动漫$/vodshow/area/日本/id/4/page/#欧梅动漫$/vodshow/area/欧梅/id/4/page/#其它动漫$/vodshow/area/其它/id/4/page/", + "houzhui": ".html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "class=\"text-red\">", + "zhuangtaihou": "/", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220606", + "name": "瓜皮TV", + "url": "https://guapitv.xyz", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "电影$/vodshow/1--------#电视剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#少儿$/vodshow/20--------#动画片$/vodshow/1---动画-----#记录片$/vodshow/21--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#国产动漫$/vodshow/4-国产-------#日本动漫$/vodshow/4-日本-------#欧梅动漫$/vodshow/4-欧梅-------#喜剧片$/vodshow/1---喜剧-----#爱情片$/vodshow/1---爱情-----#恐怖片$/vodshow/1---恐怖-----#动作片$/vodshow/1---动作-----#科幻片$/vodshow/1---科幻-----#剧情片$/vodshow/1---剧情-----#战争片$/vodshow/1---战争-----", + "houzhui": "---.html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "
    ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220612", + "name": "4K电影网", + "url": "https://www.4kdyw.cn", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#电视剧(B站)$/vodshow/45--------#纪录片$/vodshow/24--------#纪录片(B站)$/vodshow/46--------#日本动漫$/vodshow/21--------#国产动漫$/vodshow/20--------#欧梅动漫$/vodshow/22--------#动漫电影$/vodshow/25--------#番剧(B站)$/vodshow/42--------#国创(B站)$/vodshow/43--------#综艺$/vodshow/3--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/27--------#灾难片$/vodshow/28--------#历史片$/vodshow/29--------#传记片$/vodshow/30--------#歌舞片$/vodshow/47--------#电影(B站)$/vodshow/44--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "red;\">", + "zhuangtaihou": "", + "daoyanqian": "data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "sketch\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220615", + "name": "悟空影院", + "url": "https://www.01vo.com", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "体育$/vodshow/36--------#电影$/vodshow/1--------#连续剧$/vodshow/2--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#纪录片$/vodshow/25--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------#国产动漫$/vodshow/31--------#日本动漫$/vodshow/32--------#欧梅动漫$/vodshow/33--------#动漫片$/vodshow/26--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#犯罪片$/vodshow/24--------", + "houzhui": "---.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "alt=\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "集数:
    ", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "vod_content\">", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "biaotihou": "", + + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author": "20220609", + "name": "OmoFun动漫", + "url": "https://www.omofun.tv", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "日漫$/vod/show/id/20/page/#热血$/vod/show/class/热血/id/20/page/#穿越$/vod/show/class/穿越/id/20/page/#奇幻$/vod/show/class/奇幻/id/20/page/#战斗$/vod/show/class/战斗/id/20/page/#搞笑$/vod/show/class/搞笑/id/20/page/#日常$/vod/show/class/日常/id/20/page/#科幻$/vod/show/class/科幻/id/20/page/#萌系$/vod/show/class/萌系/id/20/page/#治愈$/vod/show/class/治愈/id/20/page/#校园$/vod/show/class/校园/id/20/page/#恋爱$/vod/show/class/恋爱/id/20/page/#魔法$/vod/show/class/魔法/id/20/page/#冒险$/vod/show/class/冒险/id/20/page/#机战$/vod/show/class/机战/id/20/page/#催泪$/vod/show/class/催泪/id/20/page/#音乐$/vod/show/class/音乐/id/20/page/", + "houzhui": ".html", + + "shifouercijiequ": "1", + "jiequqian": "
    ", + + "zhuangtaiqian": "备注:", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": ".html\">", + "biaotihou": "", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + + "sousuoqian": "/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"fed-play-item", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "fed-text-center\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "声优:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + + "bfyshifouercijiequ": "1", + "bfyjiequqian": "class=\"fed-part-rows\">", + "bfyjiequhou": "", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author":"20220529", + "issue":"起始页码为0,有别于其他网站都是1,无法解决,所以各类别都会少了第一页的内容", + "name": "风车动漫", + "url": "https://www.dm530p.net", + "User": "空", + "fenlei": "日本动漫$/list/?region=日本&pagesize=24&pageindex=#国产动漫$/list/?region=中国&pagesize=24&pageindex=#欧梅$/list/?region=欧梅&pagesize=24&pageindex=#TV$/list/?genre=TV&pagesize=24&pageindex=#剧场版$/list/?genre=剧场版&pagesize=24&pageindex=#OVA$/list/?genre=OVA&pagesize=24&pageindex=", + "houzhui": "", + + "shifouercijiequ": "1", + "jiequqian": "class=\"lpic\">", + "jiequhou": "/div>", + "jiequshuzuqian": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/s_all?ex=1&kw=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/view/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "1", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "class=\"lpic\">", + "ssjiequhou": "/div>", + "ssjiequshuzuqian": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"movurl\"", + "bfjiequshuzuhou": "/ul>", + + "zhuangtaiqian": "

    ", + "zhuangtaihou": "", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "author":"20220615", + "name": "森之屋动漫", + "url": "https://www.senfun.net", + "tihuan": "cnzz.com", + "User": "空", + + "fenlei": "TV动画$/show/1/page/#BD动画$/show/2/page/#剧场版$/show/3/page/#欧梅动漫$/show/37/page/", + "houzhui": ".html", + + "shifouercijiequ": "1", + "jiequqian": "class=\"module-items", + "jiequhou": "class=\"fixedGroup", + "jiequshuzuqian": "", + + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "introduction-content\">

    ", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "span>", + "bfbiaotihou": "", + + "zhuangtaiqian": "info\">状态:", + "zhuangtaihou": "", + "daoyanqian": "info\">监督:", + "daoyanhou": "", + "zhuyanqian": "starring\">声优:", + "zhuyanhou": "", + "juqingqian": "剧情简介", + "juqinghou": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "真不卡影院(不支持搜索)", + "url": "http://www.cerrd.com", + "tihuan": "cnzz.com", + "fenlei": "电影$/films/1_#电视剧$/films/2_#综艺$/films/4_#动漫$/films/3_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/edu-", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "骚火电影", + "url": "https://shdy2.com", + "User": "空", + "fenlei": "国产剧$/list/20-#TVB剧$/list/21-#韩剧$/list/22-#梅剧$/list/23-#日剧$/list/24-#英剧$/list/25-#台剧$/list/26-#其它剧$/list/27-#动漫$/list/4-#亲子动漫$/list/46-#电影$/list/1-#动画片$/list/13-#喜剧片$/list/6-#爱情片$/list/7-#恐怖片$/list/8-#动作片$/list/9-#科幻片$/list/10-#战争片$/list/11-#犯罪片$/list/12-#奇幻片$/list/14-#剧情片$/list/15-#冒险片$/list/16-#悬疑片$/list/17-#惊悚片$/list/18-#其它片$/list/19-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"v_img\">", + "jiequshuzuhou": "

    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search.php?searchword=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "
    ", + "ssjiequshuzuhou": "
    ", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"play_link\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"v_note\">", + "zhuangtaihou": "
    ", + "daoyanqian": "导演:", + "daoyanhou": "/ 主演", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"p_txt show_part\">", + "juqinghou": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "剧白白-蓝光", + "url": "https://www.jubaibai.cc", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/type/dianshiju-#电影$/type/dianying-#综艺$/type/zongyi-#动漫$/type/dongman-#纪录片$/type/jilupian-#动作片$/vodshow/id/dongzuopian/page/#喜剧片$/vodshow/id/xijupian/page/#爱情片$/vodshow/id/aiqingpian/page/#科幻片$/vodshow/id/kehuanpian/page/#恐怖片$/vodshow/id/kongbupian/page/#剧情片$/vodshow/id/juqingpian/page/#战争片$/vodshow/id/zhanzhengpian/page/#国产剧$/vodshow/id/guochanju/page/#港台剧$/vodshow/id/gangtaiju/page/#日韩剧$/vodshow/id/rihanju/page/#欧梅剧$/vodshow/id/oumeiju/page/#其他剧$/vodshow/id/qitaju/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist sort-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data hidden-xs\">类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "class=\"data\">导演:", + "daoyanhou": "

    ", + "zhuyanqian": "class=\"data\">主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "火火影院", + "url": "https://www.huohuo99.com", + "tihuan": "", + "User": "空", + "fenlei": "动作片$/vodtype/6-#喜剧片$/vodtype/7-#爱情片$/vodtype/8-#科幻片$/vodtype/9-#恐怖片$/vodtype/10-#剧情片$/vodtype/11-#战争片$/vodtype/12-#惊悚片$/vodtype20-#悬疑片$vodtype/23-#动画片$/vodtype/24-#国产剧$/vodtype/13-#港台剧$/vodtype/14-#日韩剧$/vodtype15-#欧梅剧$vodtype/16-#番剧$/vodtype/31-#综艺$/vodtype/4-#记录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"hl-list-item hl", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": " id=\"hl-plays-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:
    ", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "天空资源", + "url": "https://www.tkys.tv", + "tihuan": "cnzz.com", + "fenlei": "电影$/vodtype/1-#综艺$/vodtype/3-#动漫$/vodtype/4-#国产剧$/vodshow/area/内地/id/2/page/#港剧$/vodshow/area/香港/id/2/page/#韩剧$/vodshow/area/韩国/id/2/page/#梅剧$/vodshow/area/M国/id/2/page/#泰剧$/vodshow/area/泰国/id/2/page/#日剧$/vodshow/area/日本/id/2/page/#台剧$/vodshow/area/台湾/id/2/page/#英剧$/vodshow/area/英国/id/2/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-8", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "完梅看看影院", + "url": "https://www.wanmeikk.me/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/category/1-#国产剧$/category/5-#欧梅剧$/category/2-#韩剧$/category/3-#动漫$/category/6-#泰剧$/category/9-#纪录片$/category/10-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "class=\"stui-vodlist__box stui-vodlist__bg", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/play/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-pannel_bd col-pd clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"data\" style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "03-乐猪影院", + "url": "http://www.lezhutv.com", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/type/2-#电影$/type/1-#综艺$/type/3-#动漫$/type/4-#韩剧$/type/14-#梅剧$/type/15-#其它$/type/16-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "口袋影院", + "url": "http://www.koudaitv.com", + "User": "空", + "fenlei": "电影$/type/1-1--hits------#连续剧$/type/2-1--hits------#动漫$/type/4-1--------#综艺$/type/3-1--------#韩剧$/type/14-1--------#梅剧$/type/15-1--------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"vbox\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search-pg-1-wd-", + "sousuohou": ".html&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"vbox\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"list_block show\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"yac\">", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"tbox_js\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "北川影院", + "url": "https://www.bcwzg.com", + "User": "Referer:https://j.bcyingshi.ink/", + "fenlei": "电视剧$/vodshow/2--------#电影$/vodshow/1--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------#体育专栏$/vodshow/29--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#欧梅剧$/vodshow/16--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "class=\"loading\"", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-itemvideo-info-contentvod_content\">", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "六度TV", + "url": "http://6d.xuangz.cn", + "User": "空", + "fenlei": "电影$/whole/1_______0_addtime_#大陆片$/whole/1_大陆______0_id_#M国片$/whole/1_M国______0_id_#日本片$/whole/1_日本______0_id_#动漫$/whole/3_______0_hits_#电视剧$/whole/2_______0_addtime_#国产剧$/whole/2_大陆_国产剧_____0_id_#日韩剧$/whole/2__日韩剧_____0_id_#欧梅剧$/whole/2__欧梅剧_____0_id_#全网资源$/whole/5_______0_addtime__综艺$/whole/4_______0_addtime__", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v_show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"v-thumb stui-vodlist", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "类型:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "花猫TV", + "url": "http://www.huamaotv.com", + "User": "空", + "fenlei": "电影$/type/1-#连续剧$/type/2-#综艺$/type/3-#动漫$/type/4-#", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__item", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"data\"", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "
  • ", + "bfyjiequshuzuhou": "
  • ", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "GIMY影院", + "url": "https://gmtv1.xyz", + "User": "空", + "fenlei": "电视剧$/genre/tvseries---#电影$/genre/movies---#综艺$/genre/tv_show---#动漫$/genre/anime---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#喜剧片$/genre/comedy+---#爱情片$/genre/romance---#战争片$/genre/war---#奇幻片$/genre/fantasy---#恐怖片$/genre/horror---#纪录片$/genre/documentary+---#动画电影$/genre/animation---#国产剧$/genre/cn---#韩剧$/genre/kr---#梅剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "Gimy TV 劇迷線上看", + "url": "https://gimytv.app", + "User": "空", + + "fenlei": "陸剧$/genre/cn---#韩剧$/genre/kr---#梅剧$/genre/us---#日剧$/genre/jp---#台剧$/genre/tw---#港剧$/genre/hk---#海外剧$/genre/ot---#纪录片$/genre/documentary---#综艺$/genre/tv_show---#日漫$/genre/anime-日本--#梅漫$/genre/anime-梅國--#欧漫$/genre/anime-歐梅--#陸漫$/genre/anime-大陸--#台漫$/genre/anime-臺灣--#港漫$/genre/anime-香港--#韩漫$/genre/anime-韓國--#电影$/genre/movies---#动画电影$/genre/animation---#剧情片$/genre/drama---#动作片$/genre/action---#科幻片$/genre/scifi---#爱情片$/genre/romance---#奇幻片$/genre/magic---#战争片$/genre/war---#恐怖片$/genre/horror---#喜剧片$/genre/comedymovie---", + "houzhui": "/by/time.html", + + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/v/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list scrollbar clearfix\"", + "bfjiequshuzuhou": "", + + "zhuangtaiqian": "狀態:", + "zhuangtaihou": "

    ", + "daoyanqian": "導演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"col-pd text-collapse content\">", + "juqinghou": "

    ", + + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "YYDS影院", + "url": "https://www.yydsvod.com", + "User": "空", + "fenlei": "电视剧$/vod/show/drama--------#电影$/vod/show/movie--------#综艺$/vod/show/varietyshow--------#动漫$/vod/show/animes--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-lg-6 col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "思乐影院", + "url": "https://www.4ltv.com", + "User": "空", + "fenlei": "电视剧$/show/1------#电影$/show/2------#综艺$/show/3------#动漫$/show/4------", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"col-md-1", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"sort-item", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "分类:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "如如影院", + "url": "https://www.wei333.com/", + "User": "空", + "fenlei": "电影$/movie/?v1-#电视剧$/dsj/?v2-#综艺$/zong/?v3-#动漫$/dong/?v4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "空", + "jsname": "空", + "jsid": "空", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb", + "ssjiequshuzuhou": "", + "sstupianqian": "data-original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "看一看影院", + "url": "https://www.kyikan.cc", + "fenlei": "连续剧$/index.php?m=vod-list-id-2-pg-#电影$/index.php?m=vod-list-id-1-pg-#动漫$/index.php?m=vod-list-id-4-pg-#综艺$/index.php?m=vod-list-id-3-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#港台剧$/index.php?m=vod-list-id-13-pg-#日韩剧$/index.php?m=vod-list-id-14-pg-#欧梅剧$/index.php?m=vod-list-id-15-pg-#泰剧剧$/index.php?m=vod-list-id-19-pg-#动作片$/index.php?m=vod-list-id-5-pg-#喜剧片$/index.php?m=vod-list-id-6-pg-#爱情片$/index.php?m=vod-list-id-7-pg-#科幻片$/index.php?m=vod-list-id-8-pg-#恐怖片$/index.php?m=vod-list-id-9-pg-#剧情片$/index.php?m=vod-list-id-10-pg-#战争片$/index.php?m=vod-list-id-11-pg-#纪录片$/index.php?m=vod-list-id-16-pg-#微电影$/index.php?m=vod-list-id-18-pg-#惊悚片$/index.php?m=vod-list-id-20-pg-#悬疑片$/index.php?m=vod-list-id-21-pg-", + "houzhui": "-order--by--class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"bz\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "      ", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href='", + "bflianjiehou": "'" +}, +{ + "name": "乌龟影院", + "url": "https://www.wuguiyy.com", + "User": "空", + "fenlei": "电影$/show/dianying--------#电视剧$/show/lianxuju--------#综艺$/show/zongyi--------#动漫$/show/dongman--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "31看影院", + "url": "https://www.31kan.vip", + "author": "dj", + "User": "空", + "fenlei": "热播剧集$/vodshow/2--hits------#热播电影$/vodshow/1--hits------#热播综艺$/vodshow/3--hits------#热播少儿$/vodshow/33--hits------#国产剧$/vodshow/2-大陆-------#港剧$/vodshow/2-香港-------#韩剧$/vodshow/2-韩国-------#梅剧$/vodshow/2-M国-------#泰剧$/vodshow/2-泰国-------#日剧$/vodshow/2-日本-------#英剧$/vodshow/2-英国-------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "
      ", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小强迷", + "url": "http://xqmi.top", + "User": "空", + "fenlei": "动作片$/index.php/vod/show/id/6/page/#喜剧片$/index.php/vod/show/id/7/page/#爱情片$/index.php/vod/show/id/8/page/#科幻片$/index.php/vod/show/id/9/page/#恐怖片$/index.php/vod/show/id/10/page/#剧情片$/index.php/vod/show/id/11/page/#战争片$/index.php/vod/show/id/12/page/#国产剧$/index.php/vod/show/id/13/page/#港台剧$/index.php/vod/show/id/14/page/#日韩剧$/index.php/vod/show/id/15/page/#欧梅剧$/index.php/vod/show/id/16/page/#综艺$/index.php/vod/type/id/3/page/#动漫$/index.php/vod/show/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "
  • ", + "tupianqian": "data-original=\"", + "tupianhou": "\">", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "
      ", + "bfjiequshuzuhou": "
    ", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "爱港剧", + "url": "http://www.2gangju.cc", + "User": "空", + "fenlei": "电影$/vodshow/dianying--------#电视剧$/vodshow/dianshiju--------#综艺$/vodshow/zongyi--------", + "houzhui": "---.html", + "shifouercijiequ": "1", + "jiequqian": "class=\"stui-vodlist clearfix\"", + "jiequhou": "", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/vodsearch/-------------.html?wd=", + "sousuohou": "&limit=500&submit=", + "sousuohouzhui": "/dianshiju/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"thumb\"", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "VIP1280", + "url": "http://www.vip1280.net", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/frim/index1/page/#电视剧$/frim/index2/page/#港台剧$/frim/index3/page/#动作片$/frim/index6/page/#爱情片$/frim/index7/page/#科幻片$/frim/index8/page/#恐怖片$/frim/index9/page/#战争片$/frim/index10/page/#喜剧片$/frim/index11/page/#记录片$/frim/index12/page/#剧情片$/frim/index20/page/#动画片$/frim/index21/page/#欧梅剧$/frim/index4/page/#日韩剧$/frim/index5/page/#泰剧$/frim/index22/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"col-md-6 col-sm-4 col-xs-3\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/movie/index", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"detail-sketch\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "小熊影院", + "url": "http://www.xxys520.com/", + "User": "空", + "fenlei": "最新电影$/vodshow/1-----------2022/page/#最新国产剧$/vodshow/2-----------2022/page/#港台剧$/vodtype/14-#日韩剧$/vodtype/15-#欧梅剧$/vodtype/16-#泰国剧$/vodtype/29-#其他剧$/vodtype/27-#动漫$/vodtype/3-#综艺$/vodtype/4-#纪录片$/vodtype/5-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "target=\"_blank\">", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"video-info-item video-info-content vod_content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "影院之光", + "url": "http://vip.8kvod.com:888", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/t/1/page/#连续剧$/t/2/page/#综艺$/t/3/page/#动漫$/t/4/page/#动作片$/t/6/page/#喜剧片$/t/7/page/#爱情片$/t/8/page/#科幻片$/t/9/page/#恐怖片$/t/10/page/#剧情片$/t/11/page/#动画片$/t/29/page/", + "houzhui": "", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/k/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "剧情简介','", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "手机看剧", + "url": "https://www.shoujikanju.com/", + "User": "空", + "fenlei": "电影$/sort/1-#电视剧$/sort/2-#综艺$/sort/3-#动漫$/sort/4-#纪录片$/sort/5-", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "id=\"list\"", + "jiequhou": "", + "jiequshuzuqian": "
  • ", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"bd_title\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "", + "zhuangtaihou": "", + "daoyanqian": "class=\"text-muted\">导演:", + "daoyanhou": "", + "zhuyanqian": "class=\"text-muted\">主演:", + "zhuyanhou": "", + "juqingqian": "
    ", + "juqinghou": "
    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "创艺影院", + "url": "https://www.30dian.cn", + "tihuan": "vip.30dian.cn", + "User": "空", + "fenlei": "电影$/vodshow/1--------#连续剧$/vodshow/2--------#动漫$/vodshow/4--------#综艺$/vodshow/3--------#纪录片$/vodshow/30--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"text-red\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "style=\"display: none;\">

    ", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "炫猫影院", + "url": "https://www.xuanmao520.com/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/index.php/vod/type/id/1/#剧集$/index.php/vod/type/id/2/#综艺$/index.php/vod/type/id/3/#动漫$/index.php/vod/type/id/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/index.php/vod/play/id/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list scrollbar sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"span\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "奈菲影院", + "url": "https://www.1985.one/", + "User": "空", + "fenlei": "电影$/vodshow/id/1/page/#连续剧$/vodshow/id/2/page/#综艺$/vodshow/id/3/page/#动漫$/vodshow/id/4/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"sort-item-", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"module-item-text\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "牛马TV", + "url": "http://www.niumatv.com/", + "User": "空", + "fenlei": "电影$/type/dianying-#电视剧$/type/dianshiju-#国产剧$/vodshow/area/中国大陆/id/dianshiju/page/#港剧$/vodshow/area/中国香港/id/dianshiju/page/#韩剧$/vodshow/area/韩国/id/dianshiju/page/#欧梅剧$/vodshow/area/M国/id/dianshiju/page/#综艺$/type/zongyi-#动漫$/type/dongman-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "lazyload", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vod/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "豆角网", + "url": "https://m.doujiaow1.com/", + "User": "空", + "fenlei": "电影$/index.php?m=vod-list-id-1-pg-#国产剧$/index.php?m=vod-list-id-12-pg-#韩剧$/index.php?m=vod-list-id-15-pg-#港剧$/index.php?m=vod-list-id-13-pg-#台剧$/index.php?m=vod-list-id-14-pg-#泰剧$/index.php?m=vod-list-id-26-pg-#日剧$/index.php?m=vod-list-id-17-pg-#梅剧$/index.php?m=vod-list-id-16-pg-#海外剧$/index.php?m=vod-list-id-18-pg-#动漫剧集$/index.php?m=vod-list-id-37-pg-#动漫电影$/index.php?m=vod-list-id-35-pg-#综艺$/index.php?m=vod-list-id-3-pg-", + "houzhui": "-order--by-time-class-0-year-0-letter--area--lang-.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"con\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + + "sousuoqian": "/index.php?m=vod-search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/vodhtml/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"pic\"", + "ssjiequshuzuhou": "", + "sstupianqian": "data-src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + + "bfjiequshuzuqian": "class=\"ulNumList", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "title=\"", + "bfbiaotihou": "\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "尘落影院", + "url": "https://v.xuangz.cn/", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电视剧$/whole/2_______0_addtime_#电影$/whole/1_______0_id_#综艺$/whole/4_______0_addtime_#动漫$/whole/3_______0_addtime_#全网资源$/whole/5_______0_addtime_", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"movie-item-in", + "jiequshuzuhou": "class=\"item-hover", + "tupianqian": "src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/?c=search&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/show/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"movie-item-in", + "ssjiequshuzuhou": "", + "sstupianqian": "src=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "alt=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"row tv-js-list", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "状态", + "zhuangtaihou": "", + "daoyanqian": "导演", + "daoyanhou": "", + "zhuyanqian": "主演", + "zhuyanhou": "", + "juqingqian": "border-radius: 4px", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "class=\"tv-js-btn\">", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "电影馆", + "url": "https://www.dianyingguan.cn/", + "fenlei": "电影$/show/1--------#国产剧$/show/13--------#港台剧$/show/14--------#日韩剧$/show/15--------#欧梅剧$/show/16--------#其他剧$/show/2--------#综艺$/show/3--------#动漫$/show/4--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "alt=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "爱看影院", + "url": "https://ikan6.vip/", + "fenlei": "电影$/vodshow/1--------#国产剧$/vodshow/13--------#港台剧$/vodshow/14--------#日韩剧$/vodshow/15--------#梅剧$/vodshow/16--------#综艺$/vodshow/3--------#动漫$/vodshow/4--------", + "houzhui": "---/", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"scroll-content\"", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "集数:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "凛冬又至", + "url": "https://ldyz.live/", + "fenlei": "电影$/vodtype/1-#欧梅剧$/vodtype/20-#日剧$/vodtype/24-#韩剧$/vodtype/21-#泰剧$/vodtype/23-#动漫$/vodtype/4-", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "红领巾", + "url": "https://www.honglingjin.tv", + "User": "空", + "fenlei": "连续剧$/list/2/#电影$/list/1/#综艺$/list/3/#动漫$/list/4/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"stui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/search/", + "sousuohou": "&limit=500", + "sousuohouzhui": "/detail1/", + "ssmoshi": "1", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "class=\"module-item-cover", + "ssjiequshuzuhou": "", + "sstupianqian": "original=\"", + "sstupianhou": "\"", + "ssbiaotiqian": "title=\"", + "ssbiaotihou": "\"", + "sslianjieqian": "href=\"", + "sslianjiehou": "\"", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "stui-content__playlist clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "class=\"pic-text text-right\">", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "class=\"detail-sketch\">", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "Nike影院网", + "url": "https://www.ajeee.com", + "tihuan": "51.la", + "User": "空", + "fenlei": "电影$/show/Movie/page/#大陆剧$/show/Tv/area/大陆/page/#韩剧$/show/Tv/area/韩国/page/#港剧$/show/Tv/area/香港/page/#台剧$/show/Tv/area/台湾/page/#日剧$/show/Tv/area/日本/page/#梅剧$/show/Tv/area/M国/page/#泰剧$/show/Tv/area/泰国/page/#英剧$/show/Tv/area/英国/page/#大陆动漫$/show/Cartoon/area/大陆/page/#日本动漫$/show/Cartoon/area/日本/page/#欧梅动漫$/show/Cartoon/area/欧梅/page/#综艺$/show/Variety/page/", + "houzhui": ".html", + "shifouercijiequ": "1", + "jiequqian": "module-page", + "jiequhou": "class=\"layout-box", + "jiequshuzuqian": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "class=\"module-info-introduction-content\"", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "伊雪湾", + "tihuan": "cnzz.com", + "url": "https://www.yixuewan.com", + "fenlei": "国产剧$/vodshow/13/page/#日韩剧$/vodshow/14/page/#港台剧$/vodshow/15/page/#欧梅剧$/vodshow/16/page/#其他剧$/vodshow/20/page/#纪录片$/vodshow/21/page/#大陆动漫$/vodshow/4/area/中国大陆/page/#日本动漫$/vodshow/4/area/日本/page/#M国动漫$/vodshow/4/area/M国/page/#其他动漫$/vodshow/4/area/其他/page/#综艺$/vodshow/3/page/#动作片$/vodshow/6/page/#喜剧片$/vodshow/7/page/#剧情片$/vodshow/24/page/#爱情片$/vodshow/8/page/#科幻片$/vodshow/9/page/#恐怖片$/vodshow/10/page/#冒险片$/vodshow/11/page/#战争片$/vodshow/12/page/#其他片$/vodshow/32/page/", + "houzhui": ".html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"module-item-pic\"", + "jiequshuzuhou": "", + "tupianqian": "data-src=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"module-blocklist scroll-box scroll-box-y\">", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "备注:", + "zhuangtaihou": "", + "daoyanqian": "导演:", + "daoyanhou": "", + "zhuyanqian": "主演:", + "zhuyanhou": "", + "juqingqian": "剧情:", + "juqinghou": "", + "bfbiaotiqian": "", + "bfbiaotihou": "", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ + "name": "极品影院", + "url": "https://www.jpys.me/", + "User": "空", + "fenlei": "大陆剧$/vodshow/13--------#香港剧$/vodshow/14--------#欧梅剧$/vodshow/15--------#韩国剧$/vodshow/16--------#日本剧$/vodshow/20--------#台湾剧$/vodshow/21--------#泰国剧$/vodshow/22--------#动漫$/vodshow/3--------#综艺$/vodshow/4--------#动作片$/vodshow/6--------#喜剧片$/vodshow/7--------#爱情片$/vodshow/8--------#科幻片$/vodshow/9--------#恐怖片$/vodshow/10--------#剧情片$/vodshow/11--------#战争片$/vodshow/12--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box\"", + "jiequshuzuhou": "", + "tupianqian": "original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "id=\"playlist", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{"name": "有声小说", +"url": "https://m.tingzh.com", +"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", +"User": "空", +"直接播放": "0", +"列表显示": "0", +"横图显示": "0", +"fenlei": "玄幻$/list/1-#武侠$/list/2-#都市$/list/3-#言情$/list/4-#科幻$/list/5-", +"houzhui": ".html", +"qishiye": "1", +"shifouercijiequ": "0", +"jiequqian": "空", +"jiequhou": "空", +"jiequshuzuqian": "class=\"bookbox\"", +"jiequshuzuhou": "class=\"intro_line\"", +"tupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"tupianhou": "\"", +"tupianqianzhui": "空", +"biaotiqian": "class=\"bookname\">", +"biaotihou": "", +"lianjieqian": "bookid=\"", +"lianjiehou": "\"", +"ljqianzhui": "https://m.tingzh.com/book/", +"ljhouzhui": ".html", +"fubiaotiqian": "状态:", +"fubiaotihou": "", +"sousuohouzhui": "/book/", +"jspic": "pic", +"jsname": "name", +"jsid": "id", +"sousuoqian": "/search.php?searchword=", +"sousuohou": "&Submit=", +"ssmoshi": "1", +"sousuoshifouercijiequ": "0", +"ssjiequqian": "空", +"ssjiequhou": "空", +"ssjiequshuzuqian": "class=\"bookbox\"", +"ssjiequshuzuhou": "class=\"intro_line\"", +"sstupianqian": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcbgccdn.thecover.cn%2FFukWL0vxvTk9FWs6ba6qUgyCLSKH&refer=http%3A%2F%2Fcbgccdn.thecover.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662464355&t=f1e24cbc676abe4a67d7e4df2f76e91c", +"sstupianhou": "\"", +"sstupianqianzhui": "空", +"ssbiaotiqian": "class=\"bookname\">", +"ssbiaotihou": "", +"sslianjieqian": "bookid=\"", +"sslianjiehou": "\"", +"ssljqianzhui": "https://m.tingzh.com/book/", +"ssljhouzhui": ".html", +"bfshifouercijiequ": "0", +"bfjiequqian": "空", +"bfjiequhou": "空", +"bfjiequshuzuqian": "id=\"playlist\"", +"bfjiequshuzuhou": "", +"zhuangtaiqian": "
    状态:", +"zhuangtaihou": "", +"daoyanqian": "
    作者:", +"daoyanhou": "", +"zhuyanqian": "
    播音:", +"zhuyanhou": "", +"juqingqian": "class=\"book_intro\">", +"juqinghou": "
    ", +"bfyshifouercijiequ": "0", +"bfyjiequqian": "空", +"bfyjiequhou": "空", +"bfyjiequshuzuqian": "", +"bfbiaotiqian": ">", +"bfbiaotihou": "<", +"bflianjieqian": "href=\"", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, + +{ + "name": "139影院", + "url": "https://www.139ys.com", + "tihuan": "cnzz.com", + "User": "空", + "fenlei": "电影$/vodshow/dianying--------#连续剧$/vodshow/lianxuju--------#综艺$/vodshow/zongyi--------#动漫$/vodshow/dongman--------#国产剧$/vodshow/guochanju--------#港台剧$/vodshow/gangtaiju--------#日韩剧$/vodshow/rihanju--------#欧梅剧$/vodshow/oumeiju--------", + "houzhui": "---.html", + "shifouercijiequ": "0", + "jiequqian": "空", + "jiequhou": "空", + "jiequshuzuqian": "class=\"myui-vodlist__box", + "jiequshuzuhou": "
    ", + "tupianqian": "data-original=\"", + "tupianhou": "\"", + "biaotiqian": "title=\"", + "biaotihou": "\"", + "lianjieqian": "href=\"", + "lianjiehou": "\"", + "sousuoqian": "/index.php/ajax/suggest?mid=1&wd=", + "sousuohou": "&limit=500", + "sousuohouzhui": "/voddetail/", + "ssmoshi": "0", + "sousuoshifouercijiequ": "0", + "jspic": "pic", + "jsname": "name", + "jsid": "id", + "ssjiequqian": "空", + "ssjiequhou": "空", + "ssjiequshuzuqian": "空", + "ssjiequshuzuhou": "空", + "sstupianqian": "空", + "sstupianhou": "空", + "ssbiaotiqian": "空", + "ssbiaotihou": "空", + "sslianjieqian": "空", + "sslianjiehou": "空", + "bfshifouercijiequ": "0", + "bfjiequqian": "空", + "bfjiequhou": "空", + "bfjiequshuzuqian": "class=\"myui-content__list sort-list clearfix", + "bfjiequshuzuhou": "", + "zhuangtaiqian": "更新:", + "zhuangtaihou": "

    ", + "daoyanqian": "导演:", + "daoyanhou": "

    ", + "zhuyanqian": "主演:", + "zhuyanhou": "

    ", + "juqingqian": "简介:", + "juqinghou": "

    ", + "bfyshifouercijiequ": "0", + "bfyjiequqian": "空", + "bfyjiequhou": "空", + "bfyjiequshuzuqian": "", + "bfbiaotiqian": ">", + "bfbiaotihou": "<", + "bflianjieqian": "href=\"", + "bflianjiehou": "\"" +}, +{ "name": "Justlive斗鱼", + "User": "空", + "url": "http://live.yj1211.work/api/live/getRecommendByPlatform", + "直接播放": "1", + "横图显示": "1", + "fenlei": "全部$?platform=douyu&page=#电台新声$Area?platform=douyu&area=电台新声&page=#文化$Area?platform=douyu&area=文化&page=#科普$Area?platform=douyu&area=科普&page=#王者荣耀$Area?platform=douyu&area=王者荣耀&page=", + "houzhui": "&size=20", + "shifouercijiequ": "1", + "jiequqian": "[", + "jiequhou": "]", + "jiequshuzuqian": "{", + "jiequshuzuhou": "}", + "tupianqian": "\"roomPic\":\"", + "tupianhou": "\"", + "biaotiqian": "\"roomName\":\"", + "biaotihou": "\"", + "lianjieqian": "\"roomId\":\"", + "lianjiehou": "\"", + "ljqianzhui": "http://live.yj1211.work/index/liveRoom?platform=douyu&roomId=", + "fubiaotiqian": "\"ownerName\":\"", + "fubiaotihou": "\""}]} + diff --git a/调试助手/调试助手全局体育规则.txt b/调试助手/调试助手全局体育规则.txt new file mode 100644 index 0000000..94793bf --- /dev/null +++ b/调试助手/调试助手全局体育规则.txt @@ -0,0 +1,57 @@ +{"Home": [{"key": "自选网页", + +"title": "jrs", + +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", + +"custom": "eyJuYW1lIjogIuS9k+iCsi1qcnMiLAoidXJsIjogImh0dHA6Ly93d3cuanJza2FuLmNvbSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJqaWVxdXFpYW4iOiAi56m6IiwKImppZXF1aG91IjogIuepuiIsCiJqaWVxdXNodXp1cWlhbiI6ICI8dWwgY2xhc3M9XCJpdGVtIHBsYXkiLAoiamllcXVzaHV6dWhvdSI6ICI8L3VsPiIsCiJ0dXBpYW5xaWFuIjogInNyYz1cIiIsCiJ0dXBpYW5ob3UiOiAiXCIiLAoiYmlhb3RpcWlhbiI6ICJjbGFzcz1cImxhYl90ZWFtX2hvbWVcIj4iLAoiYmlhb3RpaG91IjogIjxsaSBjbGFzcz1cImxhYl9iY1wiIiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSIsCiJsaWFuamllaG91IjogIlwiIiwKImxqcWlhbnpodWkiOiAiaHR0cDovL3BsYXkuc3BvcnRzdGVhbTMzMy5jb20iLAoiZnViaWFvdGlxaWFuIjogImNsYXNzPVwibGFiX3RpbWVcIj4iLAoiZnViaWFvdGlob3UiOiAiPC9saT4iLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJjbGFzcz1cInN1Yl9wbGF5bGlzdFwiIiwKImJmamllcXVzaHV6dWhvdSI6ICJ8IiwKInpodWFuZ3RhaXFpYW4iOiAiY2xhc3M9XCJvdGhlcmJveFwiPiIsCiJ6aHVhbmd0YWlob3UiOiAiPC9wPiIsCiJkYW95YW5xaWFuIjogIuWvvOa8lO+8mjwvc3Bhbj4iLAoiZGFveWFuaG91IjogIjwvcD4iLAoiemh1eWFucWlhbiI6ICLkuLvmvJTvvJo8L3NwYW4+IiwKInpodXlhbmhvdSI6ICI8L3A+IiwKImp1cWluZ3FpYW4iOiAiPHNwYW4gY2xhc3M9XCJkYXRhXCIiLAoianVxaW5naG91IjogIjwvc3Bhbj4iLAoiYmZ5c2hpZm91ZXJjaWppZXF1IjogIjAiLAoiYmZ5amllcXVxaWFuIjogIuepuiIsCiJiZnlqaWVxdWhvdSI6ICLnqboiLAoiYmZ5amllcXVzaHV6dXFpYW4iOiAiPGEiLAoiYmZ5amllcXVzaHV6dWhvdSI6ICIvYT4iLAoiYmZiaWFvdGlxaWFuIjogIjxzdHJvbmc+IiwKImJmYmlhb3RpaG91IjogIjwvc3Ryb25nPiIsCiJiZmxpYW5qaWVxaWFuIjogImRhdGEtcGxheT1cIiIsCiJiZmxpYW5qaWVob3UiOiAiXCIiLAoiYmZxaWFuemh1aSI6ICJodHRwOi8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbSJ9"}, + +{"key": "自选网页", + +"title": "直播吧", + +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", + +"custom": "CnsibmFtZSI6ICLkvZPogrItemI4IiwKInVybCI6ICJodHRwczovL3d3dy56aGlibzgubmV0IiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuebtOaOpeaSreaUviI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImNsYXNzPVwibWF0Y2gtaXRlbVwiIiwKImppZXF1c2h1enVob3UiOiAiPC9hPiIsCiJ0dXBpYW5xaWFuIjogImh0dHBzOi8vaW1nMC5iYWlkdS5jb20vaXQvdT05NTk2MDcwNDMsMTA1NDIzNzUyMCZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz00MTcmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtaG9tZSBmbGV4XCI+IiwKImJpYW90aWhvdSI6ICI8L2Rpdj4iLAoidHVwaWFucWlhbnpodWkiOiAi56m6IiwKImxpYW5qaWVxaWFuIjogImhyZWY9XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogIuepuiIsCiJmdWJpYW90aXFpYW4iOiAiY2xhc3M9XCJjb2wtdGltZVwiPiIsCiJmdWJpYW90aWhvdSI6ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+In0="}, + +{"key": "自选网页", + +"title": "抓饭直播", + +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", + +"custom": "CnsibmFtZSI6ICLmipPppa3nm7Tmkq0iLAoidXJsIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2giLAoidWEiOiAiTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18yXzMgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzEzLjAuMyBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMSIsCiJVc2VyIjogIuepuiIsCiLmmK/lkKborrDlvZXljoblj7IiOiAiMSIsCiLnm7TmjqXmkq3mlL4iOiAiMSIsCiLliJfooajmmL7npLoiOiAiMSIsCiJmZW5sZWkiOiAi5L2T6IKyJOepuiIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIuepuiIsCiJzaGlmb3VlcmNpamllcXUiOiAiMSIsCiJqaWVxdXFpYW4iOiAiXCJjaGFubmVsc1wiIiwKImppZXF1aG91IjogIl0iLAoiamllcXVzaHV6dXFpYW4iOiAieyIsCiJqaWVxdXNodXp1aG91IjogIn0iLAoidHVwaWFucWlhbiI6ICJcImltYWdlVXJsXCI6XCIiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAiXCJjbmFtZVwiOlwiIiwKImJpYW90aWhvdSI6ICJcIiIsCiJsaWFuamllcWlhbiI6ICJcImlkXCI6XCIiLAoibGlhbmppZWhvdSI6ICJcIiIsCiJsanFpYW56aHVpIjogImh0dHBzOi8vbS56aHVhZmFuLnRlY2gvIiwKImZ1Ymlhb3RpcWlhbiI6ICJcImNhdGVnb3J5TmFtZVwiOlwiIiwKImZ1Ymlhb3RpaG91IjogIlwiIn0="}, + +{"key": "自选网页", + +"title": "88看球", + +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", + +"custom": "CnsibmFtZSI6ICLkvZPogrItODjnnIvnkIMiLAoidXJsIjogImh0dHA6Ly93d3cuODhrYW5xaXUuY29tIiwKIlVzZXIiOiAi56m6IiwKIuaYr+WQpuiusOW9leWOhuWPsiI6ICIxIiwKIuWIl+ihqOaYvuekuiI6ICIxIiwKImZlbmxlaSI6ICLkvZPogrIk56m6IiwKImhvdXpodWkiOiAiIiwKInNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImppZXF1cWlhbiI6ICLnqboiLAoiamllcXVob3UiOiAi56m6IiwKImppZXF1c2h1enVxaWFuIjogImdyb3VwLWdhbWUtaXRlbSIsCiJqaWVxdXNodXp1aG91IjogIjwvbGk+IiwKInR1cGlhbnFpYW4iOiAiaHR0cHM6Ly9pbWcwLmJhaWR1LmNvbS9pdC91PTE4NDU5NzgxLDcyNjI4OTM2MiZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz04MDAmaD01MDAiLAoidHVwaWFuaG91IjogIlwiIiwKImJpYW90aXFpYW4iOiAidGV4dC1yaWdodFwiPiIsCiJiaWFvdGlob3UiOiAiPGRpdiBkYXRhLWlkIiwKInR1cGlhbnFpYW56aHVpIjogIuepuiIsCiJsaWFuamllcWlhbiI6ICJocmVmPSciLAoibGlhbmppZWhvdSI6ICInIiwKImxqcWlhbnpodWkiOiAi56m6IiwKImZ1Ymlhb3RpcWlhbiI6ICJyb2xlPVwiYnV0dG9uXCI+IiwKImZ1Ymlhb3RpaG91IjogIjwiLAoiYmZzaGlmb3VlcmNpamllcXUiOiAiMCIsCiJiZmppZXF1cWlhbiI6ICLnqboiLAoiYmZqaWVxdWhvdSI6ICLnqboiLAoiYmZqaWVxdXNodXp1cWlhbiI6ICJcImdhbWUtdmlkZW9zLWJ0bi1jb250YWluZXJcIiIsCiJiZmppZXF1c2h1enVob3UiOiAiPC9kaXY+IiwKImJmeXNoaWZvdWVyY2lqaWVxdSI6ICIwIiwKImJmeWppZXF1cWlhbiI6ICLnqboiLAoiYmZ5amllcXVob3UiOiAi56m6IiwKImJmeWppZXF1c2h1enVxaWFuIjogIjxhIiwKImJmeWppZXF1c2h1enVob3UiOiAiL2E+IiwKImJmYmlhb3RpcWlhbiI6ICI+IiwKImJmYmlhb3RpaG91IjogIjwiLAoiYmZsaWFuamllcWlhbiI6ICJocmVmPSciLAoiYmZsaWFuamllaG91IjogIicifQ=="}, + +{"key": "自选网页", + +"title": "FM电台", + +"pic": "http://pic.netbian.com/uploads/allimg/161004/221627-1475590587ba17.jpg", + +"custom": "eyJuYW1lIjogIkZN55S15Y+wIiwKInVybCI6ICJodHRwczovL3d3dy5xaW5ndGluZy5mbS9yYWRpb3BhZ2UvIiwKInVhIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS84OC4wLjQzMjQuMTUwIFNhZmFyaS81MzcuMzYiLAoiVXNlciI6ICLnqboiLAoi5piv5ZCm6K6w5b2V5Y6G5Y+yIjogIjEiLAoi55u05o6l5pKt5pS+IjogIjEiLAoiZmVubGVpIjogIuWMl+S6rCQzLyPlpKnmtKUkNS8j5rKz5YyXJDcvI+S4iua1tyQ4My8j5bGx6KW/JDE5LyPlhoXokpnlj6QkMzEvI+i+veWugSQ0NC8j5ZCJ5p6XJDU5LyPpu5HpvpnmsZ8kNjkvI+axn+iLjyQ4NS8j5rWZ5rGfJDk5LyPlronlvr0kMTExLyPnpo/lu7okMTI5LyPmsZ/opb8kMTM5LyPlsbHkuJwkMTUxLyPmsrPljZckMTY5LyPmuZbljJckMTg3LyPmuZbljZckMjAyLyPlub/kuJwkMjE3LyPlub/opb8kMjM5LyPmtbfljZckMjU0LyPph43luoYkMjU3LyPlm5vlt50kMjU5LyPotLXlt54kMjgxLyPkupHljZckMjkxLyPpmZXopb8kMzE2LyPnlJjogoMkMzI3LyPlroHlpI8kMzUxLyPmlrDnloYkMzU3LyPopb/ol48kMzA4LyPpnZLmtbckMzQyLyPnvZHnu5zlj7AkNDA3LyPotYTorq/lj7AkNDMzLyPpn7PkuZDlj7AkNDQyLyPkuqTpgJrlj7AkNDI5LyPnu4/mtY7lj7AkNDM5LyPmlofoibrlj7AkNDMyLyPpg73luILlj7AkNDQxLyPkvZPogrLlj7AkNDMwLyPlj4zor63lj7AkNDMxLyPnu7zlkIjlj7AkNDQwLyPnlJ/mtLvlj7AkNDM4LyPml4XmuLjlj7AkNDM1LyPmm7Loibrlj7AkNDM2LyPmlrnoqIDlj7AkNDM0LyIsCiJob3V6aHVpIjogIiIsCiJxaXNoaXllIjogIjEiLAoic2hpZm91ZXJjaWppZXF1IjogIjAiLAoiamllcXVxaWFuIjogIlsiLAoiamllcXVob3UiOiAiXSIsCiJqaWVxdXNodXp1cWlhbiI6ICJjbGFzcz1cImNvbnRlbnQtaXRlbS1yb290IiwKImppZXF1c2h1enVob3UiOiAiY2xhc3M9XCJpdGVtVGl0bGVSYWRpb1wiIiwKInR1cGlhbnFpYW56aHVpIjogImh0dHBzOiIsCiJ0dXBpYW5xaWFuIjogInNyYz1cIiIsCiJ0dXBpYW5ob3UiOiAiXCIiLAoiYmlhb3RpcWlhbiI6ICJhbHQ9XCIiLAoiYmlhb3RpaG91IjogIlwiIiwKImxpYW5qaWVxaWFuIjogIi9yYWRpb3MvIiwKImxpYW5qaWVob3UiOiAiXCIiLAoibGpxaWFuemh1aSI6ICJodHRwczovL2xodHRwLnFpbmd0aW5nLmZtL2xpdmUvIiwKImxqaG91emh1aSI6ICIvNjRrLm1wMyJ9"} + +], + +"zhuyejiekou": [{"name":"","url":""}], + +"caijizhan": [{"name":"","url":""}], + +"zhujiexi":[{"name":"","url":""}], + +"beiyongjiexi": [{"name":"","url":""}], + +"dianshizhibo": "", + +"嗅探词": "m3u8?#ixigua#.czspp#.m3u8#.mp4#.flv#.mp3#.m4a", + +"guolvdizhi": ".html#51.la#cnzz.com#baidu.com#tootw.com#auete.com#bilibili.com#?url=", + +"zidingyi": [{}]} \ No newline at end of file