Определение оператора сотовой связи и региона по номеру мобильного телефона
Предложенный скрипт позволяет по номеру мобильного телефона определить регион и оператора сотовой связи.
Вызывать скрипт необходимо следующим образом:
./check_oper_id.py PHONENUMBER
Здесь PHONENUMBER – десятизначный номер проверяемого мобильного телефона.
В случае успешной проверки результат будет возвращен в виде:
REG=OPCODE
Здесь REG – код региона, OPCODE – код оператора сотовой связи.
#!/usr/bin/python
# -*- coding: utf-8 -*-
__author__ = 'Andrey Smirnov'
__email__ = 'mail@ansmirenov.ru'
import requests
import json
import sys
from requests.auth import HTTPBasicAuth
def check1(phone):
try:
res = requests.get('http://mnp.tele2.ru/gateway.php?%s' % phone).json()
return (int(res['response']['geocode']['code']), int(res['response']['mnc']['code']))
except:
return None
def check2(phone):
try:
res = requests.get('http://moscow.shop.megafon.ru/get_ajax_page.php?action=getMsisdnInfo&msisdn=7%s' % phone).json()
return (int(res['region_id']), int(res['operator_id']))
except:
return None
def write_log(logname, msg):
f = open(logname, 'a')
f.write(msg)
f.close()
def run(ph):
c1, c2 = check1(ph), check2(ph)
log = 'log/check_oper_id/err.log'
if c1 != c2:
write_log(log, 'Разный результат проверки')
return
if c1 is None:
write_log(log, 'Сайты недоступны')
return
print '%d=%d' % c1
run(sys.argv[1])