基于新浪微博的用户信息爬虫及分析毕业论文.doc

上传人:b****1 文档编号:197237 上传时间:2022-10-06 格式:DOC 页数:32 大小:1.51MB
下载 相关 举报
基于新浪微博的用户信息爬虫及分析毕业论文.doc_第1页
第1页 / 共32页
基于新浪微博的用户信息爬虫及分析毕业论文.doc_第2页
第2页 / 共32页
基于新浪微博的用户信息爬虫及分析毕业论文.doc_第3页
第3页 / 共32页
基于新浪微博的用户信息爬虫及分析毕业论文.doc_第4页
第4页 / 共32页
基于新浪微博的用户信息爬虫及分析毕业论文.doc_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

基于新浪微博的用户信息爬虫及分析毕业论文.doc

《基于新浪微博的用户信息爬虫及分析毕业论文.doc》由会员分享,可在线阅读,更多相关《基于新浪微博的用户信息爬虫及分析毕业论文.doc(32页珍藏版)》请在冰豆网上搜索。

基于新浪微博的用户信息爬虫及分析毕业论文.doc

目录

摘要 I

Abstract II

1引言 3

1.1选题背景与意义 3

1.2系统开发工具 3

1.2.1vs2008 3

1.2.2oracle11g 3

1.2.3boost库 3

1.2.4GZIP压缩算法函数库 3

1.2.5JSON格式文件转换函数库 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.1HTTP请求数据包 12

3.1.2HTTP返回数据包 13

3.1.3数据分析与提取 13

3.1.4AnaData类 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发布微博并@列表框中的微博用户昵称 20

3.3.5微博用户昵称模糊搜索 21

3.3.6微博用户微博查询 21

4系统部署与测试 22

4.1系统部署图 22

4.2系统测试 22

5结束语 29

参考文献 30

致谢 31

-31-

摘要

随着互联网信息技术的发展,在这个信息时代,数据量的增长速度已经远远超过的我们的想象。

迅速的对这些数据进行处理,进行信息的提取已经成为目前计算机领域一个巨大的难题。

而且无论是政府还是企业,对于大数据的掌握都可以起着至关重要的作用。

数据处理技术蕴含的巨大的商业价值必将被慢慢的挖掘出来。

本文以新浪微博作为信息载体。

对新浪微博的用户信息进行收集和分析,对新浪微博信息数据转化成价值的可行性进行了尝试。

设计出了一个可以获取新浪微博信息的数据收集系统,并进行一定的数据分析和数据展示。

关键词:

C++,新浪微博,数据挖掘

Abstract

WiththeInternetdevelopmentofinformationtechnology,inthisageofinformation,theamountofdatagrowthhasfarexceededourimagination.Rapidprocessingofthesedata,theextractionofinformationhasbecomeahugeprobleminthecomputerfield.Andwhethergovernmentorcorporate,cangraspforbigdataplaysavitalrole.Thetremendouscommercialvalueofdataprocessingtechnologyisboundtobeslowlyexcavated.

Inthispaper,SinaWeiboasaninformationcarrier.SinaWeibouserinformationcollectionandanalysistheSinamicrobloggingdataintothevalueofthefeasibilityofatry.DesignonecangetthetheSinamicroblogginginformationsystemofdatacollectionanddataanalysisanddatapresentation.

Keywords:

c++,SinaWeibo,DataMining

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.1vs2008

1.2.2oracle11g

1.2.3boost库

Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。

Boost库有些内容有望成为下一代C++标准库内容。

甚至替代现在的STL库。

boost库在多线程处理上具有更多的优势,可以在linux和window系统中使用而不用修改代码,除了强大的可移植性,boost在运行中也具有极大的稳定性,因为加入了智能指针的概念,提高了开发效率。

[3]

1.2.4GZIP压缩算法函数库

从新浪接口获取的数据数经过gzip压缩加密的数据,进行解压后即可获得json文件格式的数据。

GZIP最早由Jean-loupGailly和MarkAdler创建,最初用于UNIX系统的文件压缩。

而现今它已经成为Internet上使用非常普遍的一种数据压缩格式,或者说一种文件格式,可以很好的对数据进行压缩。

GZIP编码是可以很好的提高WEB应用程序的性能。

大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。

当访问服务器中的网站时,服务器将网页内容压缩在进行传输,一般对纯文本内容可压缩到原大小的40%.[4]

1.2.5JSON格式文件转换函数库

因为新浪微博的数据接口格式为json。

