The Complete Python Pro Bootcamp 2023: Day 47/100
47日目の100 Days of Codeで、Amazonの商品価格を追跡するPythonスクリプトを作成しました。
スクリプトは特定のAmazon製品の現在の価格を取得し、設定した目標価格と比較して、安くなった場合にはメールで通知します。
セキュリティの観点から、Emailの認証情報はコード内に直接記載せず、環境変数を使用するようにしました。
100 Days of Codeの旅へようこそ!今日で47日目ですが、これまでの道のりは素晴らしいものでした。Pythonの世界に深く潜り込んできたことは、このブログを見てくださっている方ならご存知でしょう。今日も引き続きPythonのスキルを応用しましたが、今回は現実世界の問題を解決することを目指しました。
コンセプト
お買い得な商品が嫌いな人はいないでしょう。しかし、商品の価格が下がるまで監視するのは面倒です。そこでPythonスクリプトの出番です。アイデアは、このプロセスを自動化することです。Pythonスクリプトは、特定のAmazon商品ページにアクセスし、現在の価格をスクレイピングし、目標価格と比較します。便利でしょう?
ビルディングブロック
使用モジュール
Requests: ウェブページの取得。
bs4からのBeautifulSoup: WebページのHTMLコンテンツを解析し、特定の情報を抽出します。
smtplib: メールを送信するためのものです。
os: Emailのログイン情報のような機密情報を格納する環境変数を処理するため。
作成された機能
商品価格の取得
Amazon商品のURLを取得する関数を定義しました。この関数はHTTP GETリクエストを実行し、ページのHTMLコンテンツを取得します。その後、BeautifulSoupを利用してこのコンテンツを解析し、特に商品価格を探します。見つかったら、この価格を浮動小数点数として返します。
アラートメールの送信
もう1つの関数は、電子メールを送信するために定義されました。この関数は受信者のメールアドレスとメールメッセージを引数として受け取ります。smtplib`を使用して、この関数はGmail SMTPサーバーに接続し、指定されたメールアドレスにアラートメールを送信します。
まとめ
これらの関数を定義した後、いくつかの基本的な設定を行います:
ターゲットURL: ターゲットURL**: 監視したいAmazonの商品URL。
ターゲット価格: 商品を購入したい価格帯。
受信者メールアドレス: アラートの送信先メールアドレス。
実行
すべてが設定されると、スクリプトはAmazonから現在の商品価格を取得します。価格が目標価格を下回った場合、指定したアドレスにメールが送信されます。メールには商品のURLと、今が買い時である旨が記載されます。
重要なセキュリティ上の注意
Emailの認証情報のような機密情報をコードに直接保存することは推奨されません。この目的のためには環境変数を使うのがよいでしょう。このスクリプトでは `os` モジュールを使ってこのようなことを行っています。
おわりに
47日目のまとめです。今日はAmazonの価格トラッカーを作りました。このプロジェクトは勉強になっただけでなく、非常に実用的でした。これからの53日間が楽しみです!
ハッピーコーディング!
この記事が気に入ったらサポートをしてみませんか?