Python爬取京东获得jd商品分类 API接口测试

京东提供了获取jd商品分类 的API接口,具体如下:

公共参数

请求地址:​​前往测试​​ 

公共参数

名称类型必须描述
keyString调用key(必须以GET方式拼接在URL中)
secretString调用密钥
api_nameStringAPI接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cacheString[yes,no]默认yes,将调用缓存的数据,速度比较快
result_typeString[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
langString[cn,en,ru]翻译语言,默认cn简体中文
versionStringAPI版本

此API目前支持以下基本接口:

item_get 获得JD商品详情
item_search 按关键字搜索商品
item_search_img 按图搜索京东商品(拍立淘)
item_search_shop 获得店铺的所有商品
item_history_price 获取商品历史价格信息
item_recommend 获取推荐商品列表
buyer_order_list 获取购买到的商品订单列表
buyer_order_datail 获取购买到的商品订单详情
upload_img 上传图片到JD
item_review 获得JD商品评论
cat_get 获得jd商品分类

 

请求参数

请求参数:cid=0

参数说明:cid:商品分类ID,可以用cid=0来获得所有一级类目

响应参数

Version: Date:

名称类型必须示例值描述

id

Int054商品分类ID

name

String0服饰配件、饰品分类名

pid

String00父分类ID

root_id

String00根分类ID

item

Mix0{"id": 127464010,"name": "帽子/头巾","pid": "54","root_id": 0,sub[]}子分类id:子分类名称

 

错误码解释

状态代码(error_code)状态信息详细描述是否收费
0000success接口调用成功并返回相关数据
2000Search success but no result接口访问成功,但是搜索没有结果
4000Server internal error服务器内部错误
4001Network error网络错误
4002Target server error目标服务器错误
4003Param error用户输入参数错误忽略
4004Account not found用户帐号不存在忽略
4005Invalid authentication credentials授权失败忽略
4006API stopped您的当前API已停用忽略
4007Account stopped您的账户已停用忽略
4008API rate limit exceeded并发已达上限忽略
4009API maintenanceAPI维护中忽略
4010API not found with these valuesAPI不存在忽略
4012Please add api first请先添加api忽略
4013Number of calls exceeded调用次数超限忽略
4014Missing url param参数缺失忽略
4015Wrong pageToken参数pageToken有误忽略
4016Insufficient balance余额不足忽略
4017timeout error请求超时
5000unknown error未知错误

 

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是爬取京东贵州茅台商品评论数据的示例代码: ```python import requests import json from lxml import etree # 商品ID product_id = '100016496848' # 请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36', 'Referer': f'https://item.jd.com/{product_id}.html', 'Host': 'club.jd.com' } # 评论API url = f'https://club.jd.com/comment/productPageComments.action?productId={product_id}&score=0&sortType=5&page=0&pageSize=10' # 发起请求 response = requests.get(url, headers=headers) # 获取评论数 comment_count = json.loads(response.text)['productCommentSummary']['commentCount'] # 获取页数 page_count = (comment_count + 9) // 10 # 爬取评论 comments = [] for page in range(page_count): url = f'https://club.jd.com/comment/productPageComments.action?productId={product_id}&score=0&sortType=5&page={page}&pageSize=10' response = requests.get(url, headers=headers) html = etree.HTML(response.text) comment_list = html.xpath('//div[@class="comment-item"]') for comment in comment_list: content = comment.xpath('.//div[@class="comment-con"]/div/text()')[0] comments.append(content.strip()) # 打印评论 for comment in comments: print(comment) ``` 代码说明: 1. 首先,我们需要获取商品ID,可以在京东商品页面的URL中找到。例如,商品页面URL为`https://item.jd.com/100016496848.html`,则商品ID为`100016496848`。 2. 我们需要发起请求获取评论数据。评论API的URL为`https://club.jd.com/comment/productPageComments.action`。其中,`productId`参数为商品ID,`score`参数为评分,`sortType`参数为排序方式,`page`参数为页数,`pageSize`参数为每页评论数。 3. 首先,我们需要获取评论总数以及页数,然后循环爬取每一页的评论。 4. 我们使用XPath解析HTML代码,获取每条评论的内容。最后,将评论内容存储到列表中。 5. 最后,打印评论内容。 需要注意的是,由于京东的反爬虫机制比较严格,我们需要设置请求头,模拟浏览器发起请求。同时,为了避免被封IP,我们可以设置延时等策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值