Mendapatkan Informasi Post Instagram pada IG Profile Menggunakan Instalooter dan Python Programming

Naufal Dzaky Anwari
Miloo Community
Published in
3 min readNov 11, 2020

Mendapatkan comment, like, dan username pengguna yang berkomentar dengan mudah

Tidak bisa dipungkiri bahwa Instagram sangat populer dewasa ini. Kita dapat menyimpan momen berupa foto dan video sekaligus membagikannya kepada orang lain di Instagram. Orang lain pun dapat menyukai dan berkomentar pada post yang telah kita bagikan pada akun Instagram kita.

Selain itu, sebuah post dapat digunakan untuk keperluan bisnis seperti endorsement, marketing produk. Dengan menganalisa post-post yang diunggah serta jumlah like beserta komentar yang diberikan pada sebuah post, maka kita dapat mengerti hal apa yang sedang digemari oleh pengguna Instagram yang nantinya dapat digunakan untuk market research, bahkan dapat mencari tahu influencer yang cocok diajak bekerjasama untuk mempromosikan produk kita.

Terdapat beberapa cara untuk mendapatkan informasi post pada sebuah akun Instagram. Salah satunya adalah menggunakan library Instalooter . Library ini dapat mengambil post foto dan video serta mengambil informasi seperti jumlah like, komentar, dll. Bagi kalian yang baru mengetahui Instalooter dan ingin mengetahui cara mengambil foto atau video menggunakan Instalooter melalui Command Prompt atau terminal dapat membaca artikel Fahmi Salman mengenai cara crawling menggunakan Instalooter dengan satu perintah beserta cara install library Instalooter.

untuk menggunakan Instalooter pertama yang harus dilakukan adalah menginstall library nya dengan script :

pip install instalooter

Kali ini kita akan melakukan crawling informasi-informasi post pada profile akun @miloo.project .

Profile Instagram @miloo.project
contoh post instagram pada akun @miloo.project

Pertama yang perlu dilakukan adalah melakukan import library Instalooter dan menggunakan package yang digunakan untuk crawling profile user

from instalooter.looters import ProfileLooter

masukkan username yang akan di crawling ke ProfileLooter yang nantinya ditampung pada variable looter.

looter ProfileLooter('miloo.project')

Selanjutnya, ambil media secara iteratif pada variable looter seperti code berikut :

for media in looter.medias():
info = looter.get_post_info(media['shortcode'])

Jika kita mengeluarkan hasil variabel info maka akan keluar text dengan format json sebagai berikut :

{'__typename': 'GraphImage', 'id': '2429813161557400175', 'shortcode': 'CG4bjJdMppv', 'dimensions': {'height': 1080, 'width': 1080}, 'gating_info': None, 'fact_check_overall_rating': None, 'fact_check_information': None, 'sensitivity_friction_info': None, 'sharing_friction_info': {'should_have_sharing_friction': False, 'bloks_app_url': None}, 'media_overlay_info': None, 'media_preview': 'ACoq6akpGJA4GT6dKiLSHouPfIoAUeZkg4xwQf5jH65qRc455NVyZewOPqv+FPVpB1GfxH+AoSsDd+n4E9FMRmP3ht/HNOyKAFqB3IP9Bj+v+eKnpj5xx1oAi8xvT9RT1ck4II/KmfvO2PpxT03ZO78On9KVvP8AId/L8xd3zbaXdTdp3bu3SkMeaoQRygjBqXrWbHWhH0rKEr7mk422GlV6H+Z/xp4GKXApG6GtLGdyOSZUHqazTPSTGqBNdMYIxlJn/9k=', 'display_url': 'https://instagram.fjog3-1.fna.fbcdn.net/v/t51.2885-15/fr/e15/s1080x1080/122676891_3516988885050983_9182977206682506723_n.jpg?_nc_ht=instagram.fjog3-1.fna.fbcdn.net&_nc_cat=111&_nc_ohc=SVA5uLzXUQ0AX-kAnUA&_nc_tp=25&oh=4f683af42f70c6dd33bd6df760b6c990&oe=5FD50ED1', 'display_resources': ...
...}

Text tersebut merupakan jason pada sebuah post instagram. Selanjutnya, yang kita perlu lakukan adalah melakukan ekstraksi terhadap text berformat json tersebut.

# mendapatkan pemilik post instagram
info['owner']['username']
#mendapatkan jumlah like dan comment
info['edge_media_preview_like']['count']
info['edge_media_to_parent_comment']['count']

dengan code diatas, kita telah mendapatkan informasi pemilik post, jumlah like, dan jumlah komentar. Untuk mengetahui detail dari komentar, kita dapat mendapatkannya menggunakan :

for comment in info['edge_media_to_parent_comment']['edges']:     # mendapatkan text komentar dan username orang yang berkomentar 
comm_text = comment['node']['text']
comm_username = comment['node']['owner']['username']

Dari code diatas, kita akan mendapatkan text komentar dan username pengguna yang berkomentar. Lalu, semuanya dirangkai dan ditampung dalam sebuah dataframe agar dapat dilihat dengan lebih mudah. Berikut merupakan rangkaian code mengambil media :

for media in looter.medias():     info = looter.get_post_info(media['shortcode'])
owner = info['owner']['username']
like = info['edge_media_preview_like']['count']
comment = info['edge_media_to_parent_comment']['count']

# mendapatkan detail komentar (text komentar dan username)
for comments in info['edge_media_to_parent_comment']['edges']:
comm_text = comments['node']['text']
comm_username = comments['node']['owner']['username']
data.append([owner,comment,like,comm_username,comm_text])

Setelah data disimpan dalam list, kita dapat menjadikannya dalam format tabel DataFrame dengan cara :

import pandas as pd
data = pd.DataFrame(data)
data.columns = ['pemilik post','total jumlah komentar','total like', 'user komentar', 'teks komentar']

Berikut adalah hasil dari tabel DataFrame yang telah dibuat :

Hasil Tabel Dataframe

Berikut merupakan contoh sederhana mengambil informasi post seseorang menggunakan instaLooter dengan script python Masih banyak pula yang informasi yang bisa didapatkan dari scraping instaLooter seperti tanggal post, tanggal komentar, etc. Sekian , semoga bermanfaat :)

--

--