Como criar um bot para curtir e comentar perfis do Instagram

Neste artigo veremos como usar um projeto chamado InstaPy para criarmos um bot que irá curtir e comentar nos perfis de seus amigos no Instagram.

[ Hits: 51.585 ]

Por: Fábio Berbert de Paula em 09/01/2019 | Blog: https://www.instagram.com/alexabolada/


Criando o bot para Instagram



No diretório do projeto InstaPy, vamos criar um novo arquivo ao qual chamaremos de meu-bot.py:

vi meu-bot.py

Segue o código comentado, se restar alguma dúvida, poste nos comentários:

#fazer o import das bibliotecas necessárias para
#executar o que precisamos
from instapy import InstaPy
from instapy.util import smart_run

#credenciais de acesso, no caso preencha
#com seu username e password do Instagram
insta_username = 'meu-login'
insta_password = 'minha-senha'

#armazenar uma nova sessão InstaPy na variável session
#headless_browser=True significa que o bot será executado
#em background
session = InstaPy(
    username=insta_username,
    password=insta_password,
    headless_browser=True
)

#aqui estou criando um array com uma lista de comentários
#o bot irá usar esta array para enviar os comentários nas
#fotos, de forma aleatória
#o conjunto de caracteres @{} será substituído pela
#marcação da pessoa que está recebendo o comentário
#note que é possível enviar emojis, para isso basta
#digitar o code do emoji desejado. Por exemplo:
#:+1: é o famoso sinal de joinha

comentarios = [
    u'@{}é o cara! :muscle:',
    u'Top demais :Brazil:',
    u'@{} gordim patrão!!!',
    u'Curti :+1:',
    u'Falo nada, só óleo :eyes:',
]

#aqui a brincadeira começa. Usando o objeto session
#declarado anteriormente, abrimos uma smart_run do 
#InstaPy
with smart_run(session):

    #configurações gerais
    #os parâmetros abaixo são auto-explicativos
    #você pode calibrá-los de acordo com seu
    #gosto. Existem outros, disponíveis na 
    #documentação do projeto, na qual falarei sobre
    #mais tarde
    session.set_relationship_bounds(
        enabled=False,
        potency_ratio=None,
        delimit_by_numbers=True,
        max_followers=4590,
        min_followers=45,
        min_following=77)

    #aqui precisei configurar o skip_private para False
    #caso contrário o InstaPy ignora contas configuradas
    #como privadas, mesmo sendo seu amigo
    session.set_skip_users(skip_private=False)

    #aqui estamos setando a matriz de comentários
    session.set_comments(comentarios)
    #em seguida estamos dizendo ao bot que ele irá comentar
    #em 100% das fotos que visitar
    session.set_do_comment(enabled=True, percentage=100)

    #aqui estamos dizendo ao bot para dar o like em 100% dos posts
    session.set_do_like(True, percentage=100)

    #definir a lista de perfis nos quais você irá comentar e dar like
    #nas fotos e vídeos
    #o primeiro parâmetro é a lista de perfis
    #amount=10 é a quantidade de posts que o bot irá visitar
    #randomize=True diz para o bot pegar posts aleatoriamente, ao invés de
    #dos mais novos para os mais antigos
    #media='None' significa fotos e vídeos
    #se quiser apenas fotos, use media='Photo', se quiser vídeo use
    #media='Video'
    session.interact_by_users(
        ['kingjames', 'kobebryant', 'lakers', 'shaq'], 
        amount=10, 
        randomize=True, 
        media='None'
    )

Ao executar o script acima, o bot dará um total de 40 likes e comentará 40 vezes alternadamente entre os perfis de Lebron James, Kobe Bryant, Los Angeles Lakers e Shaq. Neste caso é amount=10 em cada perfil.

(venv) python meu-bot.py

Não se esqueça que para executar o bot você precisa estar com o ambiente virtual que criamos habilitado.

