分享文章:个人博客开发系列:文章实时保存

优采云 发布时间: 2022-11-30 16:12

  分享文章:个人博客开发系列:文章实时保存

  摘要:前言 一般用来写东西的网站都会有实时编辑保存的功能。文章保存时,实时保存的数据会被清空。源码显示该功能只在个人博客后台使用,并没有多账号系统,所以在双方合众都保存了一条记录。

  前言

  一般用来写东西的网站都会有实时编辑保存的功能。对于用户来说是非常实用的功能。作为个人博客,虽然用处不是那么明显,但还是想实现这个功能,只是作为练习。

  实施思路

  使用WebSocket实现浏览器与服务器的实时通信;

  服务端使用Redis缓存实时编辑的文章(编辑时文章变化频繁,频繁的读写数据库操作不是很好的解决方案);

  服务器使用定时任务(比如每天凌晨3:00)将Redis缓存数据存储到MySQL数据库中;

  浏览器首次进入新增文章页面时,使用WebSocket从服务器获取数据(先从Redis中查找,如果没有再从MySQL数据库中查找);

  浏览器首次进入文章编辑页面时,不需要从服务器获取数据;

  使用Vue.js的watch*敏*感*词*文章的变化,变化时使用WebSocket向服务器传输数据。

  文章保存时清空Redis和MySQL中实时保存的数据。

  源代码

  谈话很便宜。给我看代码。

  

" />

  阐明

  

<p>本功能只是个人博客后台使用,没有多账户体系,所以RedisMySQL中都是保存一条记录。如果需要按不同用户来保存的话,需要自行开发。

  代码比较多,具体的代码就不贴了,有兴趣的可以去我的GitHub上查看源码。这里只说明一下各个文件中代码的用处。

</p>

  1. /server/util/draft-socketio.js

  服务器端 WebSocket 服务使用 socket.io 库。

  2./server/util/draft-redis.js

  Redis 的 set 和 get 公共方法。

  3./server/util/redis-mysql.js

  redisToMysqlTask​​:定时同步Redis数据到MySQL数据的方法,使用node-schedule库。

  getDraftPostFromMysql:当Redis中不存在数据时,查询MySQL中的数据。

  clearDraftPostOfMysql:从MySQL中删除数据(文章保存后操作)。

  

" />

  4. /src/main.js

  浏览器首先引入 socket.io,使用 vue-socket.io 和 socket.io-client 库。

  import VueSocketio from "vue-socket.io";

import socketio from "socket.io-client";

Vue.use(VueSocketio, socketio("http://localhost:9000", {

path: "/testsocketiopath"

}));

  5. /src/pages/Edit.vue

  使用WebSocket从服务器获取数据,并将数据实时传输到服务器进行存储。

  总结

  整个功能其实就是WebSocket、Redis、MySQL的使用,之前都用过,所以开发起来还是比较容易的。最重要的是先想好解决办法。

  最后,像往常一样索取 fork 和 star。

  分享文章:微信公众号文章采集

  采集

网站:

  使用功能点:

  网址

  寻呼列表信息采集

  搜狗微信搜搜:搜狗微信搜索是搜狗于2014年6月9日推出的微信公众平台。“微信搜索”支持搜索微信公众号和微信文章。您可以使用关键词搜索相关微信公众号或微信公众号推送的文章。不仅在PC端,搜狗手机搜索客户端也会推荐相关的微信公众号。

  搜狗微信文章采集数据说明:本文采集搜狗微信-搜索-优采云

大数据中的所有文章信息。本文仅以“搜狗微信-搜索-优采云

所有文章信息大数据采集”为例。在实际操作过程中,您可以根据自己的数据采集需要,更改搜狗微信的搜索词。

  搜狗微信文章采集

详细采集

字段说明:微信文章标题、微信文章关键词、微信文章摘要、微信公众号名称、微信文章发布时间、微信文章地址。

  第一步:创建采集任务

  1)进入主界面,选择“自定义模式”

  2) 将要采集的网址复制粘贴到网址输入框中,点击“保存网址”

  第 2 步:创建翻页循环

  

" />

  1)打开右上角的“进程”。点击页面文章搜索框,在右侧的操作提示框中选择“输入文字”

  2)输入要搜索的文章信息,这里以搜索“优采云

大数据”为例,输入完成后点击“确定”按钮

  3)“优采云

大数据”会自动填入搜索框,点击“搜索文章”按钮,在操作提示框中选择“点击此按钮”

  4) 页面出现“优采云

大数据”的文章搜索结果。将结果页面下拉至最下方,点击“下一页”按钮,在右侧的操作提示框中选择“循环点击下一页”

  第 3 步:创建列表循环并提取数据

  1) 移动鼠标选中页面第一篇文章区块。系统会识别出该块中的子元素,在操作提示框中选择“选择子元素”

  2)继续选择页面中第二篇文章的区块,系统会自动选择第二篇文章中的子元素,并识别出页面中其他10组相似元素,在操作提示框中选择“全选” “

  

" />

  3)我们可以看到页面上article block中的所有元素都被选中了,变成了绿色。在右侧的操作提示框中,出现字段预览表,将鼠标移至表头,点击垃圾桶图标即可删除不需要的字段。选择字段后,选择“采集

以下数据”

  4)由于我们还要采集

每篇文章的url,所以还需要提取一个字段。点击第一篇文章链接,再点击第二篇文章链接,系统会自动选择页面上的一组文章链接。在右侧的操作提示框中,选择“采集

以下链接地址”

  5) 字段选择完成后,选择对应的字段,自定义字段的命名。完成后点击左上角“保存并开始”开始采集任务

  6)选择“开始本地采集

  第四步:数据采集与导出

  1)采集完成后,会弹出提示,选择“导出数据”,选择“合适的导出方式”,将采集到的搜狗微信文章数据导出

  2)这里我们选择excel作为导出格式,数据导出如下图

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线