Twitter merupakan salah satu social media yang saat ini masih banyak digunakan. Twitter menyediakan API yang dapat kita gunakan untuk mengakses datanya, baik secara batch maupun real time
Dengan menggunakan API kita dapat melakukan searching dan retrieving data, retweet dan lain sebagainya
Untuk menggunakan Twitter API tentunya kita harus mempunyai akun Twitter
Kemudian masuk di halaman Twitter Developer dan buat aplikasi baru di https://developer.twitter.com/en/apps
Klik Tombol Create an app
Jika belum mempunyai akun Twitter Developers, akan diminta untuk mengisi detail seperti identitas lanjutan, alasan pengajuan API, digunakan untuk apa dan seterusnya
Setelah disetujui akun developernya selanjutnya Masuk di Tab Keys and Access Tokens dan simpan consumerKey, consumerSecret, accessTokenKey dan accessTokenSecret
Install Tweepy
pip install tweepy
buat script Python untuk mengambil data sebanyak 50 tweets dengan keyword bandungjuara
import tweepy dan setup autentikasi Twitter API
import tweepy
#from textblob import TextBlob
# Step 1 - Authenticate
consumer_key= 'xxxxxxxxxxxxxxxxxx'
consumer_secret= 'xxxxxxxxxxxxxxxxxxxx'
access_token='xxxxxxxxxxxxxxxxxxx'
access_token_secret='xxxxxxxxxxxxxxxxxxx'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
Retrieve tweets sebanyak 50 tweets
public_tweets = api.search(q='#bandungjuara', count=50)
Cetak setiap tweet
for tweet in public_tweets:
print(tweet.text)
Hasilnya adalah 50 tweets yang ditampilkan dalam console
full source code dari pengambilan data melalui Twitter API adalah sebagai berikut
import tweepy # Step 1 - Authenticate consumer_key= 'xxxxxxxxxxxxxxxxxx' consumer_secret= 'xxxxxxxxxxxxxxxxxxxx' access_token='xxxxxxxxxxxxxxxxxxx' access_token_secret='xxxxxxxxxxxxxxxxxxx' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth) #Step 2 - Retrieve Tweets public_tweets = api.search(q='#bandungjuara', count=50) for tweet in public_tweets: print(tweet.text)
Twitter Stream Data
Twitter juga menyediakan layanan untuk mengakases datanya secara real time. Setiap tweet yang masuk akan secara otomatis dikirim kepada kita
Dalam implementasinya kita tetap harus menggunakan autentikasi API yang disediakan oleh Twitter seperti pada case diatas tetapi kita harus menambahkan listener untuk selalu mendapatkan tweet secara real time
Tambahkan class berikut
class StdOutListener(StreamListener):
def on_data(self, data):
print(data)
return True
def on_error(self, status):
print(status)
dan buat fungsi main
if __name__ == '__main__':
#This handles Twitter authetification and the connection to Twitter Streaming API
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = Stream(auth, l)
#This line filter tweets from the words.
stream.filter(track=['bandung', 'gedung sate'])
Sehingga kode lengkapnya adalah sebagai berikut
from tweepy.streaming import StreamListener from tweepy import OAuthHandler from tweepy import Stream import tweepy # Step 1 - Authenticate consumer_key= 'xxxxxxxxxxxxxxxxxx' consumer_secret= 'xxxxxxxxxxxxxxxxxxxx' access_token='xxxxxxxxxxxxxxxxxxx' access_token_secret='xxxxxxxxxxxxxxxxxxx' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth) #This is a basic listener that just prints received tweets to stdout. class StdOutListener(StreamListener): def on_data(self, data): print(data) return True def on_error(self, status): print(status) if __name__ == '__main__': #This handles Twitter authetification and the connection to Twitter Streaming API l = StdOutListener() auth = OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) stream = Stream(auth, l) #This line filter tweets from the words. stream.filter(track=['bandung', 'gedung sate'])
Berikut adalah contoh output stream data dari Twitter untuk keyword bandung atau gedung sate
Sekian tutorial menggunakan Twitter API dengan Python untuk mendapatkan data dari Twitter.
Hai, saya hikmah, terima kasih sudah berbagi tentang bagaimana mengambil data dari twitter. Saya mau tanya bagaimana caranya agar bisa mendapatkan data tweet dengan jumlah ribuan sedangkan twitter membatasinya, selain apply access academic research dan upgrade ke access premium apa ada cara lainnya? Terima kasih.
yang saya pernah pakai bisa menggunakan layanan disini https://www.vicinitas.io/free-tools/download-user-tweets
bisa ambil data sampai 2k-3k dengan keyword,hashtag atau akun twitter. Jika ingin lebih dari itu bisa ambil secara periodik