PHP学习笔记13淘宝接口开发一例(tmall.items.discount.search),PHP
程序设计,因为接口是有请求次数限制的,正式接口也只有2W次每天的请求次数,所以我们需要把从接口返回的数据缓存起来.
采用的接口是http://api.taobao.com/apidoc/api.htm?spm=0.0.0.0.GXuwDp&path=cid:10240-apiId:21355
产品的设计:
目前这个项目设计成两个页面
一个是封面,也就相当于一个导航的页面.上面有各种分类.如男装,女装,连衣裙,雪纺衫.等等等等.
一个是详细页面,也就是点击上面的集合按钮,链接到一个集合里面,集合里面是通过接口得到的天猫的商品列表.例如点击女装,将出现女装的列表页.上面是根据规则生成的天猫商城的女装商品列表页.(满足一定条件,如包邮,价格区间.品牌ID等.);
程序逻辑上的设计:
第一步,根据一定的规则检索数据,得到检索数据的条件,例如:女装分类前10条数据.男装分类第11-20条数据.可以参考接口传入的参数来规定检索的字段.也就是对接口的调用方式.
第二步,将检索条件变成数组,并散列到集合所对应的条件字段上.这样得到一个存储接口调用规则的字段.里面存储着用来生成最终数据的数据规则.
第三步,根据相应的规则,用程序自动定时的来完成数据的抓取和页面的生成操作.得到对应的详细页面.
细节上的优化:首先,对于接口的调用.要保证接口能够正确返回数据,并且保证返回的数据有效.其次,当接口无法返回数据的时候,需要能有预警机制,第三,要保证接口返回的数据具有一定的时效性.也就是更新周期要能够保证拿到最新的商品,不能等到商品信息都已经更新很久了,而库里面还存在老的数据.
程序的具体实现:
数据库表设计:
使用Mysql数据库.共设计了两张表.一张表用来存储封面的相关信息,如图片的地址,图片的链接等.另外一张表用来存储从淘宝接口返回的商品信息.
表的设计见后面附1.的表结构.
程序的选择,这里选择了phpcms开源程序.因为对于CMS的开发.phpcms有比较好的支持.
首先在moudel目录下建立了模块tmall_zhekou
然后在model下建立两个分别对应数据表的model 分别为jihe和tmall_zhekou_items.
还需要在API目录下加入淘宝API的相关文件.文件来源.(首先注册成为淘宝开放平台的用户,然后建立一个网站应用.在应用的最下方会发现一个能够下载SDK的链接).拿到APPKEY 和APP Secret
关键代码我将整理好,随后奉上svn地址.http://swordphp-oa.googlecode.com/svn/trunk/tm_zk/
下载地址:http://www.kuaipan.cn/file/id_157028020136195031.htm
原文地址:http://www.swordphp.com(我的个人博客)
PHP学习笔记13淘宝接口开发一例(tmall.items.discount.search),PHP的更多相关文章
- 淘宝接口 TopAPi
演示一下调用淘宝的接口,让大家心里有个数, 很简单,新建一个工程,拖一个IDHttp,Button和Memo到窗体上去 然后在这个Button的OnClick事件中写入如下代码: [delphi] v ...
- springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定
springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定 标签: springmvc springmvc学习笔记13-springmvc注解开发之集合类型參数绑定 数组绑定 需 ...
- jquery使用淘宝接口跨域查询手机号码归属地实例
<h1>手机号码归属地查询</h1> <div class="outer"> <p>请输入手机号码</p& ...
- 淘宝API开发系列---阿里.聚石塔.开放平台的使用
好久没有继续跟进淘宝的API使用了,有很多做相关应用的同行都来咨询,很多都因为自己开发工作比较忙而没有来得及好的处理,前几天,有一个朋友叫帮忙指导如何使用淘宝API,由于原来有一些成熟的例子应用,因此 ...
- Ext.Net学习笔记13:Ext.Net GridPanel Sorter用法
Ext.Net学习笔记13:Ext.Net GridPanel Sorter用法 这篇笔记将介绍如何使用Ext.Net GridPanel 中使用Sorter. 默认情况下,Ext.Net GridP ...
- 淘宝接口实现ip归属地查询
<?php header('content-type:text/html;charset=utf-8'); /*获取当前ip归属地 调用淘宝接口 */ function get_ip_place ...
- SQL反模式学习笔记13 使用索引
目标:优化性能 改善性能最好的技术就是在数据库中合理地使用索引. 索引也是数据结构,它能使数据库将指定列中的某个值快速定位在相应的行. 反模式:无规划的使用索引 1.不使用索引或索引不足 2.使用了 ...
- angular学习笔记(2)- 前端开发环境
angular1学习笔记(2)- 前端开发环境 1.代码编辑工具 2.断点调试工具 3.版本管理工具 4.代码合并和混淆工具 5.依赖管理工具 6.单元测试工具 7.集成测试工具 常见的前端开发工具 ...
- golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换
golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Ato ...
随机推荐
- css选择表格偶数行
css代码tr:nth-child(even){background:gray} 选择偶数行 tr:nth-child(even){background:gray} 选择奇数行
- servlet示例
当用户向客户端发送一个请求,如: [plain] view plaincopy http://localhost:8088/ServApp/myreq.cg?param1=param 当Soc ...
- C++ Primer day 01
1.标准输入与输出 #include<iostream> int main(){ int v1,v2; std::cout<<"Enter two numbers:& ...
- 十四、职责链(Chain of Responsibility)模式--行为型模式(Behavioral Pattern)
职责链模式是一种对象的行为模式[GOF95].在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链.请求在这个链上传递,直到链上的某一个对象决定处理此请求.发出这个请求的客户端并不知 ...
- 数据的加密传输——单片机上实现TEA加密解密算法
各位大侠在做数据传输时,有没有考虑过把数据加密起来进行传输,若在串口或者无线中把所要传的数据加密起来,岂不是增加了通信的安全性.常用的加密解密算法比如DES.RSA等,受限于单片机的内存和运算速度,实 ...
- 微软的OneDrive研究~
Dropbox 很好,唯一觉得不爽的是只能同步指定的目录.不过被墙之后就不那么方便了,所以改用微软的 Live Mesh,缺点是支持的设备少(仅 PC 和 Mac). https://technet. ...
- 学习笔记之--Navicat Premium创建数据表
1.打开Navicat Premium,点击连接,选择MySQL,创建新连接.输入安装MySQL是的用户名和密码.点击确定. 2.admin数据连接已经创建成功.下面为admin新建数据库,输入数据库 ...
- WordPress SEO ☞ WordPress网站终极优化指南
原文地址:http://www.eastdesign.net/wordpress-seo/ 最新消息,东方设计学院 WordPress SEO 系列视频教程正在持续更新中,目前为了不至于让视频传播过于 ...
- CentOS、Ubuntu、Debian三个linux比较异同
Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本. 商业版本以Redhat为代表,开源社区版本则以debian为代表.这些版本各有不同的特点, ...
- C语言中指针的指针是如何工作的?
我们有时看到这样地饿代码: int *ptr = &x; 这里,ptr是一个指向x在内存中的地址的指针. 假设有另外一条语句是这样地的: int **ptr2 = &ptr; 我们 ...