Friday, May 27, 2016

Tweets Crawling pada Twitter dengan Tweepy (Python)


Assalamu'alaikum
Setelah sekian lama tertidur dipangkuannya tidak memposting, akhirnya berkat rahmat Allah SWT dan dengan dorong oleh keinginan luhur supaya mengumpulkan mood untuk memposting kembali. Sebelum mulai belajarnya, marilah kita buka dengan Tawassul, Surat Yasin 3 kali, Istighotsah, Tahlil, Ratibul Haddad, Hizb Bahr, Maulid Simthudurror Bismillahirrahmanirrahim...

Apa yang perlu disiapkan ?
1. Harus punya akun Twitter, kalo belum daftar di sini.
2. Download dan Install Phyton, belum punya juga ? -_- klik download
3. Download SetupTools di sini. Apa ini bro ?? wess ojo kakean takok, download ae.
4. Download pup pip di sini.
5. Download Tweepy di sini.
6. Mandi Wajib Wajib Mandi biar seger
7. Kopi Pahit ( karena yang udah-udah cuma berpura-pura manis ).
8. atau Segelas Teh (Gak perlu manis-manis, yang penting setia).
9. Laptop dan Koneksi Internet (Lah, harusnya ini ada di awal yo :v )
10. Sampai sembilan aja.

Nah, pertama Install Tweepy.
- Folder Tweepy yang didownload tadi, di-copy ke desktop dan simpan ke dalam sebuah folder yang diberi nama tweepy-master. Peletakan file ini bisa dimana saja, ini lakukan untuk memudahkan mengakses file setup melalui Terminal Arjosari.
-Jalankan file setup melalui terminal arjosari command line. Masuk pada path-nya. Kemudian ketikan setup.py install.
- Kemudian mendapatkan Access Token. Caranya ? bisa di lihat di sini.

Apa yang kita akan kerjakan sekarang ? lihat gambar di bawah ini.
Tutorial kali ini adalah bagaimana mendapatkan data Real Time dari Twitter.
Oke, sekarang waktunya ngoding.
buat file excel (save as CSV) dengan nama tampung.csv 
Ketikan kode di bawah ini dengan editor apapun, dengan format .py dan kata kunci "rupiah" (opsional).

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

cKey='masukan c. key'
cSecret='masukan cSecret'
aToken='masukan access token'
aSecret='Masukan access secret'


class listener(StreamListener):
def on_data(self, data):
try:
print data
tweet=data.split(',"text":"')[1].split('","source')[0]
print tweet
savefile=str(time.time())+'::'+tweet
savefile=open('tampung.csv','a')
savefile.write(data)
savefile.write('\n')
savefile.close()
return True
except BaseException, e:
print 'failed ondata,',str(e)
time.sleep(5)

def on_error(self, status):
print status

auth=OAuthHandler(cKey, cSecret)
auth.set_access_token(aToken, aSecret)
twitterStream=Stream(auth, listener())
twitterStream.filter(track=["rupiah"])

Kemudian, run file tersebut melalui terminal.
Bagaimana hasilnya ?
Inilah hasil crawling tweet secara real time dengan kata kunci "rupiah", yang ditampung dalam file berformat .CSV.

Sekian tutorial kali ini, jika ada yang belum jelas silakan ditanyakan pada rumput yang bergoyang.