Penggunaan Tweepy Python Library: Streaming Keyword Twitter terkait Pilpres

Setelah sekian lama tidak ngoding, hari ini saya sedikit iseng dengan Python. Pyhton adalah bahasa pemrograman yang sangat populer belakangan ini, karena mudah dipelajari, dan sederhana (tetapi robust/powerful). Juga karena Python banyak digunakan di berbagai bidang industri; bahkan Google pun menggunakan Python sebagai salah satu bahasa pemrograman resminya.

Kali ini saya menggunakan Python untuk meng-ekstrak data (twit) dari Twitter. Agar mudah mendapatkan datanya, saya menggunakan keyword “Jokowi” dan “Prabowo”, karena kebetulan saat ini sedang dalam masa kampanye Pemilu Presiden 2019. (Disclaimer: Tulisan dan output dari program ini tidak merepresentasikan apapun, kecuali untuk keperluan pembelajaran.)

Program yang saya buat ini adalah untuk menghitung real-time twit (status) yang di-post, yang mengandung kata “Jokowi” atau “Prabowo”. Beberapa function atau method digunakan untuk memanipulasi sehingga didapatkan hasilnya, yaitu berapa jumlah twit yang memenuhi kriteria tersebut.

Python Library

Untuk meng-ekstrak data dari Twitter, digunakan library dari Tweepy, beserta streaming API-nya. Untuk menggunakannya cukup mudah; silakan baca dari link Streaming with Tweepy berikut. Saya cukup menggunakan contoh program yang disediakan, dan menambahkan beberapa baris program.

Python Program – Streaming data dari Twitter

Keyword filtering

Untuk keperluan program ini, keyword atau term yang saya gunakan untuk mem-filter adalah “Jokowi” dan “Prabowo”

#Terms to track
stream.filter(track=["Jokowi", "Prabowo"])

Manipulasi data

Setelah didapatkan data dari Twitter, data (object yang bernama Tweet) tersebut dikonversi ke JSON object, untuk selanjutnya dimanipulasi. Dalam JSON object , data terdiri dari sekumpulan (pasangan) key dan value yang merepresentasikan attribute beserta nilainya. Contoh attribute dalam Tweet object ini adalah “created_at” yang menyatakan kapan posting twitter tersebut dibuat (post). Untuk lebih detail mengenai attribute dari object Tweet ini silakan merujuk ke laman developer Twitter.

Karena yang dibutuhkan adalah data status atau isi dari sebuah twit, maka di program ini diambillah data dari attribute atau field yang bernama “text”.

text=j["text"] #The text of the tweet

Sebagai tambahan, saya membatasi kepada hanya twitter ‘asli’ lah yang akan dihitung. Sehingga yang diproses adalah text / twit yang tidak mengandung RT, yang artinya re-twit. Untuk keperluan itu, digunakanlah operator ‘in’ . Terlihat ‘kan begitu mudah dan sederhananya Python?

if "RT" not in text:

Selanjutnya, masing-masing isi text dicek apakah ada kata “Jokowi” di dalamnya; demikian pula dengan “Prabowo”. Jika ada, maka dihitung jumlahnya dengan menggunakan operator += (operator yang banyak digunakan juga di bahasa pemrograman lainnya, misalnya di C++ atau Java).

Di program ini saya juga menggunakan keyword “global”, karena variable count J dan countP di sini akan digunakan di level class, bukan di level function.

Pada akhir program ditampilkan hasil dari perhitungan sederhana ini. Saya menjalankan (run) programnya sambil menulis artikel ini, dan berikut ini adalah hasilnya:

Screen captured Hasil Program

Jika ada yang berkenan mencoba atau menggunakan program saya, silakan bisa di-download di sini.

Leave a comment

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