在电商系统中,商品详情数据通常通过API接口提供。以下是一个从入门到实战的Python请求示例,展示如何获取电商商品详情数据。
入门篇:理解API接口
首先,你需要了解API(应用程序接口)的基本概念。API允许不同的软件应用程序相互通信,以获取或发送数据。在电商系统中,API可以用于获取商品信息、用户信息、订单信息等。
实战篇:Python请求示例
假设我们有一个电商API,其URL结构如下:
-- 请求示例 url 默认请求参数已经URL编码处理
curl -i "https://api-gw.onebound.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1"
- 发送GET请求获取商品详情
下面是一个简单的Python脚本,演示如何发送GET请求获取指定商品ID的商品详情:
1.请求方式:HTTP POST GET (复制薇:Anzexi58 获取 API SDK文件)
2.请求示例 (点击获取测试key和secret)
响应示例
{
"item": {
"num_iid": "520813250866",
"title": "三刃木折叠刀过安检创意迷你钥匙扣钥匙刀军刀随身多功能小刀包邮",
"desc_short": "",
"price": 25.8,
"total_price": 0,
"suggestive_price": 0,
"orginal_price": "25.80",
"nick": "欢乐购客栈",
"num": "832",
"min_num": 0,
"detail_url": "http://item.taobao.com/item.htm?id=520813250866",
"pic_url": "//img.alicdn.com/imgextra/i4/2596264565/TB2p30elFXXXXXQXpXXXXXXXXXX_!!2596264565.jpg",
"brand": "三刃木",
"brandId": "4036703",
"rootCatId": "50013886",
"cid": "50014822",
"favcount": "4824",
"fanscount": "1469",
"crumbs": [],
"created_time": "",
"modified_time": "",
"delist_time": "",
"desc": "<p style=\"text-align:center;\"><span style=\"color:#ff0000;\"><span style=\"font-size:24.0px;\"><strong>小店所有产品都支持刻字,如需刻字,拍之前联系客服即可。</strong></span></span></p> <p style=\"text-align:center;\"><span style=\"font-size:18.0px;\"><strong>炎炎夏日来临,一把随身携带便携式的折叠小刀,<span style=\"color:#ff0000;\">带开瓶器功能</span>,喝酒不用愁。(钥匙刀不带开瓶器功能)</strong></span></p> <p style=\"text-align:center;\"><strong style=\"color:#000000;line-height:1.5;\"><span style=\"font-size:18.0px;\"><span style=\"line-height:18.0px;\">可以当吊牌项链装饰,也可当钥匙扣挂饰, 水果刀 开瓶器 户外防身.</span></span></strong></p> <p style=\"text-align:center;\"><strong style=\"line-height:1.5;\"><span style=\"font-size:24.0px;\">部分客户跟我们反映链子质量还不够好,因此小店已重新订购一批质量更好的链子赠送,<span style=\"color:#ff0000;\">加量不加价</span>,只为让你买的更舒心,戴的更放心。</span></strong></p> <p style=\"text-align:center;\"><span style=\"font-size:36.0px;\"><strong>购买就送<span style=\"color:#ff0000;\">工具刀卡和链子</span>一条</strong></span></p> <p style=\"text-align:center;\"><span style=\"font-size:36.0px;\"><strong><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB2Sci2jXXXXXXFXpXXXXXXXXXX_!!2596264565.png\" size=\"611x442\"> </strong></span></p> <p style=\"text-align:center;\"><span style=\"font-size:18.0px;\"><strong>璀璨钻石套餐包含【SK016D钥匙扣+GJ019C折叠刀+GJ017D工具卡】</strong></span><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB2wWohmXXXXXX8XXXXXXXXXXXX_!!2596264565.jpg\" size=\"750x600\" /></p> <p style=\"text-align:center;\"><span style=\"font-size:18.0px;\"><strong>超凡大师套餐包括【304不锈钢钥匙扣+GJ019C折叠刀+GJ017D工具卡】</strong></span><a href=\"//item.taobao.com/item.htm?id=520798805877\" target=\"_blank\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i4/2596264565/TB2_uiXnFXXXXXBXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"float:none;margin:0.0px;\" /></a></p> <p style=\"text-align:center;\"> </p> <p style=\"text-align:center;\"><span style=\"font-size:18.0px;\"><strong>最强王者套餐包括【钛钢钥匙扣+GJ019C折叠刀+GJ017D工具卡】<a href=\"//item.taobao.com/item.htm?id=520801586805\" target=\"_blank\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i4/2596264565/TB2Gm9xnFXXXXbmXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"float:none;margin:0.0px;\" /></a> </strong></span></p> <p style=\"text-align:center;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB28Ox4b77OyuJjSsplXXXqdpXa_!!2596264565.jpg\" size=\"749x553\"> <img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i1/2596264565/TB2.mTddVXXXXbeXpXXXXXXXXXX_!!2596264565.jpg\" style=\"line-height:1.5;\" size=\"750x653\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB21Ro.jl0lpuFjSszdXXcdxFXa_!!2596264565.jpg\" size=\"750x653\"> <img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i4/2596264565/TB2q9CelVXXXXcUXXXXXXXXXXXX_!!2596264565.jpg\" size=\"750x340\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB21EX9lVXXXXaXXpXXXXXXXXXX_!!2596264565.jpg\" size=\"750x416\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB2udCylVXXXXXgXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i1/2596264565/TB2EARxjB8lpuFjSspaXXXJKpXa_!!2596264565.jpg\" size=\"750x515\"> <img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB2ssuwlVXXXXafXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i2/2596264565/TB2nAHqgyC9MuFjSZFoXXbUzFXa_!!2596264565.jpg\" size=\"750x606\"> <img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB2ahCelVXXXXc_XXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB2w1JnjwRkpuFjy1zeXXc.6FXa_!!2596264565.jpg\" size=\"750x469\"> <img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB2C902lVXXXXbnXpXXXXXXXXXX_!!2596264565.jpg_q90.jpg\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i1/2596264565/TB2sGR3lVXXXXblXpXXXXXXXXXX_!!2596264565.jpg_q90.jpg\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i1/2596264565/TB2ZBGxlVXXXXXMXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i1/2596264565/TB2MjWklVXXXXcaXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i2/2596264565/TB2UgV3lVXXXXbdXpXXXXXXXXXX_!!2596264565.jpg_q90.jpg\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i2/2596264565/TB2ip5XlVXXXXX2XpXXXXXXXXXX_!!2596264565.jpg_q90.jpg\"> <img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i2/2596264565/TB2sMTBdVXXXXXlXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB2d3HfdVXXXXahXpXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i4/2596264565/TB2AVbBdVXXXXXkXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i2/2596264565/TB2nf_wdVXXXXaMXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i4/2596264565/TB2dLYddVXXXXbtXpXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i2/2596264565/TB2H1_adVXXXXbWXpXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i2/2596264565/TB2eBzsdVXXXXbuXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i4/2596264565/TB2dOTndVXXXXcCXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i2/2596264565/TB2fK2tdVXXXXbkXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i2/2596264565/TB29zjedVXXXXaFXpXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\"><img align=\"absmiddle\" src=\"//img.alicdn.com/imgextra/i3/2596264565/TB2i7rmdVXXXXcTXXXXXXXXXXXX_!!2596264565.jpg_q90.jpg\" style=\"line-height:1.5;\" /></p>",
"item_imgs": [
{
"url": "//img.alicdn.com/imgextra/i4/2596264565/TB2p30elFXXXXXQXpXXXXXXXXXX_!!2596264565.jpg"
},
{
"url": "//img.alicdn.com/imgextra/i2/2596264565/TB2onxRlVXXXXcDXpXXXXXXXXXX_!!2596264565.jpg"
},
{
"url": "//img.alicdn.com/imgextra/i1/2596264565/TB2a.x.lVXXXXXPXpXXXXXXXXXX_!!2596264565.jpg"
},
{
"url": "//img.alicdn.com/imgextra/i2/2596264565/TB2iWE6bKZkyKJjSszbXXblwFXa_!!2596264565.jpg"
},
{
"url": "//img.alicdn.com/imgextra/i4/2596264565/TB2j2cTXib_F1JjSZFzXXc6KXXa_!!2596264565.jpg"
}
],
"item_weight": "0",
"item_size": "",
"location": "广东深圳",
"post_fee": "",
"express_fee": "0.00",
"ems_fee": "",
"shipping_to": "广东广州白云区",
"has_discount": "false",
"video": [],
"is_virtual": "",
"sample_id": "",
"is_promotion": "false",
"props_name": "1627207:1347647754:颜色分类:长方形带开瓶器+送工具刀卡+链子;1627207:1347647753:颜色分类:椭圆形带开瓶器+送工具刀卡+链子;1627207:1195392087:颜色分类:GJ018X钥匙刀+送工具刀卡+链子;1627207:1331112595:颜色分类:超凡大师套餐【送工具卡+链子】;1627207:1331112594:颜色分类:最强王者套餐【送工具卡+链子】;1627207:1331264247:颜色分类:璀璨钻石套餐【送工具卡+链子】",
"prop_imgs": {
"prop_img": [
{
"properties": "1627207:1347647754",
"url": "//img.alicdn.com/imgextra/i3/2596264565/TB2.XeblVXXXXXkXpXXXXXXXXXX_!!2596264565.jpg"
},
{
"properties": "1627207:1347647753",
"url": "//img.alicdn.com/imgextra/i4/2596264565/TB2dTrjdVXXXXXBXpXXXXXXXXXX_!!2596264565.jpg"
},
{
"properties": "1627207:1195392087",
"url": "//img.alicdn.com/imgextra/i2/2596264565/TB2j22kdVXXXXXdXpXXXXXXXXXX_!!2596264565.jpg"
},
{
"properties": "1627207:1331112595",
"url": "//img.alicdn.com/imgextra/i4/2596264565/TB2_uiXnFXXXXXBXXXXXXXXXXXX_!!2596264565.jpg"
},
{
"properties": "1627207:1331112594",
"url": "//img.alicdn.com/imgextra/i4/2596264565/TB2Gm9xnFXXXXbmXXXXXXXXXXXX_!!2596264565.jpg"
},
{
"properties": "1627207:1331264247",
"url": "//img.alicdn.com/imgextra/i3/2596264565/TB2wWohmXXXXXX8XXXXXXXXXXXX_!!2596264565.jpg"
}
]
},
"property_alias": "1627207:1347647754:长方形带开瓶器+送工具刀卡+链子;1627207:1347647753:椭圆形带开瓶器+送工具刀卡+链子;1627207:1195392087:GJ018X钥匙刀+送工具刀卡+链子;1627207:1331112595:超凡大师套餐【送工具卡+链子】;1627207:1331112594:最强王者套餐【送工具卡+链子】;1627207:1331264247:璀璨钻石套餐【送工具卡+链子】",
"props": [
{
"name": "品牌",
"value": "三刃木"
},
{
"name": "产地",
"value": "中国"
},
{
"name": "颜色分类",
"value": "长方形带开瓶器+送工具刀卡+链子,椭圆形带开瓶器+送工具刀卡+链子,GJ018X钥匙刀+送工具刀卡+链子,超凡大师套餐【送工具卡+链子】,最强王者套餐【送工具卡+链子】,璀璨钻石套餐【送工具卡+链子】"
},
{
"name": "吊牌价",
"value": "46"
},
{
"name": "功能数量",
"value": "5个及以下"
},
{
"name": "货号",
"value": "GJ019C"
},
{
"name": "附加功能",
"value": "开瓶器,刀,螺丝刀,钥匙圈,其他"
}
],
"total_sold": "1",
"skus": {
"sku": [
{
"price": "39",
"orginal_price": "39.00",
"properties": "1627207:1347647754",
"properties_name": "1627207:1347647754:颜色分类:长方形带开瓶器+送工具刀卡+链子",
"quantity": "104",
"sku_id": "3166598625985"
},
{
"price": "39",
"orginal_price": "39.00",
"properties": "1627207:1347647753",
"properties_name": "1627207:1347647753:颜色分类:椭圆形带开瓶器+送工具刀卡+链子",
"quantity": "370",
"sku_id": "3166598625984"
},
{
"price": "25.8",
"orginal_price": "25.80",
"properties": "1627207:1195392087",
"properties_name": "1627207:1195392087:颜色分类:GJ018X钥匙刀+送工具刀卡+链子",
"quantity": "34",
"sku_id": "3144644292458"
},
{
"price": "73.8",
"orginal_price": "73.80",
"properties": "1627207:1331112595",
"properties_name": "1627207:1331112595:颜色分类:超凡大师套餐【送工具卡+链子】",
"quantity": "157",
"sku_id": "3161300228970"
},
{
"price": "91.8",
"orginal_price": "91.80",
"properties": "1627207:1331112594",
"properties_name": "1627207:1331112594:颜色分类:最强王者套餐【送工具卡+链子】",
"quantity": "0",
"sku_id": "3161300228969"
},
{
"price": "63.8",
"orginal_price": "63.80",
"properties": "1627207:1331264247",
"properties_name": "1627207:1331264247:颜色分类:璀璨钻石套餐【送工具卡+链子】",
"quantity": "167",
"sku_id": "3161107666655"
}
]
},
"seller_id": "2596264565",
"sales": "1",
"shop_id": "127203758",
"props_list": {
"1627207:1347647754": "颜色分类:长方形带开瓶器+送工具刀卡+链子",
"1627207:1347647753": "颜色分类:椭圆形带开瓶器+送工具刀卡+链子",
"1627207:1195392087": "颜色分类:GJ018X钥匙刀+送工具刀卡+链子",
"1627207:1331112595": "颜色分类:超凡大师套餐【送工具卡+链子】",
"1627207:1331112594": "颜色分类:最强王者套餐【送工具卡+链子】",
"1627207:1331264247": "颜色分类:璀璨钻石套餐【送工具卡+链子】"
},
"seller_info": {
"title": "欢乐购客栈",
"shop_name": "欢乐购客栈",
"sid": "127203758",
"zhuy": "//shop127203758.taobao.com",
"level": "12",
"shop_type": "C",
"user_num_id": "2596264565",
"nick": "欢乐购客栈",
"cid": null,
"delivery_score": "4.8 ",
"item_score": "4.8 ",
"score_p": "4.8 "
},
"tmall": "false",
"error": "",
"warning": "",
"url_log": [],
"stuff_status": "",
"shopinfo": {
"shop_name": "欢乐购客栈",
"shop_id": "127203758"
},
"data_from": "mtop",
"method": "item_mtop:item_get",
"promo_type": null,
"props_img": {
"1627207:1347647754": "//img.alicdn.com/imgextra/i3/2596264565/TB2.XeblVXXXXXkXpXXXXXXXXXX_!!2596264565.jpg",
"1627207:1347647753": "//img.alicdn.com/imgextra/i4/2596264565/TB2dTrjdVXXXXXBXpXXXXXXXXXX_!!2596264565.jpg",
"1627207:1195392087": "//img.alicdn.com/imgextra/i2/2596264565/TB2j22kdVXXXXXdXpXXXXXXXXXX_!!2596264565.jpg",
"1627207:1331112595": "//img.alicdn.com/imgextra/i4/2596264565/TB2_uiXnFXXXXXBXXXXXXXXXXXX_!!2596264565.jpg",
"1627207:1331112594": "//img.alicdn.com/imgextra/i4/2596264565/TB2Gm9xnFXXXXbmXXXXXXXXXXXX_!!2596264565.jpg",
"1627207:1331264247": "//img.alicdn.com/imgextra/i3/2596264565/TB2wWohmXXXXXX8XXXXXXXXXXXX_!!2596264565.jpg"
},
"rate_grade": "",
"shop_item": [],
"relate_items": []
},
3. 处理错误和异常
{
"error": "item-not-found",
"reason": "商品没找到",
"error_code": "2000",
"success": 0,
"cache": 0,
"api_info": "today:0 max:10000",
"execution_time": 0.081,
"server_time": "Beijing/2020-06-10 23:44:00",
"call_args": [],
"api_type": "taobao",
"request_id": "15ee0ffc041242"}
4. 发送其他类型的请求(如POST、PUT等)
除了GET请求外,API还可能支持其他类型的HTTP请求,如POST(用于创建新资源)、PUT(用于更新资源)等。你可以使用requests
库发送这些请求,方法类似于发送GET请求。只需将requests.get()
替换为相应的函数,如requests.post()
或requests.put()
,并传递相应的参数即可。
进阶篇:优化和扩展
- 使用API密钥进行身份验证:许多API要求使用API密钥进行身份验证。你可以在请求头中包含API密钥,以确保只有授权的应用程序可以访问API。
- 分页和限制:如果API支持分页和结果限制,你可以在请求中添加相应的参数来获取所需的数据量。
- 错误处理和日志记录 :在生产环境中,良好的错误处理和日志记录机制至关重要。你可以使用Python的日志记录库(如
logging
)来记录请求和响应的详细信息,以便在出现问题时进行调试和排查。 - 异步请求和并发 :如果需要同时获取多个商品详情或处理大量数据,你可以考虑使用异步请求和并发技术来提高性能。Python的
asyncio
库和aiohttp
库可以帮助你实现这一目标。
总结
通过本教程,你应该对如何使用Python请求电商商品详情数据有了基本的了解。从入门到实战,我们涵盖了API接口的基本概念、发送GET请求获取数据、处理错误和异常等方面。随着你对API和Python的深入理解,你可以进一步优化和扩展你的代码,以满足更复杂的需求。