Отсутствие c board cgi. Учебное пособие по CGI-программированию
Есть у этого ресурса RSS лента последних изменений. Но вот беда - лента изменений самая минимальная. Там указано только кем, когда и какая страница редактировалась. Нет полных изменений и нет GUID у элементов ленты, поэтому некоторые RSS клиенты (например, Google Reader) не показывают большую часть новостей, считая их одинаковыми.
Для преобразования ленты в свой, удобный формат, выбор пал на такой специализированный инструмент, как Yahoo Pipes . Но тут постигла неудача. Для получения изменений странички, wiki строго требовала наличия cookie с именем «wikit_e» в http запросе, а научить Yahoo Pipes отсылать куки не получилось. Фокус с HTTP запросом GET и параметром в виде "?COOKIE=" так же не проходил.
В итоге, выбор пал на более гибкий инструмент - Google Apps Script . В итоге получился вот такой скрипт:
// Эта функция будет выполняться автоматически, при вызова скрипта как веб-приложения
function doGet() {
// Задаем URL исходной RSS ленты
var feed = "http://wiki.tcl.tk/rss.xml";
// Определяем ID для доступа к кэшу
var id = Utilities.base64Encode(feed);
// Определяем кэш и пробуем забрать уже собранную ленту из него
var cache = CacheService.getPublicCache();
var rss = cache.get(id);
// Если в кэше лента не сохранена - переходим к ее созданию
if (rss == null) {
// Получаем данные RSS ленты в виде XML
var data = UrlFetchApp.fetch(feed).getContentText();
var doc = Xml.parse(data);
// Выбираем канал
var channel = doc.getElement().getElement("channel");
// Выбираем название канала, ссылку, описание ленты
var title = channel.getElement("title").getText();
var link = channel.getElement("link").getText();
var desc = channel.getElement("description").getText();
var guid, date;
// Начинаем создавать свою RSS ленту, заполняем название, ссылку и описание
rss = "