文章目录

  • 一、前言
  • 二、《平凡的荣耀》数据爬取与分析
  • 三、总结

一、前言

距上次更新博客,又过去很长时间了,感觉再不更新一下,自己写博客的习惯就要废了,哈哈。从去年九月份开学之后,疫情学期期末考试开学考、实验室项目软著申请和新项目设计、课程集训等事情较多,没有很多时间;然后这个学期我到大三下学期,实验室工作交接完就准备考研,之后也没有很多时间来写博客,所以赶紧来更新一下,和大家分享一些知识和心得,希望喜欢的小伙伴可以点赞、收藏和关注,哈哈。

二、《平凡的荣耀》数据爬取与分析

1 简介
旨在实现对翻拍电视剧《平凡的荣耀》综合热度的分析,计划设计数据爬取模块、数据分析模块和数据模块。具体实现思路如下。

1.数据爬取模块需求分析
在数据爬取模块,计划爬取三个部分的数据。首先,爬取电视剧演员阵容数据,实现对主演基本信息和粉丝数量的获取。其次,爬取电视剧卫视收视情况数据,实现对电视剧播出期间多个卫视收视率、收视份额和收视排名信息的获取。最后,爬取豆瓣平台该电视剧热评数据,实现对前100条热评信息的获取。

2.数据分析模块需求分析
在数据分析模块,计划对爬取的三部分数据进行数据分析。首先,通过对主演信息数据的分析,得出该剧主演是否对电视剧收视情况产生了影响。其次,通过对多卫视收视情况的分析,得出该电视剧在播出期间的持续热度与相对热度。最后,通过对豆瓣热评的分析,得出观众对该电视剧的喜爱程度。

3.数据存储模块需求分析
在数据存储模块,计划通过两种方式实现数据的存储。首先,使用json文件存储爬取模块获取的基础数据。其次,读取部分json文件,通过操作表格的方式,将主演信息、卫视收视情况和100条热评数据分别存入三个Excel表格中。

2 开发技术和环境
(1)开发环境
开发系统:Windows 10操作系统;
开发工具:Anaconda+PyCharm;
开发语言:Python3.7。
(2)文件
Json文件、Excel文档
3 系统设计
1.总体设计
本作品总体设计包括对《平凡的荣耀》的数据爬取、数据分析和数据存储三个方面。在数据爬取方面,进行主演信息、卫视收视情况和豆瓣热评爬取的设计。在数据分析方面,进行演员阵容、卫视收视热度和观众喜爱程度分析的设计。在数据存储方面,进行对提取数据使用Json和Excel两种方式存储的设计。
系统功能模块图:

2.数据存储方式
本作品通过两种方式实现对提取数据进行存储,分别是Json文件存储和Excel表格存储。在数据爬取阶段,使用Json文件存储的方式,方便将提取数据按字典格式进行保存。在数据分析阶段,使用Excel表格存储的方式,方便对提取数据进行更加直观的分析。
数据存储结构图:

4 系统实现

1.数据爬取与存储模块实现

该模块主要实现对主演基础信息、卫视收视数据和豆瓣热评数据的爬取与存储,具体实现如下。

1.1主演信息爬取与存储实现
(1) 实现方案
在该部分,主要进行了两个方面信息的爬取与存储。
第一个方面,获取所有演员阵容,通过提取《平凡的荣耀》百科页面角色介绍模块中主要角色对应演员姓名及个人百科链接来实现。自定义get_actors()函数,在该函数中,使用requests库中的get()方法构造请求,使用BeautifulSoup构造方法进行解析,并使用其find()和find_all()方法进一步提取出需要信息,最后存储到json文件中。
第二个方面,获取各个演员的基础数据,通过访问获取的每个演员的百科链接,来获取每个演员姓名、出生地、出生日期、星座、血型、身高、体重和粉丝量信息。自定义get_one_actors()函数,类似于get_actors()函数实现步骤,实现数据的提取和存储。
(2)实现代码

