diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 88547318..42d69007 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,8 @@ + + diff --git a/app/src/main/java/com/github/catvod/bean/Class.java b/app/src/main/java/com/github/catvod/bean/Class.java index b49aaa3a..32e3f219 100644 --- a/app/src/main/java/com/github/catvod/bean/Class.java +++ b/app/src/main/java/com/github/catvod/bean/Class.java @@ -1,6 +1,11 @@ package com.github.catvod.bean; +import com.google.gson.Gson; import com.google.gson.annotations.SerializedName; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; +import java.util.List; public class Class { @@ -9,6 +14,11 @@ public class Class { @SerializedName("type_name") private String typeName; + public static List arrayFrom(String str) { + Type listType = new TypeToken>() {}.getType(); + return new Gson().fromJson(str, listType); + } + public Class(int typeId, String typeName) { this(String.valueOf(typeId), typeName); } diff --git a/app/src/main/java/com/github/catvod/bean/Result.java b/app/src/main/java/com/github/catvod/bean/Result.java index 8e86fe0a..61cec941 100644 --- a/app/src/main/java/com/github/catvod/bean/Result.java +++ b/app/src/main/java/com/github/catvod/bean/Result.java @@ -39,6 +39,10 @@ public class Result { return Result.get().classes(classes).vod(list).filters(filters).string(); } + public static String string(List classes, JSONObject filters) { + return Result.get().classes(classes).filters(filters).string(); + } + public static String string(List classes, List list) { return Result.get().classes(classes).vod(list).string(); } diff --git a/app/src/main/java/com/github/catvod/crawler/Spider.java b/app/src/main/java/com/github/catvod/crawler/Spider.java index d727eb0d..7ad3f50a 100644 --- a/app/src/main/java/com/github/catvod/crawler/Spider.java +++ b/app/src/main/java/com/github/catvod/crawler/Spider.java @@ -2,8 +2,6 @@ package com.github.catvod.crawler; import android.content.Context; -import org.json.JSONException; - import java.util.HashMap; import java.util.List; @@ -16,27 +14,27 @@ public abstract class Spider { init(context); } - public String homeContent(boolean filter) throws JSONException { + public String homeContent(boolean filter) throws Exception { return ""; } - public String homeVideoContent() throws JSONException { + public String homeVideoContent() throws Exception { return ""; } - public String categoryContent(String tid, String pg, boolean filter, HashMap extend) throws JSONException { + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) throws Exception { return ""; } - public String detailContent(List ids) throws JSONException { + public String detailContent(List ids) throws Exception { return ""; } - public String searchContent(String key, boolean quick) throws JSONException { + public String searchContent(String key, boolean quick) throws Exception { return ""; } - public String playerContent(String flag, String id, List vipFlags) throws JSONException { + public String playerContent(String flag, String id, List vipFlags) throws Exception { return ""; } } diff --git a/app/src/main/java/com/github/catvod/spider/Bili.java b/app/src/main/java/com/github/catvod/spider/Bili.java new file mode 100644 index 00000000..dba8e9da --- /dev/null +++ b/app/src/main/java/com/github/catvod/spider/Bili.java @@ -0,0 +1,130 @@ +package com.github.catvod.spider; + +import android.content.Context; +import android.text.TextUtils; + +import com.github.catvod.bean.Class; +import com.github.catvod.bean.Result; +import com.github.catvod.bean.Vod; +import com.github.catvod.crawler.Spider; +import com.github.catvod.net.OkHttpUtil; +import com.github.catvod.utils.Misc; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.jsoup.Jsoup; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Objects; + +/** + * @author ColaMint & FongMi + */ +public class Bili extends Spider { + + private final String url = "https://www.bilibili.com"; + private HashMap header; + private JSONObject ext; + + private void initHeader() { + header = new HashMap<>(); + header.put("User-Agent", Misc.CHROME); + HashMap> respHeaderMap = new HashMap<>(); + OkHttpUtil.string(url, header, respHeaderMap); + for (String text : Objects.requireNonNull(respHeaderMap.get("set-cookie"))) { + if (!text.contains("buvid3")) continue; + header.put("cookie", text.split(";")[0]); + header.put("Referer", url); + break; + } + } + + @Override + public void init(Context context, String extend) { + try { + if (extend.startsWith("http")) extend = OkHttpUtil.string(extend); + ext = new JSONObject(extend); + initHeader(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public String homeContent(boolean filter) throws Exception { + return Result.string(Class.arrayFrom(ext.getJSONArray("classes").toString()), ext.getJSONObject("filter")); + } + + @Override + public String homeVideoContent() throws Exception { + return categoryContent("窗 白噪音", "1", true, new HashMap<>()); + } + + @Override + public String categoryContent(String tid, String pg, boolean filter, HashMap extend) throws Exception { + String duration = extend.containsKey("duration") ? extend.get("duration") : "0"; + String url = "https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword=" + URLEncoder.encode(tid) + "&duration=" + duration + "&page=" + pg; + JSONObject resp = new JSONObject(OkHttpUtil.string(url, header)); + System.out.println(resp.toString()); + JSONArray result = resp.getJSONObject("data").getJSONArray("result"); + List list = new ArrayList<>(); + for (int i = 0; i < result.length(); ++i) { + JSONObject object = result.getJSONObject(i); + String pic = object.getString("pic"); + Vod vod = new Vod(); + vod.setVodId(object.getString("bvid")); + vod.setVodName(Jsoup.parse(object.getString("title")).text()); + vod.setVodRemarks(object.getString("duration").split(":")[0] + "分鐘"); + vod.setVodPic(pic.startsWith("//") ? "https:" + pic : pic); + list.add(vod); + } + return Result.string(list); + } + + @Override + public String detailContent(List ids) throws Exception { + String bvid = ids.get(0); + String bvid2aidUrl = "https://api.bilibili.com/x/web-interface/archive/stat?bvid=" + bvid; + JSONObject bvid2aidResp = new JSONObject(OkHttpUtil.string(bvid2aidUrl, header)); + String aid = bvid2aidResp.getJSONObject("data").getLong("aid") + ""; + String detailUrl = "https://api.bilibili.com/x/web-interface/view?aid=" + aid; + JSONObject detailResp = new JSONObject(OkHttpUtil.string(detailUrl, header)); + JSONObject detailData = detailResp.getJSONObject("data"); + List playlist = new ArrayList<>(); + JSONArray pages = detailData.getJSONArray("pages"); + for (int i = 0; i < pages.length(); ++i) { + JSONObject page = pages.getJSONObject(i); + String title = page.getString("part").replace("$", "_").replace("#", "_"); + playlist.add(title + "$" + aid + "+ " + page.getLong("cid")); + } + Vod vod = new Vod(); + vod.setVodId(bvid); + vod.setVodName(detailData.getString("title")); + vod.setVodPic(detailData.getString("pic")); + vod.setTypeName(detailData.getString("tname")); + vod.setVodRemarks(detailData.getLong("duration") / 60 + "分鐘"); + vod.setVodContent(detailData.getString("desc")); + vod.setVodPlayFrom("B站"); + vod.setVodPlayUrl(TextUtils.join("#", playlist)); + return Result.string(vod); + } + + @Override + public String searchContent(String key, boolean quick) throws Exception { + return categoryContent(key, "1", true, new HashMap<>()); + } + + @Override + public String playerContent(String flag, String id, List vipFlags) throws Exception { + String[] ids = id.split("\\+"); + String aid = ids[0]; + String cid = ids[1]; + String url = "https://api.bilibili.com/x/player/playurl?avid=" + aid + "&cid= " + cid + "&qn=112"; + JSONObject resp = new JSONObject(OkHttpUtil.string(url, header)); + url = resp.getJSONObject("data").getJSONArray("durl").getJSONObject(0).getString("url"); + return Result.get().url(url).header(header).string(); + } +} diff --git a/app/src/main/java/com/github/catvod/spider/Biubiu.java b/app/src/main/java/com/github/catvod/spider/Biubiu.java index de61547c..237e5847 100644 --- a/app/src/main/java/com/github/catvod/spider/Biubiu.java +++ b/app/src/main/java/com/github/catvod/spider/Biubiu.java @@ -21,6 +21,9 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +/** + * @author 小黄瓜 + */ public class Biubiu extends Spider { private JSONObject rule = null; @@ -62,17 +65,17 @@ public class Biubiu extends Spider { @Override public String homeVideoContent() { if (getRuleVal("shouye").equals("1")) return ""; - List videos = new ArrayList<>(); + List list = new ArrayList<>(); String[] fenleis = getRuleVal("fenlei", "").split("#"); for (String fenlei : fenleis) { String[] info = fenlei.split("\\$"); Result result = category(info[1], "1"); for (int i = 0; i < result.getList().size(); i++) { - videos.add(result.getList().get(i)); - if (videos.size() >= 30) break; + list.add(result.getList().get(i)); + if (list.size() >= 30) break; } } - return Result.string(videos); + return Result.string(list); } private Result category(String tid, String pg) { @@ -87,7 +90,7 @@ public class Biubiu extends Spider { } String jiequshuzuqian = getRuleVal("jiequshuzuqian"); String jiequshuzuhou = getRuleVal("jiequshuzuhou"); - List videos = new ArrayList<>(); + List list = new ArrayList<>(); ArrayList jiequContents = subContent(parseContent, jiequshuzuqian, jiequshuzuhou); for (int i = 0; i < jiequContents.size(); i++) { try { @@ -100,12 +103,12 @@ public class Biubiu extends Spider { vod.setVodId(title + "$$$" + pic + "$$$" + link); vod.setVodName(title); vod.setVodPic(pic); - videos.add(vod); + list.add(vod); } catch (Exception e) { break; } } - return Result.get().vod(videos); + return Result.get().vod(list); } @Override @@ -152,14 +155,14 @@ public class Biubiu extends Spider { } } - Vod video = new Vod(); - video.setVodId(ids.get(0)); - video.setVodName(idInfo[0]); - video.setVodPic(idInfo[1]); + Vod vod = new Vod(); + vod.setVodId(ids.get(0)); + vod.setVodName(idInfo[0]); + vod.setVodPic(idInfo[1]); for (int i = 0; i < playList.size(); i++) playFrom.add("播放列表" + (i + 1)); - video.setVodPlayFrom(TextUtils.join("$$$", playFrom)); - video.setVodPlayUrl(TextUtils.join("$$$", playList)); - return Result.string(video); + vod.setVodPlayFrom(TextUtils.join("$$$", playFrom)); + vod.setVodPlayUrl(TextUtils.join("$$$", playList)); + return Result.string(vod); } @Override @@ -174,21 +177,21 @@ public class Biubiu extends Spider { String webUrlTmp = getRuleVal("url") + getRuleVal("sousuoqian") + key + getRuleVal("sousuohou"); String webUrl = webUrlTmp.split(";")[0]; String webContent = webUrlTmp.contains(";post") ? fetchPost(webUrl) : fetch(webUrl); - List videos = new ArrayList<>(); + List list = new ArrayList<>(); 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(); + JSONObject object = vodArray.getJSONObject(j); + String name = object.optString(getRuleVal("jsname")).trim(); + String id = object.optString(getRuleVal("jsid")).trim(); + String pic = object.optString(getRuleVal("jspic")).trim(); pic = Misc.fixUrl(webUrl, pic); - Vod video = new Vod(); - video.setVodId(name + "$$$" + pic + "$$$" + getRuleVal("sousuohouzhui") + id); - video.setVodName(name); - video.setVodPic(pic); - videos.add(video); + Vod vod = new Vod(); + vod.setVodId(name + "$$$" + pic + "$$$" + getRuleVal("sousuohouzhui") + id); + vod.setVodName(name); + vod.setVodPic(pic); + list.add(vod); } } else { String parseContent = webContent; @@ -208,18 +211,18 @@ public class Biubiu extends Spider { 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); - Vod video = new Vod(); - video.setVodId(title + "$$$" + pic + "$$$" + link); - video.setVodName(title); - video.setVodPic(pic); - videos.add(video); + Vod vod = new Vod(); + vod.setVodId(title + "$$$" + pic + "$$$" + link); + vod.setVodName(title); + vod.setVodPic(pic); + list.add(vod); } catch (Exception e) { e.printStackTrace(); break; } } } - return Result.string(videos); + return Result.string(list); } private String fetch(String webUrl) { diff --git a/app/src/main/java/com/github/catvod/spider/Dm84.java b/app/src/main/java/com/github/catvod/spider/Dm84.java index 4bdee15b..4590d784 100644 --- a/app/src/main/java/com/github/catvod/spider/Dm84.java +++ b/app/src/main/java/com/github/catvod/spider/Dm84.java @@ -51,7 +51,7 @@ public class Dm84 extends Spider { @Override public String homeContent(boolean filter) { - List videos = new ArrayList<>(); + List list = new ArrayList<>(); List classes = new ArrayList<>(); LinkedHashMap> filters = new LinkedHashMap<>(); Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders())); @@ -77,14 +77,14 @@ public class Dm84 extends Spider { String name = element.select("a.title").text(); String remark = element.select("span.desc").text(); String id = url.split("/")[2]; - videos.add(new Vod(id, name, img, remark)); + list.add(new Vod(id, name, img, remark)); } - return Result.string(classes, videos, filters); + return Result.string(classes, list, filters); } @Override public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { - List videos = new ArrayList<>(); + List list = new ArrayList<>(); if (extend.get("type") == null) extend.put("type", ""); if (extend.get("year") == null) extend.put("year", ""); if (extend.get("by") == null) extend.put("by", "time"); @@ -99,9 +99,9 @@ public class Dm84 extends Spider { String name = element.select("a.title").text(); String remark = element.select("span.desc").text(); String id = url.split("/")[2]; - videos.add(new Vod(id, name, img, remark)); + list.add(new Vod(id, name, img, remark)); } - return Result.string(videos); + return Result.string(list); } @Override @@ -154,7 +154,7 @@ public class Dm84 extends Spider { @Override public String searchContent(String key, boolean quick) { - List videos = new ArrayList<>(); + List list = new ArrayList<>(); String target = siteUrl.concat("/s----------.html?wd=").concat(key); Document doc = Jsoup.parse(OkHttpUtil.string(target, getHeaders())); for (Element element : doc.select("div.item")) { @@ -163,9 +163,9 @@ public class Dm84 extends Spider { String name = element.select("a.title").text(); String remark = element.select("span.desc").text(); String id = url.split("/")[2]; - videos.add(new Vod(id, name, img, remark)); + list.add(new Vod(id, name, img, remark)); } - return Result.string(videos); + return Result.string(list); } @Override diff --git a/app/src/main/java/com/github/catvod/spider/XPath.java b/app/src/main/java/com/github/catvod/spider/XPath.java index 21978a33..e8baefdc 100644 --- a/app/src/main/java/com/github/catvod/spider/XPath.java +++ b/app/src/main/java/com/github/catvod/spider/XPath.java @@ -53,7 +53,7 @@ public class XPath extends Spider { @Override public String homeContent(boolean filter) throws JSONException { - List videos = new ArrayList<>(); + List list = new ArrayList<>(); List classes = new ArrayList<>(); if (rule.getCateManual().size() > 0) { Set keys = rule.getCateManual().keySet(); @@ -90,10 +90,10 @@ public class XPath extends Spider { SpiderDebug.log(e); } } - videos.add(new Vod(id, name, pic, mark)); + list.add(new Vod(id, name, pic, mark)); } } - return Result.string(classes, videos, rule.getFilter()); + return Result.string(classes, list, rule.getFilter()); } protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { @@ -103,7 +103,7 @@ public class XPath extends Spider { @Override public String categoryContent(String tid, String pg, boolean filter, HashMap extend) { String webUrl = categoryUrl(tid, pg, filter, extend); - List videos = new ArrayList<>(); + List list = new ArrayList<>(); JXDocument doc = JXDocument.create(fetch(webUrl)); List vodNodes = doc.selN(rule.getCateVodNode()); for (int i = 0; i < vodNodes.size(); i++) { @@ -123,9 +123,9 @@ public class XPath extends Spider { SpiderDebug.log(e); } } - videos.add(new Vod(id, name, pic, mark)); + list.add(new Vod(id, name, pic, mark)); } - return Result.string(videos); + return Result.string(list); } @Override @@ -268,7 +268,7 @@ public class XPath extends Spider { if (rule.getSearchUrl().isEmpty()) return ""; String webUrl = rule.getSearchUrl().replace("{wd}", URLEncoder.encode(key)); String webContent = fetch(webUrl); - List videos = new ArrayList<>(); + List list = new ArrayList<>(); if (rule.getSearchVodNode().startsWith("json:")) { String[] node = rule.getSearchVodNode().substring(5).split(">"); JSONObject data = new JSONObject(webContent); @@ -286,7 +286,7 @@ public class XPath extends Spider { pic = Misc.fixUrl(webUrl, pic); String mark = vod.optString(rule.getSearchVodMark()).trim(); mark = rule.getSearchVodMarkR(mark); - videos.add(new Vod(id, name, pic, mark)); + list.add(new Vod(id, name, pic, mark)); } } else { data = data.getJSONObject(node[i]); @@ -312,10 +312,10 @@ public class XPath extends Spider { SpiderDebug.log(e); } } - videos.add(new Vod(id, name, pic, mark)); + list.add(new Vod(id, name, pic, mark)); } } - return Result.string(videos); + return Result.string(list); } protected void loadRuleExt(String json) { diff --git a/app/src/main/java/com/github/catvod/spider/wait/Anime1.java b/app/src/main/java/com/github/catvod/spider/wait/Anime1.java index 92d7694f..37019eab 100644 --- a/app/src/main/java/com/github/catvod/spider/wait/Anime1.java +++ b/app/src/main/java/com/github/catvod/spider/wait/Anime1.java @@ -120,14 +120,14 @@ public class Anime1 extends Spider { classes.add(new Class(i, "更早")); } } - List videos = new ArrayList<>(); + List list = new ArrayList<>(); for (int i = 0; i < 10; i++) { String id = srcArray.getJSONObject(i).getString("link"); String name = srcArray.getJSONObject(i).getString("name"); String mark = srcArray.getJSONObject(i).getString("hit"); - videos.add(new Vod(id, name, vodPic, mark)); + list.add(new Vod(id, name, vodPic, mark)); } - return Result.string(classes, videos); + return Result.string(classes, list); } catch (Exception e) { SpiderDebug.log(e); return ""; @@ -166,14 +166,14 @@ public class Anime1 extends Spider { if (yearint < yy) array.put(subobj); } } - List videos = new ArrayList<>(); + List list = new ArrayList<>(); for (int i = 0; i < array.length(); i++) { String id = array.getJSONObject(i).getString("link"); String name = array.getJSONObject(i).getString("name"); String mark = array.getJSONObject(i).getString("hit"); - videos.add(new Vod(id, name, vodPic, mark)); + list.add(new Vod(id, name, vodPic, mark)); } - return Result.string(videos); + return Result.string(list); } catch (Exception e) { SpiderDebug.log(e); return ""; @@ -355,17 +355,17 @@ public class Anime1 extends Spider { String kw = srobj.getString("name"); if (kw.contains(key)) searchResult.put(srobj); } - List videos = new ArrayList<>(); + List list = new ArrayList<>(); if (searchResult.length() > 0) { int ch = Math.min(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"); - videos.add(new Vod(id, name, vodPic, mark)); + list.add(new Vod(id, name, vodPic, mark)); } } - return Result.string(videos); + return Result.string(list); } catch (Exception e) { SpiderDebug.log(e); return ""; diff --git a/app/src/main/java/com/github/catvod/spider/wait/Tangrenjie.java b/app/src/main/java/com/github/catvod/spider/wait/Tangrenjie.java index 24a75333..3df6ab31 100644 --- a/app/src/main/java/com/github/catvod/spider/wait/Tangrenjie.java +++ b/app/src/main/java/com/github/catvod/spider/wait/Tangrenjie.java @@ -77,19 +77,19 @@ public class Tangrenjie extends Spider { } } Element homeList = doc.select("div.cbox1").get(1); - Elements list = homeList.select("ul.vodlist li.vodlist_item"); - List videos = new ArrayList<>(); - for (int i = 0; i < list.size(); i++) { - Element vod = list.get(i); + elements = homeList.select("ul.vodlist li.vodlist_item"); + List list = new ArrayList<>(); + for (int i = 0; i < elements.size(); i++) { + Element vod = elements.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); - videos.add(new Vod(id, title, cover, remark)); + list.add(new Vod(id, title, cover, remark)); } - return Result.string(classes, videos, filterConfig); + return Result.string(classes, list, filterConfig); } @Override @@ -110,21 +110,21 @@ public class Tangrenjie extends Spider { url.append("/page/").append(pg).append(".html"); String html = OkHttpUtil.string(url.toString(), getHeaders()); Document doc = Jsoup.parse(html); - List videos = new ArrayList<>(); + List list = new ArrayList<>(); 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); + Elements elements = doc.select("ul.vodlist li.vodlist_item"); + for (int i = 0; i < elements.size(); i++) { + Element vod = elements.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); - videos.add(new Vod(id, title, cover, remark)); + list.add(new Vod(id, title, cover, remark)); } } - return Result.string(videos); + return Result.string(list); } @Override @@ -296,10 +296,10 @@ public class Tangrenjie extends Spider { String url = siteUrl + "/vod/search.html?wd=" + URLEncoder.encode(key) + "&submit="; String html = OkHttpUtil.string(url, getHeaders()); Document doc = Jsoup.parse(html); - List videos = new ArrayList<>(); - Elements list = doc.select("li.searchlist_item"); - for (int i = 0; i < list.size(); i++) { - Element vod = list.get(i); + List list = new ArrayList<>(); + Elements elements = doc.select("li.searchlist_item"); + for (int i = 0; i < elements.size(); i++) { + Element vod = elements.get(i); String classes = vod.selectFirst("h4.vodlist_title > a >span").text(); String tid = ""; switch (classes) { @@ -322,8 +322,8 @@ public class Tangrenjie extends Spider { Matcher matcher = regexVid.matcher(vod.selectFirst("a.vodlist_thumb").attr("href")); if (!matcher.find()) continue; String id = tid + "=" + matcher.group(1); - videos.add(new Vod(id, title, cover, remark)); + list.add(new Vod(id, title, cover, remark)); } - return Result.string(videos); + return Result.string(list); } } diff --git a/buildAndGenJar.bat b/build.bat similarity index 100% rename from buildAndGenJar.bat rename to build.bat diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index c0075d0d..684afbd4 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 2a0edde1..abcdf1ba 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -f49a9466967b43602e3252dac1249d99 +8099b863f81113740c24c05d7feb3851