CNGeoip — Блог Валерия Леонтьева https://valera.ws Место публикации личных заметок. Технологии, управление, бизнес, жизнь Sun, 26 Dec 2010 18:02:35 +0000 ru-RU hourly 1 https://wordpress.org/?v=5.6.2 https://valera.ws/wp-content/uploads/2020/02/favicon.png CNGeoip — Блог Валерия Леонтьева https://valera.ws 32 32 Информер погоды от Яндекса с определение города по IP (обновление 2) https://valera.ws/2010.12.26~weather-informer-3/ https://valera.ws/2010.12.26~weather-informer-3/#comments Sun, 26 Dec 2010 18:02:35 +0000 http://valera.ws/?p=518 Читать далее Информер погоды от Яндекса с определение города по IP (обновление 2) ]]> Вчера я вновь обновил свой старый сервис, который позволяет показывать пользователям сайта информер погоды в том городе, где они находятся. Все подробности по этому поводу в старой записи.

Недавно Яндекс поменял формат кода информера, который он выдает на странице http://weather.yandex.ru/informer.xml. После этого сервис перестал обрабатывать новые коды. И вот сейчас все вновь работает в штатном режиме.

Полученные ранее информеры продолжают работать без перебоев.

А вот в файле настроек, который нужно размещать на том сервере, где размещается информер, исправлена ошибка в JS коде. В связи с этим, файл настроек необходимо обновить.

Спасибо всем, кто писал свои замечания по поводу работы сервиса. Именно благодаря одному из пользователей удалось заметить, что Яндекс обновил формат кода.

Обо всех замечаниях по работе проекта просьба писать мне на e-mail: feedbee@gmail.com.

]]>
https://valera.ws/2010.12.26~weather-informer-3/feed/ 5
Информер погоды от Яндекса с определение города по IP (готовый код) https://valera.ws/2008.04.05~weather-informer/ https://valera.ws/2008.04.05~weather-informer/#comments Sat, 05 Apr 2008 18:39:57 +0000 http://valera.ws/2008.04.05~weather-informer/ Читать далее Информер погоды от Яндекса с определение города по IP (готовый код) ]]> Недавно я заинтересовался темой отображения информера от Яндекс.Погоды посетителю сайта в соответствии с его местоположением. Сам информер Яндекса показывает погоду только в том городе, который выбрал веб-мастер сайта. На практике смысла в таком информере мало (описано в предыдущей статье). Следовательно надо саому определять город, в котором находится посетитель, и выводить ему нужный информер. В процессе изучения темы, я пришел к выводу, что кроме GeoLite City от MaxMind и CNGeoIP нормальных world-wide баз IP->Город нет. Однако, для взаимодействия с сервисом Яндекса база GeoLite City не подходит.

Таким образом, пришлось остановиться на базе CNGeoIP. Была куплена версия базы и на ней был построен алгоритм получения кода города для информера по IP посетителя. Написанный скрипт работает тут: http://ru.commontools.net/geoip/ya.w.js. Определяется город по IP пользователя, проводится сравнение с базой Яндекса и выводится id города и страны для информера в виде: var yaCountry=20;var yaCity=26850; Скрипт естественно работает на стороне сервера и выводит только id для JS. А на странице с информером скрипт включается в HTML-код страницы через <script src=»…»>. Далее другой незамысловатый скриптик подставляет переменные в код вызова информера и на картинке отображается погода в городе, в котором находится посетитель сайта. Под ней ссылка на настройки информера, где посетитель сможет выбрать другой город, а информация сохранится в cookies.

Итак, результат трудов доступен в виде оттестированной stable-версии. Страничка получения кода находится здесь: http://ru.commontools.net/geoip/ya.weather.get.html. Это страница для получения кода информера. На ней описано, как код получить и прикрутить к сайту.

Уже сейчас можно получить код и разместить его на своем сайте. Сервис будет открытый и дальше, бесплатный и свободный для использования по назначению.

Посмотреть, как информер работает, можно уже сейчас в моем блоге.

P.S. Для любопытных. Домен commontools.net является исключительно вспомогательным, на нем никогда не были и не будут никакие сайты. Только сервисы для собственного и общественного потребления.

