ITエンジニア/デザイナ向けにオープンソースを毎日紹介

オンラインにはテキストコンテンツが溢れています。問題はそうしたテキストコンテンツから意味のある情報をどう得るかです。HTMLタグを外しただけでは意味がありません。

そこで使ってみたいのがnode-readです。メインコンテンツとおぼしき部分をピックアップしてくれるnode用ライブラリです。

node-readの使い方

サンプルコードです。とても簡単で、URLを指定するくらいです。

var read = require('node-read');
read('http://www.moongift.jp/2017/09/c0-macosで2dアニメーション作成/', function(err, article, res) {

  // Main Article.
  console.log(article.content);

  // Title
  console.log(article.title);
});

これを実行すると次のようになります。

$ node index.js 
<p>アニメーションを作るのは簡単なことではありません。モーションであれば最初と最後を決めるだけで中間は自動的に補完してくれますが、細かい動きは自分で一コマ一コマ決めていく必要があります。</p><p>今回紹介するC0は細かくコマを設定するアニメーションツールです。</p><h2>C0の使い方</h2><p>メイン画面です。絵を描いて、次のカットでは薄くなった部分をなぞりつつ、ほんの少し動きを変えてと言うのを繰り返します。</p><p>一つ一つのコマを仕上げていく形なので、実際の制作はかなり大変かも知れません。ショートカットキーはたくさん用意されていますので、それらを使いこなすことで負荷は軽減されるでしょう。</p><p>C0はmacOS用のオープンソース・ソフトウェア(GPL)です。</p>
C0 - macOSで2Dアニメーション作成 MOONGIFT

HTMLタグが不要であれば外すのもそう難しくはないでしょう。恐らく一番文字列が長い部分とその周囲の文字列を持ってきていると思われます。コンテンツのサマリーを一覧表示する際などに使えそうです。

Arc90 Labsの可読性を向上させるプロジェクトがベースになっているとのことで、メインコンテンツは一定の基準があった上でピックアップされるようです。また、コンテンツはcheerioというエンジンを使ってパースしているそうで、これはJSDOMの8倍高速だそうです。

node-readはnode/JavaScript製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

bndr/node-read: Get Readable Content from any page. Based on Arc90's readability project using cheerio engine.

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2