程序设计,因为接口是有请求次数限制的,正式接口也只有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(我的个人博客)