当前位置: 首页 > news >正文

Python采集1688拍立淘按图搜索,json数据返回

要实现Python采集1688拍立淘按图搜索并返回JSON数据,需遵循以下步骤及代码示例:

1. 准备工作

  • 注册开放平台账号:注册开发者账号并创建应用,获取app_keyapp_secret
  • 开通API权限:在应用管理页面开通“图片搜索”API权限。
  • 安装依赖库
    pip install requests hashlib

2. 图片上传与签名生成

需将本地图片上传至1688图片服务器,获取图片标识imgid,并生成请求签名。

import requests
import hashlib
import time
def generate_sign(params, app_secret):
"""生成MD5签名"""
sorted_params = sorted(params.items())
sign_content = ''.join([f'{k}{v}' for k, v in sorted_params]) + app_secret
return hashlib.md5(sign_content.encode('utf-8')).hexdigest().upper()
def upload_image(app_key, app_secret, image_path):
"""上传图片并获取imgid"""
url = "https://api.1688.com/router/rest"
params = {
'app_key': app_key,
'method': '1688.upload.img',
'format': 'json',
'v': '2.0',
'timestamp': int(time.time()),
'sign_method': 'md5'
}
with open(image_path, 'rb') as f:
files = {'file': f}
params['sign'] = generate_sign(params, app_secret)
response = requests.post(url, files=files, params=params)
if response.status_code == 200:
data = response.json()
if 'pic_url' in data:
return data['pic_url']
return None

3. 按图搜索请求

使用获取的imgid调用搜索接口,传入分页、排序等参数,返回相似商品JSON数据。

def search_by_image(app_key, app_secret, imgid, page=1, sort='price_asc'):
"""按图搜索商品"""
url = "https://api.1688.com/router/rest"
params = {
'app_key': app_key,
'method': '1688.item_search_img',
'format': 'json',
'v': '2.0',
'timestamp': int(time.time()),
'sign_method': 'md5',
'imgid': imgid,
'page': page,
'sort': sort
}
params['sign'] = generate_sign(params, app_secret)
response = requests.get(url, params=params)
return response.json() if response.status_code == 200 else None

4. 完整流程示例

# 配置参数
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
image_path = "product.jpg"
# 上传图片并获取imgid
imgid = upload_image(app_key, app_secret, image_path)
if not imgid:
print("图片上传失败")
exit()
# 执行搜索
result = search_by_image(app_key, app_secret, imgid)
if result and result.get('code') == 200:
items = result['data']['items']
for item in items:
print(f"商品ID: {item['item_id']}, 标题: {item['title']}, 价格: {item['price']}")
else:
print(f"搜索失败: {result.get('message')}")


文章转载自:

http://OiF8KqOe.mnsLh.cn
http://iLYNUzuI.mnsLh.cn
http://tBBSXvmH.mnsLh.cn
http://YVYcMZ5Z.mnsLh.cn
http://nMQR3mkw.mnsLh.cn
http://wbyR3cHU.mnsLh.cn
http://Z3EpMoQv.mnsLh.cn
http://qConNk3K.mnsLh.cn
http://OCnO7lhI.mnsLh.cn
http://Uru6gY1y.mnsLh.cn
http://yfqPPCyE.mnsLh.cn
http://387ba010.mnsLh.cn
http://a6eEgx7S.mnsLh.cn
http://TrXeBKJ7.mnsLh.cn
http://1OtHGgWF.mnsLh.cn
http://DytU3JLQ.mnsLh.cn
http://nLHr6nSw.mnsLh.cn
http://5jX9BrVs.mnsLh.cn
http://KbGOuLha.mnsLh.cn
http://9puKJfF6.mnsLh.cn
http://59LKTSBt.mnsLh.cn
http://z8ja6LVp.mnsLh.cn
http://QWqroeDq.mnsLh.cn
http://XcoUJPrt.mnsLh.cn
http://yqyVDUjV.mnsLh.cn
http://5Q6EaxmA.mnsLh.cn
http://xLYVM3DD.mnsLh.cn
http://1bNptIgA.mnsLh.cn
http://HzI2tSKC.mnsLh.cn
http://PhQPpGNp.mnsLh.cn
http://www.dtcms.com/a/376833.html

相关文章:

  • 【卷积神经网络详解与实例】4——感受野
  • 多模态学习双核引擎:对齐建立连接,融合释放价值
  • unity开发类似个人网站空间
  • 【不背八股】10.Redis知识点汇总
  • MySQL 整型数据类型:选对数字类型,让存储效率翻倍
  • OpenCV的图像金字塔
  • PMP考试学习计划与知识大纲
  • 自然语言处理开源框架全面分析
  • antd v5 support React is 16 ~ 18. see https://u.ant.design/v5-for-19 for...
  • 【硬件-笔试面试题-82】硬件/电子工程师,笔试面试题(知识点:讲讲单片机的内部晶振与外部晶振)
  • 【计算机网络 | 第12篇】网络应用原理
  • 【竞赛系列】机器学习实操项目05——客户信用评估模型进阶流程(含XGBoost、LightGBM、CatBoost 高级模型对比与参数优化)
  • 机器学习的本质:从跑模型到真正解决问题
  • LeakCanary最新稳定版
  • 个人博客系统-测试报告
  • 生活中的各种造型 参考多图
  • 独家 | 抖音生活服务调整:涂晴接管市场和达人运营,旭凯担任北部大区负责人
  • Spring Bean扫描
  • 第2讲 机器学习 - 导论
  • 【开题答辩全过程】以 基于Android的智慧旅游APP开发为例,包含答辩的问题和答案
  • Linux服务器的系统安全强化超详细教程
  • Dockerfile构建容器需要注意的事项。
  • YOLO 发展前景与创新点
  • 一个基于 .NET 开源、轻便的 Windows 优化工具,适用于 Win7 - Win11 最新版的优化!
  • RL【7-1】:Temporal-difference Learning
  • child_process 和 cluster的区别
  • 第十七篇|优尼塔斯东京校区的教育数据工程:学费函数、国籍网络与升学有向图
  • ES6 面试题及详细答案 80题 (33-40)-- Symbol与集合数据结构
  • DeepResearch(上)
  • 即时通讯小程序