Scrapping Text di twitter dengan python

By | January 14, 2021
1,636 Views

Sinopsis

Cerita ini dimulai ketika penulis sedang mengerjakan sebuah riset mengenai keterkaitan content disebuah ‘percakapan´ di sosmed. Cerita sederhana ini rupanya lebih mudah menggunakan Python dalam melakukan scrapping. Seringkali untuk mendapatkan proses scrapping harus di run dalam waktu yang cukup lama agar data yang didapatkan lebih banyak dan cukup menggambarkan content tersebut. Library yang patut dicoba yaitu tweepy  https://github.com/tweepy/tweepy.

Proses Install

Setelah di extract, maka bukan command prompt dan tujukan pada folder install tersebut. Untuk install tweepy cukup ketikan perintah dibawah ini. Lebih lengkapa cara install setup.py install di link ini.

python setup.py install

Setelah install maka tampil berikut

 

Proses Scrapping

Coba kalian buat Application di twitter.com seperti berikut https://spring.io/guides/gs/register-twitter-app/, untuk mendapatkan akses token, akses token screet, consumer key, consumer screet API nya. cara akses ke API di python silahkan kunjungi berikut: http://adilmoujahid.com/posts/2014/07/twitter-analytics/. Information API in tweet

Consumer Key (API Key)		: xxxxxxxxxxxxxxxxxxxxxxx
Consumer Secret (API Secret) 	: xxxxxxxxxxxxxxxxxxxxxxxxxx
Access  			: Level Read and write (modify app permissions) 
Owner 	 			: softscients 
Owner 	 			: ID xxxxxxxx

token

Access Token			: xxxxxxxxx
Access Token Secret	 	: xxxxxx
Access	 			: Level Read and write 
Owner	 			: softscients 
Owner	 			: ID xxxxxxx

Penulis sudah mencoba sesuai dengan tutorial diatas dan cukup efektif dalam mendapatkan content, tentunya kita harus memahami betul cara kerja regex ataupun format JSON di python.  Simpan saja kode dibawah ini dengan nama kasus1.py

from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream

#Variables that contains the user credentials to access Twitter API 
access_token = "xxxxxx" #ganti dengan punya kalian
access_token_secret = "xxxxxxx" #ganti dengan punya kalian
consumer_key = "xxxxxxxxxxxx" #ganti dengan punya kalian
consumer_secret = "xxxxxxxxxxxx" #ganti dengan punya kalian


#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 Twitter Streams to capture data by the keywords: 'python', 'javascript', 'ruby'
    stream.filter(track=['python', 'javascript', 'ruby'])

Kemudian penulis panggil melalui comand prompt

python kasus1.py > data.txt

Biarkan saja running, misalkan saja 5 menit, untuk menghentikannya, cukup tekan CTR + C, maka akan tercipta file data.txt pada direktori diatas, bila dibuka, gunakan saja notepad++ berbentuk format JSON yang bisa kalian pelajari disini mengenai format JSON.

Nah anda tinggal baca2 saja cara mengolah data diatas menggunakan Pandas atau Regex.  Biasanya untuk mendapatkan data yang banyak, biarkan saja aplikasi berjalan selama berjam-jam dan jangan lupa untuk menghentikannya cukup tekan CTR + C. Cukup sederhana dan sangat bermanfaat untuk mendapatkan sebuah insight dalam jutaan tweet, sehingga kamu pun bisa merancang sebuah algoritma untuk menentukan sebuah keterkaitan content!