您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么用python獲取Ip歸屬信息”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用python獲取Ip歸屬信息”吧!
腳本如下:
#!/usr/bin/env python
import requests
import csv
def getIp(file):
iplist = []
fi = open(file, 'r')
for ip in fi:
ip = ip.strip()
iplist.append(ip)
return iplist
def get_geolocation(ip):
r = requests.get('https://freegeoip.net/json/' + ip)
info = [str(r.json()['country_name']), str(r.json()['city'])]
return {'ip':ip, 'country_name':info[0], 'city_name':info[1]}
if __name__ == '__main__':
iplist = getIp('/root/ipfile')
f = open('outputinfo.csv', 'a+')
fieldnames = ['ip', 'country_name', 'city_name']
dict_writer = csv.DictWriter(f, fieldnames=fieldnames)
dict_writer.writerow(dict(zip(fieldnames, fieldnames)))
for ip in iplist:
data = get_geolocation(ip)
dict_writer.writerow(data)
腳本解釋,定義了2個函數,getIp()函數從文件中讀取IP信息,返回一個列表,get_geolocation()函數負責實際得到信息,返回一個字典,接著在主函數打開一個可寫的csv文件,通過循環將得到的信息寫入一個CSV文件中,在寫入csv 文件時用到了csv.DictWriter字典寫的功能,這個還是比較實用,可以將數據結構類型為字典的數據直接寫入csv文件,換句話說就是你只要把你要寫的數據轉換成字典的形式,就可以很方便的寫入了,比如我這句dict(zip(fieldnames, fieldnames))其實就是這個功能,大家以后用到操作csv文件時,可以自己實踐實踐。
到此,相信大家對“怎么用python獲取Ip歸屬信息”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。