VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > 数据分析 >
  • 最近热播的电视剧《山海情》好看吗?爬取视频弹幕来分析一下

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

作者:努力学习的渣渣哦

来源:胆小鬼

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://www.xin3721.com/eschool/pythonxin3721/

前言

前段时间的《大江大河2》非常火,但是由于《大江大河1》我没有看过,也就激不起我想看的欲望。但是最近更新的《山海情》,我周五晚上点进去,然后一口气看了6集原声版的,22点开始看,每集40min,问几点睡?

该剧讲述了二十世纪九十年代以来,在国家扶贫政策的引导下,在福建的对口帮扶下,西海固的人民群众移民搬迁,不断克服各种困难,探索脱贫发展办法,将风沙走石的“干沙滩”建设成寸土寸金的“金沙滩”的故事。----剧集官方介绍

 

最近热播的电视剧《山海情》好看吗?爬取视频弹幕来分析一下

 

原声版就是台词是用宁夏那边的方言讲述的,配音版是普通话版的,推荐原声版的,会更有那种打动人心的感觉。《山海情》讲最动人的扶贫故事。

2021年是“十四五”开局之年,也是全面建设社会主义现代化国家新征程开启之年,还是建党100周年。《大江大河》、《山海情》作为献礼片,这么受欢迎,可见拍的质量有多高。同样题材的还有《跨过鸭绿江》《江山如此多娇》等。

最近热播的电视剧《山海情》好看吗?爬取视频弹幕来分析一下

 

孔笙导演,正午阳光出品......都是精品,演员每一个都是老戏骨,一点注水的那种演员都没有。

目前更新到第九集,爬下第一集的弹幕,看看大家都在说什么。

1.找弹幕在哪?

最近热播的电视剧《山海情》好看吗?爬取视频弹幕来分析一下

 

重点是搜索【.z】,不一样的是找到的“Request URL”打开是个压缩包,里面含有弹幕内容,所以程序里面会有解压这一步。

2.程序

复制代码
import requests
import pandas as pd
import zlib
import re
import time


def get_aiqiyi_danmu(tvid):
    """
    功能:给定tvid,获取爱奇艺一集的弹幕评论信息
    """
    # 建立空df
    df_all = pd.DataFrame()


    # 初始page_num
    page_num = 1


    while True:
        # 打印进度
        print(f'正在获取第{page_num}页的弹幕数据')


        try:
            # 获取URL
            url = f'https://cmts.iqiyi.com/bullet/{str(tvid)[-4:-2]}/{str(tvid)[-2:]}/{str(tvid)}_300_{page_num}.z'


            # 添加headers
            headers = {
                'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36'
            }


            # 发起请求
            try:
                r = requests.get(url, headers=headers, timeout=3)
            except Exception as e:
                print(e)
                r = requests.get(url, headers=headers, timeout=3)


            # 转换为arrry
            zarray = bytearray(r.content)


            # 解压字符串
            xml = zlib.decompress(zarray, 15+32).decode('utf-8')


            # 用户名
            name = re.findall('<name>(.*?)</name>', xml)
            # 评论ID
            contentId = re.findall('<contentId>(.*?)</contentId>', xml)
            # 评论信息
            content = re.findall('<content>(.*?)</content>', xml)
            # 展示时间
            showTime = re.findall('<showTime>(.*?)</showTime>', xml)
            # 点赞次数
            likeCount = re.findall('<likeCount>(.*?)</likeCount>', xml)


            # 保存数据
            df_one = pd.DataFrame({
                'name': name,
                'contentId': contentId,
                'content': content,
                'showTime': showTime,
                'likeCount': likeCount
            })


            # 循环追加
            df_all = df_all.append(df_one, ignore_index=True)


            # 休眠一秒
            time.sleep(1)


            # 页数+1
            page_num += 1


        except Exception as e:
            print(e)
            break


    return df_all




# 抓包获取视频tvid
tvid_list = [8369497643194100]


episodes_list = ['第一集 '  
                 ]


# 循环获取所有集数据
for tvid, episodes in zip(tvid_list, episodes_list):
    print(tvid, episodes)
    # 获取数据
    df = get_aiqiyi_danmu(tvid=tvid)
    # 插入列
    df.insert(0, 'episodes', episodes)
    # 导出数据
    df.to_csv(f'df_{episodes}.csv')
复制代码

 


只爬取单集输入tvid就可以了,连续获取集数需要再获取url,再从返回的结果中
获取tvid

3.结果

最近热播的电视剧《山海情》好看吗?爬取视频弹幕来分析一下

 

最近热播的电视剧《山海情》好看吗?爬取视频弹幕来分析一下

 

遮住的是用户名称。

简单的画下词云

最近热播的电视剧《山海情》好看吗?爬取视频弹幕来分析一下

 

总之就是推荐,看完之后觉得现在的生活真美好,没有什么比以前更苦的年代了。


相关教程