Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/isaacalves7/instagram-bot
🤖🦾📸 Uma maneira automatizada de excluir o número de seguindos do Instagram.
https://github.com/isaacalves7/instagram-bot
bots front-end frontend instagram instagram-bot meta-api rpa rpa-robotic-process-automation
Last synced: 2 days ago
JSON representation
🤖🦾📸 Uma maneira automatizada de excluir o número de seguindos do Instagram.
- Host: GitHub
- URL: https://github.com/isaacalves7/instagram-bot
- Owner: IsaacAlves7
- Created: 2024-12-31T22:27:19.000Z (8 days ago)
- Default Branch: main
- Last Pushed: 2024-12-31T23:03:58.000Z (8 days ago)
- Last Synced: 2024-12-31T23:28:10.769Z (8 days ago)
- Topics: bots, front-end, frontend, instagram, instagram-bot, meta-api, rpa, rpa-robotic-process-automation
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# instagram-bot
🤖🦾📸 Esse é um simples projeto realizado totalmente no front-end, no lado do cliente, é uma maneira automatizada de excluir o número de seguindos (following) do Instagram utilizando Vanilla JavaScript e Python.## Bot
Vamos fazer uma consulta na classe responsável pela seção de seguindo (following) do perfil do Instagram:```javascript
// Classe responsável pela seção de seguindo do perfil do Instagram
let seguindo = parseInt(document.getElementsByClassName('x5n08af x1s688f')[0]?.innerHTML || 0) // [2].innerHTML
// seguindo[2] = divs HTML dessas classes
```Após, todos esses estudos, criei o código da nossa aplicação final:
```javascript
let listaSeguidos = [];function capturarSeguidos() {
let elementos = document.getElementsByClassName('_ap3a _aaco _aacw _aacx _aad7 _aade');
for (let element of elementos) {
let nome = element.innerText.trim();
if (!listaSeguidos.includes(nome)) {
listaSeguidos.push(nome);
}
}
}// Detecta alterações no DOM
let observer = new MutationObserver(capturarSeguidos);observer.observe(document.body, {
childList: true,
subtree: true,
});// Role a página automaticamente para carregar mais elementos
const rolarPagina = setInterval(() => {
document.querySelector('._a6hd')?.scrollIntoView();
if (listaSeguidos.length >= seguindo - 1) {
clearInterval(rolarPagina);
observer.disconnect();
console.log('Lista de seguidos:', listaSeguidos);
}
}, 3000);
```## RPA - Robot Process Automation
O RPA cuidará de toda a tarefa braçal de excluir as pessoas que você está seguindo, ele simulará o clique no mouse baseado em coordenadas.```python
import pyautogui
import time
import webbrowser# Lista de usernames a serem deixados de seguir
usuarios_a_remover = ["usuario1", "usuario2", "usuario3"]# Configurações de tempo (ajuste conforme necessário)
TEMPO_ENTRE_ACOES = 2 # Tempo entre ações para evitar erros# URL da página de "seguindo"
username = "SEU_USERNAME" # Substitua pelo seu username
url_following = f"https://www.instagram.com/{username}/following/"# Abrir navegador na página de "seguindo"
webbrowser.open(url_following)
time.sleep(5) # Tempo para o navegador carregar a página# Acessar a barra de busca e iterar pelos usuários
for usuario in usuarios_a_remover:
try:
# Clique na barra de busca na lista de "seguindo" (ajuste as coordenadas para sua tela)
pyautogui.click(x=500, y=250) # Coordenadas do campo de busca
time.sleep(TEMPO_ENTRE_ACOES)# Digitar o nome do usuário
pyautogui.write(usuario, interval=0.1)
time.sleep(TEMPO_ENTRE_ACOES)# Localizar e clicar no botĂŁo "Seguindo" ao lado do nome (ajuste as coordenadas)
pyautogui.click(x=600, y=300) # Coordenadas do botĂŁo "Seguindo"
time.sleep(TEMPO_ENTRE_ACOES)# Confirmar "Deixar de seguir"
pyautogui.click(x=650, y=400) # Coordenadas do botão de confirmação
time.sleep(TEMPO_ENTRE_ACOES)print(f"Deixou de seguir {usuario}.")
except Exception as e:
print(f"Erro ao tentar deixar de seguir {usuario}: {e}")print("Processo concluĂdo.")
```