Comments 134
Мой город определило как Рига. Печально, но порносайты определяют город точнее.
XKCD в тему: xkcd.com/713/
XKCD в тему: xkcd.com/713/
Месье знает толк в порнографии.
Да, а у меня вообще не определен, хотя Яндекс показывает. Понятно, что это из-за частных сегментов сетей межрегиональных провов, которые раздают IP сами по себе. Понятно что крупные игроки добывают инфу потщательнее… А у гугла или яндекса в API нет ничего такого, чтобы получать город по IP? Если нет, то вообще тема очень востребованная и непаханая, сделать вменяемый Geo сервис как веб-службу, там можно еще персонализированную информацию и предпочтения добавить… вообщем что-то без фанатизма, но полезное как пользователю так и ресурсу. Премущества именно службы были б в том, что она хранит, как бы, кросссайтовую информацию, то есть могла бы делиться полезной информацией. Яша и Гугл то немалые «портреты» собирают благодаря установленным повсюду Google Analytics и Яндекс.Метрик, а вот обычным ресурсам такая сингулярность недоступна :)
Спасибо! Такая точность мне не нужна :-)
Ваш IP-адрес: 85.113.49.83
Страна: Россия
Город: Пермь
Ваш IP-адрес: 85.113.49.83
Страна: Россия
Город: Пермь
не пытались русифицировать через онлайн переводчики (аля гугл-транслэйлт и т.п.?)
для точности можно сравнивать перевод через несколько сервисов, и при 100% совпадание утверждать автоматически
для точности можно сравнивать перевод через несколько сервисов, и при 100% совпадание утверждать автоматически
Вряд ли Гугль одобрит 180 тысяч запросов за короткий промежуток времени. Но проверю на досуге.
«Одобрит», вот только лулзов от такого перевода будет тьма. Я переводил свою БД таким образом на русский, замучился править после нее.
только через 1 сервис или несколько, с проверкой совпадений?
До нескольких сервисов я не додумался. Но ваш вариант, боюсь, не сильно упростит дело.
Вот, например, названия городов нашего многогранного мира: West Lake, American Fork, Young. Во всех случаях при переводе на русский вы получите «Западное Озеро», «Американская Вилка» и «Молодой!..». Хотя, в реальной жизни хорошо бы получить «Вэст Лэйк», «Американ Форк» и «Янг» — то есть транскрипцию.
Вот, например, названия городов нашего многогранного мира: West Lake, American Fork, Young. Во всех случаях при переводе на русский вы получите «Западное Озеро», «Американская Вилка» и «Молодой!..». Хотя, в реальной жизни хорошо бы получить «Вэст Лэйк», «Американ Форк» и «Янг» — то есть транскрипцию.
тогда тут речь уже о не переводе
вспоминая 10 летней давности руский язык, названия городов не переводятся
тогда буквально надо транслировать латиницу в кирилицу
вспоминая 10 летней давности руский язык, названия городов не переводятся
тогда буквально надо транслировать латиницу в кирилицу
Да действительно можно не переводить, а делать обратную транслитерацию
Парсить например с www.maxmind.com/app/locate_my_ip, он вроде нормально определяет города.
Парсить например с www.maxmind.com/app/locate_my_ip, он вроде нормально определяет города.
В Google Labs есть сервис транслитерации с API, но 100% ему доверять я бы не рискнул. www.google.com/transliterate/
мне казалось очевидным, что английские названия городов должны оставаться в подобной базе английскими
Как минимум, для русского сайта вы переведете названия стран, чтобы в select'е получить единообразие. Тогда останется открытым вопрос, что делать, например, с адресом: «Таиланд, Chon Buri, Pattaya». Согласитесь, выглядит коряво, когда написано рядом. Многие переводят и регионы с городами поэтому.
но на транслит иностранных названий русскими буквами страшно смотреть :)
Равно как и наоборот: dz.livejournal.com/616388.html
Может географические названия лучше через Википедию «переводить»? Конечно, покрытие не очень, но с крупными городами все нормально будет.
Free GeoLite City от maxmind определил город (Ростов-на-Дону), а ваш скрипт нет:
Ваш IP-адрес: 188.114.31.96
Страна: Россия
Город: Не определен
Ваш IP-адрес: 188.114.31.96
Страна: Россия
Город: Не определен
зы.
Ваш IP-адрес: 89.151.14X.X
Страна: Россия
Город: Новочебоксарск
всегда было Чебоксары, но вдруг стало Новчик О_о
Ваш IP-адрес: 89.151.14X.X
Страна: Россия
Город: Новочебоксарск
всегда было Чебоксары, но вдруг стало Новчик О_о
Новочебоксарск и Чебоксары, судя по гуглокартам, располагаются достаточно близко друг от друга (~15 км.). По идее это допустимая погрешность для свободных баз подобного рода.
А у меня — «город не определён». Хотя вроде как за окном — Чебоксары.
Та же самая ситуация, Чебнет?
Екатеринбург, провайдер «Планета» — история та же ( куцая, либо не очень актуальная база.
Но, наверно это лучше что есть из открытого, т.к. nginx тоже использует эту базу: ngx_http_geoip_module
Но, наверно это лучше что есть из открытого, т.к. nginx тоже использует эту базу: ngx_http_geoip_module
В мою базу из maxmind попали только те диапазоны IP, для названий городов которых я нашёл перевод. Поэтому возможна ситуация, что maxmind определяет ip правильно (по-английски), а мой скрипт не нашёл.
Для тех, кому достаточно английской базы, но важна скорость — посмотрите в сторону модуля nginx GeoIP. Там используется эта же база maxmind.
Для тех, кому достаточно английской базы, но важна скорость — посмотрите в сторону модуля nginx GeoIP. Там используется эта же база maxmind.
Для тех, кому достаточно английской базы, но важна скорость — посмотрите в сторону модуля nginx GeoIP. Там используется эта же база maxmind.
тут можно и mod_geoip заюзать, геолокация далеко не накаждой странице нужна.
P.S.
А зачем все это в mysql? почему не оставить в формате maxmind?
Странное демо:
«IP-адрес не определен»
С учетом того, что у меня статический белый адрес. Через анонимайзеры не хожу… Как так, что не смгло определить с какого IP коннект пришел?
«IP-адрес не определен»
С учетом того, что у меня статический белый адрес. Через анонимайзеры не хожу… Как так, что не смгло определить с какого IP коннект пришел?
Город не определен.
А порнобаннеры, как было сказано выше, определяют)
А порнобаннеры, как было сказано выше, определяют)
Город: Не определен
=(
=(
Словари стран, регионов и городов на разных языках есть тут geo.webnabor.com/?link=6
Единственное там не самая полная база данных и как и везде встречаются некоторые косяки.
Единственное там не самая полная база данных и как и везде встречаются некоторые косяки.
еще остались люди, которые не слышали до 2010 года про MaxMind?
Спасибо, Волгоград, провайдер ЮТК определил верно.
Кстати думаю было бы супер иметь такой сервис в виде онлайн службы с доступом по API.
Кстати думаю было бы супер иметь такой сервис в виде онлайн службы с доступом по API.
Кто бы сделал быстрый REST-сервис для такого дела…
спонсируй железом и каналами
Сколько надо?
А сколько есть? Освою все.
Просто не вижу никакой коммерческой выгоды в этом: просто ленивый жаваскриптер пофантазировал на тему модных аббревиатур. Для серьезного сайта нет проблемы использовать настоящий maxmind + какой-нибудь интерфейс.
Просто не вижу никакой коммерческой выгоды в этом: просто ленивый жаваскриптер пофантазировал на тему модных аббревиатур. Для серьезного сайта нет проблемы использовать настоящий maxmind + какой-нибудь интерфейс.
сервер на сотке всегда найдется. был бы сервис на который не жалко его потратить… Например, эта тема мне нравится и самому интересна.
Допустим. Почему эта затея лучше, чем просто отдать сервер сиротам? (очередному щкольнику под CS) Если вы видите тут перспективы хоть какого-то профита — опишите их.
А там глядишь кто-то и сделает. Может даже я.
А там глядишь кто-то и сделает. Может даже я.
А несерьезный, ну разве он станет за это платить?
сделаемс.
У меня тоже определен максминдом и НЕ определен вами. (95.37.123.74 — Нижний Новгород)
У меня все точно определил:
Ваш IP-адрес: 83.69.129.162
Страна: Узбекистан
Город: Ташкент
Ваш IP-адрес: 83.69.129.162
Страна: Узбекистан
Город: Ташкент
А чем вам ipgeobase.ru/ не подошел?
Тем, что ipgeobase.ru ограничивается городами России.
Ну вы хотя бы для РФ используйте базу от ipgeobase. Я полгода назад тоже делал проект, где нужно было определять с точностью до города — Maxmind по России откровенно сливает.
А что мешает использовать обе базы? Если ipgeobase не находит адрес, спрашиваем у maxmind. Maxmind действительно не очень хорошо работает с российскими адресами — ipgeobase в этом плане много лучше.
Видимо потому, что там только русский сегмент адресов.
Хорошо бы иметь для начала возможность определить населенный пункт пусть даже не по IP… Имейте в виду, что в России до сих пор отсутствует простой перечень населенных пунктов. А приведенная на картах информация систематически противоречит реальным данным, собираемым в частности в ходе переписей.
источник — проф. Алексеев А. И. (географический факультет МГУ), доклад на конференции GeoВласть.
P.S. Это не касается крупных городов и большинства городов вообще — они конечно известны точно.
источник — проф. Алексеев А. И. (географический факультет МГУ), доклад на конференции GeoВласть.
P.S. Это не касается крупных городов и большинства городов вообще — они конечно известны точно.
Как это отсутствует?
КЛАДР (Классификатор АДресов России) как раз-таки и содержит официальный перечень не только населенных пунктов, но даже и улиц с адресами домов и квартир (последнее в открытом доступе недоступно), который к тому же еще и регулярно обновляется.
КЛАДР (Классификатор АДресов России) как раз-таки и содержит официальный перечень не только населенных пунктов, но даже и улиц с адресами домов и квартир (последнее в открытом доступе недоступно), который к тому же еще и регулярно обновляется.
Неточность КЛАДРа постоянно отмечается в форумах — «КЛАДР не является ни полным, ни непротиворечивым».
Да это и очевидно. Основные источники несообразностей сейчас (это из того же доклада Алексеева) — низкая культура делопроизводства и ведения статистики, регулярные изменения статусов населенных пунктов с соответствующей неразберихой в отчетности, активная и плохо контролируемая миграция, задержки с переводом уже построенных населенных пунктов в разряд построенных (таким образом как-то экономят на налогах), всевозможные этнические поселения — особенно возле Москвы, быстрое вымирание русского сельского населения. В учете внутренней миграции элементарно не сходятся концы с концами между регионами.
КЛАДР соответствует некоторой виртуальной реальности, периодически (раз в десять лет обычно — с переписями населения) корректируемой, но в целом не актуальной.
Да это и очевидно. Основные источники несообразностей сейчас (это из того же доклада Алексеева) — низкая культура делопроизводства и ведения статистики, регулярные изменения статусов населенных пунктов с соответствующей неразберихой в отчетности, активная и плохо контролируемая миграция, задержки с переводом уже построенных населенных пунктов в разряд построенных (таким образом как-то экономят на налогах), всевозможные этнические поселения — особенно возле Москвы, быстрое вымирание русского сельского населения. В учете внутренней миграции элементарно не сходятся концы с концами между регионами.
КЛАДР соответствует некоторой виртуальной реальности, периодически (раз в десять лет обычно — с переписями населения) корректируемой, но в целом не актуальной.
Нужно уже делать КЛАДР-OnLine, было бы здорово. С возможностью свободного добавления/редактирования информации. И с разделением «проверенной» и «не проверенной» информации. Способы голосования. Или например чтобы часть информации переходила в статус проверенной после порога числа её использования.
Полностью согласен, Web 2.0. К этому все и идет… Но только почему же только КЛАДР-OnLine? :) Любую информацию нужно локализовывать в пространстве, и во времени, и выкладывать в общедоступное единое хранилище «непроверенной» информации. Это и есть неогеография :)
Любая информация должна содержать ответы на вопросы «Что? Где? Когда?»
Любая информация должна содержать ответы на вопросы «Что? Где? Когда?»
Спасибо, достойная замена давно не обновлявшейся ip2country.csv.
Ставрополь не определился
Определило город верно. При том, что хваленные выше, порнобаннеры определяли город как Пермь.
Судя по отзывам точность определения города сильно ниже=) Я не в Ярославле оказался а в Санкт-Петербурге (
ГлоНасс блеать!
Ваш IP-адрес: 95.79.14.***
Страна: Россия
Город: Не определен
Почему-то ситуация с Нижним Новгородом почти везде такая.
На многих сайтах определяется как Великий Новгород или даже Пермь.
Редко определяется правильно.
Обидно :(
P.S.: Провайдер Дом.ru
Страна: Россия
Город: Не определен
Почему-то ситуация с Нижним Новгородом почти везде такая.
На многих сайтах определяется как Великий Новгород или даже Пермь.
Редко определяется правильно.
Обидно :(
P.S.: Провайдер Дом.ru
Уважаемый netload, вы сделали очень доброе дело. лично я вам очень благодарен, спасибище вам неимоверное! успехов вам во всех начинаниях! давно я таких полезных вещей в нете не видел.
А как по городу и стране определить часовой пояс?
Может, чем-то поможет: download.geonames.org/export/dump/timeZones.txt
Правда, далеко не все города. Только крупные.
Правда, далеко не все города. Только крупные.
По теме: что лучше для определения страны по этой базе?
MySQL или поиск по 28метровому файлу .dat?
MySQL или поиск по 28метровому файлу .dat?
Зависит от того, чем осуществляется поиск по текстовому файлу. Если php — то однозначно mysql.
Если под .dat файлом подразумевается бинарный файл от maxmind — то, однозначно, родное API под нужную платформу.
Решение на MySQL надо еще суметь приготовить, у топикстартера здесь полный провал.
Решение на MySQL надо еще суметь приготовить, у топикстартера здесь полный провал.
www.maxmind.com/app/mylocation — определил правильно (Харьков, Украина)
Ваш netload.biz/ip.php — нет (Киев, Украина).
Скорее ошибка в определении города.
Ваш netload.biz/ip.php — нет (Киев, Украина).
Скорее ошибка в определении города.
Ваш IP-адрес: 77.34.83.XX
Страна: Россия
Город: Владивосток
промазал километров этак на 150… :)
меня определил верно
Ваш IP-адрес:92.241.xxx.237
Страна: Россия
Город: Ижевск
Ваш IP-адрес:92.241.xxx.237
Страна: Россия
Город: Ижевск
Определило как Таиланд, Бангкок, но я на самом деле нахожусь в Чианг Мае!
Я в Тюмени, мне сказали что в Тобольске. Обычно Тюмень определяют как Ебург, реже как Пермь… Но как Тобольск — первый раз)
Может попробовать через википедию перевести?
Делаем парсер, который:
1. Смотрит страничку с названием города на английском языке.
2. Проверяет, город ли это (например, если в правом углу отобразились коодринаты, то точно город)
3. Смотрит название статьи по-русски.
Учитывая то, что в википедии есть даже мелкие городки под 10 000 человек, можно перевести очень много названий и весьма точно.
Делаем парсер, который:
1. Смотрит страничку с названием города на английском языке.
2. Проверяет, город ли это (например, если в правом углу отобразились коодринаты, то точно город)
3. Смотрит название статьи по-русски.
Учитывая то, что в википедии есть даже мелкие городки под 10 000 человек, можно перевести очень много названий и весьма точно.
Что касается MaxMind. Есть один недостаток, заключается он в том, что названия стран, городов хранятся в базе на английском варианте латиницей.
Есть ещё достойные аналоги MaxMind, например:
CNGeoip — платная база адресов с модулем определения города и страны по IP-адресу. По заявлению разработчиков база содержит русские и английские названия городов, стран, регионов и областей. Выполнена улучшенная поддержка городов бывшего СССР, что отличает её в лучшую сторону от базы GeoIP. Если Вы собираетесь создавать коммерческий сервис в Рунете на русском языке, который требует определения страны и города по IP, возможно, стоит посмотреть в сторону CNGeoip.
ООО «Юмисофт» разработчик системы управления сайтами UMI.CMS официальный партнер CNGeoip.
WorldIP от «WIPmania» — база данных, позволяющая определять реальные физические расположения IP-адресов. Она позволяет определять страну пользователя и абсолютно бесплатна для персонального и бизнес-использования. Изюминка базы WorldIP заключается в определении реальной страны размещения пользователя, а не местоположения интернет-провайдера, которому принадлежит пул IP-адресов.
Есть ещё достойные аналоги MaxMind, например:
CNGeoip — платная база адресов с модулем определения города и страны по IP-адресу. По заявлению разработчиков база содержит русские и английские названия городов, стран, регионов и областей. Выполнена улучшенная поддержка городов бывшего СССР, что отличает её в лучшую сторону от базы GeoIP. Если Вы собираетесь создавать коммерческий сервис в Рунете на русском языке, который требует определения страны и города по IP, возможно, стоит посмотреть в сторону CNGeoip.
ООО «Юмисофт» разработчик системы управления сайтами UMI.CMS официальный партнер CNGeoip.
WorldIP от «WIPmania» — база данных, позволяющая определять реальные физические расположения IP-адресов. Она позволяет определять страну пользователя и абсолютно бесплатна для персонального и бизнес-использования. Изюминка базы WorldIP заключается в определении реальной страны размещения пользователя, а не местоположения интернет-провайдера, которому принадлежит пул IP-адресов.
Что-то много комментариев о том, что город определился неправильно. Нужно выдерживать баланс =)
Мой город (Томск) определен верно.
Мой город (Томск) определен верно.
На данный момент в топике около 20 сообщений об ошибке. За это время демо-скрипт запускался ~3,000 раз. Если предположить, что каждый 15-й товарищ решил написать об ошибке, то получим точность 90%, как и было заявлено в тексте статьи.
Есть над чем поработать. Постараюсь в следующей версии повысить точность определения по России за счет ipgeobase.ru
Есть над чем поработать. Постараюсь в следующей версии повысить точность определения по России за счет ipgeobase.ru
Беларусь, Могилев — все в точку!
Киев, а выдало бровары.
А у maxmind база по городам разве не платная? да и потом базу все равно нужно в актуальном состоянии держать…
Иркутск, Россия — полёт нормальный)
Я в Уфе, а пишет Москву. Для города-миллионника можно было бы и точнее. ~1500км разница. На WIPmania все точно, даже провайдер.
Ваш IP-адрес: 194.50.xxx.xxx
Страна: Украина
Город: Бар
Ошибся км на 90
Страна: Украина
Город: Бар
Ошибся км на 90
меня определил
Бруклин, США
возьму БД на всякий случай, спасибо
Бруклин, США
возьму БД на всякий случай, спасибо
Вот есть ещё вариант для стран (на английском).
db.verych.ru/2010/01/12/ip-to-country/
db.verych.ru/2010/01/12/ip-to-country/
Ваш IP-адрес: 91.210.149.74
Страна: Украина
Город: Ялта
Хоть городок и маленький, а определило верно.
Страна: Украина
Город: Ялта
Хоть городок и маленький, а определило верно.
Кстати, можно попробовать с помощью API Яндекс.Карта определить местоположение пользователя.
Например, переходя по указанной ссылке ниже, получим название страны, города и возможно название региона:
Всё что нам нужно, это: var YMaps;
Например, переходя по указанной ссылке ниже, получим название страны, города и возможно название региона:
api-maps.yandex.ru/1.1/index.xml?key=ANpUFEkBAAAAf7jmJwMAHGZHrcKNDsbEqEVjEUtCmufxQMwAAAAAAAAAAAAvVrubVT4btztbduoIgTLAeFILaQ==
Всё что нам нужно, это: var YMaps;
Ого! Думаю, что это довольно точный вариант.
Только похоже API никакого нет у них для того, чтобы получить местонахождение по произвольному IP.
То есть придется инициализировать скрипт у клиента, а потом уже результат распознавания AJAXом переправлять на сервер.
Только похоже API никакого нет у них для того, чтобы получить местонахождение по произвольному IP.
То есть придется инициализировать скрипт у клиента, а потом уже результат распознавания AJAXом переправлять на сервер.
Хм… Яндекс с MaxMind`ом никак не могут решить я в Чикаго или Нью-Йорке.
Хотя я бы с ними с радостью согласился, но за окном Москва…
Хотя я бы с ними с радостью согласился, но за окном Москва…
Определил правильно мой маленький городок но с ошибкой в русском варианте. Не значительно правда — вместо ШебоЙган — ШебоИган.
Вот поэтому у нас (WIPmania) используется собственный метод — основанный на данных с маршрутизаторов
www.wipmania.com/ru/blog/coverage-ip-address-space/
www.wipmania.com/ru/blog/why-worldip-data-rather-than-whois-data-examples/
А города у нас тоже будут…
www.wipmania.com/ru/blog/coverage-ip-address-space/
www.wipmania.com/ru/blog/why-worldip-data-rather-than-whois-data-examples/
А города у нас тоже будут…
netload.biz/ip.php
Ваш IP-адрес: 195.122.234.170
Страна: Россия
Город: Не определен
www.techinfo.net.ru/ip2ruscity/
IP2RusCity — определение города и региона России по ip адресу
Ваш ip — 195.122.234.170, город/регион: Нижний Новгород(8312)/Нижегородская область
БД Ip2Country, страна: Россия
плохо искали — очень плохо!
вообще искать в буржуляндии базы по России дело очень не благодарное. Я вот живу в Нижнем Новгороде, и почти все (я вот не вспомню сейчас какая правильно определяла, но стоила она не менее 100 баксов точно, даж больше) говорят, что я живу в Новгороде (ну а от порнобанеров только улыбка — «Наташа в Новгороде онлайн-зацени» :) )! даже гугл это не сразу распозновал. ну ушь про колво городов в России — я просто молчу. Как уже сказали — город миллионник, и Москва со своими 10-15М (сколько там сейчас точно не знаю) нервно курит в углу :)
Кстати, база www.techinfo.net.ru/ip2ruscity/ платная — 2к в год, но оно того стоит.
Харьков не определён(
Ваш IP-адрес: 95.135.2.200
Страна: Украина
Город: Киев
Пролёт чуть меньше чем в 1000 км :) Прямо снайперская точность!
А вообще имхо автор просто решил этой статьёй познакомить хабраобщество и найти земляков :)
прикрутил последнюю версию БД от ТС, пробил все айпи, указанные в двух ветках по теме.
Все теперь определяется правильно, и Нижний Новгород, и прочие проблемные города.
Скорость исполнения скрипта в среднем около 0,001. Понравилось, буду использовать, спасибо :)
Все теперь определяется правильно, и Нижний Новгород, и прочие проблемные города.
Скорость исполнения скрипта в среднем около 0,001. Понравилось, буду использовать, спасибо :)
Расскажите пожалуйста, по каким словарям переводили города? Если сохранились исходники скриптов, выложите пожалуйста!
Сам спросил, сам ответил, оказывается есть официальный перевод
dev.maxmind.com/faq/geoip#localized_cities
www.maxmind.com//GeoIPLocationCSV-localized.zip
dev.maxmind.com/faq/geoip#localized_cities
www.maxmind.com//GeoIPLocationCSV-localized.zip
Sign up to leave a comment.
База GeoIP – страны и города