Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 13aec7e

Browse files
Merge pull request avinashkranjan#2888 from Abhinavcode13/master-4
Amazon Price Tracker
2 parents bd9629d + 0344a0b commit 13aec7e

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

‎Amazon Price Tracker/script.py‎

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import requests
2+
from bs4 import BeautifulSoup
3+
import time
4+
import smtplib
5+
from email.mime.text import MIMEText
6+
7+
def get_amazon_product_price(product_url):
8+
headers = {
9+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
10+
}
11+
response = requests.get(product_url, headers=headers)
12+
13+
if response.status_code == 200:
14+
soup = BeautifulSoup(response.content, 'html.parser')
15+
price_element = soup.find('span', id='priceblock_ourprice')
16+
17+
if price_element:
18+
price_text = price_element.get_text()
19+
return price_text.strip()
20+
else:
21+
return "Price not available"
22+
23+
else:
24+
return "Failed to retrieve data from Amazon"
25+
26+
def send_email(subject, message):
27+
sender_email = 'your_sender_email@gmail.com'
28+
sender_password = 'your_sender_password'
29+
recipient_email = 'recipient_email@example.com'
30+
31+
msg = MIMEText(message)
32+
msg['Subject'] = subject
33+
msg['From'] = sender_email
34+
msg['To'] = recipient_email
35+
36+
server = smtplib.SMTP('smtp.gmail.com', 587)
37+
server.starttls()
38+
server.login(sender_email, sender_password)
39+
server.sendmail(sender_email, recipient_email, msg.as_string())
40+
server.quit()
41+
42+
if __name__ == "__main__":
43+
amazon_product_url = "https://www.amazon.com/dp/B07RF1XD36/"
44+
target_price = 500 # Set your desired target price
45+
46+
while True:
47+
current_price = get_amazon_product_price(amazon_product_url)
48+
print(f"Current Price: {current_price}")
49+
50+
if current_price != "Price not available":
51+
numeric_price = float(current_price.replace('$', ''))
52+
if numeric_price <= target_price:
53+
subject = f"Price Alert: Amazon Product Price is now ${numeric_price}"
54+
message = f"The price of the Amazon product is now ${numeric_price}. You can check it here: {amazon_product_url}"
55+
send_email(subject, message)
56+
break
57+
58+
# Check the price every hour
59+
time.sleep(3600)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /