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.398 ]
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()
Capturando tela do Android usando shell script
Criando sites para celular com WML
Alternativas ao Google - Sites de busca e motores de procura
Por que o Javascript é ruim em matemática?
W3C - World Wide Web Consortium
Dicas simples para dar mais usabilidades aos formulários
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Linux não desliga a tela da TV nunca (3)
Fila de impressão em C++ [RESOLVIDO] (6)
Bluetooth CSR 4.0 Dongle (Alternativo) (4)