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: 52.561 ]

Por: Fábio Berbert de Paula em 09/01/2019 | Blog: https://fabio.automatizando.dev


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

Transforme seu smartphone em uma webcam no Debian, Ubuntu e derivados com Iriun Webcam

Python - Usando requests anônimos através da rede Tor

Semana da velharia no VOL

Enviando email em formato HTML em PHP

Docalysis: Análise de Documentos com Inteligência Artificial

Leitura recomendada

Como isolar seus projetos Python com virtualenv (ambiente virtual)

Como baixar vídeos do Facebook via terminal

Embutindo imagens nos scripts Python para aplicações Tkinter

Qu1cksc0pe - All-in-One Static Malware Analysis Tool

Python - Threads

  
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