As lojas Shopify expõem seu catálogo completo de produtos através de um endpoint /products.json embutido – preços, variantes, disponibilidade e imagens, tudo em JSON limpo. Neste tutorial, você aprenderá como raspá-lo com Python, paginar pelo catálogo completo, lidar com lojas que desativam o endpoint e adicionar proxies residenciais Decodo para raspagem em múltiplas lojas em grande escala.
O que será abordado:
• Como o endpoint /products.json funciona e quais campos ele retorna
• Confirmando se um site está rodando em Shopify antes de raspar
• Paginação através de páginas de 250 produtos para obter o catálogo completo
• Método de fallback: sitemap XML + JSON-LD para lojas que desativam o endpoint
• Adicionando proxies residenciais Decodo para raspagem em múltiplas lojas
• Salvando a saída como JSON e CSV
⏰ Marcação de tempo:
00:00 Por que raspar lojas Shopify
00:32 Casos de uso para dados Shopify
00:42 Começando
01:05 Instalando as bibliotecas
01:09 Por que curl_cffi em vez de Requests
01:31 Como o script funciona
02:21 Método de fallback para lojas bloqueadas
02:54 Executando o script
03:02 Arquivos de saída (JSON + CSV)
03:23 Código completo e post no blog
03:35 Encerramento
FAQ
Toda loja Shopify tem um endpoint /products.json?
A maioria das lojas públicas tem, mas alguns comerciantes o desativam. O script detecta isso e recorre automaticamente à extração de sitemap + JSON-LD.
Preciso de proxies para isso?
Para raspagem de uma única loja, com baixa frequência — provavelmente não. Para monitorar várias lojas em um cronograma, proxies residenciais rotativos ajudam a evitar limites de taxa e bloqueios.
Quais bibliotecas Python isso usa?
curl_cffi para impressão digital TLS do navegador e BeautifulSoup para análise HTML no método de fallback. Ambas podem ser instaladas via pip.
Vamos nos conectar em outras plataformas!
🔹 Linked.in: linkedin.com/company/decodo
🔹 Comunidade Discord: discord.gg/gvJhWJPaB4
🔹 GitHub: github.com/decodo
Precisa de suporte direto?
🔹 Para consultas de vendas, e-mail: sales@decodo.com
🔹 Suporte ao cliente 24/7: direct.lc.chat/12092754