Шляхом Альбірео

Warning: Undefined variable $a in /volume1/web/albireo/albireo-data/snippets/header.php on line 85 НовиниЗаписиPHPRSS рідер окремого каналу

2022.07.21
Парсінг RSS каналу електронної бібліотеки "Чтиво"
Новини бібліотеки

RSS книжкових новин і старих часописів, які були оцифровані і оформлені нещодавно. Переходячи за посиланням, Ви попадете на сторінку іншого ресурсу.

Е-бібліотека «Чтиво»Cайт бібліотеки зараз доступний.

  • 2025.09.1009:44 AM

    Вітер з берегів юності (збірка) (Валентин Речмедін).

    Переважна більшість оповідань, вміщених у цій збірці, присвячена морально-етичним темам. Герої оповідань – прості радянські юнаки й дівчата, ясні й полум’яні серцями, їм ненависний обивательський бруд, вони з огидою відмітають від себе все зле, порочне, що іноді трапляється на нашому шляху і отруює нам життя.

    Хай вітер з берегів щасливої юності свіжим струменем вривається в душі молоді, пробуджує прекрасні пориви, прекрасні почуття – такий авторський задум.


    Увага!!! Ця книга містить елементи комуністичної пропаганди!

  • 2025.09.1006:25 AM

    Таємниці дорогожицьких пагорбів (Ірина Марголіна).

    Марголіна, І.Є.
    Таємниці дорогожицьких пагорбів / Ірина Марголіна. – К.: Либідь, 2014. – 80 с.: іл. – (Серія «Твій Київ»).
    ISBN 978-966-06-0672-2 (серія «Твій Київ»)
    ISBN 978-966-06-0689-0


    Кирилівська церква – перлина культури Стародавнього Києва. Визначна архітектурна і мистецька пам’ятка XII ст. зберігає чимало таємниць, розкрити які, бодай частково, допомагає залюблений у нашу історію погляд фахівця, що запрошує подивитися на храм і пов’язані з ним події небайдужими очима.

    Для широкого читацького загалу.

  • 2025.09.1006:22 AM

    Цей химерний світ (Кейм Мак Доннелл).

    У нашому світі (зокрема в Манчестері) чигають темні сили, але, на щастя, журналісти «Цього химерного світу» завжди напоготові, щоб повідомити про них. Це видання, до якого звертаються, коли йдеться про незрозуміле і неприродне.

    Принаймні, так вони себе позиціонують. Реальність не така втішна. Його співробітники – збіговисько ексцентричних особистостей.

    Поки більшість людей кепкує з газети та її статей, у Манчестері, просто під носом у всіх, відбуваються дивні, надприродні явища, і редакція «Цього химерного світу» змушена провести серйозне розслідування. Те, що вони дізнаються, шокує: адже деякі історії, що раніше здавалися повною нісенітницею, насправді є моторошно реальними. Невдовзі вони стикаються з набагато темнішими потойбічними явищами, ніж могли собі уявити…

  • 2025.09.1006:19 AM

    303 задачі з електрики та магнетизму з відповідями, вказівками, розв’язаннями (Ілля Гельфгат).

    Задачі з електрики та магнетизму у книзі диференційовані на задачі середньої трудності, підвищеної трудності та олімпіадні. До багатьох задач надано вказівки або розв’язки. Для самоконтролю запропоновано тести.

    Книгу адресовано учням 10–11-х класів шкіл, ліцеїв і гімназій (в тому числі фізико-математичного профілю), а також випускникам та абітурієнтам.

Парсінг стрічки новин
Note

Бібліотека хороша, але генерація RSS-каналів не піддається стилізації на нашому сайті завдяки тому, що CSS прописані в тілі скрипта, а це не є добре.

Ми написали парсер на РНР, який виправляє вивід сторінки і позбавляє деяких вад при публікації, а саме:

  • Скасована дія float після виводу інформації, через додавання <p style="clear:both"></p> наприкінці генерації.
  • Частково скасовано стилізацію, шляхом відміни <div style="margin:20px 5px; color:#312d2d;"> в оригіналі. Це тепер не заважає показати шрифт будь-якого коліру і на будь-якому фоні.
  • Скореговані відступи блоків для кращого сприйняття.
  • Для зображень встановлений однаковий розмір.
  • Можна вказати кількість новин для розміщення на сторінці.
  • Додана перевірка доступності сайту в даний момент.

Код в процесі тестування і з цієї причини, можливі зміни. Не причесаний. Працює з усіма чотирма каналами джерела, однак, виявилася ще одна проблема - на сайті інколи дають посилання на локальне розташування зображень, тому вони не відображаються. Це помилка генерації фіду.

<!-- RSS читалка для новин сайта "Chtyvo" -->

[PHP]

<?php // URL фіду (джерело) $feeds = array( "https://chtyvo.org.ua/feed/bookshq.rss" ); // Резервуємо змінні для скрипта $entries = array(); $search = '<div style="margin:20px 5px; color:#312d2d;">'; $replace = '<div>'; foreach ($feeds as $feed) { $xml = simplexml_load_file($feed); $entries = array_merge($entries, $xml->xpath("//item")); } // Сортуємо фіди по даті (на всяк випадок) usort($entries, function ($feed1, $feed2) { return strtotime($feed2->pubDate) - strtotime($feed1->pubDate); }); ?> <div class="bg-transparent pad40-tb"> <!-- Класи від нашого зовнішнього фреймворка (але, можуть бути які завгодно) --> <ul class="list-unstyled"> <?php $NUMITEMS = 5; // Вказуємо кількість новин для показу $count = 0; // Виводимо на сторінку в кількості, яка вказана в $NUMITEMS foreach ($entries as $entry) { ?> <li> <p class="t100 t-orange250 pad20-t"> <?= strftime('%m/%d/%Y %I:%M %p', strtotime($entry->pubDate)) ?> </p> <p> <?=$entry = str_ireplace($search, $replace, (str_ireplace('<div style="float:left; padding: 10px;">', '<div style="float:left; padding-right: 40px; padding-top: 7px;">', (str_ireplace('Додано твір ', '', (str_ireplace('border="0" />', 'border="0" width="200">', $entry->description))))))); ?> </p> <p style="clear:both"></p> </li> <?php if (++$count >= $NUMITEMS) break; } ?> </ul> </div>

Appdate

Автори бібліотечного сайту відгукнулися листом і обіцяли переглянути формування новин своїх каналів, так що, вищенаписане може й не знадобиться, хоча, як окрема вправа з парсингу, вона була для нас дуже і дуже корисною.

Бібліотека використовує rss більше як засіб трансляції новин до свого твітеру, отже, якщо наші пропозиції їй в цьому не заважатимуть, то скрипт втратить свою актуальність.

Інколи сервер сайту буває зайнятий і тоді не може бистро віддати новини, тому варто перевірити, чи взагалі він не закритий на технічне обслуговування. Для цього ми дописали кілька рядків:

<!-- Перевірка доступності сайта -->

[PHP]

<?php $URL = 'http://chtyvo.org.ua/'; if (isSiteAvailible($URL)) { echo '<p>Cайт бібліотеки зараз доступний.</p>'; // Тут ми додаємо скрипт для виводу // .... } else { echo '<p>Сайт бібліотеки поки недоступний. Завітайте пізніше, будь ласка.</p>'; } ?>