Алгоритм работы сплога :
Он прост до невозможности :
- После того, как сплог получит от админа все необходимые для работы данные, он отправится посещать RSS и HTTP ленты, и узнавать из них URL'ы новостийных заметок.
Естественно, движителем будет служить URL попингуя, который нужно активировать любым из способов, упомянутых в предыдущем документе данного краткого мануала.
Обратите внимание :
Сплог не интересуется анонсами заметок в RSS лентах, ему нужны только пермалинки на представленные в ленте статьи.
Из чего следует, что анонсы в RSS лентах могут вообще отсутствовать. - Далее сплогом выбирается одна из категорий, для которой список URL'ов новостийных заметок уже сформирован на предыдущем шаге, а именно, методом изъятия пермалинков из тела RSS и HTTP лент.
Следует отметить, что URL'ы документов для импорта в сплог могут быть не только извлечены сплогом из лент, но и указаны напрямую в админке сплога. Причём, обратите внимание, эти адреса имеют приоритет над УРЛами, вынутыми из лент, и обрабатываются сплогом в первую очередь. - Сплог идёт по выбранному УРЛу, заимствует там полезный контент, и оценивает, представляет ли он интерес. Если, скажем, объём достаточный, то заметка публикуется в сплоге, с рандомной синонимизацией текста, если настройками сплога это оговорено.
- Одновременно эта категория помечается как "сыгравшая", и за последующий промежуток времени, указанный для этой категории в админке сплога как минимальный интервал между постами категории, ничего в этой категории опубликовано быть не может.
- Теперь сплог делает выдержку, руководствуясь рандомным интервалом между постами (не для какой-то конкретной категории, а вообще). Только по истечении этого времени может родиться следующий пост, причём лишь в категории, время постинга в которую подошло.
- Учтите, что в этот режим работы будет вмешиваться тулза, отправляющая сплога спать в соответствии с режимом работы, заданным в файле сеттингов сплога. Что призвано эмулировать живого человека- ночью ему положено отдыхать, как, впрочем, и в выходные.
- Нужно хорошо понимать, что линков в RSS лентах на порядки больше, чем может опубликовать сплог (из соображений здравого смысла. Пара-тройка постов в сутки- это более чем достаточно). Следовательно, очередь УРЛов на импорт должна как-то искусственно сокращаться, так как при регулярном обновлении лент эта очередь в принципе не может быть исчерпана.
Алгоритм тут таков:
- Урлы документов (не лент), явно заданные сплогу через его админку, имеют наивысший приоритет, и всегда находятся сверху.
- Новенькие линки с RSS и HTTP лент этой категории подписываются вслед, смещая старые вниз.
- Вся очередь укорачивается до сотни для каждой категории сплога.
- УРЛ для импорта берётся с первой позиции.
Принятый порядок формирования очереди документов на импорт способствует работе сплога с самыми последними новостями, одновременно имея солидный запас новостей чуть менее свежих, с убиением того, что давно устарело. - Такая избыточность исходных данных позволяет сплогу привередничать по поводу содержимого импортируемых документов, отсеивая нетематические статьи по фильтрам контента. Правила задаются Вами.
Если RSS лент под каждую категорию Вы подписали много, то большая часть фигурирующих там заметок вообще не будет даже проанализирована. Из чего следует, что надо воздерживаться от прописки в сплог RSS лент со всякой придурью, ограничиваясь работой только со стопудово тематическими и ценными в плане их контента ресурсами.
В целом всё устроено максимально просто и понятно, что и ставилось целью.
Возможные проблемы :
В ряде случаев, когда источник информации имеет дефектную разметку страницы, либо выдаёт документы в кодировке UTF, и отдельные символы не могут быть перекодированы в базовую кодировку блога (РНР функция iconv() конкретно на них спотыкается), сплог не может получить с этого URL'а полезный контент.
Такие web-ресурсы непригодны для использования сплогом.
