我正在尝试解析 Shodan 查询结果并仅打印与我设置的条件匹配的结果。输出需要采用 JSON 格式,以便稍后在 Splunk 中集成。
我想遍历元素集并删除一个元素,如果它与country_code
“US”的位置不匹配。
这是我的代码:
import shodan
import os
import sys
import json
SHODAN_API_KEY = os.environ.get("SHODAN_API_KEY")
api = shodan.Shodan(SHODAN_API_KEY)
query = sys.argv[1]
try:
query_results = api.search(query)
except shodan.APIError as err :
print('Error: {}'.format(err))
for element in query_results['matches']:
if 'US' in format(element['location']['country_code']):
del element
print(query_results['matches'])
但是有了这段代码,我element
就不会从query_result['matches']
.