go-rod-master
go-rodでブラウザ操作とWebスクレイピングを自動化
Goでボット検出や複雑なブラウザ自動化に苦戦していますか?このスキルは、組み込みのステルス機能を備えた本番環境対応のヘッドレスブラウザ制御パターンを提供します。
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「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
セキュリティ監査
低リスク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.
低リスクの問題 (4)
リスク要因
🌐 ネットワークアクセス (3)
⚙️ 外部コマンド (2)
品質スコア
作れるもの
Webスクレイピングパイプライン
AJAXでコンテンツをロードする動的なJavaScriptHeavyなウェブサイト用の信頼性の高いスクレイパーを構築します。検出を回避するためにステルスモードを使用し、并发スクレイピングのためにページプールを使用します。
自動テスト
適切な待機戦略、要素操作、ビジュアルリグレッション用のスクリーンショットキャプチャを備えた、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を実行するには?
ステルスを使用してもCloudflareにまだ検出されるのはなぜですか?
iframeやshadow DOM要素を処理するには?
MustWaitLoad()とMustWaitRequestIdle()の違いは何ですか?
go-rodでChrome拡張機能を使用できますか?
ファイルのダウンロードを処理するには?
開発者の詳細
作成者
sickn33ライセンス
MIT
リポジトリ
https://github.com/sickn33/antigravity-awesome-skills/tree/main/web-app/public/skills/go-rod-master参照
main
ファイル構成