[译] Twitter数据挖掘:如何使用Python分析大数据

精选Twitter工具资源集合:awesome-twitter-tools Twitter是全球领先的社会化媒体平台之一,具有广泛的用户基础和丰富的社交互动特性。它的快速传播性为信息分享与传播提供了一个即时、公开的环境。这使得Twitter成为新闻、营销、客户服务及个人社交活动等领域的理想工具。Twitter-bot,顾名思义,指的是在Twitter平台上自动执行任务的机器人程序。这些机器人可以通过编程实现多种自动化操作,比如自动发布推文、监控特定话题、自动化互动回复等。 阅读详情

原文请见Twitter Data Mining: A Guide to Big Data Analytics Using Python。

大数据无处不在。在时下这个年代,不管你喜欢与否,在运营一个成功的商业的过程中都有可能会遇到它。

本教程将会简要介绍何谓大数据,无论你是尝试抓住时机的商人,抑或是寻找下一个项目的编程高手,你都可以学到它是如何为你所用,以及如何使用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, lang=language)

# 遍历所拉取的全部微博
for tweet in results:
   # 打印存在微博对象中的text字段
   print tweet.user.screen_name,"Tweeted:",tweet.text

最后结果看起来像是这样:

以下是使用这些信息的一些实用途径:

  • 创建空间图表,查看你们公司在世界哪些地方被提到最多
  • 对微博进行情感分析,看下关于你们公司的整体意见是正面还是负面
  • 创建关于发布你们公司或者产品相关微博中最热门的用户的社交图表

在后续的文章中,会覆盖到部分这些主题。

结论

Twitter的API接口在数据挖掘应用中非常有用,并且关于公众的意见能提供大量的见解。如果Twitter API接口和大数据分析是你未来会感兴趣的东西,建议查看Twitter API接口,Tweepy和Twitter的频率限制指南以获取更多信息。

在本教程,我们只是简单地讲了基本的访问和拉取。然而,Twitter的API接口还可用来服务于错综复杂的大数据问题,涉及人,趋势,和非常复杂以致单凭人类心智无法掌控的社交图。

译者注:本翻译旨在分享国外优秀文章,但翻译水平有限,如有不对,敬请指正,谢谢!



Twitter数据集 大数据分析 Twitter的数据集,用来进行大数据分析,可以对原始数据求聚类系数等 进行一系列操作处理 立即下载

相关推荐

基于twitter文本的pyhton情感分析(所有源码和数据集)

twitter文本的pyhton情感分析(所有源码和数据集),有对表情的简单处理

Python实战之使用Python进行数据挖掘详解

数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过算法,找出其中的规律、知识、信息的过程。Python作为一门广泛应用的编程语言,拥有丰富的数据挖掘库,使得数据挖掘变得更加容易。

Rocky006的博客 6879

2021秋招IC验证面经-ARM中国/中科芯/飞腾/地平线/中兴

中科芯 (央企福利待遇好,但是百分百不解决户口,适合当地人进去躺平。) 现场面试,三个面试官,时间大约40min 首先介绍一下自己,介绍一下项目。所做项目用到了FIFO吗,深度是多少,位宽是多少,仲裁算法是什么? 验证环境中的reference model是自己写的还是本身就有的,仲裁怎么在参考模型中实现,参考模型怎么获取寄存器的值? 怎么配置RTL寄存器,通过平台的寄存器模型进行寄存器配置,寄存器模型里边的方法,写一个寄存器或读一个寄存器怎么实现? 寄存器如何实现前门访问和后门访问,后门访问时

weixin_48014653的博客 6319

如何用Python进行大数据挖掘和分析?干货分享

去掉指定列的完全重复数据。

Everly_的博客 1117

设备树实践:从零构建一个嵌入式板级的设备树描述

本文详细介绍了如何从零开始为嵌入式Linux系统构建设备树(Device Tree),以i.MX6ULL处理器为例,涵盖硬件分析、设备树语法、外设配置及调试技巧。通过实践指导,帮助开发者掌握设备树编写,实现硬件与软件的高效对接,提升嵌入式开发效率。

plum99的博客 303

Zabbix7.0+DeepSeek大模型实现人工智能告警分析

本方案基于Zabbix7.0监控系统,通过底层webhook脚本机制集成Deepseek做故障分析提供解决方案,构建智能化运维体系。

xingdiango的博客 2372

Python进行大数据挖掘和分析

大数据无处不在。在时下这个年代,不管你喜欢与否,在运营一个成功的商业的过程中都有可能会遇到它。

weixin_55154866的博客 2677

2021年秋招面经分享·字节跳动【芯片工程师-系统架构】

