snscrape adalah pengikis untuk layanan jejaring sosial (SNS). Ini menghapus hal-hal seperti profil pengguna, hashtag, atau pencarian dan mengembalikan item yang ditemukan, misalnya posting yang relevan.
Layanan berikut saat ini didukung:
snscrape membutuhkan Python 3.8 atau lebih tinggi. Dependensi paket Python diinstal secara otomatis saat Anda menginstal snscrape.
Perhatikan bahwa salah satu dependensi, lxml, juga memerlukan instalasi libxml2 dan libxslt.
pip3 install snscrape
Jika Anda ingin menggunakan versi pengembangan:
pip3 install git+https://github.com/JustAnotherArchivist/snscrape.git
Sintaks umum CLI snscrape adalah:
snscrape [GLOBAL-OPTIONS] SCRAPER-NAME [SCRAPER-OPTIONS] [SCRAPER-ARGUMENTS...]
snscrape --help
dan snscrape SCRAPER-NAME --help
memberikan detail tentang opsi dan argumen. snscrape --help
juga mencantumkan semua scraper yang tersedia.
Output default CLI adalah URL setiap hasil.
Beberapa opsi global yang patut diperhatikan adalah:
--jsonl
untuk mendapatkan keluaran sebagai JSONL. Ini mencakup semua informasi yang diekstraksi dengan snscrape (misalnya konten pesan, waktu, gambar; detail bervariasi berdasarkan scraper).--max-results NUMBER
untuk hanya mengembalikan hasil NUMBER
pertama.--with-entity
untuk mendapatkan item pada entitas yang di-scrap, misalnya pengguna atau saluran. Ini tidak didukung pada semua scraper. (Anda dapat menggunakan ini bersama dengan --max-results 0
untuk mengambil informasi entitas saja.) Kumpulkan semua tweet oleh Jason Scott (@textfiles):
snscrape twitter-user textfiles
Biasanya berguna untuk mengarahkan output ke file untuk diproses lebih lanjut, misalnya di bash menggunakan nama file twitter-@textfiles
:
snscrape twitter-user textfiles > twitter-@textfiles
Untuk mendapatkan 100 tweet terbaru dengan hashtag #archiveteam:
snscrape --max-results 100 twitter-hashtag archiveteam
Dimungkinkan juga untuk menggunakan snscrape sebagai perpustakaan dengan Python, tetapi saat ini tidak terdokumentasi.
Jika Anda menemukan masalah dengan snscrape, harap laporkan di https://github.com/JustAnotherArchivist/snscrape/issues. Jika Anda menggunakan CLI, jalankan snscrape dengan -vv
dan sertakan keluaran log dalam masalahnya. Jika Anda menggunakan snscrape sebagai modul, aktifkan logging tingkat debug menggunakan import logging; logging.basicConfig(level = logging.DEBUG)
(sebelum menggunakan snscrape sama sekali) dan sertakan keluaran log dalam masalah.
Dalam beberapa kasus, proses debug mungkin memerlukan lebih banyak informasi daripada yang tersedia di log. CLI memiliki opsi --dump-locals
yang memungkinkan pembuangan semua variabel lokal ke dalam snscrape berdasarkan pesan log penting (bukan, secara default, hanya pada error). Perhatikan bahwa file dump mungkin berisi informasi sensitif dalam beberapa kasus dan berpotensi digunakan untuk mengidentifikasi Anda (misalnya jika layanan menyertakan alamat IP Anda dalam responsnya). Jika Anda lebih suka mengatur transfer file secara pribadi, sebutkan saja hal itu dalam terbitan.
Program ini adalah perangkat lunak bebas: Anda dapat mendistribusikan ulang dan/atau memodifikasinya berdasarkan ketentuan Lisensi Publik Umum GNU sebagaimana diterbitkan oleh Free Software Foundation, baik versi 3 dari Lisensi tersebut, atau (sesuai pilihan Anda) versi yang lebih baru.
Program ini disebarluaskan dengan harapan dapat bermanfaat, namun TANPA JAMINAN APA PUN; bahkan tanpa jaminan tersirat mengenai KELAYAKAN UNTUK DIPERDAGANGKAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat Lisensi Publik Umum GNU untuk lebih jelasnya.
Anda seharusnya sudah menerima salinan Lisensi Publik Umum GNU bersama dengan program ini. Jika tidak, lihat https://www.gnu.org/licenses/.