一、项目简介
随着互联网发展,网络直播和网购已经成为人们生活的一部分,而弹幕、网络评论也成为网民观看视频、购买商品后的主要想法观点。因此,弹幕、评论等言论在一定程度上能够反映该商品或商品内容的受众群体的真实想法。其项目开发意义在于提高用户体验、优化产品策略、挖掘潜在需求、提升营销效果;社会价值方面能促进信息传播、培养公民参与意识,如:通过对评论数据的分析和讨论,可以培养公民的参与意识和公共事务的关注度,促进社会的和谐发展;经济价值方面能增加企业收入、 降低营销成本、促进产业发展。目前在该方面随着移动通信技术的快速发展,网络视频和直播成为信息传播的主要媒介,弹幕技术应运而生。随着深度学习技术的发展,越来越多的研究者开始将其应用于弹幕和网络评论的分析中,以提高分析的准确性和效率。
二、项目框架
实时计算:
第一步,利用python爬虫爬取视频弹幕数据生成txt文件,并对数据进行初步的清洗处理;
第二步,利用java api 创建topic并发送本地txt文件传输到虚拟机,模拟直播用户发送弹幕到平台接收端;
第三步,通过Kafka组件来读取虚拟机中的弹幕数据,充当数据传输,模拟数据的实时传输过程;
第四步,以spark组件为主,利用scale语言对Kafka传输来的数据进行处理,模拟平台后端处理数据;(如:假设直播间发言人鱼龙混杂,需要筛选弹幕屏蔽敏感词汇发送到客户端进行展示。
即后端处理数据,将处理完的数据发送到客户端展示,模拟后端处理完数
据并网络传输到平台进行展示。)
第五步,利用sqoop组件将处理后的数据导入到Hive。
离线处理:
第一步,利用python爬虫爬取商品评论数据生成txt文件,并对数据进行初步的清洗处理;
第二步,将txt数据文件导入虚拟机中,利用sqoop组件将数据导入到hive数据库;
第三步,利用hive进行文本的数据处理,通过hive建表,统计展示评论的好坏程度,用来展开该商品相关信息,模拟生产好评论,处理恶意评论和不当言论评论。相关数据的处理展示。
三、数据爬取
爬取弹幕:
import re
import requests
import datetime
#爬取弹幕地址url
url='https://api.bilibili.com/x/v1/dm/list.so?oid=1312049759'
#usr-agent 标识浏览器身份
headers = {
'User-Agent':'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0'
}
#发起get请求
response = requests.get(url = url,headers = headers)
response.encoding='utf-8'
print(response.text)
#对爬取数据进行简单处理
content_list=re.findall('<d p=".*?">(.*?)</d>',response.text)
print(content_list)
#for遍历循环顺序输出内容
for content in content_list:
with open('弹幕.txt',mode='a',encoding='utf-8') as f:
f.write(content)
f.write('\n')
print(content)
爬取评论:
import requests
if __name__ == "__main__":
#爬取好评100页
for page in range(0,100):
url = 'https://club.jd.com/comment/productPageComments.action'
param = {
'productId': '100039939514',
'score': '3',
'sortType': '5',
'page': page,
'pageSize': '10',
'isShadowSku': '0',