Автоматическое копирование новых статей с сайта - PullRequest
2 голосов
/ 31 декабря 2008

Я создаю веб-сайт, в одном разделе которого будут отображаться публичные уведомления от другой сайт. (Уведомления являются общедоступными, никаких нарушений авторских прав) Мне нужно автоматически обновлять мой сайт при появлении нового уведомления на целевом сайте. Я использую Joomla в качестве моей CMS. Есть идеи?

Обновление - К сожалению, нет RSS-канала: (

Спасибо и С уважением, Nand

Ответы [ 7 ]

2 голосов
/ 31 декабря 2008

Существует несколько инструментов, которые будут очищать сайт и конвертировать его в RSS (однако вам придется немного поработать, чтобы указать, как выполнить это преобразование для нового сайта). Например, см. http://rssscraper.rubyforge.org/

1 голос
/ 31 декабря 2008

Вы можете превратить веб-сайт в rss или xml, используя yahoo pipe и / или язык запросов Yahoo (yql)

1 голос
/ 31 декабря 2008

Поскольку для вашей цели еще нет RSS-канала - вы можете написать его на PHP (на котором написан IIRC Joomla, поэтому я предполагаю поддержку). Вам просто нужно подключиться к удаленному веб-сайту и проанализировать HTML-код (здесь у вас регулярные выражения), чтобы сгенерировать данные фида; Я бы предпочел, чтобы этот вывод был в формате RSS, а затем запустился на вашем сайте Joomla.

Недостатки парсинга HTML включают огромную зависимость от макета их сайта - это можно было бы смягчить, «предоставив» им php, который генерирует RSS для их размещения, так как это добавило бы ценность и их сайту. как передача права собственности на техническое обслуживание им.

1 голос
/ 31 декабря 2008

Если другой сайт предоставляет RSS-канал для своих уведомлений, проще всего было бы использовать плагин RSS для Joomla, чтобы представить их.

0 голосов
/ 18 февраля 2009

Если вы можете просмотреть HTML-код веб-сайта, с которого вы пытаетесь извлечь информацию, и у них есть система логического именования для сущностей новостных статей, вы сможете использовать команду fopen, например.

<?php
$handle = fopen("http://www.example.com/", "r");
?>

И затем с информацией, которую он извлекает из кода статьи, если код статьи был изложен следующим образом:

<div class="post" id="post-16283">
    <div class="postheader">
        <h1 id="article-title">Test Article Code</h1>
    </div>
    <div class="postcontent">
        This is the article text
    </div>
    <div class="postfooter">
        Copyright Information
    </div>
</div>

Затем вы можете использовать следующий php-код, чтобы показать все названия статей:

if (preg_match_all("#<div class="postheader"(.*?)</div>#s", $handle, $matches, PREG_PATTERN_ORDER) > 0) {
    foreach ($matches[0] as $match) {
        echo $match;
    }
}

Это просто основной индикатор того, как извлечь информацию с веб-страницы. Его можно разработать, чтобы вы могли извлечь информационную статью за статьей с веб-страницы, а затем даже отформатировать ее по-своему.

Надеюсь, это поможет

0 голосов
/ 31 декабря 2008

Следует отметить, что «публичный» не означает отсутствие авторских прав, если он явно не размещен в публичном домене . Есть много вещей, которые являются публичными, сохраняя свое автоматическое авторское право.

0 голосов
/ 31 декабря 2008

Я согласился с ответами Фрэнкодвайера и Роуленда, но нужно учитывать, что владелец сайта (если он все еще активно разрабатывается, я полагаю, что при появлении новых новостей) добавляет RSS . Это не самая трудная вещь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...