Título do Projeto no Workana:
Desenvolvedor para Sistema de Extração de Vídeos Virais do TikTok com API e Banco de Dados (Integração com Apify)
Descrição Detalhada do Projeto:
Olá, freelancers! Sou João Pedro, do @EmpoderaShop, e estou procurando um desenvolvedor experiente para criar um sistema simples e eficiente que extraia vídeos virais do TikTok, especialmente dancinhas e trends atuais, para alimentar meu SaaS de "Influencer IA". O foco é em conteúdos como dancinhas de funk, sertanejo, cantando e outras categorias de músicas virais. O sistema precisa rodar de forma automática e independente, sem afetar meu SaaS principal.
O que o sistema precisa fazer, em palavras simples:
Extração diária de vídeos: Todo dia, extrair cerca de 500 vídeos virais do TikTok, divididos em várias categorias (ex.: Dancinhas de funk, dancinhas de sertanejo, cantando, trends virais atuais, e outras que eu definir). Usar ferramentas como Apify (ou similar, como Bright Data) para fazer o scraping de forma segura, sem bans. No Apify, usar actors prontos como "apidojo/tiktok-scraper" ou "clockworks/tiktok-scraper" para buscar por hashtags como #dancinha, #funk, #sertanejo, e filtrar por visualizações altas para pegar só os virais do momento.
O que extrair de cada vídeo: Metadados como id, descrição, hashtags, nome da música/artista (music_id), número de views/likes, thumbnail (imagem de capa), e url do vídeo sem watermark (para download fácil). Se possível, ativar opção para baixar o vídeo MP4 automaticamente na Apify, mas se não, criar um script simples para baixar depois.
Categorização: Classificar cada vídeo automaticamente baseado nos metadados. Por exemplo: se tiver "funk" na música ou hashtags, colocar na categoria "dancinhas funks"; se "sertanejo", na "dancinhas sertanejo"; se for trend viral sem categoria específica, na "trends virais atuais". Usar regras simples em código (como if/else) ou uma biblioteca básica de NLP se precisar.
Armazenamento em banco de dados: Guardar tudo em um banco de dados (recomendo PostgreSQL ou MongoDB, fácil de escalar). Cada vídeo deve ter campos como: id, url, categoria, data de extração, metadados completos. Isso permite que, no futuro, quando um cliente no SaaS fizer uma busca específica, eu possa puxar vídeos antigos do banco em vez de extrair novos.
API para o SaaS: Criar uma API RESTful simples (usando FastAPI ou Flask em Python) que o meu SaaS principal possa chamar. Quando o usuário no SaaS pede vídeos de uma categoria (ex.: "Dancinhas funk"), a API retorna uma lista aleatória de 5 vídeos (com URLs e metadados). Importante: nunca repetir vídeos para o mesmo usuário! Para isso, rastrear no banco o que já foi enviado para cada conta (ex.: Tabela "videos_enviados_por_usuario" com user_id e video_id).
Servidor independente: Todo o sistema (extração, banco, API) deve rodar em um servidor separado do meu SaaS atual, para não afetar a estabilidade. Usar nuvem como AWS EC2, Google Cloud VM ou similar (instância básica, como
t3.medium). Configurar agendamento diário (com cron ou APScheduler) para rodar as extrações às 00h, por exemplo.
Fluxo completo simples:
Agendamento diário: Rodar Apify para extrair 500 vídeos (divididos por categorias/hashtags).
Processar: Categorizar e baixar URLs/MP4 se necessário.
Salvar no banco: Inserir novos vídeos, evitando duplicados (check por ID).
API: Quando SaaS chama (ex.: GET /videos?categoria=funk&user_id=123), retornar 5 aleatórios não repetidos.
Integração com Apify: Configurar conta na Apify (eu forneço credenciais), usar sua api para disparar runs automáticos e puxar resultados via webhook ou sdk python. Se Apify não der certo, fallback para outra ferramenta como Browse AI ou Bright Data.
Requisitos para o desenvolvedor:
Experiência com Python (para scripts de extração, API e banco).
Conhecimento em web scraping e ferramentas como Apify, Bright Data ou similares.
Experiência com bancos de dados (SQL ou NoSQL).
Noções de nuvem (aws/gcp) para setup de servidor independente.
Bom em APIs REST (FastAPI preferencial).
Disponível para testar e ajustar (ex.: Evitar repetições, garantir 500/dia sem bans).
Prazo: 1-2 semanas para MVP funcional.
Orçamento: R$ 1.000 a R$ 3.000 (negociável baseado em experiência setup Apify, banco/API, testes).
O que eu forneço:
Acesso à minha conta Apify (ou ajudo a criar).
Detalhes do SaaS para integração (ex.: Como chamar a API).
Exemplos de categorias e hashtags.
Pagamento via Workana, com milestones claros.
Se você tiver portfólio com projetos semelhantes (scraping, APIs), mencione! Quero algo simples, escalável e que funcione sem muita manutenção. Propostas com plano passo a passo serão priorizadas.
Plazo de Entrega: No definido