详解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扩展Array.prototype.indexOf引发的问题探讨及解决
Apr 24 Javascript
jquery删除ID为sNews的tr元素的内容
Apr 10 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
Aug 01 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
Dec 14 Javascript
原生javascript实现自动更新的时间日期
Feb 12 Javascript
JS中检测数据类型的几种方式及优缺点小结
Dec 12 Javascript
微信小程序 支付功能实现PHP实例详解
May 12 Javascript
Popup弹出框添加数据实现方法
Oct 27 Javascript
mac中利用NVM管理不同node版本的方法详解
Nov 08 Javascript
JavaScript中字符串的常用操作方法及特殊字符
Mar 18 Javascript
浅谈Vue为什么不能检测数组变动
Oct 14 Javascript
小程序中手机号识别的示例
Dec 14 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
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
PHP实现验证码校验功能
2017/11/16 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
javascript常用的设计模式
2017/02/09 Javascript
Bootstrap表单简单实现代码
2017/03/06 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
Vue $attrs & inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
pandas去除重复列的实现方法
2019/01/29 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
函授本科自我鉴定
2013/11/03 职场文书
哈理工毕业生的求职信
2013/12/22 职场文书
村委会贫困证明范本
2014/09/17 职场文书
大学生年度个人总结
2015/02/15 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
老兵退伍感言
2015/08/03 职场文书
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