Weekend ini setelah maa tidur bangun makan main akhirnya saya bisa sempatkan untuk mulai coba salah satu tools osint untuk twitter yakni “twint”.
Jadi twint ini kegunaanya untuk mengambil data dari twitter dan lengkapnya itu seperti berikut :

  • Dapat mengambil hampir semua tweet yang ada jika dibandingkan tweet api hanya terbatas sampai 3200 Tweets aja.
  • Instalasinya cukup cepat banget
  • Kita bisa menggunakannya tanpa harus punya atau daftar twitter
  • Tidak ada batasan tarif harga cuk!
  • Saya bisa gunakan ini untuk analisis menggunakan NLP untuk penelitian lainnya

Oh ya tool ini juga pastinya banyak digunakan oleh agen intelligence diluar sana.

twint

Oh ya

Kenapa harus twitter?

Awal mulanya saya tidak begitu perduli dengan twitter, tapi “orang-orang perduli” ini juga yang membuat saya menyelami twitter dan yang saya temukan disana adalah kecepatan dalam mendapatkan “trending informasi”. Trending informasi ini adalah yang penting dalam mengambil keputusan baik itu dalam strategi bisnis ataupun untuk hal-hal yang lain.

Untuk pengguna twitter sendiri tergolong orang-orang yang memiliki sisi psikologis yang sedikit berbeda dari platform lainnya seperti facebook, tik-tok ataupun instagram.

Untuk hal-hal yang bersifat global twitter bisa di andalkan mendapatkan update informasi. tapi untuk di Indonesia sendiri sering dibanjiri oleh tagar-tagar populer dalam hal-hal yang lebih ke “seksualitas” dan “prostistusi online”.

Twitter termasuk salah satu sosial media dengan keterbukaan konten yang lebih dibandingkan dengan facebook dan instagram. Hal ini karena twitter tidak sepenuhnya memblokir konten yang berbau-bau isu seksualitas.

Walaupun beberapa akun kena shadow banned tapi akun backup masih meraja lela tentunya.

Dan satu hal lagi, beberapa tahun lalu saya pernah ajukan untuk permintaan api di twitter tapi di tolak dengan alasan yang saya juga tidak mengertikan namun temen saya bisa. Padahal saya mengajukannya untuk penggunaan penelitian saya di NLP dan dengan adanya twint ini tentunya sangat membantu sekali ketika kamu ditolak permintaan penggunaan APInya.

Dataset

Berbicara dataset ada beberapa data yang bisa kita ambil setidakny ada 36 kolom contohnya seperti berikut:

Judul Isi
id 612370081536839680
conversation_id 612370081536839680
created_at 2015-06-21 04:22:59 +07
date 2015-06-21
time 04:22:59
timezone +0700
user_id 366987179
username jokowi
name Joko Widodo
place  
tweet Alhamdulillah bisa sahur bersama keluarga. Selamat berpuasa saudaraku semua. Ini tweet pertama saya sebagai presiden. -Jkw
language in
mentions []
urls []
photos []
replies_count 6476
retweets_count 11377
likes_count 8795
hashtags []
cashtags []
link https://twitter.com/jokowi/status/612370081536839680
retweet False
quote_url  
video  
thumbnail  
near  
geo  
source  
user_rt_id  
user_rt  
retweet_id  
reply_to  
retweet_date  
translate 0
trans_src  
trans_dest []

Cara installnya

caranya cukup mudah tinggal clone aja dari git

git clone --depth=1 https://github.com/twintproject/twint.git
cd twint
pip3 install . -r requirements.txt

atau jika gak mau clonan bisa pakai pip cuy

pip3 install twint

atau

pip3 install --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint

Cara penggunaan

Sebelum menggunakannya kamu harus terlebih dahulu meluruskan niat kamu
agar apa yang kamu lakukan nantinya tidak menjadi bumerang untuk diri kamu sendiri.

