What python module replaces urllib2 for use with python 3 and flask?
本问题已经有最佳答案,请猛点这里访问。
事实上,这个问题的措辞可能会更好一些,因为它是为实现这一目标而寻求最佳实践的请求。这是令人沮丧的,因为这应该是容易的。
我正在以书中的烧瓶为例进行指导。我使用的是最新版本的python 3。无法为python 3找到文本中使用的urllib2。从文本中,我们需要urllib2来下载数据,urllib来正确编码参数。只有一个功能,获取天气,因为我找不到有效的更新方法。
我将列出相关的代码行,以显示我正在尝试完成的工作。我用的是最新版本的烧瓶和python 3。我不会列出模板文件,因为直到我尝试下载JSONAPI时问题才出现。
所以,对文件的第一个更改,包括导入URLLIB和JSON。这本书是从2015年Urllib2出版的。我们正试图从openwheathermap.org获取天气信息。由于找不到urllib2,我稍微修改了这本书的代码。
我有
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | WEATHER_URL ="http://api.openweathermap.org/data/2.5/weather?q={}&APPID=myappid" def get_weather(query): query = urllib.parse.quote(query) url = WEATHER_URL.format(query) data = urllib.request.urlopen(url).read() parsed = json.loads(str(data)) weather = None if parsed.get('weather'): weather = {'description': parsed['weather'][0]['description'], 'temperature': parsed['main']['temp'], 'city': parsed['name'], 'country': parsed['sys']['country'] } return weather |
任何建议都将不胜感激。谢谢,布鲁斯
您可以使用具有更干净接口的
库的URL。http://www.python-requests.org/en/master/
你可以的
1 | pip install requests |
在shell/cmd上安装。
在代码中,
1 2 3 | import requests response = requests.get(WEATHER_URL.format(query)) weather = response.json() # or something as easy as this. |
号