批量查询ip地址归属地

Posted Jackie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量查询ip地址归属地相关的知识,希望对你有一定的参考价值。

 1 #!/usr/bin/env python
 2 #-*-coding:utf-8-*-
 3 import urllib
 4 import urllib2
 5 import json
 6 import time
 7 import sys
 8 def check_ipaddr(func,*args, **kwargs):
 9     iplist = func(*args,**kwargs)
10     temp_list =[]
11     for line in iplist:
12         if line.split():
13             a = json.loads(line)
14             b = []
15             for item in a:
16                 if item not in b:
17                     b.append(item)
18             b = "".join(b)
19             temp_list.append(b)
20     return temp_list
21 
22 def check_url(res):
23     ip_list = []
24     f = open(res,r)
25     for line in f:
26         url = "http://freeapi.ipip.net/%s" %line.strip()
27         ip_addr = urllib.urlopen(url).read()
28         time.sleep(0.25)
29         ip_list.append(ip_addr)
30     f.flush()
31     #print len(ip_list)
32     return ip_list
33 
34 def ip_city(ip_file):
35     ip_list = []
36     city_list = []
37     temp =check_ipaddr(check_url,ip_file)
38     f = open(ip_file,r)
39     for i in f:
40         line = i.strip().split(\n)
41         for i in line:
42             ip_list.append(i)
43             #f.flush()
44     for line in temp:
45         city_list.append(line)
46     for i in range(len(ip_list)):
47         l =i+1
48         time.sleep(0.07)
49         print "%s)"%l,ip_list[i],"\t"+"("+ city_list[i] +")"
50     
51     f.flush
52     return ip_city
53 
54 if __name__ == "__main__":
55     if len(sys.argv) >1:
56         ip_city(sys.argv[1])
57     else:
58         print "\033[31;5mPlease pass a file....\033[0m"

 

以上是关于批量查询ip地址归属地的主要内容,如果未能解决你的问题,请参考以下文章

批量查询ip地址归属地

批量查询ip地址归属地

php用IP查询归属地

利用python实现批量查询ip地址归属地址

IP地址归属地查询

Python利用api接口查询IP地址归属地