基于网络爬虫技术的网络新闻分析主要用于网络数据爬取。本系统结构如下:
(1)网络爬虫模块。
(2)中文分词模块。
(3)中3文相似度判定模块。
(4)数据结构化存储模块。
(5)数据可视化展示模块。
点击下载源码
时至2023年,互联网大爆炸催生出了一系列新生的网络产物,如微博、微信、网络新闻等,这些产物逐渐演化成了互联网时代的新兴媒体,以全新的方式承载了舆情与舆论。网络新闻是由于某一时刻发生的新闻,首先被上传到互联网上,然后经过广大网民的评论转发而广泛传播,其中包含了很多的重要而且有价值的信息,例如网民们的评价倾向,人们对待某一事物的看法等等。时至今日,互联网信息产业三足鼎立的局面显而易见,主要网络媒体新闻来源:新浪微博、微信公众号、网络媒体。
其中,最开始显现这一势头的是新浪微博,例如“郭美美事件”,经由个人发博文,然后通过@一些网络推手或者微博大V,使得相关信息传播如星星之火,借助于微博的实时性,很快会形成燎原之势。正是因为微博拥有这些特征,很多正面或者负面新闻不能通过传统媒体报道却能通过微博途径大肆传播。随着新浪微博的发展与推广,越来越多的人喜欢将自己的生活“曝光”在微博上,例如心情状态、将来的计划、晒一晒生活、晒一晒人生等等,无形中,微博对舆论分析的潜在价值不断上升。微博拉近了人们与新闻、与热点的距离,但是它也带来了不可忽视的负面影响。针对微博谣言恶性化、舆论暴力不断、侵权案件层见叠出等问题,完全可以变废为宝,提早掌握此类信息,提早整改。然而,近两年新浪微博对爬虫的预防愈来愈加严格,以微博api为首的一批爬虫已经跌倒,起因是新浪对相关微博SDK的api的封锁以及限制,故在本文中暂且抛弃了新浪微博这一网络新闻诞生地。
再者,就是微信公众号,俗话说“十年河东十年河西”,随着互联网传媒的进一步发展,更具有效率与价值的“新媒体”不断推出,在新浪微博如火如荼的情况下,微信公众号平台悄悄地来临了,其发展速度与推广力度甚至超过了新浪微博。微信的公众号与朋友圈功能深受广大媒体与网民们的欢迎,所以说,又有“新媒体”诞生了。横向对比微信公众号的效力,如果其微信订阅人数超过一万,那俨然就相当于一本杂志了;如果其微信订阅人数超过十万,那完全可以与地方性的报纸的影响力相媲美;但是一旦其微信订阅用户数量达到了百万级,其影响力绝对不会低于电视台,令人震惊。如今,微信订阅用户数量(即粉丝数量)达到百万级的公众号比比皆是,由大粉丝量的公众号推送的文章影响力难以想象,而且速度迅疾,与传统媒体相比,简直秒杀传统传媒行业。所以网络新闻的采集必然不可放过此领域,然而现实很残酷,微信公众号文章采集涉及跨平台,跨应用,以及相关权限token的获取,相对来说非常繁琐且自动化效率不高,故本文也放弃了此方式。
后者,也就是网络媒体了,各类门户网站借助自身的app可以迅速推送由各媒体记者收集到的一线新闻,比较热的网络媒体平台有:凤凰网新闻、新浪新闻、搜狐新闻、网易新闻等,其专业程度要远胜于社交媒体,如微博、微信等,而且网络媒体信息的商用价值也要大于另外两家。
若要实时监测网络新闻的发展与变化,则必须使用相关工具,人工的速度太慢,这时候网络爬虫就应运而生了。爬虫需要定时爬取相关网络媒体页面,获取页面源码并进行解析,取出正文部分。这里面涉及到过滤算法,或者是网页结构的解析算法,同时还涉及到如何应对网站反爬虫策略,主要分为以下几个部分:
爬虫技术:采用什么语言、什么框架来写爬虫,现阶段有什么样的流行的java爬虫框架?如何从松散、非结构化的网络新闻中得到结构化的、紧凑的网络新闻数据。
网页处理技术:如何处理js、面对ajax加载的网站该使用什么样的策略,以及如何从html语句中准确抽取出文章正文,同时还要提防网站的反爬虫技术,需要的时候爬虫请求头还可能需要带上cookie等等。
中文分词技术:能够以相对较高的准确率将抽出出来的正文进行中午分词,以便后续使用分词来确定文章的相似性。网络新词层出不穷,所以分词是否能准确识别未知的新词很是重要。目前分词工具准备使用采用Lucene作为核心的IK分词、或者国产的Ansj中文分词等分词工具。
中文语料相似度匹配:随着近几年的相关理论研究,已经推出了一些半成熟的解决方案,例如有计算余弦定理的方法、分析语义与词序的方法、计算编辑距离的方法。首先介绍下编辑距离语料相似度计算的算法,具体是在给出任意两个汉字语句后,计算将这两个语句中任意一个汉字语句变换成另一个汉字语句的变换过程中所需要的最少的编辑次数。最小编辑距离的算法是首先由俄国的科学家Levenshtein提出的,故又叫做Levenshtein Dsitance。当然,算法目前不能做到百分百相似匹配正确,这个问题的解决算是世界上的一大难题了。
相似新闻趋势展示:采用jfreechart或者百度的echarts将分析结果以曲线图方式展示出来。