温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用python获取Ip归属信息

发布时间:2022-05-27 09:26:20 来源:亿速云 阅读:189 作者:zzz 栏目:大数据

本篇内容主要讲解“怎么用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归属信息”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI