怎么用python获取Ip归属信息

本篇内容主要讲解“怎么用python获取Ip归属信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用python获取Ip归属信息”吧!

成都创新互联公司网站建设公司,提供网站设计制作、成都网站建设,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

脚本如下:

#!/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归属信息”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站栏目:怎么用python获取Ip归属信息
分享网址:http://hbruida.cn/article/gcgcjp.html