Resumo: Para web scraping em C e C++, utilize a libcurl para descarregar páginas e a lexbor para analisar HTML5 com seletores CSS; ambas são C puro, pelo que uma única stack serve as duas linguagens. Escolha C++ quando o scraper vive numa base de código nativa, corre em hardware limitado ou analisa grandes volumes de HTML. Para tarefas rápidas e pontuais, Python é mais rápido de escrever.
Este guia mostra-lhe como extrair dados de sites em C e C++ (não em C#) com duas bibliotecas C portáteis: a libcurl para descarregar páginas e a lexbor para analisar HTML5 com seletores CSS. Ambas são em C puro, pelo que uma única pilha serve ambas as linguagens. Além disso, instalam-se da mesma forma no Windows, no macOS e no Linux.
Irá criar um scraper em C++20 para uma livraria de exercícios públicos, a «Books to Scrape». Este segue a paginação, visita todas as páginas de produtos com um pequeno conjunto de threads e guarda ficheiros CSV e JSON limpos. Em seguida, irá lidar com uma página JavaScript no site «Quotes to Scrape» de três formas: lendo os dados diretamente de uma tag script, renderizando-os com o Chrome headless e enviando-os para uma API de scraping. Por fim, voltará a ver o scraper principal como um programa simples em C. O CMake e o vcpkg compilam tudo a partir de um único manifesto.
O que irá criar:
- Um rastreador que segue os links «seguinte» nas páginas de listagem, de forma educada.
- Uma etapa de página de produto que adiciona códigos UPC e quantidades em stock com quatro threads de trabalho.
- Exportação em CSV (RFC 4180) e JSON ordenado com preços expressos em números inteiros.
- Três formas de obter dados de uma página JavaScript.
- Um scraper simples em C17 construído com base nas mesmas duas bibliotecas.
Prefere programar em C#? O nosso guia de web scraping em C# aborda o HttpClient, o AngleSharp e o Playwright para .NET.




