🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
这是一个新闻源的实例,通过触发器获取网络数据写入到库中,这是一个参考,从而学会,任何网络数据你都可以尝试实现写到库中。 获取网页源码 ~~~ var r=http().get("http://rss.cnbeta.com/"); var p=r.body; ~~~ 处理得到的数据 ~~~ //取出需要的内容部分,过滤掉不需要的部分 var p=p.substring(p.indexOf("<item>")+0,p.lastIndexOf("channel>")); var p_title=/<title>(.*?)<\/title>/g; var title=p.match(p_title); var p_title=/<link>(.*?)<\/link>/g; var link=p.match(p_title); var p_title=/<description>(.*?)<\/description>/g; var description=p.match(p_title); var p_title=/<author>(.*?)<\/author>/g; var author=p.match(p_title); var p_title=/<source>(.*?)<\/source>/g; var source=p.match(p_title); var p_title=/<guid>(.*?)<\/guid>/g; var guid=p.match(p_title); var p_title=/<channel>(.*?)<\/channel>/g; var channel=p.match(p_title); if(title==null)exit(); var num=title.length; ~~~ 字符处理所需要的自定义函数,放底部即可。 ~~~ //自定义函数处理 function rep(str,xtr){ str=str.replace("<"+xtr+">", ""); str=str.replace("<\/"+xtr+">", ""); str=str.replace("<strong>", ""); str=str.replace("<p>", ""); str=str.replace("<![CDATA[", ""); str=str.replace("<\p>", ""); str=str.replace("<\/strong>", ""); return str; } ~~~ 写入到本地库中 ~~~ var members = lib(); var newMember = new Object(); var entries = lib().entries(); var k=""; var i; for(var i=0;i<num;i++){ title[i]=rep(title[i],"title"); link[i]=rep(link[i],"link"); description[i]=rep(description[i],"description"); author[i]=rep(author[i],"author"); guid[i]=rep(guid[i],"guid"); source[i]=rep(source[i],"source"); //if(entries.length==0){unique = false;} var unique = false; for (var ent = 0; ent < entries.length; ent++) { if (entries[ent].field("标题") == title[i]) { unique = true; } }//循环结束 if (unique==false) { newMember["标题"] =title[i]; newMember["链接"] =link[i]; newMember["概要"] =description[i]; newMember["作者"] =author[i]; newMember["来源"] =source[i]; newMember["页面"] =guid[i]; members.create(newMember); } } ~~~ 完整实例下载 如何查看这个实例的代码? 导入模板后,进去库内,滑动右侧面板,触发器查看代码。 文件:Cnbeta新闻 更新式数据源.template