Instagram to jeden z najpopularniejszych serwisów społecznościowych z miliardami użytkowników. Wszyscy, od studentów po celebrytów, mają konta na Instagramie. Publiczne dane z Instagrama mogą mieć ogromną wartość dla firm, marketerów i osób prywatnych. Każdy może używać tych danych do przeprowadzania analizy danych, marketingu docelowego i generowania spostrzeżeń.
Możesz użyć Pythona do zbudowania zautomatyzowanego narzędzia, które wyodrębnia dane z Instagrama.
Instalowanie wymaganych bibliotek
Instaloader to biblioteka Pythona, której można użyć do wyodrębnienia publicznie dostępnych danych z Instagrama. Możesz uzyskać dostęp do danych, takich jak obrazy, filmy, nazwa użytkownika, nr. liczba postów, liczba obserwujących, liczba obserwujących, biografie itp. za pomocą Instaloadera. Pamiętaj, że Instaloader nie jest w żaden sposób powiązany, autoryzowany, utrzymywany ani wspierany przez Instagram.
Aby zainstalować instaloader przez pip, uruchom następującą komendę:
pypeć zainstalować instalator
Ty musisz mieć pip zainstalowany w twoim systemie zainstalować zewnętrzne biblioteki Pythona.
Następnie musisz zainstalować bibliotekę Pandas Python. Pandas to biblioteka Pythona, która jest używana głównie do manipulowania danymi i analizy danych. Uruchom następujące polecenie, aby je zainstalować:
pypeć zainstalować pandy
Teraz możesz przystąpić do konfigurowania kodu i pobierania danych z Instagrama.
Konfigurowanie kodu
Aby skonfigurować narzędzie do pobierania danych z Instagrama, musisz zaimportować bibliotekę Instaloader Python i utworzyć instancję klasy Instaloader. Następnie musisz podać uchwyt Instagram profilu, z którego chcesz wyodrębnić dane.
Kod Pythona narzędzia Instagram Extractor jest dostępny w formacie Repozytorium GitHub i jest darmowy do użytku na licencji MIT.
import instalator
# Tworzenie instancji klasy Instaloader
bot = instalator. Instaloader()
# Ładowanie profilu z uchwytu na Instagramie
profil = instalator. Profile.from_username (bot.context, 'Krystian')
wydrukować(profil)
Jest to dobry pierwszy krok do sprawdzenia działania podstaw. Powinieneś zobaczyć kilka znaczących danych bez błędów:
Wyodrębnianie danych z profilu
Możesz wyodrębnić cenne publicznie dostępne dane, takie jak nazwa użytkownika, nr. postów, liczby obserwujących, liczby obserwujących, biografii, identyfikatora użytkownika i zewnętrznego adresu URL za pomocą Instaloader z zaledwie kilkoma wierszami kodu. Musisz tylko podać uchwyt profilu na Instagramie.
import instalator
import pandy Jak pd# Tworzenie instancji klasy Instaloader
bot = instalator. Instaloader()
# Ładowanie profilu z uchwytu na Instagramie
profil = instalator. Profile.from_username (bot.context, 'Leo Messi')
wydrukować("Nazwa użytkownika: ", profil.nazwa użytkownika)
wydrukować("Identyfikator użytkownika: ", profil.identyfikator użytkownika)
wydrukować("Liczba postów: ", profil.liczba mediów)
wydrukować("Liczba obserwujących: ", profil.obserwatorzy)
wydrukować("Następująca liczba: ", profil.followees)
wydrukować("Biografia: ", profil.biografia)
wydrukować("Zewnętrzny adres URL: ", profil.url_zewnętrzny)
Powinieneś zobaczyć wiele informacji o profilu z określonego uchwytu:
Wyodrębnianie wiadomości e-mail z biografii
Możesz wyodrębnić adresy e-mail z biografii Insta dowolnego profilu wyrażenia regularne. Musisz zaimportować Pythona Odnośnie i przekaż wyrażenie regularne do sprawdzania poprawności wiadomości e-mail jako parametr do re.findall() metoda:
import instalator
import Odnośnie
# Tworzenie instancji klasy Instaloader
bot = instalator. Instaloader()
profil = instalator. Profile.from_username (bot.context, "bogactwo")
wydrukować("Nazwa użytkownika: ", profil.nazwa użytkownika)
wydrukować("Biografia: ", profil.biografia)
e-maile = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", profil.biografia)
print("E-maile zostały wyodrębnione z życiorys:")
wydrukować(e-maile)
Skrypt wydrukuje wszystko, co rozpoznaje jako adres e-mail w biografii:
Wyodrębnianie danych z najlepszych wyników wyszukiwania
Gdy szukasz czegokolwiek na Instagramie, otrzymujesz kilka wyników, w tym nazwy użytkowników i hashtagi. Możesz wyodrębnić najlepsze wyniki wyszukiwania za pomocą get_profiles() I get_hashtags() metody. Wystarczy podać zapytanie wyszukiwania w instalator. TopSearchResults() metoda. Ponadto możesz iterować i drukować/przechowywać poszczególne wyniki.
import instalator
# Tworzenie instancji klasy Instaloader
bot = instalator. Instaloader()# Podaj zapytanie wyszukiwania tutaj
search_results = instalator. TopSearchResults (bot.context, 'muzyka')# Iteracja po wyodrębnionych nazwach użytkowników
Donazwa użytkownikaWwyniki_wyszukiwania.get_profile():
wydrukować(nazwa użytkownika)
# Iteracja po wyodrębnionych hashtagach
DohashtagWwyniki_wyszukiwania.get_hashtags():
wydrukować(hashtag)
Dane wyjściowe będą zawierać wszystkie pasujące nazwy użytkowników i hashtagi:
Wyodrębnianie obserwujących i obserwujących konto
Możesz wyodrębnić obserwujących konto i tych, których ono obserwuje, używając Instaloader. Aby odzyskać te dane, musisz podać nazwę użytkownika i hasło na Instagramie.
Nigdy nie używaj swoich kont osobistych do pobierania danych z Instagrama, ponieważ może to spowodować tymczasowe lub trwałe zablokowanie konta.
Po utworzeniu instancji klasy Instaloader należy podać nazwę użytkownika i hasło. Dzieje się tak, aby bot mógł zalogować się na Instagramie przy użyciu Twojego konta i pobrać dane obserwujących i obserwujących.
Następnie musisz podać uchwyt Instagram profilu docelowego. The get_followers() I get_followees() metody wyodrębniają obserwujących i obserwujących. Możesz uzyskać nazwy użytkowników obserwujących i obserwujących za pomocą obserwujący.nazwa użytkownika I followee.nazwa użytkownika właściwości odpowiednio.
Jeśli chcesz zapisać wyniki w pliku CSV, musisz najpierw przekonwertować dane na obiekt Pandas DataFrame. Użyj pd. Ramka danych() metoda konwersji obiektu listy na DataFrame.
Na koniec możesz wyeksportować obiekt DataFrame do pliku CSV za pomocą to_csv() metoda. Musisz przejść tzw nazwa_pliku.csv jako parametr tej metody, aby uzyskać wyeksportowane dane w formacie pliku CSV.
Tylko właściciele kont mogą zobaczyć wszystkich obserwujących i obserwujących. Nie będziesz w stanie wyodrębnić wszystkich danych obserwujących i obserwujących za pomocą tej lub jakiejkolwiek innej metody.
# Importowanie bibliotek
import instalator
import pandy Jak pd# Tworzenie instancji klasy Instaloader
bot = instalator. Instaloader()
bot.login (użytkownik="Twoja nazwa użytkownika", hasło="Twoje hasło")# Ładowanie profilu z uchwytu na Instagramie
profil = instalator. Profile.from_username (bot.context, 'Your_target_account_insta_handle')# Pobieranie nazw użytkowników wszystkich obserwujących
obserwujący = [nazwa użytkownika obserwującego dla obserwującego w profilu.get_followers()]# Konwertowanie danych na DataFrame
obserwujący_df = pd. DataFrame (obserwatorzy)# Przechowywanie wyników w pliku CSV
obserwujący_df.to_csv('obserwujący.csv', indeks=fałsz)# Pobieranie nazw użytkowników wszystkich następujących osób
follows = [followee.nazwa użytkownika dla followee w profile.get_followees()]# Konwertowanie danych na DataFrame
następujące_df = pd. DataFrame (następujące)
# Przechowywanie wyników w pliku CSV
follows_df.to_csv('następni.csv', indeks=fałsz)
Pobierz posty z konta na Instagramie
Ponownie, aby pobrać posty z dowolnego konta, musisz podać nazwę użytkownika i hasło. Ma to na celu umożliwienie botowi zalogowania się na Instagramie przy użyciu Twojego konta. Możesz pobrać dane wszystkich postów za pomocą get_posts() metoda. Możesz iterować i pobierać wszystkie poszczególne posty za pomocą download_post() metoda.
# Importowanie bibliotek
import instalator
import pandy Jak pd# Utwórz instancję klasy Instaloader
bot = instalator. Instaloader()
bot.login (użytkownik="Twoja nazwa użytkownika",hasło="Twoje hasło")# Ładowanie profilu z uchwytu na Instagramie
profil = instalator. Profile.from_username (bot.context, 'Your_target_account_insta_handle')# Pobieranie wszystkich postów w obiekcie
posty = profil.get_posts()
# Iteracja i pobieranie wszystkich pojedynczych postów
dla indeksu, post w wyliczeniu (posty, 1):
bot.download_post (post, cel=f"{profile.username}_{indeks}")
Przeszukuj sieć za pomocą Pythona
Skrobanie danych lub skrobanie sieci to jeden z najczęstszych sposobów wydobywania przydatnych informacji z sieci. Dane, które wyodrębniasz, możesz wykorzystać do celów marketingowych, tworzenia treści lub podejmowania decyzji.
Python jest preferowanym językiem do zbierania danych. Biblioteki takie jak BeautifulSoup, Scrapy i Pandas upraszczają ekstrakcję, analizę i wizualizację danych.