0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Daraz平台获取搜索列表数据的API接口实现

万邦 来源:jf_79933741 作者:jf_79933741 2026-02-05 17:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、接口分析

Daraz平台未公开官方API文档,但可通过分析网络请求获取数据接口。核心步骤如下:

请求URL
搜索页面的数据接口通常为:

base_url = "https://www.daraz.pk/api/catalog/search"
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

关键参数

params = {
  "q": "mobile",          # 搜索关键词
  "page": 1,              # 分页页码
  "sort": "popularity",   # 排序方式
  "spm": "a2a0e.12345678" # 页面标识(需动态获取)
}
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

请求头要求
模拟浏览器行为防止反爬:

headers = {
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
  "Referer": "https://www.daraz.pk/"
}
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

二、Python实现示例

import requests
import json

def fetch_daraz_search(keyword, page=1):
    url = "https://www.daraz.pk/api/catalog/search"
    
    # 动态获取spm参数(需实际抓取页面源码解析)
    spm_value = extract_spm() 
    
    params = {
        "q": keyword,
        "page": page,
        "sort": "popularity",
        "spm": spm_value
    }
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
        "Accept-Language": "en-US,en;q=0.9"
    }
    
    try:
        response = requests.get(url, params=params, headers=headers)
        if response.status_code == 200:
            return response.json()  # 返回结构化JSON数据
        else:
            print(f"请求失败,状态码:{response.status_code}")
    except Exception as e:
        print(f"接口异常:{str(e)}")

# 示例调用
data = fetch_daraz_search("wireless earphones", page=2)
print(json.dumps(data, indent=2))
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

三、返回数据结构解析

典型响应数据包含:

{
  "data": {
    "products": [
      {
        "id": "P0012345",
        "name": "Wireless Bluetooth Earbuds",
        "price": "Rs. 1,299",
        "original_price": "Rs. 2,599",
        "rating": 4.5,
        "review_count": 128
      },
      // ... 其他商品数据
    ],
    "total_pages": 23  // 总页数
  }
}
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

四、注意事项

反爬策略

使用代理IP轮询(推荐requests.Session+代理池)

添加随机延迟:time.sleep(random.uniform(1, 3))

定期更新User-Agent

参数动态性
spm参数需从页面HTML中实时提取:

def extract_spm():
    # 示例:从首页< script >标签中正则匹配
    pattern = r'"spm":"([a-z0-9.]+)"'
    # 实际需通过请求首页获取
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

法律合规

! 重要:请遵守Daraz的robots.txt限制,避免高频请求(建议≤5次/分钟)
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

五、扩展方案

若API变动频繁,可采用浏览器自动化方案:

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://www.daraz.pk/search?q=mobile")
# 直接解析页面DOM获取数据
product_elements = driver.find_elements(By.CSS_SELECTOR, "div.product-card")
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

