書かれたnode RSS爬虫類を共有し、主な実装プロセスを共有します.
2012 ワード
前言
自分のコンテンツをよりよく共有し、発信するために、現在RSSサービスを提供しているサイトやコミュニティが非常に多く、現在は
概要
結果の表示
1つのキャプチャ
ここをクリック
ソースアドレス:ここ、star、followへようこそ.
主なプロセス
爬取:指定されたすべてのURLに対して同時にsuperagentを使用してリクエストを送信し、すべてのURLがすべて爬取された後、指定された間隔に従って再度爬取リクエストを発行します.
結果更新:メモリに1つの
サポート
インストールの使用
直接npmを通過する:
例
API
new RssWorker(options)
RssWorkerのインスタンスを生成
options: start()
つかみ始める
forceToEnd()
キャプチャ停止信号を発行すると、キャプチャは続行されませんが、進行中の今回のキャプチャには影響しません.
自分のコンテンツをよりよく共有し、発信するために、現在RSSサービスを提供しているサイトやコミュニティが非常に多く、現在は
python
java
などのプラットフォームに基づくRSS爬虫類が非常に多いため、nodeの高同時特性と結びつけて、自分でnodeでRSS爬虫類を1つ書いた--rss-worker
.概要
rss-worker
長持ちするrss爬虫類です.複数のURLの並列登録をサポートし、すべてのエントリを時間順に保存します.保存形式は"
"
使用または分析のために使用されます.サポートされている保存方法はfs
とmongodb
です.結果の表示
1つのキャプチャ
https://github.com/alsotang.atom
,https://cnodejs.org/rss
,http://segmentfault.com/feeds/blogs
コンテンツ24時間の出力(2015/5/6 19:30~2015/5/7 19:30):ここをクリック
ソースアドレス:ここ、star、followへようこそ.
主なプロセス
爬取:指定されたすべてのURLに対して同時にsuperagentを使用してリクエストを送信し、すべてのURLがすべて爬取された後、指定された間隔に従って再度爬取リクエストを発行します.
結果更新:メモリに1つの
lastUpdate
フィールドがキャッシュされ、毎回のロールアップ結果と比較されます.サポート
fs
とmongo
ストレージ:利用persistence
レイヤーに統一インターフェースを提供し、外部非表示の異なる実現インストールの使用
直接npmを通過する:
SHELL
npm install rss-worker --save
例
js
var RssWorker = require('rss-worker'); var opt = { urls: ['https://cnodejs.org/rss', 'https://github.com/DavidCai1993.atom', 'http://segmentfault.com/feeds'], store: { type: 'fs', dist: './store/rss.txt' }, timeout: 10 }; var rssWorker = new RssWorker(opt); rssWorker.start();
API
new RssWorker(options)
RssWorkerのインスタンスを生成
options:
urls(Array)
-必須、つかむrssアドレスの配列store(Object)
-記憶方式、配置が必要type
とdist
両属性type
-記憶方式、オプションfs
(デフォルト)またはmongodb
dist
-結果を格納するファイルアドレス(自動作成)./store/rss.txt
(fs)、mongodb://localhost:27017/rss_worker
(mongodb)timeout(Number)
-毎回捕まえる間隔(秒)、デフォルトは60秒つかみ始める
forceToEnd()
キャプチャ停止信号を発行すると、キャプチャは続行されませんが、進行中の今回のキャプチャには影響しません.