- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FrankWang
? Archive
? Album
使用Python分析社交网络数据
AUG,03 2014
? Python简介
? 数据抓取
o 一、直接抓取数据
o 二、模拟浏览器抓取数据
o 三、基于API接口抓取数据
? 数据预处理
? 可视化
? 数据分析
o 节点属性
o 网络属性
o 传播属性
? 扩散深度
? 扩散速度
? 空间分布
? 结语
? 参考文献
在线社交网站为人们提供了一个构建社会关系网络和互动的平台。每一个人和组织都可以通过社交网站互动、获取信息并发出自己的声音,因而吸引了众多的使用者。作为一个复杂的社会系统,在线社交网站真实地记录了社会网络的增长以及人类传播行为演化。通过抓取并分析在线社交网站的数据,研究者可以迅速地把握人类社交网络行为背后所隐藏的规律、机制乃至一般性的法则。
然而在线社交网络数据的获取方法有别于线下社会数据的获取(如普查、社会调查、实验、内容分析等)、数据的规模往往非常大(称之为“大数据”并不为过)、跨越的时间范围也相对较长(与社会调查中的横截面数据相比),常规的数据分析方法并不完全适用。例如传统的社会调查的数据往往样本量有限,而在线社交网络中的样本量可以达到千万甚至更多。因而,研究者迫切得需要寻找新的数据获取、预处理和分析的方法。本章的内容具体包括数据的抓取、数据预处理、数据可视化和数据分析部分。
Python简介
本章将简要介绍使用python分析社交网络数据的方法。Python是一种广泛使用的高级编程语言,具有可读性强、编写容易、类库丰富等特点。作为一种“胶水语言”,它可以将使用其他语言编写的各种模块(尤其是C/C++)轻松地联结在一起。自从1991年推出第一个正式版本,因其使用方便,Python社区迅速发展,越来越多的程序员开始使用Python编写程序并贡献了各种功能强大的类库。它被TIOBE编程语言排行榜评为“2010年度编程语言”。
除了免费、功能强大、使用者众多之外,与R和MATLAB相比,Python是一门更易学、更严谨的程序设计语言。如同其它编程语言一样,Python语言的基础知识包括:类型、列表(list)和元组(tuple)、字典(dictionary)、条件、循环、异常处理等。关于这些,初阶读者可以阅读《Beginning Python》一书(Hetland, 2005)。作为一个相对非常完善的编程语言,使用Python编写的脚本更易于理解和维护。
另外,Python中包含了丰富的类库。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV。Python本身的科学计算类库发展也十分完善,例如NumPy、SciPy和matplotlib等。就社会网络分析而言,igraph, networkx, graph-tool, Snap.py等类库提供了丰富的网络分析工具。
读者可以根据个人电脑的操作系统安装相应的Python版本。目前最新的Python版本为3.0,但是通常使用者会选择使用更稳定的2.7版本。虽然使用者也可以使用文本编辑器编写代码,但是使用体验不如使用好的编译器。编译器是编写程序的重要工具。目前,免费的Python编译器有Spyder、PyCharm(免费社区版)、Ipython、Vim、 Emacs、 Eclipse(加上PyDev插件)。对于使用Windows操作系统的用户,推荐使用Winpython。Winpython内置了Spyder为编译器,与Python(x,y)相比大小适中;免安装,下载后解压即可用;安装类库很方便,并且内置了NumPy、SciPy等类库。
数据抓取
目前社交网站的公开数据很多,为研究者检验自己的理论模型提供了很多便利。例如斯坦福的社会网络分析项目就分享了很多相关的数据集。社交网站为了自身的发展,往往也通过各种合作项目(例如腾讯的“犀牛鸟项目”)和竞赛(例如Facebook通过Kaggle竞赛公布部分数据)向研究者分享数据。
但是,有时候研究者还是被迫需要自己收集数据。受限于网站本身对于信息的保护和研究者自身的编程水平,互联网数据的抓取过程依然存在众多问题。以下,我们将从三个方面着手简要介绍使用Python进行数据抓取的问题:直接抓取数据、模拟登录抓取数据、基于API接口抓取数据。
一、直接抓取数据
通常的数据抓取遵循可见即可得的规律,即可以观察到的,就可以被抓取。对于网页内容的抓取,可以是把整个网页都存下来,回头再清洗。这样做比较简单有效,但是还是回避不了之后的从html文件中进行的数据提取工作。在下面的例子当中,我们将尝试抓取百度新闻页面(/)的热点新闻。在这个例子当中,我们要使用urllib2这个类库来获取该网页的html文本。
在获取html之后,我们将使用一个流行的
您可能关注的文档
最近下载
- 公司章程英文版 Company Articles of Association.doc VIP
- 英文版公司章程ARTICLES OF ASSOCIATION OF.docx VIP
- 从《倾城之恋》的白流苏透析张爱玲小说中的女性形象.docx
- 档案搬迁服务 投标方案.doc
- 日本 东要介--透析液纯净化.cn.pdf VIP
- mpr300电机保护器使用使用说明书.doc
- 2025年乡村振兴战略下县域经济产业链优化研究报告.docx VIP
- 胜利仪器VICTOR 240.240S.270.270S双通道系列示波器用户手册.pdf VIP
- 智能浇灌系统的策划书3篇.pdf VIP
- 新HSK3级词汇最新分析和总结.pdf VIP
文档评论(0)