Nodejs 爬蟲Github項目彙總

Nodejs 爬蟲Github項目彙總

DistributedCrawler

博客地址

nodejs_crawler

node.js主從分佈式爬蟲

  • 採用Redis爲任務隊列服務
  • 主程序獲取任務
  • 從程序獲得數據並下載
  • 通過代理接口獲取數據

headless-chrome-crawler

特徵

  • 分佈式抓取
  • 配置併發性,延遲和重試
  • 支持深度優先搜索和廣度優先搜索算法
  • 可插拔的緩存存儲,如Redis
  • 支持導出結果的CSV和JSON行
  • 在最大請求時暫停並在任何時候恢復
  • 自動插入jQuery進行刮取
  • 保存抓取證據的截圖
  • 仿真設備和用戶代理
  • 優先隊列提高抓取效率
  • 服從robots.txt
  • 跟隨sitemap.xml

x-ray

基於Node.js 的HTML 內容抓取工具。

特點:

  • 靈活的架構:支持字符串,數組,對象數組和嵌套對象結構。
  • 可組合: API完全可組合,爲您提供了每頁抓頁的靈活性。
  • 分頁支持:通過網站分頁,抓取每一頁。
  • 抓取工具支持:從一頁開始,輕鬆移動到下一頁。在廣度優先爬行每個頁面之後,流程是可預測的。
  • 負責任:支持併發,限制,延遲,超時和限制,以幫助您負責任地抓取任何頁面。
  • 可插拔驅動程序:根據您的需要切換不同的

node-crawler

1)node-crawler邏輯是利用bottleneck任務調度器,將接收到的多個url當作多個任務添加至隊列進行執行。
2)使用cheerio、jsdom或者whacko解析html。

博客

Floodesh

node-crawler的分佈式版本 floodesh ,即,將crawler維護的queue 改爲分佈式DB MongoDB,增加了主機index與客戶端worker,分別負責任務調度與爬取工作。

supercrawler

自動爬取網頁,維護一個隊列(FIFO, db, redisDb)。可自定義處理器解析content。遵循robots.txt、速率和併發限制。

js-crawler

按照depth爬取以及確定何時停止。

支持 HTTP and HTTPS 協議。

使用Executor來限制任務處理速率(==未理解)。

爬取時使用3個隊列:

1)knownUrls:已經訪問過的Url ,格式類似於:{‘https://www.baidu.com/’: true, ‘https://tieba.baidu.com/index.html?traceid=’: false};

2)crawledUrls:已經爬取過的Url;

3)_currentUrlsToCrawl:待爬取的Url隊列。

simplecrawler

SQLite-simplecrawler-queue

boloto

easier http crawler by Node.js

roboto

bot-marvin

cnblogSpider

基於nodejs 的博客園爬蟲項目.

博客

node-fetch

A light-weight module that brings window.fetch to Node.js

fetch

mercury-parser

水星項目(麗姐參考)

html-extractor

從html字符串中提取meta-data(body, title, meta-tags, h1).

parse5

HTML parsing/serialization toolset for Node.js.

Crawlab Team

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章