论文部分内容阅读
近年来,随着水文信息的数字化,海量的数据以不同的形式被公布在互联网上。这些数据的公开方式多种多样,主要包括文本形式、表格形式和通过API接口返回的JSON数据形式。这些数据的发布站点广泛,不仅包括国家各省市水利部门的网站,还包括其它非官方的可推送水文信息的网站。水利行业为了满足对水文数据的需求,需要从这些不同的站点和不同的数据形式中整理出自己所需的数据。本文主要解决了如何通过互联网高效获取数据的问题,使得用户可以通过单一网站查询并下载水文数据。本文主要研究如何利用网络爬虫技术在互联网上抓取相关的水文数据:河道的含沙量、流量、水位,某地区的降雨量和水库的水位、警戒水位、库容量等数据;以及如何通过web的方式为用户提供数据服务。 针对如何从互联网抓取水文数据的问题,本文利用可对网页分类的主题爬虫技术,从水文信息高度相关的种子站点开始遍历互联网,对于每个网页先根据其文本密度提取正文,然后通过朴素贝叶斯分类器对网页内容识别,以判断该网页是否为水文相关的。对于水文相关的网页,系统根据其文本表现形式选择对应的方法提取数据。对于文本形式的数据,系统通过匹配关键词,然后从中提取出所需的数据;对于表格形式的网页数据,系统通过按标签解析html源代码的方式抓取数据。 基于以上思路,本文设计实现了网络爬虫系统。针对如何为用户提供数据服务的问题,本设计实现了基于B/S架构的数据服务平台。Web后端以Java为编程语言,以Spring Boot为框架开发,实现了数据的访问服务和相关的业务逻辑。Web前端基于Angular4开发,主要实现了如下的功能:用户登录、用户注册、用户个人信息查询及修改、水文信息查询、水文信息下载、降雨量可视化。 通过实验进行测试,系统实现了基于网络爬虫抓取水文数据,并为用户提供数据服务。