分析了b站敬漢卿的所有視頻的彈幕,最多的彈幕居然是

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<Element> rchilds = rootEle.elements("d");
        // 遍歷根元素下所有直接子元素
        for (Element e : rchilds) {
            // 獲取子元素名稱
            System.out.println(e.getStringValue());
        }
    }
}

現在我們可以將代碼再次加工下,就能獲得所有up主所有視頻的所有彈幕了(代碼太長了我就不放了,怕影響你們的閱讀,如果想獲得全部代碼可以關注我的vx公主號:千珏(jue)發送b站)最後分析一下,就可以知道什麼彈幕出現最多了

最後的效果

在這裏插入圖片描述

吼吼,大工告成,看來我的基本工還是在的,下週不怕接手老闆的工作了,再也不怕被踢了。

我是千珏,一個可愛又迷人的博主,沒關注的趕緊點個關注吧,歡迎來微信找我玩哦。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章