Skip to content

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

Notifications You must be signed in to change notification settings

66ru/phonecodes

Repository files navigation

Зависимости проекта:

django
scrapy (Требует библиотеки в системе: libxml2, libxslt)

Сервис принимает как POST, так и GET запросы, с одним параметром phone, например:

http://localhost:8000/?phone=89024453043

Даёт ответ:
{
status: 0,
mobile: true,
region: "Свердловская область",
phone: "89024453043",
operator: "Ростелеком",
country: "RU",
message: "ok"
}

Номер может иметь любой формат, например +7(902)445-3043
Только без добавочных и должен состоять обязательно из 11 цифр.

Ошибки:
- при неправильном номере выдает:
{
"status": 1,
"message": "Invalid number.",
"code": 1
}
- при неверном(ненайденном) коде оператора выдает:
{
"status": 1,
"message": "Operator not found.",
"code": 2
}

Парсинг базы с Россвязи запускается так:

cd codeparser; scrapy crawl codes

Парсинг длится порядка 3 часов (основное время занимают операции записи в БД), на это время база блокируется.
Т.к. в основном база используется для чтения, можно использовать sqlite3, к тому же так можно парсить данные
на отдельном сервере и по окончании парсинга просто копировать базу в текущий проект.

Парсинг базы Казахстанского пула номеров запускается так:

cd codeparser; scrapy crawl kzcodes

Добавил базу в репозиторий.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published