Как получить код страны для нескольких IP-адресов одновременно (5 и более), используя базу данных geoip2?

Вот так я получаю название страны для одного IP-адреса за раз, но мне нужно иметь возможность делать несколько, иногда более 50 одновременно.

>>>import geoip2.database
>>>
>>>reader = geoip2.database.Reader('/path/to/GeoLite2-City.mmdb')
>>>
>>>response = reader.city('128.101.101.101')
>>>
>>>response.country.iso_code
>>>
>>>response.country.name

2 ответа

Поместите все IP-адреса в список и переберите список.

reader = geoip2.database.Reader('/path/to/GeoLite2-City.mmdb')
ip_list=['128.101.101.101','198.101.101.101','208.101.101.101','120.101.101.101','129.101.101.101','138.101.101.101','148.101.101.101']
for ip in ip_list:
    response = reader.city(ip)
    print response.country.iso_code
    print response.country.name

или добавьте ip в лист Excel и используйте pandas или xlrd, чтобы прочитать ip в список и повторить их снова, как показано выше.

print(response.city.name) и print(response.traits.network)

Другие вопросы по тегам