活用事例一覧へ
2026年7月27日リサーチ・データ収集検証時期:2026年5月

補助金情報の収集を自動化する|手動30分を5分にしたブラウザ操作ワークフロー【AI活用検証vol.92】

補助金情報の収集を自動化する|手動30分を5分にしたブラウザ操作ワークフロー【AI活用検証vol.92】

補助金・助成金の情報収集は、条件を変えるたびに手作業でやり直しになります。「今月申請できるもの」を一覧にするだけで、毎回30分近くかかります。

この検証では、公的な支援情報サイトから条件に合う補助金を自動取得してExcelに出力するワークフローを構築しました。手動30分が自動5分になっています。

この検証の概要

検証日

2026年5月10日(単日)

構成

J-Net21(中小機構運営)+ Browser Use CLI + Claude Code + Python(openpyxl)

やりたかったこと

補助金情報の自動収集・フィルタリング・Excel出力を一気通貫で行う

成果

全131件から条件に合う56件を抽出してExcel出力/Claude Codeスキルとしてパッケージ化

所要時間

全5ページ取得約15〜20秒/対話含む総所要時間 約10分

効果

手動30分/回 → 自動5分/回

判定

即座に導入推奨(★5/5)

対象は公的機関が運営する公開情報サイトです。取得にあたっては利用規約の範囲内で実施しています。

結論:検索条件の「基準」で結果が別物になる

この検証で最も実務的な発見です。

「公開日基準」と「募集期間基準」で、まったく異なる結果になります。

フィルタ基準

結果

掲載日基準(直近1ヶ月)

67件

募集期間基準(2026年5月に申請可能)

56件

知りたいのはたいてい後者です。「最近掲載された補助金」と「今申請できる補助金」は別物だからです。掲載が古くても募集中のものは申請できますし、掲載されたばかりでも募集開始前のものがあります。

この使い分けは最初に確認すべき項目です。基準を間違えると、集めた一覧が目的に合いません。

もう1つ、データの性質として「期間記載なし」が多数(67件)存在します。通年型の制度が多いと見られます。

フォームのパラメータを丸ごと解読する

自動化の起点になった作業です。

JavaScriptの実行でフォームを直接探索し、検索パラメータ(分野・種別・地域・期間・カテゴリ)を完全に解読しました。

具体的な手法として、次が有効でした。

document.querySelectorAll('input[type=checkbox]')
→ 全チェックボックスを name / value / label ごとに取得

検索フォームのUIを操作する代わりに、URLパラメータを直接組み立てるという方針です。これができると、条件変更がURLの書き換えだけで済みます。

ページネーションも同様です。ページ内のリンクを取得して実際のURL構造を確認することで、正しい遷移方法が分かりました。

URLパラメータで効かないものもある

一方で、思い通りにいかない部分もありました。

日付範囲フィルタ(startDate / endDate)はURLパラメータでは機能しません。

対処はPythonで全件取得した後にフィルタするという方針です。

「サーバー側で絞れるものは絞る、絞れないものは取得してから絞る」——この切り分けを早めに確認しておくと、無駄な試行錯誤を避けられます。

Browser Use CLIの基本パターン

安定して動いた操作の型です。

browser-use open URL → sleep 2 → browser-use eval "JS"

この3ステップが基本パターンとして安定します。ページのロード前にJavaScriptを実行すると空配列が返るため、sleep を挟むことが必要でした。

また、この検証時点では以下の制約がありました。

やりたいこと

状況

代替手段

テキスト抽出

extract コマンドは未実装

eval + JavaScriptで代替

待機

wait N(秒数) は未対応

シェルの sleep 2 で代替

フォーム送信

submitボタンをクリックすると別ページへ飛ぶ

URLパラメータを直接組み立てる

専用コマンドがなくても、JavaScriptを実行できれば大抵のことはできます。この柔軟性が eval の価値です。

日本語の日付表記をどう扱うか

