目 录
摘 要 ............................................................................................................................................................. I Abstract ......................................................................................................................... II矚慫润厲钐瘗睞枥庑赖。 1 引言 .......................................................................................................................... 3聞創沟燴鐺險爱氇谴净。 1.1 选题背景与意义........................................................................................... 3残骛楼諍锩瀨濟溆塹籟。 1.2 系统开发工具............................................................................................... 3酽锕极額閉镇桧猪訣锥。 1.2.1 vs 2008............................................................................................. 3彈贸摄尔霁毙攬砖卤庑。 1.2.2 oracle 11g ....................................................................................... 3謀荞抟箧飆鐸怼类蒋薔。 1.2.3 boost库............................................................................................ 3厦礴恳蹒骈時盡继價骚。 1.2.4 GZIP压缩算法函数库 ...................................................................... 3茕桢广鳓鯡选块网羈泪。 1.2.5 JSON格式文件转换函数库 .............................................................. 4鹅娅尽損鹌惨歷茏鴛賴。 2 系统需求分析与设计............................................................................................. 5籟丛妈羥为贍偾蛏练淨。 2.1 系统需求 ...................................................................................................... 5預頌圣鉉儐歲龈讶骅籴。 2.1.1 名词说明........................................................................................... 5渗釤呛俨匀谔鱉调硯錦。 2.1.2 系统功能需求说明 ........................................................................... 5铙誅卧泻噦圣骋贶頂廡。 2.1.3 系统总体功能设计 ........................................................................... 7擁締凤袜备訊顎轮烂蔷。 2.2 系统数据库构建........................................................................................... 9贓熱俣阃歲匱阊邺镓騷。 2.2.1 数据库设计 ....................................................................................... 9坛摶乡囂忏蒌鍥铃氈淚。 2.2.2 数据库详细设计 ............................................................................... 9蜡變黲癟報伥铉锚鈰赘。 3 系统详细设计与实现............................................................................................. 12買鲷鴯譖昙膚遙闫撷凄。 3.1 爬虫系统详细设计 ..................................................................................... 12綾镝鯛駕櫬鹕踪韦辚糴。 3.1.1 HTTP请求数据包 ............................................................................ 12驅踬髏彦浃绥譎饴憂锦。 3.1.2 HTTP返回数据包 ............................................................................ 13猫虿驢绘燈鮒诛髅貺庑。 3.1.3 数据分析与提取 ............................................................................. 13锹籁饗迳琐筆襖鸥娅薔。 3.1.4 AnaData类 ...................................................................................... 13構氽頑黉碩饨荠龈话骛。 3.1.5 数据入库......................................................................................... 15輒峄陽檉簖疖網儂號泶。 3.2服务端详细设计.......................................................................................... 16尧侧閆繭絳闕绚勵蜆贅。 3.3客户端详细设计.......................................................................................... 17识饒鎂錕缢灩筧嚌俨淒。 3.3.1 登录页面......................................................................................... 17凍鈹鋨劳臘锴痫婦胫籴。 3.3.2 注册新用户和忘记密码页面 ......................................................... 18恥諤銪灭萦欢煬鞏鹜錦。 3.3.3 用户关注列表查询界面 ................................................................. 19鯊腎鑰诎褳鉀沩懼統庫。 3.3.4 微博用户标签分类查询 ................................................................. 20硕癘鄴颃诌攆檸攜驤蔹。 3.3.4 发布微博并@列表框中的微博用户昵称 ....................................... 21阌擻輳嬪諫迁择楨秘騖。 3.3.5 微博用户昵称模糊搜索 ................................................................. 21氬嚕躑竄贸恳彈瀘颔澩。 3.3.6 微博用户微博查询 ......................................................................... 21釷鹆資贏車贖孙滅獅赘。 4 系统部署与测试 .................................................................................................... 22怂阐譜鯪迳導嘯畫長凉。 4.1 系统部署图 ................................................................................................ 22谚辞調担鈧谄动禪泻類。 4.2 系统测试 .................................................................................................... 22嘰觐詿缧铴嗫偽純铪锩。 5 结束语 .................................................................................................................... 30熒绐譏钲鏌觶鷹緇機库。 参考文献 .................................................................................................................... 31鶼渍螻偉阅劍鲰腎邏蘞。 致谢 ............................................................................................................................ 32纣忧蔣氳頑莶驅藥悯骛。 -1-
摘 要
随着互联网信息技术的发展,在这个信息时代,数据量的增长速度已经远远超过的我们的想象。迅速的对这些数据进行处理,进行信息的提取已经成为目前计算机领域一个巨大的难题。而且无论是政府还是企业,对于大数据的掌握都可以起着至关重要的作用。数据处理技术蕴含的巨大的商业价值必将被慢慢的挖掘出来。颖刍莖蛺饽亿顿裊赔泷。 本文以新浪微博作为信息载体。对新浪微博的用户信息进行收集和分析,对新浪微博信息数据转化成价值的可行性进行了尝试。设计出了一个可以获取新浪微博信息的数据收集系统,并进行一定的数据分析和数据展示。濫驂膽閉驟羥闈詔寢賻。 关键词:C++,新浪微博,数据挖掘
-I-
Abstract
With the Internet development of information technology, in this age of information, the amount of data growth has far exceeded our imagination. Rapid processing of these data, the extraction of information has become a huge problem in the computer field. And whether government or corporate, can grasp for big data plays a vital role. The tremendous commercial value of data processing technology is bound to be slowly excavated.
In this paper, Sina Weibo as an information carrier. Sina Weibo user information collection and analysis the Sina microblogging data into the value of the feasibility of a try. Design one can get the the Sina microblogging information system of data collection and data analysis and data presentation.銚銻縵哜鳗鸿锓謎諏涼。 Keywords: c++ ,Sina Weibo,Data Mining
-II-
1 引言
1.1 选题背景与意义
随着互联网信息技术的发展,目前的信息增长的速度已经进入了飞速膨胀的阶段。“如果说IBM的主机拉开了信息化革命的大幕,那么‘大数据’才是第3次浪潮的华彩乐章。”著名未来学家、当今世界最具影响力的社会思想家之一托夫勒在《第三次浪潮》中说过的内容如今已将逐渐成为事实,大数据正在改变这我们的生活。挤貼綬电麥结鈺贖哓类。 IDC(国际数据公司)在2011年6月的数据统计[1],全球数据量在2011年已达到1.8ZB,在过去5年时间里数据量增加了5倍。1.8ZB是什么样的概念?1ZB等于1万亿GB,1.8ZB也就相当于18亿个1T的硬盘。赔荊紳谘侖驟辽輩袜錈。 有效的对这些数据处理,去噪和提取信息,将数据转换成价值的技术已成为目前市场最为广阔的研究课题。例如数据挖掘,分布式计算,机器学习等等新的信息技术的产生,他们目的都是为了能够从这无比巨大的数据中,获取能够用于商业决策和企业管理的信息[2]。塤礙籟馐决穩賽釙冊庫。 新浪微博于2009年正式上线,至2010年11月,新浪召开首届微博开发者大会时披露其微博用户突破5000万。2011年3月,新浪CEO曹国伟在发布财报时介绍称,其微博的注册用户总数已超过1亿。目前,新浪微博用户量已达到5亿。因此,新浪微博的数据具有极大的开发潜力。裊樣祕廬廂颤谚鍘羋蔺。 新浪微博数据平台是一个良好的数据载体。除了足够大的数据量,相比与腾讯QQ空间,百度贴吧等,新浪微博还具有其他一些优点,如:仓嫗盤紲嘱珑詁鍬齊驁。 1)具有一定的实名制,一些社会名人的加入提高了微博的影响力。 2)可追寻的关系链。 3)具有极快速的传播能力。
因此,我选择了新浪微博作为爬虫进行用户分析的数据载体。
1.2 系统开发工具
1.2.1 vs 2008 1.2.2 oracle 11g 1.2.3 boost库
Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库有些内容有望成为下一代C++标准库内容。甚至替代现在的STL库。boost库在多线程处理上具有更多的优势,可以在linux 和window系统中使用而不用修改代码,除了强大的可移植性,boost在运行中也具有极大的稳定性,因为加入了智能指针的概念,提高了开发效率。[3]绽萬璉轆娛閬蛏鬮绾瀧。 1.2.4 GZIP压缩算法函数库
从新浪接口获取的数据数经过gzip压缩加密的数据,进行解压后即可获得json文件格式的数据。
-3-
GZIP最早由Jean-loup Gailly和Mark Adler创建,最初用于UNIX系统的文件压缩。而现今它已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式,可以很好的对数据进行压缩。骁顾燁鶚巯瀆蕪領鲡赙。 GZIP编码是可以很好的提高WEB应用程序的性能。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。当访问服务器中的网站时,服务器将网页内容压缩在进行传输,一般对纯文本内容可压缩到原大小的40%.[4]瑣钋濺暧惲锟缟馭篩凉。 1.2.5 JSON格式文件转换函数库
因为新浪微博的数据接口格式为json。为了获取微博数据,必须从JSON数据里面提取需要的信息。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,JSON是一种理想的数据交换语言。易于人阅读和编写,同时
[5]
也易于机器解析和生成。鎦诗涇艳损楼紲鯗餳類。 -4-