【精品毕设推荐】基于网络爬虫技术的网络新闻分析

40 篇文章 0 订阅

点击免费下载原文及代码教程

摘  要

自从大数据的概念被提出后,互联网数据成为了越来越多的科研单位进行数据挖掘的对象。网络新闻数据占据了互联网数据的半壁江山,相比传统媒体,其具有传播迅速、曝光时间短、含有网民舆论等相关特征,其蕴含的价值也愈来愈大。

利用相关网络爬虫技术与算法,实现网络媒体新闻数据自动化采集与结构化存储,并利用中文分词算法和中文相似度分析算法进行一些归纳整理,得出相关的新闻发展趋势,体现网络新闻数据的挖掘价值。

如果商业公司能选取其中与自身相关的新闻进行分析,则可以得到许多意想不到的收获,例如是否有幕后黑手故意抹黑、竞争对手情况如何。第一时间掌握与其相关的网络新闻负面效应,动用公关力量,及时修正错误,平息负面新闻,这对当今的企业来说价值是巨大的。

关键词:网络爬虫;网络新闻;数据挖掘

Abstract

Since the concept of the big data is put forword, data on the Internet became more and more scientific research units for the object of data mining. Netnews data occupies half of Internet data, compared with traditional media, it has spread rapidly, short exposure time and contains the related characteristics of public opinion.

The related web spider technology and algorithm, to realize the Netnews automatic data collection and structured storage, and summarizes some finishing, draw related news development, reflect the value of Netnews data mining, is the main purpose of this paper.

If a business can choose news which related to their own and to do some professional analysis, they can get many unexpected gains, for example, if there is someone behind deliberately smear, or a competitors. First to master relevant negative effects of Netnews, the use of public power, timely and correct mistakes, to calm the negative news, which is the value of today’s enterprise is enormous.

Key words: web spider; Netnews; data mining

1  绪论

1.1 论文研究背景与意义

时至2016年,互联网大爆炸催生出了一系列新生的网络产物,如微博、微信、网络新闻等,这些产物逐渐演化成了互联网时代的新兴媒体,以全新的方式承载了舆情与舆论。网络新闻是由于某一时刻发生的新闻,首先被上传到互联网上,然后经过广大网民的评论转发而广泛传播,其中包含了很多的重要而且有价值的信息,例如网民们的评价倾向,人们对待某一事物的看法等等。时至今日,互联网信息产业三足鼎立的局面显而易见,主要网络媒体新闻来源:新浪微博、微信公众号、网络媒体。

其中,最开始显现这一势头的是新浪微博,例如“郭美美事件”,经由个人发博文,然后通过@一些网络推手或者微博大V,使得相关信息传播如星星之火,借助于微博的实时性,很快会形成燎原之势。正是因为微博拥有这些特征,很多正面或者负面新闻不能通过传统媒体报道却能通过微博途径大肆传播。随着新浪微博的发展与推广,越来越多的人喜欢将自己的生活“曝光”在微博上,例如心情状态、将来的计划、晒一晒生活、晒一晒人生等等,无形中,微博对舆论分析的潜在价值不断上升。微博拉近了人们与新闻、与热点的距离,但是它也带来了不可忽视的负面影响。针对微博谣言恶性化、舆论暴力不断、侵权案件层见叠出等问题,完全可以变废为宝,提早掌握此类信息,提早整改。然而,近两年新浪微博对爬虫的预防愈来愈加严格,以微博api为首的一批爬虫已经跌倒,起因是新浪对相关微博SDK的api的封锁以及限制,故在本文中暂且抛弃了新浪微博这一网络新闻诞生地。

再者,就是微信公众号,俗话说“十年河东十年河西”,随着互联网传媒的进一步发展,更具有效率与价值的“新媒体”不断推出,在新浪微博如火如荼的情况下,微信公众号平台悄悄地来临了,其发展速度与推广力度甚至超过了新浪微博。微信的公众号与朋友圈功能深受广大媒体与网民们的欢迎,所以说,又有“新媒体”诞生了。横向对比微信公众号的效力,如果其微信订阅人数超过一万,那俨然就相当于一本杂志了;如果其微信订阅人数超过十万,那完全可以与地方性的报纸的影响力相媲美;但是一旦其微信订阅用户数量达到了百万级,其影响力绝对不会低于电视台,令人震惊。如今,微信订阅用户数量(即粉丝数量)达到百万级的公众号比比皆是,由大粉丝量的公众号推送的文章影响力难以想象,而且速度迅疾,与传统媒体相比,简直秒杀传统传媒行业。所以网络新闻的采集必然不可放过此领域,然而现实很残酷,微信公众号文章采集涉及跨平台,跨应用,以及相关权限token的获取,相对来说非常繁琐且自动化效率不高,故本文也放弃了此方式。