# 获取当前路径
path = os.getcwd()
# 爬取演员信息并返回html
def get_actors():# 定义headers和网页headers = {# 'Host': 'baike.baidu.com','User-Agent':'Mozilla/5.0(Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
'Cookie':__yjsv5_shitong=1.0_7_1b511363715b8341a6b858c9784cf79473ec_300_1607592679535_218.56.38.242_f194afe3; yjs_js_security_passport=e2ee49471e3e645bb94ed5b037ce6cfba6955b66_1607592680_js'}url = 'https://baike.baidu.com/item/平凡的荣耀'# getresponse = requests.get(url, headers=headers)# 将一段文档传入BeautifulSoup的构造方法,就能得到一个文档的对象, 可以传入一段字符串soup = BeautifulSoup(response.text, 'lxml')# print(soup.find_all('li'))# 获取角色介绍模块div数据first_actors = soup.find(name='div', attrs={'class': 'lemmaWgt-roleIntroduction'})# print(actors)# 进一步得到模块中li标签中的演员数据second_actors = first_actors.find_all(name='li')# print(second_actors)# 演员数据提取actors = []for second_actor in second_actors:actor = {}if second_actor.find(name='div', attrs={'class': 'role-actor'}):# 提取演员名称及百科链接actor["name"]=second_actor.find('div',{'class': 'role-actor'}).find('a').textactor['link'] = 'https://baike.baidu.com' + second_actor.find('div',{'class': 'role-actor'}).find('a').get('href')actors.append(actor)# print(actors)json_actors = json.loads(str(actors).replace("\'", "\""))# print(json_actors)file_path = path + '/电视剧数据文件/actors.json'file_path = file_path.replace('\\', '/')print(file_path)with open(file_path, 'w', encoding='UTF-8') as f:json.dump(json_actors, f, ensure_ascii=False)
# 获取每个演员的百科信息
def get_one_actors():read_path = path + '/电视剧数据文件/actors.json'read_path = read_path.replace('\\', '/')# 读取json数据with open(read_path, 'r', encoding='UTF-8') as f:actors = json.loads(f.read())headers = {# 'Host': 'baike.baidu.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',}# 存提取的百科数据actor_infos = []for actor in actors:actor_info = {}actor_info['姓名'] = actor['name']# 获取请求response = requests.get(actor['link'], headers=headers)# 得到百科全部数据first_soup = BeautifulSoup(response.text, 'lxml')# 提取演员基本信息模块列表部分数据second_soup = first_soup.find(name='div', attrs={'class': 'basic-info cmn-clearfix'})# 得到div中的dldls = second_soup.find_all(name='dl')# 遍历所有的dlfor dl in dls:dts = dl.find_all(name='dt')# print(dts)# dds = dl.find_all(name='dd')# print(dds[index].text.strip())# 遍历单个dl的所有dtfor dt in dts:# 匹配字符,通过join和split方法,提取dt中的纯文字if ''.join(str(dt.text).split()) == '出生地':actor_info['出生地'] = dt.find_next(name='dd').text.strip().replace("\n", "")if ''.join(str(dt.text).split()) == '出生日期':actor_info['出生日期'] = dt.find_next(name='dd').text.strip()if ''.join(str(dt.text).split()) == '血型':actor_info['血型'] = dt.find_next(name='dd').text.strip()if ''.join(str(dt.text).split()) == '身高':actor_info['身高'] = dt.find_next(name='dd').text.strip()if ''.join(str(dt.text).split()) == '体重':actor_info['体重'] = dt.find_next(name='dd').text.strip()if ''.join(str(dt.text).split()) == '星座':# print(''.join(str(dt.text)))actor_info['星座'] = dt.find_next(name='dd').text.strip()# 获取百度数说模块first_fans = first_soup.find(name='div', attrs={'class': 'fans-portrait'})# 进一步得到粉丝总数部分数据try:fans = first_fans.find(name='span', attrs={'class': 'fans-total'}).textactor_info['粉丝量'] = fansexcept:actor_info['粉丝量'] = '未知'actor_infos.append(actor_info)json_actor_infos = json.loads(str(actor_infos).replace("\'", "\""))# 存file_path = path + '/电视剧数据文件/actor_infos.json'file_path = file_path.replace('\\', '/')with open(file_path, 'w', encoding='UTF-8') as f:json.dump(json_actor_infos, f, ensure_ascii=False)

