成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

分享一個(gè)寫的node RSS爬蟲,以及主要實(shí)現(xiàn)流程

hiYoHoo / 3531人閱讀

摘要:前言為了更好分享和發(fā)布自己的內(nèi)容,現(xiàn)在提供服務(wù)的網(wǎng)站和社區(qū)非常之多,現(xiàn)在基于,等平臺(tái)的爬蟲非常之多,所以結(jié)合高并發(fā)特性,自己用寫了一個(gè)爬蟲。簡(jiǎn)介是一個(gè)持久的可配的爬蟲。結(jié)果演示一個(gè)抓取,,內(nèi)容小時(shí)的輸出至點(diǎn)這里源碼地址這里,歡迎來,。

前言

為了更好分享和發(fā)布自己的內(nèi)容,現(xiàn)在提供RSS服務(wù)的網(wǎng)站和社區(qū)非常之多,現(xiàn)在基于python,java等平臺(tái)的RSS爬蟲非常之多,所以結(jié)合node高并發(fā)特性,自己用node寫了一個(gè)RSS爬蟲——rss-worker

簡(jiǎn)介

rss-worker是一個(gè)持久的可配的rss爬蟲。支持多URL的并行爬取,并且會(huì)將所有條目按時(shí)間順序進(jìn)行保存,保存格式為"時(shí)間 標(biāo)題 內(nèi)容 "來供使用或分析,支持的保存方式有fsmongodb

結(jié)果演示

一個(gè)抓取https://github.com/alsotang.atom,https://cnodejs.org/rss,http://segmentfault.com/feeds/blogs內(nèi)容24小時(shí)的輸出(2015/5/6 19:30至2015/5/7 19:30 ):

點(diǎn)這里

源碼地址:這里 , 歡迎來star,follow。

主要流程

爬?。翰l(fā)地對(duì)所有指定URL使用superagent發(fā)送請(qǐng)求,并在所有URL全部爬取完畢后根據(jù)指定間隔再次發(fā)出爬取請(qǐng)求

結(jié)果更新:在內(nèi)存中緩存了一個(gè)lastUpdate字段,與每次的爬取結(jié)果作比對(duì)

支持fsmongo存儲(chǔ):利用persistence層提供統(tǒng)一接口,對(duì)外隱藏不同實(shí)現(xiàn)

安裝使用

直接通過npm:

SHELLnpm install rss-worker --save
示例
jsvar 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)

生成一個(gè)RssWorker的實(shí)例

options:

urls(Array) - 必選,需要抓取的rss地址的數(shù)組

store(Object) - 存儲(chǔ)方式,需要配置typedist兩屬性

type - 存儲(chǔ)方式,可選fs(默認(rèn))或mongodb

dist - 存儲(chǔ)結(jié)果的文件地址(將會(huì)自動(dòng)創(chuàng)建),如:./store/rss.txt(fs),mongodb://localhost:27017/rss_worker(mongodb)

timeout(Number) - 每次抓取的間隔(秒),默認(rèn)為60秒

start()

開始抓取

forceToEnd()

發(fā)出停止抓取信號(hào),將不會(huì)繼續(xù)抓取,但不會(huì)影響到正在進(jìn)行的本次抓取。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/85690.html

相關(guān)文章

  • NodeJs爬蟲抓取古代典籍,共計(jì)16000個(gè)頁面心得體會(huì)總結(jié)及項(xiàng)目分享

    摘要:目前這個(gè)爬蟲還是比較簡(jiǎn)單的類型的,直接抓取頁面,然后在頁面中提取數(shù)據(jù),保存數(shù)據(jù)到數(shù)據(jù)庫。總結(jié)寫這個(gè)項(xiàng)目其實(shí)主要的難點(diǎn)在于程序穩(wěn)定性的控制,容錯(cuò)機(jī)制的設(shè)置,以及錯(cuò)誤的記錄,目前這個(gè)項(xiàng)目基本能夠?qū)崿F(xiàn)直接運(yùn)行一次性跑通整個(gè)流程。 前言 之前研究數(shù)據(jù),零零散散的寫過一些數(shù)據(jù)抓取的爬蟲,不過寫的比較隨意。有很多地方現(xiàn)在看起來并不是很合理 這段時(shí)間比較閑,本來是想給之前的項(xiàng)目做重構(gòu)的。后來 利用這...

    legendmohe 評(píng)論0 收藏0
  • 一只node爬蟲的升級(jí)打怪之路

    摘要:我是一個(gè)知乎輕微重度用戶,之前寫了一只爬蟲幫我爬取并分析它的數(shù)據(jù),我感覺這個(gè)過程還是挺有意思,因?yàn)檫@是一個(gè)不斷給自己創(chuàng)造問題又去解決問題的過程。所以這只爬蟲還有登陸知乎搜索題目的功能。 我一直覺得,爬蟲是許多web開發(fā)人員難以回避的點(diǎn)。我們也應(yīng)該或多或少的去接觸這方面,因?yàn)榭梢詮呐老x中學(xué)習(xí)到web開發(fā)中應(yīng)當(dāng)掌握的一些基本知識(shí)。而且,它還很有趣。 我是一個(gè)知乎輕微重度用戶,之前寫了一只爬...

    shiweifu 評(píng)論0 收藏0
  • Docker 入門與實(shí)踐

    摘要:使用推出的語言開發(fā)實(shí)現(xiàn),基于內(nèi)核的,,以及等技術(shù)。初步了解容器與虛擬機(jī)的區(qū)別原理不同上圖是關(guān)于和傳統(tǒng)虛擬機(jī)區(qū)別的截圖。從而實(shí)現(xiàn)模擬更改鏡像的作用。下面的實(shí)踐以為例,。指令讓外界能通過容器的端口進(jìn)行網(wǎng)絡(luò)通信。使用可以啟動(dòng)關(guān)閉容器。 Docker 是一個(gè)能讓程序跑在一個(gè)它無法感知的、用于隔絕外界環(huán)境里的容器的工具。 Docker 簡(jiǎn)介 最初是 dotCloud 公司創(chuàng)始人 Solomon ...

    Keagan 評(píng)論0 收藏0
  • Docker 入門與實(shí)踐

    摘要:使用推出的語言開發(fā)實(shí)現(xiàn),基于內(nèi)核的,,以及等技術(shù)。初步了解容器與虛擬機(jī)的區(qū)別原理不同上圖是關(guān)于和傳統(tǒng)虛擬機(jī)區(qū)別的截圖。從而實(shí)現(xiàn)模擬更改鏡像的作用。下面的實(shí)踐以為例,。指令讓外界能通過容器的端口進(jìn)行網(wǎng)絡(luò)通信。使用可以啟動(dòng)關(guān)閉容器。 Docker 是一個(gè)能讓程序跑在一個(gè)它無法感知的、用于隔絕外界環(huán)境里的容器的工具。 Docker 簡(jiǎn)介 最初是 dotCloud 公司創(chuàng)始人 Solomon ...

    Render 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<