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


Posted in Javascript onApril 22, 2019

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模块最基础的练手使用,希望可以帮到大家 ?

Javascript 相关文章推荐
jquery animate 动画效果使用说明
Nov 04 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
Apr 12 Javascript
jquery 删除cookie失效的解决方法
Nov 12 Javascript
js改变文章字体大小的实例代码
Nov 27 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
Feb 22 Javascript
带你了解session和cookie作用原理区别和用法
Aug 14 Javascript
Vue下拉框回显并默认选中随机问题
Sep 06 Javascript
微信小程序显示倒计时功能示例【测试可用】
Dec 03 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
Jun 08 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
Jul 19 Javascript
javascript canvas实现雨滴效果
Jun 09 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
Apr 22 #Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 #Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 #Javascript
使用 vue 实例更好的监听事件及vue实例的方法
Apr 22 #Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
Apr 22 #Javascript
关于vue-cli 3配置打包优化要点(推荐)
Apr 22 #Javascript
说说如何利用 Node.js 代理解决跨域问题
Apr 22 #Javascript
You might like
php处理restful请求的路由类分享
2014/02/27 PHP
PHP中数组转换为SimpleXML教程
2019/01/27 PHP
php的对象传值与引用传值代码实例讲解
2021/02/26 PHP
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
10个经典的网页鼠标特效代码
2018/01/09 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
Vue的watch和computed方法的使用及区别介绍
2018/09/06 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
js点击事件的执行过程实例分析【冒泡与捕获】
2020/04/11 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
Python使用multiprocessing创建进程的方法
2015/06/04 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
python selenium登录豆瓣网过程解析
2019/08/10 Python
Pycharm调试程序技巧小结
2020/08/08 Python
Django数据统计功能count()的使用
2020/11/30 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
草船借箭教学反思
2014/02/03 职场文书
初中学校对照检查材料
2014/08/19 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
租房协议书范例
2014/10/14 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书