1 points par gptaku 2026-04-16 | 2 commentaires | Partager sur WhatsApp

Je n’aimais pas voir Claude Code abandonner dès qu’il rencontrait un 403.

« Lis-moi cet article sur un blog Naver » → 403. « Sélectionne-moi des claviers à moins de 100 000 wons sur Coupang » → 403. « Que raconte ce thread Reddit ? » → bloqué. Au final, je devais sans cesse ouvrir le navigateur moi-même pour copier-coller le contenu. Je demandais du travail à une IA, alors pourquoi est-ce que c’était moi qui travaillais ?

J’ai essayé les MCP existants, mais ils avaient des problèmes. La plupart étaient liés à une seule plateforme spécifique (Twitter uniquement, YouTube uniquement), demandaient une clé API ou une inscription OAuth, ou avaient appris des biais du type « ce site est bloqué », au point de ne même pas essayer. Les sites changent tous les jours, et une méthode peut très bien fonctionner maintenant ; abandonner simplement parce que ça a été bloqué une fois n’avait aucun sens.

J’ai donc créé une couche de sélection de méthode. Ce n’est pas un scraper, mais une compétence qui tente successivement des endpoints publics et des techniques standard jusqu’à ce que ça passe.

Comment ça fonctionne

Quand Claude Code accède à une URL, un ordonnanceur adaptatif en 4 phases l’aide. Il ne passe à la phase suivante que si la phase précédente échoue ou détecte des signaux de blocage.

  • Phase 0 : indexer uniquement les endpoints spéciaux impossibles à découvrir avec une chaîne générique (15 groupes) — X Syndication, Reddit .json, HN Firebase, yt-dlp pour 1 858 sites
  • Phase 1 : sondes légères en parallèle — WebFetch, Jina Reader, curl avec UA Chrome/Mobile/Googlebot, variantes d’URL m.{domain}/.json//rss
  • Phase 2 : usurpation TLS — curl_cffi dans l’ordre safari → chrome → firefox (si non installé, pip install se lance automatiquement)
  • Phase 3 : vrai navigateur — rendu via Playwright MCP + découverte d’API cachées (network_requests)
  • si une connexion ou un paywall est détecté, arrêt avec « authentification requise ». Pas de tentatives inutiles à répétition

Pour toutes les réponses HTML, les balises OGP et les données structurées JSON-LD sont également extraites. Même si le corps complet ne peut pas être récupéré, le titre, le prix ou le profil peuvent l’être.

Les sites coréens fonctionnent particulièrement bien

  • Blog Naver → résolu dans la plupart des cas via des variantes d’URL mobile
  • Coupang → extraction de JSON-LD ItemList avec curl_cffi safari en phase 2
  • DC Inside/FM Korea/Clien/Karrot/YoZM IT/Wishket → lecture complète via Jina Reader ou curl
  • Naver Finance → API JSON non officielle api.finance.naver.com/siseJson.naver (sans authentification)
  • 9 médias coréens → index RSS + repli sur Google News RSS

Principe clé

Ne pas créer de biais. Je n’ai pas fait de liste « ce site est difficile ». Je ne saute pas non plus une tentative sous prétexte qu’une dépendance manque — je l’installe et j’essaie. Parce que le site comme la méthode peuvent fonctionner à ce moment précis.

Installation

/plugin marketplace add https://github.com/fivetaku/gptaku_plugins.git  
/plugin install insane-search  

Il suffit ensuite de redémarrer. Pas de clé API, d’inscription ni de variable d’environnement. En l’utilisant comme d’habitude, il se déclenche automatiquement sur les URL bloquées.

2 commentaires

 
ng0301 2026-04-19

L’agent browser de vercel-labs est génial.

 
holywork 2026-04-19

Ne pourrait-on pas simplement lui faire utiliser browser-use directement ?