社交网络数据采集算法的设计软件工程课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程课程设计
社交网络数据收集算法的设计
摘要
随着互联网的发展,人们正处于一个信息爆炸的时代。社交网络数据信息量大、主题性强,具有巨大的数据挖掘价值,是互联网大数据的重要组成部分。一些社交平台如Twitter、新浪微博、人人网等,允许用户申请平台数据的采集权限,并提供了相应的API 接口采集数据,通过注册社交平台、申请API授权、调用API 方法等流程获取社交信息数据。但社交平台采集权限的申请比较严格,申请成功后对于数据的采集也有限制。因此,本文采用网络爬虫的方式,利用社交账户模拟登录社交平台,访问社交平台的网页信息,并在爬虫任务执行完毕后,及时返回任务执行结果。相比于过去的信息匮乏,面对现阶段海量的信息数据,对信息的筛选和过滤成为了衡量一个系统好坏的重要指标。本文运用了爬虫和协同过滤算法对网络社交数据进行收集。
关键词:软件工程;社交网络;爬虫;协同过滤算法
目录
摘要····························- 2 -目录····························- 3 -课题研究的目的·······················- 1 -
1.1课题研究背景·····················- 1 -
2 优先抓取策略--PageRank ·················- 2 -2.1 PageRank简介····················- 2 -
2.2 PageRank流程····················- 2 -
3 爬虫···························-
4 -3.1 爬虫介绍·······················- 4 -
3.1.1爬虫简介······················- 4 -
3.1.2 工作流程·····················- 4 -
3.1.3 抓取策略介绍···················- 5 -3.2 工具介绍·······················- 6 -
3.2.1 Eclipse ······················- 7 -
3.2.2 Python语言····················- 7 -
3.2.3 BeautifulSoup ··················- 7 -3.3 实现·························- 8 -3.4 运行结果·······················- 9 -
4 算法部分························- 10 -4.1获取数据的三种途径·················- 10 -
4.1.1通过新浪微博模拟登录获取数据···········- 10 -
4.1.2 通过调用微博API接口获取用户微博数据······- 11 -4.2基于用户的协同过滤算法···············- 14 -
4.2.1集体智慧和协同过滤················- 14 -
4.2.2深入协同过滤核心·················- 15 -
4.3算法实现·····················- 18 -结论···························- 22 -参考文献·························- 23 -
课题研究的目的
1.1课题研究背景
互联网导致一种全新的人类社会组织和生存模式悄然走进我们,构建了一个超越地球空问之上的、巨大的群体——网络群体,21世纪的人类社会正在逐渐浮现出崭新的形态与特质,网络全球化时代的个人正在聚合为新的社会群体。随着社交的兴起,网络社交蓬勃发展,新的互联网热再次升温,有分析人士甚至说,网络社交将缔造人际交往的新模式。互联网的兴起打破了传统的社会交往方式,简单、快捷和无距离的社交体验推动社交网络快速发展,以Facebook、Twitter、微博等为代表的应用吸引了大量活跃网络用户,社交网络信息呈现爆发式的增长。社交网络信息反映了用户的网络行为特征,通过对这些信息的研究,可以实现社会舆论监控、网络营销、股市预测等。社交网络信息的重要价值在于实时性,如何快速、准确、有效地获取目标信息非常重要。但社交网络属于Deep Web 的专有网络,信息量大、主题性强,传统搜索引擎无法索引这些Deep Web 页面,只有通过提供的查询接口或登录才能访问其信息,这增加了获取社交网络信息的难度。
目前国外有关社交网络数据采集模型的研究较少,对社交网络的研究主要集中在社会网络分析领域。国社交网络平台的数据采集技术研究有一定成果,如文献提出并实现一种利用新浪微博应用程序接口(Application Programming Interface,API)和网络数据流相结合的方式采集数据,文献利用人人网开发平台提供的API 实现数据采集,并通过WebBrowser 和HttpFox 监测信息交互时的数据包,实现动态获取Ajax 页面信息等。
2 优先抓取策略--PageRank
2.1 PageRank简介
PageRank,即网页排名,又称网页级别、Google左侧排名或佩奇排名是Google创始人拉里·佩奇和尔盖·布林于1997年构建早期的搜索系统原型时提出的分析算法,自从Google在商业上获得空前的成功后,该算法也成为其他搜索引擎和学术界十分关注的计算模型。目前很多重要的分析算法都是在PageRank算法基础上衍生出来的。
2.2 PageRank流程
首先PageRank的计算充分利用了两个假设:数量假设和质量假设。步骤如下:
1) 在初始阶段:网页通过关系构建起Web图,每个页面设置相同的PageRank值,通过若干轮的计算,会得到每个页面所获得的最终PageRank值。随着每一轮的计算进行,网页当前的PageRank值会不断得到更新。
2) 在一轮中更新页面PageRank得分的计算方法:在一轮更新页面PageRank得分的计算中,每个页面将其当前的PageRank值平均分配到本页面包含的出链上,这样每个即获得了相应的权值。而每个页面将所有指向本页面的入链所传入的权值求和,即可得到新的PageRank得分。当每个页面都获得了更