如何从twitter上获取数据

这段时间在做毕设,需要从twitter上获取一些数据。过程中遇到了很多坑,在这里和大家分享一下~
首先,这个流程是怎样的呢?

  1. 你需要一架梯子
  2. 你需要有一个twitter账号
  3. 你需要在2的基础上申请为开发者账号
  4. 获取到打开新世界的钥匙,开始爬取数据。

下面我们就开始上干货吧~

1 在这里就不提了。

2 怎么顺利申请到一个twitter账号?

申请twitter账号时会有两个选项(我的用网页端,听说手机端更不容易申请):手机号注册or邮箱注册。这里推荐使用手机号注册,因为使用邮箱注册的话后面还是会要求使用手机验证,那么问题来了,这时候是不能成功验证的,亲测如此···所以还是乖乖用手机号注册吧。
注意填写手机号的格式:+86 12345678901
注册成功之后还会频频让你进行人机验证,按照要求做就行了。
·
·
·
注:注册成功之后最好绑定上邮箱(貌似Google的最佳?貌似最好不要用国内邮箱?反正就一次机会,我没有试过国内邮箱,谷歌微软邮箱亲测均可~),第3步申请时要用到。
在这里插入图片描述
绑定邮箱入口进入方式为:左侧栏最下面的···,再进入settings and privacy jin,再进入account,会看到Email选项。

3 申请开发者账号是此文的关键,也是坑最多的地方。推特开发者平台

warning:申请开发者账号只有一次机会,若申请失败则之后再无机会申请。开始界面
junmei是我的用户名,在没有成功申请好开发者账户时这里显示的应该是APPs。然后会显示你所拥有的的apps为空。点击右上角的create app进行创建,此时网站提醒需要进行开发者账号申请。这个申请过程需要填写一些问题(主要是对以后怎么分析推特数据进行简单询问,涉及到政治宗教敏感主题调查的一般都不会通过这个申请,亲测是的呜呜。我第一次申请时如实填写了要研究移民态度主题评论,果然没有被通过···)如下:
首先选择你是什么身份,感觉学生身份还是蛮容易通过的hh。选择academic栏最后一个student身份即可。
问题1:
In your words
In English, please describe how you plan to use Twitter data and/or APIs. For students and teachers, please include the name of the school, the name of the instructor and the course number (if available). The more detailed the response, the easier it is to review and approve.

I am a college student. I want to study a topic through the twitter platform. The content of the topic is whether the sentiment of people’s tweets is related to the time of sending. For example, do people prefer to send happier content in the morning and more pessimistic content at night?(我的回答,可简单参考)
问题2:
Please describe how you will analyze Twitter data including any analysis of Tweets or Twitter users.
I will use some of the user ’s tweet data, including the time when the user tweeted and the content of the tweet, to perform an emotional analysis of the content to get the user ’s emotional polarity. Is it happy or sad? I will study the correlation between sending time and emotion.
问题3:
Will your app use Tweet, Retweet, like, follow, or Direct Message functionality?
问题4:
Do you plan to display Tweets or aggregate data about Twitter content outside of Twitter?
问题5:
Will your product, service or analysis make Twitter content or derived information available to a government entity?
问题3、4、5我都选择了No。感觉最近申请有变简单~
之后就同意协议、提交申请即可。(若twitter没有绑定邮箱,则这时候会提示绑定邮箱。需要接受申请成功or失败信息)
注:一般情况下,若申请信息填写无误且无敏感词汇,会秒过审核(记得及时查看邮箱并进行验证就成功申请到了)。但是如果没有秒过就说明交由人工审核了吧···(我猜),这时通过的概率就变低了。申请的信息emmm随便写,只要不涉及敏感词汇就好。
congratulations!

congratulations!

这时候你就成为一名twitter开发者了。

4. 获取钥匙

在主界面点击junmei(我的用户名)->apps
在这里插入图片描述
点击create an app。
开始填写app的相关信息。
App name (required)
”required“说明这项信息是必填的。随便起一个名字就好

Application description (required)
简单描述一下这个应用

Website URL (required)
这个我写的csdn地址,没关系

Allow this application to be used to sign in with Twitter
Callback URLs
我没有勾选

Terms of Service URL
·非必填选项,我就空着,下同
·
·
Tell us how this app will be used (required)
必填选项,简单写一下。

当当当当
在这里插入图片描述
应用创建成功。去拿钥匙!
点击keys and tokens
在这里插入图片描述
首先会先给你两个参数,如图。但是爬取数据的话需要4个参数。另外两个点击图中蓝色按钮即可得到,注意及时保存!!!
在这里插入图片描述
ok,去爬数据。

输出:
RT @WhiteHouse: We are leveraging the incredible power of American manufacturers and suppliers to make, procure, and deliver crucial medica…
RT @WhiteHouse: “We’re at war with COVID-19, we’re at war with terrorists, and we are at war with the drug cartels . . . We’re the United S…
RT @WhiteHouse: We are fighting the Coronavirus on every possible front—and we will achieve total victory with the help of the American peo…
Upon information and belief, Iran or its proxies are planning a sneak attack on U.S. troops and/or assets in Iraq.… https://t.co/u2DSdFKdjm
Congress must pass the old, and very strongly proven, deductibility by businesses on restaurants and entertainment.… https://t.co/RVWQTHfWOa
https://t.co/cawqG2DGXV
https://t.co/nQfccoKPj2
30 DAYS TO SLOW THE SPREAD
#COVIDー19 https://t.co/p9j7kZsD7b https://t.co/RSUHRfT8If
RT @WhiteHouse: LIVE: Press Briefing with Coronavirus Task Force https://t.co/CurosT0chF
Great work @AtlasAirWW, thank you! https://t.co/90X4lRRHdM
好啦,就是这样。第一次写博客,累死了。