如何搭建一套比较健全的互联网舆情平台?

只要学习过编程的人,有点编程经验,都是可以搭建出一套简易的舆情平台。详情查看:千界云科

首先第一步的话就是数据采集。需要采集哪些数据,论坛的数据需要采集吗?微博的数据需要采集吗?视频呢?确定好自己需要采集的数据才能进行下一步的操作。

一般的话第一步是只是进行新闻文章的采集,比如 四大门户的新闻数据,百度百家的新闻数据等。那么一篇新闻需要采集下来的结构有哪些呢?标题、作者、发布时间、正文、来源 基本上就是这五个要素。其他的字段数据都是在这些字段上面进行延伸的。比如说情感分类、文章分类、文章相似度等等。

涉及到新闻采集的话,就得涉及到去重 和 更新两个操作。去重的话应该怎么样去重呢?第一你得先设计到文章的ID机制,这个ID是怎么生成的,直接用URL作ID可行吗?有些新闻网站会携带一个时间戳的参数 比如 微信文章,这个时候URL作为ID是不可行的。在这里提供一个思路,那就是使用MD5(标题+网站源+发布时间) 这三个字段进行组合的方式,当然也是可以扩充其他字段的。这样就保证了这个ID的唯一性,同时也是可以确保更新的。

去重:你得考虑到数据量的问题,新闻每天的生产量可以达到百万的级别,如果使用Mysql作为去重的话,那就得分库分表,执行起来效率还很慢,因为采集的时候会使用分布式采集的方式。使用Redis存储ID字段作为排重的话,那么Redis的性能就必须保证好,这个库会越来越大的。使用布隆过滤器来进行采集的话,这个过滤器需要进行分布式共享才可以,增加了难度。最后一步就是使用Redis搭建布隆过滤器,解决了分布式共享 和 大规模的问题。非常不错的。

更新:一般的网站源都是在首页列出最新发布的文章,再往里引申一层的就是次级页面,这个也是比较新的内容,第三级的页面基本上就是好几天的新闻了。所以设计更新的话 我们只要采集一个网站源的三级页面即可。循环进行采集就可以了。

现在有了原始的新闻数据之后,需要进行NLP处理,比如说 增加省市区、增加情感分析字段、增加文章分类字段、增加新闻权重等等额外的信息。这样一篇完整的新闻记录就出现了。

有了新闻记录了,接下来怎么进行存储呢?使用关系型数据库来进行存储吗?一键pass掉,不可行。在这里我们采用ES来进行存储,这样优势在于 一是可以非常容易的快速进行扩充服务器,二是索引数据 和 存储数据 一下子解决了 三是前端的搜索 和 统计 可以达到非常好的支撑。

存储我们使用ES来进行存储,实际上在这里,最终的新闻数据都已经存储好了,接下来就是设计新闻库的搜索接口和统计接口。ES提供了一套Restful接口形式,可以非常好的进行调用,另外就是利用JAVA接口来进行设计。这样搜索接口 和 统计接口就完事了。

数据接口准备好了之后,前端可视化就可以开始上阵了。搜索条件、分页、统计可视化(使用百度的Echarts)就可以很好的得到解决。

OK了,一套完整的舆情系统就做出来了。

另外就是预警功能应该如何做呢?预警功能,无非就是提前设置好搜索条件,定点进行执行搜索,看是否有结果出来,有的话就发送邮件了。

猜你喜欢

转载自blog.csdn.net/fhg12225/article/details/80460183
今日推荐