<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-192864362727943504</id><updated>2024-10-04T19:23:14.019-07:00</updated><title type='text'>Блог Web программиста</title><subtitle type='html'>HTTP, PHP, JavaScript, AJAX, XML, CSS, JSON, MySQL</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shuriban.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/192864362727943504/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://shuriban.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05145943557122918917</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-192864362727943504.post-2428124977273955326</id><published>2020-07-21T12:12:00.001-07:00</published><updated>2020-07-21T12:12:02.142-07:00</updated><title type='text'>Тайжина не поддается на уговоры</title><content type='html'>&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;270&quot; src=&quot;https://www.youtube.com/embed/3ilr-655sW8&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://shuriban.blogspot.com/feeds/2428124977273955326/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://shuriban.blogspot.com/2020/07/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/192864362727943504/posts/default/2428124977273955326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/192864362727943504/posts/default/2428124977273955326'/><link rel='alternate' type='text/html' href='http://shuriban.blogspot.com/2020/07/blog-post.html' title='Тайжина не поддается на уговоры'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05145943557122918917</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/3ilr-655sW8/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-192864362727943504.post-8886345550394833936</id><published>2014-05-13T03:19:00.001-07:00</published><updated>2014-05-13T03:19:55.426-07:00</updated><title type='text'>SWAP THE MUSIC</title><content type='html'>&lt;a href=&quot;http://swap-music.ru/&quot;&gt;SWAP THE MUSIC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;col-md-7&quot;&gt;          &lt;h2 class=&quot;featurette-heading&quot;&gt;Ты любишь музыку?  &lt;span class=&quot;text-muted&quot;&gt;Любишь когда она сопровождает тебя всегда и везде?&lt;/span&gt;&lt;/h2&gt;&lt;div class=&quot;lead&quot;&gt;Ты слышишь музыку, которая тебе по настоящему &lt;br /&gt;
нравится и ломаешь голову, где ее можно найти?  &lt;br /&gt;
Ответ на твой вопрос банален и прост - Поменяйся! Возьми послушать и дай&lt;br /&gt;
 взамен свою музыку. Ведь вы делаете так со своими друзьями. &lt;/div&gt;&lt;div class=&quot;col-md-7&quot;&gt;          &lt;h2 class=&quot;featurette-heading&quot;&gt;Ты скажешь, ведь это моя собственность, &lt;span class=&quot;text-muted&quot;&gt; мой диск или моя флешка!&lt;/span&gt;&lt;/h2&gt;&lt;div class=&quot;lead&quot;&gt;Но если в эту схему добавить носитель, который&lt;br /&gt;
 тебе достался абсолютно бесплатно, и человеку в соседней машине он &lt;br /&gt;
достался на тех же правах, как бы было просто взять и поменяться! &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;col-md-7&quot;&gt;          &lt;h2 class=&quot;featurette-heading&quot;&gt;SWAP поможет тебе в этом! &lt;span class=&quot;text-muted&quot;&gt;Делиться музыкой это просто!&lt;/span&gt;&lt;/h2&gt;&lt;div class=&quot;lead&quot;&gt;Представь сообщество людей которые готовы &lt;br /&gt;
делиться своей музыкой с окружающими. SWAP предложит лучшие подборки &lt;br /&gt;
музыки в одном месте!  &lt;br /&gt;
    Увидев на улице машину логотипом движения просто предложи поменяться&lt;br /&gt;
 и слушай новую и действительно стоящую музыку просто, интерактивно и &lt;br /&gt;
