0% acharam este documento útil (0 voto)
6 visualizações4 páginas

Automação de Cotações com Python

Anotações python

Enviado por

Rodrigo
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações4 páginas

Automação de Cotações com Python

Anotações python

Enviado por

Rodrigo
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

# Automação Web e Busca de Informações com Python

#### Desafio:

Trabalhamos em uma importadora e o preço dos nossos produtos é vinculado a cotação de:
- Dólar
- Euro
- Ouro

Precisamos pegar na internet, de forma automática, a cotação desses 3 itens e saber


quanto devemos cobrar pelos nossos produtos, considerando uma margem de contribuição
que temos na nossa base de dados.

Base de Dados:
[Link]
ring

Para isso, vamos criar uma automação web:

- Usaremos o selenium
- Importante: baixar o webdriver
from selenium import webdriver
from [Link] import Keys
from [Link] import By

# para rodar o chrome em 2º plano


# from [Link] import Options
# chrome_options = Options()
# chrome_options.headless = True
# navegador = [Link](options=chrome_options)

# abrir um navegador
navegador = [Link]()
# caso queira deixar na mesma pasta do seu código
# navegador = [Link]("[Link]")

[Link]("[Link]

# Passo 1: Pegar a cotação do Dólar


navegador.find_element([Link],
'/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input').send_keys("cotação
dólar")

navegador.find_element([Link],

'/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input').send_keys([Link])
cotacao_dolar = navegador.find_element([Link],

'//*[@id="knowledge-currency__updatable-data-column"]/div[1]/div[2]/span[1]').get_attribute("
data-value")
print(cotacao_dolar)

# Passo 2: Pegar a cotação do Euro


[Link]("[Link]
navegador.find_element([Link],
'/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input').send_keys("cotação
euro")
navegador.find_element([Link],

'/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input').send_keys([Link])

cotacao_euro = navegador.find_element([Link],

'//*[@id="knowledge-currency__updatable-data-column"]/div[1]/div[2]/span[1]').get_attribute("
data-value")
print(cotacao_euro)

# Passo 3: Pegar a cotação do Ouro


[Link]("[Link]

cotacao_ouro = navegador.find_element([Link],
'//*[@id="comercial"]').get_attribute("value")
cotacao_ouro = cotacao_ouro.replace(",", ".")
print(cotacao_ouro)

[Link]()
### Agora vamos atualizar a nossa base de preços com as novas cotações
- Importando a base de dados
# Passo 4: Importar a lista de produtos
import pandas as pd

tabela = pd.read_excel("[Link]")
display(tabela)

Preço
roduto Preço Cotaçã Preço de
Moeda Margem de
s Original o Compra
Venda
Câmera 999.99 Dólar 5 4999.95 1.40 6999.930
0
Canon
Carro 4500.0 Euro 6 27000.0 2.00 54000.00
1
Renault 0 0 0
Notebook 899.99 Dólar 5 4499.95 1.70 7649.915
2
Dell
3 IPhone 799.00 Dólar 5 3995.00 1.70 6791.500
Carro Fiat 3000.0 Euro 6 18000.0 1.90 34200.00
4
0 0 0
Celular 480.48 Dólar 5 2402.40 2.00 4804.800
5
Xiaomi

- Atualizando os preços e o cálculo do Preço Final


# Passo 5: Recalcular o preço de cada produto
# atualizar a cotação
# nas linhas onde na coluna "Moeda" = Dólar
[Link][tabela["Moeda"] == "Dólar", "Cotação"] = float(cotacao_dolar)
[Link][tabela["Moeda"] == "Euro", "Cotação"] = float(cotacao_euro)
[Link][tabela["Moeda"] == "Ouro", "Cotação"] = float(cotacao_ouro)

# atualizar o preço base reais (preço base original * cotação)


tabela["Preço de Compra"] = tabela["Preço Original"] * tabela["Cotação"]

# atualizar o preço final (preço base reais * Margem)


tabela["Preço de Venda"] = tabela["Preço de Compra"] * tabela["Margem"]

# tabela["Preço de Venda"] = tabela["Preço de Venda"].map("R${:.2f}".format)

display(tabela)

Preç
Produto Preço Cotaçã Preço de o de
Moeda Margem
s Original o Compra Vend
a
Câmera 999.99 Dólar 5.244500 5244.44755 1.40 7342.22657
0
Canon 5 7
Carro 4500.0 Euro 5.350622 24077.8010 2.00 48155.6021
1
Renault 0 57 13
Noteboo 899.99 Dólar 5.244500 4719.99755 1.70 8023.99584
2
k Dell 5 3
IPhone 799.00 Dólar 5.244500 4190.35550 1.70 7123.60435
3
0 0
Carro 3000.0 Euro 5.350622 16051.8673 1.90 30498.5480
4
Fiat 0 71 05
Celular 480.48 Dólar 5.244500 2519.87736 2.00 5039.75472
5
Xiaomi 0 0
Joia 20g 20.00 Ouro 292.20000 5844.00000 1.15 6720.60000
6
0 0 0

### Agora vamos exportar a nova base de preços atualizada


# Passo 6: Salvar os novos preços dos produtos
tabela.to_excel("Produtos [Link]", index=False)

Você também pode gostar