You are on page 1of 5

Untitled1

July 15, 2023

[6]: import urllib3


import json
import pandas as pd
httpPool = urllib3.PoolManager()
res = httpPool.request("GET","http://httpbin.org/get")
# res est de type bytes, il faut le convertir
page = (res.data.decode("utf-8"))
page

[6]: '<html>\r\n<head><title>504 Gateway Time-


out</title></head>\r\n<body>\r\n<center><h1>504 Gateway Time-
out</h1></center>\r\n</body>\r\n</html>\r\n'

[6]: import json

import urllib3,urllib
import ssl
httpPool = urllib3.PoolManager()
res = httpPool.request("GET","https://httpbin.org/get")
# res est de type bytes, il faut le convertir
page = json.loads(res.data.decode("utf-8"))
val =page
#print (type(val))
#print (val)

cles=val.keys()
for cle in cles:
print (cle , " : ", val[cle])
hs = val[cle].keys()

for h in hs:
print(h ,":", val[cle][h])

args : {}
headers : {'Accept-Encoding': 'identity', 'Host': 'httpbin.org', 'User-Agent':
'python-urllib3/1.26.11', 'X-Amzn-Trace-Id':
'Root=1-64b01d9e-3379b9a657c4a1b55c074dfc'}
Accept-Encoding : identity

1
Host : httpbin.org
User-Agent : python-urllib3/1.26.11
X-Amzn-Trace-Id : Root=1-64b01d9e-3379b9a657c4a1b55c074dfc
origin : 41.82.212.194

---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_10920\2095869959.py in <module>
14 for cle in cles:
15 print (cle , " : ", val[cle])
---> 16 hs = val[cle].keys()
17
18 for h in hs:

AttributeError: 'str' object has no attribute 'keys'

[1]: import requests


import datetime

# ClÃľ API OpenWeatherMap


api_key = "aa6cf46e18f9d828862421a30fe84b43"

# Ville pour laquelle on souhaite obtenir les prÃľvisions


ville = "Poitiers"

# URL de l'API avec les paramÃĺtres nÃľcessaires


url = f"http://api.openweathermap.org/data/2.5/weather?
,→q={ville}&units=metric&appid={api_key}"

# RÃľcupÃľration des donnÃľes mÃľtÃľo


response = requests.get(url)
data = response.json()

# RÃľcupÃľration de la date de demain


date_demain = datetime.datetime.now() + datetime.timedelta(days=1)
date_demain_str = date_demain.strftime("%Y-%m-%d")

# RÃľcupÃľration des informations mÃľtÃľo pour demain


temperature_min = data["main"]["temp_min"]
temperature_max = data["main"]["temp_max"]
humidite = data["main"]["humidity"]
description = data["weather"][0]["description"]
vitesse_vent = data["wind"]["speed"]
lever_soleil = datetime.datetime.fromtimestamp(data["sys"]["sunrise"]).
,→strftime("%Y-%m-%d %H:%M:%S")

2
coucher_soleil = datetime.datetime.fromtimestamp(data["sys"]["sunset"]).
,→strftime("%Y-%m-%d %H:%M:%S")

# Affichage des prÃľvisions pour demain


print(f"{ville}")
print(f"PrÃľvision pour le {date_demain_str}")
print(f"TempÃľratures de {temperature_min}ÂřC Ãă {temperature_max}ÂřC")
print(f"HumiditÃľ : {humidite}%")
print(f"Description : {description}")
print(f"Vitesse du vent : {vitesse_vent} km/h")
print(f"Lever du soleil : {lever_soleil}")
print(f"Coucher du soleil : {coucher_soleil}")

Poitiers
PrÃľvision pour le 2023-07-16
TempÃľratures de 20.23ÂřC Ãă 20.7ÂřC
HumiditÃľ : 55%
Description : broken clouds
Vitesse du vent : 4.63 km/h
Lever du soleil : 2023-07-15 04:19:50
Coucher du soleil : 2023-07-15 19:48:56

[2]: import requests


import datetime

# ClÃľ API OpenWeatherMap


api_key = "aa6cf46e18f9d828862421a30fe84b43"

# Ville pour laquelle on souhaite obtenir les prÃľvisions


ville = "Dakar"

# URL de l'API avec les paramÃĺtres nÃľcessaires


