天気予報サイト(Python, Flask)

使用技術: FlaskPythonRender

このプロジェクトは、PythonとFlaskフレームワークを使用し、天気予報サイトから情報をスクレイピングして表示するWebアプリケーションです。 Pythonの基礎学習のアウトプットとして、Webスクレイピング、バックエンドAPIの構築、非同期処理(Ajax)、キャッシュの実装といった、実践的なWeb開発技術を盛り込んでいます。

  • Webスクレイピング:
    • requests と Beautiful Soup を使用し、指定した地域の天気情報(天気、最高・最低気温、週間予報)をリアルタイムに取得します。
  • インタラクティブなUI:
    • プルダウンで地域を選択すると、ページをリロードすることなく、JavaScript (fetch API) を使って非同期で天気情報が更新されます。
  • パフォーマンス最適化:
    • Flask-Caching ライブラリを導入し、一度取得した天気情報をサーバーサイドでキャッシュします。これにより、APIの応答速度を向上させ、スクレイピング先のサイトへの負荷を軽減しています。
  • エラーハンドリング:
    • スクレイピング先のサイトがダウンしている場合や、HTML構造が変更された場合にも、ユーザーに分かりやすいエラーメッセージを表示します。

デモサイト:https://tenki-scraper.onrender.com/

GitHub URL : https://github.com/rrencanno/tenki_scraper