普通视图

发现新文章,点击刷新页面。
昨天 — 2025年9月17日首页

多语言采集京东商品评论,京东API(json数据返回)

2025年9月17日 17:52

多语言采集京东商品评论的API解决方案

一、京东官方API接口

京东开放平台提供商品评论API接口 jingdong.comments.product.query,支持获取商品评论详情、评分统计及用户信息,返回JSON格式数据。核心参数如下:

  • 必填参数app_key(应用ID)、secret_key(密钥)、sku_id(商品SKU)、page(页码)、page_size(每页数量,最大100)
  • 可选参数score(评分筛选,1-5)、sort_type(排序方式,1=时间倒序,2=点赞数降序)、lang(语言,支持中/英/西/阿等12种)
  • 返回字段:评论ID、内容、时间、评分、用户昵称、省份、会员等级,以及评论总数、好评率、差评率等统计指标。

二、多语言支持方案

  1. 语言参数配置
    在请求中添加 lang 参数,例如:

    python
    params = {
        "app_key": "YOUR_APP_KEY",
        "method": "jingdong.comments.product.query",
        "sku_id": "123456789",
        "page": 1,
        "page_size": 20,
        "lang": "en"  # 支持en/zh/es/ar等
    }
    

    返回数据将自动转换为指定语言版本,如英文商品标题、用户评论等。

  2. 混合翻译模式
    对未直接支持的小语种,可结合第三方翻译API(如阿里云翻译)对英文数据进行二次翻译,实现全语言覆盖。

三、Python代码示例

python
import requests
import hashlib
import time
 
# 配置参数
APP_KEY = "YOUR_APP_KEY"
SECRET_KEY = "YOUR_SECRET_KEY"
SKU_ID = "123456789"
LANG = "en"  # 多语言配置
 
# 生成签名
def generate_sign(params, secret_key):
    sorted_params = sorted(params.items())
    sign_str = f"{secret_key}{''.join([f'{k}{v}' for k, v in sorted_params])}{secret_key}"
    return hashlib.md5(sign_str.encode()).hexdigest().upper()
 
# 构造请求
url = "https://api.jd.com/routerjson"
params = {
    "app_key": APP_KEY,
    "method": "jingdong.comments.product.query",
    "sku_id": SKU_ID,
    "page": 1,
    "page_size": 10,
    "lang": LANG,
    "timestamp": int(time.time() * 1000)
}
params["sign"] = generate_sign(params, SECRET_KEY)
 
# 发送请求
response = requests.get(url, params=params)
data = response.json()
 
# 解析评论数据
if data.get("code") == 0:
    comments = data["comments"]
    for comment in comments:
        print({
            "id": comment["guid"],
            "content": comment["content"],
            "rating": comment["score"],
            "date": comment["creation_time"],
            "user": comment["user_nickname"]
        })
else:
    print(f"Error: {data.get('msg')}")

四、权限与认证

  1. 申请流程

    • 注册京东开放平台账号,创建应用并申请“商品评论数据权限”。
    • 审核通过后获取 app_key 和 secret_key,用于API调用和签名验证。
  2. 签名规则
    所有请求需生成MD5签名,确保数据安全性。签名规则为:MD5(secret_key + 参数拼接字符串 + secret_key)

五、数据清洗与存储

  • 缺失值处理:使用 pandas 或 SimpleImputer 填充评分、评论内容等字段。
  • 格式标准化:将时间戳转换为可读格式,统一评分类型为浮点数。
  • 存储方案:建议使用MySQL数据库存储,表结构包含商品ID、评论ID、内容、评分、语言、时间等字段。

六、合规与反爬策略

  • 频率限制:单日调用上限10万次,QPS默认50次/秒,需合理设置请求间隔。
  • 法律合规:遵守《个人信息保护法》和GDPR,仅采集公开评论数据,避免用户隐私泄露。
  • 反爬对抗:使用住宅代理IP池,随机化请求间隔(10-30秒),避免高频访问触发风控。

通过上述方案,可实现京东商品评论的多语言采集,输出结构化JSON数据,适用于竞品分析、用户反馈研究、本地化适配等场景。

昨天以前首页

Python采集tiktok视频详情数据,tiktok API系列

2025年9月16日 17:04

在Python中采集TikTok视频详情数据,可通过官方API、第三方API服务或非官方库实现,以下是一些主流方法及其技术细节与适用场景分析:

