Python

Tutorial Menggunakan Twitter API dengan Python

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.

2 Comments

  1. 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.

    1. 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

Leave a Reply

Your email address will not be published. Required fields are marked *