<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Персональный блог Валерия Леонтьева &#187; GeoIP</title>
	<atom:link href="http://valera.ws/tag/geoip/feed/" rel="self" type="application/rss+xml" />
	<link>http://valera.ws</link>
	<description>Блог для публикации интересных личных заметок о работе, жизни, событиях... Digital lifestyle, веб-программирование, администрирование серверов и другое</description>
	<lastBuildDate>Sat, 31 Dec 2011 11:52:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Информер погоды от Яндекса с определение города по IP (обновление 2)</title>
		<link>http://valera.ws/2010.12.26~weather-informer-3/</link>
		<comments>http://valera.ws/2010.12.26~weather-informer-3/#comments</comments>
		<pubDate>Sun, 26 Dec 2010 18:02:35 +0000</pubDate>
		<dc:creator>Валера Леонтьев</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[CNGeoip]]></category>
		<category><![CDATA[GeoIP]]></category>

		<guid isPermaLink="false">http://valera.ws/?p=518</guid>
		<description><![CDATA[Вчера я вновь обновил свой старый сервис, который позволяет показывать пользователям сайта информер погоды в том городе, где они находятся. Все подробности по этому поводу в старой записи. Недавно Яндекс поменял формат кода информера, который он выдает на странице http://weather.yandex.ru/informer.xml. После этого &#8230; <a href="http://valera.ws/2010.12.26~weather-informer-3/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://valera.ws/images/ya.w.gif" alt="" width="216" height="144" />Вчера я вновь обновил свой старый сервис, который позволяет показывать пользователям сайта информер погоды в том городе, где они находятся. Все подробности по этому поводу в <a href="http://valera.ws/2008.04.05~weather-informer/comment-page-1/">старой записи</a>.</p>
<p>Недавно <a href="http://valera.ws/tag/yandeks/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Яндекс">Яндекс</a> поменял формат кода информера, который он выдает на странице <a href="http://weather.yandex.ru/informer.xml" target="_blank">http://weather.yandex.ru/informer.xml</a>. После этого сервис перестал обрабатывать новые коды. И вот сейчас все вновь работает в штатном режиме.<span id="more-518"></span></p>
<p>Полученные ранее информеры продолжают работать без перебоев.</p>
<p>А вот в файле настроек, который нужно размещать на том сервере, где размещается информер, исправлена ошибка в JS коде. В связи с этим, файл настроек необходимо <a href="http://ru.commontools.net/geoip/ya.weather.options.txt">обновить</a>.</p>
<p>Спасибо всем, кто писал свои замечания по поводу работы сервиса. Именно благодаря одному из пользователей удалось заметить, что Яндекс обновил формат кода.</p>
<p>Обо всех замечаниях по работе проекта просьба писать мне на e-mail: feedbee@gmail.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://valera.ws/2010.12.26~weather-informer-3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Информер погоды от Яндекса с определение города по IP (обновление)</title>
		<link>http://valera.ws/2010.11.21~informer-pogody-ot-yandeksa-s-opredelenie-goroda-po-ip-obnovlenie/</link>
		<comments>http://valera.ws/2010.11.21~informer-pogody-ot-yandeksa-s-opredelenie-goroda-po-ip-obnovlenie/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 20:59:59 +0000</pubDate>
		<dc:creator>Валера Леонтьев</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Жизнь]]></category>
		<category><![CDATA[GeoIP]]></category>

		<guid isPermaLink="false">http://valera.ws/?p=432</guid>
		<description><![CDATA[Сегодня обновил свой старый сервис, который позволяет показывать пользователям сайта информер погоды в том городе, где они находятся. Все подробности в старой записи по этому поводу. Обновлено: исправлена ошибка, которая в последнее время неприятно сказывалась на работе сервиса; все переведено &#8230; <a href="http://valera.ws/2010.11.21~informer-pogody-ot-yandeksa-s-opredelenie-goroda-po-ip-obnovlenie/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Сегодня обновил свой старый сервис, который позволяет показывать пользователям сайта информер погоды в том городе, где они находятся. Все подробности в <a href="http://valera.ws/2008.04.05~weather-informer/comment-page-1/">старой записи</a> по этому поводу.<br />
 <span id="more-432"></span><br />
 Обновлено:</p>
<ul>
<li>исправлена ошибка, которая в последнее время неприятно сказывалась на работе сервиса;</li>
<li>все переведено на UTF-8</li>
<li>обновлены списки городов и стран <a href="http://valera.ws/tag/yandeks/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Яндекс">Яндекс</a>.Погоды</li>
</ul>
<p>Если вы используете старый файл настрое (полученный до 22 ноября), его <a href="http://valera.ws/2008.04.05~weather-informer/comment-page-1/">необходимо обновить</a>.</p>
<p>Сам сервис: <a href="http://ru.commontools.net/geoip/ya.weather.get.html">http://ru.commontools.net/geoip/ya.weather.get.html</a></p>
<p>UPD. Было проведено <a href="http://valera.ws/2010.12.26~weather-informer-3/">еще одно обновление</a> сервиса.</p>
]]></content:encoded>
			<wfw:commentRss>http://valera.ws/2010.11.21~informer-pogody-ot-yandeksa-s-opredelenie-goroda-po-ip-obnovlenie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Информер погоды от Яндекса с определение города по IP (готовый код)</title>
		<link>http://valera.ws/2008.04.05~weather-informer/</link>
		<comments>http://valera.ws/2008.04.05~weather-informer/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 18:39:57 +0000</pubDate>
		<dc:creator>Валера Леонтьев</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Все рубрики]]></category>
		<category><![CDATA[CNGeoip]]></category>
		<category><![CDATA[GeoIP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[Яндекс]]></category>

		<guid isPermaLink="false">http://valera.ws/2008.04.05~weather-informer/</guid>
		<description><![CDATA[Недавно я заинтересовался темой отображения информера от Яндекс.Погоды посетителю сайта в соответствии с его местоположением. Сам информер Яндекса показывает погоду только в том городе, который выбрал веб-мастер сайта. На практике смысла в таком информере мало (описано в предыдущей статье). Следовательно &#8230; <a href="http://valera.ws/2008.04.05~weather-informer/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Недавно я заинтересовался темой отображения информера от <a href="http://weather.yandex.ru/" target="_blank">Яндекс.Погоды</a> посетителю сайта <em>в соответствии с его местоположением</em>. Сам информер Яндекса показывает погоду только в том городе, который выбрал веб-мастер сайта. На практике смысла в таком информере мало (<a href="http://valera.ws/2008.03.31~ya-weather/" target="_blank">описано</a> в предыдущей статье). Следовательно надо саому определять город, в котором находится посетитель, и выводить ему нужный информер. В процессе изучения темы, я пришел к выводу, что  кроме <a href="http://valera.ws/2008.04.01~ip-to-city/" target="_blank">GeoLite City от MaxMind</a> и <a href="http://valera.ws/tag/cngeoip/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  CNGeoip">CNGeoIP</a> нормальных world-wide баз <a href="http://valera.ws/tag/ip/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  IP">IP</a>-&gt;Город нет. Однако, для взаимодействия с сервисом Яндекса база <a href="http://valera.ws/tag/geolite-city/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  GeoLite City">GeoLite City</a> <a href="http://valera.ws/2008.04.02~cngeoip/" target="_blank">не подходит</a>.</p>
<p><span id="more-44"></span></p>
<p>Таким образом, пришлось остановиться на базе  <a href="http://valera.ws/2008.04.02~cngeoip/" target="_blank">CNGeoIP</a>. Была куплена версия базы и на ней был построен алгоритм получения кода <a href="http://valera.ws/tag/goroda/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  города">города</a> для информера по IP посетителя. Написанный скрипт работает тут: <em>http://ru.commontools.net/<a href="http://valera.ws/tag/geoip/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  GeoIP">geoip</a>/ya.w.js</em>. Определяется город по IP пользователя, проводится сравнение с базой Яндекса и выводится id города и страны для информера в виде: <em>var yaCountry=20;var yaCity=26850;</em> Скрипт естественно работает на стороне сервера и выводит только id для JS. А на странице с информером скрипт включается в HTML-код страницы через <em>&lt;script src=&raquo;&#8230;&raquo;&gt;</em>. Далее другой незамысловатый скриптик подставляет переменные в код вызова информера и на картинке отображается погода в городе, в котором находится посетитель сайта. Под ней ссылка на настройки информера, где посетитель сможет выбрать другой город, а информация сохранится в cookies.</p>
<p><img src="http://valera.ws/images/ya.w.gif" alt="" align="left" />Итак, результат трудов доступен в виде оттестированной stable-версии. Страничка получения кода находится здесь: <a href="http://ru.commontools.net/geoip/ya.weather.get.html" target="_blank">http://ru.commontools.net/geoip/ya.weather.get.html</a>. Это страница для получения кода информера. На ней описано, как код получить и прикрутить к сайту.</p>
<p>Уже сейчас можно получить код и разместить его на своем сайте. <strong>Сервис будет открытый и дальше, бесплатный и свободный для использования по назначению.</strong></p>
<p>Посмотреть, как информер работает, можно уже сейчас <a href="http://valera.ws/" target="_blank">в моем блоге</a>.</p>
<p>P.S. Для любопытных. Домен commontools.net является исключительно вспомогательным, на нем никогда не были и не будут никакие сайты. Только сервисы для собственного и общественного потребления.</p>
<p><strong>UPD.</strong> Стадия бета-тестирования завершена. Уже более 7 месяцев информер успешно работает на множестве сайтов, по этому заявляю о стабильности версии. Обновлений пока не планируется, потому что обновлять-то нечего. Если <a href="http://valera.ws/tag/yandeks/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Яндекс">Яндекс</a> поменяет свой алгоритм, тогда-то и будем обновлять.</p>
<p>Постоянно обновляется база IP. На декабрь 2008 работает ноябрьская версия.<br />
<strong>UPD2.</strong> Сервис <a href="http://valera.ws/2010.11.21~informer-pogody-ot-yandeksa-s-opredelenie-goroda-po-ip-obnovlenie/">обновлен</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://valera.ws/2008.04.05~weather-informer/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Использование базы IP по городам от MaxMind</title>
		<link>http://valera.ws/2008.04.01~ip-to-city/</link>
		<comments>http://valera.ws/2008.04.01~ip-to-city/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 18:02:04 +0000</pubDate>
		<dc:creator>Валера Леонтьев</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Все рубрики]]></category>
		<category><![CDATA[GeoIP]]></category>
		<category><![CDATA[GeoLite City]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[lookupLocation]]></category>
		<category><![CDATA[Max Ming]]></category>
		<category><![CDATA[города]]></category>

		<guid isPermaLink="false">http://valera.ws/2008.04.01~ip-to-city/</guid>
		<description><![CDATA[Используем базу IP по городам GeoLite City от MaxMind. Зона покрытия этой базы описана здесь. Лицензия проста как кактус: пользуйтесь на здоровье, даже в коммерческих целях, но все рекламные материалы и документация к продукту должны содержать фразу: &#171;This product includes &#8230; <a href="http://valera.ws/2008.04.01~ip-to-city/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.maxmind.com/app/geolitecity" target="_blank"><img src="http://www.maxmind.com/images/button_geoip2.gif" border="0" hspace="5" vspace="5" width="258" height="91" align="left" /></a>Используем базу <a href="http://valera.ws/tag/ip/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  IP">IP</a> по городам <a href="http://www.maxmind.com/app/geolitecity" target="_blank">GeoLite City</a> от <a href="http://www.maxmind.com/" target="_blank">MaxMind</a>. Зона покрытия этой базы описана <a target="_blank" href="http://www.maxmind.com/app/geolite_city_accuracy">здесь</a>. <a target="_blank" href="http://www.maxmind.com/download/geoip/database/LICENSE.txt">Лицензия</a> проста как кактус: пользуйтесь на здоровье, даже в коммерческих целях, но все рекламные материалы и документация к продукту должны содержать фразу: &laquo;This product includes GeoLite data created by MaxMind, available from http://maxmind.com/&raquo;. Ну и как обычно — никаких гарантий. От платной версии free-базу отличает чуть-чуть худшее покрытие. Но нам это не мешает.</p>
<p><span id="more-39"></span>Данная библиотека существует в виде <a target="_blank" href="http://pecl.php.net/">PECL</a>-расширения, которое не идет в стандартном наборе с PHP. Если модуль у вас на сервере установлен, <a target="_blank" href="http://www.slaed.biz/ref.geoip.html">пользуйтесь им</a>, если нет — используйте библиотеку отдельно. Кстати, <a target="_blank" href="http://www.maxmind.com/app/city#api">API  базы</a> есть для разных языков.</p>
<p>В репозитории PEAR <a target="_blank" href="http://pear.php.net/package/Net_GeoIP/">находится библиотека</a> для доступа к файлу базы. А сам файл базы необходимо <a href="http://www.maxmind.com/app/installation?city=1">скачать с сервера</a> и ежемесячно обновлять. Скачали базу, скачали API. Распаковали базу (файл GeoLiteCity.dat и каталог <a href="http://valera.ws/tag/geoip/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  GeoIP">GeoIP</a>). Каталог <a href="http://valera.ws/tag/geoip/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  GeoIP">GeoIP</a> нужно положить в каталог Net (последний создать), или изменить строку 663 строку в файле <a href="http://valera.ws/tag/geoip/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  GeoIP">GeoIP</a>.php.</p>
<p>База готова к эксплуатации. Посмотрите, как работает <a target="_blank" href="http://valera.ws/extraz/GeoIP/index.php"><strong>пример</strong></a> отпределения IP посетителя сайта по базе. Вот код примера (index.php):</p>
<pre>&lt;?php
    print "Search Started&lt;br \&gt;\r\n";    

    require('GeoIP.php');
    $geoip = Net_GeoIP::getInstance('GeoLiteCity.dat', Net_GeoIP::STANDARD);
    $data = $geoip-&gt;<a href="http://valera.ws/tag/lookuplocation/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  lookupLocation">lookupLocation</a>(
        isset($_SERVER['HTTP_REMOTE_ADDR']) ? $_SERVER['HTTP_REMOTE_ADDR'] : $_SERVER['REMOTE_ADDR'] //nginx?
    );   

    if ( is_null($data) )
        print "Region wasn't found!&lt;br \&gt;\r\n";
    else
        print "Found! You are from {$data-&gt;city}, {$data-&gt;countryName}&lt;br \&gt;\r\n";   

    print "© 2008, &lt;a href=\"http://valera.ws/\"&gt;feedbee&lt;/a&gt;&lt;br /&gt;\r\n";   

    print "This product includes GeoLite data created by MaxMind, available from &lt;a href=\"http://www.maxmind.com/\"&gt;http://www.maxmind.com/&lt;/a&gt;.";   

?&gt;</pre>
<p>Обратите внимание, что если не найден IP в базе, будет возвращен NULL. Но вомзможен случай, когда не будет найден только город, а страна найдется. В этом случае $data-&gt;city вернет NULL.</p>
]]></content:encoded>
			<wfw:commentRss>http://valera.ws/2008.04.01~ip-to-city/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Коды городов Яндекс.Погоды</title>
		<link>http://valera.ws/2008.03.31~ya-weather/</link>
		<comments>http://valera.ws/2008.03.31~ya-weather/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 19:21:45 +0000</pubDate>
		<dc:creator>Валера Леонтьев</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Все рубрики]]></category>
		<category><![CDATA[GeoIP]]></category>
		<category><![CDATA[города]]></category>
		<category><![CDATA[погода]]></category>
		<category><![CDATA[Яндекс]]></category>

		<guid isPermaLink="false">http://valera.ws/2008.03.31~ya-weather/</guid>
		<description><![CDATA[На сайте Яндекс.Погода существует сервис информеров. При установке к себе на сайт информера, необходимо выбрать город, который будет на информере отображаться. А как показать на информере не выбранный город, а город, в котором находится посетитель? Прогноз на сервисе от Яндекса довольно &#8230; <a href="http://valera.ws/2008.03.31~ya-weather/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://img.yandex.net/i/yandex.png" border="0" alt="" hspace="5" vspace="5" width="82" height="43" align="left" />На сайте <a href="http://weather.yandex.ru/" target="_blank">Яндекс.Погода</a> существует <a href="http://weather.yandex.ru/informer.xml " target="_blank">сервис информеров</a>. При установке к себе на сайт информера, необходимо выбрать город, который будет на информере отображаться. А как показать на информере не выбранный город, а город, в котором находится посетитель?</p>
<p><span id="more-37"></span>Прогноз на сервисе от Яндекса довольно точный. Я пользуюсь им постоянно. Потому и выбрал информер на свои сайты именно от этого сервиса. Он красивый, информативный, стабильный (<a href="http://valera.ws/tag/yandeks/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  Яндекс">Яндекс</a> падает крайне-&#8230;-крайне редко).</p>
<p>Однако, при установке к себе на сайт информера, необходимо выбрать город, <a href="http://valera.ws/tag/pogoda/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  погода">погода</a> в котором будет на информере отображаться.  Хорошо, если вся тусовка на сайте — посетители из одного <a href="http://valera.ws/tag/goroda/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  города">города</a>. А что если нет (наверное 98% случаев)? Например, аудитория блогов обычно абсолютно разбита по разным странам, не говоря уже о городах. Тогда такой информер  не очень практичен, ведь мало кому интересна <a href="http://valera.ws/tag/pogoda/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  погода">погода</a> в вашем регионе.</p>
<p>Выхода из ситуации три. <strong>Первый</strong> проще, но решает только половину проблемы. При регистрации пользователя в системе, заставляйте его вводить город. И если город совпадет со <a href="http://valera.ws/2008.03.31~ya-weather/#s">списком Яндекса</a>, который я подготовил в текстовом виде, то выводите ему соответствующий информер. Можно тот же список использовать и в качестве автоподстановки в поле ввода города при регистрации. Половину проблемы решает, потому что работает только после регистрации.</p>
<p><strong>Второй</strong> выход — использование базы городов по <a href="http://valera.ws/tag/ip/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  IP">IP</a>-адресам. Но следуюет учитывать, что базы такие платные, их надо постоянно обновлять и данные в них точны лишь с какой-то степенью (например, 90%). Ну и не стоит забывать, что некоторые используют анонимные прокси. Базы: <a href="http://www.maxmind.com/app/city" target="_blank">MaxMind GeoIP® City Database</a>, <a href="http://www.cn-software.com/ru/cngeoip/" target="_blank">CNGeoip</a>, <a href="http://ip2city.ru/" target="_blank">IP2City</a>.</p>
<p><img src="/images/ya.w.form.gif" border="0" alt="" hspace="5" vspace="5" width="197" height="300" align="left" /><strong>Третий</strong> выход самый простой, но у него есть большой недостаток. Собственно, по порядку. Вы вешаете информер с каким-то городом по умолчанию. Под ним (или над ним) делает ссылку &laquo;Настроить регион&raquo;. Или даже вместо самого информера по умолчанию можно разместить эту ссылку. Человек на нее кликает, ему выдается список городов от Яндекса. Посетитель выбирает свой город, информация сохраняется в cookie пользователю. А при следующей загрузке страницы сайта информация из куков подставляется в информер, и посетитель видит погоду с родном городе. Большой минус этого способа в том, что он применим только на сайте с постоянной аудиторией. Т.к. посетители тех же блогов обычно быстро уходят с сайта и редко к нему возвращаются, поэтому давать им настройку информера просто нет смысла. (Поэтому я в своем блоге не стал это делать.)</p>
<p><strong>01.04.08: Рализация для 2+3 варианта уже написана. </strong> <a href="http://valera.ws/extraz/ya.weather.html" target="_blank">Предсталена страница</a> с работающим кодом на JS, который сохраняет настройки в cookies. Вы можете использовать страницу на своих сайтах (открывайте HTML-код и внедряйте его себе).</p>
<p>Пример кода информера (красным выделен код города — подставляется в 2 места):</p>
<p>&lt;a href=&raquo;http://www.yandex.ru/redir?dtype=stred&amp;pid=7&amp;cid=1228&amp;url=http://weather.yandex.ru/index.xml?city=<span style="color: #ff0000;">7737</span>&laquo;&gt;&lt;img src=&raquo;http://info.weather.yandex.net/informer/175&#215;114/<span style="color: #ff0000;">7737</span>.png&raquo; border=&raquo;0&#8243; alt=&raquo;Яндекс.Погода&raquo;/&gt;&lt;img width=&raquo;1&#8243; height=&raquo;1&#8243; src=&raquo;http://www.yandex.ru/redir?dtype=stred&amp;pid=7&amp;cid=1227&amp;url=http://img.yandex.ru/i/pix.gif&raquo; mce_src=&raquo;http://www.yandex.ru/redir?dtype=stred&amp;pid=7&amp;cid=1227&amp;url=http://img.yandex.ru/i/pix.gif&raquo; alt=&raquo;" border=&raquo;0&#8243;/&gt;&lt;/a&gt;</p>
<p>Список городов брал с сайта Яндекс.Погоды. Выловилось почему-то только 1676 из 1681 заявленого на сайте. Перевод сделан через <a href="http://www.google.com/translate_t" target="_blank">Переводчик Google</a>. Файл состонит из 3 столбцов: 1) код города по Яндексу, 2) название города по Яндексу (на русском), 3) перепод по Гуглу на английский. В переводе есть спец-символы в UTF, вместо которых в csv-версии символы вопроса. Сохранен в 4-х вариантах: 1) <a href="http://valera.ws/files/ya.weather/cities.xls" target="_blank">файл Excel</a>, 2) <a href="http://valera.ws/files/ya.weather/cities-utf16.txt" target="_blank">текст с разделителем табуляция (UTF-16)</a>, 3) <a href="http://valera.ws/files/ya.weather/cities-utf8.txt" target="_blank">текст с разделителем табуляция (UTF-8)</a>, 4) <a href="http://valera.ws/files/ya.weather/cities-cp1251.csv" target="_blank">CSV в cp1251</a>. Только не спрашивайте, почему сделал так, просто выберите себе подходящий формат и конвертируйте его как угодно.</p>
<p>По наличию времени я реализую   несколько способов, описанных выше и выложу в блог код. Но пока решил выложить список городов и рассказать идеи, на случай, если кто-то еще подхватит написание кода и добьется успеха в реализации, а потом поделится кодом со всеми ;) Да и сам-то код можно написать на разных языках программирования.</p>
]]></content:encoded>
			<wfw:commentRss>http://valera.ws/2008.03.31~ya-weather/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

