Собираем понятный Docker Compose для разработки и будущего деплоя PHP-сайта.
Зачем это нужно
RSS-парсер полезен для новостных сайтов, мониторинга источников и подготовки черновиков материалов. Важно сохранять сырые данные, дату публикации, ссылку на источник и хэш контента.
Базовый код
parser.php
function fetchFeed($url) {
$body = file_get_contents($url);
if ($body === false) {
return array();
}
$xml = simplexml_load_string($body);
if (!$xml || !isset($xml->channel->item)) {
return array();
}
$items = array();
foreach ($xml->channel->item as $item) {
$items[] = array(
'title' => (string) $item->title,
'url' => (string) $item->link,
);
}
return $items;
}
Ошибки перед продакшном
Важно: не используйте HTML источника на публичной странице без экранирования. Сохраняйте сырье отдельно, а публикацию делайте через редактора.
- Добавить timeout HTTP-запроса.
- Считать content_hash для антидублей.
- Логировать ошибки источника.
- Не запускать два импорта одновременно.
Частые вопросы
Нужно проверять правила источника, robots.txt и авторские права. Для налоговых новостей лучше использовать официальные источники и ссылаться на первоисточник.
Лучше нет. Сохраняйте сырье и отдавайте редактору на проверку.