如何利用 Twitter 开放者平台爬取 Twitter 数据?

泻药,Twitter是一个流行的社交网络,这里有大量的数据等着我们分析。Twitter R包是对twitter数据进行文本挖掘的好工具。本文是关于如何使用Twitter R包获取twitter数据并将其导入R,然后对它进行一些有趣的数据分析。

原文:

拓端数据科技 / Welcome to tecdat​tecdat.cn/?p=387

第一步是注册一个你的应用程序。

为了能够访问Twitter数据编程,我们需要创建一个与Twitter的API交互的应用程序。

注册后你将收到一个密钥和密码:

获取密钥和密码后便可以在R里面授权我们的应用程序以代表我们访问Twitter:

根据不同的搜索词,我们可以在几分钟之内收集到成千上万的tweet。这里我们测试一个关键词 littlecaesars的twitter结果:

抓取最新的1000条相关twitter

由于默认的抓取结果是json格式,因此使用twlisttodf函数将其转换成数据框

然后我们做一些简单的文本清理

从得到的数据里,我们可以看到有twitter发表时间,内容,经纬度等信息

在清理数据之后,我们对twitter内容进行分词,以便进行数据可视化

分词之后可以得到相关twitter的高频词汇,然后将其可视化

除此之外,还可以结合数据中的时间戳数据和地理数据进行可视化分析

如果你一直在考虑对一些文本数据应用情感分析,你可能会发现使用R比你想象的更容易!

=====================================================

希望这篇文章能帮助到你Scrape tweets from Twitter

另外Octoparse上面,也有许多模板,帮用户把接口对好,只需配置即可采集

API是好用,但相对还是有难度的。

如果弄不明白API,不防试试爬虫工具去采集。

上2个具体采集案例:

1、Twitter某个用户下的所有tweets采集

其实,还有一个方法:

用成熟的爬虫工具,像我们八爪鱼这样的,简单几步采集twitter某个用户的所有tweets数据。

Step1:在八爪鱼中输入一批目标用户主页的url

Step2:自动打开网页后,通过几次点击选中要采集的tweets字段

Step3:启动采集自动获取tweets数据,采集结束后还可以excel等格式导出

示例数据:

2、Twitter搜索关键词,采集搜索结果列表

Step1:在浏览器中打开Twitter首页,输入关键词搜索,得到搜索后的网址,将这个网址复制进八爪鱼中

Step2:自动打开网页后,通过几次点击选中要采集的tweets字段

Step3:启动采集自动获取tweets数据,采集结束后还可以excel等格式导出

示例数据:

使用官方的Api接口来抓取数据的,抓取的量肯定是要被限制的,一个玩不好可能就被封了账号。

微博的Api就是活生生的例子。

建议通过前台的网站来采集,可能需要注意几点:

足够的代理IP资源找到合适的入口对于Twitter这里关系型、用户粉丝差异很大的,建议做好抓取的优先级

当年写了个java程序抓了400亿条tweets. 实现基本api调用方法后要解决如下问题:

1. 多线程平行运算以及动态规划抓取对象

2. 搜索并管理大量代理服务器来规避官方api限制

3. 搭建一个12tb的硬盘矩阵并优化java sql界面来存储(有钱的话这一点可以忽略, 用云服务器吧)