Support page for search

This commit is contained in:
FongMi 2023-07-31 15:31:00 +08:00
parent b0c599b5bd
commit 098733c01a
8 changed files with 68 additions and 22 deletions

View File

@ -181,6 +181,11 @@ public class Bili extends Spider {
return categoryContent(key, "1", true, new HashMap<>()); return categoryContent(key, "1", true, new HashMap<>());
} }
@Override
public String searchContent(String key, boolean quick, String pg) throws Exception {
return categoryContent(key, pg, true, new HashMap<>());
}
@Override @Override
public String playerContent(String flag, String id, List<String> vipFlags) throws Exception { public String playerContent(String flag, String id, List<String> vipFlags) throws Exception {
String[] ids = id.split("\\+"); String[] ids = id.split("\\+");

View File

@ -78,11 +78,28 @@ public class Eighteen extends Spider {
@Override @Override
public String searchContent(String key, boolean quick) throws Exception { public String searchContent(String key, boolean quick) throws Exception {
return searchContent(key, "1");
}
@Override
public String searchContent(String key, boolean quick, String pg) throws Exception {
return searchContent(key, pg);
}
@Override
public String playerContent(String flag, String id, List<String> vipFlags) throws Exception {
HashMap<String, String> result = new HashMap<>();
Utils.loadWebView(url + id, getClient(result));
while (result.isEmpty()) SystemClock.sleep(10);
return Result.get().url(result.get("url")).string();
}
private String searchContent(String key, String pg) {
HashMap<String, String> params = new HashMap<>(); HashMap<String, String> params = new HashMap<>();
params.put("search_keyword", key); params.put("search_keyword", key);
params.put("search_type", "fc"); params.put("search_type", "fc");
params.put("op", "search"); params.put("op", "search");
String res = OkHttp.post(url + "searchform_search/all/index.html", params); String res = OkHttp.post(url + "searchform_search/all/" + pg + ".html", params);
List<Vod> list = new ArrayList<>(); List<Vod> list = new ArrayList<>();
for (Element div : Jsoup.parse(res).select("div.post")) { for (Element div : Jsoup.parse(res).select("div.post")) {
String id = div.select("a").attr("href").replace(url, ""); String id = div.select("a").attr("href").replace(url, "");
@ -94,14 +111,6 @@ public class Eighteen extends Spider {
return Result.string(list); return Result.string(list);
} }
@Override
public String playerContent(String flag, String id, List<String> vipFlags) throws Exception {
HashMap<String, String> result = new HashMap<>();
Utils.loadWebView(url + id, getClient(result));
while (result.isEmpty()) SystemClock.sleep(10);
return Result.get().url(result.get("url")).string();
}
private WebViewClient getClient(HashMap<String, String> result) { private WebViewClient getClient(HashMap<String, String> result) {
return new WebViewClient() { return new WebViewClient() {
@Override @Override

View File

@ -85,8 +85,22 @@ public class Miss extends Spider {
@Override @Override
public String searchContent(String key, boolean quick) throws Exception { public String searchContent(String key, boolean quick) throws Exception {
return searchContent(key, "1");
}
@Override
public String searchContent(String key, boolean quick, String pg) throws Exception {
return searchContent(key, pg);
}
@Override
public String playerContent(String flag, String id, List<String> vipFlags) throws Exception {
return Result.get().parse().url(url + id).string();
}
private String searchContent(String key, String pg) {
List<Vod> list = new ArrayList<>(); List<Vod> list = new ArrayList<>();
Document doc = Jsoup.parse(OkHttp.string(url + "search/" + key)); Document doc = Jsoup.parse(OkHttp.string(url + "search/" + key + "?page=" + pg));
for (Element div : doc.select("div.thumbnail")) { for (Element div : doc.select("div.thumbnail")) {
String id = div.select("a.text-secondary").attr("href").replace(url, ""); String id = div.select("a.text-secondary").attr("href").replace(url, "");
String name = div.select("a.text-secondary").text(); String name = div.select("a.text-secondary").text();
@ -98,9 +112,4 @@ public class Miss extends Spider {
} }
return Result.string(list); return Result.string(list);
} }
@Override
public String playerContent(String flag, String id, List<String> vipFlags) throws Exception {
return Result.get().parse().url(url + id).string();
}
} }

View File

@ -64,7 +64,12 @@ public class PanSou extends Ali {
List<Vod> list = new ArrayList<>(); List<Vod> list = new ArrayList<>();
for (Element item : items) { for (Element item : items) {
String title = item.selectFirst("template").text().trim(); String title = item.selectFirst("template").text().trim();
if (title.contains(key)) list.add(new Vod(item.attr("href"), title, "https://inews.gtimg.com/newsapp_bt/0/13263837859/1000")); if (!title.contains(key)) continue;
Vod vod = new Vod();
vod.setVodId(item.attr("href"));
vod.setVodPic("https://inews.gtimg.com/newsapp_bt/0/13263837859/1000");
vod.setVodName(title);
list.add(vod);
} }
return Result.string(list); return Result.string(list);
} }

View File

@ -26,7 +26,16 @@ public class UpYun extends Ali {
@Override @Override
public String searchContent(String key, boolean quick) throws Exception { public String searchContent(String key, boolean quick) throws Exception {
String res = decode(OkHttp.string("https://zyb.upyunso.com/v15/search?keyword=" + URLEncoder.encode(key) + "&page=1&s_type=2")); return searchContent(key, "1");
}
@Override
public String searchContent(String key, boolean quick, String pg) throws Exception {
return searchContent(key, pg);
}
private String searchContent(String key, String pg) throws Exception {
String res = decode(OkHttp.string("https://zyb.upyunso.com/v15/search?keyword=" + URLEncoder.encode(key) + "&page=" + pg + "&s_type=2"));
List<Vod> list = new ArrayList<>(); List<Vod> list = new ArrayList<>();
for (Item item : Data.objectFrom(res).getResult().getItems()) { for (Item item : Data.objectFrom(res).getResult().getItems()) {
String url = decode(item.getPageUrl()); String url = decode(item.getPageUrl());

View File

@ -12,10 +12,10 @@ import org.jsoup.nodes.Element;
import org.jsoup.select.Elements; import org.jsoup.select.Elements;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.Arrays;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -25,7 +25,7 @@ import java.util.regex.Pattern;
*/ */
public class Wogg extends Ali { public class Wogg extends Ali {
private final String siteURL = "https://tvfan.xxooo.cf"; private final String siteURL = "http://tvfan.xxooo.cf";
private final Pattern regexAli = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)"); private final Pattern regexAli = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)");
@ -49,7 +49,16 @@ public class Wogg extends Ali {
@Override @Override
public String searchContent(String key, boolean quick) throws Exception { public String searchContent(String key, boolean quick) throws Exception {
String searchURL = siteURL + "/index.php/vodsearch/-------------.html?wd=" + URLEncoder.encode(key); return searchContent(key, "1");
}
@Override
public String searchContent(String key, boolean quick, String pg) throws Exception {
return searchContent(key, pg);
}
private String searchContent(String key, String pg) {
String searchURL = siteURL + String.format("/index.php/vodsearch/%s----------%s---.html", URLEncoder.encode(key), pg);
String html = OkHttp.string(searchURL, getHeader()); String html = OkHttp.string(searchURL, getHeader());
Elements items = Jsoup.parse(html).select(".module-search-item"); Elements items = Jsoup.parse(html).select(".module-search-item");
List<Vod> list = new ArrayList<>(); List<Vod> list = new ArrayList<>();

Binary file not shown.

View File

@ -1 +1 @@
20778c40c4dcb8675aa6a67e3faca620 7d80ae170a1871de54c78b17f825f913