-
Notifications
You must be signed in to change notification settings - Fork 1
/
browser_crawler.py
37 lines (27 loc) · 1.01 KB
/
browser_crawler.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from utils import create_browser, save_data, diff_price
from twitter import notify_on_twitter
def browser_crawler(product_url):
# Cria o navegador
browser = create_browser()
# Acessa a pagina do produto
browser.get(product_url)
# Pega o texto do titulo
title = browser.find_element_by_css_selector(".js-header-product h1").text
# Pega o preço pelo atributo content
price = browser.find_element_by_css_selector(
".price-template-price-block meta[itemprop='price']"
).get_attribute("content")
# Fecha o navegador
browser.close()
# Cria um objeto com o titulo e o preço
data = {}
data["title"] = title
data["price"] = float(price)
print(data)
# Verifica se o preço novo é menor do que o antigo
should_notify = diff_price(data["price"])
# Salva o preço atual em arquivo
save_data(data)
# Se deve notificar notificamos no twitter
if should_notify:
notify_on_twitter("Seu produto {} está custando R${}".format(title, price))