# Error al acceder a API para descargar datos con Python (\[Errno 11001\] getaddrinfo failed)

**URL:** https://pyar.discourse.group/t/error-al-acceder-a-api-para-descargar-datos-con-python-errno-11001-getaddrinfo-failed/1095
**Category:** Sin categoría
**Created:** [31 Marzo, 2023 11:54 UTC](https://pyar.discourse.group/t/error-al-acceder-a-api-para-descargar-datos-con-python-errno-11001-getaddrinfo-failed/1095 "2023-03-31T11:54:50Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Su80](https://avatars.discourse-cdn.com/v4/letter/s/9d8465/32.png) [@Su80](https://pyar.discourse.group/u/Su80)
#### Post date: [31 Marzo, 2023 11:54 UTC](https://pyar.discourse.group/t/error-al-acceder-a-api-para-descargar-datos-con-python-errno-11001-getaddrinfo-failed/1095/1 "2023-03-31T11:54:50Z")

</div>

Buenas, estoy intentando replicar este ejemplo de GitHub, pero me salen dos errores y no consigo solucionarlo, me pasa desde tres ordenadores distintos y se supone que funciona a la perfección. Lo errores son estos:

line 955, in getaddrinfo  
for res in \_socket.getaddrinfo(host, port, family, type, proto, flags):  
socket.gaierror: [Errno 11001] getaddrinfo failed

y

line 1351, in do\_open  
raise URLError(err)  
urllib.error.URLError: \<urlopen error [Errno 11001] getaddrinfo failed\>

El enlace del ejemplo completo es este:

> **[GitHub - SanPen/ESIOS: Comprehensive library to access the Spanish...](https://github.com/SanPen/ESIOS)**
>
> Comprehensive library to access the Spanish electricity market entity (ESIOS), in python 3 - GitHub - SanPen/ESIOS: Comprehensive library to access the Spanish electricity market entity (ESIOS), i...

Descargo el contenido completo en una carpeta y ejecuto example.py

El código de ese módulo principal es:

```auto
from ESIOS import *
from matplotlib import pyplot as plt
import urllib #lo he añadido yo
from urllib.request import urlopen #lo he añadido yo
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

if __name__ == ' __main__':
    # Request arguments
    end_ = datetime.datetime.today()
    start_ = end_ - datetime.timedelta(days=30)
    # The token is unique: You should ask for yours to: Consultas Sios <consultasios@ree.es>
    token = '615e6d8c80629b8eef25c8f3d0c36094e23db4ed50ce5458f3462129d7c46dba'
    esios = ESIOS(token)

    # esios.save_indicators_table()
    # indicators_ = [600, 672, 673, 674, 675, 676, 677, 680, 681, 682, 683, 767, 1192, 1193, 1293]
    indicators_ = list()
    # indicators_.append(682) # Precio de Regulación Secundaria subir
    # indicators_.append(683) # Precio de Regulación Secundaria bajar
    indicators_.append(600) # Precio mercado SPOT Diario
    # indicators_.append(1293) # Demanda real
    indicators_.append(551) # Eólica T.Real
    # names = esios.get_names(indicators_)
    df_list, names = esios.get_multiple_series(indicators_, start_, end_)

    df_merged = esios.merge_series(df_list, names) # merge the DataFrames into a single one

    df = df_merged[names] # get the actual series and neglect the rest of the info

    # plot
    fig, ax1 = plt.subplots()

    df[names[0]].plot(ax=ax1) # demand
    ax1.set_xlabel('time')
    ax1.set_ylabel('MW')

    # secondary axis
    ax2 = ax1.twinx()
    df[names[0::]].plot(ax=ax2) # others
    ax2.set_ylabel('€')

plt.show()

```

Y el error que arroja es este, alguna idea de cómo solucionarlo?? he probado todo lo que he visto por google sin éxito, gracias!:

Getting the indicators…  
Parsing Precio mercado SPOT Diario  
Traceback (most recent call last):  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\urllib\request.py”, line 1348, in do\_open  
h.request(req.get\_method(), req.selector, req.data, headers,  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\http\client.py”, line 1276, in request  
self.\_send\_request(method, url, body, headers, encode\_chunked)  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\http\client.py”, line 1322, in \_send\_request  
self.endheaders(body, encode\_chunked=encode\_chunked)  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\http\client.py”, line 1271, in endheaders  
self.\_send\_output(message\_body, encode\_chunked=encode\_chunked)  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\http\client.py”, line 1031, in \_send\_output  
self.send(msg)  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\http\client.py”, line 969, in send  
self.connect()  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\http\client.py”, line 1441, in connect  
super().connect()  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\http\client.py”, line 940, in connect  
self.sock = self.\_create\_connection(  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\socket.py”, line 824, in create\_connection  
for res in getaddrinfo(host, port, 0, SOCK\_STREAM):  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\socket.py”, line 955, in getaddrinfo  
for res in \_socket.getaddrinfo(host, port, family, type, proto, flags):  
socket.gaierror: [Errno 11001] getaddrinfo failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):  
File “c:\Users\miusuario\Downloads\ESIOS-master\ESIOS-master\example.py”, line 44, in   
df\_list, names = esios.get\_multiple\_series(indicators\_, start\_, end\_)  
File “c:\Users\miusuario\Downloads\ESIOS-master\ESIOS-master\ESIOS.py”, line 284, in get\_multiple\_series  
df\_new = self.get\_data(indicator, start, end)  
File “c:\Users\miusuario\Downloads\ESIOS-master\ESIOS-master\ESIOS.py”, line 238, in get\_data  
result = self. **get\_query\_json** (indicator, start\_str, end\_str)  
File “c:\Users\miusuario\Downloads\ESIOS-master\ESIOS-master\ESIOS.py”, line 206, in **get\_query\_json**  
with urllib.request.urlopen(req) as response:  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\urllib\request.py”, line 216, in urlopen  
return opener.open(url, data, timeout)  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\urllib\request.py”, line 519, in open  
response = self.\_open(req, data)  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\urllib\request.py”, line 536, in \_open  
result = self.\_call\_chain(self.handle\_open, protocol, protocol +  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\urllib\request.py”, line 496, in \_call\_chain  
result = func(\*args)  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\urllib\request.py”, line 1391, in https\_open  
return self.do\_open(http.client.HTTPSConnection, req,  
File “C:\Users\miusuario\AppData\Local\Programs\Python\Python310\lib\urllib\request.py”, line 1351, in do\_open  
raise URLError(err)  
urllib.error.URLError: \<urlopen error [Errno 11001] getaddrinfo failed\>

---

<div class="post-metadata">

### Author: ![facundo](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/facundo/32/7_2.png) [@facundo](https://pyar.discourse.group/u/facundo)
#### Post date: [4 Abril, 2023 16:30 UTC](https://pyar.discourse.group/t/error-al-acceder-a-api-para-descargar-datos-con-python-errno-11001-getaddrinfo-failed/1095/2 "2023-04-04T16:30:16Z")

</div>

Parece que está tratando de acceder a internet y no puede. La llamada de `getaddrinfo` es la base de convertir un nombre de dominio a una IP…

¿Tenés internet donde estás ejecutando eso?

---

<div class="post-metadata">

### Author: ![Su80](https://avatars.discourse-cdn.com/v4/letter/s/9d8465/32.png) [@Su80](https://pyar.discourse.group/u/Su80)
#### Post date: [4 Abril, 2023 16:46 UTC](https://pyar.discourse.group/t/error-al-acceder-a-api-para-descargar-datos-con-python-errno-11001-getaddrinfo-failed/1095/3 "2023-04-04T16:46:28Z")

</div>

Buenas! He probado con 3 ordenadores distintos y tres conexiones distintas para replicar el ejemplo que os pongo. Has probado si te sale el ejemplo de git? Yo pensaba que lo mismo habían modificado algo en la url
