Twitter Data Mining menggunakan Python |
Setelah beberapa waktu lalu saya memposting meteri mengenai Metode metode dalam Data mining dan beberapa penjelasan rinci mengenai metode-metode data mining tersebut seperti pada meteri Contoh Perhitungan Manual Metode Data Mining Klastering K-Means maka kali ini kita akan membahah lebih detail kepada proses mining data dari twitter menggunakan bahasa pemrograman python dan disimpan ke dalam format JSON maupun kita ekstrak ke dalam bentuk file CSV menggunakan PIP, oke langsung saja ke TKP semoga bermafaat
Twitter merupakan jaringan sosial yang populer, di mana pengguna dapat berbagi pesan pendek yang disebut tweets. Pengguna berbagi pikiran, link dan gambar di Twitter, wartawan mengomentari acara live, perusahaan mempromosikan produk dan terlibat dengan pelanggan. Ada beberapa cara yang berbeda untuk menggunakan Twitter bisa menjadi sangat lama, dan dengan 500 juta tweets per hari, ada banyak data untuk menganalisis dan menggunakannya.
Twitter merupakan jaringan sosial yang populer, di mana pengguna dapat berbagi pesan pendek yang disebut tweets. Pengguna berbagi pikiran, link dan gambar di Twitter, wartawan mengomentari acara live, perusahaan mempromosikan produk dan terlibat dengan pelanggan. Ada beberapa cara yang berbeda untuk menggunakan Twitter bisa menjadi sangat lama, dan dengan 500 juta tweets per hari, ada banyak data untuk menganalisis dan menggunakannya.
Ini langkah yang harus anda lakukan jika ingin melakukan atau mining data dari twitter dengan menggunakan bahasa pemrograman python. pada bagian pertama kali ini, kita akan melihat beberapa pilihan dalam mengumpulkan data dari twiter dengan cara atau konsep data mining. setelah bahasan ini kita akan melanjutkan untuk ke arah yang lebih spesifik lagi seperti mencari kata yang sedang trends di twitter maupun hashtag yang sedang populer.
Daftarkan App anda
Untuk bisa mengakses data pada twitter dan memiliki akses pada developer twitter kita diwajibkan untuk mendaftarkan supaya kita bisa mengakses twitter Api untuk mendapatkan secret key maupun kode akses.
Langkah pertama adalah pendaftaran aplikasi Anda. Secara khusus, jadi silahakan anda daftarkan pada link berikut ini http://apps.twitter.com, log-in ke Twitter (jika Anda belum log in) dan mendaftarkan aplikasi baru. Sekarang Anda dapat memilih nama dan deskripsi untuk aplikasi Anda (misalnya "Pertambangan Demo" atau apa gitu). Anda akan menerima costumer key dan rahasia konsumen: ini adalah pengaturan aplikasi yang harus selalu dijaga pribadi. Dari halaman konfigurasi dari aplikasi Anda, Anda juga dapat meminta token akses dan akses token rahasia. Demikian pula untuk tombol konsumen, kode ini juga harus dijaga pribadi: mereka menyediakan akses aplikasi ke Twitter atas nama akun Anda. Izin default hanya bisa membaca tidak dapat mengedit, yang kita butuhkan dalam kasus ini, tetapi jika Anda memutuskan untuk mengubah izin Anda untuk memberikan fitur tertulis dalam aplikasi Anda, Anda harus membuat akses token baru.
Contoh Cara mendapatkan kode token akses Twitter Api |
Tampilan setelah mendapatkan kode akses token twitter Api |
Catatan penting: ada batas tingkat dalam penggunaan API Twitter, serta keterbatasan dalam kasus Anda ingin memberikan download data set, lihat:
- https://dev.twitter.com/overview/terms/agreement-and-policy
- https://dev.twitter.com/rest/public/rate-limiting
Mengakses Data Twitter Api
Twitter menyediakan API SISA yang dapat Anda gunakan untuk berinteraksi dengan layanan mereka. Ada juga sekelompok klien berbasis Python di luar sana yang bisa kita gunakan tanpa menciptakan kembali dari awal. Secara khusus, Tweepy merupakan salah satu yang paling menarik dan mudah digunakan, jadi mari kita menginstalnya:
Untuk menginstal pip Anda bisa pergi ke www.pip--installer.org/en/latest/ dan klik pada instalasi.
pip install tweepy
Download dan Instal PIP |
Supaya kita dapat mengotorisasi app untuk mengakses Twitter atas nama kami, kita perlu menggunakan antarmuka OAuth:
1 2 3 4 5 6 7 8 9 10 11 12 | import tweepy from tweepy import OAuthHandler consumer_key = 'YOUR-CONSUMER-KEY' consumer_secret = 'YOUR-CONSUMER-SECRET' access_token = 'YOUR-ACCESS-TOKEN' access_secret = 'YOUR-ACCESS-SECRET' auth = OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_secret) api = tweepy.API(auth) |
Variabel api sekarang menjadi titik masuk untuk sebagian besar operasi kita dapat melakukan dengan Twitter.
Sebagai contoh, kita dapat membaca Time Line twitter kita sendiri (yaitu homepage Twitter anda) dengan contoh code di bawah ini:
1 2 3 | for status in tweepy.Cursor(api.home_timeline).items( 10 ): # Process a single status print (status.text) |
Tweepy menyediakan antarmuka yang nyaman untuk beralih melalui berbagai jenis objek. Dalam contoh di atas kita menggunakan 10 untuk membatasi jumlah tweets yang akan kita membaca, tapi kita bisa akses tentu saja lebih dari itu. Variabel Status adalah turunan dari Status () kelas, method untuk mengakses data. Apa Tweepy tidak memberikan tanggapan JSON yang langsung dari API, yang dapat berguna jika kita ingin menyimpannya dan proses nanti.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import json @classmethod def parse( cls , api, raw): status = cls .first_parse(api, raw) setattr (status, 'json' , json.dumps(raw)) return status # Status() is the data model for a tweet tweepy.models.Status.first_parse = tweepy.models.Status.parse tweepy.models.Status.parse = parse # User() is the data model for a user profil tweepy.models.User.first_parse = tweepy.models.User.parse tweepy.models.User.parse = parse # You need to do it for all the models you need |
Jadi kode di atas dapat ditulis ulang untuk proses / menyimpan JSON yang:
1 2 3 | for status in tweepy.Cursor(api.home_timeline).items( 10 ): # Process a single status process_or_store(status.json) |
Bagaimana jika kita ingin memiliki daftar semua pengikut kita? Ini dia:
1 2 | for friend in tweepy.Cursor(api.friends).items(): process_or_store(friend.json) |
Dan bagaimana daftar semua tweets kami? sederhana:
1 2 | for tweet in tweepy.Cursor(api.user_timeline).items(): process_or_store(tweet.json) |
Dengan cara ini kita dapat dengan mudah mengumpulkan tweet (dan lebih) dan menyimpannya dalam format JSON asli, cukup mudah untuk diubah menjadi model data yang berbeda tergantung pada penyimpanan kami (banyak teknologi NoSQL menyediakan beberapa fitur impor massal).
Streaming Data Langsung Dari Twitter
Dalam hal ini kita ingin "menjaga sambungan terbuka", dan mengumpulkan semua tweets yang akan datang tentang peristiwa tertentu, streaming API adalah apa yang kita butuhkan. Kita perlu untuk memperpanjang StreamListener () untuk menyesuaikan cara kita mengolah data yang masuk. Sebuah contoh kerja yang mengumpulkan semua tweets baru dengan hashtag #python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from tweepy import Stream from tweepy.streaming import StreamListener class MyListener(StreamListener): def on_data( self , data): try : with open ( 'python.json' , 'a' ) as f: f.write(data) return True except BaseException as e: print ( "Error on_data: %s" % str (e)) return True def on_error( self , status): print (status) return True twitter_stream = Stream(auth, MyListener()) twitter_stream. filter (track = [ '#jokowi' ]) |
Tergantung pada istilah pencarian, kita dapat mengumpulkan ton tweet dalam beberapa menit. Hal ini terutama berlaku untuk acara live dengan cakupan seluruh dunia (Piala Dunia, Jokowi, Academy Awards, dan lainnya), sehingga pada file JSON untuk memahami seberapa cepat berkembang dan mempertimbangkan berapa banyak tweet yang mungkin Anda butuhkan untuk tes Anda. Script di atas akan menyimpan setiap tweet di baris baru, sehingga Anda dapat menggunakan perintah wc python.json l dari shell Unix untuk mengetahui berapa banyak tweet Anda mengumpulkan.
Anda dapat melihat contoh kerja minimal API Twitter Streaming di link berikut:
twitter_stream_downloader.py
Kesimpulan Twitter Data Mining Menggunakan Python
Kami telah memperkenalkan tweepy sebagai alat untuk mengakses data Twitter dalam cara yang cukup mudah dengan Python. Ada berbagai jenis data yang kami dapat mengumpulkan, dengan fokus yang jelas pada objek "Tweet" .Setelah kami telah mengumpulkan beberapa data, kemungkinan dalam hal analisis aplikasi tidak terbatas. Dalam Postingan berikutnya, kita akan membahas beberapa pilihan.
- Cara Instal PIP tweepy twitter
- Cari Data Spesifik Hashtag Twitter Data Mining
- Cara Memisahkan Kata Dari Hasil ekstrak Twitter Data Mining