详解50行代码,Node爬虫练手项目

 更新时间:2019年04月22日 10:13:05   作者:zy_2071  
这篇文章主要介绍了50行代码,Node爬虫练手项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

First

项目地址:Crawler-for-Github-Trending

项目中基本每一句代码都写有注释(因为就这么几行😂),适合对Node爬虫感兴趣的同学入入门。

Introduction

50 lines, minimalist node crawler for Trending.

一个50行的node爬虫,一个简单的 axios, express, cheerio 体验项目。

Usage

首先保证电脑已存在node环境,然后

1.拉取本项目

git clone https://github.com/ZY2071/Crawler-for-Github-Trending.git
cd Crawler-for-Github-Trending
npm i
node index.js

2.或者下载本项目压缩包,解压

cd Crawler-for-Github-Trending-master // 进入项目文件夹
npm i
node index.js

Examples

当启动项目后,可以看到控制台输出

Listening on port 3000!

 此时打开浏览器,进入本地服务 http://localhost:3000/daily

http://localhost:3000/time-language // time表示周期,language代表语言  例如:
http://localhost:3000/daily // 代表今日 可选参数:weekly,monthly
http://localhost:3000/daily-JavaScript// 代表今日的java分类 可选参数:任意语言

 稍微等待即可看到爬取完毕的返回数据:

[
 {
 "title": "lib-pku / libpku",
 "links": "https://github.com/lib-pku/libpku",
 "description": "贵校课程资料民间整理",
 "language": "JavaScript",
 "stars": "14,297",
 "forks": "4,360",
 "info": "3,121 stars this week"
 },
 {
 "title": "SqueezerIO / squeezer",
 "links": "https://github.com/SqueezerIO/squeezer",
 "description": "Squeezer Framework - Build serverless dApps",
 "language": "JavaScript",
 "stars": "3,212",
 "forks": "80",
 "info": "2,807 stars this week"
 },
 ...
]

More

本项目仅供爬取体验,每次访问都会实时爬取数据,所以数据返回速度会比较慢,实际操作应该是定时爬取数据然后将数据存进数据库,数据从数据库返回从而提高数据返回效率。

但项目很基础,可以作为以上各个node模块最基础的练手使用,希望可以帮到大家 😀

相关文章

  • Node.js的模块化机制和Buffer对象详解

    Node.js的模块化机制和Buffer对象详解

    这篇文章主要为大家详细介绍了Node.js的模块化机制和Buffer对象,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • node.js使用zlib模块进行数据压缩和解压操作示例

    node.js使用zlib模块进行数据压缩和解压操作示例

    这篇文章主要介绍了node.js使用zlib模块进行数据压缩和解压操作,结合实例形式详细分析了node.js基于zlib模块创建数据流以及压缩和解压缩等相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • Node.js定时任务之node-schedule使用详解

    Node.js定时任务之node-schedule使用详解

    这篇文章主要介绍了Node.js定时任务之node-schedule使用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • node.js在Linux下执行shell命令、.sh脚本的问题

    node.js在Linux下执行shell命令、.sh脚本的问题

    很多时候需要多个命令来完成一项工作,而这个工作又常常是重复的,这个时候我们自然会想到将这些命令写成sh脚本,下次执行下这个脚本一切就都搞定了,下面就是发布代码的一个脚本示例
    2022-01-01
  • node.js多个异步过程中判断执行是否完成的解决方案

    node.js多个异步过程中判断执行是否完成的解决方案

    这篇文章主要给大家介绍了关于node.js多个异步过程中判断执行是否完成的几种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-12-12
  • nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)

    nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)

    这篇文章主要介绍了nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域) ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 如何优雅地在Node应用中进行错误异常处理

    如何优雅地在Node应用中进行错误异常处理

    这篇文章主要介绍了如何优雅地在Node应用中进行错误处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • express中间件加载机制示例详解

    express中间件加载机制示例详解

    中间件是一种方法,可以接收客户端发来的请求,可以对请求做出响应,也可以将请求继续交给下一个中间件继续处理,下面这篇文章主要给大家介绍了关于express中间件加载机制的相关资料,需要的朋友可以参考下
    2022-08-08
  • 从零学习node.js之mysql数据库的操作(五)

    从零学习node.js之mysql数据库的操作(五)

    因为接触Node.JS已经有一段时间了,最近粗略的研究了一下node.js操作数据库的包,觉得node.js连接数据库不错。下面这篇文章主要给大家介绍了node.js之mysql数据库操作的相关资料,需要的朋友可以参考下。
    2017-02-02
  • 基于Node.js实现nodemailer邮件发送

    基于Node.js实现nodemailer邮件发送

    Nodemailer 是一个简单易用的 Node.JS 邮件发送模块(通过 SMTP,sendmail,或者 Amazon SES),支持 unicode,你可以使用任何你喜欢的字符集。Nodemailer是一个简单易用的Node.js邮件发送组件,需要的朋友可以参考下
    2016-01-01

最新评论