Pitch: Meu SaaS de Web Scraping (Xcrap Cloud)

Thumbnail da Página Home

👉 Ir para Xcrap Cloud

Olá, pessoas! Como vão? Hoje tenho o orgulho de finalmente apresentar algo que me gastou um bom tempo e que na verdade demandou mais do que a criação de um SaaS, mas também a criação de uma biblioteca (ou talvez um framework) chamado Xcrap. Farei a documentação dele em breve e divulgarei a assim que possível destacando algumas de suas pricipais funcionalidades.


Bom, aqui estamos para falar um sobre a plataforma:

Clientes

Essencialmente um cliente HTTP, você pode configurar algumas coisas como User Agents, Proxies, CORS Proxies (eu incluí a opção de poder adicionar eles porque tu consegue "balancear" o IP que está acessando o site). Além disso você pode definir o tipo do cliente também, mas atualmente temos apenas o Axios porque não consegui rodar de jeito nenhum uma instância de Puppeteer na Vercel (planejo migrar para a AWS se eu perceber que o negócio tem futuro).

Dashboard: Aba de Cliente

Plugins de Cliente

Plugins de Cliente serveriam apenas para o Puppeteer, seriam aqueles Stealth, Amazon Captcha, Adblocker. Servem para deixar o navegador mais furtivo (evitando armadilhas para bots), resolver captchas e bloquear anúncios.

Dashboard: Aba de Plugins de Cliente

Ações de Cliente

Ações de Cliente podem ser usadas para ajudar na furtiviade do navegador também, mas em breve quero adicionar ações que você possa definir parâmetros, como por exemplo uma ação "Click On" que eu passo um seletor e toda vez que o cliente for executado ele fará isso.

Dashboard: Aba de Ações de Cliente

Scrapers

Scrapers são a junção do Cliente, os Plugins de Cliente , Ações de Cliente a URL que será acessada (talvez eu mude no futuro e deixe que o usuário informe a URL no ato da execução).

Dashboard: Aba de Scraper

Scrapers não retém os dados, você pode executá-los apenas, a responsabilidade em guardar esses dados fica com você, tu pode fazer isso de várias formas, como arquivo JSON, salvar em um banco de dados, arquivo CSV... envim, as possibilidades são muitas...

Dashboar: Aba de Execução de Scraper

Acesso à API

Algumas funcionalidades ainda não estão disponíveis via interface, essencialmente funcionalidade de atualizar os objetos da plataforma, mas isso já está disponível via API, tu pode gerar sua chave de API entrando na aba de conta e fazer isso diretamente, sei muito bem que não é a melhor forma de disponibilizar isso para o usuário, mas foi uma forma de diminuir a complexidade das coisas (já que eu tava quebrando a cabeça com esses formulários kkkkkkk)

Dashboard: Conta do usuário

👉 Documentação da API

certa vez eu fiz um robo para ler notas fiscais na receita federal. Levou alguns dias. 1- so aceita conexao originária do Brasil, 2- só aceita navegador aberto. Só consegui com o playwright.

Acredito que daria certo com o Puppeteer também, já que tem umas bibliotecas para puppeteer que também são compatíveis com o Playwright
Sim, mas só com o browser aberto.

Pelo seu SaaS, eu conseguiria extrair dados do Google Maps ou Instagram, montando uma lista de contatos?

Neste MPV ainda não é possível navegar por páginas dinâmicas, pois não consegui suportar o puppeteer ainda. Então, ainda não.

Em meio a tantos projetos fúteis aqui ultimamente, o seu é bem interessante, parabéns!

Não consegui acessar o site, não sei se é por causa dos bloqueios aqui do meu pc, mas sabe dizer se ele consegue raspar o site da Amazon? Certa vez tentei raspar mas recebia um erro da Amazon bloqueando minha raspagem.

Primeiramente parabens, Tenho muito interesse, segundamente, Veio Xcrap é um nome muito ruim kkkkkkkkkkk

Se eu soubesse inglês já tava usando 🤣

Brincadeiras a parte, parabéns pelo projeto. Espero ver novas versões para o público brasileiro aqui.

Abraços.

Kkkkkkkkkkkkkk... Obrigado pelo reconhecimento, meu querido! Em breve eu planejo fazer isso!

Parabéns pelo projeto, em relação a usar o Puppeteer na vercel, já tentou usar esse pacote? https://www.npmjs.com/package/chrome-aws-lambda ele e usado pelo Diego da Rocketseat aqui nesse vídeo, https://youtu.be/qvetoR6V5ic?t=1920 para rodar o chrome na aws lambda, a vercel roda na aws lambda então deve funcionar, se você ver o vídeo pode ajudar, apesar de ele ter 4 anos creio que ainda vai funcionar.