1.2 卫视收视情况爬取与存储实现

(1) 实现方案
在该部分,主要进行了对东方和浙江两个卫视该电视剧收视数据的爬取与存储。通过提取《平凡的荣耀》百科页面播出信息模块中收视情况部分两个卫视CSM59城在播出期间每天的收视率、收视份额和排名数据来实现。自定义get_ratings()安徽省农户,在该函数中,使用requests库中的get()方法构造请求,使用BeautifulSoup构造方法进行解析,并使用其find()和find_all()方法进一步提取出需要信息,最后将获取的两个卫视的收视情况数据分别存储到两个json文件中。
(2) 实现代码

# 爬取收视情况
def get_ratings():# 定义headers和网页headers = {# 'Host': 'baike.baidu.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',   'Cookie':__yjsv5_shitong=1.0_7_1b511363715b8341a6b858c9784cf79473ec_300_1607592679535_218.56.38.242_f194afe3; yjs_js_security_passport=e2ee49471e3e645bb94ed5b037ce6cfba6955b66_1607592680_js'}url = 'https://baike.baidu.com/item/平凡的荣耀'# 获取responseresponse = requests.get(url, headers=headers)# 转first_soup = BeautifulSoup(response.text, 'lxml')# 审查播出信息模块下收视情况子模块div,发现class=para# 提取class=para的div,因为不止收视情况div的class为该值,所以find_allsecond_soup = first_soup.find_all(name='div', attrs={'class': 'para'})# print(second_soup)# 遍历符合条件的divfor d in second_soup:# 如果div中文本为收视情况,则匹配成功并获取它下面的一个tableif ''.join(str(d.text).split()) == '收视情况':final_soup = d.find_next(name='table')# 得到table中的所有trtrs = final_soup.find_all(name='tr')# print(trs)# 定义存放两个卫视收视情况的字典dongfang_datas = []zhejiang_datas = []# 遍历tr,获取播出期间各个卫视的收视情况for tr in trs[2:]:dongfang = {}zhejiang = {}tds = tr.find_all(name='td')dongfang['播出日期'] = tds[0].textdongfang['收视率%'] = tds[1].textdongfang['收视份额%'] = tds[2].textdongfang['排名'] = tds[3].textzhejiang['播出日期'] = tds[0].textzhejiang['收视率%'] = tds[4].textzhejiang['收视份额%'] = tds[5].textzhejiang['排名'] = tds[6].textdongfang_datas.append(dongfang)zhejiang_datas.append(zhejiang)# print(tds[2].text)# print(dongfang_datas)# print(zhejiang_datas)# 转格式json_dongdang_datas = json.loads(str(dongfang_datas).replace("\'", "\""))json_zhejiang_datas = json.loads(str(zhejiang_datas).replace("\'", "\""))dongfang_path = path + '/电视剧数据文件/dongfang.json'dongfang_path = dongfang_path.replace('\\', '/')zhejiang_path = path + '/电视剧数据文件/zhejiang.json'zhejiang_path = zhejiang_path.replace('\\', '/')# 将两个卫视的收视情况存入到两个json文件中with open(dongfang_path, 'w', encoding='UTF-8') as f:json.dump(json_dongdang_datas, f, ensure_ascii=False)with open(zhejiang_path, 'w', encoding='UTF-8') as f:json.dump(json_zhejiang_datas, f, ensure_ascii=False)

1.3豆瓣热评爬取与存储实现

