Executando verificação de segurança...
10

Criei um scraper do Perplexity em Python com suporte a todas as funções da versão web (até as escondidas)

A API oficial do Perplexity é excelente em estabilidade, mas tem dois grandes defeitos: é paga à parte e limita você aos modelos proprietários deles (família "Sonar").

Se você já assina o Perplexity Pro ou Max, é frustrante: você tem acesso a modelos incríveis como Claude Sonnet/Opus 4.5, Gemini 3 Pro e GPT-5.2 no navegador, mas não consegue usá-los via código sem pagar uma fortuna nas APIs originais de cada fornecedor.

Para resolver isso, criei o Perplexity WebUI Scraper.

Minha meta foi simples: desbloquear o acesso programático a TUDO que a conta paga oferece na web.

O Pulo do Gato (The Catch)

Diferente da API oficial, este projeto funciona como uma "ponte": ele simula um navegador real para que você possa consumir via código os modelos que a API deles não vende.

  1. Sua Assinatura, Suas Regras: Se sua conta tem acesso ao Claude Sonnet 4.5 ou Gemini 3 Pro, meu scraper permite que você os use em seus scripts Python. Nada de ficar preso ao "Sonar".
  2. Modelos "Thinking" via API: Sabe os novos modelos de raciocínio profundo que aparecem no dropdown do site? Agora você pode integrá-los em suas automações.
  3. Contexto Real: Suporte nativo a Upload de Arquivos (PDF, imagens, TXT) enviando para o S3 interno deles e seleção de focos de busca (Academic, YouTube, Reddit).

Engenharia "Anti-Bot"

Para isso funcionar de forma estável, não bastava fazer requisições HTTP simples. Implementei:

  • Impersonation Avançado: Uso de curl-cffi para simular a impressão digital (TLS/JA3) de um Chrome legítimo, evitando bloqueios do Cloudflare.
  • CLI de Autenticação: Uma ferramenta que automatiza o login chato (Magic Link/Email) e salva seu token de sessão pronto para uso.

Show me the code

O projeto é 100% tipado, assíncrono e feito para quem gosta de código limpo.

from perplexity_webui_scraper import Perplexity, Models

# Usa sua sessão real para acessar os modelos pagos
client = Perplexity("seu_token_aqui")
chat = client.create_conversation(
    source_focus=[SourceFocus.WEB, SourceFocus.ACADEMIC]
)

# Exemplo: usando o Claude Sonnet 4.5 (que não tem na API oficial) via código
response = chat.ask(
    query="Analise este edital e encontre as pegadinhas.",
    model=Models.CLAUDE_45_SONNET_THINKING,
    files=["./edital_concurso.pdf"]
)

print(response.answer)
# Retorna streaming (opcional), citações e fontes estruturadas
Carregando publicação patrocinada...
1

Excelente ideia! Porém, "Sua Assinatura, Suas Regras" nâo funciona bem assim.
Geralmente, o acesso programatico à API/backend usada na UI nao é permitido pelos termos do serviço, e eles podem banir a sua conta.

1

Estranho, tentei utilizar sua aplicação, mas parece que ela tem alguns limites com respostas mais longas e obtive problemas. Vou testar mais tarde...

1

Realizei algumas correções gerais e adicionei novos modelos da interface na biblioteca. Também lancei essa nova versão ao PyPI. Caso continue dando erros, pode abrir uma Issue no repositório do GitHub com mais detalhes ou me enviar por aqui?

1
1
1

Uma coisa que me chamou atenção foi o que você menciou sobre o uso de curl-cffi.

Eu estou com dificuldade em raspar sites com proteção da cloudflare, existem dois tipos de antibot que eles usam, um é no estilo recaptcha v2 que qualquer serviço de resolução passa e tem um outro, que é um antiDDOS que ocupa toda tela, esse até o momento não consegui bypassar com raspagem que requerem login e precisam do uso de selenium, Playwright ou semelhantes...

Você já teve esse preblema? achou alguma solução? Agradeço desde já.

2

Atualmente, a biblioteca que está funcionando perfeitamente em praticamente todos os sites com proteção simples da Cloudflare é a curl-cffi com rotação automática de dados entre requisições. Porém, para sites com JavaScript obrigatório ou com antibot mais exigente, gosto muito de usar o https://github.com/daijro/camoufox juntamente ao plugin https://github.com/techinz/playwright-captcha, e para mim essas bibliotecas são as melhores do momento.