我正在尝试从ip-api.com检索大多数IP范围的响应。但我想将这些数据存储在Aerospike中,但我遇到了一些错误。
这是Python脚本
# import the module
from __future__ import print_function
import aerospike
import urllib2
config = {
'hosts': [ ('127.0.0.1', 3000) ]
}
try:
client = aerospike.client(config).connect()
except:
import sys
print("failed to connect to the cluster with", config['hosts'])
sys.exit(1)
key = ('ip', 'hit', 'trial')
try:
for i in range(0,255):
for j in range(0,255):
for k in range(0,255):
for l in range(0,255):
if not((i == 198 and j == 168) or (i == 172 and j > 15 and j < 32) or (i == 10)):
response = urllib2.urlopen('http://ip-api.com/json/'+str(i)+'.'+str(j)+'.'+str(k)+'.'+str(l))
html = response.read()
client.put(key, html)
except Exception as e:
import sys
print("error: {0}".format(e), file=sys.stderr)
client.close()
我是Python和Aerospike的新手,实际上是任何无SQL数据库。任何帮助将不胜感激。
答案 0 :(得分:1)
所有来自aerospike视角的代码都是正确的,除非你想要改变
html = response.read()
client.put(key, html)
到
import json
client.put(key, json.load(response))
响应是一个需要转换为json对象的json字符串