Não é eu querendo ser do contra, mas o container da azure e da GCP são mais baratos que os da AWS. Mas eu só estou sugerindo por questão de economia. Sou Cloud-agnostic.
Opa, muito obrigado! Tentei usar ele uma vez, mas foi de forma diferente que mostra na documentação (havia visto o uso de outra forma), mas tentarei testar se assim funciona, muito obrigado pela sugestão!

Minha pergunta é:

Com o adiventos das IA e seus crawlers os sites estão mais chatos com relação a scraps! Com uso grande da ferramenta da Cloudflare que detecta muito bom robos em ação!

E com mais difusão de outros sistemas de antibot(com captchas ou detecção de outras formas) além do uso de IPS(um mesmo IP acessando muitas páginas pode ser bloqueado)

Como seu sistema supera esses problemas?

Na verdade já temos soluções para tudo isso por fora, por exemplo para "enganar" a CloudFlare temos um plugin do `puppeteer-extra` chamado StealthPlugin. Para resolver os Captchas temos um plugin do `puppeteer-extra` também, por exemplo, para o reCaptcha temos o RecaptchaPlugin e deve ter para outros também. Para resolver o bloqueio do IP você pode usar Proxies e/ou CORS Proxies que é um recurso já disponível atualmente na plataforma. O que me falta mesmo é um pouco de tempo e sentir confiança dos usuários da plataforma para integrar essas funcionalidades...

Excelente! Achei bastante interessante. Qual o canal/contato para suporte?

Bom, não tenho nada formal para isso por enquanto, mas se quiser dar algum feedback pode me contatar no no [Telegram (@marcuth)](https://t.me/marcuth), ou Discord @marcuth

Você é brasileiro e fez toda a plataforma apenas em inglês?

Senti falta de localização.

E ele está certíssimo: Mercado maior, moeda forte... As pessoas lançam SaaS nacionalmente quando ele resolve um problema local/cultural, como por exemplo emissão de notas fiscais, acompanhamento de processos, etc. Ou quando não dominam o idioma e ficam com receio na hora do follow up e suporte. Para soluções "globais" não tem porque começar no Brasil, pois isso limita seu mercado sem trazer nenhum benefício. O único ponto de atenção é na comunicação na hora de criar anúncios e ofertas, pois cada cultura responde de forma diferente a determinada abordagem marketeira, mas nada que uma boa pesquisa de mercado não resolva.
# Localização > não tem porque começar no Brasil é tão difícil criar um arquivo `pt-br.json` e um `en-us.json` e deixar o sistema localizado? Não falei em lançar **apenas** em portugues, mas em localizar para os dois idiomas
Em um primeiro momento, não vale a pena. É o tal do 80/20 do Pareto. Dependendo do tamanho do sistema, não vale a energia manter 2 idiomas logo de cara e revisá-los. Seu foco deve estar em vender e validar a ideia. Com o tempo (e dados) você decide quais idiomas, além do inglês, vale a pena localizar, e se isso vai de fato gerar valor nas vendas.
Bom, acredito que farei isso em um futuro próximo. Mas por agora está fora do meu foco principal... Mas ainda assim agradeço pelo conselho/crítica (ou seja lá o que foi isso)
Sim, exatamente. Fiz isso por que pensei em cobrar em dólar e vender mais para os gringos. Estou começando agora no Indie Hacking, mas esse foi +/- o que eu pensei para tomar essa decisão.

Fiz um robo de scraping em 3horas, somente usando GPT4-o ele me disse a linguagem e como instala-la, rodar no windows 10, bem como os pacotes necessários, a página tinha lazy load + proteção no email por cloudflare. O resultado foi gerado um csv com nome, profissao, email, telefone, e redes sociais, de um site! Foram 2 robos. O primeiro ele lia a página inicial e gerava uma lista csv de todos os links 3500+-, o segundo lia esta lista e gerava outro CSV com os dados finais! Demorou pra extrair estas informações umas 12horas! Detalhe nunca tinha trabalhado com Python! Foi utilizado Python + Selenium + webdrive chrome + beautifulsoup4 + Panda

Bacana, se tu gosta de Web Scraping e quer aprender mais recomendo esse livro aqui: [Web Scraping com Python – 3ª Edição: Coletando dados da web moderna](https://amzn.to/408ycPz) Tenho a a segunda edição dele, não lí de cabo a rabo mas o que eu ví até agora com certeza me trouxe mais confiança e "dicas" do que fazer em determinadas situações.

O pessoal comentou sobre a escolha do inglês como idioma padrão, e faz sentido começar com o idioma mais falado. Isso ajuda a validar a ideia e atingir mais gente no começo. Depois que o projeto estiver mais sólido, você pode expandir para outros idiomas com a ajuda da comunidade no Github para a tradução ser mais próxima possível de cada local.

Curti o projeto, acho que tem bastante potencial! Só que vale lembrar que você tem concorrentes como o browserless e outros.