首頁  >  文章  >  後端開發  >  Python實作號碼歸屬地查詢功能

Python實作號碼歸屬地查詢功能

巴扎黑
巴扎黑原創
2017-08-09 10:57:382969瀏覽

這篇文章主要介紹了Python實現的手機號碼歸屬地相關資訊查詢功能,涉及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
# 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(&#39;(?<=归属地:</span>).+(?=<br />)&#39;)
  pat.append(&#39;(?<=卡类型:</span>).+(?=<br />)&#39;)
  pat.append(&#39;(?<=运营商:</span>).+(?=<br />)&#39;)
  pat.append(&#39;(?<=区号:</span>)\d+(?=<br />)&#39;)
  pat.append(&#39;(?<=邮编:</span>)\d+(?=<br />)&#39;)
  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)

以上是Python實作號碼歸屬地查詢功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn