python手机号定位_python实现手机号归属地相关信息查询

这段代码展示了如何利用Python从网页抓取手机号码的归属地、运营商等信息。通过打开一个包含手机号码的文件,对每个号码调用`getProviderByPhoneNumber`函数,该函数构造URL并获取网页源码,然后使用正则表达式解析所需信息。最后,将结果写入到`result.log`文件中。
摘要由CSDN通过智能技术生成

根据指定的手机号码,查询其归属地等相关信息,python实现:

手机号文件:phone.txt18815484184

18818701639

18818773287

18818791154

18819026693

18820160604

18823376260

18823669247

18823834556

18824635390

18824722564

18824724252

18824728654

18824731004

18824734215

18824766242

18824932474

18825243001

18825255219

18825269277

18825276414

18825287578

18826014855

18826017814

18826532860

18826573310

18833526414

18837925448

18846911049

18875909323

18876361443

python实现:

# coding=UTF-8

# get provider information by phoneNumber

from urllib import urlopen

import re

# get html source code for url

def getPageCode(url):

file = urlopen(url)

text = file.read()

file.close()

#text = text.decode("utf-8") # depending on coding of source code responded

return text

# parse html source code to get provider information

def parseString(src, result):

pat = []

pat.append('(?<=归属地:).+(?=
)')

pat.append('(?<=卡类型:).+(?=
)')

pat.append('(?<=运营商:).+(?=
)')

pat.append('(?<=区号:)\d+(?=
)')

pat.append('(?<=邮编:)\d+(?=
)')

item = []

for i in range(len(pat)):

m = re.search(pat[i], src)

if m:

v = m.group(0)

item.append(v)

return item

# get provider by phoneNum

def getProvider(phoneNum, result):

url = "http://www.sjgsd.com/n/?q=%s" %phoneNum

text = getPageCode(url)

item = parseString(text, result)

result.append((phoneNum, item))

# write result to file

def writeResult(result):

f = open("result.log", "w")

for num, item in result:

f.write("%s:\t" %num)

for i in item:

f.write("%s,\t" %i)

f.write("\n")

f.close()

if __name__ == "__main__":

result = []

for line in open("test.txt", "r"):

phoneNum = line.strip(" \t\r\n")

getProvider(phoneNum, result)

print("%s is finished" %phoneNum)

writeResult(result)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值