MCP Video Download URL Parser
Baixe vídeos sem marca d'água de plataformas como Douyin e TikTok.
Documentação
MCP Video Download URL Parser
Esta é uma ferramenta de download de vídeos baseada em MCP, que suporta download de vídeos sem marca d'água de plataformas como Douyin, TikTok, etc.
Recursos
- Suporta download de vídeos sem marca d'água de plataformas como Douyin, TikTok, Bilibili, etc.
- Usa Playwright para simular o ambiente do navegador, contornando as medidas anti-raspagem do site
- Extrai automaticamente o título do vídeo e o link de download
- Suporta caminho de download personalizado
- Suporta execução como serviço MCP
Instalação de dependências
# 安装Python依赖
uv pip install -r requirements.txt
# 安装Playwright浏览器
playwright install
Como usar
Executar como serviço MCP
uv run --index-url https://mirrors.aliyun.com/pypi/simple/ main.py
Em seguida, você pode chamar a função download_video via MCP:
# MCP调用示例
result = await mcp_video_url_parser_download_video(url="https://v.douyin.com/your_video_id/", output_path="D:\\视频")
Usar o script de teste diretamente
# 使用默认测试URL
uv run direct_test.py
# 指定视频URL
uv run direct_test.py "https://v.douyin.com/your_video_id/"
Implementação técnica
Esta ferramenta usa duas maneiras de extrair URLs de vídeo:
-
Simulação de navegador com Playwright (método principal):
- Simula completamente o ambiente real do navegador
- Acessa automaticamente o site snapany.com
- Insere o link do vídeo e clica no botão de extração
- Monitora respostas da API ou extrai elementos de vídeo diretamente da página
- Contorna as medidas anti-raspagem do site, como verificação de cabeçalhos de requisição, verificação de cookies, etc.
-
Requisição direta à API (método reserva):
- Envia requisições diretamente à API do snapany.com
- Adiciona cabeçalhos e parâmetros de requisição necessários
- Trata múltiplos formatos de resposta possíveis
Solução para medidas anti-raspagem
O site snapany.com possui medidas anti-raspagem rigorosas, incluindo:
- Verificação de cabeçalhos de requisição: requer cabeçalhos específicos, como g-timestamp e g-footer
- Verificação de cookies: requer cookies de sessão válidos
- Impressão digital do navegador: verifica o ambiente do navegador, impressão digital Canvas, etc.
- Geração de assinatura dinâmica: pode gerar assinaturas dinamicamente com base em vários fatores
Ao usar o Playwright para simular completamente o ambiente do navegador, conseguimos contornar essas medidas anti-raspagem. O Playwright fornece um ambiente de navegador real, incluindo execução de JavaScript, gerenciamento de cookies e interceptação de requisições, permitindo-nos interagir com o site como um usuário real.
Avisos
- Esta ferramenta é apenas para fins de aprendizado e pesquisa
- Respeite os termos de uso e as normas de direitos autorais das plataformas relevantes
- Não use com muita frequência, para evitar sobrecarregar o site de destino
Instalação e execução
Instalação via Smithery
Para instalar automaticamente o MCP Video Download URL Parser para Claude Desktop via Smithery:
npx -y @smithery/cli install @tansunyj/mcp_video_download_url_parser --client claude
Instalação manual
- Clone o repositório:
git clone https://github.com/tansunyj/mcp_video_download_url_parser.git - Entre no diretório:
cd mcp_video_download_url_parser - Instale as dependências:
pip install -r requirements.txt - Inicie o servidor MCP:
python main.py
Configurar Claude Desktop ou Cursor
- Adicione a seguinte configuração:
{
"mcpServers": {
"video-url-parser": {
"command": "python",
"args": [
"/path/to/mcp_video_download_url_parser/main.py"
],
"env": {}
}
}
}
Configuração de implantação no 魔塔社区(Cursor)
Para implantar este serviço MCP no 魔塔社区, siga os passos abaixo:
-
Envie o projeto: envie o projeto para a plataforma 魔塔社区
-
Configure o serviço: no console do 魔塔社区, encontre a seção "Configuração do serviço MCP" e adicione as seguintes informações de configuração:
{
"name": "video-url-parser",
"description": "视频下载解析工具",
"version": "1.0.0",
"main": "main.py",
"requirements": ["playwright", "asyncio", "aiohttp", "beautifulsoup4"],
"environmentVariables": {
"DOWNLOAD_PATH": "./downloads"
}
}
-
Ative o serviço: no console do 魔塔社区, encontre o serviço adicionado e clique no botão "Ativar serviço"
-
Chamada do serviço: no 魔塔社区, você pode chamar o serviço das seguintes maneiras:
# 调用示例
result = await mcp_video_url_parser_download_video(
url="https://v.douyin.com/your_video_id/",
output_path="指定保存路径"
)
- Solução de problemas comuns:
- Certifique-se de que todas as dependências estejam instaladas corretamente
- Verifique se as variáveis de ambiente estão configuradas corretamente
- Se houver problemas de rede, confirme se o servidor consegue acessar os sites das plataformas de vídeo
- Se o serviço não iniciar, verifique os logs para obter informações detalhadas de erro
Exemplos de uso
Após a configuração, você pode usar os seguintes prompts:
- "Baixe este vídeo: [video_url]"
- "Salve este vídeo no diretório D:/videos: [video_url]"
Variáveis de ambiente
DOWNLOAD_PATH: caminho para salvar os vídeos baixados (padrão: ./downloads)
Desenvolvimento
Para participar do desenvolvimento:
git clone https://github.com/tansunyj/mcp_video_download_url_parser.git
cd mcp_video_download_url_parser
python -m pytest tests/
Segurança
Este servidor MCP é executado na sua máquina local. Embora não execute código arbitrário, tenha cuidado ao analisar URLs de fontes não confiáveis.
Agradecimentos
Este projeto usa a API do SnapAny.com para análise e download de vídeos.
Licença
Licença MIT