المهارات go-rod-master
📦

go-rod-master

مخاطر منخفضة 🌐 الوصول إلى الشبكة⚙️ الأوامر الخارجية

Automatize navegadores e faça scraping de sites com go-rod

Tendo dificuldades com detecção de bots e automação complexa de navegadores em Go? Esta skill oferece padrões prontos para produção para controle de navegador headless com capacidades integradas de stealth.

يدعم: Claude Codex Code(CC)
📊 70 كافٍ
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "go-rod-master". Navegar para o GitHub e extrair informações do repositório

النتيجة المتوقعة:

Título da página: GitHub: Let's build from here
Found 127 links on the page
Search result: go-rod/rod - DevTools Protocol driver for Go

استخدام "go-rod-master". Verificar se o modo stealth passa nos testes de detecção de bots

النتيجة المتوقعة:

Screenshot saved to stealth_result.png
User Agent: true
WebDriver: missing (passed)
Chrome: present (passed)
Plugins Length: 3
Languages: en-US,en

التدقيق الأمني

مخاطر منخفضة
v1 • 2/25/2026

Static analysis detected 279 potential issues but all are false positives from pattern matching on markdown documentation and Go import statements. The 'external_commands' findings are markdown table separators (|), not shell execution. The 'scripts' findings are Go import statements, not JavaScript. Network findings are example URLs in documentation, which is expected for a browser automation tutorial. One critical finding for 'keylogger keywords' at SKILL.md:515 references legitimate keyboard input simulation (page.Keyboard.MustType) for browser automation, not malicious keylogging. Screen capture findings reference screenshot functionality for testing. Overall risk is low due to legitimate browser automation use case with proper resource cleanup patterns documented.

6
الملفات التي تم فحصها
996
الأسطر التي تم تحليلها
6
النتائج
1
إجمالي عمليات التدقيق
مشكلات منخفضة المخاطر (4)
Network requests to external URLs
Example code contains hardcoded URLs for demonstration purposes. This is expected behavior for a browser automation tutorial skill.
Keyboard input simulation capability
The skill documents keyboard input methods (MustType, MustPress) which could theoretically be misused but are standard browser automation APIs.
Screenshot and screen capture functionality
Documentation includes screenshot methods (MustScreenshot, ScrollScreenshot) which capture page content.
Proxy configuration support
Documentation shows SOCKS5 proxy configuration for routed traffic, which could enable traffic obfuscation.

عوامل الخطر

🌐 الوصول إلى الشبكة (3)
⚙️ الأوامر الخارجية (2)
تم تدقيقه بواسطة: claude

درجة الجودة

41
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
50
المجتمع
82
الأمان
78
الامتثال للمواصفات

ماذا يمكنك بناءه

Pipeline de Web Scraping

Construa scrapers confiáveis para sites dinâmicos heavy em JavaScript que carregam conteúdo via AJAX. Use o modo stealth para evitar detecção e pools de páginas para scraping concorrente.

Testes Automatizados

Crie testes de navegador end-to-end para aplicações web com estratégias de espera adequadas, interação com elementos e captura de screenshots para regressão visual.

Pesquisa de Detecção de Bots

Estude e teste sistemas de detecção anti-bot comparando resultados de fingerprint antes e depois de aplicar evasions de stealth.

جرّب هذه الموجهات

Basic Web Scraping
Write a Go script using go-rod that navigates to a news website, waits for the page to load, and extracts all article headlines with their links. Include proper error handling and resource cleanup.
Stealth Scraping with Anti-Detection
Create a production-ready scraper using go-rod/stealth that can bypass basic bot detection. Include proxy configuration, randomized delays between actions, and verification using a bot detection test page.
Network Request Interception
Build a go-rod script that intercepts all API calls made by a single-page application, logs request/response data, and modifies response bodies to inject custom JavaScript tracking.
Concurrent Page Pool Scraper
Implement a high-performance scraper using rod.PagePool that processes a list of 100+ URLs concurrently with a maximum of 5 simultaneous pages. Include result aggregation, error handling, and proper cleanup.

أفضل الممارسات

  • Sempre use stealth.MustPage() em vez de browser.MustPage() para sites reais para evitar detecção de bots
  • Use defer browser.MustClose() imediatamente após conectar para garantir limpeza mesmo em erros
  • Substitua chamadas time.Sleep() pelos métodos de espera nativos do Rod como MustWaitStable() e MustWaitRequestIdle()

تجنب

  • Criar uma nova instância de Browser por tarefa - crie um Browser e use múltiplas instâncias de Page
  • Usar métodos Must* em código de produção - use métodos que retornam erro para tratamento de erros explícito
  • Esquecer de chamar router.Run() após configurar rotas de hijack - o router deve ser iniciado

الأسئلة المتكررة

Como executo go-rod sem baixar o Chromium?
Use launcher.NewBrowser().MustGet() para pré-download, ou defina a opção Launcher.Leakless(false). Você também pode conectar a uma instância existente do Chrome usando sua URL WebSocket com rod.New().ControlURL(wsURL).MustConnect().
Por que ainda estou sendo detectado pelo Cloudflare após usar stealth?
Stealth lida com fingerprints comuns mas sistemas avançados podem requerer medidas adicionais: use proxies residenciais, adicione delays semelhantes a humanos entre ações, randomize tamanhos de viewport e implemente padrões comportamentais como scroll e hover aleatórios.
Como lidar com iframes e elementos de shadow DOM?
Use page.MustSearch() em vez de page.MustElement() - ele pesquisa através de todos os iframes e fronteiras de shadow DOM como DevTools Ctrl+F. Alternativamente, mude o contexto para o iframe primeiro usando page.MustElement("iframe").MustFrame().
Qual é a diferença entre MustWaitLoad() e MustWaitRequestIdle()?
MustWaitLoad() espera pelo evento de carga da página, enquanto MustWaitRequestIdle() espera até que não haja requisições de rede pendentes. Para páginas heavy em AJAX, MustWaitRequestIdle() é mais confiável pois o conteúdo pode carregar após a carga inicial da página.
Posso usar extensões do Chrome com go-rod?
Sim, mas extensões requerem modo headed. Use launcher.New().Set("load-extension", "/path/to/extension").Headless(false).MustLaunch() para carregar extensões. O modo headless não suporta extensões.
Como lidar com downloads de arquivos?
Use browser.MustDownload() que retorna uma função de espera. Chame-a antes de triggers o download, então após clicar no link de download, chame a função de espera para obter os dados do arquivo baixado como um slice de bytes.

تفاصيل المطور