スキル go-rod-master
📦

go-rod-master

低リスク 🌐 ネットワークアクセス⚙️ 外部コマンド

go-rodでブラウザ操作とWebスクレイピングを自動化

Goでボット検出や複雑なブラウザ自動化に苦戦していますか?このスキルは、組み込みのステルス機能を備えた本番環境対応のヘッドレスブラウザ制御パターンを提供します。

対応: Claude Codex Code(CC)
📊 70 十分
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「go-rod-master」を使用しています。 GitHubにナビゲートしてリポジトリ情報を抽出

期待される結果:

Page title: 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」を使用しています。 ステルスモードがボット検出テストを通過するか確認

期待される結果:

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.

リスク要因

監査者: claude

品質スコア

41
アーキテクチャ
100
保守性
87
コンテンツ
50
コミュニティ
82
セキュリティ
78
仕様準拠

作れるもの

Webスクレイピングパイプライン

AJAXでコンテンツをロードする動的なJavaScriptHeavyなウェブサイト用の信頼性の高いスクレイパーを構築します。検出を回避するためにステルスモードを使用し、并发スクレイピングのためにページプールを使用します。

自動テスト

適切な待機戦略、要素操作、ビジュアルリグレッション用のスクリーンショットキャプチャを備えた、Webアプリケーションのエンドツーエンドブラウザテストを作成します。

ボット検出リサーチ

ステルス回避策を適用する前後のフィンガープリント結果を比較して、ボット検出システムを研究・テストします。

これらのプロンプトを試す

基本的なWebスクレイピング
go-rodを使用してニュースウェブサイトにナビゲートし、ページの読み込みを待してから、すべての記事見出しをリンク付きで抽出するGoスクリプトを作成します。適切なエラー処理とリソースクリーンアップを含めます。
ステルススクレイピングと検出回避
基本的なボット検出をバイパスできるgo-rod/ステルスを使用した本番環境対応のスクレイパーを作成します。プロキシ設定、アクション間のランダム遅延、ボット検出テストページを使用した検証を含めます。
ネットワークリクエスト傍受
シングルページアプリケーションで行われるすべてのAPIコールを傍受するgo-rodスクリプトを構築し、リクエスト/レスポンスデータをログ記録し、カスタムJavaScriptトラッキングを挿入するためにレスポンスボディを変更します。
并发ページプールスクレイパー
最大5同時ページで100URL以上のリストを并发処理する高性能スクレイパーをrod.PagePoolを使用して実装します。结果集約、エラー処理、適切なクリーンアップを含めます。

ベストプラクティス

  • 実際のウェブサイトでボット検出を回避するために、常によりstealth.MustPage()を使用し、browser.MustPage()は使用しない
  • ブラウザに接続したらすぐにdefer browser.MustClose()を使用して、エラーがあってもクリーンアップを確保する
  • time.Sleep()の呼び出しをRodの組み込み待機メソッド(MustWaitStable()やMustWaitRequestIdle()など)に置き換える

回避

  • タスクごとに新しいBrowserインスタンスを作成する - 1つのBrowserを作成し、複数のPageインスタンスを使用する
  • 本番コードでMust*メソッドを使用する - 明示的なエラー処理のためにエラーを返すメソッドを使用する
  • ハイジャックルートを設定した後go router.Run()の呼び出しを忘れる - ルーターは開始する必要がある

よくある質問

Chromiumをダウンロードせずにgo-rodを実行するには?
launcher.NewBrowser().MustGet()を使用して事前にダウンロードするか、Launcher.Leakless(false)オプションを設定します。また、rod.New().ControlURL(wsURL).MustConnect()でWebSocket URLを使用して既存のChromeインスタンスに接続することもできます。
ステルスを使用してもCloudflareにまだ検出されるのはなぜですか?
ステルスは一般的なフィンガープリントを処理しますが、高度なシステムでは追加の対策が必要な場合があります:Residentialプロキシの使用、アクション間の人間的な遅延の追加、ビューポートサイズのランダム化、ランダムスクロールやホバーなどの行動パターンの実装を行います。
iframeやshadow DOM要素を処理するには?
page.MustSearch()をpage.MustElement()の代わりに使用してください - DevTools Ctrl+Fのように、すべてのiframeやshadow DOM境界を検索します。または最初にpage.MustElement("iframe").MustFrame()を使用してiframeにコンテキストを切り替えます。
MustWaitLoad()とMustWaitRequestIdle()の違いは何ですか?
MustWaitLoad()はページロードイベントを待機しますが、MustWaitRequestIdle()は保留中のネットワークリクエストがなくなるまで待機します。AJAXの多いページでは、MustWaitRequestIdle()は最初のページロード後にコンテンツがロードされる可能性があるため、より信頼性が高いです。
go-rodでChrome拡張機能を使用できますか?
可能ですが、拡張機能にはheadedモードが必要です。launcher.New().Set("load-extension", "/path/to/extension").Headless(false).MustLaunch()を使用して拡張機能をロードします。ヘッドレスモードは拡張機能をサポートしていません。
ファイルのダウンロードを処理するには?
browser.MustWaitDownload()を使用して待機関数を取得します。ダウンロードをトリガーする前に呼び出し、ダウンロードリンクをクリックした後、待機関数を呼び出してダウンロードされたファイルデータをバイトスライスとして取得します。

開発者の詳細