1 Star 0 Fork 6

wwg / node-spider

forked from Cysir / node-spider 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

node-spider

介绍

基于nodejs的通用爬虫框架,得益于nodejs的高性能异步io,爬虫的执行效率非常高。目前版本仅支持http/https协议,可以设置header属性和cookie会话保持,暂时还不支持代理。在下一个版本中会加入代理和更多的网络协议支持。写的不够好请多指教,有问题直接法Issues谢谢大家。

软件架构

该框架主要分为调度器(node-shceduler) 下载器(node-downloader) 请求(node-request) 结果(node-response) 爬虫(node-spider) 数据抽取(node-pipeline)。 程序运行时:'调度器'从爬虫抽取'请求'或者'结果',如果是'请求'交给'下载器',如果是对象则交给node-pipeline保存数据。

安装教程

  1. git clone https://gitee.com/cysir/node-spider.git
  2. sudo npm link node-spider
  3. cd node-spider && sudo npm install -g

使用说明

  1. spider-cli create xxx #创建项目,xxx为爬虫名
  2. crawl xxx #运行项目 xxx为爬虫名 注意!运行项目时爬虫的目录应该为当前目录的子目录
  3. spider里的parse方法的参数response.selector使用的是cheerio的解析库,可以参考cheerio的文档:https://www.npmjs.com/package/cheerio

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

写在最后

刚接触nodejs不久就被它强大的异步IO特性所吸引。五一就在构思nodejs作为一个jsvascript的运行环境是不是可以直接解析动态网页呢,再加上异步io似乎非常的适合爬虫程序(最后证明要解析动态网页还得使用其他办法)。我在网上略微搜索了一下,貌似基于nodejs的爬虫框架并不多,而我也正想试试nodejs的异步io爬虫和java的多线程爬虫到底熟强熟弱,所以就有了node-spider这个框架。终于在五一的第三天实现了一个粗糙的简版爬虫框架,非常欢迎有兴趣的coder参与到其中来。项目中附带一个zyw的爬虫demo:)

2019年5月7日 更新

重写了下载器,使用队列管理请求: 爬虫增加了并行的控制和请求失败的重试机制,可以在config.json里设置最大并发访问的请求,重试次数,重试的时间间隔

空文件

简介

基于nodejs的轻量级爬虫框架,抓取html,json数据。api简单容易上手,非常适合定向数据抓取。 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/suvwwg/node-spider.git
git@gitee.com:suvwwg/node-spider.git
suvwwg
node-spider
node-spider
master

搜索帮助