【问题描述】
本项目从网络爬虫入手,获取旅游网站数据,结合Hadoop、HBase 核心技术搭建一个旅
游大数据的分析系统,项目共有六个步骤,分别为: 数据获取、数据清洗、数据存储、数据
分析、 数据可视化和数据挖掘。
【要求】
(1)数据获取:利用 Jsoup 技术抓取 携程旅游网 的数据;
(2)数据清洗:清洗 HTML 文档中无意义数据;
(3)数据存储:将酒店和城市数据存储到 Hbase;
(4)数据分析:各城市的宾馆平均价格对比,统计酒店评论中词频较高的词,
(5)数据可视化:制作可视化大屏
【实现提示】
(1)Java 中支持的爬虫框架有很多,比如WebMagic、Spider、Jsoup 等;
(2)数据清洗从名字上也看的出就是把“脏”的“洗掉”,包括检查数据一致性,处理无效值和缺失值等。使用 Jsoup 获取到的是整个页面的资源,其中包含了Html的代码也就会包含了无意义的数据,我们就需将它进行清洗。
使用 BI 工具实现可视化大屏
以下是每个步骤的具体实现方法:
数据获取: 使用Jsoup技术抓取携程旅游网的数据。Jsoup是一个强大的Java库,可以用来解析和操作HTML文档。您可以通过以下方式使用Jsoup来获取网页数据:
javaDocument document = Jsoup.connect("携程旅游网的URL").get();Elements elements = document.select("您的选择器");其中,“您的选择器”应根据您需要抓取的数据的HTML结构来确定。例如,如果您想抓取所有的酒店链接,您可能会使用a[href]作为选择器。
数据清洗: 清洗HTML文档中的无意义数据。这通常涉及到去除脚本、样式、无关的HTML注释和空白节点等。Jsoup提供了多种方法来实现这一点,例如outputSettings(new DocumentOutputSettings().prettyPrint(false))可以去除空白字符,而select("script").remove()可以移除所有的<script>标签。
数据存储: 将清洗后的数据存储到HBase中。HBase是一个分布式的、可扩展的大数据存储系统,它建立在Hadoop文件系统(HDFS)之上,提供对大规模数据集的随机实时读/写访问。您需要定义合适的列族和列,然后使用HBase的API将数据插入到表中。例如:
javaConfiguration config = HBaseConfiguration.create();try (Connection connection = ConnectionFactory.createConnection(config);您需要根据您的数据结构来设计rowkey、列族和列。
数据分析: 对存储在HBase中的数据进行分析。这可能涉及到使用MapReduce来处理数据,比如统计每个城市的宾馆平均价格。您需要编写一个MapReduce程序,其中Mapper会从HBase读取数据,Reducer会进行实际的计算。
数据可视化: 制作可视化大屏。您可以使用BI工具如Power BI来实现这一点。Power BI提供了丰富的可视化组件,如图表、表格、切片器等,可以帮助您将数据转化为有意义的洞察。您可以通过配置API动态数据来实现数据的实时展示。
数据挖掘: 对酒店评论进行词频统计和分析。您可以使用Python的jieba库来进行中文分词和词性标注,然后进行词频统计。这可以帮助您了解客户对酒店的普遍看法和意见。
鄂ICP备2023011697号-1 | Powered By 91代做