Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hatena/extract-content-javascript
https://github.com/hatena/extract-content-javascript
Last synced: about 17 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/hatena/extract-content-javascript
- Owner: hatena
- Created: 2009-10-07T02:33:50.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2009-10-07T02:43:15.000Z (about 15 years ago)
- Last Synced: 2024-04-15T00:04:58.987Z (7 months ago)
- Language: JavaScript
- Homepage:
- Size: 112 KB
- Stars: 174
- Watchers: 38
- Forks: 19
- Open Issues: 0
-
Metadata Files:
- Readme: README.rdoc
Awesome Lists containing this project
README
= ExtractContentJS
本文抽出 JavaScript ライブラリ
== やれること
- 本文抽出
- タグおすすめ== ファイル
基本的には以下をこの順に読み込めば動く:
[lib/lib.js] 共通するもの
[lib/extract-content.js] 本文抽出リポジトリのルートでmake packageするとこれらを連結した extract-content-all.js が生成される.
実際の使い方を詳しく見たくなったら:
[sketch/extract-content.test.js] 本文抽出テスト
[lib/scoring-words.js] タグのスコアリング(サンプル)== 使い方
=== 本文抽出インタフェース
本文抽出だけしたい/ハンドラを指定したい場合に使う.
==== ExtractContentJS.LayeredExtractor
var ex = new ExtractContentJS.LayeredExtractor();
//ex.addHandler( ex.factory.getHandler('Description') );
//ex.addHandler( ex.factory.getHandler('Scraper'));
//ex.addHandler( ex.factory.getHandler('GoogleAdsence') );
ex.addHandler( ex.factory.getHandler('Heuristics') );
var res = ex.extract(document);if (res.isSuccess) {
res.url; // URL string
res.title; // title string
res.engine; // 抽出に用いたハンドラそのもの
res.content; // コンテンツクラスのインスタンス(後述)
}ハンドラはいまのところHeuristicsのみ実装済み.
==== コンテンツクラス
content.asLeaves(); // 本文だと判定された葉ノードを含む葉クラスインスタンス(後述)の配列を返す
content.asNode(); // すべての葉ノードの共通の祖先のうち最深のものを返す
content.asTextFragment(); // asLeaves()に含まれるノードのテキストを連結したものを返す
content.toString(); // asNode()のtextContentを返す==== 葉クラス
leaf.node; // 葉ノード
leaf.depth; // ノードのbodyからの深さ== AUTHOR
INA Lintaro
== Copryright
Copyright (C) 2009 INA Lintaro / Hatena. All rights reserved.
== Copyright of the original implementation
Copyright (c) 2007/2008 Nakatani Shuyo / Cybozu Labs Inc. All rights reserved.
- http://labs.cybozu.co.jp/blog/nakatani/2007/09/web_1.html
== LICENCE
MIT License