Определяем оператора по префиксу и региону

clubmen

Профессор
Регистрация
18 Янв 2010
Сообщения
222
Реакции
49
Друзья, доброго времени суток. Столкнулся с такой делемой... есть мобильный номер телефона (РФ). Номера хранятся в базе. При выводе нужно дописывать к номеру его принадлежность к региону и оператора к которому принадлежит номер.

На выходе хочу получить следующее (89670000000 (Билайн - регион Москва))

Суть вопроса, откуда брать данные о принадлежности оператора, и региона к которому принадлежит номер? Может есть уже классы готовые?

P,S заранее благодарен за вашу помощь.
 
Друзья, доброго времени суток. Столкнулся с такой делемой... есть мобильный номер телефона (РФ). Номера хранятся в базе. При выводе нужно дописывать к номеру его принадлежность к региону и оператора к которому принадлежит номер.

На выходе хочу получить следующее (89670000000 (Билайн - регион Москва))

Суть вопроса, откуда брать данные о принадлежности оператора, и региона к которому принадлежит номер? Может есть уже классы готовые?

P,S заранее благодарен за вашу помощь.
Из классов попался под Шведских операторов
Для просмотра ссылки Войди или Зарегистрируйся

Данные я бы брал отсюда: Для просмотра ссылки Войди или Зарегистрируйся
Простой запрос: Для просмотра ссылки Войди или Зарегистрируйся
Пример: Для просмотра ссылки Войди или Зарегистрируйся (номер с головы)
и забираешь результат на лету
а ajax и т.д. уже на твое усмотрение

Update:
Аналогично
Для просмотра ссылки Войди или Зарегистрируйся

Вот неплохая реализация совмещенная обоих сервисов на python:
Глядя на нее не составит проблем переписать на php

Код:
#!/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])
 
Последнее редактирование:
Назад
Сверху