详解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 相关文章推荐
js去除重复字符串两种实现方法
Jan 09 Javascript
JS实现在网页中弹出一个输入框的方法
Mar 03 Javascript
javascript生成大小写字母
Jul 03 Javascript
关于input全选反选恶心的异常情况
Jul 24 Javascript
jQuery选择器总结之常用元素查找方法
Aug 04 Javascript
jQuery基本选择器和层次选择器学习使用
Feb 27 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
Aug 28 Javascript
详解vue中axios请求的封装
Apr 08 Javascript
JavaScript封闭函数及常用内置对象示例
May 13 Javascript
vue-cli配置flexible过程详解
Jul 04 Javascript
Vue实现滑动拼图验证码功能
Sep 15 Javascript
vue3.0 数字翻牌组件的使用方法详解
Apr 20 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
体育彩票排列三组选三算法分享
2014/03/07 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
Javascript 命名空间模式
2013/11/01 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
js获取元素的偏移量offset简单方法(必看)
2017/07/05 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
python类定义的讲解
2013/11/01 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
python中函数默认值使用注意点详解
2016/06/01 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
Python中import机制详解
2017/11/14 Python
python hough变换检测直线的实现方法
2019/07/12 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
Python如何调用外部系统命令
2019/08/07 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
python中def是做什么的
2020/06/10 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
高校毕业生登记表自我鉴定
2013/11/03 职场文书
办护照工作证明
2014/10/01 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
公司业务员管理制度
2015/08/05 职场文书
个人合作协议范本
2015/08/06 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python