python学习-使用ip138查询ip地址归属地
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习-使用ip138查询ip地址归属地相关的知识,希望对你有一定的参考价值。
#!/usr/bin/python #coding:utf-8 import urllib import re import sys def ISIP(s): return len([i for i in s.split('.') if (0<= int(i)<= 255)])== 4 def URL(ip): uip=urllib.urlopen('http://wap.ip138.com/ip.asp?ip=%s'%ip) fip=uip.read() rip=re.compile(r"<br/><b>查询结果:(.*)</b><br/>") result=rip.findall(fip) print "%s\t %s" %(ip,result[0]) def DO(domain): url=urllib.urlopen('http://wap.ip138.com/ip.asp?ip=%s'%domain) f=url.read() r=re.compile(r'> (.*)<br/><b>查询结果:(.*)</b><br/>') result=r.findall(f) #print type(result) for i in result: print "%s\t %s\t %s\t" %(domain,i[0],i[1]) if __name__ == "__main__": if len(sys.argv) < 2: print "请输入IP地址或者域名 (例如:192.168.1.1 / www.baidu.com)" sys.exit() INPUT=sys.argv[1] if not re.findall('(\d{1,3}\.){3}\d{1,3}',INPUT): if re.findall(r'(\w+\.)?(\w+)(\.\D+){1,2}',INPUT) : DOMAIN=INPUT DO(DOMAIN) else: print "输入的IP地址和域名格式不对!" else: if ISIP(INPUT) : IPADDRESS=INPUT URL(IPADDRESS) else: print "IP 地址不合法,请重新输入!"
以上是关于python学习-使用ip138查询ip地址归属地的主要内容,如果未能解决你的问题,请参考以下文章