Python实现的手机号归属地相关信息查询功能示例
本文实例讲述了Python实现的手机号归属地相关信息查询功能。分享给大家供大家参考,具体如下:
根据指定的手机号码,查询其归属地等相关信息,Python实现:
手机号文件:test.txt
13693252552 13296629989 13640810839 15755106631 15119622732 13904446048 18874791953 13695658500 13695658547 15950179080 15573462779 15217624651 15018485989 13706522482 13666519777 13666515188 18857287528 15575394501
python实现:
#coding=UTF-8
#getproviderinformationbyphoneNumber
fromurllibimporturlopen
importre
#gethtmlsourcecodeforurl
defgetPageCode(url):
file=urlopen(url)
text=file.read()
file.close()
#text=text.decode("utf-8")#dependingoncodingofsourcecoderesponded
returntext
#parsehtmlsourcecodetogetproviderinformation
defparseString(src,result):
pat=[]
pat.append('(?<=归属地:).+(?=
)')
pat.append('(?<=卡类型:).+(?=
)')
pat.append('(?<=运营商:).+(?=
)')
pat.append('(?<=区号:)\d+(?=
)')
pat.append('(?<=邮编:)\d+(?=
)')
item=[]
foriinrange(len(pat)):
m=re.search(pat[i],src)
ifm:
v=m.group(0)
item.append(v)
returnitem
#getproviderbyphoneNum
defgetProvider(phoneNum,result):
url="http://www.sjgsd.com/n/?q=%s"%phoneNum
text=getPageCode(url)
item=parseString(text,result)
result.append((phoneNum,item))
#writeresulttofile
defwriteResult(result):
f=open("result.log","w")
fornum,iteminresult:
f.write("%s:\t"%num)
foriinitem:
f.write("%s,\t"%i)
f.write("\n")
f.close()
if__name__=="__main__":
result=[]
forlineinopen("test.txt","r"):
phoneNum=line.strip("\t\r\n")
getProvider(phoneNum,result)
print("%sisfinished"%phoneNum)
writeResult(result)
更多关于Python相关内容可查看本站专题:《PythonSocket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。