Se você quiser pode colocar o nome de apenas uma pessoa e aumentar a quantidade de interações a seu gosto. Agora tu pode virar um stalker profissional! kkk

Obviamente você precisa ser um seguidor da pessoa para o bot poder interagir.

Referência

Para se aprofundar nos recursos que o InstaPy oferece, e que são muito mais do que este simples bot por sinal, leia a documentação do projeto em:
Página anterior    

Páginas do artigo
   1. Introdução
   2. Criando o bot para Instagram
Outros artigos deste autor

Verificando integridade de servidores POP com PHP/sockets

Convertendo Texto em Fala com Python e pyttsx3

Como implementar uma assistente virtual no Linux

Desbloquear a tela do Android pelo PC (PIN)

Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)

Leitura recomendada

Esteganografia e Esteganálise: transmissão e detecção de informações ocultas em imagens digitais

Construindo um portscanner TCP com Python

Python - Enviando Backup para Servidor Secundário

Como isolar seus projetos Python com virtualenv (ambiente virtual)

Scikit Learn: Projetando o futuro de suas APIs e aplicativos usando machine learning

  
Comentários
[1] Comentário enviado por leoberbert em 09/01/2019 - 16:48h

Muito bom Fábio.

[2] Comentário enviado por diegomrodrigues em 12/02/2019 - 15:15h

Muito interessante esse artigo.

Como faço para deixar o script do InstaPy sendo executado em background, para que ele dê likes à cada 30 minutos?

Abraço,
Diego M. Rodrigues

[3] Comentário enviado por fabio em 15/02/2019 - 12:49h


[2] Comentário enviado por diegomrodrigues em 12/02/2019 - 15:15h

Muito interessante esse artigo.

Como faço para deixar o script do InstaPy sendo executado em background, para que ele dê likes à cada 30 minutos?

Abraço,
Diego M. Rodrigues


Ih rapaz, nunca implementei isso. Dê uma conferida na documentação do projeto no GitHub, ela é bem rica de exemplos.

Um abraço.

[4] Comentário enviado por renanchardson em 17/04/2019 - 15:51h

Estou recebendo este erro quando rodo a aplicação


Traceback (most recent call last):
File "bot.py", line 3, in <module>
from instapy import instapy
File "/home/renan/InstaPy/instapy/__init__.py", line 3, in <module>
from .instapy import InstaPy
File "/home/renan/InstaPy/instapy/instapy.py", line 12, in <module>
import requests
ModuleNotFoundError: No module named 'requests'



[5] Comentário enviado por fabio em 17/04/2019 - 20:23h


[4] Comentário enviado por renanchardson em 17/04/2019 - 15:51h

Estou recebendo este erro quando rodo a aplicação

import requests
ModuleNotFoundError: No module named 'requests'



Significa que você precisa instalar o módulo requests:

$ pip install requests


[6] Comentário enviado por compactZip em 06/05/2019 - 12:20h

Gostaria de saber se é possível que esse boot marque pessoas em comentários. Com restrições, tipo: o usuário tem que me seguir e eu seguir o usuário

[7] Comentário enviado por mauricioluc em 04/09/2019 - 18:25h

ola

quando digito:
(venv) $python meu-bot.py

da a seguinte mensagem:
python : can't open file 'meu-bot.py': [errno 2] No Such file or directory

[8] Comentário enviado por Zangetsu_Goes em 21/05/2020 - 18:55h

Tem como restringir para ele comentar em um só foto em específico? eu li no github dele mas não entendi muito bem.

[9] Comentário enviado por marcelohcm em 21/05/2020 - 22:26h

como faço pra que comente somente em uma publicação específica?

[10] Comentário enviado por fabio em 06/07/2020 - 08:17h

@Zangetsu_Goes e @marcelohcm

Façam a interação por URL. Substituam a linha interact_by_users por essa:

session.interact_by_URL(urls=["some/URL/1", "some/URL/2" "other/URL"], randomize=True, interact=True)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts