Открытие url с помощью urllib в python 3
Я пытаюсь открыть URL этого API из sunlight foundation и вернуть данные со страницы в json. вот код, который я создал, за вычетом скобок вокруг myapikey.
import urllib.request.urlopen
import json
urllib.request.urlopen("https://sunlightlabs.github.io/congress/legislators?api_key='(myapikey)")
и получаю эту ошибку
Traceback (most recent call last):
File "<input>", line 1, in <module>
ImportError: No module named request.urlopen
что я делаю не так? Я изучил https://docs.python.org/3/library/urllib.request.html и все еще не достиг прогресса.
18
3
Необходимо использовать
from urllib.request import urlopen
, также советую использовать операторwith
при открытии соединения.В Python 3 это можно реализовать следующим образом:
Обратите внимание: Некоторые IDE могут
импортировать urllib
(Spyder) напрямую, а некоторым необходимоимпортировать urllib.request
(PyCharm).Это связано с тем, что иногда необходимо явно импортировать нужные части, чтобы модуль не загружал все подряд, когда вам нужна только небольшая часть.
Надеюсь, это поможет.
urllib.request
- это модуль, аurlopen
- функция. Посмотрите эту ссылку, она может помочь вам развеять ваши сомнения. https://docs.python.org/3.0/library/urllib.request.html