Cara penggunaannya pun mudah banget cuy lu cukup ketahui usernamenya dan beberapa tambahan yang ingin gali, berikut ada beberapa perintah yang bisa kita gunakan:

  • twint -u username - Gunanya untuk mengambil semua tweet dari user tersebut tapi tidak termasuk retweets namun replies atau balasannya ada.
  • twint -u username -s selamat - Mencari semua kata “selamat” pada timeline twitternya.
  • twint -s indonesia - Mendapatkan setiap tweet yang mengandung kata “indonesia” di setiap pengguna yang ada.
  • twint -u username --year 2014 - Mendapatkan tweet yang twit tersebut sebelum 2014.
  • twint -u username --since "2015-12-20 20:30:15" - Mengambil tweet dengan kondisi tanggal sejak 2015-12-20 pada waktu 20:30:15.
  • twint -u username --since 2015-12-20 - Mengambil tweet hanya pada tanggal tertentu seperti 2015-12-20 00:00:00.
  • twint -u username -o file.txt - Mengambil tweet dan menyimpan kedalam file.txt.
  • twint -u username -o file.csv --csv -Mengambil tweet dan menyimpan kedalam file yang berbentuk csv yang bsia dibuka excel.
  • twint -u username --email --phone - Menunjukan twiit yang keterkatikan dengan nomor handphone dan email.
  • twint -s "jokowi" --verified - Menampilkan tweet dengan kata pencarian “jokowi” dari akun-akun yang terverifikasi. Hal ini juga memudahkan kita untuk mencari berita.
  • twint -g="48.880048,2.385939,1km" -o file.csv --csv - Mengambil tweet dari radius 1km dari tempat titik kordinat yang diexport kedalam bentuk file csv.
  • twint -u username -es localhost:9200 - hasil output dari tweets ke Elasticsearch untuk pencarian lebih advance
  • twint -u username -o file.json --json - Mengambil tweetnya dan menyimpn dalam format json file.
  • twint -u username --database tweets.db - Menyimpan semua tweetnya kedalam file database SQLite .
  • twint -u username --followers - Mengambil semua data follower pengguna.
  • twint -u username --following - Mengambil semua data yang pengguna follow atau ikuti.
  • twint -u username --favorites - Mendapatkan semua tweet yang pengguna favoritkan atau love (lebih kurang ~3200 tweet).
  • twint -u username --following --user-full - Mendapatkan semua informasi pengguna dari orang yang difollow.
  • twint -u username --timeline - Digunakan untuk mengumpulkan lebih kurang 3200 Tweet termasuk retweets & balasan.
  • twint -u username --retweets - Digunakan untuk mendapatkan dengan cepat 900 tweet terakhir termasuk retweet pengguna.
  • twint -u username --resume resume_file.txt - Mendapatkan resume pendarian dimulai dari terakhir disimpan di scroll-id.

Ngoding bareng twint

Ini yang asik karena twint sudah support sebagai modul jadi kit bisa buat custom pencarian atau data collection sesuai dengan kasus yang sedang kita kerjakan.

berikut adalah contoh saya ingin mencari twitter jokowi yang mengucapkan kata “selamat” dan di export ke csv

import twint
c = twint.Config()
c.Username = "jokowi"
c.Search = "selamat"
c.Store_csv = True
c.Output = "jokowi_selamat.csv"
# Beberapa tambahan lainnya yang tidak ikut :v "biar kamu buat bumbu sendiri".
# c.Min_likes = 5
# c.Links = "include"
# c.Source = "Twitter Web Client"
# c.Limit = 100
# c.Lang = "en"
# c.Translate = True
# c.TranslateDest = "it"
# c.User_full = True
# c.Pandas = True 
twint.run.Search(c) # untuk pencarian tweets
# twint.run.Profile # rekomended untuk akun yang udah kena shadow banned
# twint.run.Lookup(c) # untuk cari informasi satu pengguna
# twint.run.Followers(c) # untuk dapatkan follower
# twint.run.Favorites # untuk cari tweet favorit
# Tweets_df = twint.storage.panda.Tweets_df # untuk simpan ke dataframe pandas
# list_of_followers = Followers_df['followers'][username]

dan proses itu mendapatkan setidakny ada 37 ucapaan selamat baik itu untuk hal yang baik atau kabar tidak baik. dan untuk selanjutnya kita juga bisa tambahkan NLP untuk klasifikasi ucapan kabar baik vs ucapan kabar tidak baik.

Apa selanjutnya ?

Untuk ranah penelitian, kita juga bisa lakukan pengklasifikasian untuk mendeteksi akun bot atau palsu berdasarkan pattern tweet yang dipostingkan pada topik-topik tertentu.

Jadi gitu deh! -_-