基于微信的社会热点新闻监控系统文献综述
2020-06-24 19:49:00
文 献 综 述
微信作为一种新兴的网络媒体,由于它灵活、方便、智能的设计,使依赖于微信进行交流的人越来越多,已经深入人们的日常生活。微信作为通信工具的同时也可以作为网络热点新闻传播的主要载体和平台,使信息传播更迅速,也使热点事件的影响力增加,成为网络热点新闻信息的重要来源。人们目前基于微信公共号的订阅模式的信息分发方式已经成为了普遍网民获取信息的重要方式。
微信对社会热点事件的传播有积极的作用,同时也有消极的作用。海量微信数据不但包含丰富多样的话题信息,在同一话题内部的文章也会呈现各自不同的侧重点,如果能够将信息进行归类总结,将有效提升人们获取信息的效率。因为微信建立在使用者与其亲朋好友的交流上,所以信息传播的范围相对封闭。使用者们更愿意表达自己的各种态度,各种情绪和思想判断都会凭借个人社会、政治态度表达出来,让微信的信息传播呈现出良莠并生的结构情形。当发生了一些影响较大的社会政治事件时,甚至会出现政治性和社会性转帖和发帖数量快速增加的情况。
通过微信掌握网络热点事件的发展动向,并及时加以引导,就显得尤为重要。要主动关注微信的信息,及时掌握人们关注的热点问题,加强对热点问题的追踪,了解人们的思想动态,增加网络信息交流的真实性。
本次毕业设计旨在实现一个基于微信的社会热点新闻监控系统。利用基于Node.js的代理服务器Anyproxy、微信客户端和中间人攻击来实现数据的采集,使用Java对数据进行解析并将数据存储于MySQL中。用python对数据进行清洗处理,并对数据进行分析。
网页爬虫的数据处理首先从初始URL 开始,Scheduler 会将其交给 Downloader 进行下载,下载之后会交给 Spider 进行分析,Spider分析出来的结果有两种:一种是需要进一步抓取的链接,这些会被传回 Scheduler ;另一种需要保存的数据,则被送到Item Pipeline 那里,对数据进行后期处理(详细分析、过滤、存储等)。在数据流动的通道里还可以安装各种中间件,进行必要的处理。而在2016年微信公众号和微信文章开始使用https链接,阅读、点赞数,只能在微信内置到浏览器看到。Anyproxy支持HTTPS,能够生成证书,使得客户端和代理服务器端互相信任,从而能接收HTTPS请求和回复,而公众号历史消息中,许多请求都是HTTPS的。获取到https链接的内容。并且Anyproxy可以通过修改rule配置实现向公众号的页面中插入脚本代码。
微信客户端爬取数据是通过手机客户端(Client)发送请求给代理服务器(Server,即本机),本机再将这个请求发送给微信服务器,微信服务器返回信息需要经过本机,再由本机传递给手机客户端。本机承担中间人的作用,而接受到微信返回的信息后,可以对那个信息植入脚本,再发送给手机客户端。在这个过程中,本机承担中间人的作用,而接受到微信返回的信息后,可以对那个信息植入脚本,再发送给手机客户端。这就是中间人攻击。
AnyProxy是阿里巴巴基于 Node.js 开发的一款开源代理服务器。做为中间代理服务器,它可以收集所有经过它的http请求流量(包括https明文内容);它提供了友好的web界面,便于直观的查看经过它的http请求;同时它支持二次开发,可以用javascript控制整个代理的全部流程,便于前端调试和收集http请求页面内容。它可以用于移动app和移动web页面调试、抓取。
JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。是一种基于对象和事件驱动,并具有相对安全性的客户端脚本语言。被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。它无需服务器通道,作为一种解释行语言,可以在客户端及时响应文档页面事件,并能够灵活处理对象的各种方法和属性,具有较好的实时性和动态性。
Java是面向对象的语言,可以创建模块化程序和可重用代码,可以从一个计算机系统移植到另一个计算机系统,独立于平台。由于Java的健壮性、使用方便、跨平台的能力和安全性特点,成为广泛使用的编程语言。