Mengcrawl data Twitter bukan berdasarkan search keyword tetapi berdasarkan reply dari suatu tweet atau thread. Berikut adalah cara untuk melakukannya dengan menggunakan contoh kasus terbaru.
Contoh Kasus: Tweet dari CNN Indonesia
Sebagai contoh, kita akan menggunakan tweet dari CNN Indonesia tentang pengumuman dari Menteri Pendidikan, Pak Nadiem Makarim, bahwa skripsi akan menjadi opsional. Tweet ini memiliki 1600 reply yang dapat kita crawl.
Proses Mengcrawl Data Twitter Berdasarkan Reply dan Thread
Untuk mengcrawl data Twitter berdasarkan reply dan thread, ikuti langkah-langkah berikut ini dengan lebih detail:
1. Persiapan Alat dan Bahan
Sebelum memulai proses crawling, pastikan Anda memiliki semua alat dan bahan yang diperlukan:
- Akun Twitter: Pastikan Anda memiliki akun Twitter yang aktif.
- Token Autentikasi: Anda memerlukan token autentikasi untuk mengakses API Twitter. Untuk mendapatkan token ini, Anda harus mendaftar aplikasi di Twitter Developer. Prosesnya melibatkan:
- Membuat akun Twitter Developer.
- Membuat aplikasi baru di dashboard developer Twitter.
- Mengambil token API, token rahasia API, token akses, dan token akses rahasia dari aplikasi tersebut.
- Google Colab: Anda akan menggunakan Google Colab untuk mengeksekusi script crawling.
2. Instalasi dan Persiapan Lingkungan
Buka Google Colab dan buat file notebook baru. Pastikan Anda menginstal pustaka yang diperlukan. Berikut adalah langkah-langkahnya:
- Instal Pandas dan Node.js:
!pip install pandas
!apt-get install -y nodejs
- Instal Pustaka Tambahan (Opsional):
Jika script crawling Anda memerlukan pustaka tambahan, sepertiaxios
ataupuppeteer
, instal menggunakannpm
:
!npm install axios puppeteer
3. Siapkan Script Crawling
Buat script untuk mengcrawl data dari Twitter. Berikut adalah contoh script dasar menggunakan Node.js dan Puppeteer:
- Setup Puppeteer:
const puppeteer = require('puppeteer');
const fs = require('fs');
async function crawlTwitter(url, limit) {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url, { waitUntil: 'networkidle2' });
// Simulate scrolling and collecting data
let data = [];
let count = 0;
while (count < limit) {
const tweets = await page.evaluate(() => {
return Array.from(document.querySelectorAll('article')).map(tweet => tweet.innerText);
});
data = data.concat(tweets);
count += tweets.length;
await page.evaluate('window.scrollTo(0, document.body.scrollHeight)');
await page.waitForTimeout(2000); // wait for 2 seconds
}
await browser.close();
return data;
}
(async () => {
const url = 'URL_TWEET_YANG_INGIN_DICRAWL'; // ganti dengan URL tweet yang ingin dicrawl
const limit = 100; // batasi jumlah tweet yang ingin dicrawl
const data = await crawlTwitter(url, limit);
fs.writeFileSync('tweets.csv', data.join('\n'));
console.log('Data berhasil disimpan');
})();
- Menjalankan Script di Google Colab:
Setelah script siap, jalankan di Google Colab dengan:
!node nama_script_anda.js
Pastikan Anda telah menyimpan script di lingkungan Google Colab atau mengunggahnya terlebih dahulu.
4. Mengumpulkan Data
Script di atas akan mengumpulkan data tweet dari reply sebuah thread tertentu dan menyimpannya dalam file tweets.csv
. Anda dapat menyesuaikan script tersebut sesuai kebutuhan, misalnya dengan menambahkan filter atau mengubah format penyimpanan.
5. Analisis Data
Setelah data terkumpul, Anda dapat mengunduh file tweets.csv
dari Google Colab untuk analisis lebih lanjut. Misalnya, menggunakan Python dan Pandas untuk analisis sentimen:
- Membaca Data CSV:
import pandas as pd
data = pd.read_csv('tweets.csv', header=None, names=['tweet'])
- Melakukan Analisis Sentimen:
Anda bisa menggunakan pustaka sepertiTextBlob
atauVADER
untuk analisis sentimen:
from textblob import TextBlob
def get_sentiment(text):
return TextBlob(text).sentiment.polarity
data['sentiment'] = data['tweet'].apply(get_sentiment)
6. Menyimpulkan Hasil
Dari analisis sentimen ini, Anda bisa mengetahui apakah sentimen dari reply tweet tersebut lebih cenderung positif, negatif, atau netral.
Analisis Sentimen
Setelah mendapatkan data reply dari tweet, Anda dapat melakukan analisis sentimen untuk mengetahui reaksi publik terhadap tweet tersebut. Sebagai contoh, beberapa reply mungkin menunjukkan sentimen negatif jika berisi keluhan atau ketidakpuasan.
Pentingnya Penggunaan Alat dengan Bijak
Ingat, alat ini dibuat untuk tujuan pembelajaran, penelitian, atau penyusunan skripsi dan bukan untuk keperluan komersial atau penyalahgunaan. Pastikan menggunakan alat ini dengan bijak dan sesuai dengan kebijakan Twitter.
Penutup
Dengan mengikuti langkah-langkah di atas secara detail, Anda bisa mengcrawl data dari Twitter berdasarkan reply dan thread dengan lebih efektif dan melakukan analisis lanjutan sesuai kebutuhan Anda. Selalu pastikan untuk menggunakan alat ini dengan bijak dan sesuai dengan kebijakan Twitter.