当我想要自定义网址标记时,我得到TypeError: cannot concatenate 'str' and 'int' objects
" id"需要。
代替单个id(比如303)返回的单个结果,我希望得到变量" station"中声明的所有id的结果。从另一个网址中检索。 代码如下:
import urllib2
import json
#assign the url
url="http://ewodr.wodr.poznan.pl/doradztwo/swd/swd_api.php?dane={%22token%22:%22pcss%22,%22operacja%22:%22stacje%22}"
# open the url
json_obj= urllib2.urlopen(str(url))
output= json.load(json_obj)
station_res= output ['data'] ['features']
for item in station_res:
station= item['id']
url1="http://ewodr.wodr.poznan.pl/doradztwo/swd/meteo_api.php?dane={%22token%22:%22pcss%22,%22id%22:}" +str(station)
json_obj2= urllib2.urlopen(str(url1))
output2= json.load(json_obj2)
for item2 in output2 ['data']:
print item2

现在我试图把#34;电台"作为" url1"中的字符串但它仍然无法识别网址并返回错误:
Traceback (most recent call last):
`File "stations.py", line 23, in <module>`
`for item2 in output2 ['data']:`
KeyError: 'data'
答案 0 :(得分:0)
问题是您在&#39;}&#39;之后添加了id
。所以你的网址看起来像
http://ewodr.wodr.poznan.pl/doradztwo/swd/meteo_api.php?dane={%22token%22:%22pcss%22,%22id%22:}331
什么时候看起来像
http://ewodr.wodr.poznan.pl/doradztwo/swd/meteo_api.php?dane={%22token%22:%22pcss%22,%22id%22:331}
所以我建议:
url1 = 'http://ewodr.wodr.poznan.pl/doradztwo/swd/meteo_api.php?dane={%22token%22:%22pcss%22,%22id%22:' + str(station) + '}'
并且您不需要编写str(url1)
,因为它已经是字符串。