Lewati ke konten utama

Tutorial Snscrape: Cara Melakukan Scrape Media Sosial dengan Python

Tutorial snscrape ini membekali Anda untuk memasang, menggunakan, dan memecahkan masalah snscrape. Anda akan belajar melakukan scrape Tweet, postingan Facebook, tagar Instagram, atau Subreddit.
Diperbarui 28 Sep 2026  · 8 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Snscrape adalah pustaka Python yang tangguh untuk melakukan scraping data dari berbagai layanan jejaring sosial (SNS) seperti Facebook, Twitter, Instagram, Reddit, dan lainnya.

Fokus pada media sosial membuat snscrape unggul di area yang sering menyulitkan alat web scraping umum. Platform media sosial kerap memiliki struktur data dan API yang unik, yang dipahami oleh snscrape.

Hasilnya, ekstraksi data menjadi lebih bersih dan andal dibandingkan scraper web generik yang mungkin harus berputar mengatasi fitur khusus platform.

Jika Anda ingin mempelajari lebih lanjut tentang web scraping secara umum, lihat kursus ini tentang web scraping di Python dan web scraping di R.

Snscrape Secara Singkat

Berikut sekilas tentang apa saja yang bisa kita scrape dengan snscrape:

  • Profil pengguna: Kumpulkan informasi profil publik di berbagai platform, termasuk bio, jumlah pengikut, dan riwayat posting.
  • Posting dan konten: Scrape cuitan, posting Instagram, unggahan Reddit, dan lainnya, tergantung platform. Anda bahkan bisa menargetkan tagar, lokasi, atau pencarian tertentu untuk memfokuskan pengumpulan data.
  • Grup dan komunitas sosial: Telusuri grup Facebook, subreddit Reddit, atau kanal Telegram untuk menganalisis diskusi dan interaksi kelompok.

Berikut ringkasan jenis data spesifik yang didukung untuk tiap platform (berdasarkan dokumentasi resmi snscrape):

Platform

Data yang Didukung

Facebook

Profil pengguna, Grup, Komunitas

Instagram

Profil pengguna, Tagar, Lokasi

Mastodon

Profil pengguna, Toot (tunggal atau utas)

Reddit

Pengguna, Subreddit, Pencarian

Telegram

Kanal

Twitter

Pengguna, Profil pengguna, Tagar, Pencarian, Tweet (tunggal atau utas), Postingan daftar, Komunitas, Tren

VKontakte

Profil pengguna

Weibo (Sina Weibo)

Profil pengguna

Cara Memasang Snscrape

Untuk mulai menggunakan snscrape, pertama kita perlu memasangnya dengan pip atau conda:

$ pip install snscrape

Jika Anda menggunakan conda, cukup ganti kata pip dengan kata conda pada cuplikan kode di atas.

Snscrape memerlukan Python 3.8 atau lebih baru, dan Anda mungkin perlu memasang pustaka libxml2 dan libxslt juga.

Setelah terpasang, kita siap mulai melakukan scraping data media sosial.

Cara Menggunakan Snscrape

Salah satu kekuatan snscrape adalah antarmuka baris perintah (CLI) yang sederhana dan efisien untuk mengambil data media sosial.

Mari mulai dengan contoh scraping data Facebook.

Catatan penting sebelum lanjut: jika Anda berencana mengikuti langkah-langkah ini, bacalah Ketentuan Layanan dan robots.txt yang berlaku saat ini. Pembaruan ketentuan layanan dapat menyatakan bahwa pengumpulan data otomatis, termasuk scraping, saat ini tidak diizinkan tanpa persetujuan tertulis terlebih dahulu.

Sekarang, misalkan kita ingin mengumpulkan postingan Facebook dari sebuah halaman tertentu.

Anda dapat menggunakan antarmuka baris perintah (CLI) snscrape untuk melakukannya:

$ snscrape facebook-page "page_url" > posts.txt

Pada contoh ini, kita dapat mengganti “page_url” dengan URL halaman Facebook yang ingin kita scrape. Hasilnya akan disimpan dalam berkas bernama posts.txt.

Jika Anda seperti saya, Anda mungkin lebih suka menggunakan skrip untuk tugas yang kompleks atau berulang. Untungnya, Anda bisa dengan mudah menggunakan snscrape di dalam skrip Python:

import os

# Define the Facebook page URL
page_url = "your_page_url_here"

# Execute the snscrape command to retrieve posts
os.system(f"snscrape facebook-page {page_url} > posts.txt")

# Posts are saved in the 'posts.txt' file
print(f"Posts from '{page_url}' have been saved to 'posts.txt'.")

