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.

[ Hits: 2.560 ]

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


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!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Capturando tela do Android usando shell script

Mais uma política "suja" de marketing da Microsoft

Sorteio de camisetas promovido pela GeekWorld

Clicador automático de Tinder com Python

VLC, o reprodutor multimídia

Leitura recomendada

EAuthenticator - Clone do Google Authenticator para Linux

Acessibilidade na Web

Google AdSense: Técnicas de otimização dos anúncios

Formulários HTML: Problemas com campos desabilitados?

W3C - World Wide Web Consortium

  
Comentários
[1] Comentário enviado por maurixnovatrento em 14/05/2023 - 22:03h


Interessante esse artigo.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts