导语:如何才能写好一篇网络爬虫,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
1网络爬虫概述
网络爬虫是抓取网页信息的一种程序,它可用来检查一系列站点的有效性,当按照需求抓取并保存数据时,是搜索引擎的重要组成部分。它还可以定向采集某些网站下的特定信息,比如招聘、二手买卖等信息。
网络上的网页许多都由超链接连接,故形成了一张网,网络爬虫因此也叫做网络蜘蛛,顺着网爬,每到一个网页就抓取信息并抽取新的超链接,用于进一步爬行的线索。网络爬虫爬行的起点叫做种子,可以自己设定也可以从某些系列网站获取。
1.1网络爬虫的组成
网络爬虫主要由控制器、解析器和资源库三部分组成。控制器是网络爬虫的控制中心,它负责分配线程并调用爬虫为其分配爬取任务;解析器是网络爬虫的核心,它的主要工作是下载网页并对网页中的信息进行处理,例如删除一些JS脚本、HTML标签和空格字符等,抽取特殊HTML标签的功能,分析数据功能;资源库是用于保存下载的网页资源,并提供生成索引的目标源。一般采用中大型的数据库存储,如Oracle、SqlServer等。
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顺序的方法,叫做抓取策略。常见的网络爬虫策略有:
2)深度优先搜索策略。这种策略的主要思想是网络爬虫从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。
4)反向链接数策略,反向链接数是指一个网页被其他网页链接指向的数量。反向链接数表示的是一个网页的内容受到其他人的推荐的程度。因此,很多时候搜索引擎的抓取系统会使用这个指标来评价网页的重要程度,从而决定不同网页的抓取先后顺序。
2如何应对站点反爬虫机制
网络爬虫会对目标站点发送大量请求,而这样的爬虫机制会消耗不少网站资源,这对于中小型网站的负载是巨大的,甚至因此而崩溃,故不少网站都采取了反爬虫的机制。例如:通过识别爬虫的User-Agent信息来拒绝爬虫,通过Filter过滤网络爬虫,通过网站流量统计系统和日志分析来识别爬虫,利用网站的实时反爬虫防火墙实现策略。为了不被站点判断为爬虫而被拒绝访问请求,此处提供两种方法来维持爬虫的正常运转。
2.1降低访问请求频率
具体代码如下:
try{Thread.currentThread().sleep(4000);
}catch(InterruptedExceptione){
e.printStackTrace();
}
2.2设置服务器
设置服务器,较之前一种方法来说则以爬虫的效率为首要要求,实质就是某些网站的反爬虫机制会封杀爬虫请求频率过高的主机的IP,为了解决这一问题,使用服务器,更换IP以及端口,解除站点对访问频率高的主机访问的限制。
有两种调用的方法,具体代码如下:
方法一:
方法二:
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;MSIE8.0;WindowsNT6.0)
Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.2)
Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1)
设置代码如下:
HttpGetgetMethod=newHttpGet(“URl”);
getMethod.setHeader(“User-Agent”,”useragent内容”);
3结束语
总之,为了防止爬虫被封,原则就是伪装成正常的用户,只要按照这个原则总有方法可循。不过若是能熟知一些反爬虫的原理,然后有针对地进行拆招应该还是十分有效的。
参考文献:
[1]郭小丹.几种开源网络爬虫功能比较[J].黑龙江科技信息,2015(25).
[2]林雄强.网络爬虫[J].中国科技博览,2014(24).
[3]赵全军,成功,李小正,等.一种改进的网络爬虫搜索策略[J].中国科技信息,2014(14).
[4]刘庆杰,孙旭光,王小英.通过Filter抵御网页爬虫[J].网络安全技术与应用,2010(1).
[5]吴晓晖,纪星.Web爬虫检测技术综述[J].湖北汽车工业学院学报,2012(1).
>>基于垂直搜索引擎的主题爬虫技术Heritrix在垂直搜索引擎中的应用用开源软件建垂直搜索引擎垂直搜索引擎爬虫系统DIPRE算法及改进应用已有的开源搜索引擎垂直搜索引擎应用研究浅谈垂直搜索引擎技术的应用浅析垂直搜索引擎的应用网络化制造资源垂直搜索引擎的研究与应用搜索引擎也开源主题搜索引擎中网络爬虫的搜索策略研究垂直搜索引擎异军突起垂直搜索引擎在旅游企业中应用的探索用户兴趣模型在垂直搜索引擎检索模块中的应用垂直搜索引擎在金融信息技术分析中的应用基于C#的网络爬虫搜索引擎的设计主题搜索引擎中网络爬虫的实现研究基于神经网络的搜索引擎应用垂直搜索:搜索引擎的激情所在基于垂直搜索技术的搜索引擎常见问题解答当前所在位置:(|l)$,这样就把服务器域名下的网页所有信息全部抓取下来。但是,考虑垂直搜索引擎的使用范围和聚焦爬虫对网页主题的过滤功能,需要设计与实际主题搜索应用相匹配的专用解析器,专用解析器extract(CrawlURL)要实现以下功能:
(1)对所有不含有要抓取的结构化信息页面的URL、又不含有可以集中提取前者URL的种子型URL,都不作处理。
(2)从可以集中提取含结构化信息页面URL的种子型URL(如地方新闻目录URL),提取全部的含结构化信息页面的URL(如地方信息列表URL)。
(3)从含结构化信息页面的URL提取所需的结构化信息,并加以记录。
3.2.2扩展Frontierscheduler模块
publicvoidGetCount(Stringpath,CandidateURIcaUri)
try{
Strings=sb.getStrings();//s取网页正文字符
Len=length(s);//求网页字符数
floatd=0;//初始化d,用于计算所有导向词的权重和
for(inti=0;i
{count=0,intj=1;//count为导向词出现次数,j为导向词在字符串的位置
t=length(a[i]);//求第i个导向词的字符个数
While(j
intindex=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);//将所有导向词的权重求和
{System.out.println("count:"+count);//表示输出
getController().getFrontier().schedule(caUri);//当前url加入heritix采集队列}
3.3Heritrix聚焦爬虫接口的设计
Heritrix网络爬虫是一个通用的网页采集工具,需要对Heritrix抓取和分析网页的行为进行一定的控制,修改Extractor和Frontierscheduler模块后,需要对其各个功能接口进行操作调试,由此保证聚焦爬虫功能的全面实现。下面即对重要功能接口进行必要介绍。
(1)应用接口
在设计聚焦爬虫时,应定制一个应用接口模块以供用户使用,具体将负责与Heritrix软件关联,以提供启、停爬虫、获取网址、采集关键词等功能实现。
(2)数据库查询和修改接口
(3)去重接口
因为Heritrix对相同的URL不进行替换,爬虫工作时会下载大量重复的网页,为了节省空间、并获取准确的采集结果,就必须按照设定规则对重复下载的网页进行删除。
4结束语
[1]刘运强.垂直搜索引擎的研究与设计[J].计算机应用与软件,2010,127(7):130-132.
[2]刘伟光.一种基于改进向量空间模型的藏文主题网页采集方法[J].图书馆学研究,2014,16:55-62.
[3]陈欢.面向垂直搜索引擎的聚焦网络爬虫关键技术研究与实现[D].华中师范大学,2014.
[4]焦赛美.网络爬虫技术的研究[J].琼州学院学报,2010,18(5):28-30.
【关键词】竞争情报;网络零售;主题爬虫;在线商品;辅助决策
一、系统的基本构成
图1系统的功能结构图
二、系统的主要功能实现
以“手机”情报主题为例:将其百度检索结果URL“.2011(6)
[2]钟原胜.淘宝的“魔方”[J].互联网天地.2010(5):72~73
[3]王芳,陈海建.深入解析Web主题爬虫的关键性原理[J].微型电脑应用.2011(7):76~78
关键词:网络爬虫;网络并行处理;搜索策略;网页结构挖掘
WebAccessandImprovementStudyonDetectionSystemoftheWebChatRooms
SunQun1,2,QiZhengdong3
(1.HubeiUniversityofTechnology,Wuhan430068,China;2.JiangxiCollegeofConstruction,Nanchang330200,China;3.ChinaNerinEngineeringCo.,Ltd.,Nanchang330031,China)
Abstract:Webchatwithitslow-cost,high-efficiencyadvantagesofonlinereal-timecommunicationcapabilities,thusbecomingthemostwidelyusedInternetnetworkservicestonetworkusers.DetectionofInternetchatroomsasacarrier-depthstudyofWebaccesstotechnicalproblemsandthepretreatment.Oftheprinciplesandworkflowofthewebcrawler,Webcrawlerintheintroductionofnetworkparallelmulti-threadingtechnology.DiscussthetechnicalfeaturesoftheWebLechandimplementationtechnology,improvementsmadeWebLech.
Keywords:Webcrawler;Networkparallelprocessing;Searchstrategy;Webstructuremining
通过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为空时爬虫程序终止。
二、页面采集的并行处理
(一)并行处理概念的引入
(二)并行处理技术在网络爬虫器中的应用
为了提高网络爬虫的运行效率,并行爬行器一般包含多个爬虫,每个爬虫需要完成的任务和单个的爬行器类似,它们从互联网上下载网页,并把网页保存在本地的磁盘,从中抽取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。
图3WebLech的配置文件
(二)修改链接
WebLech是依靠网页文件中的超链接工作的。超链接可分为图像超链接和文字超链接。图像超链包括背景图像的链接和链入图像,文字超链接包括链入文字、多窗口页面、浮动窗口和表单。为完善链接的处理,在类WebLech.spider.HTMLParser的函数ListparseAsHTML(URLsourceURL,StringtextContent)的第4行之后增加浮动窗口和表单链接。
例如:extractAttributesFromTags("iframe","src",sourceURL,newURLs,newURLSet,textContent);
基于内容的搜索引擎不需要搜索图像,可删除与图像匹配有关的代码。
[1]刘强国.主题搜索引擎设计与研究[D].成都电子科技大学,2007
【关键词】聚焦爬虫移动互联网
一、引言
聚焦爬虫(又称为网页蜘蛛、网络机器人)是一种按照一定的规则、自动地抓取万维网信息的程序或者脚本。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(SearchEngine),作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:(1)不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。(2)通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。(3)万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频、视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。(4)通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。
二、聚焦爬虫简介
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:(1)对抓取目标的描述或定义;(2)对网页或数据的分析与过滤;(3)对URL的搜索策略。
三、聚焦爬虫在获取高校教育新闻中的应用
3.1需要解决的问题
3.2确定合适的种子URL集合
在聚焦爬虫的算法设计中,种子URL集合的选取是十分重要的一环。如果选取的种子URL集合不合适,可能会导致程序爬取大量与主题无关的数据,造成系统资源的浪费。
在爬虫运行的过程中,另一个重要的问题是如何去除已经获取过的重复页面。该问题又可以分解为两个部分:一是在某次爬虫程序运行的过程中,如何去除本次运行已经获取过的页面;二是在某次爬虫程序运行的过程中,如何去除过往运行后已经获取过的页面。针对第一个问题,本系统在每次爬虫程序运行时,都会将已经爬取过的网页和尚未爬取的网页分别存在两个哈希表中,聚焦爬虫每爬取一个网页,会先比较该网页是否存在于已经爬取网页的哈希表中,若不存在,则进行爬取操作。操作完成后,将该网页从尚未爬取网页的哈希表中删除,同时添加到已经爬取网页的哈希表中。针对第二个问题,本系统在每次运行爬虫程序时会预先设定一个阈值,同时爬虫程序中也会设定一个初始的计数值为0。每当爬虫程序向数据库中添加一条新数据,若数据库返回重复信息,则将计数值加一。若下一个网页不是重复网页,则将计数值清零。直到计数值大于阈值后,认定所有新网页已经获取完毕,结束本次爬取。
3.3网页搜索策略
一般而言,爬虫程序的网页搜索策略可以分为以下三种:深度优先搜索、广度优先搜索和最佳优先搜索。本系统的搜索策略充分考虑了新闻类网站的结构特点,使用了深度优先与最佳优先相结合的搜索方法。
3.4数据库更新频率
由于新闻具有一定的时效性,因此爬虫程序需要不断对网站进行扫描,将新增的网页加入数据库中。因为教育类新闻的时效性并没有要点新闻或天气预报那么强,因此CollegeNews系统在对数据库进行数据更新时,充分考虑了教育新闻的这一特点,并未将更新频率设计得过快,避免给服务器和网络带宽带来太大的压力。本系统以一定的频率对种子URL集合中的网站起始地址进行检查,若扫描到新的新闻,则继续聚焦爬虫程序,将新增的网页添加到数据库中;否则,中断本次扫描,等待下一次检查。
搜索引擎按其工作方式可分为三种,全文搜索引擎,目录搜索引擎和元搜索引擎。
1全文搜索引擎
全文搜索引擎的代表是网络爬虫,网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页,并重复上述过程,直到达到系统的某一条件时停止。所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
爬虫设计是否合理将直接影响它访问Web的效率,影响搜索数据库的质量,另外在设计爬虫时还必须考虑它对网络和被访问站点的影响,因为爬虫一般都运行在速度快,带宽高的主机上,如果它快速访问一个速度较慢的目标站点,可能导致该站点出现阻塞。Robot应遵守一些协议,以便被访问站点的管理员能够确定访问内容,Index是一个庞大的数据库,爬虫提取的网页将被放入到Index中建立索引,不同的搜索引擎会采取不同方式来建立索引,有的对整个HTML文件的所有单词都建立索引,有的只分析HTML文件的标题或前几段内容,还有的能处理HTML文件中的META标记或特殊标记。
2目录搜索引擎
目录搜索引擎的数据库是依靠专职人员建立的,这些人员在访问了某个Web站点后撰写一段对该站点的描述,并根据站点的内容和性质将其归为一个预先分好的类别,把站点URL和描述放在这个类别中,当用户查询某个关键词时,搜索软件只在这些描述中进行搜索。很多目录也接受用户提交的网站和描述,当目录的编辑人员认可该网站及描述后,就会将之添加到合适的类别中。
目录的结构为树形结构,首页提供了最基本的入口,用户可以逐级地向下访问,直至找到自己的类别,另外,用户也可以利用目录提供的搜索功能直接查找一个关键词。由于目录式搜索引擎只在保存了对站点的描述中搜索,因此站点本身的变化不会反映到搜索结果中,这也是目录式搜索引擎与基于Robot的搜索引擎之间的区别。分类目录在网络营销中的应用主要有下列特点:
3元搜索引擎
搜索引擎技术功能强大,提供的服务也全面,它们的目标不仅仅是提供单纯的查询功能,而是把自己发展成为用户首选的Internet入口站点。目前的搜索引擎主要有几个特点:多样化和个性化的服务。强大的查询功能。目录和基于Robot的搜索引擎相互结合。目前搜索引擎是网络上被使用频率最高的服务项目之一,随着Internet的发展,网上庞大的数字化信息和人们获取所需信息能力之间的矛盾突出。搜索结果丰富的搜索引擎技术正在被信息更集中的局域网取代,因为搜索系统的表现与用户的期望值相差太大,诸如数据量高速增长的视频、音频等多媒体信息的检索,仍然无法实现。
参考文献
[1]张兴华.搜索引擎技术及研究[J].现代情报,2004,(4).
[2]唐铭杰.论搜索引擎的发展概况及发展趋势[J].情报杂志,2001,(5).
[3]阳小华.分布式WWW信息收集技术[J].计算机工程与应用,2000,(5).
关键词:信息检索;聚焦爬虫;邻居规则;分类算法;链接优先级
1概述
2聚焦爬虫模型
2.1确定链接属性
锚文本与主题间的相似度通过式(1)来确定。
2.2评估链接优先级
本文采用基于邻居规则的分类算法[1],根据链接与主题的相似度和链接的类别将链接分为0到5级,5级优先级最高,0级优先级最低,爬虫爬行过程中优先爬取优先级高的链接并舍弃0级链接。
本文爬虫通过有标注的训练样本D完成算法训练过程,得到特征属性集合S,在确定链接属性sim(q,p)和类别后,通过算法分类过程得到链接类别,即确定链接优先级。
2.3系统结构
3系统实现及实验
3.1系统实现
3.2实验
3.3实验结果讨论
关键词:高职教育园区;网络舆情;监测管理
一、高职教育园区网络舆情的特点
从过去传统校园的公众表达方式到今天的网络公众表达方式的转变,对一些热点敏感问题的传播速度更快、规模更大,舆情事件的不断增多,使社会影响面广,易引发过激行为。因此,分析高职教育园区网络舆情特点,对其进行监测管理分析并解决出现的问题,适时正确引导是构建一个和谐高职教育园区,促进高职学生健康成长的一项长期艰巨的任务。
(一)高职教育园区网络客观因素
(二)高职学生自身因素
由于参与高职教育的学生年轻气盛,大多数都为十七八岁的独生子女,自律能力、挫折适应能力和环境适应能力相对弱一些,思想情绪极易产生波动。再者大部分高职学生由于高中时成绩不理想,考进高职院校心里有一定的失落感,为此缺乏自信心,加上当前社会上追求高学历现象更使得高职学生产生更大的心理压力,一旦社会舆情蔓延到校园极易产生叠加的网络舆情群体效应。
二、高职教育园区网络舆情监测管理体系的构建
从高职教育园区网络舆情特点可见构建园区网络舆情监测管理体系应考虑以下几方面。
(一)园区网络舆情监测系统的基础设施建设
目前高职教育园区各院校都建有各自的校园网络,在校园网络基础上组建园区网络,实现校园网络互联。如常州高职教育园区共有5所院校,是江苏省唯一的示范性高职教育园区,全日制在校学生约7.6万余名。实现园区网络互联其网络架构示意图,如图1所示。
图1园区网络架构示意图
(二)网络舆情监测系统的框架结构
目前舆情信息抓取主要使用以下几种技术:元搜索采集技术、传统网络爬虫技术、论坛爬虫技术。整个园区网络舆情监测系统分为舆情信息采集、舆情数据处理及舆情信息查询展示三层,如图2所示。
在舆情信息采集层主要根据用户的监测目标以尽可能小的代价从园区网上尽可能全面地得到所有舆情信息,它是监测网络舆情的前提和保证。园区网络舆情信息的主要爆发点有:博客、论坛、微博及新闻等网站,舆情信息分布散、各种类型网站结构不同,为此针对不同类型的站点采用不同的爬虫采集舆情信息是一种明智的做法。例如,采集源着重抓取论坛数据时,专为网站论坛设计的一类爬虫称为论坛爬虫。由于网站论坛的链接种类较多,且有较多的无效链接,还有一些链接的同一话题和动态性分布在多个页面上,这样使用传统爬虫会在论坛站点上出现“爬虫陷阱”,“相同话题下的页面会丧失页面关系”,并且“爬行的页面质量低下”等问题。而使用基于层次模型论坛爬虫LMFC(Basedonthelevelmodelofforumcrawler下载效率高、信息更新速度更快。这种基于模板要求网页信息提取法,其提取链接的效果是由模板中的规则决定的,采用模板法比程序自动提取法更加准确。但是随着论坛爬虫持续运行URL(统一资源定位)库会逐渐增大,因而对LMFC数据更新特点往往用“话题更新率”、“帖子更新率”评价其性能。
舆情信息处理层是针对采集到的数据进行过滤、分析。采用基于本体的挖掘技术。如通过信息采集层获取到的网页根据其页面的特性,并使用基于模板的抽取网页信息方法抽取其中的文本信息,也可直接存入数据库中。另外,将需要存入索引的文本信息进一步做索引和文本分词处理。针对存入索引的文本采用基于本体的文本分类法进行过滤,除去与检测目标不符的信息,最后基于本体的聚类法得到舆情热点。
园区网络舆情监测体系有效地推进高职教育园区信息化建设,充分利用技术手段达到园区网络监、管、控,保障了高职教育园区的和谐稳定。
三、提高学生信息素养的策略
建立高职教育园区网络舆情监测系统积极防御园区网络舆情时,还需特别重视提高学生信息素养。
(一)采取跟进式管理
(二)规范学生上网行为
培养学生文明的网络行为。网络作为推动素质教育的重要平台,在网站建设中不仅需考虑内容丰富多彩而且要贴近实践、贴近师生和贴近生活,成为师生沟通交流平台。只有学生能自觉抵制不良信息,才能不断减轻和消除网络的负面影响。
(三)提高学生辨别网络虚假信息的能力
互联网上虚假信息及不良信息往往引发错误舆论导向。如何提高学生判断网上不良信息能力是高校教育工作者研究重要课题之一,从客观上分析一些交互性比较强的网站上,存在网络信息人为操作,产生的虚假信息极大地损害了网络媒体的公信度。为此学生在日常学习生活中需不断建立获得正确媒体信息和判断信息价值的知识结构,其次增强自身对是非、美丑、正误的判断能力,逐渐培养对网络信息的辨析和选择能力。熟练掌握在网上如何获取有效及健康的信息方法,使学生成为网络媒体的主动参与者,而不只是网络媒介信息的被动接受者。
学生学会将获取的信息进行分类归纳,根据自己的学习需求去选择和辨析哪些是自己所需要的网络信息,运用好网络这个先进的工具进行文化知识的学习和学科知识的研究。并准确地表达自己的思想理念、对待事物的看法与态度及时与他人沟通与交流。
高职教育园区网络舆情监测与管理体系的建立,为校园稳定并高效地开展教学、科研提供有力保障。网络新技术飞速发展,迫使网络舆情监测与管理也要以更新的技术及更快的反应速度来应对复杂的变化,对园区网络舆情监测与管理还需不断地加强理论研究,并不断地开展实践研究。
[1]李荣素,赵卫利.高等职业院校网络舆情特点及管理研究[J].产业与科技论坛,2011,(20).
[2]伍海江.面向网络舆情监测的关键技术研究[D].北京:华北电力大学,2012.
关键词:恶意发帖检测;文本情感分析;SVM;分类;聚类
随着互联网(Internet)的蓬勃发展,网络作为一种新的媒介形式,已被人们广泛使用。互联网的发展过程“是一个时时处处有人参与的、不断演化的、自适应的、不断涌现出新的整体特性的过程,是一个开放的、人在其中与社会系统紧密耦合的复杂巨系统[1]”,其业务流量自相似、拓扑结构无尺度等特性的发现为人们正确认识和管理互联网起到了重要作用。
网络论坛是网络舆论形成的一股重要力量,广大网民通过网络来表达观点,一旦遇到社会热点问题,瞬间就能形成巨大网络的舆论。网民通过“发帖”发表意见、参与舆论形成,与论坛网站共同构成了人机结合的虚拟系统[2]。以网络水军为主体的恶意发帖能主导舆论走势,产生错误的舆论导向以及消极的影响,所以对恶意发帖的检测就显得尤为重要。
本文通过对大量论坛发帖信息进行收集分析,形成帖子库,并对帖子内容进行文本情感分析,产生恶意发帖聚类,接着使用支持向量机(SVM)对恶意帖子进行分类,实时产生预警信息,并对发帖源头进行干预。
1理论背景
基于情感分析的恶意发帖检测系统的分析与研究中,涉及到的理论主要有三个方面,分别是数据挖掘技术,文本情感分析和支持向量机。
1.1数据挖掘技术
数据挖掘(DataMining,DM)又称数据库中的知识发现(KnowledgeDiscoverinDatabase,KDD),是目前人工智能和机器学习领域的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的过程[3]。
数据挖掘的分类、聚类、关联规则、预测算法能很好的应用到恶意发帖的分析检测与追踪之中。主要处理如下:
1)可以对帖子库中的恶意帖子根据恶意的等级不同进行分类处理;
2)可以对恶意帖子进行聚类分析,找出它们的团伙关系;
3)利用关联规则,找出发帖人与不同帖子之间的关联关系;
4)利用预测技术预测出哪些发帖人有恶意发帖的趋势;
5)利用帖子间的文本的近似的比对,找出某个人多次改变手法发帖。
1.2文本情感分类
文本情感分类是指通过挖掘和分析文本中的立场、观点、看法、好恶等主观信息,对文本的情感倾向做出类别判断[4]。文本情感分析使用文本极性分析将帖子分为正面或负面,论坛发帖文本情感分析具体工作流程如图1所示。
1)观点摘要。从一个或若干包含主观性信息的文本文档中概述出其中主观性信息的主要内容。基于观点的摘要分为两种,一种是单文档摘要,另一种是多文档摘要。
2)文本极性分类。针对给定的文本,使用情感分类方法,识别其中主观性信息的倾向是正面还是负面的。NaiveBayes、最大熵分类(MaximumEntropyClassification)和支持向量机是常用的情感分类方法。
3)主观和客观识别或分类。识别文本是对事实的描述(客观的文本)还是包含有意见、评价等主观性信息(主观性文本)。
1.3支持向量机
支持向量机(SVM)是由Vapnik在1963年解决模式识别问题时提出了支持向量方法,这种方法从训练集中选择一组特征子集,使得对特征子集的划分等价于对整个数据集的划分[5]。
SVM从线性可分情况下的最优分类面发展而来,广泛应用于数据分类、手写识别等领域。SVM考虑寻找一个满足分类要求的超平面,并且使训练集中的点距离分类面尽可能的远,也就是寻找一个分类面使它两侧的空白区域(Margin)最大。
3系统功能分析
整个系统的设计与实现,包括网络发帖采集系统,网络发帖倾向性分析,恶意发帖分析检测引擎和恶意发帖分析监测与监控追踪系统,下面就四个系统的功能进行分析。
3.1网络发帖采集系统
网络发帖采集系统主要功能是完成网络发帖数据的实时采集整理,其中负责采集数据的是网络爬虫,其运行具体步骤如下:
1)用户通过配置管理界面配置爬虫的数据源、页面解析逻辑、数据存取逻辑和高级设置,配置数据将保存在爬虫配置数据库中;
2)用户在数据抓取监控界面开始运行数据抓取任务时,系统通过读取页面表中配置数据利用爬虫装配器组装爬虫执行体,读取高级配置爬虫控制器为爬虫执行体分配执行线程、URL队列等运行时参数,爬虫将在爬虫控制器的管理下运行,可进行任务调度、定时执行、自动更新、实时监控等操作;
3)爬虫抓取的数据将根据配置自动保存到相应数据库中,用户可以通过数据库管理界面进行查看、导出等操作。
3.2网络发帖倾向性分析
1)文档集合预处理。将每个文档中的文本分割为句子,以句子为单位进行词性标注,得到句子中每个词的词性。
2)LDA构建。将句子集合中的每个句子当作LDA模型中的文档,为整个句子文档集合建立一个LDA模型。
3)主题重要度计算。根据LDA模型得到句子的主题分布和主题词汇分布,计算每个潜在主题的重要度。
4)句子重要度计算。根据主题重要度,结合主题词分布和语义倾向,计算主题中每个句子的权重。
5)语句排序。根据句子权重对句子进行排序,如果权重相同,非停用词在句子占比重大的排在前面。
6)帖子分类。按照句子排序顺序结果使用SVM方法对帖子的恶意情况进行分类。
3.3恶意发帖分析检测引擎
恶意发帖分析检测引擎为本系统的核心,其主要包括以下功能:热点识别能力、自动分类、聚类分析、倾向性分析与统计、主题跟踪、信息自动摘要功能、截取证据、趋势分析、突发事件分析、报警系统、统计报告。
恶意发帖分析检测的核心技术在于恶意发帖分析检测引擎,涉及最主要的技术包括文本分类、聚类、观点倾向性识别、主题检测与跟踪等技术。恶意发帖分析检测引擎是恶意发帖分析与检测系统的核心,主要功能如下:
1)热点(敏感)话题识别与追踪。利用关键词布控和语义分析,识别敏感话题。
2)情感倾向分析。对于每个话题,对每个发贴人发表帖子的观点、倾向性(正负面、褒贬义)进行分析与统计。
4)帖子自动摘要。对各类主题,各类倾向能够形成自动摘要。
7)实时预警。对突发事件、涉及敏感话题及时发现并发出预警信息。
8)统计报告。根据舆情分析引擎处理后的结果库生成报告,用户可以浏览、检索。根据指定条件对热点话题、倾向性进行查询,提供决策支持。
3.4恶意发帖分析监测与追踪系统
恶意发帖分析监测与追踪系统主要是对指定网站的帖子进行数据采集存储到数据库中,再对库中的帖子情况进行分析,实现实时监测和追踪。主要功能如下:
1)对库中的帖子提取关键词,进行文本倾向性分析。
2)根据极性不一样,利用分类算法为帖子指定不同的恶意等级,并根据等级不一样不同的预警信息。
3)利用聚类算法对帖子实现自动归类,挖掘出发帖人之间的团伙关系。
4)文本近似度分析,发现改变手法多次发帖的发帖人。
5)利用IP地址及发帖人之间的关系定位发帖人,实现对恶意发帖的检测与追踪。
帖子检测是本系统的核心,即帖子按恶意度分级,将一定级别的恶意帖子收集到一个库中,然后进行统计,分为两种情况:
1)完全相同的人发帖(同一个人用一个账号多次发帖和同一个人用多个账号一次发帖,如果多个账号发的是同一个帖子,那么应该是同一个人)。
2)类似的人发帖(一个人改变手法,多次发帖),或者可以看成是一个团伙。
恶意帖子检测流程如图4所示。
1)找出同一个账号多次发出同一恶意帖子,进而定位这个账号,进行跟踪,同IT部门和技术部门合作,找出发帖者的IP地址,确认发帖者的位置和身份。
2)直接根据发帖内容进行比对,如果是内容相同的帖子,来自于不同和和不同账号,根据这些账号是否由同一个IP地址发出,确认是否为同一个人用多个账号发帖;如果IP不同就有可能是一个同伙或组织用多个账号发出同一个帖子。
3)根据内容的相似度,找出类似的发帖,找出其账号之间的关联,确定是否为一个人改变手法,多次发帖。
5)根据密集子图的密集程度和活跃程度,确定发帖信息的危害程度以及突发事件的可能性,以便及时预警。
本系统建立面向主题的、关键词的、行业的、主流网络平台的恶意发帖信息的语料库;搭建了恶意发帖检测分析平台,及时识别恶意发帖信息,使用网络发帖分析检测引擎,对恶意发帖信息进行分析处理;制定通用的恶意发帖分级制度,建立恶意发帖监控预警标准。建立恶意发帖控制处理平台,建立恶意发帖信息的追踪和预警体系。系统运行稳定正常,具有良好的实际价值。
[1]山秀明.互联网复杂性研究进展[J].北京邮电大学学报,2006,29(1):1-8.
[2]谢新洲,肖雯.我国网络信息传播的舆论化趋势及其所带来的问题分析[J].情报理论与实践,2006,29(6):645-649.
[3]JiaweiHan.数据挖掘概念与技术[M].北京.机械工业出版社,2012.
关键词:职位找工作推荐系统微博好友的公司
1引言
社交网络(SocialNetworkingService)[1],指旨在帮助人们建立社会性的互联网应用服务或者网站平台。在国内,紧随国外社交网络的节奏,诞生了人人网,新浪微博,腾讯朋友网等用户过亿的社交网络,中国有3亿人活跃在社交网络,预计未来两年将达到5亿人。中国正在成为世界上最大的社交网络国家[2]。
当前伴随着社交网络的流行,社交招聘[3]开始崭露头角,成为大部分企业和求职者的首选工具之一。仅在新浪微博,就活跃着超过5万家企业。
国内网络招聘的应用面逐渐扩大,社交网站作为新兴的网络招聘方式正在兴起。根据艾瑞咨询报告显示,2010年中国网络招聘市场[6]规模逼近15亿元,2011年三季度中国网络招聘市场营收规模达5.9亿元,同比增长32.7%,环比增长10.0%,较以往呈现出较快增长。微博作为一个新兴社交媒介,仅在2010年,国内微博访问用户规模已达到12521.7万人。
而利用社交网络求职,求职者面临着两大问题:
一是,活跃的企业及个人招聘者实时动态的招聘信息,对求职者来说信息过载,无法快速找到合适的职位。
根据求职者社交网络好友所在的公司,向求职者推荐这些公司的工作机会,使求职者得到更符合自己圈子的工作机会。
2项目功能介绍
2.1搜索、订阅、推送实时社交网络职位
2.2利用社交关系挖掘来推荐职位
3基于社交关系的职位推荐系统的实现
基于社交关系的推荐需要基于用户现有社交网络的好友进行数据挖掘,那么选择从什么社交网络导入好友信息就非常重要,经过我个人新浪微博账号测试,我新浪微博上的互粉好友大概204人,其中填写了职业信息的有70人,大概有30%左右;而人人和腾讯微博,豆瓣等社交网络的已有职业信息还太少,Linkedin的国内用户数相对较少,所以首先导入新浪微博的好友能解决推荐的冷启动问题,帮用户挖掘出他的好友都在哪里工作,图1为在系统有4万条职位信息时,以我个人账号数据为原型的基于好友公司职位推荐的职位情况:
3.1微博职位信息的获取
从社交网络海量信息中获取职位信息需要数据的采集,语义分析,判断,我们首先选取了新浪微博作为数据源,通过一组特定的招聘领域常用词汇,利用新浪微博API获取匹配的微博作为源数据。下图展示了通过新浪微博获取微博职位信息的全过程,详见实现细节如图2:
3.1.1分布式爬虫
爬虫是指自动化抓取信息的程序,在本系统中主要为了获取新浪微博上的微博信息,供语义分析后提取系统所需的职位信息。
分布式爬虫[12]采用主从结构,控制器和终端:(1)控制器控制(master)全部爬行器,负责爬虫任务的调度,同步和终止命令。(2)终端(slave)负责信息的采集,将拓扑信息反馈控制器。
3.1.2中文分词
为了能够对采集到的微博数据进行是否为职位的语义分析,首先要将微博分词,这里我们采用了Jieba分词引擎,下面对分词用到的算法做一个简单分析:
(1)基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)。
(2)采用了动态规划查找最大概率路径,找出基于词频的最大切分组合。
总结一下Jieba的分词过程:加载字典,包括Jieba的词典和我们手工录入的领域信息词典,包括公司中文名称,职业名等,生成trie树。?给定待分词的句子,使用正则获取连续的中文字符和英文字符,切分成短语列表,对每个短语使用DAG(查字典)和动态规划,得到最大概率路径,对DAG中那些没有在字典中查到的字,组合成一个新的片段短语,使用HMM模型进行分词,也就是作者说的识别新词,即识别字典外的新词。使用python的yield语法生成一个词语生成器,逐词语返回.当然,我认为直接返回list,效果也差不到哪里去。
通过Jieba,我们对所有采集到的微博信息进行全分词,将分词结果作为索引和微博信息一并存入数据库,供职位判断程序进行是否是职位的判断,同时索引也为系统提供了搜索功能。
3.1.3基于布尔逻辑的职位信息判断
微博信息限定只有140字,而短文本自然语言的语义理解是非常困难的,所以我们采用了一个简单的布尔逻辑判断+人工审核的方法。
首先我们建立了两个关键词库A和B:
A中加入职位可能包含的关键字,包括招聘关键字,职位名称,技能名称等;B中加入需要过滤的关键字,必如会引起混淆的词语。
然后,对微博文本进行全模式分词,配合我们已经在上面说的加入自定义词库,将微博文本分词为一个关键字集合。
最后,我们根据A和B对微博进行匹配:
IfAandB:该微博非职位信息
IfAandNOTB:该微博可能为职位信息
3.2用户的好友关系及其好友的职业信息的获取
向用户做社交化职位推荐需要用户的好友关系,现在很多主流的社交平台都已经开放了自己的好友关系,作为我们职位数据源的新浪微博也开放了自己的好友关系,这为我们基于用户好友公司向用户推荐职位提供了数据支持。
3.3职业信息中公司名的预处理
社交网络大都未对用户的职业信息进行校验,所以会出现大量重复的公司或者公司的不同名称,那么进行搜索和推荐的前提职业信息中公司名的预处理。
3.3.1重复公司合并
按公司名搜索职位必须保证公司的独一性,但从社交网络采集来得公司名称比较混乱,不能直接用于检索,所以我们开发了工具合并所有收录入系统的公司名。
3.3.2为合并后的公司名添加别名
3.3.3添加同义词
当用户搜索公司时,会用一些中文简写,或者英文翻译,比如淘宝网可以简写为“淘宝”或者翻译为“Taobao”,这时这三个词是同义的,我们会都转换为“淘宝网”进行搜索,同时因为我们为“淘宝网”加入大量的别名,可以保证用户搜索出最为丰富的结果。
3.4好友公司职位的匹配
在获取用户关系和用户好友公司信息时,我们已经获得了一个用户好友公司分布的集合,经过公司名合并之后,获取到了用户真实的好友公司分布,用新的集合里的公司名依次搜索职位,将得到的职位集合返回,作为用户好友公司的职位,过程图解如下:
进过上述过程,我们可以获取到系统中用户好友所在的公司招聘的职位分别有哪些,以本人新浪微博账号@Wangchao0721索引3个月以内[14]的职位,得到的效果如下图所示:
4结论
本文中作者运用社交网络数据采集和挖掘,利用用户现有的社交网络中的社交关系,构建推荐系统,为用户推荐其好友所在的公司正在招聘的职位,并介绍了整个系统架构的原理,从数据的采集,中文分词的原理,职位的判断,用户所填的公司名的归并,到最后好友公司职位的提炼。
现在社交网络愈演愈烈,有大量潜在的求职者和招聘者沉淀了大量数据,但国内招聘领域并没有很好的产品利用到这些数据。本文希望能够通过推荐系统的方式,让用户摆脱千人一面的求职网站,做到基于社交关系的个人化推荐,同时给招聘行业提供一种技术解决方案,利用现有的公司员工推荐靠谱的求职者,能够尽量降低人力在整个招聘过程中的比重,从而降低整个流程的成本问题。
[1]LouisYu,ValerieKing.TheEvolutionofFriendshipsinChineseOnlineSocialNetworks.IEEEInternationalConferenceonSocialComputing-SocialCom,pp.81-87,2010.
[2]LouisYu,ValerieKing.TheEvolutionofFriendshipsinChineseOnlineSocialNetworks.IEEEInternationalConferenceonSocialComputing-SocialCom,pp.81-87,2010.
[3]Diggingsocialnetworksbymashupstosupportrecruitmentandselectionfunctionsinuniversitystudentintakeprocess.IEEEInternationalWorkshoponBusinessApplicationsofSocialNetworkAnalysis-BASNA,2010.10.1109/BASNA.2010.5730303.
[4]李豫川.探析网络招聘现状.
[5]KnowingMe,KnowingYou:ACaseStudyofSocialNetworkingSitesandParticipantRecruitment[J]AndrewL.BrooksElizabethF.Churchill.
[6]XianbiHuang.FINDINGNICHES:SOCIALNETWORKSANDJOBSEARCHINTRANSITIONALCHINA.
[7]常慧宁,徐辰雪.社交网站——人才招聘的新渠道.全国商情?理论研究,2011,(9).
[8]刘建国,周涛,郭强,等.个性化推荐系统评价方法综述[J].复杂系统与复杂性科学.2009,6(003):1-10.
[9]刘建国,周涛,汪秉宏.个性化推荐系统的研究进展[J].自然科学进展.2009,19(001):1-15.
[10]J.Srivastava:Dataminingforsocialnetworkanalysis.IntelligenceandSecurityInformatics,2008.
[11]MagnusLieHetland.PythonandtheWeb.
[12]王凤红.简单分布式网络爬虫模型的设计与分析.中国现代教育装备.2008.