前言在使用Node.js开发一个小爬虫之前,算是初步了解了爬虫,但是爬出来的数据是没有意义的。最近使用Github的频率比较高,所以准备爬取一些Github的资料玩玩。目前正在爬取国内关注者前100名,以及各编程语言star数超过1000的开源项目。源代码Talk很便宜。给我看代码。访问地址访问地址:http://www.qdnote.com/vue-github-rank/(PC端开启手机模式浏览效果更佳)gitclone使用方法扫描二维码https://github.com/XNAL/vue-github-rank//需要先安装mysql并创建数据库。源码中可以参考`github_rank.sql`。cdvue-github-ranknpminit//启动节点服务gulpnodemon//要在本地运行,需要再打开一个终端框执行以下命令,然后访问`http://localhost:8080/`npmrundevtechnologystackvue.js:前端页面展示。axios:Vue官方推荐HTTP库请求后端数据。阿里巴巴的矢量图标库Iconfont:页面图标,在个人项目中使用比较方便。node.js+Koa2:后台服务器设置,(Koa2需要nodev7.6或以上版本)。ES6/ES7:后台开发主要基于ES6语法,使用了ES7中的async/await。gulp:后台服务器使用,自动化构建工具。webpack:自带vue-cli。需要配置本地代理proxyTable和SCSS的相关loader。MySql:数据存储。superagent:客户端请求代理模块,优于node.js原生http模块。cheerio:用于分析网页内容的服务器端jQuery。node-schedule:node.js定时执行模块。关于爬虫爬取数据的说明:目前Github官网每2小时爬取一次数据,抓取到的数据会存入数据库。在爬取过程中,可能会出现单个页面一直获取不到数据的情况。为了避免程序卡在这一步,目前循环请求单页数据50次。如果数据仍然不可用,则跳过该数据。抓取,等待下一次抓取。数据库字符集需要设置为utf8mb4,因为需要访问emoji表情。关于(首页)中国百大神名录项目项目截图