后者,也就是网络媒体了,各类门户网站借助自身的app可以迅速推送由各媒体记者收集到的一线新闻,比较热的网络媒体平台有:凤凰网新闻、新浪新闻、搜狐新闻、网易新闻等,其专业程度要远胜于社交媒体,如微博、微信等,而且网络媒体信息的商用价值也要大于另外两家。

1.2 论文研究内容

若要实时监测网络新闻的发展与变化,则必须使用相关工具,人工的速度太慢,这时候网络爬虫就应运而生了。爬虫需要定时爬取相关网络媒体页面,获取页面源码并进行解析,取出正文部分。这里面涉及到过滤算法,或者是网页结构的解析算法,同时还涉及到如何应对网站反爬虫策略,主要分为以下几个部分:

爬虫技术:采用什么语言、什么框架来写爬虫,现阶段有什么样的流行的java爬虫框架?如何从松散、非结构化的网络新闻中得到结构化的、紧凑的网络新闻数据。

网页处理技术:如何处理js、面对ajax加载的网站该使用什么样的策略,以及如何从html语句中准确抽取出文章正文,同时还要提防网站的反爬虫技术,需要的时候爬虫请求头还可能需要带上cookie等等。

中文分词技术:能够以相对较高的准确率将抽出出来的正文进行中午分词,以便后续使用分词来确定文章的相似性。网络新词层出不穷,所以分词是否能准确识别未知的新词很是重要。目前分词工具准备使用采用Lucene作为核心的IK分词、或者国产的Ansj中文分词等分词工具。

中文语料相似度匹配:随着近几年的相关理论研究,已经推出了一些半成熟的解决方案,例如有计算余弦定理的方法、分析语义与词序的方法、计算编辑距离的方法。首先介绍下编辑距离语料相似度计算的算法,具体是在给出任意两个汉字语句后,计算将这两个语句中任意一个汉字语句变换成另一个汉字语句的变换过程中所需要的最少的编辑次数。最小编辑距离的算法是首先由俄国的科学家Levenshtein提出的,故又叫做Levenshtein Dsitance。当然,算法目前不能做到百分百相似匹配正确,这个问题的解决算是世界上的一大难题了。

相似新闻趋势展示:采用jfreechart或者百度的echarts将分析结果以曲线图方式展示出来。

2  系统需求分析

软件需求分析对软件系统提出了清楚、准确、全面而具体的要求,是对软件使用者意图不断进行揭示与准确判断的过程,它并不考虑系统的具体实现,而是严密地、完整地描述了软件系统应该做些什么的一种过程。

2.1 系统需求概述

要求爬虫系统能完成对凤凰网新闻、网易新闻、新浪新闻、搜狐新闻等网站新闻数据的实时抓取,并正确抽取出正文,获取新闻的点击量,实现每日定时抓取。能将抓取回来的新闻进行中文分词,利用中文分词结果来计算新闻相似度,将相似的新闻合并起来,同时也合并点击率,最后一点,能将相似因为一段事件内的用户点击趋势以合适的形式展现出来。

基于网络爬虫技术的网络新闻分析由以下几个模块构成:

网络爬虫模块。

中文分词模块。

中文相似度判定模块。

数据结构化存储模块。

数据可视化展示模块。

2.2 系统需求分析

2.2.1 系统功能要求

按照对系统需求调用的内容分析,系统功能划分为了一下五个模块:

 数据采集模块:

数据采集模块负责数据采集,即热点网络新闻数据的定时采集,以及数据的初步拆分处理。

(1)中文分词模块:

中文分词模块能将数据采集模块采集到的热点网络新闻数据进行较为准确的中文分词。

(2)中文相似度判定模块:

中文相似度判定模块通过将数据采集模块采集到的热点网络新闻数据结合中文分词模块的分词结果,进行网络热点新闻的相似度分析,并能够将相似新闻进行数据合并。

(3)数据结构化存储模块:

