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

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

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

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

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

  • 2025.10.1503:38 PM

    Твори (Марґерiт Юрсенар).

    До видання вибраних і коментованих творів класика французької та бельгійської літератур Марґеріт Юрсенар увійшли знакові тексти – роман “Чорне творіння” та збірка поезій у прозі “Вогні”, які постають медитаціями над сутнісними проблемами людського буття. Українською їх перекладено вперше.

  • 2025.10.1503:34 PM

    Україна 1917–1920 років: подієві та історіографічні контексти (Валерій Солдатенко).

    Україна 1917–1920 років: подієві та історіографічні контексти: монографія. – Київ: Інститут політичних і етнонаціональних досліджень ім. І.Ф.Кураса НАН України, 2025. – 576 с.
    ISBN 978-617-14-0366-6

    У пропонованій книзі зроблено спробу зосередити увагу на найбільш важливих, складних, суперечливих моментах досвіду революційних років (1917–1920) в Україні. Навколо них уже більше століття не затихають дискусії, які не завжди завершуються розумінням справжніх смислів того, що відбувалося, усвідомленням сутності того, що сталося, безперечним наближенням до істини. Тому обрані для відтворення, тлумачення та оцінок історичні аспекти і сюжети досліджуються у тісному взаємозв’язку з розвитком історіографічних тенденцій, наукових напрацювань різних часів.

  • 2025.10.1503:31 PM

    Західна Україна в реакційній політиці польської та української буржуазії (1920–1939) (Юрій Сливка).

    В монографії висвітлюється імперіалістична політика польської буржуазії щодо Західної України, викривається злочинна роль українських буржуазно-націоналістичних і клерикальних партій та організацій в поневоленні польською буржуазією Східної Галичини та Західної Волині, їх союз з окупаційними властями та імперіалістичними державами Заходу, насамперед з фашистською Німеччиною, в боротьбі країні Рад напередодні другої світової війни.

    Для науковців, викладачів та студентів вузів, пропагандистів.


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

  • 2025.10.1503:18 PM

    Микола Хвильовий (Юрій Іванович Шаповал).

    Микола Хвильовий / Авт. текст, упоряд. док., прим., підбір іл. Ю.І.Шаповала; худож.-оформлювач Є.В.Вдовиченко. – Харків: Фоліо, 2025. – 414 с.: іл. – (Митці на прицілі).
    ISBN 978-966-03-8167-4 (Митці на прицілі); 978-617-551-911-0.

    Видання присвячене письменнику й публіцисту Миколі Хвильовому (1893–1933). Авторська розвідка, унікальні документи й матеріали показують драму, породжену життям митця «під прицілом» партійних і чекістських органів. Кожна його книжка викликала суспільний резонанс і реакцію влади, з якою він вів своєрідну гру. Людина неприборканого темпераменту, він не хотів виконувати «соціальні замовлення», накинені згори, наважився на критику політики лідерів російського більшовизму щодо України. Комуністичні спецслужби вважали Миколу Хвильового «українським шовіністом», постійно стежили за письменником і готували його фізичне знищення.

Парсінг стрічки новин
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>'; } ?>