Приводятся краткие сведения о RSS технологии представления информации в Интернете. RSS feed – широко используемая форма агрегирования данных. Подробно рассматривается технология создания RSS feed версии 2.0. Приводятся примеры размещения RSS на вебсайте.
Определение RSS и немного истории.
RSS (Really Simple Syndication) – это формат для предоставления данных. При определении этого формата используется XML версии 1.0. Информация поставляемая с вебсайта в форме XML файла называется RSS feed.
RSS технология позволяет представить информацию, как правило часто обновляемую, с вебсайта – источника в таком формате, в котором она может быть отображена на других вебсайтах, заинтересованных в оперативном показе этой информации.
У истоков создания технология синдикации стоит компания Netscape (1999 – год появления первой версии, получившей номер 0.90). В 2000 году увидела свет новая, улучшенная версия 0.91 (компания UserLand). В 2000 же году O’Reilly создана версия 1.0, которая базировалась на RDF формате описания данных. Эта версия развивалась компанией RSS-DEV под названием RDF Site Summary. В 2002 году Dave Winer (Harvard University) определил спецификацию RSS 2.0.
Мы рассмотрим примеры использования синдикации информации с вебсайтом на примере версии RSS 2.01.
Механизм действия RSS.
Технология RSS достаточно проста. Для публикации в Интернете информации, уже размещенной на каком-нибудь сайте, необходимы следующие составляющие.
– Веб страница с информацией, которую предполагается предоставить для просмотра на других сайтах.
– XML файл, определяющий RSS feed. Этот файл содержит следующую информацию по каждой странице, которую предполагается опубликовать: URL страницы, заголовок (title) страницы, общее описание содержания страницы.
– Конкретный человек, который хочет отобразить (читать) информацию на своем компьютере. Для этой цели этому человеку необходимо использовать RSS – ридер или Веб браузер, для того, чтобы добавить интересующий его RSS feed с помощью специальной команды в программу на своем компьютере.
– Или вебсайт, который хочет показать RSS feed. В этом случае необходимо загрузить RSS feed с сайта Провайдера, прочитать (extract) URL страницы и отобразить заголовок новости и краткое содержание. Это может быть выполнено с помощью специального скрипта.
– Когда посетитель сайта – получателя RSS загружает страницу, на которой размещен скрипт, этот скрипт срабатывает, загружая RSS файл с сайта провайдера и показывает список новостей, опубликованных на страницах сайта – донора.
– Кликнув на линию списка, посетитель открывает страницу с информацией сайта донора новостей.
Структура RSS документа.
RSS документ – это XML файл, глобальный контейнер RSS тэгов в RSS 2.0 формате. Файл содержит, как минимум один канал (channel). Канал – это вебсайт – провайдер (донор) информации. Канал продвигает статьи или данные, т. е. страницы с этого сайта или с другого сайта.
Как использовать RSS
1. На отдельном компьютере RSS фиды могут быть паказаны Веб-браузером (IE – 7, Firefox 2 или более поздними версиями этих браузеров). Так же можно инсталлировать RSS – ридер (RSS reader) или агрегатор (aggregator), если на компьютере установлена операционная система Windows, Linux, Mac OS, …). Доступ к RSS содержимому зависит от применяемого ридера.
2. На вебсайте RSS выводится в форме списка заголовков статей, которые могут дополняться кратким содержанием статей. Кликнув на заголовок статьи из списка, посетитель открывает страницу со всей статьей. Список обновляется автоматически с помощью скрипта, который загружает список при загрузке страницы, содержащей этот скрипт.
Публикация RSS feed.
Имеется несколько способов генерировать RSS feed.
– Используя RSS библиотеку скриптов. Скрипт создает XML файл из содержимого мета тэгов “title”, “description”, содержимого самой страницы.
– Используя специализированные инструменты для выделения данных с вебстраницы.
Для того, чтобы разрешить доступ к XML файлу, размещаются следующие линки:
Основные RSS тэги.
rss – глобальный контейнер.
channel – публикуемый (распространяемый) канал информации. Включает в свою область действия несколько тэгов, характеризующих канал и один или несколько тэгов “item”, характеризующих включенную в канал информацию.
Пример последовательности тэгов:
<rss version=”2.0″>
<channel>
… �
</channel>
</rss>
Обязателные тэги, которые включаются в область действия тэга “channel”:
– title – заголовок канала.
– link – URL вебсайта, информацию с которого представляет канал, например:.
– description – краткая характеристика содержимого канала.
– item – как минимум один тэг, для характеристики содержимого канала.
Пример последовательности тэгов:
<rss version=”2.0″>
<channel>
<title>Блог Олега Якупова</title> �
<link>http://www.rusnauka.org/Блоги/tabid/55/BlogId/2/language/en-US/Default.aspx</link>
<description>Я отношусь к той категории советских людей, которых называют “Ташкентскими русскими”. Это эндемики, сохранившие… </description>
<item>
</item> �
</channel>
</rss>
Необязательные тэги для канала:
– language – используемый язык сообщения. например: ru-RU.
– docs – ссылка на сайт, где можно найти описание вормата XML файла.
– webmaster – адрес электронной почты веб мастера сайта.
– pubDate – дата опубликования информации, например.
– managingEditor адрес электронной почты управляющего сайта.
– lastBuildDate – дата последней синдикации данных.
– generator – программа, генерирующая RSS feed, например: Blog RSS Generator Version 3.4.0.39853.
Тэги, находящиеся в области действия тэга “item”, т. е. характеризующие конкретный набор данных (статью):
– title – название статьи, например: Что такое Верхняя мантия Земли и зачем нужно ее изучать.
– link – URL странницы, на которой размещается статья, например: http://www.rusnauka.org/Блоги/tabid/55/EntryID/15/language/en-US/Default.aspx
– desсription – краткое описание статьи.
Пример последовательности тэгов:
<item>
<title> Что такое Верхняя мантия Земли и зачем нужно ее изучать.</title> �
<link> http://www.rusnauka.org/Блоги/tabid/55/EntryID/15/language/en-US/Default.aspx
</link>
<description> Я привожу самые общие сведения о Верхней мантии Земли. О ее местоположении внутри Земли, о методах, позволяющих изучать внутреннее устройство этой геосферы и о природных явления, обусловленных процессами, протекающими в Верхней мантии Земли. </description>
</item>
Создание RSS feed.
1. Создаем XML файл в любом текстовом редакторе. Я пользуюсь редактором MSVisual Studio 2008. Назовем файл “feed.xml”. Исходная структура файла:
<?xml version="1.0" encoding="utf-8" ?>
Добавим глобальные RSS тэги:
<?xml version="1.0" encoding="utf-8" ?>
2. С помощью тэга “channel” и обязательных вложенных тэгов “title”, “link” и “description” определяем источник информации.
<rss version=”1.0″>
<channel>
</channel>
</rss>
3. Добавляем изображение, если требуется, но это не обязательно. Можно использовать общепринятые форматы .gif, .jpg, .png. Пометим изображение в ту же директорию, что и RSS файл. Для определения изображения будем использовать три тэга:
– image – тэг – контейнер.
– url – адрес картинки
– link – адрес страницы, которая будет показана при клике на картинку.
Пример последовательности тэгов:
<channel>
<title> </title>
<link> </link>�
<image>
<url> </url>
<link> </link>
</image>
</channel>
4. Добавим статью с помощью тэга “item”. Внутри этого тэга опишем заголовок статьи с помощью вложенного тэга “title”, URL страницы, содержащей статью, с помощью вложенного тэга “link” и краткое содержание статьи с помощью вложенного тэга “description”. В результате создадим следующий код:
<item>
При необходимости, можно добавить неограниченное число статей, используя тэги, описанные в этом разделе. Но мы этого делать не будем.
<title>Что такое Верхняя мантия Земли и зачем нужно ее изучать.</title>
<link>http://www.rusnauka.org/Блоги/tabid/55/EntryID/15/language/en-US/Default.aspx</link>
<description>Я привожу самые общие сведения о Верхней мантии Земли. О ее местоположении внутри Земли, о методах, позволяющих изучать внутреннее устройство этой геосферы и о природных явления, обусловленных процессами, протекающими в Верхней мантии Земли.</description>
</item>
5. Добавим файл “feed.xml” на наш сайт так же, как и другие страницы сайта.
6. Можно протестировать файл “feed.xml” на предмет его соответствия общепринятому стандарту с помощью специальных онлайновых RSS feed валидаторов, например валидатора http://www.feedvalidator.org .
7. Для того, чтобы сделать RSS feed, созданный нами доступным посетителям сайта, добавим RSS кнопку на домашнюю страницу сайта, и сделаем так, что нажатие этой кнопки покажет только что созданный нами “feed.xml” файл:
<a href=”http://www.xul.fr/feed.xml”> <img src=”rss.gif”> </a>
Если изображения кнопки не видно, можно воспользоваться полным путем к файлу – картинке кнопки.
8. Для обновления RSS нужно добавлять новые статьи с помощью блоков тэгов “item” и удалять старые, сохраняя общее количество статей неизменным.
Законченный пример:
<?xml version="1.0" encoding="utf-8" ?>
Информация для браузеров об RSS feed, имеющемся на сайте.
<rss version=”2.0″>
<channel>
<title>Блог Олега Якупова.</title> <link>http://www.rusnauka.org/Блоги/tabid/55/BlogId/2/language/en-US/Default.aspx</link>
<description>Я отношусь к той категории советских людей, которых называют “Ташкентскими русскими”. Это эндемики, сохранившие в окружении инородной культуры своеобразную русскую культуру, и прежде всего язык, дореволюционной культуры. А так же впитавших в себя много хорошего из окружавшей нас по жизни восточной культуры. Еще нас называют “Совками”. Но это относится не только к бывшим жителям гостеприимного Ташкента, но к жителям всего Советского Союза, сформировавшимся, как личности, во времена Советского Союза. Многих из нас судьба разбросала по всему Земному шару. Нам не хватает привычного общения. Наши дети и внуки, помимо своей воли, становятся “иностранцами”. Блог – это то место, где я смогу выговориться, а если повезет, то и поговорить с людьми моего поколения. Спасибо Интернету, он предоставляет нам такую возможность.</description>
<item>
<title>Что такое Верхняя мантия Земли и зачем нужно ее изучать.</title>
<link>http://www.rusnauka.org/Блоги/tabid/55/EntryID/15/language/en-US/Default.aspx</link>
<description>Я привожу самые общие сведения о Верхней мантии Земли. О ее местоположении внутри Земли, о методах, позволяющих изучать внутреннее устройство этой геосферы и о природных явления, обусловленных процессами, протекающими в Верхней мантии Земли.</description>
</item>
</channel>
</rss>
Мы создали RSS, фактически XML файл, в нашем примере “feed.xml” и расположили его в корневой директории нашего сайта. Теперь мы должны сообщить браузерам об этом. Для чего поместим следующий тэг внутри <head> </head> секции:
<link rel=”alternate” href=”http://www.xul.fr/rss.xml” title=”Your title”>
Показ RSS на вебсайте
Существует немало сайтов и инструментов, которые помогают вебмастеру сгенерировать java или html код, который может быть использован для показа содержимого RSS feed на страницах сайта.
Рассмотрим, для примера, сайт http://www.feedroll.com . С этого сайта можно загрузить javascript код для показа RSS, предварительно выбрав источник и настроив внешний вид окна, в котором будет показываться информация. Мы выбрали источник Yahoo! News: Science News. Настроили окно показа в соответствии с дизайном страницы, на которой бедем показывать новости. Скопировали код для показа и разместили на нашей странице. Пример кода:
<script language="javascript" type="text/javascript" src="http://www.feedroll.com/rssviewer/view_rss.php?type=js&source_id=13&feed_width=350&frame_color=000000&title_textcolor=0000FF&title_bgcolor=FFFFFF&box_textcolor=00FF00&box_bgcolor=FFFFFF&feed_showborder=1&feed_spacing=2&feed_align=left&feed_textsize=12&feed_textfont=Times New Roman, serif&feed_maxitems=5&feed_desclimit=&feed_compact=0&feed_xmlbutton=0&link_openblank=1"></script>
Еще один сайт, на котором можно получить код для размещения RSS на своем сайте: http://rssfeedreader.com/ . Для получения доступа к бесплатным инструментам необходимо зарегистрироваться, задав свое имя, адрес электронной почты и имя своего сайта. Вам будут высланы по указанному адресу электронной почты пользовательское имя и пароль. То есть Вы получаете доступ к бесплатным инструментам. Схема действий аналогичная, описанной для первого примера.
Некоторые термины, используемые в этой заметке.
Feed – набор “item” тэгов для определения информации или новостей.
RDF (Resource Description Framework) – набор спецификаций для описания и моделирования данных, которые используются различными интернет ресурсами.
RSS (Real Simply Sindication или Rich Site Summary) – набор Web feed форматов.
Web feed (News feed) – формат данных для предоставления часто меняющегося содержимого сайта.
Sindicated – Опубликовано через RSS feed.
Sindication – Публикация данных с помощью RSS feed.
XML (Extensible Markup Language) – спецификация для создания различных языков описания данных, в том числе и языка для описания RSS.
Pingback: http://winterspringmawlid.co.uk/img/Marlboro-1809.html
Pingback: http://hope4challengingchildren.com/wp-content/cigs/cheapcigs481.html
Pingback: http://bathtubbrewery.com/images/cheapcigs22.html
Pingback: http://socialmediainnovation.org/wp-content/cigs/cheapcigs142.html
Pingback: http://dscvrsounds.com/images/sport-1060s.html
Pingback: http://www.trends.com.pg/wp-content/cigs/cheapcigs28.html
Pingback: http://ahxdc.com/img/adidas-340.html
Pingback: http://saheli-lubes.com/uploads/Cigarrettes-139.html
Pingback: http://www.skiandboarding.com/wp-content/cigs/cheapcigs64.html
Pingback: http://www.guldpriset.se/wp-content/cigs/cheapcigs73.html
Pingback: http://www.gsma-asso.fr/img/Cigarrettes-1052.html
Pingback: http://intepol.cl/images/cheapcigs258.html
Pingback: http://www.mprpd.org/wp-content/cigs/cheapcigs212.html
Pingback: http://www.onsightbookkeeping.com/images/cheapcigs384.html
Pingback: http://idealdental.com.mx/img/Marlboro-1341.html
Pingback: http://www.tulangbelakang.com/wp-content/cigs/cheapcigs272.html
Pingback: http://thesharingkitchen.org/wp-content/cigs/cheapcigs364.html
Pingback: http://kashirt.com/wp-content/cigs/cheapcigs142.html
Pingback: http://dimplesanddaisysfm.com/wp-content/cigs/cheapcigs73.html
Pingback: http://neighborsbuildingbrightmoor.org/wp-content/cigs/cheapcigs42.html
Pingback: http://orchestralnetworks.com/wp-content/cigs/cheapcigs234.html
Pingback: http://dongshengsw.com/img/Marlboro-1128.html
Pingback: http://www.mcmkg.fr/wp-content/cigs/cheapcigs228.html
Pingback: http://imallmarketplace.com/wp-content/img/Cigarettes-1953.html
Pingback: http://garettbrennan.com/images/cheapcigs11.html
Pingback: http://marktradingadvisors.gr/wp-content/img/Cigarettes-2300.html
Pingback: http://www.cybersex-cam.net/wp-content/cigs/cheapcigs471.html
Pingback: http://safetech.com.br/images/Marlboro-426.html
Pingback: http://www.skiandboarding.com/wp-content/cigs/cheapcigs510.html
Pingback: http://royphay.com/img/Cigarrettes-156.html
Pingback: http://thinkup.mitcms.org/cigimages/cheapcigs65.html
Pingback: http://www.croissantlove.com/image/cheapcigs442.html
Pingback: http://automotive-epc.com/wp-content/img/Cigarettes-1089.html
Pingback: http://www.kermon.ee/wp-content/cigs/cheapcigs135.html
Pingback: http://www.antonioarroio.pt/uploads/adidas-287.html
Pingback: http://www.stradellareposteria.com/img/Cigarrettes-130.html
Pingback: http://www.wyattgod.com/wp-content/cigs/cheapcigs332.html
Pingback: http://graymatterseo.com/wp-content/cigs/cheapcigs468.html
Pingback: http://artdrum.ru/wp-content/cigs/cheapcigs226.html
Pingback: http://ndttraining.in/images/sport-100s.html
Pingback: http://yogabykat.com/wp-content/cigs/cheapcigs428.html
Pingback: http://yakimasunfairparade.com/wp-content/img/Cigarettes-2346.html
Pingback: http://tarasytynieckie.pl/wp-content/cigs/cheapcigs127.html
Pingback: http://www.free-leadgen.ru/wp-content/cigs/cheapcigs89.html
Pingback: http://selcukgrup.com/wp-content/cigs/cheapcigs50.html
Pingback: http://bellydancecostume-wholesale.com/images/1041-cigs.html
Pingback: http://giuliabruno.com/wp-content/img/Marlboro-1900.html
Pingback: http://www.datahen.com/wp-content/cigs/cheapcigs263.html
Pingback: http://royphay.com/wp-content/cigs/cheapcigs484.html
Pingback: http://gatoconte.dreamhosters.com/images/cheapcigs222.html
Pingback: http://www.snaebjornsdottirwilson.com/img/Cigarrettes-1043.html
Pingback: http://www.contentsking.com/wp-content/cigs/cheapcigs481.html
Pingback: http://www.elkhartcountyhistory.org/images/cheapcigs350.html
Pingback: http://holiday.gark.net/image/cheapcigs300.html
Pingback: http://venture.it/img/Cigarrettes-1068.html
Pingback: http://intepol.cl/images/cheapcigs72.html
Pingback: http://hongistos.com/wp-content/img/Cigarettes-2137.html
Pingback: http://zebras.org.au/wp-content/cigs/cheapcigs99.html
Pingback: http://royphay.com/wp-content/img/Marlboro-1440.html
Pingback: http://www.vobitz.info/wp-content/cigs/cheapcigs121.html
Pingback: http://druez.geekitude.com/cigimages/cheapcigs37.html
Pingback: http://i-entertainment.co.uk/uploads/adidas-339.html
Pingback: http://ittqc.com/wp-content/cigs/cheapcigs363.html
Pingback: http://vibe-communications.com/images/sport-1134s.html
Pingback: http://hongistos.com/wp-content/cigs/cheapcigs107.html
Pingback: http://usmovingsvc.com/uploads/adidas-277.html
Pingback: http://video-cloud.net/wp-content/cigs/cheapcigs39.html
Pingback: http://yakimasunfairparade.com/wp-content/cigs/cheapcigs145.html
Pingback: http://lovemytiedye.com/wp-content/cigs/cheapcigs364.html
Pingback: http://oljemark.com/wp-content/cigs/cheapcigs313.html
Pingback: http://csusga.com/wp-content/cigs/cheapcigs397.html
Pingback: http://www.tinyorb.com/cigimages/274-newport100.html
Pingback: http://logicgrp.com/uploads/adidas-499.html
Pingback: http://www.emerygapranch.com/cigimages/cheapcigs146.html
Pingback: http://www.kermon.ee/wp-content/cigs/cheapcigs164.html
Pingback: http://www.embramac.com/wp-content/cigs/cheapcigs221.html
Pingback: http://thegyem.org/images/sport-1148s.html
Pingback: http://parisbilingualschool.com/wp-content/cigs/cheapcigs378.html
Pingback: http://sankage.com/wp-content/cigs/cheapcigs356.html
Pingback: http://automotive-epc.com/wp-content/css/Marlboro-325.html
Pingback: http://garrettdrill.com/image/cheapcigs404.html
Pingback: http://giuliabruno.com/wp-content/img/Cigarettes-1168.html
Pingback: http://marina-kitchen.com/wp-content/cigs/cheapcigs124.html
Pingback: http://www.studiomedicopicano.it/wp-content/img/Cigarettes-1242.html
Pingback: http://vancouverhypnosis.info/wp-content/cigs/cheapcigs337.html
Pingback: http://giuliabruno.com/wp-content/img/Marlboro-1979.html
Pingback: http://harmonata.com.br/wp-content/cigs/cheapcigs181.html
Pingback: http://www.dbclay.com/images/cheapcigs343.html
Pingback: http://artdrum.ru/wp-content/cigs/cheapcigs1.html
Pingback: http://www.jameszintel.com/cigimages/cheapcigs46.html
Pingback: http://advocatedefense.com/wp-content/cigs/cheapcigs158.html
Pingback: http://www.culturalcurico.cl/images/sport-1094s.html
Pingback: http://tphint.com.pk/wp-content/cigs/cheapcigs294.html
Pingback: http://hisense.com.au/wp-content/cigs/cheapcigs128.html
Pingback: http://adanvasquez.com/wp-content/cigs/cheapcigs406.html
Pingback: http://flashdoha.com/wp-content/img/Cigarettes-1352.html
Pingback: http://poumlamode.com/wp-content/img/Cigarettes-2142.html
Pingback: http://gbiecclesia.org/wp-content/cigs/cheapcigs489.html
Pingback: http://www.flexlifeinternational.com/wp-content/img/Cigarettes-919.html
Pingback: http://usader.com/wp-content/cigs/cheapcigs35.html
Pingback: http://streettherapyinteractive.com/img/Cigarrettes-114.html
Pingback: http://genesisgrouponline.com/images/cheapcigs523.html
Pingback: http://www.auditelshop.fr/images/Marlboro-640.html
Pingback: http://oljemark.com/wp-content/cigs/cheapcigs427.html
Pingback: http://appliancerepairlogan.com/wp-content/img/Cigarettes-4080.html
Pingback: http://awassociatescorp.com/wp-content/cigs/cheapcigs277.html
Pingback: http://sayingthankyou.org/wp-content/img/Cigarettes-4093.html
Pingback: http://casacucina.net/wp-content/cigs/cheapcigs30.html
Pingback: http://www.itsmail.co.za/uploads/adidas-126.html
Pingback: http://parisamusic.com/wp-content/cigs/cheapcigs180.html
Pingback: http://servizi.trimline.it/wp-content/cigs/cheapcigs330.html
Pingback: http://intepol.cl/images/cheapcigs193.html
Pingback: http://oljemark.com/img/adidas-164.html
Pingback: http://www.dbclay.com/images/cheapcigs267.html
Pingback: http://bollywoodcinemaonline.com/wp-content/cigs/cheapcigs191.html
Pingback: http://www.pistenhotels.at/wp-content/cigs/cheapcigs299.html
Pingback: http://hostroma.com/wp-content/cigs/cheapcigs50.html
Pingback: http://www.zpoddasza.pl/wp-content/cigs/cheapcigs276.html
Pingback: http://karolinesopskrifter.dk/wp-content/cigs/cheapcigs234.html
Pingback: http://silverstoneinnandsuites.com/wp-content/cigs/cheapcigs334.html
Pingback: http://www.engeled.com.br/wp-content/cigs/cheapcigs6.html
Pingback: http://www.trends.com.pg/wp-content/cigs/cheapcigs358.html
Pingback: http://rabbibuchwald.njop.org/wp-content/cigs/cheapcigs107.html
Pingback: http://rabbibuchwald.njop.org/wp-content/cigs/cheapcigs119.html
Pingback: http://dltrans.ax/wp-content/cigs/cheapcigs204.html
Pingback: http://osa.am/wp-content/cigs/cheapcigs100.html
Pingback: http://www.maratonteknoloji.com/wp-content/cigs/cheapcigs524.html
Pingback: http://motionphysio.co.uk/wp-content/cigs/cheapcigs257.html
Pingback: http://prudentialcg.com/img/adidas-230.html
Pingback: http://bo.europcar-atlantique.fr/images/763-cigs.html
Pingback: http://www.trends.com.pg/wp-content/cigs/cheapcigs529.html
Pingback: http://aiosol.com/img/adidas-501.html
Pingback: http://www.civtech.com/wp-content/cigs/cheapcigs28.html
Pingback: http://idevzone.com/wp-content/cigs/cheapcigs64.html
Pingback: http://www.confino.com/wp-content/cigs/cheapcigs11.html
Pingback: http://www.haarstrang-heroes.de/img/adidas-329.html
Pingback: http://poumlamode.com/wp-content/cigs/cheapcigs239.html
Pingback: http://www.helu.vn/uploads/adidas-38.html
Pingback: http://monolitoimoveis.com.br/wp-content/cigs/cheapcigs294.html
Pingback: http://takeurtime.com/wp-content/img/Cigarettes-2446.html
Pingback: http://yoursmartweb.com/wp-content/cigs/cheapcigs333.html
Pingback: http://takeurtime.com/wp-content/cigs/cheapcigs335.html
Pingback: http://krackerjogja.com/wp-content/cigs/cheapcigs414.html
Pingback: http://drplus.be/wp-content/cigs/cheapcigs218.html
Pingback: http://eshopspk.com/wp-content/cigs/cheapcigs408.html
Pingback: http://idealdental.com.mx/img/Marlboro-1681.html
Pingback: http://mm-travel.eu/wp-content/cigs/cheapcigs488.html
Pingback: http://mystylery.com/wp-content/img/Cigarettes-2371.html
Pingback: http://www.test.ink-horn.in/wp-content/cigs/cheapcigs115.html
Pingback: http://imallmarketplace.com/js/adidas-484.html
Pingback: http://neighborsbuildingbrightmoor.org/wp-content/cigs/cheapcigs427.html
Pingback: http://alohafido.com/wp-content/img/Cigarettes-3049.html
Pingback: http://palcovale.com.br/wp-content/cigs/cheapcigs459.html
Pingback: http://zebras.org.au/wp-content/cigs/cheapcigs220.html
Pingback: http://www.trends.com.pg/wp-content/cigs/cheapcigs418.html