zoukankan      html  css  js  c++  java
  • 新剧《琉璃》,看了几集很上头,但感觉弹幕比剧情好看

    前言

    最近追了两部剧,一个是《如此可爱的我们》,青梅竹马类型青春剧,一共16集,两次更新就完结了,全程就甜甜甜。另外一个是刚看的《琉璃》,看了两集,内容大概是上辈子的仇人,这辈子下凡历劫相爱了???(流氓解读法)

     

    不百度不知道,这剧居然要59集,从这刻开始我打算弃剧了,太长了。小说改编,新人出演吧(?)

     

    目前非会员可以看到第七集,因为我不是高贵的芒果会员,所以只看这七集的弹幕内容。这次搞的内容多一点,看起来我不是那么敷衍。

     

    PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取

     

    可以免费领取源码、项目实战视频、PDF文件等

     

    开始动手

    1.寻找带弹幕数据的json文件 点到播放页面-【查看源代码】-【Network】-【XHR】-【x.json】

    2.打开url(找不到"x.json"多翻几次)

     

    火狐浏览器打开的json文件格式看起来结构比较清晰,以下是谷歌浏览器打开的:

     

    3.找规律

    https://bullet-ali.hitv.com/bullet/2020/08/11/124238/9552358/1.json第一集
    https://bullet-ali.hitv.com/bullet/2020/08/11/124021/9552380/2.json第二集
    https://bullet-ws.hitv.com/bullet/2020/08/11/124249/9552439/3.json第六集

    看不同剧集url,只有后部分数字不一样。第六集的前部分换成前二集的所得内容也完全相同的。x.json中的数字数是分钟数。如

     

    哈哈哈哈哈,写着写着改变主意了。就看看第一集、第二集、第六集的弹幕吧,不然还要一集一集的等广告。

    我们获取:

    id、uname、弹幕内容content、发布时间time、弹幕点赞数v2_up_count

    4.程序

     

    import requests
    import json
    import pandas as pd
    
    
    # 提取某一集的弹幕
    def get_danmu(num1, num2, page):
        try:
            url = 'https://bullet-ali.hitv.com/bullet/2020/08/11/{}/{}/{}.json'
            danmuurl = url.format(num1, num2, page)
            res = requests.get(danmuurl)
            res.encoding = 'utf-8'
            jd = json.loads(res.text)
        except:
            print("无法连接")
    
        details = []
        for i in range(len(jd['data']['items'])):  # 弹幕数据在json文件'data'的'items'中
            result = {}
            result['stype'] = num2  # 通过stype可识别期数
            result['id'] = jd['data']['items'][i]['id']  # 获取id
    
            try:  # 尝试获取uname
                result['uname'] = jd['data']['items'][i]['uname']
            except:
                result['uname'] = ''
    
            result['content'] = jd['data']['items'][i]['content']  # 获取弹幕内容
            result['time'] = jd['data']['items'][i]['time']  # 获取弹幕发布时间
    
            try:  # 尝试获取弹幕点赞数
                result['v2_up_count'] = jd['data']['items'][i]['v2_up_count']
            except:
                result['v2_up_count'] = ''
            details.append(result)
    
        return details
    
    
    # 输入关键信息
    def count_danmu():
        danmu_total = []
        num1 = input('第一个数字')
        num2 = input('第二个数字')
        page = int(input('输入总时长'))
        for i in range(page):
            danmu_total.extend(get_danmu(num1, num2, i))
    
        return danmu_total
    
    
    def main():
        danmu_end = []
    
        # 爬前7集,设置循环7次
        for j in range(3):
            danmu_end.extend(count_danmu())
        df = pd.DataFrame(danmu_end)
        df.to_excel('liuli.xlsx')
    
    
    if __name__ == '__main__':
        main()

     

    5.结果

    这几集的弹幕总共有32574条。

     

    • 弹幕中顶着哪个角色发的弹幕最多

     

    大家都贪图男色吧!

    • 高赞弹幕说什么(点赞200以上视为高赞)前面两集男主说话是结巴的,宫主呢好像是类似掌门一样的称号。

     

    高赞基本都是围绕剧情搞笑的部分。

    • 整体弹幕

     

    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

    作者:努力学习的渣渣哦

  • 相关阅读:
    apk获取后台源代码
    Oracle用其中一个表的数据更新另一个表
    As的LogCat打开方法
    任意东西转Json
    将一个实体中相同字段的值赋值给另一个实体
    request乱码,又不能改request本身编码格式时可以进行转码
    oracle触发器
    搭建AS时各种报错解决方法(32位AMD)
    计算两个时间之间相差了多少时间
    thinkphp支持query查询
  • 原文地址:https://www.cnblogs.com/hhh188764/p/13491340.html
Copyright © 2011-2022 走看看