详解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 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
Feb 26 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
jquery制做精致的倒计时特效
Jun 13 Javascript
AngularJS $injector 依赖注入详解
Sep 14 Javascript
基本DOM节点操作
Jan 17 Javascript
详解打造 Vue.js 可复用组件
Mar 24 Javascript
vue组件生命周期详解
Nov 07 Javascript
总结js中的一些兼容性易错的问题
Dec 18 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
May 02 Javascript
Javascript实现购物车功能的详细代码
May 08 Javascript
js实现淘宝浏览商品放大镜功能
Oct 28 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
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
js对象与打印对象分析比较
2013/04/23 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
js实现拖拽上传图片功能
2017/08/01 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
[01:08:09]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第二局
2016/03/02 DOTA
python中将字典转换成其json字符串
2014/07/16 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
Python多项式回归的实现方法
2019/03/11 Python
Python多进程方式抓取基金网站内容的方法分析
2019/06/03 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
EJB面试题
2015/07/28 面试题
单位消防安全制度
2014/01/12 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
婚礼司仪主持词
2014/03/14 职场文书
教师师德承诺书
2014/03/26 职场文书
中药学自荐信
2014/06/15 职场文书
岗位说明书怎么写
2014/07/30 职场文书
高中生物教学反思
2016/02/20 职场文书