(1) 实现方案
在该部分,主要进行了豆瓣热评数据的爬取和存储。通过提取豆瓣该电视剧页面短评模块前5页(每页20条)100条热评的评论人、评分、点赞数和评论内容来实现。自定义get_hot_comments()函数,在该函数中,使用requests库中的get()方法构造请求,使用BeautifulSoup构造方法进行解析,并使用其find()和find_all()方法进一步提取出需要信息,最后存储到json文件中。
(2) 实现代码

# 爬取线上优酷热评
def get_hot_comments():headers = {'Host': 'movie.douban.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',    'Cookie':_vwo_uuid_v2=DE8F855EC24AE2DDC7761E12EAB48EAEF|c5c585e9feb33aa574682b87f0284a1c;_pk_id.100001.4cf6=45cef77f2b5a9960.1607930880.1.1607931254.1607930880.'}# 热评comments = []for i in range(5):url = f'https://movie.douban.com/subject/30186581/comments?start={i*20}&status=P&sort=new_score'# 获取全部responce = requests.get(url, headers=headers)# 转bs4first_soup = BeautifulSoup(responce.text, 'lxml')# 提取"平凡的荣耀 短评"下的评论模块second_soup = first_soup.find(name='div', attrs={'class': 'article'})# 提取100条热评first_hot_comments = second_soup.find(name='div', attrs={'class': 'mod-bd'})second_hot_comments = first_hot_comments.find_all(name='div', attrs={'class': 'comment'})# print(second_hot_comments)for comment in second_hot_comments:c = {}# 获取存用户名、观影感受和评论时间的spanfirst_user = comment.find(name='span', attrs={'class': 'comment-info'})user = first_user.find(name='a').textdate = first_user.find(name='span', attrs={'class': 'comment-time'})feel = date.find_previous(name='span')# print(user,date)c['评论人'] = usertry:c['观看感受'] = feel['title']except:c['观看感受'] = '无'c['评论日期'] = date.text.strip()# 获取评论内容content = comment.find(name='p').text.strip().replace("\n", "")# print(content)c['内容'] = content# 获取存点赞数的spanfirst_vote = comment.find(name='span', attrs={'class': 'comment-vote'})vote = first_vote.find(name='span', attrs={'class': 'votes vote-count'}).textc['点赞数'] = votecomments.append(c)# print(comments)# print(len(comments))# 存json_hot_comments = json.loads(str(comments).replace("\'", "\""))file_path = path + '/电视剧数据文件/hot_comments.json'file_path = file_path.replace('\\', '/')with open(file_path, 'w', encoding='UTF-8') as f:json.dump(json_hot_comments, f, ensure_ascii=False)

2 数据分析模块实现
该模块主要实现对该电视剧演员粉丝数量、卫视收视率和收视份额以及豆瓣观众评价的分析,具体实现如下。

2.1 演员粉丝数量分析实现
(1) 实现方案
在该部分,主要进行对主演阵容中每个演员粉丝数量的分析。通过分析演员粉丝数量,来实现对该电视剧演员阵容的评价。自定义show_fans()函数,在该函数中,使用pandas库中的read_json()方法读取存放演员信息的json文件,得到主演姓名和粉丝数量;使用pyplot函数集合中的bar方法绘制粉丝数量柱状分析图;最后使用savefig方法将柱状图进行保存。
(2) 实现代码

# 绘制粉丝数量图
def show_fans():# 读read_path = path + '/电视剧数据文件/actor_infos.json'read_path = read_path.replace('\\', '/')df = pd.read_json(read_path)actor_names = list(df['姓名'])actor_fans = list(df['粉丝量'])bar = (Bar().add_xaxis(actor_names).add_yaxis("粉丝数量", actor_fans).set_global_opts(title_opts=opts.TitleOpts(title="《平凡的荣耀》主演粉丝数量分析图")))bar.render(path + '/电视剧收视率分析图/fans.html

2.2 卫视收视情况分析实现
(1) 实现方案
在该部分,主要进行对该电视剧播出期间在东方卫视和浙江卫视收视率和收视份额的分析,来实现对电视剧播出期间持续热度和相对热度的评价。
自定义show_tv_ratings(json_file)函数,在该函数中,根据形参传入json文件名,使用pandas库中的read_json()方法对特定卫视json文件进行数据提取,得到播出期间每天的收视率;使用pyplot函数集合中的plot方法绘制收视率的折线分析图;最后使用savefig方法将折线图进行保存。
自定义show_tvs_ratings()函数,在该函数中,使用pandas库中的read_json()方法读取两个卫视json文件进行数据提取,得到卫视播出期间每天的收视份额;使用pyplot函数集合中的bar方法绘制播出期间电视剧在两个卫视收视份额的柱状分析图;最后使用savefig方法将柱状图进行保存。
(2) 实现代码

# 绘制单个卫视收视率变化图
def show_tv_ratings(json_file):# 导入json数据read_path = path + '/电视剧数据文件/' + json_fileread_path = read_path.replace('\\', '/')# print(read_path)df = pd.read_json(read_path, dtype={'播出日期': str})dates = list(df['播出日期'])ratings = list(df['收视率%'])line = (Line().add_xaxis(dates).add_yaxis("收视率%", ratings, is_connect_nones=True))if str(json_file)[:-5] == 'dongfang':line.set_global_opts(title_opts=opts.TitleOpts(title="《平凡的荣耀》东方卫视收视率变化趋势图"))else:line.set_global_opts(title_opts=opts.TitleOpts(title="《平凡的荣耀》浙江卫视收视率变化趋势图"))line.render(path + '/电视剧收视率分析图/' + str(json_file)[:-5] + '_ratings.html')
# 绘制卫视收视份额对比图
def show_tvs_ratings():# 导入json数据dongfang = path + '/电视剧数据文件/dongfang.json'dongfang = dongfang.replace('\\', '/')zhejiang = path + '/电视剧数据文件/zhejiang.json'zhejiang = zhejiang.replace('\\', '/')df1 = pd.read_json(dongfang)df2 = pd.read_json(zhejiang)# 提取需要的数据dongfang_dates = list(df1['播出日期'])dongfang_ratings = list(df1['收视份额%'])# zhejiang_dates = list(df2['播出日期'])zhejiang_ratings = list(df2['收视份额%'])# 绘制bar = (Bar().add_xaxis(dongfang_dates).add_yaxis("东方卫视", dongfang_ratings).add_yaxis("浙江卫视", zhejiang_ratings).set_global_opts(title_opts=opts.TitleOpts("《平凡的荣耀》收视份额变化分析图")))bar.render(path + '/电视剧收视率分析图/tvs_ratings.html')

2.3 豆瓣热评分析实现
(1) 实现方案
在该部分,主要进行对豆瓣热评中观众观影感受的分析,来实现观众对电视剧喜爱程度的评价。
自定义show_hot_comments()函数,在该函数中,使用pandas库中的read_json()方法对豆瓣热评json文件进行数据提取,得到每个观众的观影感受;使用pyplot函数集合中的pie方法绘制观众喜爱情况的饼状分析图;最后使用savefig方法将折线图进行保存。
(2) 实现代码

# 绘制评论饼状图
def show_hot_comments():# 导入数据read_path = path + '/电视剧数据文件/hot_comments.json'read_path = read_path.replace('\\', '/')df = pd.read_json(read_path)# 提取需要数据feel = list(df['观看感受'])# print(feel)labels = ['力荐', '推荐', '还行', '很差', '较差', '无']values = [feel.count('力荐'), feel.count('推荐'), feel.count('还行'), feel.count('很差'), feel.count('较差'), feel.count('无')]# print(values)# 绘制pie = (Pie().add(series_name='', data_pair=[(i, j) for i, j in zip(labels, values)]).set_global_opts(title_opts=opts.TitleOpts("热评前100观众评价分析")).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")))pie.render(path + '/电视剧收视率分析图/hot_comments.ht

3.表格存储模块实现
(1) 实现方案
该模块主要实现对主演信息、多卫视收视情况和豆瓣前100热评以Excel表格的形式进行存储。分别自定义write_actor_infos()、write_tvs_ratings()和wirte_hot_comments()函数,在每个函数中,使用pandas库中read_json方法读取特定文件,并使用xlwings库中部分方法进行表格创建。
(2) 实现代码

# 将热评写入execl表
def write_hot_comments():file_path = path + '/电视剧数据文件/hot_comments.json'file_path = file_path.replace('\\', '/')with open(file_path, 'r', encoding='utf8') as f:comments = json.load(f)# print(comments)title = ['评论人', '观看感受', '评论时间', '评论内容', '评论点赞数']# 打开Excelwb = xw.Book()sht = wb.sheets('Sheet1')sht.range('A1').value = titleline = 2for comment in comments:  # 循环字典# print(list(comment.values()))sht.range(f'A{line}').value = list(comment.values())line += 1
# 将演员数据存入Excel
def write_actor_infos():# 读数据file_path = path + '/电视剧数据文件/actor_infos.json'file_path = file_path.replace('\\', '/')with open(file_path, 'r', encoding='utf8') as f:actor_infos = json.load(f)# actor_infos = list(actor_infos)# 定义Excel表头title = ['姓名', '出生地', '出生日期', '星座', '血型', '身高', '体重', '粉丝量']# 打开Excelwb = xw.Book()sht = wb.sheets('Sheet1')sht.range('A1').value = title# 设置写入行索引,从第2行开始line = 2# 遍历每个演员数据for actor in actor_infos:# 获取单个演员字典的key值keys = list(actor.keys())values = list(actor.values())# 设置key值与value值一一对应的索引index = 0# 遍历key值进行属性匹配for key in keys:# 如果是姓名存入A列if key == '姓名':# print(values[index])sht.range(f'A{line}').value = values[index]index += 1if key == '出生地':sht.range(f'B{line}').value = values[index]index += 1if key == '出生日期':sht.range(f'C{line}').value = values[index]index += 1if key == '星座':sht.range(f'D{line}').value = values[index]index += 1if key == '血型':sht.range(f'E{line}').value = values[index]index += 1if key == '身高':sht.range(f'F{line}').value = values[index]index += 1if key == '体重':sht.range(f'G{line}').value = values[index]index += 1if key == '粉丝量':sht.range(f'H{line}').value = values[index]index += 1line += 1
# 将收视率存入Excel
def write_tvs_ratings():dongfang = path + '/电视剧数据文件/dongfang.json'dongfang = dongfang.replace('\\', '/')zhejiang = path + '/电视剧数据文件/zhejiang.json'zhejiang = zhejiang.replace('\\', '/')with open(dongfang, 'r', encoding='utf8') as f:dongfang = json.load(f)with open(zhejiang, 'r', encoding='utf8') as f:zhejiang = json.load(f)title = ['播出日期', '收视率%', '收视份额%', '收拾排名']wb = xw.Book()sht = wb.sheets('Sheet1')sht.range('A1').value = '东方卫视'sht.range('E1').value = '浙江卫视'sht.range('A2:D2').value = titlesht.range('E2:H2').value = titleline = 3for d in dongfang:sht.range(f'A{line}:D{line}').value = list(d.values())line += 1line = 3for z in zhejiang:sht.range(f'E{line}:H{line}').value = list(z.values())line += 1

4.模块整合实现
(1) 实现方案
该模块主要实现对数据爬取与存储、数据分析以及数据表格存储模块多个函数进行分类整合。分别自定义get_all()、show_all()和wirte_all()函数,在每个函数中,使用对应模块全部函数。
(2) 实现代码

# 爬取主函数
def get_all():get_actors()time.sleep(2)get_one_actors()time.sleep(2)get_ratings()time.sleep(2)get_hot_comments()time.sleep(2)
# 绘制分析图
def show_all():show_fans()show_tv_ratings('dongfang.json')show_tv_ratings('zhejiang.json')show_tvs_ratings()show_hot_comments()
# 数据存入Excel表
def write_all():write_actor_infos()time.sleep(2)write_tvs_ratings()time.sleep(2)write_hot_comments()time.sleep(2)

5 结论

5.1 演员粉丝数量分析

主演粉丝数量分析柱状图:

通过上述柱状图可以看出,除3名未知粉丝数量的演员外,其他6名演员中有4名演员粉丝数量超过1千万,白敬亭粉丝数量最高达到2.7千万。可以得出,该翻拍电视剧主演粉丝基础良好,该翻拍电视剧有较好的观众基础。

5.2卫视收视情况分析

东方卫视收视率变化折线分析图

浙江卫视收视率变化折线分析图

通过上述两个收视率变化折线分析图可以看出,在该翻拍电视剧播出期间,两个卫视收视率呈现稳定上升的趋势,均有一半以上播出时间收视率超过2%,热度良好;且东方卫视在9月27日收视率破3%,热度较高。根据CMS59城收视率评价指标,电视剧收视率到达2%以上,判定收视率良好;收视率达到3%以上,判定收视率较高。可以得出,该翻拍电视剧相对热度正常偏高。

多卫视收视份额变化柱状分析图

通过上述收视份额变化柱状分析图可以看出,在该翻拍电视剧播出期间,两个卫视收视份额大部分时间高于6%,一半左右时间高于7%,部分时间段高达9%或10%。根据收视份额评价指标,电视收视份额达到7%,判定为良好;超过8%,判定为较高。可以得出,该翻拍电视剧在两个卫视的综合热度也正常偏高。
综上,该翻拍电视剧具有正常偏高的热度。

5.3 豆瓣热评分析

豆瓣前100热评观众评价分析图

通过上述观众评价饼形分析图可以看出,中等及以上评价占48%,差评占51%,未评价占1%。可以得出,在前100热评的观众中,该翻拍电视剧观影感受一般。进一步可以推测出,观众对该翻拍电视剧的喜爱程度一般。

5.4 综合分析

通过对上述三个部分的综合分析,可以得出该翻拍电视剧具有良好的演员阵容,观众基础较好。在播出期间,各卫视收视情况较好,有较高的综合热度和相对热度。同时,经过分析也得出,该翻拍电视剧观众喜爱程度一般,可能并未达到观众的心里预期。

三、总结

一个Python爬虫案例,主要对《平凡的荣耀》电视剧相关数据进行爬取和分析,案例相关代码、技术文档、数据分析图、Excel表、json文件等上传在我的csdn下载区中。
https://download.csdn.net/download/weixin_45087775/16809284?spm=1001.2014.3001.5503

【Python】Python网络爬虫-电视剧《平凡的荣耀》数据爬取与分析相关推荐

  1. php爬虫:知乎用户数据爬取和分析

    php爬虫:知乎用户数据爬取和分析 2016-04-10    PHP开发者     (点击上方公众号,可快速关注) 作者:崔小拽        原文链接:http://cuihuan.net/art ...

  2. Python网络爬虫数据采集实战:Scrapy框架爬取QQ音乐存入MongoDB

    ​    通过前七章的学习,相信大家对整个爬虫有了一个比较全貌的了解 ,其中分别涉及四个案例:静态网页爬取.动态Ajax网页爬取.Selenium浏览器模拟爬取和Fillder今日头条app爬取,基本 ...

  3. Python爬虫《自动化学报》数据爬取与数据分析

    Python爬虫<自动化学报>数据爬取与数据分析 文章目录 Python爬虫<自动化学报>数据爬取与数据分析 前言 一.代码 二.结果展示 三.爬虫实现 1.准备 2.获取网页 ...

  4. python网易云爬虫——实现网易云歌词的爬取(输入歌手的id,即可实现歌词的爬取)

    Python网易云爬虫--实现网易云歌词的爬取(输入歌手的id,即可实现歌词的爬取) 开始动手 打开网易云音乐,找到任意一位歌手的歌曲界面(我们以邓紫棋的<来自天堂的魔鬼>为例). 第一步 ...

  5. python网络数据爬取及分析从入门到精通pdf_Python网络数据爬取及分析从入门到精通...

    这是一套以实例为主.使用Python语言讲解网络数据爬虫及分析的实战指南.本套书通俗易懂,涵盖了Python基础知识.数据爬取.数据分析.数据预处理.数据可视化.数据存储.算法评估等多方面知识,每一部 ...

  6. Python网络数据爬取及分析-智联招聘

    python网络数据爬取及分析-智联招聘 一. 数据爬取 智联招聘是一家面向大型公司和快速发展的中小企业提供一站式专业人力资源的公司,可在智联招聘网站上根据不同城市.不同职位需求搜索得到相关招聘信息. ...

  7. Python顶点小说爬虫(《三寸人间》爬取)

    Python顶点小说爬虫(<三寸人间>爬取) 获取整个页面 import requests from bs4 import BeautifulSoup url = "https: ...

  8. python爬虫实战三:近十年中国电影票房数据爬取与分析

    近十年中国电影票房数据爬取与分析 前言 爬取 分析 十年top10 年度top5 每年电影数 每年总票房 二八原则 代码与数据 前言 这篇文章主要讲述的是近十年(2010-2019)中国电影票房数据的 ...

  9. Python 大数据分析疫情:如何实现实时数据爬取及 Matplotlib 可视化?

    作者 | 杨秀璋 来源 | CSDN博客专家Eastmount 责编 | 夕颜 思来想去,虽然很忙,但还是挤时间针对这次肺炎疫情写个Python大数据分析系列博客,包括网络爬虫.可视化分析.GIS地图 ...

  10. 网络爬虫分析实例:基于音悦台网站榜单的数据爬取与分析

    基于音悦台网站榜单的数据爬取与分析 本实验代码:进入 一.研究背景 在互联网发展初期,网站相对较少,信息查找比较容易.然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满 ...

最新文章

  1. Django从1.8升级到2.0注意事项
  2. 用PyTorch实现的李沐《动手学深度学习》,登上GitHub热榜,获得700+星
  3. mysql主从数据丢失_故障分析 | 记一次 MySQL 主从双写导致的数据丢失问题
  4. 简单一“录”,轻松完成金融业务审核!
  5. Oracle 表空间的段管理
  6. LNMP(nginx防盗链,访问控制,解析php相关配置,Nginx代理,常见502问题)
  7. php getbyid,ThinkPHP查询中的魔术方法简述
  8. WebApi个人理解概要
  9. 系统新模块增加需要哪些步骤_防锈高效型干式地暖模块解决了装修施工配合的哪些难点?...
  10. 看板系统的表格动态数据显示
  11. HTML5 Canvas的基本用法
  12. python中级_python复习之中级
  13. python_datetime
  14. Red Hat 第四季度总营收为8.79亿美元,低于预期
  15. 图书管理系统c语言ns图,图书管理系统流程图.doc
  16. 关于英语单词记忆的总结
  17. logutils java_【java】简单的日志工具类LogUtils
  18. python白鹅类型_SCP-CN-161 翻译器
  19. Win系统上最好用的epub阅读器
  20. 图像卷积原理及运算方法

热门文章

  1. 360校招 求立方体表面积
  2. 如何使用 Windows 电脑向 Android 设备安装 apk 应用
  3. 【数据安全】4. Android 文件级加密(File-based Encryption)之密钥管理
  4. matlab三次样条插值代码
  5. java comp_java:comp / env /做什么?
  6. 《硅谷钢铁侠》读书摘录(一)
  7. outlook登陆Exchange邮箱不断掉线并弹出需要登陆的窗口
  8. PCD格式、Trimmed ICP实现、旋转矩阵四元数欧拉角
  9. python 大小写字母怎么用数字表示_python判断字符串是字母 数字 大小写(转载)...
  10. Arduino ESP32 ADC功能介绍以及模拟量信号读取示例