数据结构化存储模块贯穿在其他模块之中,在数据采集模块中,负责存储采集拆分后的热点网络新闻数据;在中文分词模块中,负责从数据库读出需要分词处理的网络新闻数据;在中文相似度判定模块中,负责从将分析得到的相似新闻进行存储;在数据可视化展示模块中负责将相似热点新闻数据从数据库读出,其中涉及到大量关于数据库资源的处理。

(4)数据可视化展示模块:

数据可视化展示模块负责将中文相似度判定模块判定为相似新闻的数据以可视化的形式展示出来,展示形式可以自定义。

2.2.2 系统IPO图

整个系统的IPO图如图2-1。

爬虫输入新闻数据,然后处理分析,最后用可视化界面展示出来。

2.2 系统非功能性需求分析

本系统设计的非功能性需求涵盖了一下几个方面:

性能需求:

要求爬虫能并行爬取网络新闻,并行分析,数据库的并发处理能力要足够强。

可靠性需求:

要求系统运行能保持稳定持久状态,没有明显的BUG

易用性需求:

要求爬虫系统能做到尽可能的自动化,争取不需要人为操作。

维护性需求:

要求系统出现BUG能比较容易的修复,系统的后期拓展功能较强。

3  系统概要设计

系统概要设计的主要目的是能在此阶段将系统的主要功能逻辑设计和数据库系统的逻辑设计完全从需求分析中提取出来,在提取的过程中,不仅仅是奔着实现软件的功能而去,还得考虑上下文环境,例如系统最终的运行环境,系统以后可能增加的需求等等相关约束,在捋清楚系统约束之后在进行系统概要设计,这样软件系统之后的二次开发也不会太难。

3.1 设计约束

3.1.1 需求约束

系统能稳定运行在最低为JDK1.7的平台上。

数据库向后兼容,最低适配Mysql5.1。

要求程序有较好的跨平台性,可以同时运行在Linux、windows、Unix系统上。

要求数据库连接方面,设置的密码足够复杂,数据库连接管理良好,数据库系统能健壮运行。

禁止使用商业性软件,在本系统中使用的算法或是类库必须是免费的。

系统对系统配置的要求要尽可能低。

程序具有良好的可移植性、兼容性、安全性。

3.1.2 设计策略

为了本系统能适应未来的需求与发展,特制定如下策略:

系统具有良好的接口扩展功能,能非常容易地扩展新功能,并将可能会经常调整的部分单独提取出来作为一个模块;

系统代码具有非常良好的复用价值,新功能的添加能基于现有功能进行派生;

系统代码优化到位,很少出现或者完全不会出现内存泄露的问题,包括数据库连接池的泄露,独享资源使用未关闭句柄的问题等;

当优化问题与代码健壮性发生冲突时,则以保证代码健壮性为首要目标,可以适当调整优化。

3.1.3 技术实现

本系统设计与开发工具采用以下配置:

开发语言:java JDK版本1.7。

Java是一种具有非常棒的面向对象的设计思想的一门计算机语言语言。Java 技术具有很高的生产力,原因是大量的程序员为其贡献了大量的代码,目前Java程序广泛应用于Web、企业管理系统、云计算、大数据计算等方面,同时Java目前在全球的编程语言的稳居第一。

开发环境:Eclipse。

Eclipse 一开始是IBM旗下的一款开发工具,知道后来被IBM贡献给了开源社区,虽然开源,但是其功能一点也不逊于专业收费类型的开发IDE,Eclipse有着强大的开源活力,以及良好的扩展性,很容易在论坛上下载到各种各样为Eclipse量身定制的插件,所以开发本系统采用了Eclipse作为开发IDE。

3.3 模块结构

3.3.1 模块结构图

爬虫系统软件结构图:

向爬虫系统输入网页URL,爬虫打开网页解析处理抽出网页正文,然后输出网页正文,如图3-1所示。

将网页正文传入系统,系统根据词库以及相关策略开始分词,最后将分词结果以数据形式(词组的形式)输出出来,如图3-2所示。

首先第一步输入数据:网络爬虫系统采集到的数据作为相似度匹配系统的输入,然后进入处理过程,处理过程采用了改进了的余弦定理进行处理,然后系统返回处理后的结果,最终本系统将处理后的结果作为输出,并传递给下一个子系统进行处理,如图3-3所示。

3.3.2 系统层次图

本系统设计为分别由三个子系统组成,分别是:网络爬虫系统即数据采集系统、新闻分析系统即中文语料相似度分析系统和最终结果展示系统,如图3-4所示。

  • 41
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值