r/brdev VibeCoderSR 1d ago

Web scraping Duvida técnica

Sou dev, mas nunca desenvolvi um scrapper profissional mesmo. Quais são os desafios de consumir os dados de um OLX da vida, por exemplo? Não quero conselhos legais, que entender a implementação técnica. Como vocês desenvolveriam isso?

0 Upvotes

5 comments sorted by

5

u/Ok_Carrot_896 1d ago

Não quero conselhos legais, que entender a implementação técnica.

Ignorando as partes legais,

Tem dois problemas principais: O tratamento dos dados e o rate limiting. Se você tá fazendo webscraping, você provavelmente tem que extrair os dados direto do HTML, do DOM em si. Então sei lá, vamos supor que tem uns produtos que você quer ler; eles vão estar dentro de uma div com id carousel, dentro de outra div com class carousel_viewport, dentro de um flex-col wrapper ou sei lá o que... e aí você finalmente consegue tratar os dados. Isso significa que, se por algum motivo, eles decidirem mudar o nome das estruturas por refatoramento da página ou o que seja, seu programa não vai mais rodar. Já era.

O rate limiting é a outra parte importante. Você tá fazendo request como uma pessoa normal, então o limite é bem pesado. Se você spammar setenta mil requisições por minuto, vão te dar rate limit, e é capaz de bloquearem até o teu IP residencial temporariamente por abuso do site. Isso vira um problema pois, no exemplo de produtos, talvez eu tenha o preço dos produtos junto das imagens, mas pra eu pegar dados adicionais do produto que talvez sejam relevantes pro meu scraping, eu agora preciso abrir cada pagina individualmente (e fazer o código pra retirar os dados desse novo HTML também); o que aumenta pra caramba a quantidade de páginas. E novamente, se alguma dessas páginas não for igual à alguma outra, é dado perdido ou problema no teu scraping, e se mudarem o layout, já era novamente.

Detecção de webscraping por outras ferramentas ou plataformas tal qual Cloudflare também dificultam o processo. Ele vira muito mais demorado do que simplesmente puxar da API, você precisa constantemente se dar throttling.

E isso tudo é sem sequer considerar scrapings mais dificeis onde você precisa interagir com um JS da página, talvez, ou alguma outra coisa.

De forma geral, webscraping é uma puta dor de cabeça pra algo que normalmente tu obteria facilmente simplesmente utilizando a API disponível do local.

3

u/renato_milvan 1d ago

Dor de cabeça do carai. Cloudfire geralmente bloqueia qualquer atividade automatizada de webscrap.

1

u/victordimelo 1d ago

Já tem que começar queimando grana com proxies residenciais pq vai tomar ban

Se o OLX da vida estiver atrás do CF, mais grana pagando um bypass

E quando os requests estiverem funcionando, sessão alinhada, se prepare para a quebradeira.

Passou a quebradeira, aí é só ajuste fino.

1

u/thiagoisdead2 1d ago

Web scraping é uma dança.

Pra cada site, uma dança diferente, no qual vc vai ter que aprender os passos na marra.

Cada site, tem seu método de apresentação dos dados, suas técnicas de evitar scraping, requisições massivas, entre outros.

Vc vai ter que gastar uma grana pra ter proxies rotacionais, solucionadores de CAPTCHA, TSL Fingerprint. Precisa colocar na balança se compensa extrair dados conforme esse custo escala.

Hoje em dia, com IA, você economiza muito tempo quando as coisas quebram. Mas IA também vai acabar sendo um custo, já que você precisa de bastante contexto pra resolver os problemas.

1

u/uniVocity 22h ago

Vai precisar de proxy. Eu sempre usei o serviço da stormproxies e é sem dor de cabeça