Perlu diingat bahwa banyak halaman media sosial, termasuk Facebook, umumnya tidak menganjurkan scraping tanpa izin dan aktif menanganinya. Anda bisa membaca lebih lanjut tentang pandangan Facebook mengenai hal ini di artikel ini.

Snscrape: Teknik Lanjutan

Snscrape menawarkan fitur lanjutan untuk menyetel proses pengumpulan data. Misalnya, kita dapat menentukan jumlah hasil yang di-scrape, memfilter berdasarkan rentang tanggal, atau menargetkan pengguna atau tagar tertentu.

Berikut contoh scraping postingan dalam rentang tanggal tertentu:

$ snscrape facebook-page "page_url" --since 2023-01-01 --until 2023-12-31 > posts.txt

Kita juga bisa melakukan scraping data dari platform lain seperti Reddit menggunakan perintah serupa yang disesuaikan dengan sintaks masing-masing platform. Seperti disebutkan pada bagian sebelumnya, snscrape saat ini mendukung scraping dari:

  1. Facebook
  2. Instagram
  3. Mastodon
  4. Reddit
  5. Telegram
  6. Twitter
  7. VKontakte
  8. Weibo (Sina Weibo)

Opsi Global

Snscrape memiliki beragam opsi global yang dapat kita gunakan untuk menyesuaikan scraping.

Misalnya, jika kita memerlukan JSON Lines alih-alih berkas .txt, kita dapat menggunakan opsi global jsonl untuk menyimpan hasil scraping dalam tipe berkas tersebut:

$ snscrape facebook-page "page_url" --jsonl > posts.jsonl

Contoh lain adalah membatasi jumlah hasil yang kita kumpulkan menggunakan opsi max-results. Ini sangat berguna jika sumber daya komputer terbatas atau halaman yang kita scrape memiliki volume data besar:

$ snscrape facebook-page "page_url" --max-results 50 > limited_posts.txt

Kita juga bisa melakukan scraping informasi tambahan terkait setiap postingan, seperti profil pengguna dan tagar, dengan mengumpulkan informasi entitas:

$ snscrape facebook-page "page_url" --with-entity > posts_with_entity.txt

Use Case Snscrape

Kemampuan snscrape mengekstrak data dari platform media sosial membuka banyak aplikasi di berbagai domain. Mari jelajahi beberapa use case yang menarik bagi peneliti dan bisnis.

Riset dan Akademik

Scraping layanan jejaring sosial memiliki use case berikut untuk riset dan akademik:

  • Social listening dan analisis sentimen: Snscrape membantu peneliti menganalisis opini publik dan mengukur sentimen seputar peristiwa tertentu—mulai dari konferensi global dan debat politik hingga bencana alam. Data ini bisa digunakan untuk memahami persepsi publik, mengidentifikasi tren yang muncul, dan mendukung pengambilan keputusan. Informasi yang diekstraksi juga berharga bagi pelaku pasar saham untuk memprediksi reaksi pasar terhadap peristiwa semacam itu.
  • Analisis jaringan dan deteksi komunitas: Dengan melakukan scraping koneksi dan interaksi sosial, peneliti dapat memetakan jejaring sosial, mengidentifikasi pengguna yang berpengaruh, dan memahami aliran informasi dalam komunitas. Pengetahuan ini berguna untuk mempelajari gerakan daring, pengaruh sosial, dan penyebaran informasi.

Bisnis dan pemasaran

Scraping data media sosial dapat membantu bisnis dalam:

  • Pemantauan merek dan pengelolaan reputasi: Bisnis dapat memanfaatkan snscrape untuk melacak penyebutan merek mereka secara daring dan memantau sentimen pelanggan. Hal ini memungkinkan mereka mengidentifikasi potensi krisis, menanggapi keluhan pelanggan dengan cepat, dan mengukur efektivitas kampanye pemasaran.
  • Analisis pesaing dan riset pasar: Dengan melakukan scraping data dari profil pesaing dan forum industri, bisnis dapat memperoleh wawasan berharga tentang strategi pesaing, preferensi pelanggan, dan tren yang muncul di pasar mereka. Pengetahuan ini dapat digunakan untuk menyempurnakan strategi pemasaran, mengembangkan keunggulan kompetitif, dan mengoptimalkan penawaran produk.

Pertimbangan Etis

Menjaga privasi pengguna dan mematuhi standar etika sangat penting saat melakukan scraping data.

