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.361 ]
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()
Viva o Linux finalmente de volta!
Desenhar com o mouse na tela do desktop
Placa Intel PRO/Wireless 3945ABG no Debian Linux
Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)
Transforme seu smartphone em uma webcam no Debian, Ubuntu e derivados com Iriun Webcam
CSS pela W3schools (Parte 1) - Uma introdução
CSS - Manual de Estilo (parte 2)
Google Maps API - Criando e interagindo com seus próprios mapas
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Montando e usando iso de um sistema dentro do outro (2)
Criar atalho para uma pasta na area de trabalho no Linux Mint? (0)
Precisa de ajuda com monitoramento ou problemas com Zabbix? (0)