天気予報サイト(Python, Flask)
このプロジェクトは、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