記事のタイトル/概要/本文を元にニュースの記事の要約をAIに作成してもらい、自分のメールにPDF形式でニュースを送ってもらうpythonスクリプト。
- NewsAPI から最新ニュースのタイトル・概要・本文を取得
- 取得した情報をもとに Gemini API にニュース記事の要約を生成させる
- 生成された要約を PDF に変換
- Gmail を利用して PDF を指定のメールアドレスへ送信
ossysgoogle.generativeairequestssmtplibemail.message.EmailMessagedotenv.load_dotenvweasyprint.HTML
本スクリプトの実行には .env ファイルが必要。
ルートディレクトリに .env を作成し、以下のように設定。
NEWSAPI_KEY=your_newsapi_key
GEMINI_API_KEY=your_gemini_api_key
GMAIL_USER=your_email
GMAIL_APP_PASS=your_email_application_password
GMAIL_RECEIVER=receiver_email
main()内のmaxarticlesで指定。
(デフォルト:maxarticles=5)
get_latest_news(max_articles)内のurlのクエリパラメタを変更。
(デフォルト:country=us,category=business)
NewsAPIのDeveloperプランでは取得できる記事本文に限りがある(200字以降は切り捨てられる)こと、記事本文が存在しない記事もあることからGEMINIに十分な情報をINPUTできていない可能性あり。