详解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 相关文章推荐
JavaScript中实现块作用域的方法
Apr 01 Javascript
jQuery Lightbox 图片展示插件使用说明
Apr 25 Javascript
js实现的常用的左侧导航效果
Oct 17 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
jQuery中add()方法用法实例
Jan 08 Javascript
jQuery对html元素的取值与赋值实例详解
Dec 18 Javascript
JS插件overlib用法实例详解
Dec 26 Javascript
JS基于正则表达式的替换操作(replace)用法示例
Apr 28 Javascript
vue事件修饰符和按键修饰符用法总结
Jul 25 Javascript
vue+element加入签名效果(移动端可用)
Jun 17 Javascript
vue2路由基本用法实例分析
Mar 06 Javascript
浅谈vue权限管理实现及流程
Apr 23 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修改NetBeans默认字体的大小
2013/07/02 PHP
三种php连接access数据库方法
2013/11/11 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
JavaScript类和继承 prototype属性
2010/09/03 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
python赋值操作方法分享
2013/03/23 Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
python实现从字典中删除元素的方法
2015/05/04 Python
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
pandas中Timestamp类用法详解
2017/12/11 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
保时捷设计:Porsche Design
2019/03/30 全球购物
建筑实习自我鉴定
2013/10/18 职场文书
高三语文教学反思
2014/01/15 职场文书
通信研究生自荐信
2014/02/01 职场文书
2013年军训通讯稿
2014/02/05 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
安全第一课观后感
2015/06/18 职场文书
劳动模范获奖感言
2015/07/31 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python