Hello,各位看官老爷们,千珏我又回来更新了,在千珏鸽了这一个多月内你们有没有想我啊,最近因为各种事情就当鸽子了,这一个多月正事没怎么干,都是在打游戏,看视频中度过,最近疫情严重也不能出去玩,各位看官老爷们,也要乖乖的响应国家号召不要出去玩哦。
各位看官老爷们,应该都看b站的吧,有一天千珏在家里看b站的时候,正在看敬汉卿视频呢,这个时候突然间收到一条消息。
x总:千珏,下周复工了,你下周的工作就是xx公司会给我们接口,你调用一下,我们的业务里面会使用到。
千珏:好的,x总。
我心里一想完了呀,我这假期过的就像度假一样了,都记不住自己的工作是啥了,这样可不太行,万一下周就公司的时候啥也不会,老板把我T了怎么办。
只能临时搞一下了,然后看了眼我屏幕上面飘过的弹幕,露出了邪恶的笑容
正好好早之前就想做一下,b站某个up所有视频弹幕出现最高频率的弹幕了,好多次都看到有人跟风刷一样的弹幕,正好借这个机会来搞一波。
首先打开b站up主视频的主页面,然后按下F12,找一下b站的接口
这样我们就可以把他所有视频信息给请求下来了,然后我们点开单个视频进去发现按F12分析发现,怎么也发现不了他的弹幕信息,这个时候就看到了一个接口,是一个文件类似接口,然后请求看一下发现是他的xml文件,xml文件上面对应就是弹幕的信息,这个时候就知道了(浪费了我一个小时测接口,枯了)
然后就可以开始写程序了,我用的是HttpClient做的请求接口的主要工具.
首先先请求up主所有视频的信息
为了过审接口信息我就不放了,大家如果想要完整代码的可以vx搜索我的公主号:千珏(jue)回复b站就可以了。
下面开始上代码
public class UpVideoInfoTest {
public static void main(String[] args) throws Exception {
//创建请求实例
CloseableHttpClient httpClient = HttpClients.createDefault();
//创建接口信息
URIBuilder uriBuilder = new URIBuilder("xxxx接口");
URI uri = uriBuilder.build();
//创建一个HttpGet的实例
HttpGet httpGet = new HttpGet(uri);
//用get的方式请求接口
CloseableHttpResponse response = httpClient.execute(httpGet);
//获得接口返回的信息
HttpEntity httpEntity = response.getEntity();
String jsonStr = EntityUtils.toString(httpEntity, "UTF-8");
}
}
最后我们根据得到视频的信息来请求弹幕信息,并且解析。
public class UpVideoDanmuTest {
public static void main(String[] args) throws Exception {
CloseableHttpClient httpClient = HttpClients.createDefault();
URIBuilder uriBuilder = new URIBuilder("xxxx接口");
URI uri = uriBuilder.build();
HttpGet httpGet = new HttpGet(uri);
CloseableHttpResponse response= httpClient.execute(httpGet);
HttpEntity httpEntity = response.getEntity();
String xmlStr = EntityUtils.toString(httpEntity,"UTF-8");
Document document = DocumentHelper.parseText(xmlStr);
// 创建xml解析器
SAXReader saxReader = new SAXReader();
//通过document对象获取根元素的信息
Element rootEle = document.getRootElement();
// 通过根元素获取下面的所有直接子元素
List rchilds = rootEle.elements("d");
// 遍历根元素下所有直接子元素
for (Element e : rchilds) {
// 获取子元素名称
System.out.println(e.getStringValue());
}
}
}
现在我们可以将代码再次加工下,就能获得所有up主所有视频的所有弹幕了(代码太长了我就不放了,怕影响你们的阅读,如果想获得全部代码可以关注我的vx公主号:千珏(jue)发送b站)最后分析一下,就可以知道什么弹幕出现最多了
最后的效果
吼吼,大工告成,看来我的基本工还是在的,下周不怕接手老板的工作了,再也不怕被踢了。
我是千珏,一个可爱又迷人的博主,没关注的赶紧点个关注吧,欢迎来微信找我玩哦。