понедельник, 22 марта 2010 г.

rss2sqlite или как собирать RSS грибы

В прошлом посте я затронул тему сбора данных в интернет. Интернет - достаточно обширное и разноплановое хранилище знаний. Одним из подходов сбора данных в нем является определение, что потоки данных могут разделятся форматами представления. Самый известный и наиболее часто используемый формат - это HTML. Другие не менее известные и часто используемые - RSS и Atom. Благодаря структурированной форме представления последних, а также наличию мета-информации мы можем относительно легко выполнять сбор этих данных. Одной из простейших утилит, которые могут помочь в решении данного вопроса, является python скрипт rss2sqlite.py


Основное назначение скрипта - это сбор и сохранение в базе данных sqlite, информации с RSS лент без какой-либо обработки (за исключением, сжатия данных с помощью bz2 перед их сохранением). Критерием уникальности является ссылка на пост.

В качестве примера использования, данный скрипт запущен у меня на сервере для получения YouTube видео-материалов с проведенных семинаров, презентаций, выступлений и конференций.

Перед началом работы, необходимо создать базу данных для хранения RSS данных:
python rss2sqlite.py -d <database>
Параметр -a позволяет добавить ссылку на RSS ленту
python rss2sqlite.py -d <database> -a <feed_url>
Флаг -l используется для вывода списка лент в базе данных
python rss2sqlite.py -d <database> -l
Получить новых данные для всех RSS лент можно с помощью флаг -u
python rss2sqlite.py -d <database> -u
Вывод статистики, флаг -s
python rss2sqlite.py -d <database> -s
Удаление элементов лент, но с сохранением их списка, флаг -r
python rss2sqlite.py -d <database> -r

0 комментариев:

Отправить комментарий