基于开放API的交易数据提取方案设计
2014-10-22许镭许华
许镭+许华
摘 要:获取开放平台的交易数据在基于API的开发中是极为常见的应用。本文详细描述了基于淘宝开放API 的交易数据提取方案的设计以及其提取流程,并且给出了交易数据库的设计,为基于淘宝的各种交易应用产品的开发与设计提供了借鉴。
关键词:开放API;电子商务;第三方应用
中图分类号:G642 文献标识码:A
1 引言(Introduction)
开放平台的交易数据对于研究和分析产品销售形势、市场需求以及安排下一步的生产销售具有重要的意义。选择第三方交易平台作为商品销售的渠道已经成为产品生产者的首要选择,所以利用第三方交易平台提供的开放API对交易数据的进行分析就显的极为重要。本文以淘宝为例子,介绍了商品交易数据提取的一般方案,以为相应的产品开放提供借鉴。
在提取交易数据时一般可以遵循注册Open API账号及设计交易数据提取方案、设计数据库、提取交易数据等等三个步骤进行。
2 加入淘宝开放平台(Join taobao open platform)
为了能够使用淘宝API提取淘宝网站上的交易数据,首先,要在open.taobao.com网站上,申请使用淘宝的开放平台;进入开发者中心,确定用taobao开放API实现交易数据的在线提取的编程语言[1]。具体步骤为:
(1)在open.taobao.com网站上,填入开发者的基本情况。
(2)创建应用后即可生成App Key和App Secret。
(3)测试绑定账号,并确认用户账号。
(4)使用淘宝开放平台提供的SDK接口和对象进行程序开发。
(5)使用API测试工具,测试接口是否能正常运行,获取测试的返回信息。
3 设计交易数据的提取方案(Scheme design of
extraction of transaction data)
交易数据的提取,主要目的是为了获取某种或某类商品的交易信息,以掌握相关商品的市场信息。taobao网站上有上亿的注册用户,每天发生大量的交易活动,即使是同一种商品其商品销售的数据也是海量的。本文从通用的需求出发,选取典型商品,提出数据提取的具体方案,建立了交易数据集。数据提取的步骤如下所示。
(1)在淘宝网站上出售的所有商品都有分类,我们选择人们日常使用的、规范化的、人群适宜限制较少的手机数码类产品,并从其中挑选出15个品牌,在每个品牌中又挑选其中最受欢迎的型号各10中,进行随机组合,构成产品数据集合[2]。
(2)为商品集合中的每个最受欢迎的商品,挑选10个卖方,组成商品卖家组合。
(3)查找商品卖家组合中的每个卖家近一年内的所有交易记录,构成历史交易记录集合。
(4)查找商品卖家组合中的每个卖方的所有交易反馈信息,组成商品卖家信用评分集合。
(5)将所有涉及的历史交易中的买方,组合成买方集合。
(6)对于买方集合中的每个买方,查找其所有反馈信息,并确定其中最近一年内的反馈评分,构成买方信用评分集合。
(7)最后通过查找买方集合中每个买方最近一年内的反馈评分,组合成商品买方信用评分集合。
以上的方法即为交易数据集合的采集方式,包括产品集合、商品买方集合、商品卖方集合,以及历史交易记录集合等。
4 交易数据库设计(The transaction database design)
淘宝开放平台可以返回JSON和XML格式数据,获取返回数据后,为了对数据进行有效的分析,可以将返回的数据建立数据库,并将数据存入到相应的数据表中。为此,我们设计了用户信息表、交易信息表和商品信息表三个数据库表。
4.1 需求分析
通过对淘宝电子商务网站中的交易数据和用户概要信息,以及商品信息的分析,设计如下的数据项和数据结构[2]。
(1)用户信息表。淘宝是典型的C2C类网站,所以用户在网站上既可以是买方也可以卖方,其数据项包括,用户ID、差评和中评次数、注册时间、信用度、信用评价分数等。
(2)交易信息表,交易信息表主要包括交易过程中产生的诸如商品价格、用户评价、用户评价时间、商品ID号、交易ID号及评价分数等。
(3)产品信息表,产品信息表主要包括产品ID号、产品图片地址、产品类别ID号、产品类别名称、产品名称、产品出产地等。
4.2 数据库概念结构设计
基于上述对数据结构的描述,规划出的实体间关系图,如图1所示。
5 交易数据提取流程(Transaction data extraction rocess)
由设计好的交易数据选择方案,首先提取产品、交易及买卖双方的各类交易数据,提取数据的具体步骤及相关API使用方法如下所示。
5.1 提取商品数据
(1)利用商品API中的taobao.product.get,获取商品的类别及子类别编号。
(2)利用评价API中的taobao.traderates.get函数,获取产品的详细信息,并将其放入相应的XML格式文档中;php格式调用如下所示。
(3)通过编程语言分析XML格式的畅销商品的详细信息文档,抓取具体的商品信息,并将信息存储到数据库里的产品表taobao_item中。
5.2 提取卖方 ID
对于产品表taobao_Item中的每个商品记录,采取以下步骤:
(1)分析并读取产品记录中的产品ID号。
(2)使用产品API中的taobao.item.get,填入商品ID作为该API的输入参数值,以获取出售该商品的卖方ID,并将获得的值存入用户表taobao_user中。其php格式调用方法如下。endprint
$c = new TopClient;
$c->appkey = appkey;
$c->secretKey = secret;
$req = new ItemGetRequest;
$req->setFields("num_iid,title,price,desc_modules,sell_point");
$req->setNumIid(3838293428);
$req->setTrackIid("123_track_456");
$resp = $c->execute($req, $sessionKey);
5.3 提取交易数据
采取以下步骤获取产品卖方的记录值,并存入taobao_User表中
(1)获取卖方记录中的卖方ID号。
(2)通过调用店铺API中的taobao.shop.get获取卖方出售的商品的每笔交易的详细交易记录和反馈评价记录数据,并将最终结果存入到数据库的交易表taobao_Transaction中。Php格式调用方法如下所示。
$c = new TopClient;
$c->appkey = appkey;
$c->secretKey = secret;
$req = new ShopGetRequest;
$req->setFields("sid,cid,title,nick,desc,bulletin,pic_path,created,modified");
$req->setNick("卖家昵称");
$resp = $c->execute($req);
5.4 卖方基本信息的获取
对于taobao_User表中卖方基本信息的获取可以采取以下步骤:
(1)通过淘宝API获取卖方记录中的卖方ID号。
(2)通过使用淘宝评价API中的taobao.traderates.get,获取卖方的店铺网络地址、售卖商品地址、商品反馈评分、店铺信用星级、商品好评率等卖家信息,信息获取后将其存入卖方表taobao_User中。调用方法如前述调用方法。
5.5 提取买方 ID 及基本信息
对于交易表Taobao_Transaction中的详细的交易记录信息,采取以下步骤获取:
(1)使用淘宝API获取交易记录中的产品买方的ID号,将ID号写入到taobao_User数据库表中。
(2)利用淘宝交易API 中的taobao.trade.amount.get,提取用户注册时间、用户反馈信息、用户信用星级、用户好评率等该产品买方的详细信息,并将获取的这些信息写入用户数据库表taobao_User中[3]。Php格式的调用方法如下。
$c = new TopClient;
$c->appkey = appkey;
$c->secretKey = secret;
$req = new TradeAmountGetRequest;
$req->setTid(123456);
$req->setFields("tid,oid,alipay_no,total_fee,post_fee");
$resp = $c->execute($req, $sessionKey);
6 结论(Conclusion)
电子商务的出现改变了人类从事商务活动的方式。对交易数据的获取对于研究网购过程中人们的消费行为和购买行为具有重要的意义。对于产品销售者来说通过对交易数据的研究可以分析出产品的市场供求状况,以备合理安排生产。而这些数据的获取需要通过开放平台提供的开放API实现。本文以淘宝的开放API实现方法为例,介绍了基于淘宝开放API的交易数据的获取方法,为相关产品软件的设计和开发提供了借鉴。
参考文献(References)
[1] 韩旭芳.基于开放API的电子商务个性化服务推荐研究[D].石家庄铁道大学, 2011:9-15.
[2] 田倩.购物分享社区中信任模型的建立研究[J].现代商贸工业,2012,16:75-76.
[3] 倪建军,徐立中,王建颖.基于 CAS 理论的多Agent建模仿真方法研究进展[J].计算机工程与科学,2006,28(5):83-86;97.
作者简介:
许 镭(1979-),男,硕士,助教.研究领域:计算机应用.
许 华(1976-),女,本科,助理实验师.研究领域:水文,水利.endprint
$c = new TopClient;
$c->appkey = appkey;
$c->secretKey = secret;
$req = new ItemGetRequest;
$req->setFields("num_iid,title,price,desc_modules,sell_point");
$req->setNumIid(3838293428);
$req->setTrackIid("123_track_456");
$resp = $c->execute($req, $sessionKey);
5.3 提取交易数据
采取以下步骤获取产品卖方的记录值,并存入taobao_User表中
(1)获取卖方记录中的卖方ID号。
(2)通过调用店铺API中的taobao.shop.get获取卖方出售的商品的每笔交易的详细交易记录和反馈评价记录数据,并将最终结果存入到数据库的交易表taobao_Transaction中。Php格式调用方法如下所示。
$c = new TopClient;
$c->appkey = appkey;
$c->secretKey = secret;
$req = new ShopGetRequest;
$req->setFields("sid,cid,title,nick,desc,bulletin,pic_path,created,modified");
$req->setNick("卖家昵称");
$resp = $c->execute($req);
5.4 卖方基本信息的获取
对于taobao_User表中卖方基本信息的获取可以采取以下步骤:
(1)通过淘宝API获取卖方记录中的卖方ID号。
(2)通过使用淘宝评价API中的taobao.traderates.get,获取卖方的店铺网络地址、售卖商品地址、商品反馈评分、店铺信用星级、商品好评率等卖家信息,信息获取后将其存入卖方表taobao_User中。调用方法如前述调用方法。
5.5 提取买方 ID 及基本信息
对于交易表Taobao_Transaction中的详细的交易记录信息,采取以下步骤获取:
(1)使用淘宝API获取交易记录中的产品买方的ID号,将ID号写入到taobao_User数据库表中。
(2)利用淘宝交易API 中的taobao.trade.amount.get,提取用户注册时间、用户反馈信息、用户信用星级、用户好评率等该产品买方的详细信息,并将获取的这些信息写入用户数据库表taobao_User中[3]。Php格式的调用方法如下。
$c = new TopClient;
$c->appkey = appkey;
$c->secretKey = secret;
$req = new TradeAmountGetRequest;
$req->setTid(123456);
$req->setFields("tid,oid,alipay_no,total_fee,post_fee");
$resp = $c->execute($req, $sessionKey);
6 结论(Conclusion)
电子商务的出现改变了人类从事商务活动的方式。对交易数据的获取对于研究网购过程中人们的消费行为和购买行为具有重要的意义。对于产品销售者来说通过对交易数据的研究可以分析出产品的市场供求状况,以备合理安排生产。而这些数据的获取需要通过开放平台提供的开放API实现。本文以淘宝的开放API实现方法为例,介绍了基于淘宝开放API的交易数据的获取方法,为相关产品软件的设计和开发提供了借鉴。
参考文献(References)
[1] 韩旭芳.基于开放API的电子商务个性化服务推荐研究[D].石家庄铁道大学, 2011:9-15.
[2] 田倩.购物分享社区中信任模型的建立研究[J].现代商贸工业,2012,16:75-76.
[3] 倪建军,徐立中,王建颖.基于 CAS 理论的多Agent建模仿真方法研究进展[J].计算机工程与科学,2006,28(5):83-86;97.
作者简介:
许 镭(1979-),男,硕士,助教.研究领域:计算机应用.
许 华(1976-),女,本科,助理实验师.研究领域:水文,水利.endprint
$c = new TopClient;
$c->appkey = appkey;
$c->secretKey = secret;
$req = new ItemGetRequest;
$req->setFields("num_iid,title,price,desc_modules,sell_point");
$req->setNumIid(3838293428);
$req->setTrackIid("123_track_456");
$resp = $c->execute($req, $sessionKey);
5.3 提取交易数据
采取以下步骤获取产品卖方的记录值,并存入taobao_User表中
(1)获取卖方记录中的卖方ID号。
(2)通过调用店铺API中的taobao.shop.get获取卖方出售的商品的每笔交易的详细交易记录和反馈评价记录数据,并将最终结果存入到数据库的交易表taobao_Transaction中。Php格式调用方法如下所示。
$c = new TopClient;
$c->appkey = appkey;
$c->secretKey = secret;
$req = new ShopGetRequest;
$req->setFields("sid,cid,title,nick,desc,bulletin,pic_path,created,modified");
$req->setNick("卖家昵称");
$resp = $c->execute($req);
5.4 卖方基本信息的获取
对于taobao_User表中卖方基本信息的获取可以采取以下步骤:
(1)通过淘宝API获取卖方记录中的卖方ID号。
(2)通过使用淘宝评价API中的taobao.traderates.get,获取卖方的店铺网络地址、售卖商品地址、商品反馈评分、店铺信用星级、商品好评率等卖家信息,信息获取后将其存入卖方表taobao_User中。调用方法如前述调用方法。
5.5 提取买方 ID 及基本信息
对于交易表Taobao_Transaction中的详细的交易记录信息,采取以下步骤获取:
(1)使用淘宝API获取交易记录中的产品买方的ID号,将ID号写入到taobao_User数据库表中。
(2)利用淘宝交易API 中的taobao.trade.amount.get,提取用户注册时间、用户反馈信息、用户信用星级、用户好评率等该产品买方的详细信息,并将获取的这些信息写入用户数据库表taobao_User中[3]。Php格式的调用方法如下。
$c = new TopClient;
$c->appkey = appkey;
$c->secretKey = secret;
$req = new TradeAmountGetRequest;
$req->setTid(123456);
$req->setFields("tid,oid,alipay_no,total_fee,post_fee");
$resp = $c->execute($req, $sessionKey);
6 结论(Conclusion)
电子商务的出现改变了人类从事商务活动的方式。对交易数据的获取对于研究网购过程中人们的消费行为和购买行为具有重要的意义。对于产品销售者来说通过对交易数据的研究可以分析出产品的市场供求状况,以备合理安排生产。而这些数据的获取需要通过开放平台提供的开放API实现。本文以淘宝的开放API实现方法为例,介绍了基于淘宝开放API的交易数据的获取方法,为相关产品软件的设计和开发提供了借鉴。
参考文献(References)
[1] 韩旭芳.基于开放API的电子商务个性化服务推荐研究[D].石家庄铁道大学, 2011:9-15.
[2] 田倩.购物分享社区中信任模型的建立研究[J].现代商贸工业,2012,16:75-76.
[3] 倪建军,徐立中,王建颖.基于 CAS 理论的多Agent建模仿真方法研究进展[J].计算机工程与科学,2006,28(5):83-86;97.
作者简介:
许 镭(1979-),男,硕士,助教.研究领域:计算机应用.
许 华(1976-),女,本科,助理实验师.研究领域:水文,水利.endprint