imcys.com
遵从中二的召唤,来吧少年!
哔哩哔哩番剧解析|BILIBILI AS又一个Android程序

前言

这是我的习惯吧,每个文章都有一些前言,这个程序写了有一周吧,其实主要的原因是我上学,没时间做,感觉自己这个年龄段有点不务正业了。这个程序是我的第一个真正意义上的Android处女作,因为它是我完全Java编写的,开发程序是Android Studio

但是我就是喜欢这些东西,每次写出一个程序都很有成就感,那么现在我来介绍下这款程序吧!!!

项目介绍

BILIBILI AS是一款可以解析哔哩哔哩番剧和视频的APP,结果一番研究,我写了一套自己的判断算法,用来精确aid,bvid,ep,cid,以及他们衍生链接的判断与处理。

我们只需要输入哔哩哔哩的视频链接,av,bv号或者番剧的链接,点击解析即可返回,我们同时提醒大家保护他人版权,下载的视频仅仅供交流或者动漫剪辑视频,绝不用于违法乱纪的地方。

此项目已经开源,在下面有项目Git地址

检测算法

下面的方法可以帮助我们快速判断输入的这是一个什么东西,是aid,bvid或者是ep又或者是完全的链接,把每一个链接分析导向,就是这个算法的作用,快速定位。

public class bvUrl extends Thread {
@Override
public void run() {
/*修什么BUG???写个try罩住 【手动滑稽】
哈哈好吧,这里实际上是我有点懒了,不想再分析空指针也就是其中有必需值为空时提示解析失败
所以最快的方法就是罩住,我以后一定改写一下
*/
try {
String name = null;
//定位数据
//判断下这是不是个纯bv号
if (isENChar(bvid)) {
//先检测av是否具备,因为av接口更为苛刻
if (bvid.contains("av")) {
//过滤掉多余的东西
//判断这是不是一个链接
if(bvid.contains("https")||bvid.contains("http")){
//给特殊的方法处理判断,传导这个链接进去 即为公共解析
public_jx(bvid);
}else {
//如果不是,就直接让接口解析
bvid = bvid.replaceAll("av", "");
name = HttpUtils.doGet("https://api.bilibili.com/x/web-interface/view?aid=" + bvid);
abvGo(name);
}
} else if(bvid.contains("bv")||bvid.contains("BV")) {
//有BV也有链接头
if(bvid.contains("https")||bvid.contains("http")){
//给特殊的方法处理判断,传导这个链接进去 即为公共解析
public_jx(bvid);
}else{
//相反没有携带则就是BV编号
name = HttpUtils.doGet("https://api.bilibili.com/x/web-interface/view?bvid=" + bvid);
abvGo(name);
}
}else
{
//AV/BV都没有,则可能是番剧的或者是手机分享的av,bv链接
//给番剧接口处理即可,这里先判断是不是手机分享地址
if(bvid.contains("https://b23.tv/")){
//这里来看看是不是番剧
if(bvid.contains("ep")){
epGo(bvid);
}else{
//如果不是则一定是视频地址
public_jx(bvid);
}
}else {
//如果都不是那就应该是电脑番剧链接
epGo(bvid);
}
}
} else {
//全数字一定是av
name = HttpUtils.doGet("https://api.bilibili.com/x/web-interface/view?aid=" + bvid);
abvGo(name);
}
}catch (Exception e) {
runOnUiThread(new Runnable() {
@Override
public void run() {
//关闭弹窗,提示失败
pd2.cancel();
Toast.makeText(getApplicationContext(), "看起来没有解析到", Toast.LENGTH_SHORT).show();
}
});
}
}
}

我们来看一组项目截图

截图

BILIBILIAS解析后展示
BILIBILIAS解析后展示

项目开源

BILIBIL AS 开发过程也很艰苦,我自学Android,没有基础,高一的我没有这么多知识支持我快速无障碍完成它,也非常感谢为我解决疑惑的大佬们,所以今天我写完打算开源。

请遵守开源协议
GNU General Public License

项目地址

下面是成品下载地址

文末

如果你喜欢,可以继续关注本博客!!!

萌新杰少

文章作者

I im CYS,一个热爱二次元的高中生开发者

发表评论

textsms
account_circle
email

萌新杰少の秘密基地

哔哩哔哩番剧解析|BILIBILI AS又一个Android程序
这是我的习惯吧,每个文章都有一些前言,这个程序写了有一周吧,其实主要的原因是我上学,没时间做,感觉自己这个年龄段有点不务正业了。这个程序是我的第一个真正意义上的Android处女作
扫描二维码继续阅读
2020-07-18