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.749 ]
Por: Fábio Berbert de Paula em 01/04/2023 | Blog: https://fabio.automatizando.dev
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()
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Criando Aplicativos Mobile com React Native
Como fazer publicações pelo Instagram Web
Entendendo validações e operações aritméticas com Javascript
ExtJS: Um excelente framework de JavaScript
JavaScript - Programação orientada a objetos
DesignCap - Ferramenta de design gráfico para leigos
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Instalar Dual Boot, Linux+Windows. (5)
Conky, alerta de temperatura alta (16)
De volta para o futuro - ou melhor, para o presente (parte 2) (3)









