O Instagram é um dos sites de mídia social mais populares, com bilhões de usuários. Todos, de estudantes a celebridades, têm contas no Instagram. Os dados públicos do Instagram podem ser de imenso valor para empresas, profissionais de marketing e indivíduos. Qualquer pessoa pode usar esses dados para realizar análises de dados, direcionar o marketing e gerar insights.

Você pode usar o Python para criar uma ferramenta automatizada que extrai dados do Instagram.

Instalando as Bibliotecas Necessárias

instalador é uma biblioteca Python que você pode usar para extrair dados publicamente disponíveis do Instagram. Você pode acessar dados como imagens, vídeos, nome de usuário, não. de postagens, contagem de seguidores, contagem de seguidores, biografia, etc. usando o Instaloader. Observe que o Instaloader não é afiliado, autorizado, mantido ou endossado pelo Instagram de forma alguma.

Para instalar o instaloader via pip, execute o seguinte comando:

pip instalar instalador

Você deve ter pip instalado em seu sistema para instalar bibliotecas Python externas.

instagram viewer

Em seguida, você precisa instalar a biblioteca Pandas Python. Pandas é uma biblioteca Python usada principalmente para realizar manipulação e análise de dados. Execute o seguinte comando para instalá-lo:

pip instalar pandas

Agora, você está pronto para começar a configurar o código e buscar os dados no Instagram.

Configurando seu código

Para configurar a ferramenta de busca de dados do Instagram, você precisa importar a biblioteca Instaloader Python e criar uma instância da classe Instaloader. Depois disso, você precisa fornecer o identificador do Instagram do perfil do qual deseja extrair os dados.

O código Python do Instagram Extractor está disponível em um Repositório GitHub e é gratuito para você usar sob a licença MIT.

importar instalador

# Criando uma instância da classe Instaloader
bot = instalador. Instalador()

# Carregando o perfil de um identificador do Instagram
perfil = instaloader. Profile.from_username (bot.context, 'cristiano')
imprimir(perfil)

Este é um bom primeiro passo para verificar o trabalho básico. Você deve ver alguns dados significativos sem erros:

Extraindo dados do perfil

Você pode extrair dados valiosos disponíveis publicamente, como nome de usuário, não. de postagens, contagem de seguidores, contagem de seguidores, biografia, ID do usuário e URL externo usando o Instaloader com apenas algumas linhas de código. Você só precisa fornecer o identificador do Instagram do perfil.

importar instalador
importar pandas como pd

# Criando uma instância da classe Instaloader
bot = instalador. Instalador()

# Carregando um perfil de um identificador do Instagram
perfil = instaloader. Profile.from_username (bot.context, 'Leomessi')
imprimir("Nome de usuário: ", perfil.nome de usuário)
imprimir("ID do usuário: ", perfil.userid)
imprimir("Número de posts: ", perfil.mediacount)
imprimir("Contagem de seguidores: ", perfil.seguidores)
imprimir("Contagem a seguir: ", perfil.seguidores)
imprimir("Biografia: ", perfil.biografia)
imprimir("URL externo: ", perfil.external_url)

Você deve ver muitas informações de perfil do identificador especificado:

Extraindo e-mails da biografia

Você pode extrair endereços de e-mail da biografia do Insta de qualquer perfil usando expressões regulares. Você precisa importar o Python biblioteca e passar a expressão regular para validar o e-mail como parâmetro para o re.encontrar() método:

importar instalador
importar
# Criando uma instância da classe Instaloader
bot = instalador. Instalador()
perfil = instaloader. Profile.from_username (bot.context, "fortuna")
imprimir("Nome de usuário: ", perfil.nome de usuário)
imprimir("Biografia: ", perfil.biografia)
emails = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", perfil.biografia)
print("E-mails extraídos de a biografia:")
imprimir(e-mails)

O script imprimirá qualquer coisa que reconheça como um endereço de e-mail na biografia:

Extraindo dados dos principais resultados de pesquisa

Ao pesquisar qualquer coisa no Instagram, você obtém vários resultados, incluindo nomes de usuário e hashtags. Você pode extrair os principais resultados da pesquisa usando o get_profiles() e get_hashtags() métodos. Você só precisa fornecer a consulta de pesquisa no instalador. TopSearchResults() método. Além disso, você pode iterar e imprimir/armazenar os resultados individuais.

