Como criar um clicador de sites com NodeJS
Aprenda a criar um clicador de sites usando Node.js e Puppeteer. Neste tutorial, abordaremos a instalação do Node.js, configuração do projeto, interação com elementos da página e automação de ações, como curtir artigos em um site específico.
Introdução
O que é NodeJS
Node.js é uma plataforma de execução do JavaScript no lado do servidor, construída sobre o mecanismo V8 do Google Chrome. Ele permite que os desenvolvedores criem aplicações web escaláveis e de alta performance, utilizando JavaScript tanto no front-end quanto no back-end. Neste artigo, vamos explorar como criar um clicador de sites usando Node.js e a biblioteca Puppeteer para interagir com páginas web.Como instalar o NodeJS no Debian e derivados
Para instalar o Node.js no Debian e em sistemas baseados no Debian, como Ubuntu e Linux Mint, você pode utilizar o gerenciador de pacotes apt. Abra o terminal e digite os seguintes comandos:sudo apt update
sudo apt install nodejs npm
Após a instalação, verifique a versão do Node.js e do npm (gerenciador de pacotes do Node.js) com os comandos:
node -v
npm -v
Criando o projeto
Primeiro, crie uma pasta para o projeto e navegue até ela:$ mkdir like-no-vol
$ cd like-no-vol
Em seguida, inicialize o projeto com o npm:
npm init
Siga as instruções na tela para configurar o projeto. Depois, instale a biblioteca Puppeteer como uma dependência do projeto:
npm install puppeteer --save
Como abrir o Developer Tools do navegador e inspecionar elementos
Para inspecionar elementos em uma página web, abra o navegador Google Chrome e navegue até a página desejada. Em seguida, clique com o botão direito do mouse em qualquer parte da página e selecione "Inspecionar" no menu contextual. O Developer Tools do Chrome será aberto, e você poderá navegar pelos elementos da página, inspecionar estilos CSS, visualizar a hierarquia do DOM e muito mais.
Usei esse método para descobrir o seletor dos links para os artigos do VOL, assim como o botão de like de um artigo.
Criar o arquivo index.js
Com o projeto configurado e a biblioteca Puppeteer instalada, crie um arquivo chamado "index.js" na raiz do projeto e insira o seguinte código:
const puppeteer = require('puppeteer')
const URL = 'https://www.vivaolinux.com.br'
// Função para extrair links dos artigos
const extractLinks = async (page) => {
const rows = await page.$$eval(
'div.media-body > h3 > a.home-link',
(rows) =>
rows
.map((row) => (row ? row.getAttribute('href') : null))
.filter((row) => row !== null)
.slice(0, 3)
)
return rows
}
// Função para curtir um artigo
const likeInPage = async (page, href) => {
const ARTICLE_URL = URL + href
await page.goto(ARTICLE_URL)
console.log('Acessar artigo:', ARTICLE_URL)
// Clicar no botão de curtir
await page.click('a[data-tipo="like"]')
console.log('Artigo curtido!')
}
// Função principal
const main = async () => {
// Inicializa o Puppeteer
const browser = await puppeteer.launch({ headless: true })
const page = await browser.newPage()
// Configura o viewport para formato de desktop
await page.setViewport({
width: 1280,
height: 800,
deviceScaleFactor: 1,
isMobile: false,
})
// Acessa a página inicial do Viva o Linux
await page.goto(URL)
console.log('Extrair link dos 3 últimos artigos...')
// Extrai os links dos artigos
const hrefs = await extractLinks(page)
// Curtir cada artigo usando a função likeInPage
for (const href of hrefs) {
await likeInPage(page, href)
}
// Fecha o navegador
await browser.close()
}
// Executa a função principal
main()
Executar o script
Com o arquivo index.js criado e preenchido com o código acima, você está pronto para executar o script. No terminal, navegue até a pasta do projeto e digite o seguinte comando:node index.js
O script será executado, e o Puppeteer irá navegar até a página inicial do Viva o Linux, extrair os links dos três últimos artigos, acessar cada artigo e clicar no botão de curtir.
Conclusão
Neste artigo, aprendemos como criar um clicador de sites com Node.js e a biblioteca Puppeteer. Demonstramos como instalar o Node.js em sistemas Debian e derivados, configurar um projeto com npm, criar e executar um script que interage com páginas web usando o Puppeteer.Agora você tem uma base sólida para explorar mais sobre o Node.js e o Puppeteer. Você pode adaptar e expandir o código apresentado neste artigo para criar automações mais complexas e personalizadas, de acordo com suas necessidades específicas. Lembre-se de sempre respeitar as políticas de uso dos sites que você interage e garantir que suas automações sejam éticas e legais.
Vale mencionar que também é possível acessar sites que requerem credenciais usando o Puppeteer, o que amplia ainda mais suas possibilidades de automação. No entanto, abordaremos esse tópico em um próximo artigo. Por ora, explore e aperfeiçoe suas habilidades com o que aprendeu neste tutorial. Boa sorte e bons estudos!
Até a próxima!
Interessante esse artigo.
___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10