肉食食材大数据平台(附源码)

目录

一.需求分析

1.项目背景

2.用户简介

3.术语定义

4.功能概述

二.概要设计

1.概要设计流程图

2.流程图详细说明

三.数据库设计

1.软件名称

2.概念结构设计

2.1电商模块

2.2猪肉今日价格模块

2.3大屏展示模块

2.3.1舆论舆情

2.3.2 省均价模块

2.3.3进出口模块

2.3.4喜好程度分析模块

四.详细设计

1.电商展示模块

1.1数据爬取

1.2数据计算

1.3 web展示

2.今日猪价模块

2.1数据爬取

2.2web展示

3.大屏展示模块

3.1舆论舆情

3.1.1数据爬取

3.1.2 web展示

3.2今日省均价

3.2.1数据计采集计算

3.2.2 web展示

3.3喜好程度分析模块

3.3.1评论预处理

3.3.1.1评论去重

3.3.1.2数据清洗

3.3.2评论分词

3.3.2.1分词、词性标注、去除停用词

3.3.2.2提取含名词的评论

3.3.2.3绘制词云查看分词效果

3.3.3评论数据情感倾向分析

3.3.3.1匹配情感词

3.3.3.2修正情感倾向

3.3.3.3查看情感分析效果

五.软件使用

1.首页

2.模块​编辑

2.1大数据展示平台

2.1.1舆论舆情

2.1.2地图展示

2.2各省市每日肉价模块

2.3电商展示模块

六.安装部署

1.安装规划

1.1两台Linux操作系统服务器

1.2两台服务器说明

1.2.1一台服务器:

1.2.2另一台服务器:

2.系统概述

2.1硬件

2.2软件

七.项目背景

八.项目内容

1.数据大屏展示

2.猪肉每日肉价可视化

3.肉质智能识别

4.电商肉食数据展示

九.核心技术

1.大数据分析计算

2.喜好程度分析

3.图像智能识别

十.平台优势

十一.源码和相关文档


一.需求分析

1.项目背景

        因猪周期和猪瘟缘故,自2018年10月份以来,生猪基础产能大幅下降,共需不足,价格暴涨。中华人民共和国农业农村部制定方案《加快生猪生产恢复发展三年行动方案》,加大各项补贴政策,猪肉行业前景大好。受“居家隔离”影响,虚拟猪肉经济占比明显提高。猪肉进口关税提高,进口量减小,国产比重变大。

2.用户简介

        该项目的用户为个体自营养殖屠宰户和电商用户,旨在为创业者提供服务。年龄为20-50的人群,其具有一定的学习能力和网页操作能力。

3.术语定义

土杂猪:是由良种猪与本地猪杂交而来的。

内三元:以中国地方品种猪为母本,以进口猪为父本的一代杂交猪,再以进口猪为终端父本杂交而成,第一代的母本是家猪品种。

外三元:以大白猪作为母本,长白作为第一父本,杜洛克作为第二父本。其中、长白和杜洛克的猪都是进口品种,具有三种进口猪的基因。

4.功能概述

(1)电商展示模块,如名称、价格、原产地、进出口情况、毛重、净重等,可进行模糊查询。

(2)各省市今日肉价模块,可精确到地级市,展示土杂猪,内三元猪,外三元猪今日猪肉价格

(3)大屏数据展示:今日较昨日涨跌情况展示,今日新闻舆论展示,舆情词云图,电商评论喜好程度分析展示,今日各省平均肉价地图展示。

二.概要设计

1.概要设计流程图

2.流程图详细说明

1.利用python爬虫定时对京东生鲜电商肉类食材数据、猪肉价格数据、舆论舆情数据进行爬取。

2.利用flume,kafka对数据进行实时采集。

3.使用flink、spark分别进行实时计算和离线计算,利用python对商品评论进行喜好程度分析。

4.将分析计算后的数据导入mysql数据库。

5.采用前后端分离开发方式使用springboot、Vue+echarts对数据进行可视化展示。

