如何用python分析大数据_Twitter数据挖掘:如何使用Python分析大数据
,拥有16年的程序员培训经验,上市公司品牌,口碑极好,一线名师授课,强大的教研团队研制开发最新的课程,与中关村软件园战略合作保障人才输出,与学员签订就业协议保障就业问题!真正的靠谱品牌!
大数据无处不在。在时下这个年代,不管你喜欢与否,在运营一个成功的商业的过程中都有可能会遇到它。
本教程将会简要介绍何谓大数据,无论你是尝试抓住时机的商人,抑或是寻找下一个项目的编程高手,你都可以学到它是如何为你所用,以及如何使用Twitter API和Python快速开始。
何谓大数据?
大数据就像它看起来那样——有大量的数据。单独而言,你能从单一的数据获取的洞见穷其有限。但是结合复杂数学模型以及强大计算能力的TB级数据,却能创造出人类无法制造的洞见。大数据分析提供给商业的价值是无形的,并且每天都在超越人类的能力。
大数据分析的第一步就是要收集数据本身,也就是众所周知的“数据挖掘”。数据来自于四面八方。大部分的企业处理着GB级的数据,这些数据有用户数据、产品数据和地理位置数据。在本教程中,我们将会探索如何使用数据挖掘技术收集Twitter的数据,这可能会比你想象中的更有用。
举个例子,假设你运营着脸书,想使用Messager数据为如何更好地向用户投放广告提供一些见解。而Messager拥有着12亿月活跃用户。在这个案例中,大数据就是用户之间的对话。假设你能逐个阅读每个用户的对话,那么就能清楚知道他们喜欢什么,从而有针对性地向他们推荐相应的产品。使用广为人知的自然语言处理(NLP)这一机器学习技术,你可以大型地实现这一点,并且整个过程自动化,一切交给机器即可。
这仅仅是机器学习和大数据分析为公司带来价值的无数的示例中的一个。
为什么选择Twitter数据?
Twitter是一个数据金矿。不像其他的社交平台,几乎每个Twitter用户的微博都是完全开放并且是可拉取的。如果你想尝试获取大量的数据然后对其进行分析,这是相当有帮助的。同时,Twitter的数据也是非常具体的。它的API接口允许你进行复杂的查询,例如拉取最近20分钟内关于指定某个话题的每一条微博,或者是拉取某个用户非转发的微博。
这里一个简单的应用就是,分析大众是怎么看待你们公司的。你可以收集提到你们公司(或者其他任何词语)的最近2,000条微博,然后对其运行情感分析算法。
我们可以圈定具体居住在某个位置的用户,也就是所谓的空间数据。另一个应用可以是,在地球上标志出你们公司提及次数最多的地区。
如你所见,Twitter数据是通往大众见解的一扇大门,以及他们是如何针对某个主题进行大数据分析的。这些,结合透明度和Twitter API接口慷慨的调用次数,可以产出非凡的结果。
工具一览
对于这些示例,我们将使用Python 2.7。理想情况下,你应该有一个编写代码的IDE。我使用的是PyCharm – 社区版。
为了连接Twitter的API接口,将会用到叫做Tweepy的类库,这个类库稍微安装一下就可以了。
入门指南
Twitter开发者账号
为了使用Twitter的API接口,需要先在Twitter应用站点上创建一个开发者账号。
1、登录或者在https://apps.twitter.com/
2、创建一个新的应用(可点击右上角的按钮)
3、在创建应用的页面填写上唯一的名字,网站名字(如果没有可以使用默认值),和项目描述。接受协议和条款然后进入到下一个页面。
4、一旦创建好了你项目,点击“Keys and Access Tokens”标签页,应该就可以看到你使用的API secret和API key了。
5、你还需要一对访问凭证。可滚到下面并请求这些凭证。这时页面会进行刷新,然后就可以获得access token和access token secret了。
稍候都要用到这些数据,所以先不要关闭这些标签。
安装Tweepy
Tweepy是一个超级棒的工具,它可用于访问Twitter API接口。支持Python 2.6,2.7,3.3,3.4,3.5,,和3.6。安装Tweept有好两种不同的方式,最简单的方式就是使用pip。
使用pip安装
在你的终端上简单地输入pip install tweepy即可。
使用Github安装
可以按照Tweepy在Github仓库上的说明进行操作。基本的步骤如下:
git clone https://github.com/tweepy/tweepy.git cd tweepy python setup.py install
你也可以在那解决任何安装的问题。
认证
既然必要的工具已准备就绪,那么我们就可以开始写代码了!今天将要构建的每一个应用,其底线都是需要引用Tweepy来创建一个API对象,以便我们可以进行函数的调用。然而,要想创建这些API对象,首先必须先认证我们的开发者信息。
首先,导入Tweepy,并添加我们自己的认证信息。
import tweepy consumer_key = "wXXXXXXXXXXXXXXXXXXXXXXX1" consumer_secret = "qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXh" access_token = "9XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXi" access_token_secret = "kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXT"
现在是时候创建API对象了。
# 创建认证对象 auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # 设置你的access token和access secret auth.set_access_token(access_token, access_token_secret) # 传入auth参数,创建API对象 api = tweepy.API(auth)
这些代码是构建每一个应用的基础部分,所以确保不要删除。
示例1:你的时间轴
在这个示例中,我们将会从你的Twitter动态中拉取最新的微博。通过使用API对象的home_timeline()函数可以做到这一点。随后把这些结果存在某个变量中,并循环打印。
# 使用API对象获取你的时间轴上的微博,并把结果存在一个叫做public_tweets的变量中 public_tweets = api.home_timeline() # 遍历所拉取的全部微博 for tweet in public_tweets: # 打印存在微博对象中的text字段 print tweet.text
输出的结果可能看起来像是一堆随机的微博,后台跟着指向微博本身的URL。
打开指向微博的链接,通常会把你带到对应的微博那。例如,打开上面第一条微博中的链接,会看到以下这样的结果:
注意,如果你是通过终端而不是通过像PyCharm这样的IDE来运行的话,在打印微博的text内容时有可能会遇到一些格式化的问题。
结果背后的JSON
在上面的示例中,我们使用tweet.text打印了每一条微博的text内容。为了参考每一个微博对象有哪些具体的属性,不得不去看一下Twitter API接口返回的JSON数据。
从Twitter API接口接收到的结果是以JSON格式返回的,并且附有有相当多的信息。为了简单起见,本教程主要关注每一条微博的“text”属性,以及关于博主(即发布微博的用户)的信息。对于上面这个例子,你可以在这里看到整个返回的JSON对象。
下面快速来看下微博中提供的部分属性。
如果想找到创建微博的时间,可以使用print tweet.created_at进行查询。
你还可以看到,每一条微博都带有博主的相关信息。
要是想获取博主的name和location属性,可以执行print tweet.user.screen_name和print tweet.user.location.
如果你的应用是基于空间数据的话,这些属性将会非常有用。
示例2:指定某个用户的微博
在这个示例中,我们将会拉取选中用户的最近20条微博。
首先,查看Tweepy 文档,看下是否存在一个像这样的函数。稍微调查一番,可以发现user_timeline()函数正是我们想要的。
可以看到,user_timeline()函数有一些能够用到的重要参数,特别是id(用户的ID)和count(待拉取的微博数量)。注意,由于Twitter的频率限制,每次查询只能拉取一定数量的微博。
让我们来拉取Twitter账号@NyTimes的最近20条微博。
我们可以创建变量来存放待拉取的微博数量(即count),以及待拉取的用户(即name)。然后用这两个参数调用user_timeline()函数。下面是更新后的代码(注意,在代码的顶部应该保持认证和API对象的创建)。
# 传入认证信息,并创建API对象 api = tweepy.API(auth) # 待拉取微博的用户 name = "nytimes" # 待拉取的微博数量 tweetCount = 20 # 使用上面的参数,调用user_timeline函数 results = api.user_timeline(id=name, count=tweetCount) # 遍历所拉取的全部微博 for tweet in results: # 打印存在微博对象中的text字段 print tweet.text
输出的结果看起来像这样:
这种类型数据的流行应用包括有:
对指定的用户进行分析,分析他们是如何与世界进行互动的
寻找Twitter的影响者并分析他们的粉丝的趋势和互动情况
监控某个用户的粉丝的变化情况
示例3:使用关键字查找微博
这是最后一个示例:获取包含某个关键字的最新的微博。如果想在Twitter世界中监控某个话题,或者甚至想看下你的商业被提到的情况,这都是相当有用的。假设现在想看下Twitter谈论Toptal的情况怎样。
翻阅完Tweept文档,search()函数似乎是完成我们目标的最佳工具。
这里最重要的参数是q——查询参数,即要查找的关键字。
还可以设置lang参数,这样就只会取到想要的语言的微博。这里只返回英文(“en”)的微博。
现在可以修改代码,以体现要做的改变。首先创建存放参数(query和language)的变量,然后通过API对象调用相应的函数。最后在循环中也打印了发布微博的用户的终端名称。
# 传入认证信息,并创建API对象 api = tweepy.API(auth) # 你想查找的关键字 query = "Toptal" # 语言代码(遵循ISO 639-1标准) language = "en" # 使用上面的参数,调用user_timeline函数 results = api.search(q=query,) # 遍历所拉取的全部微博 for tweet in results: # 打印存在微博对象中的text字段 print tweet.user.screen_name,"Tweeted:",tweet.text
最后结果看起来像是这样:
以下是使用这些信息的一些实用途径:
创建空间图表,查看你们公司在世界哪些地方被提到最多
对微博进行情感分析,看下关于你们公司的整体意见是正面还是负面
创建关于发布你们公司或者产品相关微博中最热门的用户的社交图表
在后续的文章中,会覆盖到部分这些主题。
结论
Twitter的API接口在数据挖掘应用中非常有用,并且关于公众的意见能提供大量的见解。如果Twitter API接口和大数据分析是你未来会感兴趣的东西,建议查看Twitter API接口,Tweepy和Twitter的频率限制指南以获取更多信息。
在本教程,我们只是简单地讲了基本的访问和拉取。然而,Twitter的API接口还可用来服务于错综复杂的大数据问题,涉及人,趋势,和非常复杂以致单凭人类心智无法掌控的社交图。
,大数据培训,就选光环大数据!原创文章,转载请注明出处:http://hadoop.aura.cn
如何用python分析大数据_Twitter数据挖掘:如何使用Python分析大数据相关推荐
- 大数据分析和数据挖掘区别_大数据分析和数据挖掘之间的区别,大数据的未来范围...
大数据分析和数据挖掘区别 There arises a confusion among most of the people between Big Data and Data mining. In ...
- 一篇让你深度思考的文章|大数据与数据挖掘的相对绝对关系 大数据
数据不是信息,而是有待理解的原材料.但有一件事是确定无疑的:当NSA为了从其海量数据中"挖掘"出信息,耗资数十亿改善新手段时,它正受益于陡然降落的计算机存储和处理价格. 麻省理工学 ...
- 插值法补齐缺失数据_数据挖掘非常重要的一步:数据预处理
为什么数据处理很重要? 对数据挖掘熟悉的小伙伴,数据处理相关的工作时间占据了整个项目的70%以上.数据的质量,直接决定了模型的预测和泛化能力的好坏.它涉及很多因素,包括:准确性.完整性.一致性.时效性 ...
- 数据挖掘实战—电商产品评论数据情感分析
文章目录 引言 一.评论预处理 1.评论去重 2.数据清洗 二.评论分词 1.分词.词性标注.去除停用词 2.提取含名词的评论 3.绘制词云查看分词效果 三.构建模型 1.评论数据情感倾向分析 1.1 ...
- sklearn数据挖掘之评论舆情分析
sklearn数据挖掘之评论舆情分析 文章目录 sklearn数据挖掘之评论舆情分析 前言 一.pandas和数据清洗 二.使用步骤 1.引入库 2.数据预处理 3.数据建模 三.用户评论情感极性推理 ...
- 【爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】
[爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩] https://b23.tv/TIoy6hj
- 【【数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】-哔哩哔哩】 https://b23.tv/iTt30QG
[[数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩]-哔哩哔哩] https://b23.tv/iTt30QG ht ...
- python金融大数据挖掘与分析全流程详解_(特价书)Python金融大数据挖掘与分析全流程详解...
前言 如何获取学习资源 第1章 Python基础 1.1 Python安装与第一个Python程序12 1.1.1 安装Python12 1.1.2 编写第一个Python程序13 1.1.3 PyC ...
- 【大数据分析专业毕设之基于python爬虫的电影票房大数据预测分析+大屏可视化分析
[大数据分析专业毕设之基于python爬虫的电影票房大数据预测分析+大屏可视化分析-哔哩哔哩https://b23.tv/saIKtBH flask web框架,数据使用requests模块爬取数据, ...
最新文章
- PL/pgSQL学习笔记之九
- es_分组-分页-TransportClient实现
- C语言学习之时钟函数clock()函数
- AngularJS实战之Controller之间的通信
- 硬盘安装Fedora16
- 【内核驱动】 内核驱动中添加系统调用
- 1029 C语言文法定义
- 【Python学习】 - Pandas学习 sort_value( ),sort_index( )排序函数的区别与使用
- java计算器 运算符优先级_跪求大神帮忙,怎样在java 计算器中实现,四则运算优先级;...
- 树:二叉树的层序遍历算法(超简洁实现及详细分析)
- leetcode| 94. 二叉树的中序遍历
- 1015. vs项目编译成功INSTALL时
- 10打印机用户干预怎么办_专业分析:爱普生喷墨打印机为什么是行业标杆?
- 使用 pyecharts 以及matplotlib分析猫眼哪吒影评
- python小学生教程-python 小学生教程|怎么让一个小学生学会Python?
- tippy.js_Tippy.js的指令包装
- JavaWeb 如何从FTP服务器下载文件 页面如何获取到FTP服务器上的图片进行显示
- php文件zend解密,php zend无法解密怎么办
- HTML无序列表四大名著
- 强训之【走方格的方案数和另类加法】
热门文章
- 特征经验分享以及管理文件,远程运行的小技巧
- 心路分享 | 2022暑期算法实习复盘
- NLP简报(Issue#7)
- 小鹏、蔚来相继车祸,自动驾驶四字不等于“全自动”,也分等级!
- C++Primer Plus第6版C Primer Plus第6版 中文版免费分享啦
- 西瓜书+实战+吴恩达机器学习(二一)概率图模型之贝叶斯网络
- C# Property机制
- python批量上传执行脚本_python 写的批量操作远程主机脚本(命令执行,上传、下载文件)...
- chrome driver 获取 session_BOSS直聘招聘信息获取之使用webdriver进行爬取
- 说透Applet的数字签名之1——Applet及其运行