社交网络信息采集技术探究及实现

社交网络信息采集技术探究及实现

ID:45978642

大小:81.50 KB

页数:13页

时间:2019-11-19

社交网络信息采集技术探究及实现_第1页
社交网络信息采集技术探究及实现_第2页
社交网络信息采集技术探究及实现_第3页
社交网络信息采集技术探究及实现_第4页
社交网络信息采集技术探究及实现_第5页
资源描述:

《社交网络信息采集技术探究及实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、社交网络信息采集技术探究及实现【摘要】社交网站作为网络舆情的有效载体,在传播舆情方面有着重要作用。近年迅猛发展起来的微博就是一种典型的社交网站。本文针对微博类网站设计了支持Ajax(AsynchronousJavaScriptandXML)技术的网络爬虫,采用协议驱动和事件驱动结合的采集策略,将爬取分为用户爬取和内容爬取两部分,使用基于模板的抽取方法,实现了对微博数据的成功抽取和存储。抽样结果证明,支持Ajax技术的网络爬虫,较BFS爬虫相比,提高了信息采集的效率和覆盖率。随着DOMTree复杂度的提高,还有待于设计更高灵活性的网络爬虫。【关键词】网络爬虫;社交网络;web信息抽取;AJ

2、AX1.引言随着信息技术的发展,各种新闻、论坛和博客网站为人们提供了发表评论的平台,对相关部门掌握舆情的走向起着重要作用,使得舆情研究变得有价值。由于Ajax技术的广泛使用,用于信息搜索的常规网络爬虫技术面临严重挑战,出现了针对Ajax技术的爬虫。2007年,瑞士苏黎世联邦理工学院的GianniFrey[1,2]通过解析网页中的脚本,实现了Ajax动态信息的采集;随后Cristian[3]等人提出了基于脚本函数以及参数的热点检测机制,减少了重复信息的采集;2008年,荷兰理工大学的Ali[4]等人利用浏览器接口模拟用户对页面元素操作获取动态信息。在我国,2007年浙江大学的罗兵[5]在普

3、通爬虫的基础上增加了JS(JavaScript)解析和DOM(DocumentObjectModel)操作模块,实现了对JavaScript代码的解析和JavaScript代码中相关DOM操作的支持,完成了对Ajax加载内容的分析;2009年,中国科学技术大学的曾伟辉[6]采用改进动态脚本分析方法,实现了基于对象的程序切片算法达到抓取Ajax站点URL的目的;同年,袁小节[7]以采集新闻主题信息为例,采用基于协议驱动采集和事件驱动采集相结合的方法完成了聚焦信息的采集。2010年,夏天[8]对Ajax站点数据采集进行了总结,分析了采集Ajax网页动态信息的研究重点以及发展趋势。本文在分析研

4、究了现有爬虫技术后,针对微博类网站设计了支持Ajax技术的爬虫,该爬虫将爬取分为用户爬取和内容爬取两部分,采用协议驱动和事件驱动结合的采集策略以及基于模板的抽取方法,实现了对微博内容的抽取和保存,提高了信息采集的覆盖率。2.面向微博的Web爬虫设计与实现微博在网络事件中对舆论的导向起到重要作用[9]。网络舆情具有源数据针对性、时效性、后续更新连续性等特点。本文设计时,将要爬取的空间限制在微博网站中,考虑微博发布的时间、内容、评论和转发数等,以最大限度的信息采集量为目标进行设计,保证获取新增评论内容。2.1面向微博的网络爬虫框架微博网站的更新是通过用户在自己的微博上发表文章来实现。由于没有

5、包含所有文章的列表,在设计该类爬虫时,必须以用户为单位,先找到用户,再进入其微博主页获取微博的内容、发布时间、评论和转发数等。根据以上思路,将基于微博的网络爬虫程序分为两个模块:获取用户信息模块和获取微博内容模块,基本框架如图2-1所示。图2-1基于微博的网络爬虫框架在获取用户信息模块中,由于信息数量过大,严重影响信息获取的速度,而实际运用中,大多信息是无用信息。因此,根据信息的重要程度,将用户分为普通用户和重点用户。在获取用户信息时,先从重点用户出发,尽可能多的获取用户列表;更新用户列表时,以最近一次的用户列表作为本次爬取的初始化用户。为保证用户获取时分布均匀,在得到用户列表后,根据已

6、获取的URL结构,使用随机函数产生用户ID,构造出微博的访问URL。在获取微博内容模块中,采用多线程爬取策略,每个线程负责一个用户的URL爬取,直至队列中的所有URL都被爬取过或者遇到终止条件结束。当爬虫进入到用户微博后,首先判断该用户是否已经被爬取过,如果己经爬取过,则转到该用户的微博页面爬取最新发布的微博;如果尚未被爬取,则从微博主页开始爬取,依次获取所有文章信息,并对用户状态进行更新。2.2支持Ajax的爬虫实现目前广泛使用的Ajax技术使用局部刷新和异步读取的方法,使得服务器不需要存储大量静态网页数据,节约了存储空间,提升了用户的使用体验[7]。但是,这种技术也导致了普通爬虫无法

7、得到完整的网页信息,如异步请求动态信息、网页中的触发事件等等。使用了Ajax技术的网页,通常是从数据库中提取相应的数据填充到指定的模板,并将其显示在网页上,如新浪微博的评论信息页面,评论的内容是动态加载的,当评论内容被分成多页显示时,不同的评论内容页共用同一个URLo由于这些评论网页的结构十分相似,且在每一个动态页面中都包含多个触发元素,若要爬取到完整的评论信息,就需要用户对这些元素进行操作。基于Ajax技术的微博网页,其首页的用户

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。