importar instalador

# Criando uma instância da classe Instaloader
bot = instalador. Instalador()

# Forneça a consulta de pesquisa aqui
search_results = instaloader. TopSearchResults (bot.context, 'música')

# Iterando sobre os nomes de usuários extraídos
paranome de usuárioemProcurar Resultados.get_profiles():
imprimir(nome de usuário)

# Iterando sobre as hashtags extraídas
parahashtagemProcurar Resultados.get_hashtags():
imprimir(hashtag)

A saída incluirá todos os nomes de usuário e hashtags correspondentes:

Extraindo seguidores e seguidores de uma conta

Você pode extrair os seguidores de uma conta, e aqueles que ela segue, usando o Instaloader. Você precisará fornecer um nome de usuário e senha do Instagram para recuperar esses dados.

Nunca use suas contas pessoais para extrair dados do Instagram, pois isso pode fazer com que sua conta seja temporariamente ou permanentemente banida.

Depois de criar uma instância da classe Instaloader, você precisa fornecer seu nome de usuário e senha. Isso é para que o bot possa fazer login no Instagram usando sua conta e buscar os dados de seguidores e seguidores.

Em seguida, você precisa fornecer o identificador do Instagram do perfil de destino. O get_followers() e get_followees() métodos extraem os seguidores e seguidores. Você pode obter os nomes de usuário dos seguidores e seguidores usando o seguidor.nome de usuário e seguidor.nome de usuário propriedades respectivamente.

Se você deseja armazenar os resultados em um arquivo CSV, primeiro precisa converter os dados em um objeto Pandas DataFrame. Use o pd. Quadro de dados() método para converter um objeto de lista em um DataFrame.

Finalmente, você pode exportar o objeto DataFrame para um arquivo CSV usando o to_csv() método. Você precisa passar o nome do arquivo.csv como parâmetro para este método para obter os dados exportados no formato de arquivo CSV.

Somente os proprietários da conta podem ver todos os seguidores e seguidores. Você não poderá extrair todos os dados de seguidores e seguidores usando este ou qualquer outro método.

# Importando Bibliotecas
importar instalador
importar pandas como pd

# Criando uma instância da classe Instaloader
bot = instalador. Instalador()
bot.login (usuário="Seu nome de usuário", senha="Sua senha")

# Carregando um perfil de um identificador do Instagram
perfil = instaloader. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Recuperando os nomes de usuários de todos os seguidores
seguidores = [follower.username para seguidor em profile.get_followers()]

# Convertendo os dados para um DataFrame
seguidores_df = pd. DataFrame (seguidores)

# Armazenando os resultados em um arquivo CSV
seguidores_df.to_csv('seguidores.csv', índice=Falso)

# Recuperando os nomes de usuários de todos os seguidores
seguidores = [followee.username para seguidor em profile.get_followees()]

# Convertendo os dados para um DataFrame
seguidores_df = pd. DataFrame (seguintes)

# Armazenando os resultados em um arquivo CSV
followings_df.to_csv('seguidores.csv', índice=Falso)

Baixar postagens de uma conta do Instagram

Novamente, para baixar postagens de qualquer conta, você precisará fornecer um nome de usuário e senha. Isso é para que o bot possa fazer login no Instagram usando sua conta. Você pode recuperar todos os dados das postagens usando o get_posts() método. E você pode iterar e baixar todas as postagens individuais usando o download_post() método.

# Importando Bibliotecas
importar instalador
importar pandas como pd

# Crie uma instância da classe Instaloader
bot = instalador. Instalador()
bot.login (usuário="Seu nome de usuário",senha="Sua senha")

# Carregando um perfil de um identificador do Instagram
perfil = instaloader. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Recuperando todas as postagens em um objeto
postagens = perfil.get_posts()

# Iterando e baixando todas as postagens individuais
para index, post em enumerate (posts, 1):
bot.download_post (postagem, alvo=f"{profile.username}_{index}")

Raspe a Web usando Python

A raspagem de dados ou raspagem da web é uma das formas mais comuns de extrair informações úteis da web. Você pode usar os dados extraídos para marketing, criação de conteúdo ou tomada de decisões.

Python é a linguagem preferida para extração de dados. Bibliotecas como BeautifulSoup, Scrapy e Pandas simplificam a extração, análise e visualização de dados.