UPD. Стадия бета-тестирования завершена. Уже более 7 месяцев информер успешно работает на множестве сайтов, по этому заявляю о стабильности версии. Обновлений пока не планируется, потому что обновлять-то нечего. Если Яндекс поменяет свой алгоритм, тогда-то и будем обновлять.

Постоянно обновляется база IP. На декабрь 2008 работает ноябрьская версия.
UPD2. Сервис обновлен.

]]>
https://valera.ws/2008.04.05~weather-informer/feed/ 14
GeoLite City против CNGeoip https://valera.ws/2008.04.02~cngeoip/ Wed, 02 Apr 2008 10:02:32 +0000 http://valera.ws/2008.04.02~cngeoip/ Читать далее GeoLite City против CNGeoip ]]> Вчера я протестировал базу GeoLite City от Max Ming. Это бесплатная версия базы, почти ничем не отличающаяся от платной версии. После изучения содержимого базы пришел к неутешительным выводам.

В базе немало ошибок в написаниях городов, часто попадаются разные варианты написания (например, Chelyabinsk и Cheliabinsk), вместо городов иногда пишут области, а иногда улицы. Но самая большая проблема, что названия всех городов написаны только в английском/местном варианте латиницей. Для использования на русскоязычных ресурсах такая база практически непригодна. Составить соответствие английских названий русским в автоматическом режиме практически нереальная задача по причинам, описанным выше. А использовать труд операторов для обработки порядка 180 000 локаций в базе могут позволить себе только довольно крупные компании. Ругательство базы GeoLite City можно найти еще на этом форуме.

[Интересно, а какие базы используют Google, Яндекс?]

Других хороших полноценных баз городов (не стран) по IP я не нашел, ни платных, ни бесплатных, кроме одной — это CNGeoip — модуль определения города и страны по IP-адресу. Сразу скажу, что база платная. Стоимость базы на один сайт составляет 99 WMZ (при оплате по WebMoney, на 02.04.2008).

Теперь о возможностях. Я тестировал базу на сайте производителя. Для этого есть демо-версия. Все тестовые запросы дали результат не хуже, чем GeoLite City. Скорость работы нареканий не вызывает.

Но главное преимущество CNGeoip перед GeoLite City — все названия городов и стран доступны и на английском, и на русском языках! То есть применять базу легко можно на сервисах, ориентированных на Рунет.

Разработчики CNGeoip в своем блоге пишут:

«Задача определения города пользователя по IP адресу возникает не так редко как кажется, это и анализ статистики, таргетинг баннеров, автоматическая настройка профайлов пользователей и т.д.

Базу географии найти не то чтобы сложно — накладно.

Реальное качество есть у базы от MaxMinda (это та которую все юзают, но не платят (GeoIPCity :) ). Цена этой базы внушает, за тысячу баксов в год переваливает.

Но вот Россия и СНГ покрыты там с погрешностями, порой смешными. Типа город — ул. Ленина и т.д. Ну в общем все это и так знают.

Давно стали думать чтобы сделать свое решение. Поняли почему берут деньги Максмайндовцы. :)»

На самом деле качество базы CNGeoip по территории бывшего СССР намного превышает качество GeoLite City. [По моим скромным тестам. Если у вас есть контраргументы, добро пожаловать в комменты!]

Тестирование на практике. Во-первых, как я уже писал, протестировать базу всегда можно на демо-странице, там слева пишется ваш определившийся IP и местоположение. Есть и форма для ввода любого IP. Но мне этого конечно было мало. Хотелось бы протестировать базу в реальных условиях. Однако выложенной базы в Сети в открытом виде я не нашел. Пока раздумываю о покупке.

Вывод. Если вы собираетесь создавать коммерческий сервис в Рунете на русском языке, который требует определения страны и города по IP (например, автоподстановка значений в соответствующие поля при регистрации, или вывод информера погоды по городам), однозначно надо смотреть в сторону CNGeoip. Качественных альтернатив нет. 200 долларов за базу плюс год обновлений — копеечная цена.

]]>