日本のサイトを扱う際に必要になる処理です。

正規表現 募集期間[::]\s*(\S+?~\S+) で日本語の募集期間表記を確実に抽出できました。

ポイントは [::] です。全角コロンと半角コロンの両方に対応させています。日本語のページでは表記が混在することがあります。

パース時は年月日を - に置換してから datetime.strptime(s, '%Y-%m-%d') に渡すという方法をとりました。

出力はExcelで渡す

成果物の形式も重要な判断です。

  • 色分け(橙・黄・白/薄青)
  • ヘッダー固定
  • 2シート構成(一覧+検索条件シート)

検索条件をシートとして残している点が実務的です。「この一覧はどういう条件で取ったのか」が後から分かります。数ヶ月後に見返したとき、条件が分からないリストは使えません。

スキルとして再利用可能にする

この検証は、単発の自動化で終わっていません。

Claude Codeのスキルとして実装・パッケージ化し、トリガーフレーズから即実行できる状態にしています。

また、処理を分割しているのも設計上のポイントです。

  • fetch_and_filter.py — 取得とフィルタ
  • create_excel.py — Excel出力

個別に呼び出せるようにしておくと、出力形式だけ変えたいときに取得部分を再利用できます。中間データをJSONで持つことで、他ツールとの連携も可能になります。

コストと効果

項目

内容

初期設定

0分(CLIインストール済みの場合)

構築時間

約60分(パラメータ解析・スクリプト作成)

費用

ほぼ0円(対象サイト無料・CLIはOSS・LLM利用料のみ)

削減効果

手動30分/回 → 自動5分/回(25分削減

月次想定

週1回×4回で月100分の工数削減

初回の利用で構築コストを回収できる計算です。

懸念点

  • ページ構造の変更(サイトリニューアル)に弱い — JavaScriptの修正が必要になる
  • 認証が必要なサイトはセッション管理が別途必要
  • sleep のタイミングはネットワーク環境により調整が必要な場合がある

スクレイピングベースの自動化は、相手側の構造に依存します。壊れる前提で、修正しやすい形にしておくことが重要です。

よくある質問

「今月申請できる補助金」を調べるには?

掲載日基準ではなく募集期間基準でフィルタしてください。この検証では掲載日基準67件に対し、募集期間基準では56件と結果が大きく異なりました。

専用の抽出コマンドがなくても自動化できますか?

できます。JavaScriptを実行できれば、DOMから任意の情報を取り出せます。この検証でもフォームパラメータの完全解読からデータ抽出まで、すべて eval で行っています。

取得結果が空になります

ページのロード前に実行している可能性があります。open の後に sleep 2 を挟んでください。

他の用途にも使えますか?

認証不要の公開サイトであれば同じ方法が適用できます。検索条件をパラメータ化しておけば、条件を変えるだけで再利用できます。

まとめ

  • 「掲載日基準」と「募集期間基準」で結果が別物になる。目的に合う基準を最初に確認する
  • 検索フォームはUIを操作せず、パラメータを解読してURLを直接組み立てる
  • サーバー側で絞れないフィルタは、全件取得してから処理する
  • 基本パターンは open → sleep → evalロード前の実行を避ける
  • 日本語の日付表記は全角・半角コロンの両方に対応させる
  • 出力には検索条件シートを添える。後から条件が分からないリストは使えない
  • 取得とExcel出力を分けておくと、出力形式だけの変更が容易になる

公開情報の収集は、条件が固まっていれば自動化しやすい領域です。何を基準に絞るかを最初に決めておくと、そのまま繰り返し使える仕組みになります。

株式会社AI棒では、こうしたAI活用の検証を日々行い、企業のリサーチ業務の自動化を支援しています。ご相談はお問い合わせフォームから、継続的な伴走支援についてはAI参謀をご覧ください。

関連する検証事例

© 株式会社AI棒 All Rights Reserved.