абсолютно бесплатно. &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;col-md-7&quot;&gt;          &lt;h2 class=&quot;featurette-heading&quot;&gt;Правила проекта: &lt;span class=&quot;text-muted&quot;&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ul type=&quot;circle&quot;&gt;&lt;li&gt;Общение между участниками группы построено на взаимоуважении и &lt;br /&gt;
проходит в специально отведенных темах в обсуждениях.А не где то там в &lt;br /&gt;
комментариях… &lt;/li&gt;
&lt;li&gt;Запрещается оскорбительное поведение, ненормативная лексика в отношении участников группы.&lt;/li&gt;
&lt;li&gt;Запрещается реклама в сообществе. К нарушителям будет применен бан. &lt;/li&gt;
&lt;li&gt;Запрещается различного рода СПАМ (просьба о добавлении в &lt;br /&gt;
друзья,«поставьте мне лайк», «примите участие в голосовании», и прочее &lt;br /&gt;
нытье. Нарушители отправятся в черный список без предупреждения. &lt;/li&gt;
&lt;li&gt;Приветствуется только обоснованная и конструктивная критика. &lt;/li&gt;
&lt;li&gt;В соответствии с законодательством РФ все материалы, представленные&lt;br /&gt;
 в нашей группе, предназначены исключительно для персонального &lt;br /&gt;
использования в ознакомительных целях. Все права на них принадлежат их &lt;br /&gt;
владельцам.&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;row featurette&quot;&gt;        &lt;div class=&quot;col-md-7&quot;&gt;          &lt;h2 class=&quot;featurette-heading&quot; id=&quot;contacts&quot;&gt;Контактная информация: &lt;span class=&quot;text-muted&quot;&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div class=&quot;lead&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;li&gt;&lt;strong&gt;Администратор:&lt;/strong&gt;&lt;/li&gt;&lt;br /&gt;
Сидоров Никита&lt;br /&gt;&lt;br /&gt;
Личная страница: &lt;a href=&quot;http://vk.com/cinik1990&quot;&gt;Сидоров Никита &lt;/a&gt;&lt;br /&gt; &lt;br /&gt;
Почта: swap.po4ta@gmail.com &lt;br /&gt;
&lt;div class=&quot;lead&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;li&gt;&lt;strong&gt;Идейный лидер:&lt;/strong&gt;&lt;/li&gt;&lt;br /&gt;
Сидельников Артем&lt;br /&gt;&lt;br /&gt;
личная страница: &lt;a href=&quot;http://vk.com/artsidy&quot;&gt;Сидельников Артем &lt;/a&gt; &lt;br /&gt;&lt;br /&gt;
почта: swap.po4ta@gmail.com &lt;br /&gt;
        &lt;/div&gt;&lt;div class=&quot;col-md-5&quot;&gt;          &lt;img alt=&quot;Изображения для контактов&quot; class=&quot;featurette-image img-responsive img-rounded&quot; height=&quot;400&quot; src=&quot;http://swap-music.ru/img/vizitki.png&quot; style=&quot;border: 0px none;&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
        &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://shuriban.blogspot.com/feeds/8886345550394833936/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://shuriban.blogspot.com/2014/05/swap-music.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/192864362727943504/posts/default/8886345550394833936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/192864362727943504/posts/default/8886345550394833936'/><link rel='alternate' type='text/html' href='http://shuriban.blogspot.com/2014/05/swap-music.html' title='SWAP THE MUSIC'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05145943557122918917</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-192864362727943504.post-3813079590539223162</id><published>2012-09-16T04:06:00.000-07:00</published><updated>2012-09-16T04:23:16.581-07:00</updated><title type='text'>Получение тИЦ сайта от Yandex</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Данная задача возникает когда вы собираетесь писать какой либо анализатор сайта.&lt;br /&gt;
Казалось бы, что проще... парсить yandex по ссылке &lt;a href=&quot;http://yaca.yandex.ru/yca/cy/ch/blogger.com/&quot; target=&quot;_blank&quot;&gt;http://yaca.yandex.ru/yca/cy/ch/blogger.com/&lt;/a&gt;&lt;br /&gt;
Но к сожалению Яндекс очень привередливый, и не любит когда его парсят. И если с вашего сервера вырастит трафик то вас или попросят&amp;nbsp; ввести капчу или вовсе забанят.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
В поисках решения этого вопроса наткнулся на денежку от яндекса.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://yandex.ru/cycounter?shuriban.blogger.com&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://yandex.ru/cycounter?shuriban.blogger.com&quot; /&gt;&lt;/a&gt;И вроде бы он отдает ее всем желающим без какой либо проверки, но как получить тИЦ с картинки ? Пришло в голову, что для проверки целостности файла используется его хеш, и на PHP есть функция которая позволяет получить этот самый хэш нашей денежки md5(). И если мы скачаем на сервер картинки с Яндекса зная какой тиц на них нарисован и сравним их хеш с хешем картинки для определенного сайта мы сможем определить его тиц.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-uteIbUZg0hw/UFWlG3aoLGI/AAAAAAAAAEI/JzRl6wmYiHA/s1600/1347790062-clip-4kb%5B1%5D.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;
Опять же встала проблема, надо перебрать сайты со всеми возможными значениями &lt;b&gt;тИЦ&lt;/b&gt;, чтобы собрать все картинки в базу для сравнения. Тут пришел на помощь всеми &lt;strike&gt;не&lt;/strike&gt; любимый Яндекс бар. Он общается с сервером яндекса по средствам XML сообщений и для получения тИЦ сайта достаточно выполнить GET запрос по адресу &lt;a href=&quot;http://bar-navig.yandex.ru/u?ver=2&amp;amp;show=32&amp;amp;url=http://blogger.com&quot; target=&quot;_blank&quot;&gt;http://bar-navig.yandex.ru/u?ver=2&amp;amp;show=32&amp;amp;url=http://blogger.com&lt;/a&gt;. Конечно тут нас яндекс сможет так же забанить при очень частых обращениях. но использую первый способ мы постараемся этого избежать. Запрос к серверу я так же постарался немного украсит заголовками при помощи библиотеки curl, но это совсем другая история.&lt;br /&gt;
&lt;br /&gt;
Объединив эти два способа получение тИЦ, вышел универсальный скрипт.&lt;br /&gt;
&lt;br /&gt;
Мы запрашиваем картинку для указанного сайта, проверяем ее хеш с теми картинками что есть в базе, если находим то водим искомый тИЦ, если нет, то обращаемся к яндекс xml получаем реальный тИЦ сайта и дополняем нашу базу &quot;денежкой&quot; для этого значения тИЦ.&lt;br /&gt;
&lt;br /&gt;
Получается минимум обращения за XML и динамическое пополнение базы с картинками.&lt;br /&gt;
Тем более если Яндекс вдруг решит обновить дизайн картинок то скрипт обновит базу новыми.&lt;br /&gt;
&lt;br /&gt;
Для хранения всех картинок не придется даже использовать базу данный, я просто их сохраняю с именем, соответствующие значению тИЦ.&lt;br /&gt;
В общем все просто. Вот и полученная функция.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #666666;&quot;&gt;function check_tic($host,$xml)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;// Ссылка на получение денюжки&lt;br /&gt;&amp;nbsp;$cy_tpl = &#39;http://yandex.ru/cycounter?&#39;;&lt;br /&gt;&amp;nbsp;//массив хэшей уже имеющихся денежек&lt;br /&gt;&amp;nbsp;$md5_hashes = array();&lt;br /&gt;&amp;nbsp;//сами картинки&lt;br /&gt;&amp;nbsp;$files = glob(&#39;cy/*.gif&#39;);&lt;br /&gt;&amp;nbsp;foreach($files as $file)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; $md5 = md5_file($file);&lt;br /&gt;&amp;nbsp; $name = basename($file, &#39;.gif&#39;);&lt;br /&gt;&amp;nbsp; // сохранение MD5 всех файлов в массив &lt;br /&gt;&amp;nbsp; // соответствие тиц и MD5 хеша&lt;br /&gt;&amp;nbsp; $md5_hashes[$md5] = $name;&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; // определение пути к денежке сайта&lt;br /&gt;&amp;nbsp; $cy_url = $cy_tpl.$host;&lt;br /&gt;&amp;nbsp; // чтение денежки с сервера яндекса&lt;br /&gt;&amp;nbsp; $fp = fopen($cy_url, &#39;r&#39;);&lt;br /&gt;&amp;nbsp; if($fp)&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp; $image = &#39;&#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; while(!feof($fp))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $image .= fread($fp, 1024); &lt;br /&gt;&amp;nbsp;&amp;nbsp; fclose($fp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; // определение MD5 полученной картинки&lt;br /&gt;&amp;nbsp;&amp;nbsp; $md5 = md5($image);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //если нет нужной картинки, скачиваем ее беря тиц с яндекса bar-navig.yandex.ru&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!isset($md5_hashes[$md5])){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $new_tic = cy($xml);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $openedfile = fopen(&#39;cy_buttons/&#39;.$new_tic.&#39;.gif&#39;, &quot;w&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //сохраняем полученную картинку, на будущее =)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; fwrite($openedfile, $image);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; fclose($openedfile);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // а вот и искомый тиц!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $tic = $new_tic;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // а вот и искомый тиц!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $tic = $md5_hashes[$md5];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;return $tic;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Отдельно я вынес функции парсинга XML от Яндекса:&lt;br /&gt;
&amp;nbsp;Как получить сам XML надеюсь додумаете сами.&lt;br /&gt;
&lt;span style=&quot;background-color: #666666;&quot;&gt;function cy($xml){ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; preg_match(&quot;/value=\&quot;(.\d*)\&quot;/&quot;, $xml, $tic); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return($tic[1]!=&quot;&quot;?$tic[1]:0); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shuriban.blogspot.com/feeds/3813079590539223162/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://shuriban.blogspot.com/2012/09/yandex.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/192864362727943504/posts/default/3813079590539223162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/192864362727943504/posts/default/3813079590539223162'/><link rel='alternate' type='text/html' href='http://shuriban.blogspot.com/2012/09/yandex.html' title='Получение тИЦ сайта от Yandex'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05145943557122918917</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>