Merge branch 'main' of https://github.com/FongMi/CatVodSpider
This commit is contained in:
commit
ce8781d07c
|
|
@ -27,6 +27,8 @@ import com.github.catvod.net.OkHttp;
|
|||
import com.github.catvod.utils.FileUtil;
|
||||
import com.github.catvod.utils.QRCode;
|
||||
import com.github.catvod.utils.Utils;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.URLEncoder;
|
||||
|
|
@ -50,8 +52,8 @@ public class Bili extends Spider {
|
|||
private ScheduledExecutorService service;
|
||||
private Map<String, String> audios;
|
||||
private AlertDialog dialog;
|
||||
private JsonObject extend;
|
||||
private String cookie;
|
||||
private String extend;
|
||||
private boolean login;
|
||||
private boolean vip;
|
||||
|
||||
|
|
@ -78,6 +80,13 @@ public class Bili extends Spider {
|
|||
audios.put("30216", "64000");
|
||||
}
|
||||
|
||||
private void setCookie() {
|
||||
cookie = extend.get("cookie").getAsString();
|
||||
if (cookie.startsWith("http")) cookie = OkHttp.string(cookie).trim();
|
||||
if (TextUtils.isEmpty(cookie)) cookie = FileUtil.read(getUserCache());
|
||||
if (TextUtils.isEmpty(cookie)) cookie = COOKIE;
|
||||
}
|
||||
|
||||
private List<Filter> getFilter() {
|
||||
List<Filter> items = new ArrayList<>();
|
||||
items.add(new Filter("order", "排序", Arrays.asList(new Filter.Value("預設", "totalrank"), new Filter.Value("最多點擊", "click"), new Filter.Value("最新發布", "pubdate"), new Filter.Value("最多彈幕", "dm"), new Filter.Value("最多收藏", "stow"))));
|
||||
|
|
@ -91,9 +100,8 @@ public class Bili extends Spider {
|
|||
|
||||
@Override
|
||||
public void init(Context context, String extend) {
|
||||
this.extend = extend;
|
||||
this.cookie = FileUtil.read(getUserCache());
|
||||
this.cookie = TextUtils.isEmpty(cookie) ? COOKIE : cookie;
|
||||
this.extend = JsonParser.parseString(extend).getAsJsonObject();
|
||||
setCookie();
|
||||
setAudio();
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +109,7 @@ public class Bili extends Spider {
|
|||
public String homeContent(boolean filter) throws Exception {
|
||||
List<Class> classes = new ArrayList<>();
|
||||
LinkedHashMap<String, List<Filter>> filters = new LinkedHashMap<>();
|
||||
String[] types = extend.split("#");
|
||||
String[] types = extend.get("type").getAsString().split("#");
|
||||
for (String type : types) {
|
||||
classes.add(new Class(type));
|
||||
filters.put(type, getFilter());
|
||||
|
|
@ -111,7 +119,8 @@ public class Bili extends Spider {
|
|||
|
||||
@Override
|
||||
public String homeVideoContent() throws Exception {
|
||||
return categoryContent(extend.split("#")[0], "1", true, new HashMap<>());
|
||||
String[] types = extend.get("type").getAsString().split("#");
|
||||
return categoryContent(types[0], "1", true, new HashMap<>());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -261,7 +270,7 @@ public class Bili extends Spider {
|
|||
if (login || getUserCache().exists() && COOKIE.equals(cookie)) return;
|
||||
String json = OkHttp.string("https://passport.bilibili.com/x/passport-login/web/qrcode/generate?source=main-mini");
|
||||
Data data = Resp.objectFrom(json).getData();
|
||||
Init.run(() -> openApp1(data));
|
||||
Init.run(() -> openApp(data));
|
||||
}
|
||||
|
||||
private Intent getIntent(String pkgName, Data data) {
|
||||
|
|
@ -271,15 +280,7 @@ public class Bili extends Spider {
|
|||
return intent;
|
||||
}
|
||||
|
||||
private void openApp1(Data data) {
|
||||
try {
|
||||
Init.getActivity().startActivity(getIntent("tv.danmaku.bili", data));
|
||||
} catch (Exception e) {
|
||||
openApp2(data);
|
||||
}
|
||||
}
|
||||
|
||||
private void openApp2(Data data) {
|
||||
private void openApp(Data data) {
|
||||
try {
|
||||
Init.getActivity().startActivity(getIntent("com.bilibili.app.in", data));
|
||||
} catch (Exception e) {
|
||||
|
|
@ -321,16 +322,16 @@ public class Bili extends Spider {
|
|||
}
|
||||
|
||||
private void setCookie(String url) {
|
||||
StringBuilder cookie = new StringBuilder();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String[] splits = Uri.parse(url).getQuery().split("&");
|
||||
for (String split : splits) cookie.append(split).append(";");
|
||||
FileUtil.write(getUserCache(), this.cookie = cookie.toString());
|
||||
for (String split : splits) sb.append(split).append(";");
|
||||
FileUtil.write(getUserCache(), cookie = sb.toString());
|
||||
Utils.notify("請重新進入播放頁");
|
||||
stopService();
|
||||
}
|
||||
|
||||
private void cancel(DialogInterface dialog) {
|
||||
FileUtil.write(getUserCache(), COOKIE);
|
||||
FileUtil.write(getUserCache(), cookie = COOKIE);
|
||||
stopService();
|
||||
}
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
7b867141be64b2346f595bc76cce671b
|
||||
d4dab21a9595058b00f4ad2ce977baf4
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;7b867141be64b2346f595bc76cce671b",
|
||||
"spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;d4dab21a9595058b00f4ad2ce977baf4",
|
||||
"wallpaper": "https://gao.chuqiuyu.tk",
|
||||
"sites": [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;7b867141be64b2346f595bc76cce671b",
|
||||
"spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;d4dab21a9595058b00f4ad2ce977baf4",
|
||||
"wallpaper": "http://饭太硬.top/深色壁纸/api.php",
|
||||
"sites": [
|
||||
{
|
||||
|
|
@ -35,7 +35,10 @@
|
|||
"api": "csp_Bili",
|
||||
"searchable": 1,
|
||||
"changeable": 0,
|
||||
"ext": "帕梅拉#太极拳#广场舞#演唱会"
|
||||
"ext": {
|
||||
"type": "帕梅拉#太极拳#广场舞#演唱会",
|
||||
"cookie": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "泥巴",
|
||||
|
|
|
|||
Loading…
Reference in New Issue