Hola anbies, sekarang mari kita membahas sedikit tentang library (lebih ke program) crawling yang sering digunakan untuk meng-crawl Seluruh Gambar dan Video Pada Instagram. Apa itu? nama library nya adalah instalooter.
Apa itu Instalooter?
Instalooter adalah sebuah program yang digunakan untuk mendownload seluruh video dan gambar pada sebuah profile atau hashtag pada instagram tanpa menggunakan API atau Token apapun. Bahkan kalian juga bisa mendownload gambar atau video pada private akun!
Cara installnya cukup mudah, kita cuman butuh pip dan command dibawah :
pip install instalooter
Nah kalau udah, kita bisa langsung menggunakan perintah dasar instalooter pada command line kita.
Untuk menghindari Error, bisa terlebih login instagram di PC atau browser kita hehe, tapi jarang sih ini :)
Disini, anbi bakal kasih contoh command buat download semua gambar dan video pada instagram anbidev.
instalooter user anbidev
Kalau berhasil ada log kayak gini.
Dan jika kita lihat, pada folder di path command line anbi, akan berisi banyak gambar dari anbidev.
Crawl Berdasarkan Hashtag
Kita juga bisa mengcrawl gambar dan video dengan instalooter berdasarkan parameter hashtag. Nih, kita coba crawl 10 gambar atau video pada postingan dengan hashtag #programmer
.
instalooter hashtag programmer -n 10
Ia akan mendownload 10 postingan gambar atau video terbaru, yang menggunakan hashtag #programmer
yang terbaru.
Crawl Single Posting
Kita sudah berhasil crawling secara batch berdasarkan hashtag atau profile. Lalu bagaimana jika kita ingin crawling single posting?
Mudah aja, copy link postingannnya, lalu gunakan command berikut ini.
instalooter post "https://www.instagram.com/p/CEwhuIghkKb/"
Nah, sesimpel itu. Oh iya, anbi pengen gambar hasil crawl disimpen difolder Pictures. Kita tinggal kasih parameter path direktori tujuan. Contoh :
instalooter post "https://www.instagram.com/p/CEwhuIghkKb/" ~/Pictures
~/Pictures
adalah path direktori untuk menyimpan hasil crawl.
Crawling Akun Private
Nah, kalau mau crawling akun private, cara satu - satunya adalah kalian follow dulu akunnya. Lalu nunggu di Accept nah, abis itu baru deh bisa kita crawl ๐.
Cara login pakai Instalooter gimana? gini caranya, misal anbi bakal crawl salah satu akun instagram Private yang kebetulan udah di accept hehe.
instalooter user tridesir --username humanoid99 --password 12345678
--username
: kalian isi dengan username akun instagram kalian.--password
: kalian isi dengan password instagram kalian.
PENTING : Akun yang digunakan harus udah diaccept dulu yak ๐
Implementasi Pada Script
Nah, program ini juga bisa kita perlakukan juga menjadi sebuah library. Sehingga bisa kita import
kedalam script atau program yang ingin kita buat.
Contoh kode yang paling mudah seperti ini.
from instalooter.looters import ProfileLooter
instagram_user = "anbidev"
looter = ProfileLooter(username=instagram_user)
looter.download('~/Pictures', media_count=10)
Dari script diatas bertujuan untuk mendownload 10 postingan terbaru pada instagram @anbidev.
Nah, selanjutnya kita bisa mengembangkannya lagi, dari script tersebut sesuai dengan kebutuhan yang diinginkan.
Misal anbi, disini bakal crawling seluruh komentar postingan di salah satu postingan instagram. Anbi bakal ambil di postingannya petanikode.
from instalooter.looters import PostLooter
instagram_post = PostLooter('https://www.instagram.com/p/CLiS5C9BVQx/')
list_media = instagram_post.medias()
for media in list_media:
info = instagram_post.get_post_info(media['shortcode'])
list_comment = info['edge_media_to_parent_comment']
the_comment = list_comment['edges']
count = 1
for comment in the_comment:
the_comment = comment['node']
parent_comment = the_comment['text']
list_reply = the_comment['edge_threaded_comments']['edges']
print(count,' Komentar : ', parent_comment)
count_reply = 1
if list_reply:
for reply in list_reply:
the_reply = reply['node']
parent_reply = the_reply['text']
print("\t",count_reply, 'Balasan', parent_reply)
count_reply += 1
count += 1
Pada kode diatas, anbi crawling semua komentar pada salah satu postingan instagram petanikode menggunakan modul PostLooter
.
Jika komentarnya ga nambah kemungkinan hasilnya akan seperti ini.
1 Komentar : Typo tu unary semua tiap slide min ๐
1 Balasan @anandapujawandra betul. tolong direvisi ๐ @petanikode
2 Komentar : waduh tipo min
3 Komentar : Bernyanyy
1 Balasan @alfari16 ngoding doang ga bernyanyy
2 Balasan @alfari16 ๐ค๐ป๐ค๐ป๐ค๐ป
4 Komentar : bernyanyi ๐ซ
5 Komentar : Cara termudah buat belajar ternary, example: Laper ? Makan(makanan: any) : udahKenyang()
6 Komentar : Setiap operator itu unary ya? Ato typo?
7 Komentar : Namanya juga manusia, klo sekali dua kali salah ya wajar
Dan masih banyak lagi yang dapat kita implementasikan menggunakan library ini. Bisa crawling jumlah like, kapan dia posting, siapa aja followernya dan lain - lain. Semuanya tergantung kebutuhan kalian masing - masing.
Oke gitu dulu untuk postingan pelengkap ini hehe, semoga bermanfaat dan mungkin bakal anbi buatin program crawling instagram ini nantinya. Nantikan postingan anbidev selanjutnya ya. Terima kasih :)