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 0f36fe4

Browse files
Merge pull request avinashkranjan#42 from madihamallick/master
price_tracker
2 parents 84513bb + c28620a commit 0f36fe4

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

‎price_tracker/amazonprice.py‎

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
import requests
2+
from bs4 import BeautifulSoup
3+
import time
4+
import smtplib
5+
6+
# header = {
7+
# "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"
8+
# }
9+
10+
# Url = "https://www.amazon.in/Apple-AirPods-Wireless-Charging-Case/dp/B07QDRYVCZ/ref=sr_1_1_sspa?crid=2O0YQXVBL4T86&dchild=1&keywords=airpods&qid=1601031081&sprefix=airpod%2Caps%2C615&sr=8-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUFPVUpPNUNIQUE1RUUmZW5jcnlwdGVkSWQ9QTAxNzI3NjJPNlg3OTJFSTVSOE8mZW5jcnlwdGVkQWRJZD1BMDg1MTYzNjJSRUw4VFVKQzQ1TDkmd2lkZ2V0TmFtZT1zcF9hdGYmYWN0aW9uPWNsaWNrUmVkaXJlY3QmZG9Ob3RMb2dDbGljaz10cnVl"
11+
12+
# get your browser information by searching "my user agent"
13+
user_agent = input("Enter your User-Agent string here\n")
14+
headers = {
15+
"User-Agent": f'{user_agent}'
16+
17+
}
18+
Url = input("Drop the Url of product you wish to buy...!\n")
19+
20+
page = requests.get(Url, headers=headers)
21+
soup = BeautifulSoup(page.content, "html.parser")
22+
23+
24+
# print(soup)
25+
26+
27+
def mail_sending(mail_id, title, password):
28+
server_mail = "smtp.gmail.com"
29+
port = 587
30+
server = smtplib.SMTP(server_mail, port)
31+
server.ehlo()
32+
server.starttls()
33+
server.login(mail_id, password)
34+
subject = "GO BUY FAST!"
35+
body = f"Price of {title} is fallen below the threshold amount. Click on the link below to buy the product!!!\n\n" + Url
36+
message = f'Subject:{subject}\n\n {body}'
37+
server.sendmail(mail_id, mail_id, message)
38+
server.quit()
39+
40+
41+
def check_price():
42+
title = soup.find(id="productTitle").get_text().strip()
43+
try:
44+
price = soup.find(id="priceblock_ourprice_row").get_text().strip()[:20].replace('₹', '').replace(' ',
45+
'').replace(
46+
'Price:', '').replace('\n', '').replace('\xa0', '').replace(',', '').replace('Fu', '')
47+
48+
except:
49+
try:
50+
price = soup.find(id="priceblock_dealprice").get_text().strip()[:20].replace('₹', '').replace(' ',
51+
'').replace(
52+
'Price:', '').replace('\n', '').replace('\xa0', '').replace(',', '').replace('Fu', '')
53+
54+
except:
55+
try:
56+
price = soup.find(id="priceblock_ourprice").get_text().strip()[:20].replace('₹', '').replace(' ',
57+
'').replace(
58+
'Price:', '').replace('\n', '').replace('\xa0', '').replace(',', '').replace('Fu', '')
59+
60+
except:
61+
price = soup.find(id="priceblock_ourprice_lbl").get_text().strip()[:20].replace('₹', '').replace(' ',
62+
'').replace(
63+
'Price:', '').replace('\n', '').replace('\xa0', '').replace(',', '').replace('Fu', '')
64+
65+
fixed_price = float(price)
66+
print(title)
67+
print(f'The current price is {fixed_price}')
68+
y_price = (input('Enter the price you wish to get the product at:'))
69+
your_price = y_price.replace(',', '')
70+
mail_id = input("Please enter your email id: ")
71+
password = input("Enter your app password here: ")
72+
print("Thank You! You'll receive an email as soon as the price of product drops...!")
73+
# print(price)
74+
if fixed_price <= float(your_price):
75+
mail_sending(mail_id, title, password)
76+
exit()
77+
else:
78+
pass
79+
80+
81+
while 1:
82+
check_price()
83+
# checks at an interval of 2 hours
84+
time.sleep(7200.00)

0 commit comments

Comments
(0)

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