版权声明:本文为Boyd Wang原创文章,转载时请注明作者及本文链接
本文链接:http://www.boydwang.com/2014/03/using-taobao-api-batch-fetch-products/

写完才搞明白,淘宝API里有两个概念,产品(Product)和商品(item),产品就像一个模板,可以用它来发布商品,比如现在有一个产品叫打火机,然后卖家A利用这个产品发布了一个商品A,定价是15块,卖家B也利用这个产品发布了一个商品B,定价是20块,那商品A和商品B就是两个不同的商品,虽然它们都卖的是产品打火机。。。唉,淘宝太坑了,有用的API就是不给你。

主要用到的淘宝API有3个:

1.taobao.itemcats.get
http://api.taobao.com/apidoc/api.htm?spm=0.0.0.0.RVqiAT&path=cid:3-apiId:122

该API用于获得所有的产品分类,我们可以利用这个API获取所有分类的ID(CategoryId)

2.taobao.products.search
http://api.taobao.com/apidoc/api.htm?path=cid:4-apiId:5

该API是一个搜索API,根据关键字等信息搜索产品,我们可以用分类Id(CategoryId)来进行搜索,达到查找该分类下产品的目的。

3.taobao.product.get
http://api.taobao.com/apidoc/api.htm?spm=0.0.0.0.PtotF7&path=cid:4-apiId:4

该API用于获取产品的具体信息

经过API调用发现,淘宝的产品类目有3级,结构如下:
taobao

下面来说说实现:
由于淘宝推出了SDK,所以这里展示的是.net调用SDK的代码,使用的是MVC 3.0框架,这里只展示关键的Controller代码。

1.获取产品分类,可以通过反复调用该方法遍历3层分类目录,注意其中有一个属性叫做is_parent,该属性表明是否在该分类下还有子分类,若有则为true

2.批量获取产品,根据上一步取到的CategoryID,进行搜索,然后取得产品列表,包含了产品的大致信息,包括名称,描述,图片,价格等,注意其中有一个PageSize属性,该属性表明每次取多少个商品,最大值为100。

3.获取具体产品信息,产品属性列表请参考:
http://api.taobao.com/apidoc/dataStruct.htm?path=cid:4-dataStructId:6-apiId:4-invokePath:product



打赏
Categories: 前端开发

Boyd Wang

想给自己贴上各种NB的头衔,NB程序员,NB自由职业者,最后发现自己其实是个Newbie,没办法,慢慢来吧

6 Comments

紫枫闲人 · 02/11/2015 at 22:14

请问,怎么通过商品ID获取产品的名称?

紫枫闲人 · 02/11/2015 at 22:15

不是API获取,能用抓取网页的方式获得吗?

紫枫闲人 · 02/11/2015 at 22:15

涉及的两个API都是收费的

    Boyd Wang · 02/12/2015 at 23:10

    这个是1年前写的了。。。现在估计早就改了吧。。。

紫枫闲人 · 02/15/2015 at 23:24

我已经搞定了,可以在商品页得到类目ID,根据类目ID可以抓取到类目名称,这个也勉强能用。

Leave a Reply

Your email address will not be published. Required fields are marked *

无觅相关文章插件,快速提升流量