三.数据库设计

1.软件名称

数据库软件:Mysql 8.0.26

管理员工具:navicat 15

数据库名称:pork

2.概念结构设计

2.1电商模块

2.2猪肉今日价格模块

2.3大屏展示模块

2.3.1舆论舆情

2.3.2 省均价模块

2.3.3进出口模块

2.3.4喜好程度分析模块

四.详细设计

1.电商展示模块

1.1数据爬取

使用python+selenium库对京东生鲜进行数据爬取。

1.2数据计算

将爬取的数据转化成结构化数据。利用spark框架对于编号重复的商品进行去重,只保留该商品第一次出现的记录。对于缺失值的处理,对于缺失多个属性的记录将其直接删除;对于没有价格的数据,采用网上搜索该商品价格和填充为同种类商品价格的均值两种方法进行处理;对于商品产地的缺失处理,采用继承上一条同种类商品的产地和默认填充为中国大陆两种方法结合;对于同种类商品净重的处理,网上查阅信息,填充为0~500g、500g~1000g、1000g~1500g三个类别;对于属性国产\进口的缺失值处理和上述方法类似。

利用函数式编程的scala语言和spark框架相结合,分析处理出每类商品的均值,每类商品本土生产、进口的比重等工作,为后续数据分析工作提供帮助。

1.3 web展示

使用springboot后端框架+mybatis puls对mysql数据进行模糊查询以及抽取。

前端使用vue2+vuex3+axios+elementUI等技术,接受后端传回来的数据,进行分页展示,具有输入框、选择地区、国产进口等功能。

2.今日猪价模块

2.1数据爬取

使用python+selenim库爬取猪肉价格数据存入mysql,将py文件部署于linux远程服务器上编辑脚本文件使用crontab服务工具定时调度脚本以执行爬虫任务。

2.2web展示

使用springboot后端框架+mybatis puls对mysql数据抽取。

前端使用vue2+vuex3+elementUI+Echarts等技术,使用阿里云的地图json文件,地图下钻获取各个省份的各个市的三种猪肉的当日价格。

3.大屏展示模块

3.1舆论舆情

3.1.1数据爬取

使用python+selenim库爬取舆论舆情数据数据存入mysql,利用jie ba + word cloud对舆情数据进行分词以及词语图的绘制。将py文件部署于linux远程服务器上编辑脚本文件使用crontab服务工具定时调度脚本以执行爬虫任务更新数据和词云图。

3.1.2 web展示

使用springboot后端框架+mybatis puls对mysql数据抽取以及读取词云图转为字节数组返回给前端

前端使用vue2+axios处理后端传回来的字节数组,以图片的形式展现出来。

3.2今日省均价

3.2.1数据计采集计算

使用flume监控目录文件夹,对爬虫的数据进行采集,输出到kafka消息队列,flink从Kafka中读取数据进行均价计算存入mysql。

3.2.2 web展示

使用springboot后端框架+mybatis puls对mysql数据抽取返回给前端。

前端使用vue2+vuex3+elementUI+Echarts等技术,使用阿里云的地图json文件,通过中国地图展示出各省的三种猪肉当日均价。

3.3喜好程度分析模块

3.3.1评论预处理
3.3.1.1评论去重

获取的数据有些评论相似度极高,可是在某些词语的运用上存在差异。为了存留更多的有用数据,删除完全重复部分,以确保保留有用的文本评论信息。

3.3.1.2数据清洗

评论数据中包含许多数字与字母,这类数据本身并没有实质性帮助。另外,由于该评论文本数据围绕京东生鲜中的肉类进行评价的,其中“京东”“快递”“京东生鲜”等词出现的频数很大,但对分析并没有什么作用,因此可以在分词之前将这些词去除,对数据进行清洗。

3.3.2评论分词
3.3.2.1分词、词性标注、去除停用词

使用Python中的jieba库将词语转化为数据框形式(一列是词,一列是词语所在的句子id,最后一列是词语在该句子中的位置)并删除标点符号和停用词。

