我没有更改我的代码,但现在当我尝试运行它时,我正在
urllib.error.HTTPError: HTTP Error 400: Bad Request
在这一行
response = urlopen(url).read().decode('utf8')
网址是
url = 'http://api.wunderground.com/api/f8cb961c53baad52/geolookup/conditions/q/{}/{}.json'.format(state.strip(), city)
我应该等到以后再试一次,因为它一直工作到一个小时之前。
编辑:
我正在使用Python 3.5并已更改为
url = quote("http://api.wunderground.com/api/f8cb961c53baad52/geolookup/conditions/q/{}/{}.json").format(state.strip(), city)
这会产生网址
http%3A//api.wunderground.com/api/f8cb961c53baad52/geolookup/conditions/q/%7B%7D/%7B%7D.json
错误消息
ValueError: unknown url type: 'http%3A//api.wunderground.com/api/f8cb961c53baad52/geolookup/conditions/q/%7B%7D/%7B%7D.json'
编辑2:
我用过
url = 'api.wunderground.com/api/f8cb961c53baad52/geolookup/conditions/q/{}/{}.json'.format(state.strip(), city)
print (url)
url1 = quote(url)
url2 = 'http://'+ url1
要对空格进行编码,但我仍然遇到400错误。我会等到明天再试一次,因为我的访问可能存在问题。
编辑: 它正在与没有空间的城市合作。因此,我将继续尝试使用自己的空间。谢谢你的帮助。
答案 0 :(得分:0)
只需在您的网络浏览器中粘贴示例网址查询,并根据您可能发现的过度使用API的响应或由于使用条款而阻止您的响应。我测试了它,它适用于我。
编辑:PYTHON 3.5正在运作!
import requests
import json
url = "http://api.wunderground.com/api/f8cb961c53baad52/geolookup/conditions/q/{}/{}.json".format('AZ', 'Chandler')
response = requests.get(url=url)
response.json()
输出:
{'current_observation':{'UV':'0',
'dewpoint_c':5,
'dewpoint_f':41,
'dewpoint_string':'41 F(5 C)',
'display_location':{'city':'Chandler',
'country':'US',
'country_iso3166':'US',
....