-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathautomation-code.py
More file actions
43 lines (36 loc) · 1.33 KB
/
automation-code.py
File metadata and controls
43 lines (36 loc) · 1.33 KB
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
38
39
40
41
42
43
import requests
import time
import csv
ceps = [
"85865-160", "89229-101", "88070-760",
"88301-040", "83045-090", "17700-000"
]
def buscar_cep(cep):
try:
url = f"https://viacep.com.br/ws/{cep}/json/"
response = requests.get(url)
response.raise_for_status()
dados = response.json()
if "erro" in dados:
return {"cep": cep, "logradouro": "Não encontrado", "tipo_logradouro": "N/A"}
logradouro = dados.get("logradouro", "Não especificado")
tipo_logradouro = logradouro.split(" ")[0] if " " in logradouro else "N/A"
return {
"cep": cep,
"logradouro": logradouro,
"tipo_logradouro": tipo_logradouro
}
except Exception as e:
return {"cep": cep, "logradouro": "Erro na consulta", "tipo_logradouro": str(e)}
resultados = []
for cep in ceps:
resultados.append(buscar_cep(cep))
time.sleep(0.5)
print(f"{'CEP':<10} {'Logradouro':<30} {'Tipo de Logradouro':<20}")
for r in resultados:
print(f"{r['cep']:<10} {r['logradouro']:<30} {r['tipo_logradouro']:<20}")
with open("ceps_logradouros.csv", "w", newline="", encoding="utf-8") as csvfile:
fieldnames = ["cep", "logradouro", "tipo_logradouro"]
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(resultados)