Estoy intentando abrir la URL de esta API desde la base de luz solar y devolver los datos de la página en json. Este es el código que he producido, menos el paréntesis alrededor de myapikey.
import urllib.request.urlopen import json urllib.request.urlopen("https://sunlightlabs.github.io/congress/legislators?api_key='(myapikey)")
y estoy recibiendo este error
Traceback (most recent call last): File "", line 1, in ImportError: No module named request.urlopen
¿Qué estoy haciendo mal? He investigado en https://docs.python.org/3/library/urllib.request.html y todavía no hay progreso
from urllib.request import urlopen
usar from urllib.request import urlopen
, también le sugiero que use la instrucción with
al abrir una conexión.
from urllib.request import urlopen with urlopen("https://sunlightlabs.github.io/congress/legislators?api_key='(myapikey)") as conn: # dosomething
En Python 3 puedes implementar eso de esta manera:
import urllib.request u = urllib.request.urlopen("xxxx")#The url you want to open
Preste atención: algunos IDE pueden import urllib
(Spyder) directamente, mientras que otros necesitan import urllib.request
(PyCharm).
Esto se debe a que a veces es necesario importar explícitamente las piezas que desea, por lo que el módulo no necesita cargar todo cuando solo quiere una pequeña parte de él.
Espero que esto ayude.
from urllib.request import urlopen from bs4 import BeautifulSoup wiki = "https://en.wikipedia.org/wiki/List_of_state_and_union_territory_capitals_in_India" page = urlopen(wiki) soup = BeautifulSoup(page, "html.parser" ).encode('UTF-8') print (soup)
urllib.request
es un módulo mientras que urlopen
es una función. Echa un vistazo a este enlace, puede ayudarte a aclarar tus dudas. https://docs.python.org/3.0/library/urllib.request.html