通過呼叫Twitter API抓取Twitter資料
國內研究weibo的人比較多,資料也相對較多,但是twitter的資料相對較少。今天簡單說一下twitter api的使用。最近一小需求,採集含有指定關鍵詞的twitter資料,瞬間想到寫個爬蟲來抓取,後來突然想到twitter應該有open api可用。使用了vpn翻牆之後簡單的瞭解了twitter.com,決定直接使用 twitter api。由於twitter的open api現在也是基於oauth協議的,因此使用流程和國內一些社群比如說人人網,weibo的api的過程類似。
要想使用twitter api,首先要有twitter的賬號,並且在twitter deveoper中建立應用,地址: ofollow,noindex">https://apps.twitter.com/app/new

image.png
上邊怎麼填就不說了,建立成功之後可以獲得應用的資訊。建立成功之後你會獲得Consumer key和Consumer secret。將這兩個資料儲存下來。如下圖:

image.png
)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
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