PYTHON

Cara Mudah Scraping Instagram Dengan Python

Dalam tutorial ini, kami akan membahas cara membuat alat pengikis data Instagram Anda sendiri dan mendapatkan informasi tentang akun yang ada. Pengikisan Instagram menyiratkan pengumpulan informasi yang tersedia untuk umum di web. Anda dapat mengikis data seperti seperti alamat email, nomor telepon, gambar, dll (berdasarkan apa yang tersedia).

Implementasi Kode untuk Scraper Instagram

Untuk memo Instagram, kami akan menggunakan pustaka Python yang dikenal instaloader dengan API untuk menggores data dari Instagram. Anda dapat menginstal yang sama dengan menggunakan pip perintah di command prompt Anda. Sekarang Jika Anda memiliki paket di sistem Anda, mari mulai membangun scraper web!

Mengimpor Modul

Modul Instaloader hadir dengan banyak fungsi untuk memo Instagram, ini dapat membantu mengunduh gambar beserta keterangannya. Untuk mengetahui lebih lanjut tentang perpustakaan, lihat Dokumentasi Instaloader di sini.

import instaloader

Bersamaan dengan ini, kami juga akan membuat bot (instance) yang akan membantu mengikis data untuk kami.

bot = instaloader.Instaloader()

Sekarang, mari kita ambil input dari pengguna untuk mendapatkan nama pengguna akun yang mereka inginkan untuk mengikis data untuk menggunakan kode di bawah ini.

Username = input('Enter the Account Username: ')

Untuk tutorial kali ini, mari kita gores data akun yang usernamenya adalah dancejoy akun Instagram video dance.

Mengekstrak Gambar Profil

Kami akan memulai dengan mengunduh gambar profil akun menggunakan kode di bawah ini.

bot.download_profile(Username, profile_pic_only = True)

Folder baru akan dibuat dengan nama pengguna akun yang akan berisi gambar profil akun. Dalam kasus kami, gambar profil di bawah ini.

Ekstrak Informasi Lebih Lanjut

Sekarang mari kita coba mengekstrak beberapa informasi yang lebih berharga untuk akun menggunakan kode di bawah ini.

profile = instaloader.Profile.from_username(bot.context, Username)
 
print("Username: ", profile.username)
print("User ID: ", profile.userid)
print("Number of Posts: ", profile.mediacount)
print("Followers: ", profile.followers)
print("Followees: ", profile.followees)
print("Bio: ", profile.biography,profile.external_url)

Mari kita lihat outputnya. Ini akan terlihat seperti ini:

Username:  dancejoy
User ID:  3056368980
Number of Posts:  1849
Followers:  1406049
Followees:  161
Bio:  A community of Dancers None

Mengunduh Postingan dari Profil

Untuk mengunduh setiap posting dari nama pengguna, kita perlu mengulang posting menggunakan kode di bawah ini.

profile = instaloader.Profile.from_username(bot.context, Username)
posts = profile.get_posts()
try:
  for index, post in enumerate(posts, 1):
    bot.download_post(post, target=f"{profile.username}_{index}")
except:
  exit()

Outputnya terlihat seperti yang ditunjukkan di bawah ini.

dancejoy_1/2022-03-17_16-58-28_UTC.jpg [Incredibly mesmerizing 🤯  Cre…] dancejoy_1/2022-03-17_16-58-28_UTC.mp4 json 
dancejoy_2/2022-03-14_21-51-02_UTC.jpg [These two 🔥 🔥  Dancers: @tom1…] dancejoy_2/2022-03-14_21-51-02_UTC.mp4 json 
dancejoy_3/2022-03-12_20-20-03_UTC.jpg [The flexibility on this kid 🤯…] dancejoy_3/2022-03-12_20-20-03_UTC.mp4 json 
dancejoy_4/2022-03-11_00-11-05_UTC.jpg [Catwoman energy 🖤  Dancer: @l…] dancejoy_4/2022-03-11_00-11-05_UTC.mp4 json 
dancejoy_5/2022-03-08_19-01-36_UTC.jpg [Just WOW ❤️‍🔥  Dancer: @camia…] dancejoy_5/2022-03-08_19-01-36_UTC.mp4 json 
dancejoy_6/2022-03-04_21-12-59_UTC.jpg [@ryanmhatch and @ryanwlambert…] dancejoy_6/2022-03-04_21-12-59_UTC.mp4 json 
dancejoy_7/2022-03-02_17-39-34_UTC.jpg [And the Academy Award goes to…] dancejoy_7/2022-03-02_17-39-34_UTC.mp4 json 
dancejoy_8/2022-02-28_19-53-51_UTC.jpg [Monday mood 🔥  💃🏻: @georgiefa…] dancejoy_8/2022-02-28_19-53-51_UTC.mp4 json 
dancejoy_9/2022-02-27_00-56-25_UTC.jpg [@stefannym and @yeeremy_lugo …] dancejoy_9/2022-02-27_00-56-25_UTC.mp4 json 
dancejoy_10/2022-02-24_19-32-46_UTC.jpg [Us knowing it’s Friday tomorr…] dancejoy_10/2022-02-24_19-32-46_UTC.mp4 json 
dancejoy_11/2022-02-10_16-29-34_UTC.jpg [Traditional dance from #Madag…] dancejoy_11/2022-02-10_16-29-34_UTC.mp4 json 
dancejoy_12/2022-02-09_16-34-19_UTC.jpg [The guy in the back😂😆  Via @e…] dancejoy_12/2022-02-09_16-34-19_UTC.mp4 json 

Sekarang, ini tidak terlihat seperti postingan kan?. Jika Anda memeriksa kodenya secara langsung, Anda akan menemukan bahwa kiriman disimpan dalam bentuk folder terpisah yang akan berisi konten sebenarnya dari kiriman baik itu video atau gambar.

Kesimpulan

Anda dapat bermain-main dengan perpustakaan Instaloader dan bahkan menjelajahi lebih banyak fitur. Anda bahkan dapat menggunakan Python Tkinter.

Referensi atau sumber : hackernoon