.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