一、官方API接口方案(推荐)
核心步骤:
-
注册开发者账号
- 访问1688开放平台,完成企业/个人实名认证,创建应用获取
App Key和App Secret。
- 访问1688开放平台,完成企业/个人实名认证,创建应用获取
-
接口调用示例
- 商品搜索:调用
alibaba.product.search接口,支持关键词、类目、价格区间筛选,分页参数page_no和page_size可控制数据量。 - 商品详情获取:通过
alibaba.product.get接口,传入商品ID获取标题、价格、SKU、库存、主图等50+字段。 - 店铺商品列表:使用
alibaba.trade.product.search4trade接口,指定seller_id或shop_id获取全店商品,支持分页。
- 商品搜索:调用
-
代码示例(Python)
python import requests from hashlib import md5 import time app_key = "YOUR_APP_KEY" app_secret = "YOUR_APP_SECRET" access_token = "YOUR_ACCESS_TOKEN" # 通过OAuth2.0获取 def generate_sign(params): sorted_params = sorted(params.items(), key=lambda x: x[0]) sign_str = "".join([f"{k}{v}" for k, v in sorted_params if k != "sign"]) return md5((sign_str + app_secret).encode()).hexdigest().upper() params = { "method": "alibaba.product.search", "app_key": app_key, "v": "2.0", "format": "json", "timestamp": str(int(time.time() * 1000)), "keyword": "智能手机", "page_no": 1, "page_size": 10 } params["sign"] = generate_sign(params) response = requests.get("https://gw.api.1688.com/router/rest", params=params, headers={"Authorization": f"Bearer {access_token}"}) print(response.json())
优势:数据全面、实时更新,支持复杂筛选和分页,适合批量分析和竞品调研。
注意:需遵守API调用频率限制(默认10次/秒),避免触发反爬;敏感字段(如商家手机号)需额外申请权限。
二、第三方工具方案
推荐工具:
- ERP系统(如旺店通、聚水潭):对接1688 API,实现订单、库存、物流数据同步,支持多平台订单合并分析。
- 九数云BI:通过API连接1688、ERP及电商平台数据,支持百万级数据秒级处理,无需代码完成复杂分析(如利润率计算、分摊)。
- 癞蛤蟆工具箱:提供“以图搜款”“云选品库”功能,支持一键复制商品到淘宝/拼多多店铺,提供一件代发、7天无理由等履约保障。
- 星优链接复制器:通过浏览器插件提取商品链接、价格、名称,导出Excel表格,适合小规模数据采集。
操作示例(癞蛤蟆工具箱):
- 访问癞蛤蟆工具箱,注册账号并绑定1688店铺。
- 使用“以图搜款”功能上传商品图片,系统自动匹配1688货源,支持筛选包邮、一件代发商品。
- 选中商品后,点击“一键铺货”到目标店铺,自动同步标题、价格、SKU等信息。
三、爬虫工具方案
技术栈:Python + requests + BeautifulSoup + Selenium
步骤:
-
分析页面结构:通过浏览器开发者工具定位商品列表页的分页逻辑(如
/page/{n}.html)和详情页URL(如/offer/XXXXX.html)。 -
模拟登录(部分店铺需登录):使用
Selenium自动填写账号密码,获取登录后的页面源码。 -
解析数据:
- 商品列表页:提取标题、价格、链接(如
.offer-item .title a)。 - 详情页:解析标题、价格、规格、图片(如
.d-title-text、.tm-price)。
- 商品列表页:提取标题、价格、链接(如
-
反爬处理:添加随机
User-Agent,设置请求间隔(如2秒),避免触发反爬。
代码示例:
python
import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
import time
def get_shop_products(shop_url, pages=1):
headers = {"User-Agent": UserAgent().random}
all_products = []
for page in range(1, pages + 1):
url = f"{shop_url}/page/offerlist_{page}.htm"
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "lxml")
for item in soup.select(".offer-item"):
title = item.select_one(".title a").text
link = "https:" + item.select_one(".title a")["href"]
all_products.append({"title": title, "link": link})
time.sleep(2) # 避免请求过快
return all_products
四、手动导出方案
适用场景:小规模数据或临时需求
步骤:
- 登录1688商家后台,进入“交易管理”或“结算管理”模块。
- 设置筛选条件(如时间范围、订单状态),点击“导出”按钮,选择Excel/CSV格式。
- 单次导出上限为1万条,需分批次操作;活动数据限制30天内,交易数据限制3年内。
五、注意事项
- 合规性:遵守《数据安全法》和1688平台规则,禁止爬取敏感信息(如用户隐私、非公开数据)。
- 性能:API调用需控制频率,避免触发限流;爬虫需设置合理间隔,防止被封IP。
- 数据清洗:导出或爬取的数据需验证完整性,处理缺失值或异常格式(如价格含“¥”符号)。
通过上述方案,可高效获取1688店铺商品信息,适用于电商运营、竞品分析、供应链管理等场景。建议优先使用官方API或第三方工具,确保数据安全和合规性。