3.3.2.2提取含名词的评论

由于分析目标是肉类产品的优缺点,评论中只有出现明确的名词,才有意义,因此需要对分词后的词语进行词性标注,之后再根据词性将含有名词类的评论提取出来。

3.3.2.3绘制词云查看分词效果

对预处理后的数据绘制词云查看分词效果,首先进行词频统计,将词频按照降序排序,然后选择前100个词,使用wordcloud模块中的WordCloud绘制词云,查看分词效果。

3.3.3评论数据情感倾向分析
3.3.3.1匹配情感词

情感倾向也称为情感极性。在某商品评论中,可以理解为用户对该商品表达自身观点所持的态度是支持、反对还是中立,即通常所指的正面情感、负面情感、中性情感。由于本案例主要是对肉类产品的优缺点进行分析,因此只要确定用户评论信息中的情感倾向方向分析即可,不需要分析每一评论的情感程度。对评论情感倾向进行分析首先要对情感词进行匹配,主要采用词典匹配的方法,本案例使用的情感词表是2007年10月22日知网发布的“情感分析用词语集 ( beta版)”,主要使用“中文正面评价”词表、“中文负面评价”“中文正面情感”“中文负面情感"词表等。将“中文正面评价”“中文正面情感”两个词表合并,并给每个词语赋予初始权重1,作为本案例的正面评论情感词表。将“中文负面评价”“中文负面情感”两个词表合并,并给每个词语赋予初始权重-1,作为本案例的负面评论情感词表。

一般基于词表的情感分析方法,分析的效果往往与情感词表内的词语有较强的相关性,如果情感词表内的词语足够全面,并且词语符合该案例场景下所表达的情感,那么情感分析的效果会更好。针对本评论分析,需要在知网提供的词表基础上进行优化.例如“好评”“超值”“差评”“五分”等词只有在网络购物评论上出现,就可以根据词语的情感倾向添加至对应的情感词表内。将“满意”“好评”“很快”“还好”“还行”“超值”“给力”“支持”“超好”“感谢”“太棒了”“厉害”“挺舒服”“辛苦”“完美”“喜欢”“值得”“省心”等词添加进正面情感词表。将“差评”“贵”“高”等词加入负面情感词表。

3.3.3.2修正情感倾向

情感倾向修正主要根据情感词前面两个位置的词语是否存在否定词而去判断情感值的正确与否,由于汉语中存在多重否定现象,即当否定词出现奇数次时,表示否定意思;当否定词出现偶数次时,表示肯定意思。按照汉语习惯,搜索每个情感词前两个词语,若出现奇数否定词,则调整为相反的情感极性。本分析使用的否定词表共有19个否定词,分别为:不、没、无、非、莫、弗、毋、未、否、别、六、休、不是、不能、不可、没有、不用、不要、从没、不太。读入否定词表,对情感值的方向进行修正。计算每条评论的情感得分,将评论分为正面评论和负面评论。

3.3.3.3查看情感分析效果

提出正面评论和负面评论,然后分别绘制词云,来查看情感分析效果,并计算各肉类评论的平均分。

五.软件使用

1.首页

软件地址: http://120.76.248.89/#/

2.模块

点击可进入相应模块

2.1大数据展示平台

2.1.1舆论舆情

自动滚动,点击可跳转相应新闻页

2.1.2地图展示

鼠标浮于地图之上可滚动放大缩小

可点击猪的不同种类查看相应价格

2.2各省市每日肉价模块

点击所要查看的省可以查看省内各市的猪肉价格


点击左边省地图空白区可返回中国地图

2.3电商展示模块

可以点击各省市,以及进出口进行筛选

六.安装部署

1.安装规划

1.1两台Linux操作系统服务器

一台部署flunk,Kafka,flume集群和python定时爬虫任务。

一台部署web项目jdk、和mysql数据库。

1.2两台服务器说明

1.2.1一台服务器:

