トップ > python > 

TrafilaturaでWebサイトを読み込みGeminiAPIに渡して質問する方法

TrafilaturaでWebサイトを読み込みGeminiAPIに渡して質問する方法

PythonとGemini APIを使いTrafilaturaでWebサイトから本文のみを抽出して質問するプログラムを解説。コピペで即動くサンプルプログラム付き!

目次

  1. Google Colab でWEBサイトの情報を取得し Trafilatura で加工し Gemini を呼び出す
    1. Google Colab に trafilatura を インストールする(1分)
    2. Trafilatura とは(特徴と使い道の解説)(1分)
    3. Google Colab でWEBサイトの情報を取得し Trafilatura で加工し Gemini を呼び出すサンプルコードを動かす(1分)

Google Colab でWEBサイトの情報を取得し Trafilatura で加工し Gemini を呼び出す

「Geminiで最新ニュースとか、好きなブログ記事を読んで分析したい!」って思うこと、あるやろ?

でも、Webサイトって広告とかメニューとか、AIからしたら「余計なノイズ」がめちゃくちゃ多いねん。そのまま渡すと、Geminiも「どこがほんまの話なん?」って困るわけや。

そこで出てくるのが、本文だけをキレイに抜き出してくれる呪文 トラフィラチュラ(trafilatura)。これさえあれば、どんなWebサイトもGeminiが読みやすい形にサクッと整えられるで!

ここでは「Webサイトを読み込んでGeminiに相談する」までの流れを、リファレンス形式でサクッとまとめていくわ。

[Google Colab(Python)でWebサイトを読み込み、Geminiに渡して質問 合計3分]

  1. Google Colab に trafilatura を インストールする(1分)
  2. Trafilatura とは(特徴と使い道の解説)(1分)
  3. Google Colab でWEBサイトの情報を取得し Trafilatura で加工し Gemini を呼び出すサンプルコードを動かす(1分)

「スクレイピングってなんか難しそう…」って構えんでも大丈夫。1行の「おまじない」とコピペで動くコードで、Geminiをもっと賢く使いこなせるで!

さあ、一緒にはじめよか!

1. Google Colab に trafilatura を インストールする(1分)

はじめに
この章は前章の Google Colab で Gemini を呼び出す の続編のため、前章の以下の説明を割愛している。「Google Colab の使用方法」と「APIキーの取得」については、以下のページを参照してほしい。

[Google Colab(Python)の使い方とAPIキーの取得]
  1. Google Colab を開く(Google Account必須)(1分)
  2. Google AI StudioでAPIキーを取得する(Google Account必須)(1分)

Google Colab に trafilatura を インストールする
以下のコマンドを、コードセル(またはプロンプト欄:画面下に表示される1行の入力欄)に入力し、左側の ▶(実行ボタン)で実行する。

非エンジニアさんは、おまじないの1行だと思ってくれや。

!pip install -U -q trafilatura

→ コードをクリップボードにコピーする

コマンドの解説(エンジニア向け)

※ 注記 Google Colab はセッションが切れるとリセットされるため、前回接続したセッションが切れている場合は、このインストールコマンドを実行する必要がある。

2. Trafilatura とは(特徴と使い道の解説)(1分)

Trafilatura(トラフィラチュラ)は、ウェブサイトから本文(メインコンテンツ)やメタデータを抽出するために設計されたPythonライブラリ。 Pythonライブラリ、PyPIパッケージ名ともに名称は trafilatura

Trafilatura(トラフィラチュラ)

Trafilaturaは一般的なスクレイピングツールよりも「記事の本文だけをきれいに抜き出す」ことに特化しており、以下のような特徴がある。

主な機能と特徴

どのような時に使う?

3. Google Colab でWEBサイトの情報を取得し Trafilatura で加工し Gemini を呼び出すサンプルコードを動かす(1分)

Google Colab(Python)からの Gemini の呼び出しは Google Generative AI SDK を使用する。

以下のコードは、Pythonライブラリの trafilatura でWebサイトを読み込んで本文のみ抽出し、Gemini を呼び出し、抽出した本文と質問に対する回答を生成している。

→ コードをクリップボードにコピーする」でコピーして、コードセル(画面中央のPythonコードの入力欄)に貼り付けて、api_key="Google AI Studio で取得したAPI キー" に自分のAPIキーを貼り付け、左側の ▶(実行ボタン)で実行すると、1分前後 ▶(実行ボタン)がクルクル回転してプログラムが実行される。

実行が終了すると、画面下に
/usr/local/lib/python3.12/dist-packages/google/colab/...
のような表示が続き、その下に質問に対する Gemini の回答が表示される。

非エンジニアさんは、とにかく以下のコードをコピペして、API キーを変更すれば動くんだと思ってくれや。

# 1. Google Generative AI SDK を Python コードにインポート
try:
    import google.generativeai as genai
except ImportError:
    !pip install -U -q google-generativeai
    import google.generativeai as genai

# 2. trafilatura を Python コードにインポート
try:
    import trafilatura
except ImportError:
    !pip install -U -q trafilatura
    import trafilatura

# 3. genai に Google AI Studio で取得したAPI キーを設定
genai.configure(api_key="Google AI Studio で取得したAPI キー")

# 4. Geminiのモデルを指定し、インスタンスを生成
model = genai.GenerativeModel('gemini-2.5-flash')

# 5. URLを指定して本文だけを抽出
downloaded = trafilatura.fetch_url('https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A3%E3%82%A2%E3%83%BB%E3%82%A2%E3%82%BA%E3%83%8A%E3%83%96%E3%83%AB')
tratext = trafilatura.extract(downloaded)

# 6.「シャアを救う方法はあった?」+ 改行コード + 改行コード + trafilaturaで抽出したURLの文章を prompt 変数に代入
prompt = "シャアを救う方法はあった?\n\n" + tratext

# 7. generate_contentメソッドを実行し、戻り値を出力
response = model.generate_content(prompt)
print(response.text)

→ コードをクリップボードにコピーする
api_key="Google AI Studio で取得したAPI キー"は、自分のAPIキーに書き直す

google.generativeai.types.GenerateContentResponse の解説

戻り値(GenerateContentResponse)の構造

おすすめ記事

10日で使えるPHP | 未経験のサルでも分かるPHPの学習サイト 10日で使えるPHP | 未経験のサルでも分かるPHPの学習サイト

文系未経験、サルでも10日でPHPを使えるように内容を構成した独学向け学習サイト。不要な基礎はバッサリ切り捨て必要な基礎を十分に深堀した・・・  続きを見る 

Copyright (C) 2001~2026年 e-elder.jp All Rights Reserved.
運営者情報 ご質問はこちらへお願いします info@e-elder.jp