详解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 相关文章推荐
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
Apr 24 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
Jul 09 Javascript
详解JavaScript的策略模式编程
Jun 24 Javascript
包含中国城市的javascript对象实例
Aug 03 Javascript
聊一聊jQuery插件uploadify使用方法
Aug 24 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
Dec 18 Javascript
jQuery实现的简单悬浮层功能完整实例
Jan 23 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
Oct 16 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
Feb 26 Javascript
点击按钮弹出模态框的一系列操作代码实例
Mar 29 Javascript
实现AJAX异步调用和局部刷新的基本步骤
Mar 17 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与C#分别格式化文件大小的代码
2011/05/14 PHP
PHP中的正则表达式函数介绍
2012/02/27 PHP
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
jQuery AjaxUpload 上传图片代码
2016/02/02 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
详解angular2封装material2对话框组件
2017/03/03 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
python安装numpy&安装matplotlib& scipy的教程
2017/11/02 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
出国留学自荐信
2013/10/25 职场文书
采购部主管岗位职责
2014/01/01 职场文书
个人银行贷款担保书
2014/04/01 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
学校周年庆活动方案
2014/08/22 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
房产公证书
2015/01/23 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
老乡会致辞
2015/07/28 职场文书