
Dalam pelajaran ini, kita akan menggunakan perpustakaan Twitter4J untuk menambang data dari Twitter. Twitter berurusan dengan Big Data setiap hari, tapi apa sebenarnya itu? Kami akan memiliki ikhtisar yang sangat singkat tentang Big Data sebelum kami menyelami data mining dari Twitter.
Mengapa saya Twitter?
Twitter adalah tempat yang sempurna untuk mengambil data. Berikut adalah beberapa alasan mengapa ini benar:
- Semua tweet di Twitter bersifat publik
- Data baru terus datang secara real-time, ini berarti, Anda tidak pernah kehabisan data baru untuk diuji
- Twitter memiliki API yang menarik bagi pengembang untuk menarik data, mereka juga ramah
- API yang disediakan oleh Twitter menyediakan cara mudah untuk menarik tweet yang terkait dengan user tertentu atau kata/hashtag tertentu atau tweet di lokasi tertentu
Mulai
Sekarang kita telah membenarkan mengapa kita menggunakan platform ini, mari kita mulai mengumpulkan alat-alat kita. Kami akan menggunakan Java 8 untuk pelajaran ini tetapi jangan ragu untuk menggunakan versi di atas (meskipun beberapa tweak, bukan tweet, mungkin diperlukan untuk menggunakannya).
Kami akan menggunakan perpustakaan Java yang disebut Twitter4J untuk terhubung ke API Twitter.
Mendapatkan kunci API Twitter
Mendapatkan kunci API Twitter diperlukan untuk mengakses datanya karena ini adalah cara Twitter melacak data dan jumlah permintaan yang dibuat aplikasi kita ke Twitter.
Mari buat aplikasi Twitter dan dapatkan kunci yang benar untuk bergerak maju.
- Buat aplikasi di sini
Dalam formulir di atas, buat Aplikasi dengan nama unik, nama situs web (gunakan situs web pengganti jika Anda tidak memilikinya), dan deskripsi proyek. Terima syarat dan ketentuan (jika Anda setuju) dan lanjutkan ke halaman berikutnya.
Setelah proyek dibuat, Anda akan melihat halaman dengan header berikut:
- Pada informasi di bawah ini, klik tab `Keys and Access Tokens` untuk mendapatkan informasi berikut:
- Gulir ke bawah dan klik “Hasilkan Token Akses” untuk mendapatkan informasi di bawah ini:
Kita akan membutuhkan nilai-nilai ini nanti jadi akan lebih baik untuk membiarkan tab ini tetap terbuka.
Memulai dengan Twitter4J
Twitter4J adalah sebuah unofficialPustaka Java untuk API Twitter. Dengan Twitter4J, kita dapat dengan mudah mengintegrasikan aplikasi Java kita dengan service Twitter.
Ketergantungan Maven
Untuk memulai, kami akan menambahkan Ketergantungan Maven yang sesuai ke proyek Java kami.
di sini.Autentikasi
Kami telah menambahkan ketergantungan Maven yang diperlukan sekarang. Saatnya kita mulai berbicara dengan API dan Twitter.
Untuk memulai percakapan, kami perlu mengautentikasi panggilan kami ke Twitter sehingga Twitter tahu bahwa hanya user yang dikenal yang mengakses data. Untuk ini, mari kita atur kunci yang kita peroleh sebelumnya.
static final String CONSUMER_KEY = "you-key";
static final String CONSUMER_SECRET = "secret";
static final String ACCESS_TOKEN = "token";
static final String ACCESS_TOKEN_SECRET = "token-secret";
public static Twitter getTwitterInstance() {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)bashbash
.setOAuthConsumerKey(CONSUMER_KEY)
.setOAuthConsumerSecret(CONSUMER_SECRET)
.setOAuthAccessToken(ACCESS_TOKEN)
.setOAuthAccessTokenSecret(ACCESS_TOKEN_SECRET);
TwitterFactory tf = new TwitterFactory(cb.build());
return tf.getInstance();
}Contoh : Menampilkan Timeline
Dalam contoh ini, kami akan menampilkan beberapa tweet terbaru dari timeline user yang diautentikasi. Kami akan melakukan ini dengan menggunakan instance Status objek Twitter sebagai:
private static void showHomeTimeline(Twitter twitter) {
List<Status> statuses = null;
try {
statuses = twitter.getHomeTimeline();
System.out.println("Showing home timeline.");
for (Status status : statuses) {
System.out.println(status.getUser().getName() + ":" + status.getText());
String url= "https://twitter.com/" + status.getUser().getScreenName() + "/status/"
+ status.getId();
System.out.println("Above tweet URL : " + url);
}
} catch (TwitterException e) {
e.printStackTrace();
}
}Hasilnya akan terlihat seperti sekumpulan tweet acak:
Mengikuti tautan ke tweet akan sering membawa Anda ke tweet itu sendiri. Mengikuti tautan dari tweet pertama akan memberi kita hasil sebagai berikut:
Terlepas dari nama user dan teks tweet, API Twitter memiliki banyak informasi untuk diberikan yang dapat disimpulkan dari metode berikut yang tersedia:
status.getSource();
status.getCreatedAt();
status.getFavoriteCount();
status.getGeoLocation();
status.getLang();
status.getPlace();
status.getRetweetCount();
status.getUser().getBiggerProfileImageURL();
status.getUser().getEmail();
status.getUser().getFollowersCount();
status.getUser().getFriendsCount();Ini memberikan banyak informasi terkait Tweet dan user yang memposting tweet. Ini tidak termasuk semua metode, silakan jelajahi semua metode yang tersedia.
Perhatikan bahwa atribut ini bisa sangat berguna jika aplikasi Anda bergantung pada lebih banyak data.
Contoh: Posting Tweet
Dalam contoh ini, kami hanya akan memposting tweet baru dari kode kami karena user sudah diautentikasi. Mari kita taruh beberapa kode contoh di sini:
private static void updateTweet(Twitter twitter, String tweet) throws TwitterException {
Status status = twitter.updateStatus(tweet);
System.out.println("Successfully updated the status to [" + status.getText() + "].");
}Memposting tweet baru semudah itu.
Contoh : Tweet dari Pengguna Tertentu
Sangat mudah untuk mendapatkan tweet user lain, cukup berikan nama user dan API akan mengembalikan beberapa tweet terbaru untuk user tersebut.
Mari kita coba menarik dua puluh tweet terbaru dari akun twitter @linuxhint:
Berikut ini contoh kodenya:
List<Status> statuses = twit ter.getUserTimeline(“linuxhint”);
for (Status status : statuses) {
String fmt = "@" + status.getUser().getScreenName() + " - " + status.getText();
System.out.println(fmt);
}Saat Anda menjalankan program ini, Anda akan melihat Tweets untuk LinuxHint.
Aplikasi populer dari jenis data ini dapat mencakup:
- Menjalankan analisis pada user tertentu, dan bagaimana mereka berinteraksi dengan dunia
- Menemukan influencer Twitter dan menganalisis tren dan interaksi pengikut mereka
- Memantau perubahan pengikut user
Contoh: Menemukan Tweet Menggunakan Kata Kunci
Mari kita lakukan satu contoh terakhir: Mendapatkan tweet terbaru yang mengandung kata kunci. Ini bisa sangat berguna jika Anda ingin memantau topik yang disebutkan secara khusus di dunia Twitter, atau bahkan untuk melihat bagaimana bisnis Anda disebutkan.
Katakanlah kita ingin melihat bagaimana Twitter menyebut Linux:
//searchTerm=Linux
private static void searchTweets(Twitter twitter, String searchTerm) throws TwitterException {
Query query = new Query("source:" + searchTerm);
QueryResult result = twitter.search(query);
for (Status status : result.getTweets()) {
System.out.println("@" + status.getUser().getScreenName() + ":" + status.getText());
}
}
Berikut adalah beberapa cara praktis untuk menggunakan informasi ini:
- Buat grafik spasial di mana perusahaan Anda paling banyak disebutkan di seluruh dunia
- Jalankan analisis sentimen pada tweet untuk melihat apakah opini keseluruhan perusahaan Anda positif atau negatif
- Buat grafik sosial dari user paling populer yang menge-tweet tentang perusahaan atau produk Anda
Kami dapat membahas beberapa topik ini di artikel mendatang.
API Twitter sangat berguna dalam aplikasi penambangan data, dan dapat memberikan wawasan luas tentang opini publik.