小程序云开发之--微信公众号文章采集篇
小程序云开发之–微信公众号文章采集篇
相信不少小伙伴都有想过做一个属于自己的小程序,又苦于没有服务器以及备案域名、网站ssl证书等,微信小程序作为前端
后端就有很多了诸如Spring全家桶
等小程序能接收到后端返回的值需要小程序内添加合法域名(域名备案
和https协议
)
这里直接进入教学
公众号中有专门的接口(也有专门的文档) 那么如何采集小程序的文章来做到为我所用呢?
第一步: 获取access_token
通过文档可以看出 想要获取这个access_token需要以下三个参数
其中grant_type
的值为client_credential
用于获取access_token
appid
和secret
在公众号内可以找到
完成以上配置之后就可以采集文章了,
我们可以手动访问获取token或者postman
等
有了token之后采集文章就很方便了 下面开始操作
从官方文档中可以看到提供的接口还是挺多的
这里拿草稿箱做示范吧 其他的像图文、视频等素材的采集方法都是一样的
第一个token我们已经有了接下来就是offset
和count
了 最后一个参数可以不要
获取文章数据
获取到素材之后 打印结果
说明我的草稿箱里有三条数据 确实只有三条
文章数据的处理
我们需要把自己需要的参数获取然后添加进数据库
注意⚠️
这里有个问题就是如果这个文章已经采集过了那么我们就跳过,如果全部数据都存在那么打印 文章已经存在
最后就是把数据库没有的数据放入到数据库中
以下是测试结果
如果全部数据都存在
博客小程序:万神资源小栈
放入部分代码:
/*** 获取公众号文章信息* @param {*} accessToken*/
async function getWechatPosts(accessToken, offset, count) {let url = `https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=${accessToken}`var options = {method: 'POST',json: true,uri: url,body: {"type": "news","offset": offset,"count": count}}const result = await rp(options)let rbody = (typeof result === 'object') ? result : JSON.parse(result);return rbody;
}/*** 同步文章的小程序码*/
async function syncPostQrCode() {let configData = await getConfigInfo("syncPostQrCode");if (configData == null) {console.info("未获取相应的配置")return;}console.info(configData)let page = parseInt(configData.value.currentOffset);let maxCount = parseInt(configData.value.maxSyncCount);let isContinue = true;while (isContinue) {let posts = await db.collection('mini_posts').orderBy('timestamp', 'asc').skip(page * 10).limit(10).field({_id: true,qrCode: true,timestamp: true}).get()console.info(posts)if (posts.data.length == 0) {isContinue = false;break;}for (var index in posts.data) {if (posts.data[index].qrCode != null) {continue}let scene = 'timestamp=' + posts.data[index].timestamp;let result = await cloud.openapi.wxacode.getUnlimited({scene: scene,page: 'pages/detail/detail'})if (result.errCode === 0) {const upload = await cloud.uploadFile({cloudPath: posts.data[index]._id + '.png',fileContent: result.buffer,})await db.collection("mini_posts").doc(posts.data[index]._id).update({data: {qrCode: upload.fileID}});}}if ((page - parseInt(configData.value.currentOffset)) * 10 > maxCount) {isContinue = false;}else {page++}}let data = { currentOffset: page - 1, maxSyncCount: 100 }await db.collection("mini_config").doc(configData._id).update({data: {value: data}});}
以上就是所有内容了 更多精彩内容请关注我~
小程序云开发之--微信公众号文章采集篇相关推荐
- 商城前端模板_如何理解微信小程序和微商城,微信公众号以及APP之间的关系?一张图看懂了!...
老张的一位粉丝,花了几天时间把知乎里面分享的一些关于微信小程序,微信商城,微信公众号,以及APP的相关介绍全看完了. 然后用他自己的话描述了微信小程序和微商城,微信公众号以及APP之间的关系,如下图所 ...
- 2021最新外卖霸王餐小程序、H5、微信公众号版外系统源码|霸王餐美团/饿了么系统 粉丝裂变玩源码下载
2021年了,你还在用淘宝客吗?赶紧跟上互联网的大势吧,外卖cps就是cps人群趋势! 个人.个体.企业均可使用 外卖霸王餐小程序.H5.微信公众号版外系统源码|霸王餐美团/饿了么系统 粉丝裂变玩 2 ...
- 微信公众号发送小程序卡片_如何在公众号文章中添加小程序卡片
在公众号中添加小程序卡片可以给阅读者更好的文章阅读体验,腾讯地图+小程序可以在文章内容中提供位置卡片和路线规划卡片,适用于各类含有地点信息的文章推文. 绑定腾讯地图+小程序的方法如下: 第一步:公众号 ...
- python采集微信公众号_Python爬虫,微信公众号文章采集工具
#微信公众号文章采集 import requests from lxml import etree import re import os def get_con(url): #url="h ...
- 微信公众号文章采集的一些基础概念
此文已在本人知乎号上首发: 微信公众号文章采集的一些基础概念 背景 经常有人问我微信文章采集相关的基础常识问题,对于新手来说,一些概念性的问题确实不太了解.但经常被问得也烦了,所以单独写一篇文章总结一 ...
- 小程序云开发实现微信支付,不需要搭建服务器
一.开发微信支付功能一定要架设服务器吗? 2019年的最后一天,舍得叔叔沉浸在探索的兴奋中,验证了微信小程序云开发也能优雅实现微信支付!小程序的目标是建立一个"serverless" ...
- 微信小程序中获取用户微信公众号授权(openid)用来发送模板消息
需求: 由于小程序不能直接向用户发送模板消息,所以需要用公众号向用户发送模板消息. 于是需要将小程序的openid和公众号的openid绑定在一起.提供两种思路: 方法一: 1.微信小程序和公众号都绑 ...
- mysql导入微信小程序云开发_微信小程序-云开发数据库上传json文件
小程序新增了云开发功能,对于个人开发者是个利好消息.可以省去购买服务器,购买域名以及繁琐配置等步骤,减轻了开发者的负担.至于如何云开发我就不在这里赘述了,请移步微信小程序云开发官方文档,说的很清楚.这 ...
- 微信小程序云开发|基于微信小程序实现房产中介平台系统
作者主页:编程千纸鹤 作者简介:Java.前端.Python开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发.毕业设计开发.面试技术整理.最新技术分享 收藏点赞不迷路 关注作者有好处 ...
- 微信小程序云开发 mysql_微信小程序云开发学习笔记(一)云数据库
云开发配置的环境:cloud-learning 云开发环境初始化准备 需要: APPID 操作: 在创建项目时,填入APPID并选择不使用云函数 进入到开发者页面,点击左上角的云开发并选择开通 设置云 ...
最新文章
- Maven最全笔记,99%的人都收藏了!
- 算法学习之路|统计同成绩学生
- 全新 Hexo Material Design 主题 Mellow
- AngularJS分层开发
- hadoop的HA高可用配置(没有搞完)
- 阅读Java_如何阅读 Java 开源代码?
- xv6/调度算法及并发程序设计
- qt学习之键盘事件( keyPressEvent)
- 以太坊开发入门,完整入门篇
- Deconvolutional Networks论文解读
- android原生ios,Windows Phone的原生iOS/Android应用程序
- eclipse 类文件编辑器找不到源的问题
- linux添加模块设备,linux采用模块方法,添加一个新的设备
- 数据结构(计算机存储、组织数据方式)
- 英文写作佳句300例
- 23andMe宣称其基因报告可以检测2型糖尿病患病风险
- CSGO 控制台 准星详细设置
- matlab计算三角格网面积,MATLAB中plot的用法
- 汽车防抱死系统_ABS_建模与模糊PID控制研究
- 何志强:张尚昀式的当代好青年
热门文章
- 服务器多网卡同一网段
- 这部关于 AI 的纪录片,还是值得一看的
- win32com 处理word和excel文档说明
- python提取某一列数据,Python numpy 提取矩阵的某一行或某一列的实例
- Triplet-Graph Reasoning Network for few-shot Metal Generic Surface Defect Segmentation论文理解
- spring boot整合elk
- RPA---Uipath Try Catch
- Word2019 未找到 MathPage.wll 文件的解决方法
- java之简易生成彩色二维码实践
- JavaSrcipt学习(学习打卡Day8)