Sebelum memulai proyek scraping, bacalah ketentuan layanan platform dan siapkan rencana untuk melindungi privasi data pengguna. Anda bertanggung jawab memastikan aktivitas pengumpulan data mematuhi kebijakan dan pedoman penggunaan platform, seperti batas laju, pembatasan akses data, dan izin penggunaan konten. Dengan mematuhi ketentuan layanan ini, Anda dapat menghindari potensi implikasi hukum dan menegakkan standar etika dalam praktik pengumpulan data.

Pertimbangan etis juga mencakup penanganan dan penyimpanan data hasil scraping secara bertanggung jawab. Untuk melindungi informasi sensitif, Anda harus menerapkan praktik manajemen data yang andal, termasuk enkripsi, anonimisasi, dan protokol penyimpanan yang aman. Setelah Anda memiliki data tersebut, tanggung jawab Anda adalah memastikan data tidak disalahgunakan.

Snscrape: Masalah dan Pemecahan Masalah

Meskipun snscrape menawarkan fungsionalitas yang kuat untuk scraping data media sosial, kita mungkin menemui berbagai masalah.

Kesalahan autentikasi

Kita bisa menjumpai kesalahan terkait nama pengguna, kata sandi, atau kunci API yang tidak valid (bergantung platform).

Kita perlu memeriksa kembali kredensial untuk salah ketik atau token kedaluwarsa. Kita juga bisa merujuk dokumentasi resmi untuk persyaratan autentikasi spesifik pada tiap platform yang kita scrape.

Pembatasan laju (rate limiting)

Platform media sosial sering memiliki batas laju untuk mencegah scraping berlebihan. Kita mungkin melihat pesan kesalahan yang menunjukkan bahwa kita melampaui jumlah permintaan yang diizinkan per jangka waktu.

Kita perlu memperhatikan batas laju dan menyesuaikan kecepatan scraping. Snscrape menawarkan opsi seperti --wait untuk menambahkan jeda antar permintaan. Kita juga dapat mempertimbangkan scraping data dalam batch lebih kecil yang disebar sepanjang waktu.

Kesalahan parsing data

Perubahan tak terduga pada struktur atau tampilan platform dapat menyebabkan kesalahan parsing, di mana snscrape kesulitan menafsirkan data yang diekstraksi.

Kita perlu mengikuti rilis terbaru snscrape, karena pengembang sering menangani masalah ini melalui pembaruan platform. Kita dapat melihat repositori GitHub untuk isu yang dilaporkan dan potensi solusi.

Akses ditolak

Dalam beberapa kasus, platform mungkin memblokir upaya scraping sepenuhnya.

Kita perlu menghormati ketentuan layanan tiap platform dan menghindari scraping berlebihan atau menargetkan data sensitif. Jika scraping benar-benar dilarang, kita perlu mempertimbangkan sumber data alternatif atau menyesuaikan pendekatan riset.

Pemecahan masalah

Berikut beberapa kiat untuk scraping yang lebih lancar:

  • Mulai dari yang kecil: Mulailah dengan tugas scraping kecil untuk menguji perintah Anda dan mengidentifikasi potensi masalah sebelum mencoba pengumpulan data yang lebih besar.
  • Baca dokumentasi: Dokumentasi resmi snscrape memberikan wawasan berharga tentang opsi spesifik scraper dan praktik terbaik. Sering-seringlah merujuknya untuk memecahkan masalah dan mengoptimalkan pengalaman scraping Anda.
  • Bergabung dengan komunitas: Komunitas snscrape di GitHub adalah sumber yang bagus untuk menemukan solusi atas masalah umum dan belajar dari pengalaman pengguna lain.

Kesimpulan

Dalam tutorial ini, kita membahas dasar-dasar penggunaan snscrape untuk mengekstrak data dari berbagai layanan jejaring sosial. Kita mempelajari cara memasang dan menggunakan snscrape melalui CLI dan Python, serta meninjau use case, pertimbangan etis, dan teknik pemecahan masalah.

Anda dapat melanjutkan perjalanan belajar dengan memperdalam topik seperti analisis sentimen, etika data, atau analisis data media sosial:


Amberle McKee's photo
Author
Amberle McKee
LinkedIn

Saya seorang PhD dengan pengalaman 13 tahun bekerja dengan data di lingkungan riset biologi. Saya membuat perangkat lunak dalam beberapa bahasa pemrograman termasuk Python, MATLAB, dan R. Saya bersemangat membagikan kecintaan saya terhadap pembelajaran kepada dunia.

Topik
Data Science
Python

Pelajari web scraping bersama DataCamp!

Kursus

Web Scraping dengan Python

4 jam
94.4K
Pelajari cara mengambil dan mengurai informasi dari internet menggunakan pustaka Python scrapy.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

Lihat SelengkapnyaLihat Selengkapnya