週末にキッチンでコーヒーを飲みながら新聞を読みながら朝を過ごすのがずっと楽しいので、rssニュースを読むことができませんでした。
就業中または公共交通機関での就労または就学中。 数晩、私はこの問題を解決する小さなqtアプリケーションを作成しました。これについては後で説明します。
YourOwnNewsMakerはシンプルなqt / c ++アプリケーションで、選択したrssニュースフィードからPDFを作成できます。




なぜpdf形式を選択したのですか?
すべての電子書籍リーダーは問題なくこの形式の友達です。さらに、リーダーをお持ちでない場合は、pdfファイルを印刷して、後で新聞からニュースを読むことができます。
とても快適です。 アプリケーションの将来のバージョンでは、fb2形式のサポートを追加する予定です。 他の形式をサポートすることには意味がありません。
アプリケーションの基本原則。
アプリケーションにrssを追加した後、削除をクリックして、「コンテンツ」リストから興味のないニュースを削除できます。 更新ボタンを押すと、選択したストリームが更新されます。
選択されていない場合は、ニュースまたはすべてのニュースの更新。 次に、pdf作成ボタンをクリックすると、各ニュースが完全にダウンロードされ、ニュースサイトの設定がある場合は、
コンテンツの解析が行われます。
ダウンロードしたページのコンテンツがどのように解析されるかについてもう少し。
アプリケーションディレクトリには、ページテンプレートディレクトリがあります。 Fontanka.ruとHabrahabrの2つの既製のプロパティファイルが既にあります。
- ファイル形式は次のとおりです。
- rss.host-ニュースコンテンツのダウンロード元のサイトのホスト。
- content.pattern-ニュースの即時コンテンツを見つけるためのテンプレート(テンプレートは基本的にPerlのような正規表現です)。
そのため、Habrでは、すべてのコンテンツはタグ<div class = "content">と</ div>の間にあります。 噴水ではもう少し複雑です
ネストされた複数のdivタグを使用するため、テンプレートでこれを指定する必要がありました。 - clear.html-true / false値を受け入れるフラグ。htmlタグから受信したコンテンツをクリアすることを示します。
- news.html-ファイルのコンテンツ全体の表示を担当します(webkitを使用してpdfを生成するため、javascriptを使用して、コンテンツを使用した追加のアクション(画像の縮小など)を行うことができます)。
- channel.html-1つのrssチャンネルからのニュースの外観。
- item.html-単一のニュースアイテムの外観。
<!-ITEM_CONTENT->および同様のタグはコンテンツに置き換えられるため、テンプレートから削除しないでください。
ここから pdfファイルの例をダウンロードできます 。
アプリケーション自体はここからダウンロードされます 。 WindowsおよびLinux用のビルドがあります(Linuxの場合、バイナリはqt 4.5を使用してビルドされたため、アプリケーションはすべてのディストリビューションで問題なく動作するはずです)。
残念ながら、Macの場合、アプリケーションをテストする方法がわからないため、ビルドできません。 ソースはオープンで、GPLの下で配布されています。
いくつかのバグがあります。たとえば、rssニュースリンクをチェックせず、結果が大きく異なる可能性があります。また、インターネット接続がない場合や失われた場合、アプリケーションは不適切に動作します。
あなたがアプリケーションが好きなら、私はPayPalの寄付を拒否しません)