Pitaya Scraper é uma aplicação web em Python desenvolvida para extração de URLs de embeds de vídeos e informações relacionadas de páginas de animes ou de filmes.
- Scraping de animes: Extrai URLs de episódios e embeds de páginas de animes.
- Banco de Dados: Armazena resultados em um banco de dados SQLite local.
- APIs REST: Fornece endpoints para acesso às funcionalidades.
- Limites de Requisição: Usa Flask-Limiter para evitar abuso.
- Caching: Implementado com Flask-Caching para otimizar o desempenho e eficiência.
- User-Agent Rotativo: Alterna entre diferentes agentes de usuário para evitar bloqueios.
- Execução Headless: Usa Playwright em modo headless para interações com páginas.
- Flask: Framework para construção de APIs web.
- Playwright: Automação de navegadores para scraping.
- SQLAlchemy: ORM para manipulação do banco de dados.
- Flask-Caching: Cache para respostas frequentes.
- Flask-Limiter: Controle de limite de requisições.
- WebDriver Manager: Gerenciamento automático do driver Chrome.
-
Instale os requisitos:
pip install -r requirements.txt
-
Crie um arquivo
configs.jsoncom as configurações dos sites a serem scrapados. Exemplo:{ "site_key": { "domain": "example.com", "url_patterns": { "anime_main": "regex_para_pagina_principal", "episode": "regex_para_episodio" }, "selectors": { "anime_main": { "episodes_section": "css_selector_para_lista_episodios" }, "episode": { "iframe_selectors": ["css_selector_para_iframe"] } }, "bypass_javascript": false|true } }- Você tambem pode baixar o arquivo configs.json com padrões teste já configurados (pode ficar desatualizado).
-
Bypass Javascript (opcional)
Esta opção vai ser útil se o site alvo tenha proteção contra inspeção ou scraping/crawling. Quando ativada injeta os links das paginas em um
<iframe>em modo sandbox, fazendo com que todas as proteções javascript ou redirecionamentos de páginas pararem de funcionar (obs: ele ignora osiframe_selectorse sempre vai coletar o iframe de video da página).
- No arquivo configs.json deixe como
true"bypass_javascript": true
-
Inicie o servidor:
python Pitaya_Scraper.py
Obtém o embed URL para um anime ou episódio.
Parâmetros:
url: URL da página do anime ou episódio.force: opcional (true ou false), setrue, força atualização, mesmo que os dados estejam no cache.continue: opcional (true ou false), Setrue, instrui o script a continuar de onde parou (aproveitar dados salvos) em vez de reprocessar tudo do zero.
Cabeçalhos:
-
X-API-KEY: Chave de API para autenticação. -
Exemplo:
curl -H "X-API-KEY: 123" "http://127.0.0.1:5000/get-embed?url=https://exemplo.com/anime/principal"Recarrega as configurações do arquivo configs.json.
- Exemplo:
curl -X POST "http://127.0.0.1:5000/reload-config"- Certifique-se de que o arquivo
configs.jsonestá configurado corretamente. - O arquivo
configs.jsondeve estar na pasta raiz do projeto. - Este projeto utiliza um banco de dados SQLite, mas pode ser adaptado para outros SGBDs.
Este projeto é distribuído sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
o projeto ainda está em desenvolvimento. Bugs podem acontecer...
