Python在字符串中拆分urllib中的值

时间:2013-02-16 16:09:44

标签: python url split urllib2

我试图从ipinfodb.com获取IP位置和其他内容,但我被卡住了。

我想将所有值拆分为新的字符串,我可以格式化以后的格式。我到目前为止写的是:

resp = urllib2.urlopen('http://api.ipinfodb.com/v3/ip-city/?key=mykey&ip=someip').read()
    out = resp.replace(";", " ")
    print out

在将字符串替换为新字符串之前,输出为:

OK;;someip;somecountry;somecountrycode;somecity;somecity;-;42.1975;23.3342;+05:00

所以我只让它显示

OK someip somecountry somecountrycode somecity somecity - 42.1975;23.3342 +05:00

但问题是这是非常愚蠢的,因为我想在一个字符串中使用它们,但更多,因为我现在所做的是print out并输出它,我想改变它print countryprint city它会输出国家/地区,城市等。我尝试检查他们的网站,有一些课程,但它适用于不同的api版本所以我可以&# 39;使用它(v2,我的是v3)。有谁知道怎么做?

PS。很抱歉,如果答案很明显或者我弄错了,我是Python新手:s

1 个答案:

答案 0 :(得分:1)

您需要将resp文字拆分为;

out = resp.split(';')

现在out是一个值列表,使用索引来访问各种项目:

print 'Country: {}'.format(out[3])

或者,将format=json添加到您的查询字符串中,并从该API接收JSON response

import json

resp = urllib2.urlopen('http://api.ipinfodb.com/v3/ip-city/?format=json&key=mykey&ip=someip')
data = json.load(resp)

print data['countryName']