批量查询ip地址归属地
生活随笔
收集整理的這篇文章主要介紹了
批量查询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(1)
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('
')
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]," "+"("+ 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 "33[31;5mPlease pass a file....33[0m"
總結
以上是生活随笔為你收集整理的批量查询ip地址归属地的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ghost和原版哪个好ghost好还是原
- 下一篇: 部队优秀团干部会放入档案吗