一、官方API:TikTok for Business API

适用场景:企业级应用,需合规获取广告、账号或创作者市场数据。
功能覆盖

  • Marketing API:管理广告活动(如创建、投放、优化广告),支持批量操作与实时数据查询。
  • Accounts API:监控企业账号活动(如视频发布、互动数据),提供深度分析报表。
  • Data Portability API:合规转移用户数据(如GDPR场景下的用户请求处理)。

技术实现

  1. 认证授权:通过OAuth 2.0获取access_token,需注册TikTok for Business开发者账号并申请权限。

  2. 接口调用:使用requests库发送HTTPS请求,示例代码:

    python
    import requests
    auth_url = "https://business-api.tiktok.com/api/v1/oauth/token/"
    params = {
        "client_key": "YOUR_APP_ID",
        "client_secret": "YOUR_SECRET",
        "grant_type": "client_credentials"
    }
    response = requests.post(auth_url, data=params)
    access_token = response.json()["access_token"]
    
  3. 数据获取:调用视频详情接口(需替换为实际API端点):

    python
    video_url = "https://api.tiktok.com/v2/video/detail/"
    headers = {"Authorization": f"Bearer {access_token}"}
    params = {"video_id": "YOUR_VIDEO_ID"}
    response = requests.get(video_url, headers=headers, params=params)
    video_data = response.json()
    

优势:数据权威、合规性强,支持高并发请求。
限制:需企业资质审核,个人开发者难以获取权限;功能聚焦于商业场景,普通视频数据获取受限。

二、第三方API服务:TikHub.io

适用场景:快速获取用户主页视频、热门视频等公开数据,无需逆向工程。
功能覆盖

  • 支持通过sec_user_idunique_id查询用户作品列表。
  • 返回字段包括视频标题、播放量、点赞数、封面URL等。

技术实现

  1. 注册获取API Key:访问TikHub用户后台完成注册。

  2. 调用接口:示例代码:

    python
    import requests
    url = "https://api.tikhub.io/api/v1/tiktok/app/v3/fetch_user_post_videos"
    headers = {
        "Authorization": "Bearer YOUR_API_KEY",
        "accept": "application/json"
    }
    params = {
        "sec_user_id": "MS4wLjABAAAA...",
        "count": 20,
        "sort_type": 0
    }
    response = requests.get(url, headers=headers, params=params)
    videos = response.json()["data"]["videos"]
    for video in videos:
        print(f"标题: {video['desc']}, 播放量: {video['play_count']}")
    

优势

  • 免爬虫、免逆向,接口稳定且支持大规模请求。
  • 提供中文文档与SDK,开发者友好。
  • 免费注册,每日签到可领取调用额度。

限制:部分高级功能需付费;数据延迟可能高于官方API。

三、非官方库:TikTok-API-Python

适用场景:开源社区支持,适合技术探索与个性化需求。
功能覆盖

  • 获取热门视频、用户帖子、话题帖子及音乐帖子数据。
  • 支持加密传输,确保数据安全。

技术实现

  1. 安装依赖

    bash
    git clone https://github.com/demon071/Tiktok-API-Python.git
    cd Tiktok-API-Python
    pip install -r requirements.txt
    
  2. 调用API:示例代码:

    python
    from tiktok import TikTok
    api = TikTok()
    videos = api.trending()  # 获取热门视频
    for video in videos[:5]:
        print(f"标题: {video['title']}, 视频URL: {video['video_url']}")
    

优势

  • 功能丰富,支持多种数据类型获取。
  • 社区活跃,持续更新修复bug。

限制

  • 非官方库,可能违反TikTok服务条款。
  • 依赖逆向工程,接口稳定性较差,易受平台风控策略影响。

四、对比与推荐

方案 适用场景 数据权威性 稳定性 开发成本
TikTok for Business API 企业级商业应用 高(需审核)
TikHub.io 快速获取公开数据
TikTok-API-Python 技术探索与个性化需求

推荐选择

  • 企业开发者:优先使用TikTok for Business API,确保合规性与数据权威性。
  • 个人开发者/研究者:选择TikHub.io,平衡效率与成本。
  • 技术爱好者:可尝试TikTok-API-Python,但需注意法律风险与接口稳定性。
❌
❌