批量查询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('\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"

 

转载于:https://www.cnblogs.com/zl-py/p/6212331.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值