作用:安装flink、flume、kafka、spark

防火墙:开放flinkwebUI端口号:8081、kafka端口号:9092

1.2.2另一台服务器:

作用:安装jdk、安装mysql数据库,设置允许远程链接配置。

防火墙:开放SpringBoot项目端口号:8070、开放mysql端口号:3306

2.系统概述

2.1硬件

双核

内存4G

系统盘80G

2.2软件

CentOS 8.2

Mysql 8.0.26

jdk1.8

flink1.3

Kafka2.12

Flume1.7

Python3.6

spark

七.项目背景

八.项目内容

1.数据大屏展示

2.猪肉每日肉价可视化

3.肉质智能识别

4.电商肉食数据展示

九.核心技术

1.大数据分析计算

2.喜好程度分析

3.图像智能识别

十.平台优势

十一.源码和相关文档

肉食食材大数据平台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/361956.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kafka下载安装及基本使用

目录 Kafka介绍 消息队列的作用 消息队列的优势 应用解耦 异步提速 削峰填谷 为什么要用Kafka Kafka下载安装 Kafka快速上手(单机体验) 1. 启动zookeeper服务 2. 启动kafka服务 3. 简单收发消息 Kakfa的消息传递机制 Kafka介绍 Apache Kafka…

pysyft框架中WebsocketClientWorker与WebsocketServerWorker的消息传输

引言 pysyft是基于pytorch的一个联邦学习框架(虽然用起来很难受),通过内存管理实现联邦学习的模拟。 在pysyft中,WebsocketServerWorker充当数据的提供方(数据存储方),而WebsocketClientWorker…

vue项目在public中编写一个json文件 并用http请求获取 模仿数据接口

我们前后端分离是经常存在 前端已经开发到需要接口 但后端还没开始的情况的 如果直接在js中写假数据 后面还要改不少东西 多少有点麻烦 我们可以 直接在 public 静态资源目录下创建一个json文件 这里 我取名叫 city.json 大家可以根据自己喜好给json文件命名 我这个json文件的…

深入浅出HBase:一文理解HBase基础概念(列存储、时间戳、key-value)、架构特点以及适合的使用场景

文章目录 一. HBase 数据模型1. 行存储与列式存储1.1. 行存储1.2. 列存储 2. HBase 数据模型2.1. 模型概览2.2. 列与列族2.3. 时间戳:定义数据版本2.4. HBase的Key-Value 三. HBase架构1. HBase读写流程简述2. HRegionServer内部内部数据流转:HRegion &l…

Proxy ARP

1.路由式ARP 路由式Proxy ARP就是使那些IP地址在同一网段却连接到不同物理网络上的设备能够相互通信的一种功能。 当PC1需要与S1通信时,由于目的IP地址与本机的IP地址为同一网段,因此PC1以广播形式发送ARP请求报文,请求PC2的MAC地址。但是&…

使用orangepi玩linux

最近看了这个大佬的文章,写了使用远程来挂载linux的方案,觉得还是很有意思的,瞬间感觉linux这块都还是相通的,就跑了一下,果然,牛逼! 香橙派全志H3烧录Uboot,远程加载zImage&#xf…

【百度Apollo】探索创新之路:深入了解Apollo开放平台

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…

代码随想录算法训练营DAY8 | 字符串(1)

一、LeetCode 344 反转字符串 题目链接&#xff1a; 344.反转字符串https://leetcode.cn/problems/reverse-string/ 思路&#xff1a;双指针法交换。 class Solution {public void reverseString(char[] s) {int n s.length;int left 0, right n-1;while(left < right){c…

