淘宝/天猫作为电商界的鼻祖,平台开放了很多接口,供商家及传统企业采集数据。那么TB/天猫的数据采集都要哪些方式呢?有哪些参数?
taobao API 接入说明
此API目前支持以下基本接口:
- item_get 获得淘宝商品详情
- item_get_pro 获得淘宝商品详情高级版
- item_review 获得淘宝商品评论
- item_fee 获得淘宝商品快递费用
- item_password 获得淘口令真实url
- item_list_updown 批量获得淘宝商品上下架时间
- seller_info 获得淘宝店铺详情
- item_search 按关键字搜索淘宝商品
- item_search_tmall 按关键字搜索天猫商品
- item_search_pro 高级关键字搜索淘宝商品
- item_search_img 按图搜索淘宝商品(拍立淘)
- item_search_shop 获得店铺的所有商品
- item_search_seller 搜索店铺列表
- item_search_guang 爱逛街
- item_search_suggest 获得搜索词推荐
- item_search_jupage 天天特价
- item_search_coupon 优惠券查询
- cat_get 获得淘宝分类详情
- item_cat_get 获得淘宝商品类目
- item_search_samestyle 搜索同款的商品
- item_search_similar 搜索相似的商品
- item_sku 获取sku详细信息
- item_recommend 获取推荐商品列表
- brand_cat 获取品牌分类列表
- brand_cat_top 获取分类推荐品牌列表
- brand_cat_list 得到指定分类的品牌列表
- brand_keyword_list 得到指定关键词的品牌列表
- brand_info 得到品牌相关信息
- brand_product_list 得到指定品牌的产品
- custom 自定义API操作
- buyer_cart_add 添加到购物车
- buyer_cart_remove 删除购物车商品
- buyer_cart_clear 清空购物车
- buyer_cart_list 获取购物车的商品列表
- buyer_cart_order 将购物车商品保存为订单
- buyer_order_list 获取购买到的商品订单列表
- buyer_order_detail 获取购买到的商品订单详情
- buyer_order_express 获取购买到的商品订单物流
- buyer_order_message 获取购买到的订单买家留言
- buyer_address_list 收货地址列表
- buyer_address_clear 清除收货地址
- buyer_address_remove 删除收货地址
- buyer_address_modify 修改收货地址
- buyer_address_add 添加收货地址
- buyer_info 买家信息
- buyer_token 买家token
- seller_order_list 获取卖出的商品订单列表
- seller_order_detail 获取卖出的商品订单详情
- seller_order_close 卖家关闭一笔交易
- seller_order_message 获取或修改卖出去的订单备注
- seller_auction_list 商品可上下架商品列表
- seller_auction 商品上下架
- seller_item_add 商品上传
- upload_img 上传图片到淘宝
- img2text 图片识别商品接口
- tbk_order_query 淘宝客订单查询
- item_list_weight 批量获取商品信息
- item_history_price 获取商品历史价格信息
- item_get_app 获得淘宝app商品详情原数据
-
URL -- 请求示例 url 默认请求参数已经URL编码处理 curl -i "https://api-gw.onebound.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1"
-
PHP // 请求示例 url 默认请求参数已经URL编码处理 // 本示例代码未加密secret参数明文传输,若要加密请参考:https://open.onebound.cn/help/demo/sdk/demo-sign.php $method = "GET"; $url = "https://api-gw.onebound.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1"; $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_ENCODING, "gzip"); var_dump(curl_exec($curl)); ?>
-
PHPsdk <?php //定义缓存目录和引入文件 define("DIR_RUNTIME","runtime/"); define("DIR_ERROR","runtime/"); define("SECACHE_SIZE","0"); //SDK下载地址 https://open.onebound.cn/help/demo/sdk/onebound-api-sdk.zip include ("ObApiClient.php"); $obapi = new otao\ObApiClient(); $obapi->api_url = "http://api-gw.onebound.cn/"; $obapi->api_urls = array("http://api-gw.onebound.cn/","http://api-1.onebound.cn/");//备用API服务器 $obapi->api_urls_on = true;//当网络错误时,是否启用备用API服务器 $obapi->api_key = "<您自己的apiKey>"; $obapi->api_secret = "<您自己的apiSecret>"; $obapi->api_version =""; $obapi->secache_path ="runtime/"; $obapi->secache_time ="86400"; $obapi->cache = true; $api_data = $obapi->exec( array( "api_type" =>"taobao", "api_name" =>"item_get", "api_params"=>array ( 'num_iid' => '652874751412', 'is_promotion' => '1', ) ) ); var_dump($api_data); ?>
JAVA
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; import java.nio.charset.Charset; import org.json.JSONException; import org.json.JSONObject; import java.io.PrintWriter; import java.net.URLConnection; public class Example { private static String readAll(Reader rd) throws IOException { StringBuilder sb = new StringBuilder(); int cp; while ((cp = rd.read()) != -1) { sb.append((char) cp); } return sb.toString(); } public static JSONObject postRequestFromUrl(String url, String body) throws IOException, JSONException { URL realUrl = new URL(url); URLConnection conn = realUrl.openConnection(); conn.setDoOutput(true); conn.setDoInput(true); PrintWriter out = new PrintWriter(conn.getOutputStream()); out.print(body); out.flush(); InputStream instream = conn.getInputStream(); try { BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8"))); String jsonText = readAll(rd); JSONObject json = new JSONObject(jsonText); return json; } finally { instream.close(); } } public static JSONObject getRequestFromUrl(String url) throws IOException, JSONException { URL realUrl = new URL(url); URLConnection conn = realUrl.openConnection(); InputStream instream = conn.getInputStream(); try { BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8"))); String jsonText = readAll(rd); JSONObject json = new JSONObject(jsonText); return json; } finally { instream.close(); } } public static void main(String[] args) throws IOException, JSONException { // 请求示例 url 默认请求参数已经URL编码处理 String url = "https://api-gw.onebound.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1"; JSONObject json = getRequestFromUrl(url); System.out.println(json.toString()); } }
//using System.Net.Security; //using System.Security.Cryptography.X509Certificates; private const String method = "GET"; static void Main(string[] args) { String bodys = ""; // 请求示例 url 默认请求参数已经做URL编码 String url = "https://api-gw.onebound.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1"; HttpWebRequest httpRequest = null; HttpWebResponse httpResponse = null; if (url.Contains("https://")) { ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url)); } else { httpRequest = (HttpWebRequest)WebRequest.Create(url); } httpRequest.Method = method; if (0 < bodys.Length) { byte[] data = Encoding.UTF8.GetBytes(bodys); using (Stream stream = httpRequest.GetRequestStream()) { stream.Write(data, 0, data.Length); } } try { httpResponse = (HttpWebResponse)httpRequest.GetResponse(); } catch (WebException ex) { httpResponse = (HttpWebResponse)ex.Response; } Console.WriteLine(httpResponse.StatusCode); Console.WriteLine(httpResponse.Method); Console.WriteLine(httpResponse.Headers); Stream st = httpResponse.GetResponseStream(); StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8")); Console.WriteLine(reader.ReadToEnd()); Console.WriteLine("\n"); } public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; }