这是一个新闻源的实例,通过触发器获取网络数据写入到库中,这是一个参考,从而学会,任何网络数据你都可以尝试实现写到库中。
获取网页源码
~~~
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
- 前言简介
- 技巧经验
- 实现自动序列号
- 使用工具来转换成csv文件
- 如何制作和导出模板组合
- 实例资源
- js字段实例
- 根据身份证取出生日期、性别、年龄
- 自动标记状态,到期自动标记过期,可屏蔽过期以及聚合计算显示
- 根据出生日期计算年龄
- 人民币小写数字金额转大写
- 倒计时天数,实现倒计时纪念日等功能显示
- 取指定时间是周几的4种方法
- 自动填写年份、月份
- 只显示计算公式而不显示计算结果的办法
- 根据多个已选的员工人数,计算总工资
- 计算显示每年、每月的总工资实例
- 实现完全性的跨库计算自定义公式
- 触发器实例
- 新建或编辑条目后,更改条目内容
- 计算字段范例
- 计算星期几实例(3.8.5版本及以上)
- 计算星期几实例(3.8.5版本以下)
- 计算第几周
- 实现单条数据的百分比形式(并且控制小数点为2位)
- 自动填充实例
- js套用方法外壳,实现网站数据源自动录入内容
- js代码实例
- 动作实例
- 实例将网络数据写入库中
- js函数运用实例
- 创建一个新的条目记录
- 查询库内容
- 数据源实例
- Js套用方法外壳,实现网站数据源自动录入内容
- 其它实例
- 字符串值的控制
- 资料知识
- 表格与ME库关系
- ME库电子日历使用一帖通
- ME库CSV应用一帖通
- 新手入门
- 新手入门教程
- 常见问题集合
- 官方资料(中文版)
- 计算字段
- JavaScript字段
- 链接到条目字段
- 脚本
- 纪念品JavaScript库
- 动作
- 数据源
- 触发器
- 触发器示例
- 旧档
- 计算字段命令,FUNCTION功能
- JavaScript的字段
- javascript常用函数及功能
- 前言介绍
- 经验技巧
- 官方资料(英文版)
- Memento Database
- Glossary
- Memento Wiki
- Useful links
- Releases
- User Interface
- Tutorial:Simple To Do List
- Tutorial:Simple To Do List Enhancements
- Libraries & templates
- Library
- Library Template
- Library Edit screen
- Library Groups
- How:Add a Library
- Libraries List screen
- Fields, pages, & subheaders
- Overviews
- Field
- Field Edit card
- Field Role
- Field Type
- Page
- Specs
- Techniques, Tips, How
- Tips:Using JavaScript in Memento
- How:Field Dependencies
- 关于附件
- 交流互助
- 贡献人员