ウェブサイト情報のスクレイピングは、現代のデータ分析や自動化の中でも特に注目されている分野ですが、その実行方法には意外な難しさが伴います。特に、Googleの新しい技術であるGemini APIを使ったスクレイピングでは、簡単に思える操作も実は注意が必要です。この記事では、GAS(Google Apps Script)とGemini APIを駆使して、どのように効果的にウェブ情報をスクレイピングできるのか、実際の問題解決を交えて詳細に解説していきます。
Gemini APIとGASの強力なコンビネーション

AIのイメージ
Gemini APIの新機能「URL Context」について
2025年8月、Googleが提供するGemini APIに新たに「URL Context tool」という機能が追加されました。この機能の本質は、Geminiが直接ウェブページにアクセスし、指定されたプロンプトに基づいて情報を抽出できるというものです。従来、Gemini APIは学習データに基づく結果しか返せなかったため、リアルタイムのウェブ情報にはアクセスできませんでした。しかし、この新機能を活用することで、ウェブスクレイピングの可能性が大幅に広がりました。
Gemini APIを活用する際の大きな障壁とは?
Gemini APIを使う際、最も困難なのは、適切なURLを自動で取得する部分です。今回は、例えば病院名をリストアップし、それに関連する住所や電話番号を自動的に収集するというシナリオを考えますが、必要な情報は各病院のウェブサイトにアクセスしないと得られません。そのため、病院名だけを入力しても、URLなどの情報を手動で準備しなければならないという課題が発生します。
URL Contextの利用方法と制約
URL Contextを利用するには、プロンプト内でURLを指定する必要がありますが、これが自動化において大きな障壁となります。なぜなら、病院名などのリストからURLを自動的に取得することが難しいからです。また、URL Contextは必ず「公開されているウェブサイト」にしかアクセスできませんし、PDFファイルなどには対応していません。このため、情報の取得には非常に慎重な設計が求められます。
最適なAPI選定でスクレイピングを自動化する方法
必要なAPIを上手に組み合わせる
GoogleのAPIを一つ一つ使いこなすことは、非常に複雑で時間がかかる作業です。しかし、目的を達成するためには、複数のAPIを組み合わせて使うことが非常に重要です。たとえば、病院名をリストアップするために「Custom Search JSON API」を使用し、Googleの検索エンジンを駆使して特定の病院のURLを取得します。次に、住所や電話番号を取得するために「Place API」を利用し、最終的に院長名を取得するためには再度Gemini APIのURL Contextを使う、といった具合です。
具体的なAPIの役割
- Custom Search JSON API: 指定したキーワードに基づき、Google検索結果から病院のURLを取得します。
- Find Place API: 病院名を基に、場所情報(住所、電話番号)を取得します。
- Place Detail API: 上記のPlace IDを基に、病院の詳細情報を取得します。
- Gemini API: 最後に、URL Contextを使って、病院の「院長名」などの詳細情報を自動で抽出します。
Gemini APIを使ったウェブスクレイピングの実践例
病院情報を自動で収集する手順
実際に病院名をリストアップし、それに関連する情報を収集するプロセスを具体的に説明します。以下の手順で自動化を実現することができます。
- 病院名をリストアップする。例えば、「東京都内の病院」をGoogle検索で取得します。
- Custom Search JSON APIを使って、病院名に対応するウェブサイトのURLを取得します。
- Find Place APIを使用して、病院の住所や電話番号などの基本情報を取得します。
- Place Detail APIを使って、病院の詳細情報を正確に取得します。
- Gemini APIのURL Contextを使って、院長名などの追加情報を取得します。
- 最終的に、Google Apps Script(GAS)を利用して、収集したデータをスプレッドシートに自動で出力します。
重要な注意点
- 精度の問題: Google検索を使った情報収集では、必ずしも正確な情報が返ってこない場合があります。特に、病院の住所や電話番号が誤っている場合も多いので、他のAPIとの連携を強化して精度を高めることが重要です。
- 速度の制約: URL Contextはリアルタイムでページを解析するため、処理速度が遅くなることがあります。大量のデータを一度に処理する場合、タイムアウトが発生することがあるため、処理を分けて実行することをおすすめします。
gemini api スクレイピングに関する疑問解決
Gemini APIでウェブページにアクセスするにはどうすればよいですか?
Gemini APIでウェブページにアクセスするためには、URL Contextを使用する必要があります。プロンプト内でURLを指定し、リクエスト時にそのURLを含めて送信することで、直接そのページにアクセスし、情報を抽出することができます。
Gemini APIと他のAPIを組み合わせて使用するメリットは何ですか?
Gemini APIだけでは情報を完全に収集することができない場合があります。例えば、Google検索結果や住所、電話番号などの基本情報を取得するために他のAPI(Custom Search APIやPlace API)と組み合わせることで、より正確かつ効率的にデータを収集することが可能になります。
まとめ
Gemini APIとGASを利用したウェブスクレイピングは、最新の技術を駆使することで、手動で行うには膨大な手間がかかる作業を効率化できます。しかし、適切なAPIの選定と連携を行うことが成功の鍵となります。今回紹介した方法を参考に、ぜひあなたのプロジェクトに役立ててください。
コメント