前言 如果想参考本人背景情况的可见这篇概述 ============================ 正文开始 ============================== 【时间线】 7.29 字节一面 8.4 字节二面 8.11 字节三面 PS:红字表示我当时没答出来的问题,蓝字表示面试官的解答。 面经分享 一面·技术面【1小时5分钟】   面试官京腔重,聊high了所以没时间撕代码了,但是华为应该不会这样。 自我介绍; 介绍一下APB; APB中3个状态的跳转是怎么跳转的; AXI中va

qq_43132308的博客 5611

手把手教你如何用python进行数据分析!(附四个案例)

定义一个函数为每个记录创建一个包含营养信息的DataFrame对象,添加一个名为"id"的列,将记录的id值赋给该列的每个元素,并将每个记录的营养信息DataFrame添加到nutrients列表中, 将nutrients列表中的DataFrame对象合并为一个大的DataFrame,并重新索引行号。根据top1000 DataFrame中的"name"列与lesley_like中的姓名进行匹配,筛选出匹配的行数据,并将结果赋值给filtered变量。包含要从数据库中提取的信息的键的列表。

Python栈 3184

MTK手机传感器驱动开发避坑指南:从SCP代码大小限制到Overlay加载流程详解

本文详细解析了MTK平台传感器驱动开发中的常见问题,包括SCP代码大小限制、Overlay加载流程及客制化传感器集成。通过实战案例和优化策略,帮助开发者高效解决MTK传感器驱动开发中的技术难题,提升开发效率。

weixin_42522374的博客 400

MMSegmentation 安装教程,避免mmcv不合适版本,及相关问题解决

都行,不做要求。

qq_43683133的博客 1218

Python——大数据分析

请注意,这只是一个简单的示例程序,用于展示使用Python进行大数据分析的基本流程。实际的大数据分析可能涉及更复杂的数据处理、统计分析和可视化方法。库计算数据的均值、中位数和标准差。方法清除任何包含缺失值的行。库绘制数据的直方图,并输出计算结果。的CSV文件中,其中包含一个名为。以上代码假设数据存储在名为。

2302_81225694的博客 666

MIKE水动力笔记3_岸线及水深数据之根据遥感影像绘制岸线的方法

通过遥感影像自己绘制岸线来制作岸线数据,这种方法获取的岸线及水深数据精度很高,且可以根据自己的研究需要进行灵活处理。

晏长街的博客 1万+

python分析推特_[译] Twitter数据挖掘:如何使用Python分析大数据

大数据无处不在。在时下这个年代,不管你喜欢与否,在运营一个成功的商业的过程中都有可能会遇到它。本教程将会简要介绍何谓大数据,无论你是尝试抓住时机的商人,抑或是寻找下一个项目的编程高手,你都可以学到它是如何为你所用,以及如何使用Twitter API和Python快速开始。何谓大数据?大数据就像它看起来那样——有大量的数据。单独而言,你能从单一的数据获取的洞见穷其有限。但是结合复杂数学模型以及强大计...

weixin_39819671的博客 623

从零到一:Python+Playwright 实现动态网站全量数据采集实战(附反爬对抗与性能优化)

在动手之前,先明确武器优势: 2. 项目结构规划 为了代码可维护性,我们采用模块化结构: 三、核心实战:构建动态采集器 第一步:初始化“隐身”浏览器 普通启动容易被检测,我们需要注入一段 JS 脚本来抹除自动化特征。 第二步:处理无限滚动与动态加载 这是动态网站的核心难点。我们需要模拟人类滚动,并等待新数据加载完成。 第三步:登录态保持与复用 避免每次运行都重新登录。我们将 Cookie 保存到本地,下次直接加载。 第四步:主流程编排 将上述模块串联起来,并加入异常重试机制。 四、进阶优化:性能与反爬

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1161

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python大数据分析实例-如何用Python分析大数据(以Twitter数据挖掘为例)

