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

    На прошлой неделе я приобрел себе давно желанный e-book reader Sony PRS-300, обзор которого я могу написать отдельно. Данный ридер меня всем устраивает, но
    не хватало возможности чтения rss новостей, так как утро гораздо приятнее проводить с газеткой, попивая кофе на кухне на выходных или
    во время трудовых будней в дороге по работу или институт в общественном транспорте. За несколько вечеров я написал небольшое приложение на qt, решившее эту проблему, о нем и напишу далее.

    YourOwnNewsMaker — простое приложение, написанное на qt/с++, позволяющее создать pdf, дизайн которого Вы можете сконфигурировать сами, из выбранных Вами rss лент новостей.






    Почему я выбрал pdf формат?
    Все e-book ридеры без проблем дружат с этим форматом, кроме того, если у Вас нет ридера, то можно просто распечатать pdf файл, чтобы потом читать новости с бумаги, что тоже
    довольно удобно. А в следующих версиях приложения я планирую добавить поддержку формата fb2. В поддержке других форматов смысла уже не вижу.

    Основной принцип работы приложения.
    После добавления rss в приложение, Вы можете удалить неинтересные Вам новости из списка «content», нажимая delete. Нажатие кнопки update приведет к обновлению выделенного потока
    новостей или обновлении всех новостей, если выбранных нет. Далее при нажатии кнопки создания pdf каждая новость скачивается целиком, а потом при наличии настроек для сайта новости
    происходит парсинг контента.

    Немного подробнее о том, как парсится содержимое скачиваемой страницы.
    В каталоге приложения есть каталог «page-templates». В нем уже есть два готовых properties файла для Fontanka.ru и Habrahabr.
    • Формат файла следующий:
    • rss.host — хост сайта, с которого скачивается содержимое новости.
    • content.pattern — шаблон для поиска непосредственного содержимого новости (шаблон по сути Perl-like регулярное выражение).
      Так у Хабра весь контент находится между тэгами <div class="content"> и </div>. С фонтанкой все немного сложнее,
      так как у нее используются несколько вложенных тэгов div, поэтому пришлось указать это в шаблоне.
    • clear.html — флаг принимающий значения true/false, указывающий очищать полученный контент от html тэгов.


    • news.html — отвечает за внешний вид содержимого файла целиком (так как для формирования pdf используется webkit, то можно использовать javascript для дополнительных действий с содержимым, например, уменьшать изображения).
    • channel.html — внешний вид новостей с одного rss канала.
    • item.html — внешний вид отдельной новости.


    <!--ITEM_CONTENT--> и подобные тэги заменяются на содержимое, поэтому их удалять из шаблонов не стоит.


    Пример файла pdf можно скачать отсюда.
    Само приложение скачивается отсюда. Есть сборка для Windows и для Linux (для linux бинарники собирались с использованием qt 4.5, так что приложение должно работать на всех дистрибутивах без проблем).
    К сожалению для Mac сборку сделать я не смогу, так как не представляю как протестировать приложение. Исходники открыты и распространяются под лицензией GPL.
    Есть несколько багов, например, я не проверяю ссылку rss новости и результаты могут быть самые разные, также приложение неадекватно себя ведет при отсутствии или потере интернет подключения, что будет исправлено в следующих релизах.

    Если Вам понравилось приложение, то от PayPal донейтов я не откажусь)

    Средняя зарплата в IT

    120 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 7 453 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 44

      +3
      Не уверен, что новость в нужный блог разместил) И жду отзывов, а также готов сегодня вечером разъяснить непонятные моменты использования и настройки приложения.
        +1
        По-моему, и блог выбраи правильный и приложение полезное. плюсанул ;-)]

        Немного офтопа — где делать донейты (if any) и расскажите, как пейпэл к себе прикрутили. Вроде он только для иностранных граждан, или есть способы? вопрос не праздный, интересует.

        Спасибо
          0
          PayPal прикручивается очень просто при наличии аккаунта, пример прикрутки в моем блоге. Единственное, вывести деньги с него не так просто, нужен счет в европейском банке.
          А тут как раз страница создания donate кнопки для любого сайта. Кнопка по сути представляет обычную html форму, так что в привязке ее к любому сайту проблем быть не должно. По идее можно даже в комментарии здесь вставить.
            0
            Странно, мне пробовали посылать donate на русский paypal аккаунт — донейт просто возвращался через несколько минут отправляющему.
          +3
          Круто, мэн, готов потратить время на выходных, портировать такую штуку на веб.
          0
          Было бы интересно сделать что-то вроде шедулера, который проверял бы автоматически через установленные промежутки времени указанные новостные ленты и составлял пдфку за некоторое время. В идеале даже чтобы при первой возможности это еще и синхронизировалось с ридером.

          Еще идея — синхронизация с Google Reader'ом — составлять пдф из непрочитанных новостей.
            0
            Синхронизовать с Google Reader в какой-то степени можно и сейчас, подписавшись на свои собственные Обшие новости, и в самом Google Reader добавлять понравившиеся материалы в общие. Над синхронизацией чуть сложнее надо будет подумать.

            А шедулер я добавлю, но в более поздних релизах. Так как создавать еще один rss ридер не охота)
              +1
              Видите ли в чем дело — утром, допустим, мне совсем неохота сидеть генерить пдфки еще до чашки кофе. А так если комп работает всю ночь, то можно подключить к нему ридер, утром встать и сразу же начать читать новости за той самой чашкой кофе.
                +1
                Убедили) Постараюсь, добавить такой функционал поскорее)
            +2
            а как быть с повсеместным «катом»? 90% новостей идет под катом.
              0
              Как раз содержимое текста под катом и собирается, из rss ленты берется только описание и ссылка на полный текст новости)
                0
                используйте это :)
                +2
                ждём fb2. На коммуникаторе не очень удобно pdf читать…
                  0
                  Есть такая штука как feeds2fb2
                  Правда, когда я её пробовал, одна из трёх фб2шек на устройстве не открылась.
                  Но всё же это лучше чем ничего.
                    0
                    спасибо, попробую.
                    0
                    Fb2 я как раз и начну заниматься на этой неделе, только выглядеть текст будет не так красиво, как в pdf)
                      0
                      Есть программа GoodNews.
                        0
                        Только она не кросс-платформенная, хотя тоже вариант. Из кросс-платформенного я пользуюсь Calibre, но в ней загрузка rss сделана имхо весьма убого, чтобы все правильно работало необходимо писать шаблоне на python'е, который далеко не все знают.
                          0
                          он не умеет полные статьи сохранять, насколько я знаю. Только заголовок и краткое описание, а то, что идёт за ссылкой — уже нет.
                        0
                        Ммм… А может быть, проще было бы использовать rawdog? Тогда связка rawdog | lynx давала бы аккуратно сделанный txt файл (для тех же смартфонов), ну а для ебуков — можно же наверняка как-то сделать PDF из HTML (мне попадалось даже специальное приложение, которое рендерит HTML при помощи QtWebKit. Ну или htmldoc в конце концов). Все равно проще ведь намного (только надо внятную инструкцию написать) — и не надо специальное приложение ваять, все уже готово, нужно только склеить.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            +1
                            > В поддержке других форматов смысла уже не вижу.

                            Рекомендую также сделать EPUB. Он, по сути, является аналогом fb2, но fb2 практически неизвестен за пределами рунета, в то время, как EPUB во всем остальном мире занимает его место, и что самое главное, все чаще поддерживается новыми зарубежными устройствами «искаропки» (в отличие от fb2).

                            К тому же EPUB отностельно прост (тот же XML, по сути) и хорошо стандартизирован.

                            Это даст вашей утилите еще и «западный» рынок. Который, к слову, гораздо щедрее давит на кнопочку «donate» ;)
                              0
                              А где-нибудь есть статистика по кнопочке donate?
                                0
                                Можно такую статистику делать только на своем сайте по идее с помощью редиректов, сначала отслеживая информацию о том, откуда пользователь, а потом перенаправляя его на сайт paypal'а. В самом paypal можно назначить donate'ам отдельный тег и потом в отчетах видеть откуда поступил платеж.
                                  +1
                                  Что вы понимаете под «статистикой». «Статистика вообще»?
                                  "- Петька, приборы?" ;)

                                  Ну вот вам впечатляющие цифры отношения русскоязычных пользователей к donation:
                                  vvh-dev-ru.blogspot.com/2009/11/donate-punto-switcher.html

                                  «Несколько лет назад, когда тираж Punto Switcher'а подбирался к миллиону (1000000) копий, общее количество donation было меньше десяти (10).»
                                    0
                                    Это может быть не отношение к donations вообще, а какие-нибудь ошибки, сделанные автором при распространении продукта.

                                    Я, собственно, думал что фраза:
                                    еще и «западный» рынок. Который, к слову, гораздо щедрее давит на кнопочку «donate»
                                    — это на опыте какого-нибудь продукта, который одинаковым образом распространяется у нас и на западе.
                                    0
                                    Из собственного опыта (продукт исключительно для русскоязычных):
                                    Примерно 30 000 закачек — 20 донейтов через paypal и около 30 через webmoney
                                  +1
                                  PocketNews 2.0.1 — Конвертор RSS Новостей pocketbook.com.ua/index.php?id=200

                                  rss в fb2

                                  просто как вариант.
                                    0
                                    Спасибо, тоже посмотрю на то, как у них работает приложение)
                                      0
                                      не скажу, что идеально работает, но работает… Если Ваш вариант доставит меньше проблем — с удовольствием перейду. По крайней мере запомнил :) Спасибо за Ваш труд
                                    +1
                                    На добавлении www.habrahabr.ru/rss/main/ стабильно падает :(. ОС Win7.
                                      0
                                      попробуйте добавить habrahabr.ru/rss/
                                      Так точно сработает, а за багу спасибо, исправлю
                                      +1
                                      Вот люблю я такой подход, когда если что то не хватает, люди не ноют направо и налево, а это действуют! :)
                                        0
                                        написал подобное приложение на php — конвертирует фиды в fb2.
                                        Приложение собственно готово и функционирует, но сайт где будет оно размещаться еще не запущен.
                                        Если есть интерес — могу известить хабралюдей когда приложение будет доступно.
                                          0
                                          Есть.
                                          0
                                          Спасибо огромное, сам долгое время хотел такое написать, но как обычно «сделаю завтра», «нужно подумать», в результате кроме пары разрисованных листочков бумаги, у меня ничего не получилось %). А вы, вон, сделали — молодец, ещё раз спасибо.

                                          P.S.Был бы полезен консольный интерфейс, например я бы хотел ставить программу на крон, чтобы утром она заливала свежую pdf мне на psp. (т.е. сначала запрашивается ваша программа с указанием output файла, потом полученный файл копируется куда нужно/печатается автоматом)
                                            0
                                            Забыл добавить, существует понятие «полные rss», т.е. в rss отдаётся вся информация, достаточно полный список rss представлен на уже освещавшемся(вроде как) здесь сайте rss-farm.ru/catalog.aspx
                                          • НЛО прилетело и опубликовало эту надпись здесь
                                              0
                                              Еще в следующей версии будет поддержка Atom лент. Google Reader общие записи как раз в Atom фиде отдает новости. Релиз планирую сделать к концу этой недели) На домашней странице приложения можно увидеть ход работ.
                                                0
                                                Такой вопрос… А почему это не было сделано как веб-сервис? И обновлять проще, и пользователям удобнее…
                                                  0
                                                  Несколько причин:
                                                  1. Сугубо личная и основная — хороший опыт разработки на с++, заодно разбираюсь с разработкой приложений под линукс (планирую дальше поставлять релизы не архивами, а готовыми пакетами). Мне интересно разбираться с возможностями qt/c++.
                                                  2. Веб-сервис потребовал бы минимум функцию регистрации пользователей и как следствие кучу лишней работы для создания возможности работы с сервисом. В моих планах нет цели создать монстра — аналога Google Reader с более высоким функционалом.
                                                  3. Ресурсы, а именно наличие хорошего хостинга, которого у меня нет.
                                                  4. Последний мой опыт написания плагина для Wordpress показал, что мои знания php достаточно устарели. Поддерживать в актуальном состоянии знание php не вижу смысла.
                                                    0
                                                    Это всё понятно, я к тому, что идея-то интересная…
                                                    Даже монетизацию посредством рекламы можно прикрутить :)
                                                    Лично мне было бы удобно настроить источники и раз в день вытягивать некий дайжест, который можно просмотреть в оффлайне, скажем в метро.
                                                    Также налицо социализация — ведь источники и правила парсинга конечных страниц явно будут пересекаться у различных пользователей.
                                                      0
                                                      Для правил парсинга я чуть позже создам каталог.
                                                      А в монетизации и зарабатывании денег с помощью этого проекта я не вижу смысла, если будут донейты, то приятно, но они никогда не будут для меня основным источником дохода) Мне он нужен самому и программирую по вечерам Just For Fun.

                                                      По поводу монетизации у меня так была шальная идея — вставить рекламу в pdf файл, но кто бы захотел пользоваться таким приложением. К тому же при открытых исходниках не составит труда эту рекламу убрать.
                                                    0
                                                    Некоторые вещи в веб я перемещу, но позже.
                                                    В первую очередь я подумываю о каталоге шаблонов для содержимого сайтов, чтобы пользователи могли их загружать, а не создавать сами. Также можно сделать доступными шаблоны внешнего вида pdf.

                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                  Самое читаемое