|
Баланс СИМ-карты: Ответы разных операторов на запрос |
|
|
|
Oct 13 2015, 07:42
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468

|
Здравствуйте, интересуют ответы разных операторов России, Украины, Белоруссии на запрос баланса счета
ответ Киевстар и Beeline (Украина) +CUSD: 1,"Na rahunku 34.00 grn. Bonusy: *100# null" +CUSD: 1,"Na rahunku 26.30 grn. Nomer die do ...
из этих ответов программно выделить баланс несложно - найти кавычку, после нее искать первую цифру, пока идут цифры или разделитель (точка, запятая) - считать это символами, относящимися к балансу.
встречаются ли отличия в ответах ДРУГИХ операторов - цифры между кавычкой и первым числом баланса, запись баланса словами, а не цифрами, или, скажем, запись баланса в виде "34 rub. 00 kop"
Спасибо.
|
|
|
|
|
 |
Ответов
(1 - 13)
|
Oct 13 2015, 08:18
|

Профессионал
    
Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143

|
Цитата(CADiLO @ Oct 13 2015, 10:59)  Поэтому тогда пришли к выводу что унифицировать разбор отчетов не получится. можно частично решить проблему: на SD иметь файлы под каждого оператора Код oper250_001.ini oper250_002.ini oper250_020.ini oper250_099.ini где в каждом Код [operator] apn="internet.mts.ru" login="" password="" dns1="" dns2="" balance_check="*100#" balance_check_scanf="[b]Na rahunku %f grn[/b]" Чуть-чего либо оператор ручками все корректирует, либо дополнение/исправление с сервера
--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
|
|
|
|
|
Oct 16 2015, 09:38
|
Местный
  
Группа: Участник
Сообщений: 300
Регистрация: 11-06-11
Пользователь №: 65 640

|
Мы таким способом (см ReadBalance) баланс обрабатываем. Не идеально, но в большинстве случаев годится. Т.е. ищем цифры до точки или запятой.
|
|
|
|
|
Oct 17 2015, 10:47
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(megajohn @ Oct 16 2015, 13:00)  даже далеко ехать не надо. Спб-МТС ( 250 01 ). Cusd говорит что "ожидайте смс с балансом" Омск, МТС: на CUSD иногда баланс приходит в ответе, а иногда так как Вы описали - в след. СМС. Никакой системы нет. А если разбирать, то думаю нужно искать первую группу цифр включающих опционально точку или запятую. Реклама вряд-ли будет перед балансом, скорее всегда после. Можно сделать более сложный анализ: искать все группы цифр (соответствующих вышеуказанному шаблону). Если найдено более одной такой группы, то далее - чтобы выбрать одну из этих групп, нужно построить рейтинги для них. Анализируем слова возле этих групп на равенство обозначению одной из валют: "руб", "гр" и др., также ищем слова типа "баланс", "счёт" и подобные типичные для баланса слова. На каждое такое нахождение увеличиваем рейтинг соотв. группы на некоторое число. Предварительно можно разбить весь текст на предложения по точкам и заглавным буквам. Список искомых ключевых слов выбирать в соответствии со страной, определённой по тел. номеру - искать "руб" если номер начинается на +3 не стоит. Число, получившее максимальный рейтинг, и есть результат. Такой алгоритм конечно не даёт 100%-ый результат. Если где-нить найдёте список разных ответов от разных операторов, то можете на нём протестить готовый алгоритм. Проблему с балансом в отдельном СМС решаем так: ответ CUSD не разбираем сразу, ждём неск. секунд СМС, если получили - объединяем оба текста и анализируем вместе. CUSD будет в первом предложении. Рейтинг чисел в первом предложении сделать выше, чем во втором.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|