原标题:如何用Python分析大数据(以Twitter数据挖掘为例)来源:艾翻译(http://www.itran.cc/)原文标题:Twitter Data Mining: A Guide to Big Data Analytics Using Python作者:Anthony Sistilli,译者:dogstar原文网址:https://www.toptal.com/python/twitt...

weixin_37988176的博客 1524

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

如何用python分析大数据_Twitter数据挖掘:如何使用Python分析大数据

,拥有16年的程序员培训经验,上市公司品牌,口碑极好,一线名师授课,强大的教研团队研制开发最新的课程,与中关村软件园战略合作保障人才输出,与学员签订就业协议保障就业问题!真正的靠谱品牌!大数据无处不在。在时下这个年代,不管你喜欢与否,在运营一个成功的商业的过程中都有可能会遇到它。本教程将会简要介绍何谓大数据,无论你是尝试抓住时机的商人,抑或是寻找下一个项目的编程高手,你都可以学到它是如何为你所用,...

weixin_39614228的博客 224

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

数据挖掘情感分析python_数据挖掘实战:Twitter情感分析

背景介绍自然语言处理(NLP)是当今数据科学研究的热点,其最常见的应用之一是情绪分析。从民意调查到创建整个营销策略,这个领域已经彻底改变了企业的工作方式,这就是为什么每个数据科学家都必须熟悉这个领域。可以在几秒钟内处理数千个文本文档(以及其他功能,包括命名实体、主题、主题等),而手工完成相同的任务需要一个团队的时间。今天我们使用Twitter数据来作为情感分析的入门实战项目。这项任务的目的是检测t...

weixin_39612228的博客 1303

使用Python在Twitter上进行基本数据分析

by Lucas Kohorst 卢卡斯·科斯特(Lucas Kohorst) 使用Python在Twitter上进行基本数据分析 (Basic data analysis on Twitter with Python) After creating the Free Wtr bot using Tweepy and Python and this code, I wanted a way t...

cumi6497的博客 854

Twitter数据挖掘与可视化项目推荐

Twitter数据挖掘与可视化项目推荐 1. 项目基础介绍和主要编程语言 Twitter数据挖掘与可视化项目是一个开源的数据挖掘和分析工具,专注于从Twitter平台上获取数据并进行深入分析。该项目主要使用Python作为开发语言,结合Django框架进行Web应用开发,同时使用MongoDB作为数据存储。此外,项目还涉及HTML、JavaScript和CSS等前端技术,用于实现数据的可视化展示。...

gitblog_00221的博客 395

python 推特_使用Python对Twitter进行数据挖掘(Mining Twitter Data with Python)

目录Twitter is a popular social network where users can share short SMS-like messages called tweets. Users share thoughts, links and pictures on Twitter, journalists comment on live events, companies pr...

weixin_39584529的博客 526

CANN ops-nn 算子 aclnnForeachLog1p 接口深度解析:张量列表逐元素 log(1+x) 的实现与两段式调用实战

`aclnnForeachLog1p` 是 CANN ops-nn 算子库 `foreach` 系列中针对张量列表(Tensor List)的逐元素对数算子:对列表中每一个 Tensor 的每个元素先执行加一、再求以 e 为底的自然对数(即 `y = log(x + 1)`,等价于 PyTorch 中的 `log1p`)。本文以 [aclnnForeachLog1p.md](https://lin

gitblog_00101的博客 806

Stocksight核心功能解析:Twitter数据挖掘与情感分析的完美结合

Stocksight是一款强大的股票市场分析工具,它创新性地结合了Twitter数据挖掘与情感分析技术,通过Elasticsearch存储和处理数据,帮助投资者深入了解市场情绪对股票价格的影响。这款开源软件不仅能实时追踪社交媒体上的市场动态,还能通过自然语言处理技术解析新闻标题和推文情感,为股票分析提供数据支持。 ## 核心功能一:Twitter数据挖掘与实时分析 🐦 Stocksight的

gitblog_00295的博客 699

终极Twitter数据挖掘指南:无认证快速获取海量推文数据

想要获取Twitter数据但苦于官方API的限制?😩 今天为大家推荐一个强大的开源工具——Twitter Scraper项目,这是一个无需认证就能爬取Twitter前端API的Python库,让你轻松突破API速率限制,快速获取海量推文数据! ## 🔥 为什么选择Twitter Scraper? Twitter官方API存在诸多限制:速率限制、功能限制、认证复杂等。而Twitter Scr

gitblog_00584的博客 986

Twitter数据挖掘与AI技术实战指南

社交媒体数据挖掘是自然语言处理(NLP)的重要应用领域,通过API获取原始数据后,需要经过清洗、标准化等预处理步骤。AI技术如情感分析和话题聚类能有效提升文本数据的分析效率,其中BERT、LSTM等深度学习模型在语义理解方面表现突出。Twitter作为实时数据源,结合流处理架构和可视化工具,可应用于舆情监控、市场趋势预测等场景。在实际工程中,容器化部署和性能优化是保证系统稳定运行的关键,同时需注意数据隐私和合规要求。

weixin_33924220的博客 385

【亲测免费】 Twitter数据挖掘及其可视化项目教程

Twitter数据挖掘及其可视化项目教程 1. 项目介绍 twitterDataMining 是一个用于Twitter数据挖掘及其可视化的开源项目。该项目旨在通过Python和Django框架,结合MongoDB数据库,实现对Twitter数据的实时热点话题检测、情感分析和结果可视化。项目的主要功能包括: 实时热点话题检测:使用WOLDA算法进行话题分析。 情感分析:采用最大熵模型进行情感分析。...

gitblog_00048的博客 638
上一篇: Anconda 安装PyBrain库(也可以解决ImportError: No module named 'structure' 这个问题)
下一篇: 使用Thinkcmf5中遇到的问题(安装时报404,上传图片不好使)
姜红杰
博客等级 码龄10年 9粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值