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.591 ]
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()
Diversão e Entretenimento no Linux
Adote um projeto, ajude o Viva o Linux
Viva o Linux 2008 - Site com cara e recursos novos!
Como implementar uma assistente virtual no Linux
CSS - Manual de Estilo (parte 3)
Codificação e decodificação entre ASCII, hexadecimal e unicode
Instalando plugin do Java no Firefox 0.8
Banda Larga é um direito de todos!
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Firewire resiste, Bcachefs sai: destaques Linux do dia
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)