Webscraping com BeautifulSoup

A muito tempo, já tenho trabalhado em alguns projetos de WebScraping utilizando o Selenium webdriver em que tem como grande poder, simular ações humanas no navegador.

Recentemente passei a estudar BeautifulSoup do #python onde também é muito utilizado para WebScraping mas com uma abordagem diferente, utilizando-se do texto html da pagina para fazer a extração de dados. Achei muito interessante e fiz um primeiro projeto com isso, não somente utilizando o BeautifulSoup, como o lxml que ajuda e muito a fazer buscas no html utilizando o xPath.

Resumidamente o projeto consiste em consultar uma base de livros do site companhia das letras, e realizar a extração dos dados como titulo, preço, quantidade de paginas, formato... No final da execução, os dados são salvos em formato .csv

As informações que tirei para fazer o programa são do próprio site, ou seja, as informações que são carregadas para qualquer usuario, não fazendo o uso de senhas ou acessos especiais para conseguir acesso.

Abaixo deixo o programa no repositório do github caso queira dar uma olhada no projeto.

https://github.com/ParzivalMarcos/scrapingBeautifulSoupExample

basicamente você fez uma API force? achei interessante e tenho certeza qye vai ajudar muitas pessoas :)

Confesso que desconheço o termo "API force", no entanto, tive alguns percalsos enquanto desenvolvia o projeto, como por exemplo, o HTML não ser carregado diretamente com todas as informações sendo esse o trabalho do JavaScript do site. Sendo assim, pesquisando a fundo na pagina, peguei a chamada a API que o site faz para recuperar as informações e utilizei no código. Esse processo todo foi de grande aprendizado pra mim, e espero que possa contribuir com mais alguém

Uma excelente alternativa ao Selenium é o Playwright. Recentemente utilizei a versão para .NET.

Antigamente cheguei a utilizar o Puppeteer Sharp.

Mas o seu caso se tornou o melhor e mais simples cenário possível, onde através de requisições é possível fazer o scrapping. No .NET recomendo utilizar a classe HttpClient para isso.

Não conhecia o [Playwright](https://playwright.dev/python/), dei uma rapida lida na documentação, parece uma boa alternativa ao Selenium mesmo. Certo que irei dar uma "brincada" com ele.

Obrigado mesmo, seu projeto vai de encontro com algo que precisava mais nao sabia como sair do zero. Terei uma excelente jornada com o seu aprendizado.

Fico muito feliz que tenha contribuido contigo