美文网首页Android开发经验谈Android开发技术干货
通过调用Twitter API抓取Twitter数据

通过调用Twitter API抓取Twitter数据

作者: Android高级架构探索 | 来源:发表于2018-10-20 22:34 被阅读10次

    国内研究weibo的人比较多,资料也相对较多,但是twitter的资料相对较少。今天简单说一下twitter api的使用。最近一小需求,采集含有指定关键词的twitter数据,瞬间想到写个爬虫来抓取,后来突然想到twitter应该有open api可用。使用了vpn翻墙之后简单的了解了twitter.com,决定直接使用 twitter api。由于twitter的open api现在也是基于oauth协议的,因此使用流程和国内一些社区比如说人人网,weibo的api的过程类似。

    要想使用twitter api,首先要有twitter的账号,并且在twitter deveoper中创建应用,地址:https://apps.twitter.com/app/new

    image.png
    上边怎么填就不说了,创建成功之后可以获得应用的信息。创建成功之后你会获得Consumer key和Consumer secret。将这两个数据保存下来。如下图:
    image.png
    为了方便用java操作,这里我们使用开源的twitter4j,最新版本为:twitter4j-4.0.2。(https://github.com/twitter/twitter4j)Twitter4J也就对Twitter 的API进行了java封装,这样的话我们就可以很方便的使用java才操作 twitter api。twitter4j-4.0.2.zip之后,我们可以看到说明文档和实例代码,当然也包括源代码。糟糕的是我觉得说明文档写的并不详细,建议直接看示例代码和源代码就好。

    首先我们创建一个java项目(当然你也可以创建web应用)并导入相关jar,然后在项目路径下创建twitter4j.properties文件,里边填写刚才保存下的Consumer Key和Consumer Secret。

    项目结构:


    image.png

    twitter4j.properties:


    image.png
    然后和所有基于oauth协议的开发api一样,我们需要获取授权信息。代码如下: image.png
    image.png
    image.png
    image.png
    这里我们解释一下”输入PIN“这里到底是输入什么?很简单就是你在授权页面登陆成功之后,浏览器跳转时携带的code参数,如下图所示:
    image.png
    运行完上面的代码之后,我们的授权信息会被写入到twitter4j.properties文件中:
    image.png
    image.png
    oauth.accessTokenSecret=vJsyhLZF3hKLFPUNJINMBI64UgChxzJz8p6oxZcS3Ioauth.consumerKey=7E1l6GHWuMFTwcZ0tIGZhP

    下面我们通过调用api来获取包含指定关键词的twitter。(你可以参考实例代码SearchTweets.java)本人代码如下:


    image.png
    image.png
    image.png

    ok,到现在为止我们便可获取包含fe关键词的twitter数据。但是要注意,这种方式只能获取一周之内的twitter数据。要想不断的获取的话,只能采取另外的方案,通过调用Streaming apis不断的获取twitter,然后自己再过滤。可以参考PrintSampleStream.java实例代码。

    demo下载地址:http://download.csdn.net/detail/dd864140130/9451385

    相关文章

      网友评论

        本文标题:通过调用Twitter API抓取Twitter数据

        本文链接:https://www.haomeiwen.com/subject/zthvzftx.html