网络爬虫范文
时间:2023-04-05 04:14:48
导语:如何才能写好一篇网络爬虫,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)07-0061-03
信息和知识爆炸增长的时代,搜索引擎成为人们获取信息的重要工具。搜索引擎释放出来的网络爬虫会大量占用互联网带宽,很可能在短时间内导致网站访问速度缓慢,甚至无法访问。应对此种情况,许多网站采取了一些措施来拦截网络爬虫的爬取。本文在分析网络爬虫原理的基础上,针对“反爬”网站提出了一些有效的爬取策略。
1网络爬虫概述
网络爬虫是抓取网页信息的一种程序,它可用来检查一系列站点的有效性,当按照需求抓取并保存数据时,是搜索引擎的重要组成部分。它还可以定向采集某些网站下的特定信息,比如招聘、二手买卖等信息。
网络上的网页许多都由超链接连接,故形成了一张网,网络爬虫因此也叫做网络蜘蛛,顺着网爬,每到一个网页就抓取信息并抽取新的超链接,用于进一步爬行的线索。网络爬虫爬行的起点叫做种子,可以自己设定也可以从某些系列网站获取。
1.1网络爬虫的组成
网络爬虫主要由控制器、解析器和资源库三部分组成。控制器是网络爬虫的控制中心,它负责分配线程并调用爬虫为其分配爬取任务;解析器是网络爬虫的核心,它的主要工作是下载网页并对网页中的信息进行处理,例如删除一些JS脚本、HTML标签和空格字符等,抽取特殊HTML标签的功能,分析数据功能;资源库是用于保存下载的网页资源,并提供生成索引的目标源。一般采用中大型的数据库存储,如Oracle、Sql Server等。
1.2网络爬虫的工作原理
网络爬虫的基本工作流程如下:
1)选取初始种子URL集合;
2)将URL集合放入待抓取URL队列;
3)从待抓取URL队列中取出待抓取URL,解析DNS,得到主机IP,将URL对应网页下载并存储至网页资源库。结束后将这些URL放入已抓取URL队列。
4)从已抓取URL队列中的URL分析出新的满足需求的URL,放入待抓取URL队列。
5)循环第3步,直至满足停止条件。
传统网络爬虫框架如图1所示。
1.3网络爬虫的搜索策略
网络爬虫在运行过程中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL如何排序也是一个值得研究的问题,因为这涉及先抓取那个页面,后抓取哪个页面。而排列URL顺序的方法,叫做抓取策略。常见的网络爬虫策略有:
1)广度优先搜索策略。在抓取过程中,由根节点开始,完成当前层次的搜索后才跳到下一层次的搜索。该策略实现较为简单,其基本思想是认为与初始URL在一定链接距离内的网页具有主题相关性的概率很大。
2)深度优先搜索策略。这种策略的主要思想是网络爬虫从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。
3)最佳优先搜索策略。该策略通过计算 URL 描述文本与目标网页的相似度,或者与主题的相关性,根据所设定的阈值选出有效 URL 进行抓取。
4)反向链接数策略,反向链接数是指一个网页被其他网页链接指向的数量。反向链接数表示的是一个网页的内容受到其他人的推荐的程度。因此,很多时候搜索引擎的抓取系统会使用这个指标来评价网页的重要程度,从而决定不同网页的抓取先后顺序。
2如何应对站点反爬虫机制
网络爬虫会对目标站点发送大量请求,而这样的爬虫机制会消耗不少网站资源,这对于中小型网站的负载是 巨大的,甚至因此而崩溃,故不少网站都采取了反爬虫的机制。例如:通过识别爬虫的User-Agent信息来拒绝爬虫,通过Filter过滤网络爬虫,通过网站流量统计系统和日志分析来识别爬虫,利用网站的实时反爬虫防火墙实现策略。为了不被站点判断为爬虫而被拒绝访问请求,此处提供两种方法来维持爬虫的正常运转。
2.1降低访问请求频率
降低访问请求频率,在一定程度上是,模仿真人浏览页面的动作,故而不会轻易被网站所封杀,拒绝访问。实现的方法为在访问URL的程序中,将访问请求的线程休眠一段时间。
具体代码如下:
try { Thread.currentThread().sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Sleep的休眠时间按照需求而定,以毫秒(ms)为单位。这种策略的优点是减少了目标站点单位时间内的负载,而缺点则为爬虫爬取效率的降低。
2.2设置服务器
设置服务器,较之前一种方法来说则以爬虫的效率为首要要求,实质就是某些网站的反爬虫机制会封杀爬虫请求频率过高的主机的IP,为了解决这一问题,使用服务器,更换IP以及端口,解除站点对访问频率高的主机访问的限制。
有两种调用的方法,具体代码如下:
方法一:
Jsoup.connect("http:///cityjson").proxy(Proxy.Type.HTTP, "61.158.237.35", 3128).get();
方法二:
System.setProperty("proxySet", "true"); System.setProperty("http.proxyHost", "61.158.237.35"); System.setProperty("http.proxyPort", "3128");
Document a = Jsoup.connect("http:///cityjson").get();
System.out.println(a);
其中的IP与端口为 61.158.237.35:3128。
前后的效果如图2,3所示。
优点:保证爬虫执行不被站点封杀。只要有足够IP可满足爬取条件。
缺点:单位时间内消耗资源过多,给站点带来较大的负载。延迟加大,失败率提高。
2.3伪装用户
用户User-agent是HTTP协议中的一个字段,作用是描述发出HTTP请求终端的一些信息。通俗来说,就是判断访问网站对象的类别,每个浏览器和正规的爬虫都有固定的user-agent,因此只要将这个字段改成知名的user-agent就可以成功伪装了。对于伪装浏览器user-agent或知名爬虫user-agent,更推荐伪装浏览器,因为浏览器使用者可以是任何人,没有固定的IP,而知名爬虫user-agent一般都有固定IP。下面给出若干个浏览器的user-agent,每次发送请求时可随机选取一个。
Mozilla/4.0( compatible ;MSIE 8.0;Windows NT 6.0)
Mozilla/4.0( compatible ;MSIE 7.0;Windows NT 5.2)
Mozilla/4.0( compatible ;MSIE 6.0;Windows NT 5.1)
设置代码如下:
HttpGet getMethod = new HttpGet(“URl”);
getMethod.setHeader(“User-Agent”,”user agent内容”);
2.4 自动登录
有些网站一检测到某IP的访问量异常,就会马上提出要登录的要求。针对这种“反爬”策略,在登录前需要做一些准备,查清楚POST登录请求时要附带的参数,建议先用badboy录制登录过程,然后将这一过程导出为jmeter文件,最后用jmeter查看登录所需的参数。
3结束语
总之,为了防止爬虫被封,原则就是伪装成正常的用户,只要按照这个原则总有方法可循。不过若是能熟知一些反爬虫的原理,然后有针对地进行拆招应该还是十分有效的。
传统网络爬虫应用于抓取静态Web网页的信息,而AJAX/Web2.0的流行使得如何抓取动态页面信息成为目前网络爬虫的瓶颈。另外,网络爬虫的效率与网站稳定安全还未能完全达到两者兼得的状态。对于搜索引擎,它抓取的消耗较大,因此爬虫的效率、特性和抓取的质量就显得更为重要。在未来的大数据时代,网络爬虫技术地位更为重要,和人工智能技术相结合将是热门的课题。
参考文献:
[1] 郭小丹.几种开源网络爬虫功能比较[J].黑龙江科技信息,2015(25).
[2] 林雄强.网络爬虫[J].中国科技博览,2014(24).
[3] 赵全军,成功,李小正,等.一种改进的网络爬虫搜索策略[J].中国科技信息,2014(14).
[4] 刘庆杰,孙旭光,王小英.通过Filter抵御网页爬虫[J].网络安全技术与应用,2010(1).
[5] 吴晓晖,纪星.Web爬虫检测技术综述[J].湖北汽车工业学院学报,2012(1).
篇2
>> 基于垂直搜索引擎的主题爬虫技术 Heritrix在垂直搜索引擎中的应用 用开源软件建垂直搜索引擎 垂直搜索引擎爬虫系统DIPRE算法及改进 应用已有的开源搜索引擎 垂直搜索引擎应用研究 浅谈垂直搜索引擎技术的应用 浅析垂直搜索引擎的应用 网络化制造资源垂直搜索引擎的研究与应用 搜索引擎也开源 主题搜索引擎中网络爬虫的搜索策略研究 垂直搜索引擎异军突起 垂直搜索引擎在旅游企业中应用的探索 用户兴趣模型在垂直搜索引擎检索模块中的应用 垂直搜索引擎在金融信息技术分析中的应用 基于C#的网络爬虫搜索引擎的设计 主题搜索引擎中网络爬虫的实现研究 基于神经网络的搜索引擎应用 垂直搜索:搜索引擎的激情所在 基于垂直搜索技术的搜索引擎 常见问题解答 当前所在位置:(|l)$,这样就把服务器域名下的网页所有信息全部抓取下来。但是,考虑垂直搜索引擎的使用范围和聚焦爬虫对网页主题的过滤功能,需要设计与实际主题搜索应用相匹配的专用解析器,专用解析器extract(CrawlURL)要实现以下功能:
(1)对所有不含有要抓取的结构化信息页面的 URL、又不含有可以集中提取前者 URL 的种子型 URL,都不作处理。
(2)从可以集中提取含结构化信息页面 URL 的种子型 URL(如地方新闻目录 URL),提取全部的含结构化信息页面的 URL(如地方信息列表 URL)。
(3)从含结构化信息页面的 URL 提取所需的结构化信息,并加以记录。
3.2.2 扩展 Frontierscheduler模块
FrontierScheduler 是一个 PostProcessor,其作用是将 Extractor所分析得出的链接加入到 Frontier 中,以待继续处理,聚焦爬虫实现关键词对主题的判断算法就在该模块中构建并执行。主题相关度判断的关键代码如下:
public void GetCount(String path,CandidateURI caUri)
{//判断待抓取网页与主题是否相关
try {
String s=sb.getStrings();//s 取网页正文字符
Len=length(s);//求网页字符数
float d=0;//初始化 d,用于计算所有导向词的权重和
for(int i=0;i
{count=0,int j=1;//count为导向词出现次数,j 为导向词在字符串的位置
t= length(a[i]);//求第 i 个导向词的字符个数
While(j
int index=s.indexOf(a[i],j,len);//查找字串在 j+1 到 end 之间第一个字符首次出现的位置
if(index!=-1)//找到后,继续在余下的字符串中找
{count++;
j=index+t+1;}
Else
Break;
}
D(i)=count*b(i);//D(i)是第 i 个导向词的权重,b(i)表示 i 个导向词的权值。
d=d+ D(i);//将所有导向词的权重求和
}
k=1/len * 1/100 * d;//k 是网页主题相关度,len是文章字符数,100个导向词
if(k>0.6) ; //相关度判断
{System.out.println("count:"+count);//表示输出
getController().getFrontier().schedule(caUri); //当前 url 加入 heritix 采集队列 }
}
3.3 Heritrix聚焦爬虫接口的设计
Heritrix 网络爬虫是一个通用的网页采集工具,需要对Heritrix 抓取和分析网页的行为进行一定的控制,修改Extractor和 Frontierscheduler模块后,需要对其各个功能接口进行操作调试,由此保证聚焦爬虫功能的全面实现。下面即对重要功能接口进行必要介绍。
(1)应用接口
在设计聚焦爬虫时,应定制一个应用接口模块以供用户使用,具体将负责与Heritrix 软件关联,以提供启、停爬虫、获取网址、采集关键词等功能实现。
(2)数据库查询和修改接口
在设计聚焦爬虫时,应设计相应的数据库接口,负责下载并发现与主题相关的网页信息、再保存到数据库的表中。存储的字段包括:网页URL,本地存储相对路径,下载时间,HTTP头中抽取的网页编码,关键词id等。
(3)去重接口
因为Heritrix对相同的URL不进行替换,爬虫工作时会下载大量重复的网页,为了节省空间、并获取准确的采集结果,就必须按照设定规则对重复下载的网页进行删除。
4 结束语
通过以上对开源Heritrix软件的改进,聚焦爬虫已能根据预设的关键词进行网站抓取,并按照算法判断,当网页的主题相关度阈值大于0.6时,即聚焦爬虫下载网页,至此爬虫实现了指定网站的主题搜索。综上可见,可以改进开源网络爬虫并使其在垂直搜索引擎中获得成功立项使用。
参考文献:
[1]刘运强. 垂直搜索引擎的研究与设计[J]. 计算机应用与软件,2010, 127(7): 130-132.
[2]刘伟光. 一种基于改进向量空间模型的藏文主题网页采集方法[J]. 图书馆学研究,2014, 16:55-62.
[3]陈欢. 面向垂直搜索引擎的聚焦网络爬虫关键技术研究与实现[D]. 华中师范大学, 2014.
[4] 焦赛美. 网络爬虫技术的研究[J]. 琼州学院学报, 2010, 18(5): 28-30.
篇3
【关键词】竞争情报;网络零售;主题爬虫;在线商品;辅助决策
根据中国互联网络信息中心的研究数据,2010年网络零售市场上用户比例(存在重复选项)第一的是服装鞋帽,为70.1%;第二的是电脑数码产品,为31.6%;第三的是图书音像制品,为31.4%。当前,网络零售商家收集竞争情报的途径主要为手工使用各种搜索引擎(如百度),或购买网络零售平台提供的分析工具(如淘宝的“数据魔方”)。手工使用搜索引擎效率较低,分析工具对大部分零售商家来说价格较贵,且只能获取单个平台的销售数据。主题爬虫是一个能自动从网页中提取指定相关内容的程序,它从一个或若干初始URL开始,不断获取当前页面上的新URL,循环深入进行相关内容抽取,直到达到停止条件。当前有很多免费的爬虫程序,例如Java开源的Heritrix。针对网络零售业,完全可以通过借助这些比较成熟的爬虫程序,为商家量身定制竞争情报系统。
一、系统的基本构成
系统分为两大部分,第一部分为接受商家指定主题和范围,然后在基本资料库中抽取关键词(含URL)推荐。基本资料库由系统在空闲时利用主题爬虫检索并智能生成,尽量涵盖常用网络零售领域和商品种类,可以增加检索准确度和提高效率。第二部分为商家确定关键词后,由系统利用主题爬虫深入全面地检索竞争情报,并将结果汇总为按时间排序的词条呈现。结果的呈现可以分为商家随时查看,以及定时自动汇总两种模式。商家还可以随时在基本资料库中进行关键词调整或者手工加入新的关键词,以改进情报搜集效果。系统整体结构如图1所示。
图1 系统的功能结构图
二、系统的主要功能实现
1.主题爬虫的整合。以现有的Heritrix作为抽取指定URL内容的工具,抽取出来的内容则需进行主题分析、过滤,相关度足够高的内容中包含的URL才能放入队列,等待下一步抽取。(1)主题的表示。主题可以概括为关键词(不含URL)的向量组合。设主题共有n个关键词,则主题的关键词集合表示为T={t1,t2,...,tn},ti为主题的第i个关键词。设ti的权重为wi(ti的重要性),则主题向量α表示为:ω=(w1,w2,...,wn), wi=1。(2)相关性的概念。URL中内容与主题的相关性,可以利用主题的向量表示来衡量。设关键词ti在内容中出现的次数为ci,则整个URL与主题的相关性γ可表示为:γ=wici,ci=0,1,2...。可以根据已知的确定相关的若干URL计算出γ的平均值作为阈值M,γ值超过M的URL认为相关,小于的则过滤掉。主题相关性γ可用来确定主题爬虫每层抽取URL的广度。主题爬虫每次利用Heritrix抽取URL内容的深度固定为1,通过循环调用Heritrix来逐层深入。当某层次所有URL中与主题相关的比例低于某个值(比如50%)时,结束抽取。主题爬虫的抽取深度也可以由每层URL的主题相关性γ来综合决定。
2.基本资料库的创建。基本资料库是为了提高情报搜集效率,也是为了提升系统智能化水平而特意创建的一个关键词库,也包含URL在内。因为一个情报主题所含关键词很难完整而准确地被描述,系统会先利用主题爬虫收集商家提交的主题关键词在常用搜索引擎(如谷歌、百度)和零售平台(如淘宝)中的检索结果,统计其中的关键词和URL,将其中相关性高的放入基本资料库中,充实主题内涵。
以“手机”情报主题为例:将其百度检索结果URL“.2011(6)
[2]钟原胜.淘宝的“魔方”[J].互联网天地.2010(5):72~73
[3]王芳,陈海建.深入解析Web主题爬虫的关键性原理[J].微型电脑应用.2011(7):76~78
篇4
关键词:网络爬虫;网络并行处理;搜索策略;网页结构挖掘
中图分类号:TP393.08文献标识码:A文章编号:1007-9599 (2012) 03-0000-02
Web Access and Improvement Study on Detection System of the Web Chat Rooms
Sun Qun1,2,Qi Zhengdong3
(1. Hubei University of Technology,Wuhan430068,China;2.Jiangxi College of Construction,Nanchang330200,China;3.China Nerin Engineering Co.,Ltd.,Nanchang330031,China)
Abstract:Web chat with its low-cost,high-efficiency advantages of online real-time communication capabilities,thus becoming the most widely used Internet network services to network users.Detection of Internet chat rooms as a carrier-depth study of Web access to technical problems and the pretreatment.Of the principles and workflow of the web crawler,Web crawler in the introduction of network parallel multi-threading technology.Discuss the technical features of the WebLech and implementation technology,improvements made WebLech.
Keywords:Web crawler;Network parallel processing;Search strategy;Web structure mining
通过Google、Baidu等通用的搜索引擎或大型的网站资源在互联网上手工检索已不能满足目前部分网络应用的要求。本文以网络聊天室探测系统为研究载体,突出深入讨论网络专门搜索功能的优化。网页获取和预处理模块是其技术核心,如何合理设计或优化一种有效的网页获取程序显得尤其重要。主要针对网络爬虫的工作原理,引入并行多线程处理技术,解决网络爬虫器运行速度和准确性问题,最后提出可行的优化WebLech网络爬虫程序的方案应用于聊天室探测系统。
一、网络爬虫信息抓取分析
(一)网络爬虫的概念
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。网络爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。
(二)网络爬虫的工作原理和流程
网络爬虫是页面中最关键的部分,它的性能好坏直接影响着页面搜索的性能和处理速度。网络爬虫一般都维护者一个URL队列,利用该数据结构来存储已经发现并待访问和抓取的URL。URL的遍历方式一般有:广度优先、深度优先、随机访问等。网络爬虫的功能结构见图1。
图1 网络爬虫的功能结构图
网络爬虫的各个模块的主要功能介绍如下:
(1)下载模块:该模块是爬虫与Internet的接口,作用是通过web协议对网页的数据进行采集,将采集到的页面递给后续模块处理。
(2)页面解析模块:该模块的主要功能是将下载模块采集下来的页面进行解析,解析成html的统一代码,提取其中具有超链接锚标记的超链接地址,加入到超链接队列中。将获取的代码转化成统一的格式。
(3)链接过滤模块:该模块主要是针对重复链接和循环链接的筛选与过滤。
(4)URL数据库:用来储存经过过滤的URL地址,以标准的数据结构进行存储,为下一个环节的URL队列提供数据。
(5)URL队列:用来存放由URL数据库传递的URL地址,当URL为空时爬虫程序终止。
(6)Web数据库:将所有爬虫抓取的网页中与搜索特征相关的页面进行本地存储。
二、页面采集的并行处理
(一)并行处理概念的引入
计算必须在“合理”的时间内完成就需要高计算速度的领域包括科学和工程问题的数学建模和模拟。用当今计算机在合理的时间内完成求解的那些问题。在存储海量信息的环境必然存在时刻的更新和添加删除等操作,任何用户是无法忍受耗费大量时间与资源最后得到没有价值或错误的输出结果。因此,该聊天室探测系统需要高效的页面抓取模块,以保证网页库的更新,链接的有效性以及输出结果准确性。
(二)并行处理技术在网络爬虫器中的应用
为了提高网络爬虫的运行效率,并行爬行器一般包含多个爬虫,每个爬虫需要完成的任务和单个的爬行器类似,它们从互联网上下载网页,并把网页保存在本地的磁盘,从中抽取URL并沿着这些URL的指向继续爬行。由于并行爬行器需要分割下载任务,可能爬虫会将自己抽取的URL发送给其他爬虫。这些爬虫可能分布在同一个局域网之中,或者分散在不同的地理位置。图2描述了并行爬行器的一般架构。
图2 并行爬行器的一般架构
三、WebLech网络爬虫的改进
WebLech是一款很优秀的多线程网络爬虫程序,但如果直接做为搜索引擎的网络爬虫程序,还存在着不足,针对二个方面,做以下改进:
(一)扩充起始地址
WebLech运行时,从配置文件里获取定义的地址(startLocation)作为起始地址,并且仅能设置一个起始地址。如果Web服务器不设置启动网页时,WebLech可能抓取不到服务器中的任何网页。因此将起始地址和一些系统默认的启动文档组合后作为扩充后的起始地址,以增大搜索的范围。
把启动文件名连接在startLocation设置的IP后形成的新地址作为WebLech运行时的startLocation。遍历ipset地址集中的每个地址,把扩充后的每个ipaddress写入属性类对象props,然后执行随后的原程序至结束即可。
最后修改配置文件config/spider.properties里startLocation属性为ipaddress,代码如下:
props.setProperty("startLocation",ipaddress)
图3为WebLech的配置文件WebLech.config.spider。
图3 WebLech的配置文件
(二)修改链接
WebLech是依靠网页文件中的超链接工作的。超链接可分为图像超链接和文字超链接。图像超链包括背景图像的链接和链入图像,文字超链接包括链入文字、多窗口页面、浮动窗口和表单。为完善链接的处理,在类WebLech.spider.HTMLParser的函数List parseAsHTML(URL sourceURL,String textContent)的第4行之后增加浮动窗口和表单链接。
例如:extractAttributesFromTags("iframe","src",sourceURL,newURLs,newURLSet,textContent);
基于内容的搜索引擎不需要搜索图像,可删除与图像匹配有关的代码。
参考文献:
[1]刘强国.主题搜索引擎设计与研究[D].成都电子科技大学,2007
篇5
【关键词】 聚焦爬虫 移动互联网
一、引言
聚焦爬虫(又称为网页蜘蛛、网络机器人)是一种按照一定的规则、自动地抓取万维网信息的程序或者脚本。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:(1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。(2) 通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。(3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频、视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。(4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。
为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(general purpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。CollegeNews系统是一套包含高校教育类新闻获取、相应数据库建立以及移动端软件应用的系统。在整套系统中,如何获取与主题相关的新闻网页数据是至关重要的一个部分,该部分由聚焦爬虫程序予以实现。
二、 聚焦爬虫简介
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:(1) 对抓取目标的描述或定义;(2) 对网页或数据的分析与过滤;(3) 对URL的搜索策略。
抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密相关的。
三、聚焦爬虫在获取高校教育新闻中的应用
在CollegeNews系统中,所有的数据来源均为高校教育类新闻,因此聚焦爬虫的功能即为从互联网上获取与高校相关的新闻,并将相关内容存入系统的数据库中。用户在使用高校新闻应用时,客户端向系统的服务器发送相关的请求,系统服务器返回所请求新闻的URL,由客户端对相应的URL进行解析,从而获取相关的新闻资讯。通过使用聚焦爬虫获取高校新闻的原始数据,可以避免传统爬虫爬取网页所带来的获取内容不符合所需主题、获取到的无用处的内容量过大的问题,对于处理能力较弱的系统来说很有益处。
3.1 需要解决的问题
若想让聚焦爬虫完成其功能,首先需要确定合适的种子URL集合,爬虫自种子URL开始按照一定的搜索策略进行网页爬取,在网页爬取的过程中,需要提前确定待爬取页面与所需主题的相关程度与重要性,依据相关度和重要性决定是否爬取该网页。最后,还需要解决数据的更新周期问题,保证数据源的新鲜程度。在解决了上述问题之后,用户即可获取合适的新闻数据。
3.2 确定合适的种子URL集合
在聚焦爬虫的算法设计中,种子URL集合的选取是十分重要的一环。如果选取的种子URL集合不合适,可能会导致程序爬取大量与主题无关的数据,造成系统资源的浪费。
在CollegeNews系统中,为了充分保证系统的运行效率,即尽量避免爬取非高校教育新闻的网页,在构建种子URL集合时,采用使用指定起始网页的方式,选择了各类高校及相关新闻的入口地址作为起始网页,从而确保了初始网页的
在爬虫运行的过程中,另一个重要的问题是如何去除已经获取过的重复页面。该问题又可以分解为两个部分:一是在某次爬虫程序运行的过程中,如何去除本次运行已经获取过的页面;二是在某次爬虫程序运行的过程中,如何去除过往运行后已经获取过的页面。针对第一个问题,本系统在每次爬虫程序运行时,都会将已经爬取过的网页和尚未爬取的网页分别存在两个哈希表中,聚焦爬虫每爬取一个网页,会先比较该网页是否存在于已经爬取网页的哈希表中,若不存在,则进行爬取操作。操作完成后,将该网页从尚未爬取网页的哈希表中删除,同时添加到已经爬取网页的哈希表中。针对第二个问题,本系统在每次运行爬虫程序时会预先设定一个阈值,同时爬虫程序中也会设定一个初始的计数值为0。每当爬虫程序向数据库中添加一条新数据,若数据库返回重复信息,则将计数值加一。若下一个网页不是重复网页,则将计数值清零。直到计数值大于阈值后,认定所有新网页已经获取完毕,结束本次爬取。
3.3 网页搜索策略
一般而言,爬虫程序的网页搜索策略可以分为以下三种:深度优先搜索、广度优先搜索和最佳优先搜索。本系统的搜索策略充分考虑了新闻类网站的结构特点,使用了深度优先与最佳优先相结合的搜索方法。
如前所述,本系统爬虫程序的起始地址为各类高校及相关新闻的入口地址,以此实现局部最优效果。由于绝大部分新闻类网站的结构为目录式结构,即网站由若干页面(目录)组成,每个页面含有若干条新闻的超链接(项)。因此,本系统的爬虫程序首先由起始地址获取到该网站的目录,此后再依次对每个目录进行解析,获取该目录的所有项。按此流程进行网页爬取后,即可获得所需的新闻数据。
3.4 数据库更新频率
由于新闻具有一定的时效性,因此爬虫程序需要不断对网站进行扫描,将新增的网页加入数据库中。因为教育类新闻的时效性并没有要点新闻或天气预报那么强,因此CollegeNews系统在对数据库进行数据更新时,充分考虑了教育新闻的这一特点,并未将更新频率设计得过快,避免给服务器和网络带宽带来太大的压力。本系统以一定的频率对种子URL集合中的网站起始地址进行检查,若扫描到新的新闻,则继续聚焦爬虫程序,将新增的网页添加到数据库中;否则,中断本次扫描,等待下一次检查。
篇6
搜索引擎的工作原理为:从互联网上抓取网页建立索引数据库在索引数据库中搜索排序。从互联网上抓取网页利用能够从互联网上自动收集网页的Spider系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。建立索引数据库由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息根据一定的相关度算法进行大量复杂计算,得到每1个网页针对页面内容中及超链中每1个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。
在索引数据库中搜索排序当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
搜索引擎按其工作方式可分为三种,全文搜索引擎,目录搜索引擎和元搜索引擎。
1全文搜索引擎
全文搜索引擎的代表是网络爬虫,网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页,并重复上述过程,直到达到系统的某一条件时停止。所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
爬虫设计是否合理将直接影响它访问Web的效率,影响搜索数据库的质量,另外在设计爬虫时还必须考虑它对网络和被访问站点的影响,因为爬虫一般都运行在速度快,带宽高的主机上,如果它快速访问一个速度较慢的目标站点,可能导致该站点出现阻塞。Robot应遵守一些协议,以便被访问站点的管理员能够确定访问内容,Index是一个庞大的数据库,爬虫提取的网页将被放入到Index中建立索引,不同的搜索引擎会采取不同方式来建立索引,有的对整个HTML文件的所有单词都建立索引,有的只分析HTML文件的标题或前几段内容,还有的能处理HTML文件中的META标记或特殊标记。
2目录搜索引擎
目录搜索引擎的数据库是依靠专职人员建立的,这些人员在访问了某个Web站点后撰写一段对该站点的描述,并根据站点的内容和性质将其归为一个预先分好的类别,把站点URL和描述放在这个类别中,当用户查询某个关键词时,搜索软件只在这些描述中进行搜索。很多目录也接受用户提交的网站和描述,当目录的编辑人员认可该网站及描述后,就会将之添加到合适的类别中。
目录的结构为树形结构,首页提供了最基本的入口,用户可以逐级地向下访问,直至找到自己的类别,另外,用户也可以利用目录提供的搜索功能直接查找一个关键词。由于目录式搜索引擎只在保存了对站点的描述中搜索,因此站点本身的变化不会反映到搜索结果中,这也是目录式搜索引擎与基于Robot的搜索引擎之间的区别。分类目录在网络营销中的应用主要有下列特点:
通常只能收录网站首页(或者若干频道),而不能将大量网页都提交给分类目录;网站一旦被收录将在一定时期内保持稳定;无法通过"搜索引擎优化"等手段提高网站在分类目录中的排名;在高质量的分类目录登录,对于提高网站在搜索引擎检索结果中的排名有一定价值;紧靠分类目录通常与其他网站推广手段共同使用。
3元搜索引擎
我们可将元搜索引擎看成具有双层客户机/服务器结构的系统。用户向元搜索引擎发出检索请求,元搜索引擎再根据该请求向多个搜索引擎发出实际检索请求,搜索引擎执行元搜索引擎检索请求后将检索结果以应答形式传送给元搜索引擎,元搜索引擎将从多个搜索引擎获得的检索结果经过整理再以应答形式传送给实际用户。当然,某些元搜索引擎具有略微不同的机制。元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,将结果进行相关处理,以整体统一的格式反馈给用户。
它的特点是本身并没有存放网页信息的数据库。多数元搜索引擎在处理其它的搜索引擎返回结果时,只提取出每个搜索引擎的结果中考前的条目,然后将这些条目合并在一起返回给用户,元搜索引擎实现起比较简单,但是它也有一定的局限性,例如多数元搜索引擎都只能访问少数几个搜索引擎,并且通常不支持这些搜索引擎的高级搜索功能,在处理逻辑查询时也常常会出现错误。在这几种检索工具中,目录式搜索引擎成本高,信息t少的缺点,但它的信息准确这一优点使其在一定的领域和时间内仍会被使用,机器人搜索引擎是当前各种搜索引擎的主流,但随着网络信息量的增加,单一搜索引擎已经难已满足要求,结合目录式搜索引擎,机器人搜索引擎的优势,以元搜索引擎为核心的多层搜索引擎是搜索引擎的发展方向。
搜索引擎技术功能强大,提供的服务也全面,它们的目标不仅仅是提供单纯的查询功能,而是把自己发展成为用户首选的Internet入口站点。目前的搜索引擎主要有几个特点:多样化和个性化的服务。强大的查询功能。目录和基于Robot的搜索引擎相互结合。目前搜索引擎是网络上被使用频率最高的服务项目之一,随着Internet的发展,网上庞大的数字化信息和人们获取所需信息能力之间的矛盾突出。搜索结果丰富的搜索引擎技术正在被信息更集中的局域网取代,因为搜索系统的表现与用户的期望值相差太大,诸如数据量高速增长的视频、音频等多媒体信息的检索,仍然无法实现。
搜索引擎越来越不能满足用户的各种信息需求,如收集的网页数量和其数据库的更新速度存在着不可调和的矛盾。用户经常无法打开查询的结果。网络信息时刻变动,实时搜索几乎不可能。网络信息收集与整理是搜索引擎工作的重要部分。搜索引擎需要定期不断地访问网络资源。目前网络带宽不足,网络速度慢,遍历如此庞杂的网络时间花费非常庞大,这就是不能实时搜索的原因。(编选: 勇全)
参考文献
[1]张兴华.搜索引擎技术及研究[J].现代情报,2004,(4).
[2]唐铭杰.论搜索引擎的发展概况及发展趋势[J].情报杂志,2001,(5).
[3]阳小华.分布式WWW信息收集技术[J].计算机工程与应用,2000,(5).
篇7
关键词:信息检索;聚焦爬虫;邻居规则;分类算法;链接优先级
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)14-0151-113
1概述
随着网络数据的不断增长,如何有效地发现、过滤、处理和利用这些数据成为了一个需要解决的问题。适合特定主题和个性化搜索的聚焦爬虫是一个有效的解决途径。聚集爬虫可被分作三类:经典聚焦爬虫,基于锚文本与主题词汇集的相似性,利用机器学习评估链接优先级;语义聚焦爬虫,分析页面与主题的语义相关性计算各链接下载优先级;在线增量自学习聚焦爬虫,采用可更新的分类器指定页面优先级,爬行过程中分类器可在线增强学习,从而提高分类准确性和爬行精度。本文提出了一种基于锚文本和网页类型的聚焦爬虫,相对于经典聚焦爬虫,本文爬虫考虑了链接所在页面是否是主题相关网页或导航网页,并以此评估链接优先级。
2聚焦爬虫模型
2.1确定链接属性
锚文本与主题间的相似度通过式(1)来确定。
2.2评估链接优先级
本文采用基于邻居规则的分类算法[1],根据链接与主题的相似度和链接的类别将链接分为0到5级,5级优先级最高,0级优先级最低,爬虫爬行过程中优先爬取优先级高的链接并舍弃0级链接。
本文爬虫通过有标注的训练样本D完成算法训练过程,得到特征属性集合S,在确定链接属性sim(q,p)和类别后,通过算法分类过程得到链接类别,即确定链接优先级。
2.3系统结构
根据上述原理建立的聚焦爬虫模型如图1。与通用web爬行器相比,图3增加了三个组件:链接优先级评估器、主题相关判定器和导航网页判定器。主题相关判定器和导航网页判定器用于确定抽取出来的链接类别,链接优先级评估器用于确定提供主题相关页面的可能性。
该系统运行过程如下:从种子链接开始爬取网页,判定下载下来的网页是否主题相关、是否是导航页面,并由此确定抽取出来的链接的类别;计算链接锚文本与主题的相似度;利用链接优先级评估器评估链接的优先级,舍弃其中0级的链接后放入到优先级队列中;爬虫不停地从优先级队列队首取得最高优先级链接进行爬取,爬取了指定数目的链接后终止。
3系统实现及实验
3.1系统实现
根据上述的系统模型,在windows系统下MyEclipse 2013实现了一个聚焦爬虫原型系统webcollector。主题相关判别器和导航页面判别器均使用朴素贝叶斯分类器,链接优先级评估器使用基于邻居规则分类算法的分类器,将链接分为0到5级。主题相关判别器的计算和训练采用页面特征文本,包含当前页面的标题、meta中keywords、description和tabs以及网页正文;导航页面判别器的计算和训练采用页面中所有链接的锚文本,包括相似度大于0的链接总数、链接相似度总和、平均链接相似度等。在计算主题相似度sim时,先进行分词并过滤中文中”。”、”,”、”的”等常用符号和停用词。系统实现参考了中国科学院计算所的汉语词法分析系统ICTCLAS和怀卡托大学的weka机器学习软件。
3.2实验
为了检验本文所用算法的有效性,将本文模型的某些功能去掉,分别形成标准通用爬虫模型和标准聚焦爬虫模型,然后比较3种模型。实验中爬虫的种子网页为新浪体育(http:∥.cn)、网易体育(http:∥.cn)、搜狐体育(http:∥)。实验选择的评测指标为搜索到的主题相关页面的个数、访问链接数和搜索主题相关页面的回调率。实验平台为windows 10,CPU为IntelI5-5200U 2.19GHz,内存为8GB,实验主题为”足球”。用标准通用爬虫从上述种子网页爬取了495个页面,进行两次标记后分别作为主题相关判别器和导航网页判别器的训练数据。然后从中选取9个典型网页抽取出1131链接,进行标记后作为链接优先级评估器的训练数据。爬虫在爬行过程中记录访问的链接数、下载的页面数,以最终下载的最大相关页面数为1计算回调率。
3.3实验结果讨论
由图4可以看出,在爬取9500个页面的过程中,基于CRN分类算法的聚焦爬虫和标准聚焦爬虫都比通用网络爬虫具有更好的性能。另外可以看出,本文聚焦爬虫在下载页面抽取链接的过程中,由于采用了CRN分类算法识别更有可能指向主题相关页面的链接,爬行的主题相关页面数高于标准聚焦爬虫。由图5可以看出,基于CRN分类算法的聚焦爬虫能够比较稳定地爬取到主题相关页面。
篇8
关键词:高职教育园区;网络舆情;监测管理
中图分类号:G640文献标识码:A文章编号:1002-4107(2014)05-0066-02
进入21世纪信息社会网络媒体已成为第四媒体,它作为反映社会舆情的主要载体,一旦形成网络舆情对社会将造成巨大影响。为此,党和政府以及各级组织对其密切关注,许多地方政府要求建有互联网络的单位必须有网络信息管理组织保障机制,并对网络舆情进行监测管理分析。高职教育园区涉及学校多、学生年龄均在十七八岁左右,学生上网人数达100%。校园网络、园区网络已成为高等职业院校信息快速传播的主要载体,并由于大学生的自身因素及网络的实时性与交互性,网络可以集中表达学生群体对校园中的某些现象以及社会敏感问题所表达出的态度、意见,并宣泄自己的情绪。为此,研究与构建高职教育园区网络舆情监测管理体系显得尤为迫切。
一、高职教育园区网络舆情的特点
从过去传统校园的公众表达方式到今天的网络公众表达方式的转变,对一些热点敏感问题的传播速度更快、规模更大,舆情事件的不断增多,使社会影响面广,易引发过激行为。因此,分析高职教育园区网络舆情特点,对其进行监测管理分析并解决出现的问题,适时正确引导是构建一个和谐高职教育园区,促进高职学生健康成长的一项长期艰巨的任务。
(一)高职教育园区网络客观因素
当互联网络传播公众对某些难点、热点问题所表现的有一定影响力的意见或言论情况时,使用校园网络、园区网络的在校大学生群体亦会关注,并参与表达态度意见和情绪,同时他们还会关注校园中的一些现象,这些因素的总和都基于网络传播当前某些焦点事件。网络是把双刃剑,如何建设、维护园区网络安全,应对不良信息引起的聚众趋势,并利用技术手段监测管理园区网络,是防范高职教育园区网络舆情的一项重要特点。
(二)高职学生自身因素
由于参与高职教育的学生年轻气盛,大多数都为十七八岁的独生子女,自律能力、挫折适应能力和环境适应能力相对弱一些,思想情绪极易产生波动。再者大部分高职学生由于高中时成绩不理想,考进高职院校心里有一定的失落感,为此缺乏自信心,加上当前社会上追求高学历现象更使得高职学生产生更大的心理压力,一旦社会舆情蔓延到校园极易产生叠加的网络舆情群体效应。
二、高职教育园区网络舆情监测管理体系的构建
从高职教育园区网络舆情特点可见构建园区网络舆情监测管理体系应考虑以下几方面。
(一)园区网络舆情监测系统的基础设施建设
目前高职教育园区各院校都建有各自的校园网络,在校园网络基础上组建园区网络,实现校园网络互联。如常州高职教育园区共有5所院校,是江苏省唯一的示范性高职教育园区,全日制在校学生约7.6万余名。实现园区网络互联其网络架构示意图,如图1所示。
图1园区网络架构示意图
(二)网络舆情监测系统的框架结构
目前舆情信息抓取主要使用以下几种技术:元搜索采集技术、传统网络爬虫技术、论坛爬虫技术。整个园区网络舆情监测系统分为舆情信息采集、舆情数据处理及舆情信息查询展示三层,如图2所示。
在舆情信息采集层主要根据用户的监测目标以尽可能小的代价从园区网上尽可能全面地得到所有舆情信息,它是监测网络舆情的前提和保证。园区网络舆情信息的主要爆发点有:博客、论坛、微博及新闻等网站,舆情信息分布散、各种类型网站结构不同,为此针对不同类型的站点采用不同的爬虫采集舆情信息是一种明智的做法。例如,采集源着重抓取论坛数据时,专为网站论坛设计的一类爬虫称为论坛爬虫。由于网站论坛的链接种类较多,且有较多的无效链接,还有一些链接的同一话题和动态性分布在多个页面上,这样使用传统爬虫会在论坛站点上出现“爬虫陷阱”,“相同话题下的页面会丧失页面关系”,并且“爬行的页面质量低下”等问题。而使用基于层次模型论坛爬虫LMFC(Based on the level model of forum crawler下载效率高、信息更新速度更快。这种基于模板要求网页信息提取法,其提取链接的效果是由模板中的规则决定的,采用模板法比程序自动提取法更加准确。但是随着论坛爬虫持续运行URL(统一资源定位)库会逐渐增大,因而对LMFC数据更新特点往往用“话题更新率”、“帖子更新率”评价其性能。
舆情信息处理层是针对采集到的数据进行过滤、分析。采用基于本体的挖掘技术。如通过信息采集层获取到的网页根据其页面的特性,并使用基于模板的抽取网页信息方法抽取其中的文本信息,也可直接存入数据库中。另外,将需要存入索引的文本信息进一步做索引和文本分词处理。针对存入索引的文本采用基于本体的文本分类法进行过滤,除去与检测目标不符的信息,最后基于本体的聚类法得到舆情热点。
舆情信息查询与展示层是舆情监测系统的主要功能。有园区全网搜索、本地搜索、热点查看与统计、舆情报警。例如:园区全网搜索采用了元搜索引擎技术,无须下载检索项中的URL对应的页面,将提取各搜索引擎返回的检索项,剔除广告和重复信息,并重新排序。将检索结构保存到缓存区,最终展示给用户。
园区网络舆情监测体系有效地推进高职教育园区信息化建设,充分利用技术手段达到园区网络监、管、控,保障了高职教育园区的和谐稳定。
三、提高学生信息素养的策略
建立高职教育园区网络舆情监测系统积极防御园区网络舆情时,还需特别重视提高学生信息素养。
(一)采取跟进式管理
高职学生思想及心理处于不稳定期。在园区网络、校园网络交流过程中,网络舆情使部分学生个体表达受影响而发生变化,容易产生从众心理,形成一种集体心理。对社会现象、现实问题反映比较敏感。高职学生理想独立勇于维护自身利益。一旦网络信息涉及学生自身利益的问题都极易造成学生关注和共鸣,进而引发起各类网络舆情,甚至可以导致一些群体突发性事件。为此对高职教育园区的学生采取跟进式管理。(1)辅导员跟进学生的思想工作,及时理解学生的想法,掌握思想动态。(2)任课教师跟进课堂启发式教育,在讲授专业文化基础知识课的同时,培养学生利用网络主动学习获取课外知识,调动学生的学习兴趣。(3)跟进校园文化建设。积极营造和谐、绿色、积极向上、学术气息浓厚的校园文化氛围,使得学生置身于校园感受的是正能量。
(二)规范学生上网行为
组织高职学生学习有关国家、省、市、校的互联网络管理规定,在网络这个虚拟社会中必须遵守有关法律法规,加强学生的自律性。并以知名度高、学生崇拜、社会影响力高的专家为主,开设学生喜爱、高度关注并踊跃参与的专题讲座、通识课程、品牌论坛、使得园区校园网络成为弘扬正能量的重要阵地。
培养学生文明的网络行为。网络作为推动素质教育的重要平台,在网站建设中不仅需考虑内容丰富多彩而且要贴近实践、贴近师生和贴近生活,成为师生沟通交流平台。只有学生能自觉抵制不良信息,才能不断减轻和消除网络的负面影响。
(三)提高学生辨别网络虚假信息的能力
互联网上虚假信息及不良信息往往引发错误舆论导向。如何提高学生判断网上不良信息能力是高校教育工作者研究重要课题之一,从客观上分析一些交互性比较强的网站上,存在网络信息人为操作,产生的虚假信息极大地损害了网络媒体的公信度。为此学生在日常学习生活中需不断建立获得正确媒体信息和判断信息价值的知识结构,其次增强自身对是非、美丑、正误的判断能力,逐渐培养对网络信息的辨析和选择能力。熟练掌握在网上如何获取有效及健康的信息方法,使学生成为网络媒体的主动参与者,而不只是网络媒介信息的被动接受者。
学生学会将获取的信息进行分类归纳,根据自己的学习需求去选择和辨析哪些是自己所需要的网络信息,运用好网络这个先进的工具进行文化知识的学习和学科知识的研究。并准确地表达自己的思想理念、对待事物的看法与态度及时与他人沟通与交流。
高职教育园区网络舆情监测与管理体系的建立,为校园稳定并高效地开展教学、科研提供有力保障。网络新技术飞速发展,迫使网络舆情监测与管理也要以更新的技术及更快的反应速度来应对复杂的变化,对园区网络舆情监测与管理还需不断地加强理论研究,并不断地开展实践研究。
参考文献:
[1]李荣素,赵卫利.高等职业院校网络舆情特点及管理研究[J].产业与科技论坛,2011,(20).
[2]伍海江.面向网络舆情监测的关键技术研究[D].北京:华北电力大学,2012.
篇9
关键词:恶意发帖检测;文本情感分析;SVM;分类;聚类
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)07-1403-04
随着互联网( Internet)的蓬勃发展,网络作为一种新的媒介形式,已被人们广泛使用。互联网的发展过程“是一个时时处处有人参与的、不断演化的、自适应的、不断涌现出新的整体特性的过程,是一个开放的、人在其中与社会系统紧密耦合的复杂巨系统[1]”,其业务流量自相似、拓扑结构无尺度等特性的发现为人们正确认识和管理互联网起到了重要作用。
网络论坛是网络舆论形成的一股重要力量,广大网民通过网络来表达观点,一旦遇到社会热点问题,瞬间就能形成巨大网络的舆论。网民通过“发帖”发表意见、参与舆论形成,与论坛网站共同构成了人机结合的虚拟系统[2]。以网络水军为主体的恶意发帖能主导舆论走势,产生错误的舆论导向以及消极的影响,所以对恶意发帖的检测就显得尤为重要。
本文通过对大量论坛发帖信息进行收集分析,形成帖子库,并对帖子内容进行文本情感分析,产生恶意发帖聚类,接着使用支持向量机(SVM)对恶意帖子进行分类,实时产生预警信息,并对发帖源头进行干预。
1 理论背景
基于情感分析的恶意发帖检测系统的分析与研究中,涉及到的理论主要有三个方面,分别是数据挖掘技术,文本情感分析和支持向量机。
1.1 数据挖掘技术
数据挖掘(Data Mining,DM)又称数据库中的知识发现(Knowledge Discover in Database,KDD),是目前人工智能和机器学习领域的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的过程[3]。
数据挖掘的分类、聚类、关联规则、预测算法能很好的应用到恶意发帖的分析检测与追踪之中。主要处理如下:
1) 可以对帖子库中的恶意帖子根据恶意的等级不同进行分类处理;
2) 可以对恶意帖子进行聚类分析,找出它们的团伙关系;
3) 利用关联规则,找出发帖人与不同帖子之间的关联关系;
4) 利用预测技术预测出哪些发帖人有恶意发帖的趋势;
5) 利用帖子间的文本的近似的比对,找出某个人多次改变手法发帖。
1.2 文本情感分类
文本情感分类是指通过挖掘和分析文本中的立场、观点、看法、好恶等主观信息,对文本的情感倾向做出类别判断[4]。文本情感分析使用文本极性分析将帖子分为正面或负面,论坛发帖文本情感分析具体工作流程如图1所示。
1) 观点摘要。从一个或若干包含主观性信息的文本文档中概述出其中主观性信息的主要内容。基于观点的摘要分为两种,一种是单文档摘要,另一种是多文档摘要。
2) 文本极性分类。针对给定的文本,使用情感分类方法,识别其中主观性信息的倾向是正面还是负面的。Naive Bayes、最大熵分类(Maximum Entropy Classification)和支持向量机是常用的情感分类方法。
3) 主观和客观识别或分类。识别文本是对事实的描述(客观的文本)还是包含有意见、评价等主观性信息(主观性文本)。
1.3 支持向量机
支持向量机(SVM)是由Vapnik在1963年解决模式识别问题时提出了支持向量方法,这种方法从训练集中选择一组特征子集,使得对特征子集的划分等价于对整个数据集的划分[5]。
SVM从线性可分情况下的最优分类面发展而来,广泛应用于数据分类、手写识别等领域。SVM考虑寻找一个满足分类要求的超平面,并且使训练集中的点距离分类面尽可能的远,也就是寻找一个分类面使它两侧的空白区域(Margin)最大。
3 系统功能分析
整个系统的设计与实现,包括网络发帖采集系统,网络发帖倾向性分析,恶意发帖分析检测引擎和恶意发帖分析监测与监控追踪系统,下面就四个系统的功能进行分析。
3.1网络发帖采集系统
网络发帖采集系统主要功能是完成网络发帖数据的实时采集整理,其中负责采集数据的是网络爬虫,其运行具体步骤如下:
1) 用户通过配置管理界面配置爬虫的数据源、页面解析逻辑、数据存取逻辑和高级设置,配置数据将保存在爬虫配置数据库中;
2) 用户在数据抓取监控界面开始运行数据抓取任务时,系统通过读取页面表中配置数据利用爬虫装配器组装爬虫执行体,读取高级配置爬虫控制器为爬虫执行体分配执行线程、URL队列等运行时参数,爬虫将在爬虫控制器的管理下运行,可进行任务调度、定时执行、自动更新、实时监控等操作;
3) 爬虫抓取的数据将根据配置自动保存到相应数据库中,用户可以通过数据库管理界面进行查看、导出等操作。
3.2网络发帖倾向性分析
网络发帖倾向性分析主要文本情感分析的方法进行帖子分析,因为一个发帖主体可能在多个评论地点(论坛)上进行评论,本系统在文档情感分析的基础上,结合语义倾向,基于LDA模型,使用SVM方法对恶意发帖进行分类。其具体算法流程描述如下。
1) 文档集合预处理。将每个文档中的文本分割为句子,以句子为单位进行词性标注,得到句子中每个词的词性。
2) LDA构建。将句子集合中的每个句子当作LDA模型中的文档,为整个句子文档集合建立一个LDA模型。
3) 主题重要度计算。根据LDA模型得到句子的主题分布和主题词汇分布,计算每个潜在主题的重要度。
4) 句子重要度计算。根据主题重要度,结合主题词分布和语义倾向,计算主题中每个句子的权重。
5) 语句排序。根据句子权重对句子进行排序,如果权重相同,非停用词在句子占比重大的排在前面。
6) 帖子分类。按照句子排序顺序结果使用SVM方法对帖子的恶意情况进行分类。
3.3恶意发帖分析检测引擎
恶意发帖分析检测引擎为本系统的核心,其主要包括以下功能:热点识别能力、自动分类、聚类分析、倾向性分析与统计、主题跟踪、信息自动摘要功能、截取证据、趋势分析、突发事件分析、报警系统、统计报告。
恶意发帖分析检测的核心技术在于恶意发帖分析检测引擎,涉及最主要的技术包括文本分类、聚类、观点倾向性识别、主题检测与跟踪等技术。恶意发帖分析检测引擎是恶意发帖分析与检测系统的核心,主要功能如下:
1) 热点(敏感)话题识别与追踪。利用关键词布控和语义分析,识别敏感话题。
2) 情感倾向分析。对于每个话题,对每个发贴人发表帖子的观点、倾向性(正负面、褒贬义)进行分析与统计。
3) 主题跟踪。分析新发表文章、贴子的话题是否与已有主题相同。
4) 帖子自动摘要。对各类主题,各类倾向能够形成自动摘要。
5) 发帖趋势分析。分析某个主题在不同的时间段内,网民的关注程度。
6) 突发事件分析。对突发事件进行跨时间、跨空间综合分析,获知事件发生的全貌并预测事件发展的趋势。
7) 实时预警。对突发事件、涉及敏感话题及时发现并发出预警信息。
8) 统计报告。根据舆情分析引擎处理后的结果库生成报告,用户可以浏览、检索。根据指定条件对热点话题、倾向性进行查询,提供决策支持。
3.4恶意发帖分析监测与追踪系统
恶意发帖分析监测与追踪系统主要是对指定网站的帖子进行数据采集存储到数据库中,再对库中的帖子情况进行分析,实现实时监测和追踪。主要功能如下:
1) 对库中的帖子提取关键词,进行文本倾向性分析。
2) 根据极性不一样,利用分类算法为帖子指定不同的恶意等级,并根据等级不一样不同的预警信息。
3) 利用聚类算法对帖子实现自动归类,挖掘出发帖人之间的团伙关系。
4) 文本近似度分析,发现改变手法多次发帖的发帖人。
5) 利用IP地址及发帖人之间的关系定位发帖人,实现对恶意发帖的检测与追踪。
帖子检测是本系统的核心,即帖子按恶意度分级,将一定级别的恶意帖子收集到一个库中,然后进行统计,分为两种情况:
1) 完全相同的人发帖(同一个人用一个账号多次发帖和同一个人用多个账号一次发帖,如果多个账号发的是同一个帖子,那么应该是同一个人)。
2) 类似的人发帖(一个人改变手法,多次发帖),或者可以看成是一个团伙。
恶意帖子检测流程如图4所示。
建立恶意帖子库后,利用相应的字段信息,例如:发帖者,发帖网站,发帖者账号,帖子内容,跟帖者,跟帖内容。利用数据挖掘的关联规则挖掘技术以及其他技术,实现如下功能。
1) 找出同一个账号多次发出同一恶意帖子,进而定位这个账号,进行跟踪,同IT部门和技术部门合作,找出发帖者的IP地址,确认发帖者的位置和身份。
2) 直接根据发帖内容进行比对,如果是内容相同的帖子,来自于不同和和不同账号,根据这些账号是否由同一个IP地址发出,确认是否为同一个人用多个账号发帖;如果IP不同就有可能是一个同伙或组织用多个账号发出同一个帖子。
3) 根据内容的相似度,找出类似的发帖,找出其账号之间的关联,确定是否为一个人改变手法,多次发帖。
4) 找出恶意帖子库中的跟帖关系,建立关系网络图,利用网络理论中子图发现和查询技术,找出密集型子图,发现恶意发帖团伙。
5) 根据密集子图的密集程度和活跃程度,确定发帖信息的危害程度以及突发事件的可能性,以便及时预警。
4 结束语
本系统建立面向主题的、关键词的、行业的、主流网络平台的恶意发帖信息的语料库;搭建了恶意发帖检测分析平台,及时识别恶意发帖信息,使用网络发帖分析检测引擎,对恶意发帖信息进行分析处理;制定通用的恶意发帖分级制度,建立恶意发帖监控预警标准。建立恶意发帖控制处理平台,建立恶意发帖信息的追踪和预警体系。系统运行稳定正常,具有良好的实际价值。
参考文献:
[1] 山秀明.互联网复杂性研究进展[J].北京邮电大学学报, 2006,29 (1): 1-8.
[2] 谢新洲,肖雯.我国网络信息传播的舆论化趋势及其所带来的问题分析[J].情报理论与实践,2006,29 (6) :645-649.
[3] Jiawei Han.数据挖掘概念与技术[M].北京.机械工业出版社,2012.
篇10
关键词:职位 找工作 推荐系统 微博 好友的公司
中图分类号:TP391.3 文献标识码:A 文章编号:1007-9416(2013)11-0123-04
1 引言
社交网络(Social Networking Service)[1],指旨在帮助人们建立社会性的互联网应用服务或者网站平台。在国内,紧随国外社交网络的节奏,诞生了人人网,新浪微博,腾讯朋友网等用户过亿的社交网络,中国有3亿人活跃在社交网络,预计未来两年将达到5亿人。中国正在成为世界上最大的社交网络国家[2]。
当前伴随着社交网络的流行,社交招聘[3]开始崭露头角,成为大部分企业和求职者的首选工具之一。仅在新浪微博,就活跃着超过5万家企业。
数据显示,2012年在美国的受访公司中有超过五分之四的职位将通过社交网络来招聘,职业社交网站Linkedln已经取代报纸成为新职位的信息来源[4],73%的财富100强公司通过其进行人员招聘。据艾瑞咨询调查数据显示,比起传统的简历招聘,职业社交网络的招聘成功率更高,两者比例大致为2:8[5]。
国内网络招聘的应用面逐渐扩大,社交网站作为新兴的网络招聘方式正在兴起。根据艾瑞咨询报告显示,2010年中国网络招聘市场[6]规模逼近15亿元,2011年三季度中国网络招聘市场营收规模达5.9亿元,同比增长32.7%,环比增长10.0%,较以往呈现出较快增长。微博作为一个新兴社交媒介,仅在2010年,国内微博访问用户规模已达到12521.7万人。
而利用社交网络求职,求职者面临着两大问题:
一是,活跃的企业及个人招聘者实时动态的招聘信息,对求职者来说信息过载,无法快速找到合适的职位。
二是,通过内部推荐,求职者能更容易获取匹配的职业机会。但目前用户在社交网络上通过自己的好友推荐工作机会[7]的流程复杂,需要先锁定感兴趣的职位,筛选出感兴趣的公司,再从自己的好友中检索与目标公司,职位相关的好友进行联系,非常繁复。
以上问题就是本文设计的推荐系统[8]试着解决的问题,设计一套基于求职者职业信息和求职者及其社交网络好友之间的相关性来过滤社交网络职位信息的系统,它的意义在于:
根据求职者的社交网络信息,简历,偏好,为求职者提供个性化推荐[9]来获取更好相关性的工作机会。
根据求职者社交网络好友所在的公司,向求职者推荐这些公司的工作机会,使求职者得到更符合自己圈子的工作机会。
2 项目功能介绍
2.1 搜索、订阅、推送实时社交网络职位
为解决当前社交网络信息过载,难以实时检索出有效的职位相关信息,本文设计的系统首先设计爬虫系统, 并进行分词判断, 提取可能是职位的社交信息作为做一个社交化职位推荐系统的职位数据源,提供社交网络职位的实时搜索,订阅,推送。
2.2 利用社交关系挖掘来推荐职位
为用户推荐自己社交网络中的好友所在的公司正在招聘的职位是一种基于社交化的推荐(Social Recommendation[10]), 本文设计的推荐系统利用用户现有的“新浪微博”好友关系,分析用户的好友所在的公司分布,基于这个好友的公司的集合为用户推荐相关社交网络职位,提高职位与用户的相关度。
3 基于社交关系的职位推荐系统的实现
基于社交关系的推荐需要基于用户现有社交网络的好友进行数据挖掘,那么选择从什么社交网络导入好友信息就非常重要,经过我个人新浪微博账号测试,我新浪微博上的互粉好友大概204人,其中填写了职业信息的有70人,大概有30%左右;而人人和腾讯微博,豆瓣等社交网络的已有职业信息还太少,Linkedin的国内用户数相对较少,所以首先导入新浪微博的好友能解决推荐的冷启动问题,帮用户挖掘出他的好友都在哪里工作,图1为在系统有4万条职位信息时,以我个人账号数据为原型的基于好友公司职位推荐的职位情况:
3.1 微博职位信息的获取
从社交网络海量信息中获取职位信息需要数据的采集,语义分析,判断,我们首先选取了新浪微博作为数据源,通过一组特定的招聘领域常用词汇,利用新浪微博API获取匹配的微博作为源数据。下图展示了通过新浪微博获取微博职位信息的全过程,详见实现细节如图2:
3.1.1 分布式爬虫
爬虫是指自动化抓取信息的程序,在本系统中主要为了获取新浪微博上的微博信息,供语义分析后提取系统所需的职位信息。
本文中的爬虫程序基于Python[11]实现,由于新浪微博api受限,单个爬虫账号一次只能采集500粉丝,历史微博数据只能采集最新的200条,同时对IP也进行了限制,所以我们需要用多账号分布式的方式来采集微博数据。
分布式爬虫[12]采用主从结构,控制器和终端:(1)控制器控制(master)全部爬行器,负责爬虫任务的调度,同步和终止命令。(2)终端(slave)负责信息的采集,将拓扑信息反馈控制器。
3.1.2 中文分词
为了能够对采集到的微博数据进行是否为职位的语义分析,首先要将微博分词,这里我们采用了Jieba分词引擎,下面对分词用到的算法做一个简单分析:
(1)基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)。
(2)采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合。
(3)对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法。
总结一下Jieba的分词过程:加载字典,包括Jieba的词典和我们手工录入的领域信息词典,包括公司中文名称,职业名等,生成trie树。?给定待分词的句子,使用正则获取连续的中文字符和英文字符,切分成短语列表,对每个短语使用DAG(查字典)和动态规划,得到最大概率路径,对DAG中那些没有在字典中查到的字,组合成一个新的片段短语,使用HMM模型进行分词,也就是作者说的识别新词,即识别字典外的新词。使用python的yield语法生成一个词语生成器,逐词语返回.当然,我认为直接返回list,效果也差不到哪里去。
通过Jieba,我们对所有采集到的微博信息进行全分词,将分词结果作为索引和微博信息一并存入数据库,供职位判断程序进行是否是职位的判断,同时索引也为系统提供了搜索功能。
3.1.3 基于布尔逻辑的职位信息判断
微博信息限定只有140字,而短文本自然语言的语义理解是非常困难的,所以我们采用了一个简单的布尔逻辑判断+人工审核的方法。
首先我们建立了两个关键词库A和B:
A中加入职位可能包含的关键字,包括招聘关键字,职位名称,技能名称等;B中加入需要过滤的关键字,必如会引起混淆的词语。
然后,对微博文本进行全模式分词,配合我们已经在上面说的加入自定义词库,将微博文本分词为一个关键字集合。
最后,我们根据A和B对微博进行匹配:
If A and B:该微博非职位信息
If A and NOT B:该微博可能为职位信息
根据我们初期的数据量,每天采集1000条左右职位,固定时间进行人工审核能保证职位的质量。同时此职位判断程序的输出接口固定,可以在之后的开发中替换为基于神经网络或决策树的自动化判断程序。
3.2 用户的好友关系及其好友的职业信息的获取
向用户做社交化职位推荐需要用户的好友关系,现在很多主流的社交平台都已经开放了自己的好友关系,作为我们职位数据源的新浪微博也开放了自己的好友关系,这为我们基于用户好友公司向用户推荐职位提供了数据支持。
要获取用户在新浪微博上的社交关系,首先我们需要经过用户身份验证,新浪微博使用的是OAuth2.0[13]协议来鉴权。OAuth2.0的协议授权流程如下:其中Client指第三方应用,Resource Owner指用户,Authorization Server是我们的授权服务器,Resource Server是API服务器。
获取用户好友职业信息的流程:(1)用户OAuth授权。(2)获取用户的互粉好友列表。(3)读取用户互粉好友的职业信息
3.3 职业信息中公司名的预处理
社交网络大都未对用户的职业信息进行校验,所以会出现大量重复的公司或者公司的不同名称,那么进行搜索和推荐的前提职业信息中公司名的预处理。
3.3.1 重复公司合并
按公司名搜索职位必须保证公司的独一性,但从社交网络采集来得公司名称比较混乱,不能直接用于检索,所以我们开发了工具合并所有收录入系统的公司名。
3.3.2 为合并后的公司名添加别名
职位搜索引擎需要考虑用户搜索公司或职位的习惯,用户可能会用产品名称或者团队名称搜索该产品团队是否搜索职位,比如“百度人才”是百度的招聘产品,在我们将公司名称合并后,为了尽量覆盖我们搜索某一公司关键字时能够将同一意思的词汇一并搜索,我们需要给公司名加上别名,比如将“百度人才”加为“百度”的别名,这样用户在搜索“百度”时我们会将“百度人才”的关键字一并返回,来给用户提供更多的相关信息。
3.3.3 添加同义词
当用户搜索公司时,会用一些中文简写,或者英文翻译,比如淘宝网可以简写为“淘宝”或者翻译为“Taobao”,这时这三个词是同义的,我们会都转换为“淘宝网”进行搜索,同时因为我们为“淘宝网”加入大量的别名,可以保证用户搜索出最为丰富的结果。
3.4 好友公司职位的匹配
在获取用户关系和用户好友公司信息时,我们已经获得了一个用户好友公司分布的集合,经过公司名合并之后,获取到了用户真实的好友公司分布,用新的集合里的公司名依次搜索职位,将得到的职位集合返回,作为用户好友公司的职位,过程图解如下:
进过上述过程,我们可以获取到系统中用户好友所在的公司招聘的职位分别有哪些,以本人新浪微博账号@Wangchao0721索引3个月以内[14]的职位,得到的效果如下图所示:
4 结论
本文中作者运用社交网络数据采集和挖掘,利用用户现有的社交网络中的社交关系,构建推荐系统,为用户推荐其好友所在的公司正在招聘的职位,并介绍了整个系统架构的原理,从数据的采集,中文分词的原理,职位的判断,用户所填的公司名的归并,到最后好友公司职位的提炼。
现在社交网络愈演愈烈,有大量潜在的求职者和招聘者沉淀了大量数据,但国内招聘领域并没有很好的产品利用到这些数据。本文希望能够通过推荐系统的方式,让用户摆脱千人一面的求职网站,做到基于社交关系的个人化推荐,同时给招聘行业提供一种技术解决方案,利用现有的公司员工推荐靠谱的求职者,能够尽量降低人力在整个招聘过程中的比重,从而降低整个流程的成本问题。
参考文献
[1]Louis Yu,Valerie King.The Evolution of Friendships in Chinese Online Social Networks.IEEE International Conference on Social Computing - SocialCom , pp. 81-87, 2010.
[2]Louis Yu,Valerie King.The Evolution of Friendships in Chinese Online Social Networks.IEEE International Conference on Social Computing - SocialCom , pp. 81-87, 2010.
[3]Digging social networks by mashups to support recruitment and selection functions in university student intake process.IEEE International Workshop on Business Applications of Social Network Analysis - BASNA ,2010.10.1109/BASNA.2010.5730303.
[4]李豫川.探析网络招聘现状.
[5]Knowing Me, Knowing You:A Case Study of Social Networking Sites and Participant Recruitment[J]Andrew L.Brooks Elizabeth F.Churchill.
[6]Xianbi Huang.FINDING NICHES:SOCIAL NETWORKS AND JOB SEARCH IN TRANSITIONAL CHINA.
[7]常慧宁,徐辰雪.社交网站——人才招聘的新渠道.全国商情?理论研究,2011,(9).
[8]刘建国,周涛,郭强,等.个性化推荐系统评价方法综述[J].复杂系统与复杂性科学. 2009, 6(003): 1-10.
[9]刘建国,周涛,汪秉宏.个性化推荐系统的研究进展[J].自然科学进展. 2009, 19(001): 1-15.
[10]J.Srivastava:Data mining for social network analysis. Intelligence and Security Informatics,2008.
[11]Magnus Lie Hetland . Python and the Web.
[12]王凤红.简单分布式网络爬虫模型的设计与分析.中国现代教育装备.2008.
相关期刊
精品范文
10网络监督管理办法