Clicador automático de Tinder com Python
Neste artigo aprenderemos a automatizar cliques no Tinder e transformá-lo numa "metralhadora de matches"! O exemplo escolhido para o texto é clickbait, a ideia aqui é mostrar como automatizar cliques usando Python.
Introdução
Para o artigo você precisará de duas coisas:
Se ainda não sabe como criar um ambiente virtual, dê um confere no artigo: Como isolar seus projetos Python com virtualenv (ambiente virtual) [Artigo]
Ok, na verdade você não precisa usar um ambiente virtual Python, pode usar a instalação do sistema mesmo, mas como iremos instalar uma biblioteca adicional, o virtualenv se torna uma boa prática.
Como pre-requisito precisaremos instalar a biblioteca pyautogui, que por sua vez depende da Xlib:
pip3 install Xlib pyautogui
Testar se o módulo pyautogui foi instalado corretamente:
python3 -m pyautogui
Press Ctrl-C to quit.
X: 1526 Y: 645 RGB: ( 0, 0, 0)
Agora abra duas janelas, uma com seu browser preferido com o Tinder aberto e outra com um terminal para executar seu código Python. Posicione as janelas lado a lado. Obs.: me perdoem pela resolução da imagem, meu monitor está com resolução 2560x1080, redimensionei a imagem, a tela deverá estar um pouco ilegível. Mas o importante é apenas mostrar a disposição das janelas aqui.
No terminal aberto, abra o interpretador Python:
python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Em seguida importe a pyautogui:
Agora posicione o cursor do mouse sobre o coraçãozinho do Tinder, mas não clique para não perder o foco da janela do terminal.
Com o cursor posicionado no Tinder, digite o seguinte código no terminal:
Tecle ENTER. A saída será a posição do cursor do mouse, algo como:
(940, 820)
Agora vamos testar o clique com as coordenadas acima:
Funcionou? Ótimo! Agora vamos automatizar a tarefa.
Ainda no console Python:
No código acima estou importando a biblioteca "time" para usar a função sleep e estou colocando o clique no coraçãozinho em looping infinito. A linha time.sleep(2) faz com que o Python aguarde 2 segundos até a próxima iteração, ajuste conforme sua preferência.
Para cancelar a execução do script será necessário clicar na janela do console Python e teclar Ctrl+C para interromper o loop.
Então é isso, espero que você desencalhe depois dessa!
Referência:
- Uma conta no Tinder
- Um ambiente virtual Python 3
Se ainda não sabe como criar um ambiente virtual, dê um confere no artigo: Como isolar seus projetos Python com virtualenv (ambiente virtual) [Artigo]
Ok, na verdade você não precisa usar um ambiente virtual Python, pode usar a instalação do sistema mesmo, mas como iremos instalar uma biblioteca adicional, o virtualenv se torna uma boa prática.
Como pre-requisito precisaremos instalar a biblioteca pyautogui, que por sua vez depende da Xlib:
pip3 install Xlib pyautogui
Testar se o módulo pyautogui foi instalado corretamente:
python3 -m pyautogui
Press Ctrl-C to quit.
X: 1526 Y: 645 RGB: ( 0, 0, 0)
Agora abra duas janelas, uma com seu browser preferido com o Tinder aberto e outra com um terminal para executar seu código Python. Posicione as janelas lado a lado. Obs.: me perdoem pela resolução da imagem, meu monitor está com resolução 2560x1080, redimensionei a imagem, a tela deverá estar um pouco ilegível. Mas o importante é apenas mostrar a disposição das janelas aqui.
No terminal aberto, abra o interpretador Python:
python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Em seguida importe a pyautogui:
import pyautogui
Agora posicione o cursor do mouse sobre o coraçãozinho do Tinder, mas não clique para não perder o foco da janela do terminal.
Com o cursor posicionado no Tinder, digite o seguinte código no terminal:
pyautogui.position()
Tecle ENTER. A saída será a posição do cursor do mouse, algo como:
(940, 820)
Agora vamos testar o clique com as coordenadas acima:
pyautogui.click(940,820)
Funcionou? Ótimo! Agora vamos automatizar a tarefa.
Ainda no console Python:
import time
while True:
pyautogui.click(940,820)
time.sleep(2)
No código acima estou importando a biblioteca "time" para usar a função sleep e estou colocando o clique no coraçãozinho em looping infinito. A linha time.sleep(2) faz com que o Python aguarde 2 segundos até a próxima iteração, ajuste conforme sua preferência.
Para cancelar a execução do script será necessário clicar na janela do console Python e teclar Ctrl+C para interromper o loop.
Então é isso, espero que você desencalhe depois dessa!
Referência:
https://goo.gl/zQPtbh
--
"There are lots of Linux users who don't care how the kernel works, but only want to use it. That is a tribute to how good Linux is." - Linus Torvalds