Яндекс для всех.
Глава 3. Читаем новости.
3.1. Что такое Яндекс. Новости.
В Интернете ищут не только статичную информацию, раз опубликованную и редко изменяющуюся, но и текущую, быстроменяющуюся. И это несмотря на наличие огромного числа привычных информационных источников — радио и телевидения, газет и журналов. С каждый годом все большее количество людей читает текущие новости в онлайне. Для одних такой способ получения информации является наиболее быстрым (например, для игроков на бирже), для других — наиболее удобным (не надо приобретать десятки газет, которые через день будут выброшены). Особенно удобен способ получения новостной информации через Интернет тогда, когда хочется узнать различные точки зрения на одно и то же событие. А в этом случае одного, пусть даже и любимого, сайта бывает недостаточно. Приходится посещать сайты разных информационных агентств или изданий, при этом существует большая вероятность, что наиболее интересные мнения найдены не будут.
Значительно проще следить за новостями с помощью сервиса, который собирает их с различных сайтов, агрегирует по темам, релевантности, времени публикации. Такие сервисы существуют, и их немало. Как правило, это сервисы, которые сами не являются производителями контента. Какому из подобных сервисов отдаст предпочтение тот или иной человек, зависит от возможностей, им предоставляемых, удобства использования, качественности и своевременности подаваемой информации. В число наиболее посещаемых и, следовательно, наиболее удобных и качественных сервисов такого рода, входят и Яндекс. Новости.
3.1.1. С чего начинались Яндекс. Новости.
Начало работы с новостными сайтами у поисковика складывалось примерно так же, как и работа с веб-ресурсами. Поисковые роботы обходили новостные сайты, собирали контент, добавляли его в Индекс, после чего посетители поисковой системы могли найти в ней не только информацию из документов, но и из новостей. Отличие было в том, что новостные сайты обновляют свою информацию на порядки чаще, чем иные сетевые ресурсы. Поэтому частота обхода роботами новостных сайтов была значительно выше, доходя для наиболее значимых ресурсов до 5-10 минут. Какое-то время уходило на индексирование, после чего информация становилась доступной для поиска.
Яндекс. Новости открылись в июне 2000 года и включали в поисковую базу информацию из пятнадцати источников. Этот сервис был первой полностью автоматической службой сбора и обработки новостей. Новости не только индексировались и помещались в Индекс, но также раскладывались по тематическим рубрикам. Новостная база стала одной из первых в перечне дополнительных параллельных поисков Яндекса — заголовки новостей можно было получить по результатам поискового запроса на отдельной вкладке результатов поиска.
Но новостных источников становилось все больше. И уже к 2003 году их количество перевалило за сотню (сегодня партнерами Яндекс. Новостей являются почти 2000 интернет-СМИ, и в их числе — информационные агентства широкого профиля, электронные версии печатных СМИ, сетевые издания, сайты телеканалов и радиостанций, тематические, специализированные и региональные ресурсы). Стало ясно, что первоначальный способ сбора и индексирования новостей уже перестал себя оправдывать, появилось множество дублирующих новостей, выполненных по типу copy+paste. Пришло время менять принцип сбора и обработки новостей.
В том море новостей, которое обрушилось на поисковую систему, нужно было выбрать наиболее важные, значимые новости. Это стало одной из первоочередных задач развития сервиса. А для этого необходимо было научиться, во-первых, находить и соединять сообщения на одну тему, а, во-вторых, упорядочивать сообщения по важности — для того чтобы общественно значимые события последних нескольких часов или всего дня оказывались бы максимально экспонированы.
Как собирают сюжеты.
Как собрать в едином сюжете новости, опубликованные в различных источниках? В почтовой службе это легче — есть исходное письмо, и если есть ответы на него, то они "сцепляются" друг с другом и попадают в одно обсуждение. В новостях все намного сложнее — нет единого названия, тексты сообщений могут отличаться друг от друга весьма значительно. В то же время новости относятся к одному и тому же событию, следовательно, должны попасть в один сюжет. И вот что по этому поводу говорят разработчики системы поиска по новостям:
Центральная задача, которая стояла перед нами, — научиться отождествлять сообщения, относящиеся к одному и тому же сюжету. Очевидно, что эта задача лучше всего решается анализом текста и поиском максимально похожих документов. Для определения попарной текстуальной близости сообщений мы использовали модифицированный для небольших однородных текстов алгоритм поиска похожих документов и алгоритм нечеткого поиска по кворуму. Как и любой поиск Яндекса, этот алгоритм работает с учетом морфологических вариантов русских и английских слов, причем для агнонимов (то есть "неизвестных системе слов"), составляющих в Яндекс. Новостях значительную часть словника, используется методика нахождения ближайших морфологических эквивалентов. Для частичного снятия морфологической омонимии в Яндекс. Новостях используются статистические эвристики. Затем матрица попарной близости обрабатывается алгоритмом кластеризации с тщательно подобранным радиусом. Для того чтобы увеличить связность крупных сюжетов, мы дополнительно использовали кластеризацию второго уровня, собирая атомарные кластеры в более крупные. Такой алгоритм дает полноту около 85–90 % (то есть не более 15 % сообщений ошибочно не попадают в сюжеты) и обеспечивает точность около 95 % — в сюжетах редко встречаются сообщения на другие темы. Отдельной задачей стало оптимальное представление и аннотирование сюжета: выбор наилучшего заголовка (зависит от его длины, свежести и максимального соответствия теме) и "цитатной" аннотации, необходимой для короткого и точного описания сюжета. Кроме того, появилась группировка по сюжетам не только текстовых сообщений, но и фото-, аудио- и видеофайлов.Немного сложно, особенно в плане используемых терминов, но суть все же понятна.
Ранжирование сюжетов.
Собрать новости, опубликованные в различных изданиях, в один сюжет — только часть того, что должен предоставить пользователю сервис. И по тематикам распределить — тоже только часть. А что из этих новостей вывести на первый план, что можно оставить в общем списке? Очередная задача — какие принципы положить в основу ранжирования.
Безусловно, основными факторами, влияющими на ранжирование, являются свежесть и размер сюжета (не новости как таковой!). Свежесть — это время публикации новостей в сюжете, размер сюжета отражает общий интерес СМИ к конкретной теме. Чем интереснее для читателей тема, тем большее количество СМИ опубликует новость и даст свои комментарии. Кроме того, учитываются количество и схожесть сообщений от конкретных изданий. Не секрет, что издания, как и веб-сайты, имеют разный рейтинг, складывающийся из многих показателей. Такие издания, как РБК, Inopressa.ru, Лента. ru будут иметь более высокий рейтинг по многим новостным тематикам, нежели региональные издания, чей рейтинг может быть выше в части новостей, касающихся лишь их региона.
Дополнительно для ранжирования сюжетов используется глобальный анализ сходства, позволяющий, в частности, находить интернет-издания с высокой степенью текстуального пересечения и учитывать этот фактор в ранжировании сюжетов.
Еще один показатель, оказывающий влияние на ранжирование сюжетов, — это наша с вами, посетителями Яндекса, работа с поиском. Количество запросов в минуту составляет при обычной дневной загрузке около 2 тыс. Этих данных вполне достаточно для того, чтобы учитывать аномалии запросов для ранжирования сюжетов в Новостях. (Ведь что такое аномалия в запросах — это наш с вами интерес к событиям.).
3.1.2. Формирование новостного блока.
У Яндекс. Новостей свыше полутора тысяч информационных партнеров. Казалось бы, зачем информационным изданиям отдавать свои новости для публикации на другом ресурсе? Это должно было бы понижать посещаемость основного поставщика новостей. На самом деле все получается наоборот.
Яндекс. Новости не занимаются републикацией новостей. На новостных страницах размещается лишь заголовок и краткая аннотация. Для того чтобы прочитать новость полностью, посетитель должен будет перейти на сайт-первоисточник. Следовательно, количество посетителей у информационного сайта не только не уменьшается, а наоборот, возрастает.
Для информационных партнеров Яндекс разработал специальную партнерскую программу, где каждый участник принимает на себя определенные обязательства. К партнерству приглашаются не только центральные издания, но и региональные, что позволяет Яндекс. Новостям формировать региональные новостные ленты. Но не все издания могут стать партнерами. Обязательным условием является соблюдение партнерами действующего российского законодательства. Партнеры службы — профессиональные издания, предоставляющие качественную информацию. Еще одно условие партнерства в том, что транслируемые данные должны находиться в свободном бесплатном доступе в Интернете (необходимость регистрации считается ограничением свободного доступа).
Не будут информационными партнерами издания, занимающиеся плагиатом, не имеющие собственных источников информации и публикующие только перепечатки уже опубликованных новостей. Не смогут стать информационными партнерами издания, относящие себя к "желтой" прессе. Повышать посещаемость за счет такого рода новостей не является целью Яндекса.
Если в начале существования службы Новостей специальный поисковый робот Яндекса обходил новостные ресурсы, собирая и индексируя информацию, то теперь ситуация изменилась. Информационные партнеры Яндекса сами (с использованием структуры экспортных файлов, предлагаемой Яндексом) предоставляют Новостям свою информацию. Как правило, входящая информация обрабатывается и индексируется каждые 10 минут. При этом издания не обязаны выдавать свои новости с такой же частотой, но частота обновления должна быть заявлена изданием при заключении партнерского соглашения. По словам Елены Колмановской, соглашения о партнерстве заключены у Яндекса со всеми средствами информации, которые предоставляют свои публикации для службы Новостей. В противном случае может возникнуть ситуация, аналогичная тому, что случилось с Google.
Суд Бельгии оштрафовал Google за нарушение авторских прав. Поисковая интернет-служба Google оштрафована бельгийским судом на 3 млн евро за нарушение авторских прав на публикации бельгийских СМИ. Ряд ведущих бельгийских франкоязычных СМИ в начале осени прошлого года выдвинули судебный иск против Google. Издатели обвинили американскую компанию в том, что она открывает доступ к их публикациям, размещенным на интернет-сайтах бельгийских СМИ, без предварительной подписки или оплаты. Источник: Русская служба новостей, http://www.rusnovosti.ru.Многие новостные издания часть своей информации распространяют по подписке. Как и когда эта информация может быть предоставлена Яндекс. Новостями в своих лентах, специально оговаривается при заключении соглашения между партнерами. Такой подход минимизирует вероятность возникновения конфликтных ситуаций, а посетители Новостей могут получить максимально доступную информацию.
О том, в каком виде информация попадает на индексацию в Яндекс, можно узнать в опубликованном на Яндексе материале для СМИ. В частности, там сказано, что на Яндекс отправляется полный текст сообщения, который используется только для индексации поисковым роботом и на страницах Яндекса не размещается. Но на основе полного текста автоматически формируется краткая аннотация, которая и будет опубликована вместе с заголовком и адресом, по которому размещена новость на сайте партнера.
Интересно отношение Яндекса к заголовкам новостей — ограничений на количество символов в заголовке, аннотации и полном тексте нет, однако при ранжировании заголовков новостей на страницах Яндекса их размер может учитываться (в таком случае приоритет отдается "средним" заголовкам, то есть не очень коротким и не очень длинным).
На странице базы данных СМИ (http://news.yandex.ru/smi/) можно познакомиться с полным списком информационных партнеров. Они разбиты на 4 группы:
□ центральные;
□ зарубежные;
□ региональные;
□ специализированные.
В каждой из групп СМИ в свою очередь могут быть сгруппированы по видам — информационные агентства, пресса, радио и др. Среди партнеров наибольшее количество составляют специализированные СМИ, на втором месте идут региональные.
Сайт формируется полностью автоматически, что гарантирует беспристрастное отражение информационной картины дня. Отсутствие человеческого вмешательства позволяет объективно формировать сюжеты, помещая рядом сообщения, которые могут содержать совершенно разные точки зрения. Таким образом, пользователь получает возможность сравнить, как одно и то же событие отражено в различных СМИ.
Яндекс. Новости обновляются в режиме реального времени 24 часа в сутки. Каждое поступившее сообщение об актуальном событии сразу же включается в посвященный этому событию сюжет. Аннотирование сюжетов также происходит автоматически. Актуальные заголовки и аннотации формируются компьютерной программой. При этом тексты аннотаций выбираются так, чтобы дополнять информацию из заголовка.
В связи с тем, что среди партнеров Яндекс. Новостей есть телеканалы и радиостанции, новости могут быть представлены и в виде аудио- и видеофайлов, которые также представлены заголовком и краткой аннотацией, а ссылка с таких новостей приведет вас на соответствующий файл.
Такой подход снимает ответственность с Яндекс. Новостей за подачу материала, возможные опечатки или текстуальные ошибки, допущенные источником информации. Попавшее в базу Яндекса новостное сообщение может быть удалено лишь в том исключительном случае, если оно содержит ошибку в оформлении (например, транслируется лишь часть заголовка и т. п.) и приводит к техническим сбоям в работе Яндекс. Новостей.
3.1.3. Как выглядят Яндекс. Новости.
Набрав в браузере адрес главной страницы Яндекса — yandex.ru — вы увидите не только строку для ввода поискового запроса, разделы каталога и информеры. Над строкой ввода будут представлены пять главных на этот час новостей дня — только их заголовки. Эти же новости, но уже с аннотациями, будут представлены и на основной странице новостного раздела — news.yandex.ru. Следом за ними только заголовками будет представлена десятка новостей, следующая за первыми по важности (рис. 3.1).
Обратите внимание, что главная новостная страница максимально облегчена для загрузки — здесь отсутствует какая-либо графика, реклама. Загрузка страницы осуществляется быстро даже на плохих каналах связи. Тем не менее информации на странице вполне достаточно, чтобы составить представление об актуальных событиях дня.
Новостные разделы.
Аналогично оформлены и тематические новостные разделы. Чтобы попасть в них, выберите нужный в левой колонке. Для некоторых разделов введены дополнительные подрубрики (например, для раздела Политика добавлена подрубрика Выборы). Подрубрики могут меняться в зависимости от конъюнктуры, от того, что может привлекать наибольшее внимание. Щелчок на названии рубрики переводит вас на тематическую страницу, где точно так же будет представлена пятерка новостей с аннотациями (но только по тематике данной рубрики), и далее десятка новостей, представленных своими заголовками.
Теперь обратите внимание на строку, размещенную над списком новостей (рис. 3.2), — сколько источников обработано, на какой момент времени. Это статистика. А вот в следующей строке, где представлено название раздела, можно увидеть, что существуют две раздельные новостные подборки по каждой тематике, одна для России, другая — для Украины. Какие-то новости окажутся общими, но многие новости и сюжеты будут основываться на региональных материалах.
Представленные на страницах разделов новости (сюжеты) не ограничиваются только своим названием и аннотацией для ведущих новостей. Помимо этого, для каждого из них присутствует дополнительная информация. Возьмем любую новость (рис. 3.3). Сразу за заголовком в скобках приведено количество публикаций в различных СМИ, связанных с этим событием и попавших в сюжет. Для некоторых новостей дополнительная информация на этом исчерпывается, но для большинства дополнена и другими данными.
Новости не только читают, о них высказывают и свои мнения. Обсуждают в блогах и на форумах. И следующая цифра в строке заголовка показывает, сколько записей (мнений) было сделано в блогах при обсуждении этой новости. Цифра, показывающая количество записей, является ссылкой на страницу поиска по блогам, перейдя по которой вы получите полный список этих записей.
Наконец, для ряда новостей может присутствовать еще одна ссылка — карта (рис. 3.4). Эта ссылка означает, что на карте отмечено место, где произошло данное событие. К примеру, когда в московском метро был открыт памятник бездомной собаке, место, где это произошло, было отмечено на карте Москвы, и его можно было посмотреть, перейдя по ссылке.
Страницы сюжетов.
Если вас заинтересовала какая-либо новость, опубликованная на странице главного или тематического раздела, вы можете перейти на страницу сюжета, щелкнув на его названии.
На странице сюжета (рис. 3.5) представлены отобранные по содержательной близости новости различных источников, отсортированные в хронологическом порядке. Причем здесь подбираются не только текстовые сообщения, но также фотографии, аудио- и видеофайлы, входящие в сюжет. По умолчанию на странице сюжета показывается 30 заголовков, но под этим списком есть ссылка, по которой можно просмотреть все новости, включенные в сюжет, с их аннотациями.
Страница сюжета открывается, как правило, фотографией с места событий, а также более развернутой, чем на тематической странице, аннотацией. При этом аннотация может быть сборная, полученная из различных публикаций.
Следом приводится статистическая информация — сколько входит в этот сюжет сообщений, фотографий и других файлов, сколько высказано по этому поводу мнений в блогах. И не менее важная информация — какое информационное издание первым опубликовало эту новость (приводится название издания, дата и точное время публикации).
В конце списка новостей может присутствовать ссылка на другие сюжеты, связанные с данным. К примеру, с обсуждением установки памятника бездомной собаке Яндекс. Новости связали сюжет под названием "Суд рассмотрит дело охранника метро, убившего пса Рыжика". Поскольку все формирование раздела новостей происходит автоматически, остается лишь порадоваться такому точному определению тематически связанных сюжетов.
Если в новости упоминается географический адрес, связанный с событием, то в дополнение сюжет будет проиллюстрирован фрагментом карты города (пока поддерживается 10 городов, среди которых Москва, Киев, Екатеринбург, Самара). Как уже говорилось, в новости про памятник собаке упоминается станция метро, поэтому на странице сюжета приводится фрагмент карты Москвы (см. рис. 3.4) в районе упомянутой станции. Если вы захотите рассмотреть карту подробнее, то сможете сделать это с помощью одного щелчка, перейдя на большую карту в Яндекс. Картах.
Выделение адресов из контента проводится с помощью технологии извлечения данных, которая применяется и для выделения других важных компонентов сообщений (например, действующих лиц).
С технологической точки зрения интересной задачей оказалось определение города, к которому относится упомянутый в новости адрес. Дело в том, что авторы новостных сообщений достаточно редко пишут город непосредственно рядом с улицей, — говорит Лев Гершензон, ведущий разработчик компании "Яндекс". — Для решения этой задачи пришлось из каждого новостного сообщения выделять все названия населенных пунктов, а потом выбирать самое "релевантное" — в зависимости от количества вхождений в документ, от расположения в документе и т. п.Очень часто в связи с тем или иным событием в онлайновых изданиях публикуются высказывания известных личностей. Наиболее интересные высказывания могут быть подобраны в специальный блок, который называется Сюжет в лицах. На странице сюжета в этом блоке представлены фамилии людей, выразивших свое отношение к обсуждаемому событию, либо тем или иным образом с ним связанные. Например, в сюжете, посвященном эмбарго на поставку мяса из Польши, в блоке Сюжет в лицах приведена фамилия Маркоса Киприану (рис. 3.6), специального уполномоченного по здравоохранению ЕС. Перейдя по ссылке с фамилии, попадаешь на страницу, посвященную этому человеку, где информация о нем представлена в виде четырех блоков:
□ кто такой Маркос Киприану (в данном случае ЕС Маркос);
□ Работа;
□ Что он говорит по поводу события;
□ Что о нем говорят по поводу события.
Примечание.
Кстати, обратите внимание на то, что в данном случае обработка информации о человеке была выполнена некорректно. Вместо его имени была подставлена аббревиатура "ЕС", присутствующая в тексте рядом с фамилией человека, что и привело к возникновению ошибки. А вот его имя было, похоже, принято за что-то, имеющее отношение к Кипру.
3.1.4. Поиск по Новостям.
Для пользователя поиск по новостям выглядит совершенно так же, как и обычный поиск по веб-страницам. То же самое поисковое выражение, которое надо ввести в строку поиска, те же дополнительные параметры, позволяющие составлять сложные поисковые выражения. Поиск по новостям можно выполнять с главной страницы Яндекса, выполнив вначале общий поиск, а затем перейдя на вкладку Новости (параллельный поиск), либо перейти в раздел Яндекс. Новости и поиск выполнить с его главной страницы.
Отличие результатов поиска по новостям от поиска по веб-страницам заключается в том, что при поиске новостей включаются дополнительные алгоритмы, формирующие сюжеты, их аннотирование и ранжирование. В результате, задавая вопрос в Яндекс. Новостях, вы получите не просто список сообщений, соответствующих вашему запросу и отсортированный по времени и релевантности. Результаты поиска будут сгруппированы по сюжетам, а ранжирование по релевантности будет выполнено согласно стандартным принципам ранжирования, принятым на Яндексе. Ранжирование основано на числе и ранге всех найденных новостей внутри новостных сюжетов, при этом ранг одной новости определяется как ее свежесть с учетом приоритетов строгого текстуального совпадения. В то же время оставлена возможность изменить сортировку по сюжетам на сортировку результатов поиска по времени.
Вы можете спросить, будут ли найдены и представлены новости, соответствующие запросу, но не попавшие в какой-либо сюжет? Будут. Такие новости считаются сюжетом из одного сообщения, к которому применяются все правила выдачи и ранжирования, как к любому иному сюжету.
Для каждого найденного сюжета приводится статистика включенных в него сообщений и ссылка для просмотра сюжета полностью. В отличие от представления сюжета на страницах новостных разделов, к найденному сюжету не добавляется информация о его обсуждении в форумах. Вместо этого предлагается ссылка для поиска по блогам по вашему поисковому выражению.
Расширенный поиск.
Для поиска по новостям можно использовать дополнительные параметры, ужесточающие рамки поиска. Для этого надо со страницы Яндекс. Новости перейти на страницу расширенного поиска (не путайте его с расширенным поиском для поиска по веб-страницам).
Дополнительные ограничения для поиска распределены по четырем группам. В первой предлагается выбрать рубрику (или несколько рубрик), чьи новости вас интересуют. Вторая группа ограничений позволяет отобрать определенные СМИ, среди публикаций которых и будет выполняться поиск. Выборка производится из списка всех официальных партнеров Яндекса. Хотя список для удобства пользования рассортирован по алфавиту, непонятна система, по которой в этот список включаются издания, чьи названия начинаются с цифры (например, 3DNews). Хотя, если этим списком пользоваться постоянно, постепенно привыкаешь к тому, где искать те или иные издания.
Третье ограничение связано с выбором региона — поиск будет учитывать не только поисковое выражение, но и связь найденных новостей с выбранным регионом. Еще одно ограничение, которое вы можете наложить на поиск, позволяет определить период, за который вам нужно найти нужные новости. В качестве дополнительного параметра вы можете установить, сколько новостей будет показано на одной странице результатов поиска.
Результаты поиска.
Если заданное поисковое выражение есть в новостях, будет сформирована страница результатов (рис. 3.7). Результаты по умолчанию отсортированы по релевантности, но есть возможность отсортировать и по дате публикации.
Перед выводом результатов выводится информация о найденном количестве новостей и ссылка на поиск в блогах. Далее располагаются результаты поиска, причем на первом месте выведены новости, сформированные в сюжеты. Далее — новости-"одиночки". Для сюжетов имеются ссылки на просмотр сюжетов в целом и показывается количество новостей, составляющих сюжет. В отличие от новостной ленты, для найденных новостей не даются ссылки на их обсуждение в блогах.
Если найденных новостей больше, чем может быть выведено на странице, внизу страницы будет размещена строка для перехода на другие страницы результатов поиска.
3.1.5. Немного истории, или Новости в лицах.
Прежде чем перейти к следующей возможности, предоставляемой Новостями, немного истории. Предвестником пресс-портретов на Яндексе были Новости в лицах. Это одна из немногих разработок, выполненная сотрудниками Яндекса совместно со сторонней компанией. Соисполнителем разработки была компания "Интегрум" (http://www.integrum.ru/), крупнейший в мире электронный архив русскоязычных документов.
О том, как проводилась работа и с какими сложностями пришлось столкнуться разработчикам, рассказал один из создателей сервиса Лев Гершензон (http://company.yandex.ru/blog/?msg=100050&month=8&year=2005).
Идея делать автоматические именные указатели была навеяна журналом "Власть" и его "Лицами, упомянутыми в номере". Поскольку журналов, газет и прочих поставщиков текстовых документов в "Интегруме" больше трех тысяч, мы решили не мелочиться и сделать подобный именной указатель, но один для всех источников и полностью автоматический. В большинстве случаев (малочисленные путины, фрадковы, грефы — не в счет), один человек за короткий промежуток времени (1–3 дня) упоминается как участник одного события. Мне показалось, что рубрики и сюжеты Яндекс. Новостей станут интереснее, а главное, читатель сможет быстрее и лучше понять, что к чему, если применить к ним ту же технологию. Главной особенностью программы является отсутствие какого бы то ни было заранее заданного списка людей — новые несловарные фамилии автоматически определяются и приводятся к словарной форме по специфическому контексту (имя, инициалы и др.). Кроме того, с высокой точностью разграничиваются однофамильцы и разрешается родовая омонимия (ср. Валентина Матвиенко, Александра Лебедева — мужчина или женщина?). А вот, например, с какими проблемами и ошибками пришлось столкнуться. • Имена омонимичны обычным словам. В самом начале в "Сегодня в лицах" фигурировали такие персонажи: Гера Советского, Вячеслав Богу, Надежда Доброй. • Фамилии могут совпадать с отчествами. Бывшие бизнес-партнеры Борис Абрамович Березовский и Роман Аркадьевич Абрамович и в придачу президент компании "КрасЭйр" Борис Михайлович Абрамович доставили нам немало хлопот. • Некоторые фамилии склоняются, некоторые нет. И если их нет в словаре, по их внешнему виду (по буквам) понять, к какому типу относится фамилия (и если склоняется, то как) далеко не всегда удается. Ардзинба и Анкваба. Поняли, что первая фамилия в именительном падеже, а вторая — в родительном? А так похожи. • Мужские и женские имена тоже очень часто имеют общие формы (см. ранее). • Есть такие народы, в которых одного имени человеку недостаточно. Мы этого не понимаем и ошибаемся. Без энциклопедического багажа совершенно не понятно, сколько человек тут упомянуто: Джон Рональд Руэл Толкиен.Как бы то ни было, но сервис Новости в лицах был создан, и через год после начала разработки был предъявлен посетителям. Сейчас этот сервис не выделяется отдельной страницей, как было при его создании, но превратился в поставщика информации для блоков Сюжеты в лицах.
Главной особенностью программы, анализирующей тексты новостей, является отсутствие заранее заданного списка персон — при обработке сообщения программа самостоятельно находит в тексте имена и фамилии и добавляет их в рейтинг.
Списки имен создаются отдельно для каждой рубрики, региона, сюжета и результатов поиска. Таким образом, пользователь может наблюдать, как меняется состав лиц, о которых пишут журналисты, от Нижнего Новгорода к Иркутску, кто сегодня является наиболее заметной фигурой спортивной сферы, а кто — культурной.
Рейтинги обновляются каждые 10 минут — одновременно с появлением новых сообщений на Яндекс. Новостях, — что позволяет быстро находить упоминания ньюсмейкеров в актуальных сюжетах. Списки имен представлены на всех страницах службы, когда данные позволяют набрать достаточную статистику.
Отзывы об этом сервисе превзошли все ожидания, захотелось двигаться дальше, и тогда появились пресс-портреты.
3.1.6. Пресс-портреты в Новостях.
Читая новость о каком-либо событии, зачастую, если в тексте упоминается какой-либо человек, хочется узнать о нем побольше. Кто он такой, чем и когда занимался, какого его отношение к различным событиям. Самостоятельно собрать подобные сведения об интересующем вас человеке довольно сложно, для этого придется проводить обширный поиск нужной информации.
Яндекс. Новости решил выполнить эту работу за нас. Теперь в составе Новостей появился дополнительный сервис — пресс-портреты. Вот как было написано в пресс-релизе по поводу открытия этого сервиса:
В пресс-портрете на сегодняшний день представлено три типа сведений о человеке: свободные определения человека, послужной список и цитаты. Свободные определения — это звания (полковник, доцент), ученые степени (доктор экономических наук), профессии (литературный критик, известный адвокат) и любые другие описания (хороший семьянин, старый знакомый Маши Ивановой, самый богатый человек в мире). В послужной список входят факты, состоящие из названия организации (Юкос, Министерство экономического развития) и должности (президент, генеральный директор, секретарь), которую человек в ней занимал, занимает (или займет в будущем). В третьем блоке содержатся цитаты человека и цитаты о нем других людей. Каждый факт снабжен текстовой иллюстрацией фрагментом новостного сообщения, из которого была извлечена информация. Кроме того, для каждого факта можно получить все его упоминания в Яндекс. Новостях.Справочная часть службы Яндекс. Новости состоит более чем из 1 млн пресс-портретов, 30 тыс. из которых обновляется ежедневно. Новостная служба Яндекса была открыта семь лет назад, поэтому большая часть пресс-портретов создана на основе анализа сообщений СМИ с 2000 года, в настоящее время к службе подключаются архивы новостных источников за предыдущие годы, что повышает полноту и точность сервиса.
Как и все остальные работы в Новостях, формирование пресс-портретов выполняется полностью автоматически. Поэтому одной из проблем является создание пресс-портретов для однофамильцев, когда совпадают еще и их имена и фамилии. Поэтому идеальный результат, когда одному человеку соответствует один пресс-портрет, получается не во всех случаях.
Примером может служить поиск человека Иван Иванов. На странице результатов поиска, помимо сюжетов и новостей, приведены ссылки на упоминающихся в этих новостях лиц. Но в списке наиболее известных лиц Ивана Иванова нет. Впрочем, под списком ведущей пятерки есть ссылка на все пресс-портреты, относящиеся к этому поиску, а их 93. Перейдя по этой ссылке, увидим список, в котором "Иван Иванов" встречается на первой странице, затем еще несколько раз в продолжении этого списка.
Искать людей можно не только по фамилии (например, Черномырдин или Михаил Булгаков), но и по названию организации (например, Антей, ibm или Палата лордов) — в этом случае будут найдены все, кто, по сведениям СМИ, имеет или имел к ней отношение.
Миллион пресс-портретов — величина весьма впечатляющая. Но вместе с тем нельзя ожидать, что каждый пресс-портрет содержит все информационные блоки, о которых говорилось выше. Встречаются люди, о которых известно лишь место работы либо упоминание в прессе, без привязки к месту работы, поэтому такая информация входит в блок общих сведений.
Жаль, что отсутствует возможность поиска среди этих подборок, поэтому приходится для поиска пресс-портретов выполнять поиск по фамилии человека, а затем через блок Упомянутые лица находить нужную информацию.
Возвращаюсь заново к тексту этого раздела через месяц с тем, чтобы дополнить уже написанное. Опять подтверждается, что о Яндексе писать очень сложно, здесь постоянно появляется что-то новое и написанное вчера сегодня становится уже неточным. Так произошло и с разделом пресс-портретов.
Найдите на новостной странице ссылку Пресс-портреты. Она расположена под строкой поиска. Перейдя по ссылке, вы откроете страницу (рис. 3.8), на которой представлена информация о назначениях и отставках, состоявшихся на текущую дату, список наиболее упоминаемых в новостях личностей и список людей, отмечающих сегодня свой день рождения. И уже дальше, перейдя по ссылке с фамилии упомянутого человека, вы попадете на страницу его пресс-портрета.
3.1.7. Цитаты в Новостях.
Как отделить слухи от фактов? Если новость, о которой вы хотите узнать, является ли она официальной или это действительно слух, подтверждается высказыванием чиновника или лица, заслуживающего доверия, вы будете считать ее фактом. А как можно быстро найти официальное подтверждение той или иной новости? Только поиском, который поможет отыскать официальные высказывания, если они существуют.
Служба Яндекса Цитаты в новостях (http://opinion.news.yandex.ru/) выполняет это за вас. Эта служба позволяет искать высказывания людей в сообщениях СМИ. Самые популярные и наиболее цитируемые высказывания за последние сутки представлены на главной странице сервиса. Фактически, цитаты отражают картину наиболее значимых событий дня, дают ее с точки зрения главных действующих лиц.
В основе технологии выделения цитат лежит синтаксический анализатор и модуль обработки предикативных конструкций с коммуникативными глаголами и оборотами. Выделяется как прямая речь в кавычках, так и косвенная речь, выраженная придаточными предложениями ("Иванов отметил, что…") и вводными оборотами ("по словам Иванова…"). Использование результатов извлечения всех фактов о человеке и полный анализ всего новостного сообщения позволяют с высокой точностью различать однофамильцев при определении автора высказывания, даже если в предложении с цитатой никакой дополнительной информации, кроме имени и фамилии, указано не было.
Поиск (рис. 3.9) можно вести по нескольким направлениям. Для этого строка поиска разделена на две части. В первую вписывается фамилия человека, чьи высказывания вы хотите найти, во вторую то, на какую тему вы ищете высказывания. Если заполнить только первое поле, будут показаны все выбранные из СМИ цитаты конкретного человека. Если только второе — будут подобраны высказывания всех людей по данной теме. Впрочем, просматривать цитаты отдельного человека можно и со страницы его пресс-портрета, где на первой странице публикуются его последние высказывания, а по ссылке можно перейти ко всем цитатам, имеющимся в распоряжении Яндекса.
Поиск цитат (рис. 3.10) может послужить основой для сбора всевозможных несуразиц, которые допускали в своих выступлениях или интервью известные личности. База для этого обширная — если пресс-портретов насчитывается свыше миллиона, то количество цитат достигает уже четырех миллионов от более чем 630 тыс. авторов.
Обратите внимание еще на один блок, расположенный на главной странице сервиса. В правой колонке приводятся фамилии наиболее цитируемых за текущий день людей. В этой колонке их только 10, но можно увидеть и весь список людей, привлекших внимание к своим выступлениям.
3.1.8. Новости регионов.
Новости, публикуемые в различных изданиях, имеют свою территориальную привязку. Это могут быть новости, связанные с местом их возникновения, хотя касаются общемировых вопросов, это могут быть новости, связанные с событиями отдельного города или поселка. Для жителей региона местные новости не менее интересны и востребованы, чем новости общероссийские или мировые.
Продвижение Яндекса в регионы, не единичное, а массовое, началось в 2004 году. В этом время появились товарные предложения региональных магазинов на Маркете, возможность ограничить поиск по своему региону, прогноз погоды по 700 городам России и мира, телевизионная программа в местном времени. Появились и региональные новости.
На момент написания этих строк количество регионов, по которым в автоматическом режиме формируются сюжеты, достигло 59 (рис. 3.11). Среди них 46 регионов России, 9 регионов Украины, а также Беларусь, Израиль, Казахстан и страны Балтии. По мере привлечения новых информационных партнеров из регионов (а это является обязательным условием выделения в общем потоке региональных новостей), будут появляться и новые региональные подборки.
Яндекс периодически публикует карту охвата регионов. На ней видны как регионы, имеющие свое представительство в Яндекс. Новостях, так и пока еще не имеющие их. На карте видно, что чем ближе к Москве, тем беднее информационное поле. Центральный и Приволжский федеральные округа заполнены на 40 %, причем отдельно Центральный — всего на 23 %, в то время как регионы остальных пяти округов охвачены на 60–70 % каждый. И только в СЗФО каждый регион имеет свою страницу на Яндекс. Новостях.
Страницы регионов автоматически строятся по принципу, общему для всех категорий Яндекс. Новостей. Региональные подборки новостных сообщений (сюжеты) формируются компьютерной программой из материалов центральных и региональных СМИ. Важность сюжета определяется с учетом актуальности и количества сообщений по теме, а также интереса пользователей.
Как выбрать новости региона? Это можно сделать двумя способами. Во-первых, используя расширенный поиск, в котором можно выбрать один или несколько регионов, новости которых вы хотели бы увидеть. Во-вторых, перейдя со ссылки Новости регионов на главной или тематической странице новостей. Этот переход откроет страницу, где перечислены все доступные регионы. Выбор любого из них (здесь можно выбрать только один из доступных регионов, в отличие от расширенного поиска) позволит выделить из общего потока новостей лишь те, которые имеют отношение к выбранному региону.
3.1.9. Новости в блогах.
Давно известно, что новости не только публикуются, но и обсуждаются. Обсуждаются на форумах, обсуждаются в блогах. И мнения, которые там высказываются, зачастую бывают много интереснее опубликованных в официальных СМИ или иных изданиях. Недаром многих людей, ведущих свои блоги, приравнивают к журналистам, а их журналы не менее известны и не менее посещаемы, чем многие онлайновые новостные издания.
Поиск по блогам, реализованный в Яндексе, привел и к решению следующей задачи — связал публикуемые новости с их обсуждением в блогах. Если сюжет Яндекс. Новостей широко обсуждается в Интернете, рядом со статистикой сюжета (всего сообщений, видео, аудио) появляется ссылка В блогах: <количество мнений>. Сбор мнений и их связывание с новостями осуществляется автоматически, а наиболее обсуждаемые сюжеты приводятся на странице Новости в блогах (http://news.yandex.ru/Russia/blogs.html).
Страница "Новости в блогах" является своего рода народным рейтингом официальных новостей, — говорит Антон Волнухин, менеджер службы "Поиск по блогам". — Попробуйте взглянуть на новости со стороны читателей, их мнения могут оказаться не менее интересными. А пишут российские пользователи много — хотя доля "блоггеров" Рунета в мире пока всего 3 %, количество ежедневных "постингов" — целых 10 %.На странице Новости в блогах (рис. 3.12) могут оказаться совсем не те новости, которые выводятся на первую страницу новостного раздела. Обсуждение происходит с некоторой задержкой по сравнению с публикацией новостей и обычно носит более "затяжной" характер, что позволяет наиболее обсуждаемым новостям дольше продержаться в числе лидеров обсуждения в блогах. Едино лишь то, что общее количество новостей на этой странице такое же, как и на странице новостного раздела, то есть пятерка наиболее популярных с краткими аннотациями и десятка следующих по популярности новостей.
3.2. Подписка на новости.
Есть темы, которые интересуют человека постоянно. Кому-то интересно узнавать о последних достижениях в области космической техники, другого интересуют новости определенного вида спорта, третьему необходимо быть в курсе новостей компаний-конкурентов. Заходить на Яндекс. Новости и каждый раз задавать один и тот же запрос неинтересно, да и неправильное это решение. Потому что вы можете подписаться на получение новостей по электронной почте.
Сделать это очень просто. И, как всегда, необходимо выполнение всего лишь одного условия — вы должны быть зарегистрированы на Яндексе, поскольку управление подписками на новости осуществляется через ваши личные настройки.
Подписаться на регулярное получение новостей можно путем выполнения запроса. Сформируйте поисковое выражение и выполните поиск. На странице результатов в правой колонке вы увидите ссылку Подписка на новости по запросу <ВАШ ЗАПРОС>. Если результаты выполнения запроса вас удовлетворяют, щелкните на ней. Откроется страница Подписка на новости (рис. 3.13).
Дайте вашему запросу название (по умолчанию название будет повторять текст вашего запроса). Выберите периодичность, с какой будет формироваться обновление запроса. Это может быть ежедневное обновление, обновление утром, днем и вечером либо обновление может выполняться ежечасно. Далее, можете выбрать способ получения обновлений — либо получать по почте, тогда результаты запроса будут приходить на указанный вами адрес электронной почты, либо эти результаты можно будет подключить к Яндекс. Ленте. Допускается использование обоих вариантов.
После подтверждения вы перейдете на страницу управления подписками. Здесь находится список всех запросов, по которым вы собираетесь получать регулярную информацию. Отметив любой из них (или сразу несколько), вы можете приостановить рассылку, удалить или возобновить ее. Здесь же вы можете изменить адрес электронной почты, на который она будет отсылаться. В строке статуса рассылки также показано, какой вариант получения ее вы выбрали.
В связи с тем, что есть альтернативный вариант чтения новостей с помощью Яндекс. Ленты, вы можете одним щелчком добавить все подписки в свою ленту.
Для предотвращения получения несанкционированных рассылок, каждая новая рассылка требует подтверждения. Для этого на ваш почтовый адрес отправляется письмо, в котором говорится о способе активизации рассылки. Если это не вы внесли в ваш список новую рассылку, можете ее не подтверждать и она приходить вам не будет.
3.3. Яндекс. Лента.
Яндекс. Лента — это служба Яндекса для тех, кто хочет читать все интересные новости и блоги на одном сайте. Посмотрите внимательно на основные ссылки, размещенные на страницах новостей. Они несколько отличаются от тех, что присутствуют на основной странице Яндекса. Главное отличие заключается в том, что в верхней строке ссылок появилась новая — Лента (http://lenta.yandex.ru). А в конце списка новостей присутствует несколько непривычный адрес (свой для каждой новостной страницы), тип которого отнюдь не html, а имеет совсем другой формат — rss. Что это такое, мы сейчас с вами и разберем.
3.3.1. Формат RSS.
Читать новости сайтов можно по-разному. Самый простой способ — заходить время от времени на сайт и просматривать новые сообщения. Можно поставить программу, которая подключается к новостному каналу и сама получает заголовки или аннотации новостей, по которым можно перейти на сами новости. В последнее время все более популярным становится формирование новостей в формате RSS.
RSS (Really Simple Syndication) — это формат представления данных. Технология RSS дает возможность в реальном времени отслеживать изменения любой информации на любом сайте, где эта технология поддерживается. Обычно эту технологию используют на сайтах, публикующих обновляемую информацию, новости, в блогах.
Примечание. RSS — это разновидность XML, формат, специально придуманный для того, чтобы легко и быстро делиться контентом. Изначально придуманный Netscape для своего портала Netcenter, он быстро завоевал популярность и стал широко использоваться.Практически любой материал, который можно разделить на отдельные части, можно публиковать с помощью RSS: например, объявления о последних публикациях в wiki, информацию об обновлениях в CVS, историю изменений, внесенных в книгу. После того как информация преобразована в формат RSS, программа, понимающая этот формат, может вытягивать сведения о внесенных изменениях и в зависимости от результата предпринимать какие-либо действия. Более подробно о формате RSS можно прочитать на сайте http://www.kanban.ru/.
Сегодня существует семь подвидов стандарта — от RSS 0.90 до RSS 2.0. Прочитав значительное количество статей, посвященных этим разновидностям, могу сказать, что многие разработчики в большей степени склоняются к использованию стандарта RSS 2.0 как наиболее развитого. Этот стандарт позволяет прикреплять к сообщениям дополнительную информацию, в том числе и мультимедийную. Наиболее полный сравнительный анализ версий можно прочитать в статье "Что такое RSS" (автор Mark Pilgrim, http://www.webmascon.com/topics/technologies/9a.asp), а стандарт RSS 2.0 опубликован на сайте Technology at Harvard Law (http://blogs.law.harvard.edu/tech/rss).
3.3.2. Что такое RSS-рассылки.
RSS-рассылка — это файл, созданный в формате RSS, еще он называется фид (feed). Именно этот файл "вбирают" в себя программы-агрегаторы, когда вы, подписавшись на рассылку, подключаетесь к новостному каналу. Тем, кто знаком с XML, понять формат рассылки будет не сложно. Фид "строится" из предопределенных строительных элементов — тегов, располагаемых опять же в предопределенной последовательности.
Когда RSS-файл создается компанией, в него обычно заносится следующая информация:
□ название компании, создавшей RSS-файл;
□ дата и время генерации файла;
□ темы новостей;
□ адрес баннера сайта;
□ заголовки (анонсы) новостей;
□ дата и время новостей;
□ краткое изложение новостей;
□ HTML-адреса до полных текстов новостей (обычно адреса ведут на страницы сайта, создавшего RSS-файл);
□ HTML-адреса до рисунков, используемых в анонсах новостей.
Разберем вкратце, какие теги используются для создания фидов, а в качестве примера возьмем любую из рассылок Яндекс. Новостей.
Листинг 3.1. Начало RSS-рассылки. <?xml version="1.0" encoding="windows-1251"?> <rss xmlns: yandex="http://news.yandex.ru" version="2.0">Первые две строки (листинг 3.1) — служебные. В одной описывается стандарт XML, во второй — стандарт RSS, используемые для создания фида. Кроме того, в описании версии RSS указаны источники пространства имен, применяемые в данном стандарте. Больше в фиде никакой служебной информации нет, все остальное относится непосредственно к рассылке.
В стандарте 2.0 (именно этот формат используется на Яндексе) вся рассылка обрамляется тегом <channel>, а сами новости вложены внутрь этого тега. (В версии 1.0 новости не входят в состав тега <channel>.).
Листинг 3.2. Основная часть фида по версии 2.0:_| <channel> <titlе>Яндекс. Новости: MHTepHeT</title> <link>http://news.yandex.ru/Russia/internet.html</link> <dеsсriрtiоn>Первая в России служба автоматической обработки и систематизации новостей. Сообщения ведущих российских и мировых СМИ. Обновление в режиме реального времени 24 часа в сутки.</description>В описании фида (рассылки) — три обязательных параметра (листинг 3.2):
□ title — название канала либо название ресурса. По нему будут ссылаться на ресурс;
□ link — ссылка на источник, соответствующий данному каналу;
□ description — краткое описание канала.
Кроме обязательных, в состав описания могут входить и необязательные элементы. К ним относятся:
□ Language — язык, на котором вы пишете свои новости;
□ copyright — авторские права, ваши, но — на английском;
□ managingEditor — электронный адрес издателя;
□ webMaster — электронный адрес веб-мастера;
□ pubDate — дата публикации. Требование к формату описано в RFC 822;
□ generator — может использоваться, если канал формируется с помощью какой-либо программ;
□ image — описывает картинку, которая может показываться агрегаторами для данного канала. Формат изображения — GIF, JPEG или PNG. В свою очередь состоит также из нескольких тегов, описывающих ссылку на картинку, ее описание и некоторые иные параметры;
□ skipHours и skipDays предназначены для агрегаторов. В этих тегах указывается, в какое время и какие дни "появление" агрегаторов нежелательно.
Есть еще ряд тегов, которые могут использоваться в описании заголовка канала, но они применяются довольно редко, и поэтому о них лучше прочитать в описании стандарта.
Следующий блок канала — сами сообщения. Каждое сообщение обрамляется элементом item. Все остальные элементы, относящиеся к новости, содержатся внутри него. Элементов item в вашем фиде будет столько, сколько новостей вы будете в нем размещать. Все элементы, входящие в item, являются необязательными, тем не менее, желательно, чтобы присутствовал хотя бы один элемент title или description. Итак, какие элементы могут включаться в описание новости?
Как только что говорилось, в состав описания новости могут включаться элементы:
□ title — заголовок записи;
□ link — ссылка на запись;
□ Description — аннотация либо полная публикация;
□ category — описывает категорию, к которой можно отнести новость;
□ pubDate — дата публикации документа. Может содержать будущую дату, по отношению к текущей. В этом случае агрегаторы должны такую новость пропускать.
Есть еще ряд элементов, которые могут входить в описание новости, но на них мы останавливаться не будем. Зато посмотрим, как все, что было описано ранее, выглядит в реальном фиде, точнее, его небольшой части (листинг 3.3).
Листинг 3.3. Пример RSS-фида Яндекс. Новостей_| <?xml version="1.0" encoding="windows-1251"?> <rss xmlns: yandex="http://news.yandex.ru" version="2.0"> <channel> <titlе>Яндекс. Новости: Интернет</titlе> <link>http://news.yandex.ru/Russia/internet.html</link> <dеsсriрtiоn>Первая в России служба автоматической обработки и систематизации новостей. Сообщения ведущих российских и мировых СМИ. Обновление в режиме реального времени 24 часа в сутки.</description> <image> <url>http://company.yandex.ru/i/50x23.gif</url> <link>http://news.yandex.ru</link> <titlе>Яндекс. Новости</titlе> </image> <lastBuildDate>Tue, 20 Feb 2007 23:25:00 +0300</lastBuildDate> <item> <titlе>Компенсация за порно — $5 млн</titlе> <link>http://news.yandex.ru/yandsearch?cl4url=bybanner.com/article/4181.ht. Ml&country=Russia</link> <dеsсriрtiоn>Именно столько требует в суде от компании IBM бывший сотрудник, уволенный в 2003 году за посещение порночатов.<br>58-летний Джеймс Пьяченца (James Pacenza) из города Монтгомери утверждает, что увлечение порно помогало ему справиться с тяжелым стрессом, вызванным гибелью на его глазах… <br></description> <pubDate>Tue, 20 Feb 2007 17:30:17 +0300</pubDate> <guid>http://news.yandex.ru/yandsearch?cl4url=bybanner.com/article/4181.ht. Ml&country=Russia</guid> </item> </channel> </rss>Как видите, ничего особенно сложного в этом нет. Если вы делаете RSS-файл вручную, вам остается добавлять в него очередные новости, удаляя, по мере необходимости, старые. Добавлять новости лучше в начало файла, тогда это действительно будет похоже на ленту новостей, в которой свежие новости постепенно вытесняют старые.
Но новости, а тем более — новостные каналы, пишутся в первую очередь для посетителей (и почитателей) вашего проекта. Следовательно, нужно дать им возможность подписаться на ваши новости, для чего на странице новостей (хотя можно и на другой — главное, чтобы было заметно) нужно разместить специальные кнопки, но могут быть и прямые ссылки на фиды. При этом в качестве протокола чаще всего используется специально разработанный протокол — FEED.
Почему не используется обычный HTTP-протокол? На это есть две причины: протокол HTTP не может определять действия, а также не умеет запускать через ваш браузер программу-агрегатор для осуществления подписки. Поэтому протокол FEDD вызывается поверх иных сетевых протоколов — HTTP, FTP и ссылок на локальные файлы.
Примеры записи протокола FEED:
Feed://http://example.org/rss.xml. Feed: http://example.org/rss.xml. Feed: example.org/rss.xml. Feed://ftp://user: password@ftp.host.com/path/index.xml. Feed://file://\\server\share\index.xml.Но можно не ограничиться размещением кнопки или меню на своем сайте. Вы можете включить свою рассылку в список, формируемый некоторыми специальными проектами — службами синдикации. Одной из таких наиболее известных в России служб является проект Яндекс. Лента.
3.3.3. Яндекс. Лента как RSS-синдикатор.
Новости, которые публикуются на Яндексе, поставляются сайтами в RSS-формате. Можно пройти на сайт любого информационного партнера Яндекса и найти на нем RSS-ленту, которую он предлагает для экспорта. Например, издание "Главные новости Ульяновска" (http://mosaica.ru) предлагает свою ленту на странице http://www.mosaica.ru/feed/. Эта лента экспортируется и Яндексом, и новости, публикуемые в ней, попадают в общую ленту Яндекс. Новостей. Аналогичным образом поступают и другие поставщики новостей.
Полученные новости "достаются" из RSS-файла, сортируются по различным тематическим разделам, добавляются в разделы региональные, и каждая становится частью нового фида соответствующей тематики. Для удобства сортировки поставщики информации указывают в описании новостей раздел, наиболее близкий по тематике какому-либо разделу Яндекс. Новостей.
И вот какое происходит преобразование (листинги 3.4 и 3.5).
Листинг 3.4. Новость в RSS-фиде Ульяновского издания. <item> <link>http://mosaica.ru/news/society/8574/</link> <title^ Ульяновской области серьезно взялись за пожарную безопасность территорий</titlе> <description>21 февраля на базе Ульяновского государственного университета под председательством губернатора Сергея Морозова состоялось совещание, посвященное подведению итогов деятельности областной подсистемы предупреждения и ликвидации чрезвычайных ситуаций в регионе за 2006 год. </description> <pubDate>Wed, 21 Feb 2007 14:49:00 +0300</pubDate> <guid>http://mosaica.ru/news/society/8574/</guid> </item> Листинг 3.5. Та же новость на Яндексе. <item> <title^ Ульяновской области серьезно взялись за пожарную безопасность территорий</titlе> <link>http://news.yandex.ru/yandsearch?cl4url=mosaica.ru/news/society/8574. Html&country=Russia</link> <description^ частности, усовершенствована нормативно-правовая база по предупреждению чрезвычайных ситуаций, начата серьезная работа с муниципальными образованиями в плане. ^^Губернатор призвал глав районов принять меры по решению данных проблем и распорядился в первую очередь уделить серьезное внимание пожарной безопасности территорий и… <br></description> <pubDate>Wed, 21 Feb 2007 14:47:28 +0300</pubDate> <guid>http://news.yandex.ru/yandsearch?cl4url=mosaica.ru/news/society/8574. Html&country=Russia</guid> </item>Как можно увидеть, новость одна и та же, но вот ее подача в разных лентах различается. Первое отличие в ссылке на новость. Если поставщик информации указывает на новость, опубликованную на своем сайте, то Яндекс по ссылке из своего RSS-фида приведет на свою страницу, где и опубликована полученная им новость. Заголовок новостей Яндексом оставлен без изменений, а вот анонс изменен полностью. Видимо, обработчики новостей посчитали, что исходный анонс не подходит, и сформировали новый на базе полного текста новости. Можно обратить внимание и на время публикации. Как ни странно, но на Яндексе новость оказалась опубликованной раньше, чем она была опубликована на сайте-первоисточнике. И пусть разница во времени небольшая, но она говорит о том, что RSS-поток источника сформирован и отдан потребителю раньше, чем был обработан и опубликован на собственном сайте.
Таким образом обрабатываются и формируются как новостные страницы, так и RSS-файлы, предназначенные для экспорта уже с Яндекса.
3.3.4. Экспорт новостей.
Созданные из полученных новостей RSS-файлы выкладываются Яндексом для того, чтобы любой желающий мог экспортировать их либо в свою программу для чтения новостей в этом формате, либо для размещения в браузере, либо для размещения на своем сайте. Полный список RSS-файлов выложен на странице http://news.yandex.ru/export.html. Здесь присутствуют как тематические ленты (политика, спорт, наука), так и региональные. Каждая лента представлена отдельным файлом, например, RSS-файл с новостями об Интернете имеет такой адрес: http://news.yandex.ru/internet.rss.
Все ленты — сборные, составлены из новостей, полученных из различных источников. В том числе и региональные — в этих лентах размещают новости вне зависимости от того, кто их опубликовал. Главное, чтобы новости были связаны с определенным регионом.
Подготовленные Яндексом ленты можно экспортировать в браузер или на свой сайт, а можно использовать для просмотра с помощью специальных программ. Размещение новостей на сайте предназначено для тех, кто будет посещать сайт, а программы и браузер — для личного использования.
Экспорт на сайт.
Если просто добавить на сайт адрес ленты, которую вы хотите показывать своим посетителям, то это значит не сделать ничего. Этот адрес так и останется в виде ссылки, но не в виде информации, которую он несет в себе. Чтобы показать информацию, ее нужно выделить из фида и разместить на странице сайта.
Ничего сложного в этом нет, необходимо лишь, получив очередной файл с новостями, обработать его и создать на его основе новую страницу либо занести полученные новости в базу данных, на основе которой страница формируется в динамическом режиме. Возможны два варианта решения — написать процедуру обработки самостоятельно либо воспользоваться уже имеющимися программами.
Как правило, программы для обработки поставляются в виде модулей, которые необходимо разместить на вашем сервере, а в код страницы добавить вызов модуля. Рассмотрим несколько таких программ.
Программа zFeeder.
ZFeeder — это PHP-скрипт, используемый для отображения RSS-контента. Он может использоваться для отображения контента на вашем сайте, в вашей интранет-сети или на десктопе. Программа поддерживает все версии RSS (0.9, 0.9х, 1.0 и 2.0). С помощью программы можно выводить WML-файлы на WAP-сайтах (для мобильных устройств).
Для использования программы необходимо, чтобы ваш хостер обеспечивал поддержку PHP (версии не ниже 4.2.0) и библиотеку Expat (входящую в установку PHP по умолчанию). Программа может работать под разными операционными системами — Linux, Windows и другими, — поддерживающими PHP.
Программа устанавливается на сайте, доступ к настройкам осуществляется с помощью браузера. С помощью панели администратора вы сможете добавить новые каналы, изменить или удалить уже подключенные, импортировать список каналов из файла описания каналов (opml), изменить настройки, управляющие выводом и сохранением данных.
Обновление новостей может выполняться как на стороне сервера (с использованием программ типа cron), так и на стороне клиента, когда инициатором обновления является браузер. Для формирования внешнего представления новостей в состав программы включен ряд шаблонов. Но если вам нужно что-то иное, вы можете либо отредактировать шаблоны по вашему вкусу, либо создать собственные.
Программу можно взять на сайте ttp://zvonnews.sourceforge.net/zfeeder.php.
Программа AgregatorRssPhp.
AgregatorRssPhp — еще одна бесплатная программа для обработки и вывода информации из RSS-фидов (рис. 3.14). Она добавляет на страницу сайта поле для ввода адреса RSS-фида. Для этого достаточно добавить в код вашей страницы всего несколько строк (листинг 3.6).
Листинг 3.6. Пример добавления кода.
<?
$text='<font color="#666666">Укажите адрес RSS-канала, который вы хотите прочитать.<br>
Пример: http://news.yandex.ru/index.rss </font>';// УКАЗЫВАЕТЕ НАДПИСЬ КОТОРАЯ БУДЕТ ОТОБРАЖАТЬСЯ ПОД ФОРМОЙ.
Include ('../lib/agregatorrss.php'); // ПОДКЛЮЧАЕТЕ ФАЙЛ, ЧИТАЮЩИЙ RSS-КАНАЛ И ВЫВОДЯЩИЙ НА ЭКРАН.
?>
В результате работы этого кода на сайт будет выведена панель для записи адреса RSS-фида. Добавим, например, адрес рассылки по безопасности (http://news.yandex.ru/security.rss). После обработки под панелью будут выведены новости из этой рассылки.
Отличие этих программ, как вы заметили, в том, что в первом случае владелец сайта определяет, какие рассылки будут включены в обработку и отображены на его сайте, а во втором случае адрес рассылки посетитель может добавить по своему желанию.
Программу AgregatorRssPhp можно скачать со страницы http://www.newsrss.ru/ agregatorrssphp/index.php.
Информеры.
Для удобства экспорта новостей на сайт, в первую очередь для тех, кто неважно разбирается в программах для обработки фидов, подготовлены специальные информеры. Это специально разработанные скрипты, готовые к размещению на странице сайта. Вам нужно лишь выбрать параметры отображения новостей, тематику и получить код (листинг 3.7). Код можно получить на странице http://news.yandex.ru/export.html.
Листинг 3.7. Информер для публикации новостей об Интернете. <style>span.yandex_date {font-size: 85 %; margin-right:0.5em;} div.yandex_informer {font-size: 85 %; margin-bottom: 0.3em;} div.yandex_title {font-size: 100 %; margin-bottom: 0.5em; }. Div.yandex_title a { } div.yandex_allnews {font-size: 80 %; margin-top: 0.3em;} div.yandex_allnews {font-size: 80 %; margin-top: 0.3em;}div.yandex_annotation {font-size: 85 %; margin-bottom: 0.5em;}</style><script. Src='http://news.yandex.ru/common.js'></script><script src='http://news.yandex.ru/internet3.js'></script><script> str='<div class=yandex_title><a. Href=http://news.yandex.ru><b>Яндекс. Новости</b></а></div>'; if ((aObj=eval('m_internet')) && (aObj.length>0)){for (j=0;j<aObj.length;j++) { Str+='<div><span class=yandex_news_title><a href='+aObj[j].url+'>'+aObj[j].title+'</a></span></div><div class=yandex_annotation>'+aObj[j].descr+'</div>';}} str+='<div class=yandex_allnews><a href=http://news.yandex.ru>Bce новости на '+update_time+' мск >></a></div>'; document.write(str);</script>Предварительно выбранный вариант можно просмотреть в браузере, и если он подходит, скопировать код и добавить на страницу вашего сайта. Теперь посетители смогут читать на сайте не только вашу информацию, но и новости, которые публикует Яндекс.
Экспорт в браузер.
Предоставить возможность посетителям сайта читать тематические рассылки — это хорошо. Но не ходить же самому на свой сайт для чтения новостей? Для удовлетворения собственного любопытства и удобства проще экспортировать рассылки либо в браузер, либо в специальные программы, предназначенные для чтения RSS-рассылок.
Подключить такие рассылки позволяют различные браузеры. В Internet Explorer эта возможность появилась, начиная с 7-й версии. Имеется возможность подключать рассылки в браузерах FireFox, Maxthon. Вот как это можно сделать.
Maxthon.
В этом браузере, являющемся надстройкой над MS IE, реализовано несколько вариантов подключения RSS-лент, а для их чтения имеется встроенная программа.
Если в настройках браузера включена опция автоматического поиска RSS-лент на просматриваемой странице и информирования об этом пользователя, то при нахождении рассылки появится всплывающее окно с предложением подписаться (рис. 3.15). Щелкнув на сообщении, вы откроете окно с информацией о ленте (ее названии, адресе RSS-фида). От вас потребуется лишь выбрать раздел, в который вы поместите рассылку, и установить периодичность ее обновления (рис. 3.16). Аналогичное действие можно выполнить и щелчком на кнопке в нижней строке управления браузера.
Для лент, как и для ссылок в Избранном, вы можете создавать категории, редактировать, добавлять или удалять их. Категории и подключенные ленты можно просматривать в специальном окне браузера. Отсюда же можно добавлять и новые ленты, если вы знаете их адрес. В окне добавления ленты впишите ее адрес, после нажатия на кнопку Ok будет выполнена проверка существования этого адреса и, если проверка успешна, будет заполнено поле названия ленты. После проверки вы можете выбрать нужную категорию и добавить в нее ленту (рис. 3.17).
Если в окне управления лентами вы выберете ленту, в нижней части этого окна отобразятся заголовки последних загруженных новостей. Подведя указатель к любому из заголовков, вы увидите во всплывающем окне текст этой новости. Если дважды щелкнуть на названии ленты, она откроется в окне браузера. Если щелкнуть по заголовку новости, то в новом окне откроется только эта новость. Если вы подключили одну из Яндекс. Лент, то в окне откроется страница этой новости в том виде, как если вы перешли бы на нее непосредственно на Яндексе.
FireFox.
Несколько иначе происходит подключение лент новостей в Mozilla FireFox. Процесс и проще, и сложнее. Проще тем, что если в браузере щелкнуть на ссылке, определяющей новостную ленту, она откроется в окне предварительного просмотра, а в верхней части окна откроется меню, с помощью которого вы сможете подписаться на эту ленту (рис. 3.18).
Подписку можно выполнить несколькими способами. Первый способ — включить ее в состав закладок браузера. А можно вместо этого подключить ленту к онлайновым агрегаторам новостей — Google Reader, Kanban, Яндекс. Лента. Если у вас установлено приложение для чтения новостных лент, вы можете подключить новую ленту к нему.
В отличие от Maxthon, здесь нет возможности открыть всю ленту полностью в одном окне — придется либо открывать по одной новости, либо открыть все, но в разных вкладках. Отсутствует настройка периодичности обновления заголовков.
Для версий FireFox 1.0 до 1.6 на Яндексе можно скачать расширение Яндекс. Лента (http://lenta.yandex.ru/yalenta.xpi). Это расширение позволяет быстро добавлять в свою ленту RSS-потоки тех сайтов, которые вы посещаете. При обнаружении RSS-потока, расширение отобразит в правом нижнем углу окна браузера пиктограмму, щелкнув на которой, вы сможете добавить RSS-поток в ленту или в "живые закладки" браузера Firefox.
3.3.5. Создаем свою Ленту.
Ленты новостей можно не только экспортировать на свой сайт, в браузер или программу для чтения новостей. Из множества доступных вам лент (не только тех, что предлагает Яндекс, но и любых иных) на сервисе Яндекс. Лента вы можете создать собственный агрегатор новостей. Единственное условие — вы должны быть зарегистрированы на Яндексе.
Что даст вам личная новостная лента? Вы можете подключить сюда любые RSS-фиды, вне зависимости от того, входят ли они в новостную ленту Яндекса, подключены ли они к поиску по блогам или нет. Вплоть до того, что вы можете подключить сюда не только общедоступные ленты и блоги, но и закрытые записи своих друзей. (Закрытые записи не индексируются Яндексом, и найти их обычным способом через поиск на Яндексе невозможно.) В отличие от поиска по блогам, вы здесь будете видеть только выбранные вами потоки. И ничего лишнего.
Удобно ли использовать такой вариант агрегирования новостных и иных потоков? В ряде случаев безусловно. Если вы используете IE версии ниже 7-й, то не сможете добавить нужные вам потоки в браузер, а читалками новостей пользуются далеко не все. Если вы уехали отдыхать, в командировку, то зайдя в свой личный раздел Яндекса, вы всегда будете в курсе новостей, которые интересуют именно вас. Кроме того, вы можете подключить в свою ленту подписку на новости и вести мониторинг прессы здесь, без доставки его на ваш компьютер.
Даже в том случае, если я вас не убедил, все равно теперь рассмотрим, как создавать свои личные ленты, как ими управлять и как пользоваться.
После вашей регистрации в персональной ленте создается группа под именем Моя лента. Дело в том, что ни один RSS-поток не может быть добавлен вне какой-либо группы. Групп может быть множество, их количество не ограничивается (при большом количестве подключаемых потоков будет удобнее разделить их по темам). А вот внутри ленты потоки "перемешиваются", выводятся по времени их поступления.
Формируем ленту.
Для формирования ленты откроем вкладку Добавить RSS-поток. Здесь предлагается 4 варианта добавления потоков. Но вначале с помощью выпадающего меню выберите ленту, в которую вы будете добавлять поток.
Первый вариант — добавление существующей новостной ленты, адрес которой вы знаете (рис. 3.19). Скопируйте его в поле Адрес RSS-потока и нажмите кнопку Добавить. В это поле можно добавить не сам адрес потока, а адрес сайта, где находится эта лента. Яндекс сам отыщет ее на сайте и подставит ее адрес. Если RSS-потока не будет обнаружено по адресу сайта, воспользуйтесь поиском потоков (http://lenta.yandex.ru/feed_search.xml), где в форме поиска укажите адрес сайта или его название. После добавления название потока переместится в окно, расположенное под названием ленты. В дальнейшем, если вы захотите удалить его, выберите его в этом списке и нажмите кнопку Удалить RSS-поток.
Второй вариант позволяет импортировать настройки собственной ленты друзей из LiveJoumal. Для этого достаточно указать название вашего журнала, и все списки пользователей-друзей будут импортированы в ленту. Есть лишь небольшое ограничение — импорт сообществ и групп друзей пока не поддерживается. И еще одно. Скрытые (опубликованные "под замком") записи пользователей LiveJoumal не будут отображены в вашей ленте.
Для импорта настроек можно воспользоваться и специальной страницей — http://lenta.yandex.ru/settings.xml?name=feed_import. С ее помощью можно импортировать не только настройки вашего журнала, но и настройки программы, с помощью которой вы читаете RSS-потоки. Точно также вы можете добавить RSS-поток одного конкретного сайта или пользователя LiveJoumal (и не только LJ).
Третий и четвертый варианты добавления потоков предназначены для добавления поисковых запросов по новостям и блогам. В соответствующих полях требуется ввести запрос, по которому вы хотите выполнять мониторинг новостей или блогов. Перед тем как сохранить запрос в списке, можно проверить, как он отрабатывается. Для этого под полем ввода запроса есть ссылка проверить запрос. Если результат вас удовлетворяет, добавляйте его в свою ленту и просматривайте результаты поиска наравне с другими RSS-потоками. Кстати, хочу обратить ваше внимание еще и на то, что в результатах любого поискового запроса по новостям или блогам в конце страницы всегда присутствует ссылка Добавить этот поток в мою Ленту. Так вы можете добавлять поисковый запрос непосредственно со страницы результатов поиска.
Подобным образом можно сформировать столько лент, сколько вам требуется. После этого их можно просматривать, для чего перейдите на вкладку Читать ленту. Если вы это делаете сразу после формирования ленты, страница может оказаться пустой. Связано это с тем, что если вы добавляете потоки, которые еще не индексируются Яндексом, то должно пройти некоторое время, пока Яндекс их подключит и проиндексирует (не для общего, а только для вашего пользования). Впрочем, некоторая задержка с первоначальным выводом присутствует и при подключении RSS-потоков Яндекс. Новостей.
Управление лентами.
Вывод ленты можно настроить, для чего откроем вкладку Внешний вид. Здесь можно выбрать вариант представления новостей — либо они будут показаны только заголовками, либо сообщения будут выводиться целиком. Можно изменить количество сообщений, которое будет выводиться на одной странице, а также выбрать ленту, которая будет показываться по умолчанию при просмотре. Переключаться между остальными лентами, если их у вас несколько, можно с помощью ссылок, расположенных в начале и конце страницы просмотра.
Но вот сформировали мы с вами ленты, а через некоторое время решили, что их надо изменить. Перейдем на вкладку Управление RSS-потоками. На этой странице представлены все потоки, которые вы добавили в свои ленты. Выбрав любой из них, вы можете его удалить или переместить из одной ленты в другую. При выборе в списке ленты вы можете изменить ее расположение по отношению к другим. Здесь же можно и переименовать ленту или поток. После выполнения изменений обязательно сохраните их. На этой же странице вы можете сохранить список RSS-потоков в формате OPML для сохранения на диске или загрузке в другую программу чтения RSS-потоков.
Читаем ленты.
Осталось рассмотреть, что есть интересного на странице просмотра отобранных вами потоков. А здесь — отсортированный по времени список сообщений, как новостных, так и из блогов (рис. 3.20). В левой колонке дается название потока, в правой — сообщения, полученные из него. Если вы выбрали вариант показа только заголовков, то для каждого сообщения приводится время сообщения, название и ссылка на постоянное размещение. Рядом со временем (время показывается относительно времени публикации новости или сообщения в блоге) есть кнопка, которая позволяет "развернуть" сообщение и показать его содержание. (А в правой части страницы есть кнопка, которая позволяет развернуть все сообщения одновременно. Или свернуть их.).
Но самое интересное в другом. Вы можете отметить любое полученное сообщение или новость. Либо оно вам так понравилось, что вы собираетесь его перечитать еще раз, либо не успеваете внимательно изучить интересную тему и хотите вернуться к сообщению позже. Предлагается два варианта. Первый — присвоить сообщению статус "любимое". Для этого достаточно в строке, где указывается время, щелкнуть на символе сердечка — оно станет красным. В любое время, когда вы захотите просмотреть сообщения, отмеченные этим символом, нажмите на символ сердечка в верхней части страницы, и на ней останутся лишь те, что получили такую отметку. Иными словами, вы включаете определенный фильтр.
Но вы можете отметить сообщение и иным образом. Если в настройках просмотра вы включили текстовые пометки, то рядом с символом сердечка будет изображен значок в виде буквы Т. Если вы щелкнете на нем, откроется окошко, в котором вы сможете ввести любое слово — это будет текстовая пометка. Она будет добавлена как к сообщению, так и появится в строке рядом со словом любимые. Сообщения с одинаковыми пометками автоматически образуют категорию. Щелчок на пометке включит фильтр, и на странице останутся лишь те сообщения, которые попадают в эту группу. Не следует увлекаться присвоением различных текстовых отметок, иначе вы потом сами в них запутаетесь, а строка групп будет перенасыщена.
Щелккнув на значке Т, вы получите список уже существующих категорий (в первый раз он будет пуст) и поле ввода для создания новой категории. Текстовые пометки можно установить на сообщение, выбрав в этом выпадающем меню одну или более категорий или набрав название новой категории в поле ввода. Щелчок за пределами выпадающего меню приводит к его закрытию. Пометки устанавливаются по щелчку на названии категории и отображаются в строке заголовка. Снять текстовую пометку можно, еще раз щелкнув на соответствующей категории в этом выпадающем меню.
Обратите внимание, в настоящее время установка текстовых пометок работает только в браузерах Internet Explorer 6.0, Mozilla и Mozilla Firefox, а также Opera 8.
Чем еще полезно использование текстовых отметок? Даже в том случае, если вы удалили из своей ленты какой-либо поток, сообщения из которого вы помечали текстовыми метками или отмечали как любимые, при задании фильтра эти сообщения все равно будут вам показаны.
Ненужные категории можно удалить со страницы настройки пометок. Там же можно сбросить пометки "любимых" сообщений. При удалении пометок сами сообщения не удаляются, их по-прежнему можно найти в ваших лентах.
Индикаторы.
В строке, рядом с названиями ваших лент, могут быть показаны дополнительные цифры. Означают они количество непрочтенных сообщений. Непрочтенными сообщениями считаются те, что поступили в вашу ленту в течение последних 30 дней и ни разу не были показаны на странице. Число-индикатор является ссылкой на страницу, где содержатся только непрочтенные сообщения из соответствующей ленты. Открытие страницы в браузере снимает этот статус со всех сообщений на этой странице, а полностью очистить список непрочтенных сообщений можно в настройках пометок.
Открытие страницы непрочтенных сообщений приведет к тому, что сообщения, отображенные на этой странице (все или первые 20, если их у вас много), станут прочтенными и при следующей загрузке страницы пропадут с этой страницы. Таким образом можно, обновляя страницу, просмотреть все непрочтенные ранее сообщения. Если же вы не хотите их даже просматривать, то сможете воспользоваться ссылкой, которая пометит все сообщения в данной ленте как прочтенные.
Индикатор новых сообщений будет показан в строке персональных индикаторов (там же, где показывается количество новых писем). К новым сообщениям относятся те, которые появились за время вашего последнего просмотра ленты. Как только вы откроете страницу ленты, статус "новых" снимается со всех сообщений этой ленты.
Как подключить свою ленту.
В нашей книге мы не ставим задачу рассказать о том, как создать собственный RSS-поток. На эту тему можно легко найти информацию в Интернете. Речь идет о другом. Допустим, вы являетесь владельцем блога у одного из блог-хостера и хотите, чтобы о вашей ленте узнало больше людей. То, что у вас должны быть интересные материалы, которые будут читать, сомнению не подлежит. А вот для того, чтобы ваш блог можно было легко найти поиском, желательно добавить его в поиск по блогам (ППБ) Яндекса.
Большинство блог-хостингов умеют отдавать блоги в виде RSS-потоков, а робот Яндекса умеет эти потоки забирать и добавлять в Индекс. Первая задача, таким образом, решается автоматически. А вот вторую задачу — дать возможность подписаться на ваш RSS-поток, включить его в состав ленты, можно решать по-разному. Можно опубликовать адрес вашего потока, а можно разместить на своем сайте или блоге специальную кнопку от Яндекса (листинг 3.8), и тогда посетители смогут легко добавить ваш блог в свою личную ленту.
Листинг 3.8. Пример кода кнопки. <а. Href="http://lenta.yandex.ru/settings.xml?name=feed&url=AnpEC_BMEr0_n0T0K A"><img src="http://lenta.yandex.ru/i/addfeed.gif" border="0" alt="4MTaTb в Яндекс. Ленте" /></a>- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
- 108.
- 109.
- 110.
- 111.
- 112.
- 113.
- 114.
- 115.
- 116.
- 117.
- 118.
- 119.
- 120.
- 121.
- 122.
- 123.
- 124.
- 125.
- 126.
- 127.
- 128.
- 129.
- 130.
- 131.
- 132.
- 133.
- 134.
- 135.
- 136.
- 137.
- 138.
- 139.
- 140.
- 141.
- 142.
- 143.
- 144.
- 145.
- 146.
- 147.
- 148.
- 149.
- 150.
- 151.
- 152.
- 153.
- 154.
- 155.
- 156.
- 157.
- 158.
- 159.
- 160.
- 161.
- 162.
- 163.
- 164.
- 165.
- 166.
- 167.
- 168.
- 169.
- 170.
- 171.
- 172.
- 173.
- 174.
- 175.
- 176.
- 177.
- 178.
- 179.
- 180.
- 181.
- 182.
- 183.
- 184.
- 185.
- 186.
- 187.
- 188.
- 189.
- 190.
- 191.
- 192.
- 193.
- 194.
- 195.
- 196.
- 197.
- 198.
- 199.
- 200.
- 201.