Resumo: Para web scraping em C#, comece no .NET 10 com o HttpClient integrado para descarregar páginas e o AngleSharp para analisar HTML com seletores CSS. Escolha o HtmlAgilityPack se preferir XPath ou mantiver código mais antigo, e acrescente o Playwright para .NET quando o JavaScript constrói a página. Este guia constrói um scraper com novas tentativas educadas, rastreio limitado, exportação para CSV e JSON e testes offline.
A extração de dados da Web em C# começa com um problema comum: os dados de que precisa encontram-se numa página Web e pretende obtê-los como objetos C# tipados, sem sair do .NET. No .NET 10, a plataforma já inclui a maior parte do que precisa, e as poucas peças que faltam são pacotes NuGet maduros.
Este guia mostra, passo a passo, como criar um pequeno scraper. Irá analisar uma página com o AngleSharp (ou o HtmlAgilityPack, se preferir o XPath), fazer a recolha de dados de forma educada com um HttpClient que repete as tentativas de resposta 429 da forma correta, percorrerá listas paginadas com concorrência limitada e exportará para CSV e JSON. Em seguida, irá extrair dados gerados por JavaScript, renderizar páginas com o Playwright para .NET, encaminhar páginas bloqueadas para uma API de scraper sem alterar o seu analisador e testar tudo isso offline. Os exemplos utilizam dois sites públicos de treino criados para a extração de dados: o «Books to Scrape» e a /js/ versão do Quotes to Scrape.
Início rápido — Instale o SDK do .NET 10 e crie uma aplicação de consola comdotnet new console. - Adicione um analisador:dotnet add package AngleSharp. - Obtenha os dados comHttpClient.GetStringAsync(), selecione comQuerySelectorAll(), e extraia comTextContenteGetAttribute(). - Utilize o Playwright para .NET quando o JavaScript construir a página.




