許鐳+許華
摘 要:獲取開(kāi)放平臺(tái)的交易數(shù)據(jù)在基于API的開(kāi)發(fā)中是極為常見(jiàn)的應(yīng)用。本文詳細(xì)描述了基于淘寶開(kāi)放API 的交易數(shù)據(jù)提取方案的設(shè)計(jì)以及其提取流程,并且給出了交易數(shù)據(jù)庫(kù)的設(shè)計(jì),為基于淘寶的各種交易應(yīng)用產(chǎn)品的開(kāi)發(fā)與設(shè)計(jì)提供了借鑒。
關(guān)鍵詞:開(kāi)放API;電子商務(wù);第三方應(yīng)用
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
開(kāi)放平臺(tái)的交易數(shù)據(jù)對(duì)于研究和分析產(chǎn)品銷售形勢(shì)、市場(chǎng)需求以及安排下一步的生產(chǎn)銷售具有重要的意義。選擇第三方交易平臺(tái)作為商品銷售的渠道已經(jīng)成為產(chǎn)品生產(chǎn)者的首要選擇,所以利用第三方交易平臺(tái)提供的開(kāi)放API對(duì)交易數(shù)據(jù)的進(jìn)行分析就顯的極為重要。本文以淘寶為例子,介紹了商品交易數(shù)據(jù)提取的一般方案,以為相應(yīng)的產(chǎn)品開(kāi)放提供借鑒。
在提取交易數(shù)據(jù)時(shí)一般可以遵循注冊(cè)O(shè)pen API賬號(hào)及設(shè)計(jì)交易數(shù)據(jù)提取方案、設(shè)計(jì)數(shù)據(jù)庫(kù)、提取交易數(shù)據(jù)等等三個(gè)步驟進(jìn)行。
2 加入淘寶開(kāi)放平臺(tái)(Join taobao open platform)
為了能夠使用淘寶API提取淘寶網(wǎng)站上的交易數(shù)據(jù),首先,要在open.taobao.com網(wǎng)站上,申請(qǐng)使用淘寶的開(kāi)放平臺(tái);進(jìn)入開(kāi)發(fā)者中心,確定用taobao開(kāi)放API實(shí)現(xiàn)交易數(shù)據(jù)的在線提取的編程語(yǔ)言[1]。具體步驟為:
(1)在open.taobao.com網(wǎng)站上,填入開(kāi)發(fā)者的基本情況。
(2)創(chuàng)建應(yīng)用后即可生成App Key和App Secret。
(3)測(cè)試綁定賬號(hào),并確認(rèn)用戶賬號(hào)。
(4)使用淘寶開(kāi)放平臺(tái)提供的SDK接口和對(duì)象進(jìn)行程序開(kāi)發(fā)。
(5)使用API測(cè)試工具,測(cè)試接口是否能正常運(yùn)行,獲取測(cè)試的返回信息。
3 設(shè)計(jì)交易數(shù)據(jù)的提取方案(Scheme design of
extraction of transaction data)
交易數(shù)據(jù)的提取,主要目的是為了獲取某種或某類商品的交易信息,以掌握相關(guān)商品的市場(chǎng)信息。taobao網(wǎng)站上有上億的注冊(cè)用戶,每天發(fā)生大量的交易活動(dòng),即使是同一種商品其商品銷售的數(shù)據(jù)也是海量的。本文從通用的需求出發(fā),選取典型商品,提出數(shù)據(jù)提取的具體方案,建立了交易數(shù)據(jù)集。數(shù)據(jù)提取的步驟如下所示。
(1)在淘寶網(wǎng)站上出售的所有商品都有分類,我們選擇人們?nèi)粘J褂玫?、?guī)范化的、人群適宜限制較少的手機(jī)數(shù)碼類產(chǎn)品,并從其中挑選出15個(gè)品牌,在每個(gè)品牌中又挑選其中最受歡迎的型號(hào)各10中,進(jìn)行隨機(jī)組合,構(gòu)成產(chǎn)品數(shù)據(jù)集合[2]。
(2)為商品集合中的每個(gè)最受歡迎的商品,挑選10個(gè)賣方,組成商品賣家組合。
(3)查找商品賣家組合中的每個(gè)賣家近一年內(nèi)的所有交易記錄,構(gòu)成歷史交易記錄集合。
(4)查找商品賣家組合中的每個(gè)賣方的所有交易反饋信息,組成商品賣家信用評(píng)分集合。
(5)將所有涉及的歷史交易中的買方,組合成買方集合。
(6)對(duì)于買方集合中的每個(gè)買方,查找其所有反饋信息,并確定其中最近一年內(nèi)的反饋評(píng)分,構(gòu)成買方信用評(píng)分集合。
(7)最后通過(guò)查找買方集合中每個(gè)買方最近一年內(nèi)的反饋評(píng)分,組合成商品買方信用評(píng)分集合。
以上的方法即為交易數(shù)據(jù)集合的采集方式,包括產(chǎn)品集合、商品買方集合、商品賣方集合,以及歷史交易記錄集合等。
4 交易數(shù)據(jù)庫(kù)設(shè)計(jì)(The transaction database design)
淘寶開(kāi)放平臺(tái)可以返回JSON和XML格式數(shù)據(jù),獲取返回?cái)?shù)據(jù)后,為了對(duì)數(shù)據(jù)進(jìn)行有效的分析,可以將返回的數(shù)據(jù)建立數(shù)據(jù)庫(kù),并將數(shù)據(jù)存入到相應(yīng)的數(shù)據(jù)表中。為此,我們?cè)O(shè)計(jì)了用戶信息表、交易信息表和商品信息表三個(gè)數(shù)據(jù)庫(kù)表。
4.1 需求分析
通過(guò)對(duì)淘寶電子商務(wù)網(wǎng)站中的交易數(shù)據(jù)和用戶概要信息,以及商品信息的分析,設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)[2]。
(1)用戶信息表。淘寶是典型的C2C類網(wǎng)站,所以用戶在網(wǎng)站上既可以是買方也可以賣方,其數(shù)據(jù)項(xiàng)包括,用戶ID、差評(píng)和中評(píng)次數(shù)、注冊(cè)時(shí)間、信用度、信用評(píng)價(jià)分?jǐn)?shù)等。
(2)交易信息表,交易信息表主要包括交易過(guò)程中產(chǎn)生的諸如商品價(jià)格、用戶評(píng)價(jià)、用戶評(píng)價(jià)時(shí)間、商品ID號(hào)、交易ID號(hào)及評(píng)價(jià)分?jǐn)?shù)等。
(3)產(chǎn)品信息表,產(chǎn)品信息表主要包括產(chǎn)品ID號(hào)、產(chǎn)品圖片地址、產(chǎn)品類別ID號(hào)、產(chǎn)品類別名稱、產(chǎn)品名稱、產(chǎn)品出產(chǎn)地等。
4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)
基于上述對(duì)數(shù)據(jù)結(jié)構(gòu)的描述,規(guī)劃出的實(shí)體間關(guān)系圖,如圖1所示。
5 交易數(shù)據(jù)提取流程(Transaction data extraction rocess)
由設(shè)計(jì)好的交易數(shù)據(jù)選擇方案,首先提取產(chǎn)品、交易及買賣雙方的各類交易數(shù)據(jù),提取數(shù)據(jù)的具體步驟及相關(guān)API使用方法如下所示。
5.1 提取商品數(shù)據(jù)
(1)利用商品API中的taobao.product.get,獲取商品的類別及子類別編號(hào)。
(2)利用評(píng)價(jià)API中的taobao.traderates.get函數(shù),獲取產(chǎn)品的詳細(xì)信息,并將其放入相應(yīng)的XML格式文檔中;php格式調(diào)用如下所示。
(3)通過(guò)編程語(yǔ)言分析XML格式的暢銷商品的詳細(xì)信息文檔,抓取具體的商品信息,并將信息存儲(chǔ)到數(shù)據(jù)庫(kù)里的產(chǎn)品表taobao_item中。
5.2 提取賣方 ID
對(duì)于產(chǎn)品表taobao_Item中的每個(gè)商品記錄,采取以下步驟:
(1)分析并讀取產(chǎn)品記錄中的產(chǎn)品ID號(hào)。
(2)使用產(chǎn)品API中的taobao.item.get,填入商品ID作為該API的輸入?yún)?shù)值,以獲取出售該商品的賣方ID,并將獲得的值存入用戶表taobao_user中。其php格式調(diào)用方法如下。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 提取交易數(shù)據(jù)
采取以下步驟獲取產(chǎn)品賣方的記錄值,并存入taobao_User表中
(1)獲取賣方記錄中的賣方ID號(hào)。
(2)通過(guò)調(diào)用店鋪API中的taobao.shop.get獲取賣方出售的商品的每筆交易的詳細(xì)交易記錄和反饋評(píng)價(jià)記錄數(shù)據(jù),并將最終結(jié)果存入到數(shù)據(jù)庫(kù)的交易表taobao_Transaction中。Php格式調(diào)用方法如下所示。
$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 賣方基本信息的獲取
對(duì)于taobao_User表中賣方基本信息的獲取可以采取以下步驟:
(1)通過(guò)淘寶API獲取賣方記錄中的賣方ID號(hào)。
(2)通過(guò)使用淘寶評(píng)價(jià)API中的taobao.traderates.get,獲取賣方的店鋪網(wǎng)絡(luò)地址、售賣商品地址、商品反饋評(píng)分、店鋪信用星級(jí)、商品好評(píng)率等賣家信息,信息獲取后將其存入賣方表taobao_User中。調(diào)用方法如前述調(diào)用方法。
5.5 提取買方 ID 及基本信息
對(duì)于交易表Taobao_Transaction中的詳細(xì)的交易記錄信息,采取以下步驟獲?。?/p>
(1)使用淘寶API獲取交易記錄中的產(chǎn)品買方的ID號(hào),將ID號(hào)寫(xiě)入到taobao_User數(shù)據(jù)庫(kù)表中。
(2)利用淘寶交易API 中的taobao.trade.amount.get,提取用戶注冊(cè)時(shí)間、用戶反饋信息、用戶信用星級(jí)、用戶好評(píng)率等該產(chǎn)品買方的詳細(xì)信息,并將獲取的這些信息寫(xiě)入用戶數(shù)據(jù)庫(kù)表taobao_User中[3]。Php格式的調(diào)用方法如下。
$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 結(jié)論(Conclusion)
電子商務(wù)的出現(xiàn)改變了人類從事商務(wù)活動(dòng)的方式。對(duì)交易數(shù)據(jù)的獲取對(duì)于研究網(wǎng)購(gòu)過(guò)程中人們的消費(fèi)行為和購(gòu)買行為具有重要的意義。對(duì)于產(chǎn)品銷售者來(lái)說(shuō)通過(guò)對(duì)交易數(shù)據(jù)的研究可以分析出產(chǎn)品的市場(chǎng)供求狀況,以備合理安排生產(chǎn)。而這些數(shù)據(jù)的獲取需要通過(guò)開(kāi)放平臺(tái)提供的開(kāi)放API實(shí)現(xiàn)。本文以淘寶的開(kāi)放API實(shí)現(xiàn)方法為例,介紹了基于淘寶開(kāi)放API的交易數(shù)據(jù)的獲取方法,為相關(guān)產(chǎn)品軟件的設(shè)計(jì)和開(kāi)發(fā)提供了借鑒。
參考文獻(xiàn)(References)
[1] 韓旭芳.基于開(kāi)放API的電子商務(wù)個(gè)性化服務(wù)推薦研究[D].石家莊鐵道大學(xué), 2011:9-15.
[2] 田倩.購(gòu)物分享社區(qū)中信任模型的建立研究[J].現(xiàn)代商貿(mào)工業(yè),2012,16:75-76.
[3] 倪建軍,徐立中,王建穎.基于 CAS 理論的多Agent建模仿真方法研究進(jìn)展[J].計(jì)算機(jī)工程與科學(xué),2006,28(5):83-86;97.
作者簡(jiǎn)介:
許 鐳(1979-),男,碩士,助教.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用.
許 華(1976-),女,本科,助理實(shí)驗(yàn)師.研究領(lǐng)域:水文,水利.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 提取交易數(shù)據(jù)
采取以下步驟獲取產(chǎn)品賣方的記錄值,并存入taobao_User表中
(1)獲取賣方記錄中的賣方ID號(hào)。
(2)通過(guò)調(diào)用店鋪API中的taobao.shop.get獲取賣方出售的商品的每筆交易的詳細(xì)交易記錄和反饋評(píng)價(jià)記錄數(shù)據(jù),并將最終結(jié)果存入到數(shù)據(jù)庫(kù)的交易表taobao_Transaction中。Php格式調(diào)用方法如下所示。
$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 賣方基本信息的獲取
對(duì)于taobao_User表中賣方基本信息的獲取可以采取以下步驟:
(1)通過(guò)淘寶API獲取賣方記錄中的賣方ID號(hào)。
(2)通過(guò)使用淘寶評(píng)價(jià)API中的taobao.traderates.get,獲取賣方的店鋪網(wǎng)絡(luò)地址、售賣商品地址、商品反饋評(píng)分、店鋪信用星級(jí)、商品好評(píng)率等賣家信息,信息獲取后將其存入賣方表taobao_User中。調(diào)用方法如前述調(diào)用方法。
5.5 提取買方 ID 及基本信息
對(duì)于交易表Taobao_Transaction中的詳細(xì)的交易記錄信息,采取以下步驟獲取:
(1)使用淘寶API獲取交易記錄中的產(chǎn)品買方的ID號(hào),將ID號(hào)寫(xiě)入到taobao_User數(shù)據(jù)庫(kù)表中。
(2)利用淘寶交易API 中的taobao.trade.amount.get,提取用戶注冊(cè)時(shí)間、用戶反饋信息、用戶信用星級(jí)、用戶好評(píng)率等該產(chǎn)品買方的詳細(xì)信息,并將獲取的這些信息寫(xiě)入用戶數(shù)據(jù)庫(kù)表taobao_User中[3]。Php格式的調(diào)用方法如下。
$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 結(jié)論(Conclusion)
電子商務(wù)的出現(xiàn)改變了人類從事商務(wù)活動(dòng)的方式。對(duì)交易數(shù)據(jù)的獲取對(duì)于研究網(wǎng)購(gòu)過(guò)程中人們的消費(fèi)行為和購(gòu)買行為具有重要的意義。對(duì)于產(chǎn)品銷售者來(lái)說(shuō)通過(guò)對(duì)交易數(shù)據(jù)的研究可以分析出產(chǎn)品的市場(chǎng)供求狀況,以備合理安排生產(chǎn)。而這些數(shù)據(jù)的獲取需要通過(guò)開(kāi)放平臺(tái)提供的開(kāi)放API實(shí)現(xiàn)。本文以淘寶的開(kāi)放API實(shí)現(xiàn)方法為例,介紹了基于淘寶開(kāi)放API的交易數(shù)據(jù)的獲取方法,為相關(guān)產(chǎn)品軟件的設(shè)計(jì)和開(kāi)發(fā)提供了借鑒。
參考文獻(xiàn)(References)
[1] 韓旭芳.基于開(kāi)放API的電子商務(wù)個(gè)性化服務(wù)推薦研究[D].石家莊鐵道大學(xué), 2011:9-15.
[2] 田倩.購(gòu)物分享社區(qū)中信任模型的建立研究[J].現(xiàn)代商貿(mào)工業(yè),2012,16:75-76.
[3] 倪建軍,徐立中,王建穎.基于 CAS 理論的多Agent建模仿真方法研究進(jìn)展[J].計(jì)算機(jī)工程與科學(xué),2006,28(5):83-86;97.
作者簡(jiǎn)介:
許 鐳(1979-),男,碩士,助教.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用.
許 華(1976-),女,本科,助理實(shí)驗(yàn)師.研究領(lǐng)域:水文,水利.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 提取交易數(shù)據(jù)
采取以下步驟獲取產(chǎn)品賣方的記錄值,并存入taobao_User表中
(1)獲取賣方記錄中的賣方ID號(hào)。
(2)通過(guò)調(diào)用店鋪API中的taobao.shop.get獲取賣方出售的商品的每筆交易的詳細(xì)交易記錄和反饋評(píng)價(jià)記錄數(shù)據(jù),并將最終結(jié)果存入到數(shù)據(jù)庫(kù)的交易表taobao_Transaction中。Php格式調(diào)用方法如下所示。
$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 賣方基本信息的獲取
對(duì)于taobao_User表中賣方基本信息的獲取可以采取以下步驟:
(1)通過(guò)淘寶API獲取賣方記錄中的賣方ID號(hào)。
(2)通過(guò)使用淘寶評(píng)價(jià)API中的taobao.traderates.get,獲取賣方的店鋪網(wǎng)絡(luò)地址、售賣商品地址、商品反饋評(píng)分、店鋪信用星級(jí)、商品好評(píng)率等賣家信息,信息獲取后將其存入賣方表taobao_User中。調(diào)用方法如前述調(diào)用方法。
5.5 提取買方 ID 及基本信息
對(duì)于交易表Taobao_Transaction中的詳細(xì)的交易記錄信息,采取以下步驟獲取:
(1)使用淘寶API獲取交易記錄中的產(chǎn)品買方的ID號(hào),將ID號(hào)寫(xiě)入到taobao_User數(shù)據(jù)庫(kù)表中。
(2)利用淘寶交易API 中的taobao.trade.amount.get,提取用戶注冊(cè)時(shí)間、用戶反饋信息、用戶信用星級(jí)、用戶好評(píng)率等該產(chǎn)品買方的詳細(xì)信息,并將獲取的這些信息寫(xiě)入用戶數(shù)據(jù)庫(kù)表taobao_User中[3]。Php格式的調(diào)用方法如下。
$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 結(jié)論(Conclusion)
電子商務(wù)的出現(xiàn)改變了人類從事商務(wù)活動(dòng)的方式。對(duì)交易數(shù)據(jù)的獲取對(duì)于研究網(wǎng)購(gòu)過(guò)程中人們的消費(fèi)行為和購(gòu)買行為具有重要的意義。對(duì)于產(chǎn)品銷售者來(lái)說(shuō)通過(guò)對(duì)交易數(shù)據(jù)的研究可以分析出產(chǎn)品的市場(chǎng)供求狀況,以備合理安排生產(chǎn)。而這些數(shù)據(jù)的獲取需要通過(guò)開(kāi)放平臺(tái)提供的開(kāi)放API實(shí)現(xiàn)。本文以淘寶的開(kāi)放API實(shí)現(xiàn)方法為例,介紹了基于淘寶開(kāi)放API的交易數(shù)據(jù)的獲取方法,為相關(guān)產(chǎn)品軟件的設(shè)計(jì)和開(kāi)發(fā)提供了借鑒。
參考文獻(xiàn)(References)
[1] 韓旭芳.基于開(kāi)放API的電子商務(wù)個(gè)性化服務(wù)推薦研究[D].石家莊鐵道大學(xué), 2011:9-15.
[2] 田倩.購(gòu)物分享社區(qū)中信任模型的建立研究[J].現(xiàn)代商貿(mào)工業(yè),2012,16:75-76.
[3] 倪建軍,徐立中,王建穎.基于 CAS 理論的多Agent建模仿真方法研究進(jìn)展[J].計(jì)算機(jī)工程與科學(xué),2006,28(5):83-86;97.
作者簡(jiǎn)介:
許 鐳(1979-),男,碩士,助教.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用.
許 華(1976-),女,本科,助理實(shí)驗(yàn)師.研究領(lǐng)域:水文,水利.endprint