详解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温习篇 强大的JQuery选择器
Apr 24 Javascript
prettify 代码高亮着色器google出品
Dec 28 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
Apr 01 Javascript
JS模仿手机端九宫格登录功能实现代码
Apr 28 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
Jan 13 Javascript
js判断节假日实例代码
Dec 27 Javascript
select获取下拉框的值 下拉框默认选中方法
Feb 28 Javascript
小试小程序云开发(小结)
Jun 06 Javascript
深度了解vue.js中hooks的相关知识
Jun 14 Javascript
详解vue-video-player使用心得(兼容m3u8)
Aug 23 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
Sep 28 Javascript
Vue仿百度搜索功能
Dec 28 Vue.js
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
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
利用jquery写的左右轮播图特效
2014/02/12 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
Vue.js之slot深度复制详解
2017/03/10 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
Python中的random()方法的使用介绍
2015/05/15 Python
实例Python处理XML文件的方法
2015/08/31 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
10条PHP编程习惯
2014/05/26 面试题
博士生入学考试推荐信
2013/11/17 职场文书
学生会主席竞聘书
2014/03/31 职场文书
2015暑假假期总结
2015/07/13 职场文书
导游词之大雁塔景区
2019/09/17 职场文书