Сайт об интересной и научно-технической информации
Суббота, 04.05.2024, 13:29
Меню сайта

Категории раздела
Новости наномира [203]
Новости материаловедения [90]
Влияние водорода на свойства сталей [9]
Водородная энергетика [28]
Новости образования [164]
Новости IT [574]
Сообщения о наиболее важных и интересных событиях [399]
Здоровье [247]
Разное [662]
новости науки и техники [588]
компьютерные игры [33]
программирование [6]
СЕКС SEX [73]
ВОДОРОД [34]
ПСИХОЛОГИЯ [61]
ЮМОР [6]
Это интересно [33]
Путешествия [20]
Сплавы [23]
Стали [0]
Кинокритика [3]
ТРИБОЛОГИЯ [3]
Разрушение материалов [0]
Чугуны [0]
Альтернативная энергетика [6]
Кинокритика [2]
Наука й техніка [1]
на український мові
Wissen [2]
Science and Development [42]
НОВОСТИ УКРАИНЫ [43]
МИРОВЫЕ НОВОСТИ [12]
АВТОМОБИЛЬНЫЕ НОВОСТИ [48]
МОДА [6]
СПОРТ, SPORT [28]
АРХИТЕКТУРА [1]
НЕВЕРОЯТНОЕ [0]
ИСТОРИЯ [1]
ИСТОРИИ ИЗ ЖИЗНИ [0]

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Поиск

Календарь

Архив записей

Реклама
  • Сайт Колесникова Валерия Александровича
  • Краснодонский факультет Инженерии и Менеджмента
  • FAQ по системе
  • Английский язык для всех
  • Форум по английскому языку

  • Главная » 2010 » Август » 23 » Создание FB2 версии свежего номера журнала/газеты
    06:30
    Создание FB2 версии свежего номера журнала/газеты

    Создание FB2 версии свежего номера журнала/газеты

    Предыстория


    Последнее время всё больше журналов и газет выкладывают свои свежие номера в сеть (Ведомости, Эксперт, Esquire и т.п.). Все хорошо с этими номерами за одним исключением — что бы их читать нужен интернет.
    С интернетом проблема в том что он не везде есть (метро) и не каждое устройство его видит (большинство e-ink ридеров).
    В связи с этим родилась мысль о том что не плохо бы делать копии периодики в виде электронных книжек (например в FB2 формате).

    Задача


    Создать решение, позволяющее генерировать файл FB2 формата из куска сайта, содержащего нужный выпуск журнала (например Эксперт №32 за 2010 год).
    Файл должен содержать картинки и желательно оглавление с перечнем статей.
    Создание файла с новым номером должно происходить в (полу)автоматическом режиме, занимать не больше 5-10 минут и не требовать серьёзной ручной обработки.

    Поиск решения

     

    Конвертер Что-То->FB2


    Как оказалось конвертеров HTML->FB2 кот наплакал. А таких, которые в автоматическом режиме могут обработать пачку html страничек и корректно составить оглавление и прописать ссылки, нет вообще. Хотя может быть я плохо искал или не разобрался в возможностях того, чего нашел.
    Для начала я попробовал все редакторы описанные в обзоре компьютерры

    .

    • «Any to FB2» — напрочь убивал кирилицу (скорее всего из за кривых рук) и заточен под работу с одной страницей.
    • «FictionBook Designer» — мощная штука, но не имеет (не нашел) функции автоконвертации.
    • Web2FB2 — ближе всего желаемому но имеет ограничение в 10 страниц и валит всё в одну кучу без оглавления


    Дальнейший поиск вывел на замечательный сервис FeedConverter (об этом сервисе на хабре уже писали).
    Тестирование на первом попавшемся русском RSS потоке показало что сервис:

    • справляется с кириллицей
    • генерирует оглавление в виде перечня записей
    • принимает картинки

    Т.е. теперь, для того что бы получить результат достаточно скормить на вход этому сервису фид, в котором будут полнотекстовые статьи номера.

    Полнотекcтовый RSS feed


    Рассматриваемый сайт не поставляет полнотекстового RSS с данными номеров. Только анотации последнего номера.
    Для создания Full Text RSS удобно использовать Yahoo Pipes. Скармливаем ему наш поток, и в цикле подгружаем полный текст статьи — http://pipes.yahoo.com/pipes/pipe.edit?_id=661b8231fa3df88317939d452e772c10. В случае, если сайт не предоставляет RSS потока вообще, а только публикует статьи (как например Esquire) механизм Yahoo Pipes позволяет отпарсить содержимое страницы, достать от туда ссылки и выкачать нужные статьи. Для этого я создал pipe http://pipes.yahoo.com/pipes/pipe.edit?_id=85427a7ff66aa7c06a1fa8da677fbd25

    У данного механизма есть плюс в том, что он позволяет достать любой номер, а не только последний.
    Для этого в строке вызова надо лишь поменять параметр, отвечающий за год и номер внутри года http://pipes.yahoo.com/pipes/pipe.run?_id=85427a7ff66aa7c06a1fa8da677fbd25&_render=rss&number=31&year=2010.

    Итого

    Финальный алгоритм создания FB2 версии периодики следующий:

    1. Находим сайт с информацией
    2. Берем RSS или индексную страницу
    3. Парсим страницу в Yahoo Pipes и подтягиваем полный текст статей
    4. Скармливаем выдачу пайпа FeedConverter-у и забираем FB2 книжку
    5. ??????
    6. PROFIT!

    При однажды настроенном пайпе получение нового номера в FB2 виде будет заключаться заходе на сайт FeedConverter-а и нажатия кнопки генерации.

    Ложка дегтя

    • В связи с тем, что Yahoo Pipes работает не слишком быстро, генерация может не пройти с первой попытки. Надеюсь создатели FeedConverter-а сделают что-нибудь с этим.
    • У Yahoo Pipes есть ограничения по тому, сколько процессорного времени может съедать один пайп. В связи с этим некоторые объемные выпуски журнала не укладываются в прокрустово ложе и вылетают с ошибкой (например Эксперт №1 за 2010 г.). Что делать с этим пока не понятно. Возможно стоит разнести парсинг и подгрузку текстов в разные пайпы.
    habrahabr.ru

    http://internetua.com/sozdanie-FB2-versii-svejego-nomera-jurnala-gazeti
    Категория: Новости IT | Просмотров: 381 | Добавил: Professor9635 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Copyright MyCorp © 2024
    Сделать бесплатный сайт с uCoz