url = f"http://api.openweathermap.org/data/2.5/weather?
,→q={ville}&units=metric&appid={api_key}"

# RÃľcupÃľration des donnÃľes mÃľtÃľo


response = requests.get(url)
data = response.json()

# RÃľcupÃľration de la date de demain


date_demain = datetime.datetime.now() + datetime.timedelta(days=1)
date_demain_str = date_demain.strftime("%Y-%m-%d")

# RÃľcupÃľration des informations mÃľtÃľo pour demain


temperature_min = data["main"]["temp_min"]
temperature_max = data["main"]["temp_max"]
humidite = data["main"]["humidity"]

3
description = data["weather"][0]["description"]
vitesse_vent = data["wind"]["speed"]
lever_soleil = datetime.datetime.fromtimestamp(data["sys"]["sunrise"]).
,→strftime("%Y-%m-%d %H:%M:%S")

coucher_soleil = datetime.datetime.fromtimestamp(data["sys"]["sunset"]).
,→strftime("%Y-%m-%d %H:%M:%S")

# Affichage des prÃľvisions pour demain


print(f"{ville}")
print(f"PrÃľvision pour le {date_demain_str}")
print(f"TempÃľratures de {temperature_min}ÂřC Ãă {temperature_max}ÂřC")
print(f"HumiditÃľ : {humidite}%")
print(f"Description : {description}")
print(f"Vitesse du vent : {vitesse_vent} km/h")
print(f"Lever du soleil : {lever_soleil}")
print(f"Coucher du soleil : {coucher_soleil}")

Dakar
PrÃľvision pour le 2023-07-16
TempÃľratures de 28.49ÂřC Ãă 28.49ÂřC
HumiditÃľ : 80%
Description : broken clouds
Vitesse du vent : 5.79 km/h
Lever du soleil : 2023-07-15 06:47:59
Coucher du soleil : 2023-07-15 19:43:00

[3]: import requests


cp = input("Donner le code postal")
url = "https://api.zippopotam.us/FR/"+cp
req = requests.get(url)
print(req)
print(req.status_code)
print(req.headers)
if (req.status_code == 200):
print ("requete traitÃľ avec succÃĺs")
elif (req.status_code == 404):
print("Attention Page non trouvÃľe")

if (req.headers['Content-Type']=='application/json'):
rep = req.json()
print(rep)
cles = rep.keys()
print(cles)
print("Pays: ",rep['country'])
print ("Code Postale",rep['post code'] )
for place in rep['places']:
print("Ville", place['place name'])

4
print ("Longitude ", place['longitude'] )
print("Longitude ", place['latitude'])

Donner le code postal 17000


<Response [200]>
200
{'Date': 'Sat, 15 Jul 2023 02:16:43 GMT', 'Content-Type': 'application/json',
'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'x-cache': 'hit',
'charset': 'UTF-8', 'vary': 'Accept-Encoding', 'CF-Cache-Status': 'DYNAMIC',
'Report-To': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report\\/
v3?s=%2FVWZ6GlNlhcZ4PKmAZXbGed9mNBTCaFXampK8SnqasvG69RQXTIBO9oe88uzjM8j2sfstbiNd
tBnkgAQHz4%2FlZY160vgGAWyDQgsC6J7p95umvZSqKnsKgWh5k7wJJ%2BcpRV22g%3D%3D"}],"grou
p":"cf-nel","max_age":604800}', 'NEL': '{"success_fraction":0,"report_to":"cf-
nel","max_age":604800}', 'access-control-allow-origin': '*', 'Server':
'cloudflare', 'CF-RAY': '7e6e8143aadff5ca-DKR', 'Content-Encoding': 'br', 'alt-
svc': 'h3=":443"; ma=86400'}
requete traitÃľ avec succÃĺs
{'post code': '17000', 'country': 'France', 'country abbreviation': 'FR',
'places': [{'place name': 'La Rochelle', 'longitude': '-1.15', 'state': 'Poitou-
Charentes', 'state abbreviation': 'B7', 'latitude': '46.1667'}]}
dict_keys(['post code', 'country', 'country abbreviation', 'places'])
Pays: France
Code Postale 17000
Ville La Rochelle
Longitude -1.15
Longitude 46.1667

[ ]:

You might also like