当前位置:首页 » 新媒体运营 » 正文

小说微信小程序开发,微信小程序云开发,不借助额外服务端爬虫实现小说阅读小程序

3474 人参与  2022年04月18日 11:00  分类 : 新媒体运营  评论


最近才注意到微信小程序增加了个云开发,手上项目不多就赶紧试试手,新增加云函数和云数据库;云函数就类似于服务端,云函数其实就是封装了mongdb,不过小程序js中可以直接操作数据库,只是与云函数对的操作权限不同

微信小程序云开发,不借助额外服务端爬虫实现小说阅读小程序


云控制台:

微信小程序云开发,不借助额外服务端爬虫实现小说阅读小程序


开始我的项目,我利用云函数中科可以使用node模块,于是就试试能不能写个爬虫小程序

微信小程序云开发,不借助额外服务端爬虫实现小说阅读小程序


const cheerio = require("cheerio"); //进入cheerio模块

let charset = require(&#;superagent-charset&#;); //解决乱码问题:

let superagent = require(&#;superagent&#;); //发起请求

charset(superagent);

cloud.init()

// 云函数入口函数

exports.main = async (event, context) => {

let servceUrl = "https://xxxx/"

const result = await superagent

.get(servceUrl)

.charset(&#;gb&#;); //取决于网页的编码方式

const data = result.text || &#;&#;;

const $ = cheerio.load(result.text);

let hotList = $(&#;.hot&#;).find(&#;.image&#;);

let classifyList = $(&#;.block&#;);

let hotData = [];//热榜

let classifyData = [];//分类推荐

for (let i = ; i < hotList.length;i++){

let obj = {};

obj[&#;url&#;] = $(hotList[i]).find(&#;a&#;).attr(&#;href&#;);

obj[&#;imgurl&#;] = $(hotList[i]).find(&#;img&#;).attr(&#;src&#;);

obj[&#;name&#;] = $(hotList[i]).find(&#;img&#;).attr(&#;alt&#;);

obj[&#;autho&#;] = $(hotList[i]).next().find(&#;dt&#;).find(&#;span&#;).text();

obj[&#;detail&#;] = $(hotList[i]).next().find(&#;dd&#;).text();

hotData.push(obj)

}

for (let i = ; i < classifyList.length; i++) {

let obj = {};

let childData = []

let childDom = $(classifyList[i]).find(&#;.lis&#;).find(&#;li&#;);

for (let j = ; j < childDom.length;j++){

let chilObj = {};

chilObj[&#;name&#;] = $(childDom[j]).find(&#;.s&#;).find(&#;a&#;).text();

chilObj[&#;url&#;] = $(childDom[j]).find(&#;.s&#;).find(&#;a&#;).attr(&#;href&#;);

chilObj[&#;autho&#;] = $(childDom[j]).find(&#;.s&#;).text();

childData.push(chilObj);

}

obj[&#;classifyList&#;] = $(classifyList[i]).find(&#;h&#;).text();//类别名称

// obj[&#;childDom&#;] = childDom.length;

obj[&#;data&#;] = childData;

classifyData.push(obj)

}

return {

classifyData,

hotData

};

}

果然是没问题的,不过中间需要注意开始npm的构建,还可以引入ui,推荐vantui,基本功能都有,中间由于有些编码问题做了一些处理,上面是我云函数的代码,下面是如何调用云函数:

微信小程序云开发,不借助额外服务端爬虫实现小说阅读小程序


主要代码: wx.cloud.callFunction({

name:&#;getList&#;,

data:{}

}).then(res=>{

wx.hideLoading ();

console.log(res.result);

const result = res.result || {};

this.setData({

hotdata: result.hotData,

classtyf: result.classifyData

})

}).catch(err=>{

wx.hideLoading ();

console.log(err)})

},

中间还涉及到阅读记录的保存,于是我简单实用了云数据库:

微信小程序云开发,不借助额外服务端爬虫实现小说阅读小程序


代码简单示意,文档里面都有哈,我用到的两张表

微信小程序云开发,不借助额外服务端爬虫实现小说阅读小程序


今天分享到此。

本文链接:http://www.woshiqian.com/post/88040.html

百度分享获取地址:https://share.baidu.com/code
小说微信小程序开发  

我是钱微信/QQ:5087088

广告位、广告合作QQ:5087088

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

       

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。