Sobre este projeto
it-programming / web-development
Aberto
Contexto Geral do Projeto
# Resumo Detalhado do Plugin WordPress - Scraper de Vídeos MP4 ## 1. Introdução Este documento detalha o desenvolvimento de um **plugin WordPress** projetado para **scraping de vídeos MP4** de sites. O plugin coleta **título, descrição, thumbnail e url do vídeo**, permitindo armazená-los **localmente ou em servidores cdn**. Ele inclui **uso de proxies** para evitar bloqueios, um **sistema de fila de downloads** para otimização de desempenho e **publicação manual** dos vídeos após revisão do usuário. ## 2. Estrutura do Painel do Plugin O plugin terá um painel com menu lateral contendo as seguintes páginas: ### **1️⃣ Página Inicial - Scraping** - Campo para inserir **URL do site** que será scrapeado. - Opção para definir **quantos posts** o scraping irá coletar. - O scraping coleta **título, descrição, URL do vídeo MP4 e thumbnail**. ### **2️⃣ Página de Resultados do Scraping** Aqui serão exibidos **todos os vídeos coletados**, com suas respectivas informações: - **Título e descrição editáveis** para ajustes antes do download. - **Escolha de quais vídeos baixar**. - Campo para **selecionar o servidor de destino** (CDN ou Servidor Local). - **Botão "Fazer Download"** para iniciar a fila de downloads. ### **Fila de Downloads** - Os downloads são processados **em segundo plano** para evitar sobrecarga. - O usuário pode **acompanhar o progresso do download**. ### **3️⃣ Publicação Manual dos Vídeos** Após a conclusão do download, o usuário poderá **revisar os vídeos antes de publicá-los**: - Botão **"Editar"** para ajustes manuais antes da publicação. - Opção para **selecionar individualmente ou todos os vídeos**. - Botão **"Publicar"**. - O usuário pode **acompanhar o progresso da publicação** até a finalização. ### **4️⃣ Página de Configuração** - **Configurar Servidores CDN** para upload de vídeos. - **Gerenciar Proxies** para evitar bloqueios ao fazer scraping. - **Definir Campos Personalizados** onde o plugin publicará o vídeo e a thumbnail. - O vídeo será publicado via **iFrame** no seguinte formato: ```html <iframe src="https://Urldovideo.com/video.mp4" title="titulo-do-post" scrolling="no" allowfullscreen width="100%" height="100%" frameborder="0"></iframe> ``` --- ## 3. Tecnologias Utilizadas - **Puppeteer / Playwright** - Renderiza páginas que carregam via JavaScript. - **Cheerio** - Analisa e extrai dados do HTML rapidamente. - **Axios** - Faz requisições HTTP para baixar os vídeos. - **Webshare.io** - Gerenciamento de proxies para evitar bloqueios. - **WordPress wp_cron** - Garante que os downloads sejam processados em segundo plano. - **Banco de Dados (MySQL)** - Armazena os dados dos vídeos e gerencia a fila de downloads. - **Cache (Transient API do WordPress)** - Evita re-scraping desnecessário. --- ## 4. Estrutura do Plugin ``` wp-content/plugins/scraper-plugin/ │── scraper-plugin.php # Arquivo principal do plugin │── admin/ │ ├── menu.php # Menu de Admin do WordPress │ ├── proxies.php # Gerenciamento de Proxies │ ├── campos-personalizados.php # Configuração de Campos Personalizados │── includes/ │ ├── scraper.php # Scraper (Cheerio, Puppeteer, Playwright) │ ├── queue.php # Sistema de fila de downloads │ ├── publicar-post.php # Publicação manual de posts │── scraper.js # Scraping com Node.js ``` --- ## 5. Fluxo de Funcionamento ### **1️⃣ O Usuário Inicia o Scraping** - Insere a **URL do site** no painel do WordPress. - Define a quantidade de vídeos a coletar. ### **2️⃣ Scraper Coleta as Informações** - O scraper usa **Puppeteer/Playwright** para renderizar páginas. - **Cheerio** analisa o HTML para extrair dados. - Os dados são **salvos no banco de dados** para evitar requisições repetitivas. ### **3️⃣ O Usuário Verifica e Baixa os Vídeos** - **Edita título e descrição** antes do download. - Escolhe **quais vídeos baixar**. - Define **onde salvar o vídeo** (CDN ou localmente). - Acompanha o progresso do **download em segundo plano**. ### **4️⃣ O Usuário Revisa os Vídeos** - Após o download, pode **editar informações antes de publicar**. ### **5️⃣ Publicação Manual no WordPress** - Seleciona quais vídeos deseja publicar. - Um **post é criado manualmente** com título, descrição e vídeo via **iFrame**. - O usuário pode **acompanhar o progresso da publicação**. --- ## 6. Otimizações para Melhor Desempenho ✅ **Sistema de Cache** - Usa a **Transient API do WordPress** para armazenar resultados temporários do scraping. - Evita **requisições desnecessárias** ao mesmo site. ✅ **Fila de Downloads** - Os downloads são processados em **lote** para evitar sobrecarga do servidor. - Usa **wp_cron** para rodar os downloads em segundo plano. ✅ **Uso Inteligente de Proxies** - Alterna entre **múltiplos proxies** para evitar bloqueios por IP. - Suporte nativo ao **Webshare.io** para proxies rotativos. --- ## 7. Possíveis Melhorias 🔹 **Melhoria na Interface** - Criar uma UI mais interativa para acompanhar o status dos downloads. 🔹 **Suporte a Mais Formatos** - Expansão para vídeos de outras plataformas além de MP4. 🔹 **Agendamento Inteligente de Scraping** - Permitir que o usuário defina um cronograma automático. --- # **✅ Conclusão** Este plugin **automatiza a coleta e o download de vídeos MP4** em um site WordPress. No entanto, a **publicação dos vídeos só ocorre após a revisão manual do usuário**, garantindo que tudo esteja correto antes de ir ao ar. Com suporte a **proxies, filas de download, sistema de cache e servidores CDN**, ele garante uma **experiência eficiente e escalável**. 🚀
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho uma ideia geral
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor
Prazo de Entrega: Não estabelecido
Habilidades necessárias