星期五, 十一月 6

获取身份证信息脚本

近来对文本处理脚本有点兴趣,想写点相关的小脚本,没想到也不好写

#!/usr/bin/env python
# coding=utf8
import os;
import sys;

str1="http://www.id5.cn/desktop/parse.do?type=3&icpcode=bhc04&checknum="
str2="&imageField.x=63"
str3=sys.argv[1]

os.system("w3m -dump '" + str1 + str3 + str2 + "' 2>/dev/null > /tmp/ipp")
n1=os.popen("cat /tmp/ipp | sed -n '/发证地/='").readline()
n2=os.popen("cat /tmp/ipp | sed -n '/什么身份信息核查比对/='").readline()
n1 = int(n1)
n2 = int(n2) - 1
os.system("cat /tmp/ipp | sed -n " + str(n1) + "," + str(n2) + "p" )

用shell出现莫名错误,只好用python,其实十分简单,就是从一段文本中获取匹配两行并输出中间的部分。开始认识到awk,sed,grep,cut...这些命令的强大……


显示ip或域名的归属地


#!/usr/bin/env python
# coding=utf8
import os;
import sys;

str1="http://www.ip138.com/ips.asp?ip="
str2=sys.argv[1]

os.system("w3m -dump '" + str1 + str2 + "' 2>/dev/null > /tmp/ipp")
n1=os.popen("cat /tmp/ipp | sed -n '/" + str2 + "/='").readline()
n2=os.popen("cat /tmp/ipp | sed -n '/参考数据二/='").readline()
n1 = int(n1)
n2 = int(n2)

os.system("cat /tmp/ipp | sed -n " + str(n1) + "," + str(n2) + "p" )

显示七天天气预报(接口没弄出来,只是沈阳的):


#!/usr/bin/env python
# coding=utf8
import os;
import sys;

str1="http://qq.ip138.com/weather/liaoning/ShenYang.htm"

os.system("w3m -dump " + str1 + " > /tmp/ipp")

n1=os.popen("cat /tmp/ipp | sed -n '/日期/='").readline()
n2=os.popen("cat /tmp/ipp | sed -n '/风向/='").readline()
n1 = int(n1)
n2 = int(n2)

os.system("cat /tmp/ipp | sed -n " + str(n1) + "," + str(n2) + "p" + " > /tmp/ipp2")
os.system("cat /tmp/ipp2 | sed 3d |sed 5d|sed 6d | more")

没有评论:

发表评论