为了获取微博数据,必须从JSON数据里面提取需要的信息。

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。

JSON采用完全独立于语言的文本格式,JSON是一种理想的数据交换语言。

易于人阅读和编写,同时也易于机器解析和生成。

[5]

2系统需求分析与设计

2.1系统需求

2.1.1名词说明

1)微博用户信息:

指的是新浪微博的用户的ID、粉丝数、关注数、注册时间等信息、

2)微博信息:

指的是微博用户发布的微博的ID、内容、发布时间,评论数,转发数等信息。

3)用户:

指的是使用本系统的用户。

2.1.2系统功能需求说明

微博开放平台是一个基于新浪微博客系统的开放的信息订阅、分享与交流平台。

微博开放平台提供了海量的微博信息、粉丝关系、以及随时随地发生的信息裂变式传播渠道。

系统分成三个部分:

数据爬虫,服务器端,客户端。

(1)数据爬虫通过调用微博开放平台的接口,获取微博用户及其相应的信息,进行分析后存入数据库。

(2)服务器部分接收客户端的请求,从服务器数据库或新浪平台获取数据后返回相应的数据给客户端。

(3)客户端用于数据的展示。

1)微博数据爬虫部分:

为了实现数据爬虫的功能,需要解决的问题是数据的获取,这就需要了解相关的基本的网络知识。

理解了数据传输的原理,并利用现有的开源函数库,就可以完成数据获取函数的编写。

其中,主要要处理的问题有:

(1)实现HTTP请求报文的生成

(2)实现HTTP返回报文的接收和解压

(3)实现对解压后的json文件进行分析和信息提取,如果需要入库,存入入库队列。

2)微博数据爬虫基本需求:

(1)数据信息初始化:

读取数据库中已有的信息,存入微博用户缓存队列。

为爬虫系统的运行做好准备。

(2)微博用户发现:

自动爬取获取新的微博用户信息,如果发现新的微博用户ID,则将该用户信息存入。

(3)微博信息爬取:

从微博用户队列中获取微博用户ID,然后进行微博爬取。

(4)微博用户信息更新模块:

对数据库中的微博用户信息中的微博数,关注数,粉丝数进行更新。

(5)关注列表信息更新:

定期的对关注列表的微博数,总评论数,总转发数等数据。

(6)微博用户信息入库。

将等待入库的数据容器里的数据存入数据库。

(7)微博信息入库。

将等待入库的数据容器里的数据存入数据库。

(8)微博用户标签入库。

将等待入库的数据容器里的数据存入数据库。

(9)数据更新。

当数据库已存在的该数据是,对数据进行更新。

2)服务器部分:

(1)命令接收及处理:

接收客户的请求,并从数据库和微博平台中获取信息并返回给客户端。

新增的关注微博用户的微博爬取:

(2)当客户端新增了微博用户的关注时,进行数据爬取。

微博信息入库。

3)客户端部分:

(1)登录模块:

(2)新用户注册模块:

(3)通过邮箱获取注册验证码进行注册。

(3)忘记密码模块:

(4)向注册邮箱发送用户名和密码。

(5)用户关注的微博用户列表查询。

(6)获取关注列表的详细信息。

(7)查询数据库中的用户标签分类后产生的数据:

(8)通过标签类别和拟合度两个参数向服务器请求信息。

(9)微博用户模糊联想搜索:

(10)通过微博平台的联想搜索接口查询数据。

(11)发布微博并对列表框的微博账号进行@。

2.1.3系统总体功能设计

1)爬虫系统流程如图2-1所示:

图2-1爬虫系统流程图

2)接口调用处理流程如图2-2所示:

图2-2数据接口调用流程图

3)服务器流程如图3-3所示:

图2-3服务器流程图

4)客户端流程图如图2-4所示:

图2-4客户端流程图

2.2系统数据库构建

2.2.1数据库设计

系统采用oracle11g数据库。

数据库名称weibo。

数据库weibo包含5个表:

1)USER_TABLE,用于存储注册用户信息;

2)WEIBO_USER_FOCUS_LIST,用于存储用户的微博用户关注列表;

3)WEIBO_USER_INFO,用于存储微博用户信息;

4)WEIBO_WEIBO_INFO用于存储微博信息;

5)TABLEKEYS_INFO用于存储微博用户标签信息.

2.2.2数据库详细设计

1)WEIBO_WEIBO_INFO表主键为ID字段,USERID字段为外键,并为ID字段,USERID

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1