我爱编程

Node.js爬虫 抓取简书并生成自己的博客

2018-03-21  本文已影响0人  皮卡乒乓

1、前言

认识我的同学可能知道我有自己的博客,可由于只会前台导致自己的博客都是用纯静态页面写的,导致工作量很大,而我在坚持了两个月后决定放弃了。好在会点node,但是写个后台管理吧对我来说不现实,费时间,所以我在想能不能将我简书所有的文章移植到博客上,用简书做我的后台管理。经过一周左右的尝试,完美解决。

2、码前尝试

很多人都知道,可以一键打包下载自己的简书文章,但对于代码实现来说,却并不简单,所以我瞄定了用爬虫来实现。


TIM截图20180320134144.png

3、过程原理

4、过程

这里用到的node库有crawler和node-schedule,crawler用来爬数据,node-schedule用来做定时任务,每小时的0分0秒去抓取数据

在爬取之前我想到两种方式,1是根据ajax分析数据,2是直接爬取页面,分析页面。当然第一种最简单,二话不说,直接network分析一波,于是


network.png

结果是这样的


network2.png
这还有什么可说的,就直接爬呗。。。
我们可以根据每一个li,找打具体的每一个页面,然后爬到每一个页面的值,我为了方便不用写样式,但又不需要无用的数据入库,则只将note标签的数据入库,后面的广告和底部推荐则不管
book.png

样式的话通过我的尝试发现简书只用到了两个css文件,那当然,我就顺带着爬走了。

我选用的mysql作为我的数据库,简单方便。


mysql.png

3、接口
其实我会的node并不是很多,这只是一些简单的查询功能,当然我都支持跨域访问了。
根据标题关键字搜索
根据分类关键字搜索
查询博客分类
查询博客标题

4、前台调用

在MVVM大行其道的当今,当然是选择用它了,没错就是VUE了,由于没有美工,我就不要脸的自己当美工了,那当然是用bootstrap了,成型后大致是这样的


blog.png
上一篇下一篇

猜你喜欢

热点阅读