轮转数组[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个整数数组nums&#xff0c;将数组中的元素向右轮转k个位置&#xff0c;其中k是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,…

Android矩阵Matrix变换setRectToRect,Kotlin

Android矩阵Matrix变换setRectToRect&#xff0c;Kotlin 在 Android画布Canvas裁剪区域clipRect&#xff0c;Kotlin-CSDN博客 基础上&#xff0c;增加一个点&#xff0c;通过setRectToRect挖出Bitmap原图中心区域的一块放到目标RectF里面。 import android.content.Context imp…

MBR分区转换为GPT分区

这里有一个ecs-test用于测试MBR转换为GPT 新增一块数据盘 将数据盘以MBR分区格式分区 将整块磁盘以mbr形式分区 格式化&#xff0c;挂载等 上传文件&#xff0c;方便测试(以便后续转换格式类型&#xff0c;防止文件丢失) 取消挂载 将MBR转换为GPT 需先下载gdisk yum instal…

k8s从私有库harbor中拉取镜像

一、前言 Docker镜像是构建应用程序的基础。然而&#xff0c;许多组织和开发团队希望保留他们的Docker镜像在私有仓库中&#xff0c;并从中拉取镜像&#xff0c;而不是从公共Docker Hub中下载。这样做的原因有很多&#xff0c;包括&#xff1a; 1. 安全性&#xff1a;私有仓库可…

V2X,启动高增长引擎

车载通讯的下一个新周期&#xff0c;毋庸置疑是V2X。从4G、5G再到C-V2X&#xff0c;是车载通讯逐步从信息娱乐、行车数据监控到万物互联的关键。 去年5月&#xff0c;全球车载通讯芯片巨头—高通公司宣布&#xff0c;与以色列车联网&#xff08;V2X&#xff09;芯片设计公司Aut…

二叉搜索树操作题目:删除二叉搜索树中的结点

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;删除二叉搜索树中的结点 出处&#xff1a;450. 删除二叉搜索树中的结点 难度 5 级 题目描述 要求 给定二叉…

关于JVM常见的十道面试题

方法区、永久代和元空间有什么区别&#xff1f; 方法区、永久区和元空间是Java虚拟机用于存储类信息的区域&#xff0c;它们在不同的Java虚拟机版本有所不同&#xff1a; 方法区&#xff1a;方法去是一块用于存储类的结构信息、常量、静态变量、即时编译器编译后的代码等数据…

5、应急响应-拒绝服务钓鱼识别DDOS压力测试邮件反制分析应用日志

目录 前言&#xff1a; 1、#内网应急-日志分析-爆破&横向&数据库 2、#红队APT-钓鱼邮件识别-内容&发信人&附件 3、#拒绝服务攻击-DDOS&CC-代理&防火墙防御 用途&#xff1a;个人学习笔记&#xff0c;欢迎指正&#xff01; 前言&#xff1a; 了解和…

opencv#41 轮廓检测

轮廓概念介绍 通常我们使用二值化的图像进行轮廓检测&#xff0c;对轮廓以外到内进行数字命名&#xff0c;如下图&#xff0c;最外面的轮廓命名为0&#xff0c;向内部进行扩展&#xff0c;遇到黑色白色相交区域&#xff0c;就是一个新的轮廓&#xff0c;然后依次对轮廓进行编号…

mac安装mysql的8.0设置面板启动不了

1、前言 记得之前安装mysql5.7的时候&#xff0c;是可以直接从设置里面的mysql面板启动的&#xff0c;但是到了mysql8.0之后就启动不了了&#xff0c;这个问题不知道是版本问题还是我换了m系列芯片的mysql导致的&#xff0c;之前很多次都启动不了&#xff0c;这次搞了下&#x…

sql注入,布尔盲注和时间盲注,无回显

布尔盲注 通过order by分组可以看到&#xff0c;如果正确会i显示you are in&#xff0c;错误则无任何提示&#xff0c;由此可以判断出&#xff0c;目前只显示对错&#xff0c;此外前端不会显示任何数据 也就是说&#xff0c;目前结果只有两种&#xff0c;在这种只有两种变量的…

三子棋游戏小课堂

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 今天的主菜是&#xff0c;C语言实现的三子棋小游戏&#xff0c; 所属专栏&#xff1a; C语言知识点 主厨的主页&#xff1a;Chef‘s blog 前言&…