通过此方法可实现更稳定的数据采集,但需权衡性能与维护成本。


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2467

    浏览量

    66994
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用dp123电天下平台获取电天下列表搜索数据API接口

    电子元件数据管理领域,dp123电天下平台提供了一套强大的API接口,用于高效获取
    的头像 发表于 02-27 14:26 322次阅读
    使用dp123电天下<b class='flag-5'>平台</b>的<b class='flag-5'>获取</b>电天下<b class='flag-5'>列表</b><b class='flag-5'>搜索</b><b class='flag-5'>数据</b><b class='flag-5'>API</b><b class='flag-5'>接口</b>

    利用施耐德平台API获取设备列表数据

    提供的API接口实现设备列表数据搜索获取。 一
    的头像 发表于 02-26 17:12 242次阅读
    利用施耐德<b class='flag-5'>平台</b><b class='flag-5'>API</b><b class='flag-5'>获取</b>设备<b class='flag-5'>列表</b><b class='flag-5'>数据</b>

    通过西门子平台API获取搜索列表数据的技术实践

    ​  西门子平台为开发者提供了丰富的API接口,方便集成其服务与数据。其中,搜索列表
    的头像 发表于 02-24 16:10 449次阅读
    通过西门子<b class='flag-5'>平台</b><b class='flag-5'>API</b><b class='flag-5'>获取</b><b class='flag-5'>搜索</b><b class='flag-5'>列表</b><b class='flag-5'>数据</b>的技术实践

    ​​​​​​​使用 DMM Web API 获取搜索列表数据

    ​  DMM 平台提供了丰富的 Web API 接口,允许开发者获取平台上的各种数据。其中一个
    的头像 发表于 02-09 15:34 354次阅读
    ​​​​​​​使用 DMM Web <b class='flag-5'>API</b> <b class='flag-5'>获取</b><b class='flag-5'>搜索</b><b class='flag-5'>列表</b><b class='flag-5'>数据</b>

    利用Daraz API获取商品详情数据

    Daraz作为东南亚领先的电商平台,提供了丰富的API接口供开发者集成。获取商品详情数据是其
    的头像 发表于 02-05 17:36 175次阅读
    利用<b class='flag-5'>Daraz</b> <b class='flag-5'>API</b><b class='flag-5'>获取</b>商品详情<b class='flag-5'>数据</b>

    关键词搜索京东列表 API 技术对接指南

    一、前言 电商数据服务、代购集运系统搭建、电商平台竞品分析、自有商城商品同步等业务场景中,京东商品列表的精准、实时获取是核心环节之一。 二
    的头像 发表于 02-05 16:36 504次阅读

    如何从Target平台获取搜索列表数据API接口

    ​   现代Web开发中,API(应用程序接口)是实现平台数据交互的核心工具。本文将以Target平台
    的头像 发表于 02-03 17:49 211次阅读
    如何从Target<b class='flag-5'>平台</b><b class='flag-5'>获取</b><b class='flag-5'>搜索</b><b class='flag-5'>列表</b><b class='flag-5'>数据</b>的<b class='flag-5'>API</b><b class='flag-5'>接口</b>

    调用西门子平台 API 获取 xmz 搜索列表数据

     工业自动化领域,西门子平台提供了丰富的接口用于数据交互。本文将探讨如何通过其提供的 API 接口
    的头像 发表于 01-27 13:52 244次阅读
    调用西门子<b class='flag-5'>平台</b> <b class='flag-5'>API</b> <b class='flag-5'>获取</b> xmz <b class='flag-5'>搜索</b><b class='flag-5'>列表</b><b class='flag-5'>数据</b>

    1688搜索店铺列表API使用指南

    1688(阿里巴巴批发网)的开放平台提供了一系列 API 接口,支持开发者通过程序化方式获取平台数据搜索店铺
    的头像 发表于 12-23 14:31 4355次阅读

    房产数据平台安家go获取地区列表数据API接口

    房产数据平台“安家go”中,获取地区列表数据是一个常见需求,它允许开发者访问全国或特定区域
    的头像 发表于 11-21 14:38 464次阅读
    房产<b class='flag-5'>数据</b><b class='flag-5'>平台</b>安家go<b class='flag-5'>获取</b>地区<b class='flag-5'>列表</b><b class='flag-5'>数据</b>的<b class='flag-5'>API</b><b class='flag-5'>接口</b>

    顺企网平台根据关键词获取企业列表API接口详解与实现

    ​  企业信息查询、市场调研或商业智能应用中,获取精准的企业列表数据至关重要。顺企网作为国内知名的企业信息平台,提供了丰富的企业
    的头像 发表于 11-20 14:14 345次阅读
    顺企网<b class='flag-5'>平台</b>根据关键词<b class='flag-5'>获取</b>企业<b class='flag-5'>列表</b><b class='flag-5'>API</b><b class='flag-5'>接口</b>详解与<b class='flag-5'>实现</b>

    快手平台根据关键词获取视频列表API 接口详解

    ​ 引言 开发与短视频内容相关的应用时,经常需要根据特定关键词搜索获取平台上的视频列表。快手作为国内领先的短视频平台,其开放
    的头像 发表于 11-18 15:26 723次阅读
    快手<b class='flag-5'>平台</b>根据关键词<b class='flag-5'>获取</b>视频<b class='flag-5'>列表</b>的 <b class='flag-5'>API</b> <b class='flag-5'>接口</b>详解

    1688平台获取店铺所有商品列表API接口技术详解

    电商开发中,集成1688平台API获取店铺商品数据的关键。1688是阿里巴巴旗下的B2B批发
    的头像 发表于 11-11 14:04 839次阅读
    1688<b class='flag-5'>平台</b><b class='flag-5'>获取</b>店铺所有商品<b class='flag-5'>列表</b><b class='flag-5'>API</b><b class='flag-5'>接口</b>技术详解

    淘宝平台获取店铺商品列表API接口实现详解

    电商数据分析、店铺管理工具开发或竞品监控等场景下,通过API接口获取淘宝店铺的商品列表
    的头像 发表于 11-06 15:22 546次阅读
    淘宝<b class='flag-5'>平台</b><b class='flag-5'>获取</b>店铺商品<b class='flag-5'>列表</b><b class='flag-5'>API</b><b class='flag-5'>接口实现</b>详解

    产品列表获取API接口详解

    现代软件开发中,API(应用程序编程接口)是获取产品列表的核心工具,它允许开发者从远程服务器高效地检索
    的头像 发表于 07-24 14:29 878次阅读
    产品<b class='flag-5'>列表</b><b class='flag-5'>获取</b><b class='flag-5'>API</b><b class='flag-5'>接口</b>详解