闲鱼API
用 pyxianyu 打通闲鱼商品、搜索、消息能力GitHub 仓库DoLovya/pyxianyu前言闲鱼自动化先别急着写业务先把签名、登录态和接口入口封稳定。一、问题直接调闲鱼 Web 端接口基本都会卡在这 3 个点请求参数里有sign不能裸调Cookie 会刷新常驻进程容易失效商品、搜索、消息能力分散业务代码很快写乱目标做一个可复用的 Python 库把签名、请求、鉴权、业务 API统一起来。二、方案1. 统一签名和请求所有业务 API 都走同一套签名链路这层一定先收口。importtimeimportrequestsfrompyxianyu.utils.xianyu_utilsimportgenerate_signclassXianyuClient:def__init__(self,cookies,device_id):self.sessionrequests.Session()self.session.cookies.update(cookies)# 登录态注入self.device_iddevice_iddefbuild_mtop_params(self,api):return{jsv:2.7.2,appKey:34839810,t:str(int(time.time())*1000),sign:,api:api,type:originaljson,dataType:json,}defbuild_signed_form(self,params,data_val):tokenself.session.cookies.get(_m_h5_tk,).split(_)[0]params[sign]generate_sign(params[t],token,data_val)# 生成 signreturn{data:data_val}defensure_api_success(self,payload):retpayload.get(ret)or[]ifretandnotret[0].startswith(SUCCESS):raiseRuntimeError(ret[0])# 统一失败出口returnpayload后面所有接口只管组装data不用重复处理签名和异常。2. 业务 API 模块化登录态、商品、搜索、媒体分模块对外只暴露一个入口。classXianyuApis:def__init__(self,cookies,device_id):self.clientXianyuClient(cookies,device_id)self.auth_apiAuthApi(self.client)self.item_apiItemApi(self.client)self.search_apiSearchApi(self.client)defget_token(self):returnself.auth_api.get_token()defget_item_info(self,item_id):returnself.item_api.get_item_info(item_id)defsearch_items(self,keyword,page_number1,rows_per_page20):returnself.search_api.search_items(keyword,page_numberpage_number,rows_per_pagerows_per_page)调用层只面向XianyuApis不用关心底层 URL 和签名细节。3. 先安装再调用1.0.0版本开始对外入口已经统一为xianyu命名直接安装即可。# 方式1安装正式版pipinstall-Upyxianyu# 方式2uv 安装uv pipinstall-Upyxianyu如果你是本地调试仓库源码也可以直接安装当前项目cdthird_party/pyxianyu pipinstall-e.环境变量准备exportXIANYU_COOKIE你的完整Cookie可直接运行的示例importosfrompyxianyu.xianyu_apisimportXianyuApisfrompyxianyu.utils.xianyu_utilsimportgenerate_device_id,trans_cookiesdefmain():cookie_stros.environ[XIANYU_COOKIE]# 完整 Cookiecookiestrans_cookies(cookie_str)user_idcookies.get(unb,0)# 从 Cookie 中拿当前用户标识device_idgenerate_device_id(user_id)apiXianyuApis(cookies,device_id)token_resultapi.get_token()nav_resultapi.get_user_page_nav()print(token ok:,bool(token_result.get(data)))print(nav_result)# 直接看接口原始返回if__name____main__:main()运行方式python demo.py这个示例只依赖XIANYU_COOKIE更适合先验证登录态和基础调用链路如果字段结构有变化先看print(nav_result)的原始结果最稳。完整功能清单模块功能方法鉴权获取登录 tokenget_token()鉴权刷新登录态refresh_token()商品获取商品详情get_item_info(item_id)商品获取用户商品分页列表get_user_items(user_id, ...)商品自动翻页拉取全部商品get_all_user_items(user_id, page_size20)商品下架商品downshelf_item(item_id)商品发布前校验prepublish_check(item_idNone)商品获取发布/编辑预置参数preget(item_idNone, source_idNone, publish_sceneNone, bizcodeNone)商品获取商品编辑详情get_item_edit_detail(item_id)商品编辑商品edit_item(payload)商品发布全新商品publish_item(payload)商品构造重新上架 payloadbuild_reshelf_payload(edit_detail_result, item_idNone, source_idNone)商品一步重新上架商品reshelf_item(item_id, source_idNone)搜索按关键词搜索商品search_items(keyword, page_number1, rows_per_page20, ...)用户获取当前登录用户信息get_user_page_nav()媒体上传图片/视频/音频upload_media(media_path)消息创建单聊会话create_chat(ws, toid, item_id)消息发送文本/图片消息send_msg(ws, cid, toid, message)消息单次发送消息send_msg_once(toid, item_id, send_message)消息拉取指定会话历史消息list_all_conversations(cid)消息WebSocket 初始化注册init(ws)消息心跳保活heart_beat(ws)消息HTTP 登录态保活user_alive()消息启动消息监听主循环main()消息处理收到的消息handle_message(message, websocket)消息类型构造文本消息make_text(text)消息类型构造图片消息make_image(url, width0, height0)消息类型构造音频消息make_audio(url, duration_ms0)如果只想记住一件事XianyuApis负责 HTTP 能力聚合XianyuLive负责 WebSocket 消息收发。三、踩坑⚠️sign依赖_m_h5_tkCookie 缺这个字段就会直接失败。⚠️get_token()要限制重试次数别把“令牌过期”写成死循环。⚠️ 编辑商品时部分布尔值是字符串提交前要先归一化。⚠️XIANYU_COOKIE走环境变量别写死在代码里。四、总结pyxianyu先解决的是签名、请求、鉴权不是先堆接口数量。模块拆开对外聚合成XianyuApis业务代码会干净很多。底层库先封稳后面接 MCP、机器人、运营脚本才省事。

相关新闻

为何卓艺美仿石漆能成为《仿石涂料应用技术规程》参编单位、《建筑外墙仿石涂料工程施工及验收规程》参编单位

为何卓艺美仿石漆能成为《仿石涂料应用技术规程》参编单位、《建筑外墙仿石涂料工程施工及验收规程》参编单位

在仿石涂料行业,有一句话广为流传:"仿石漆,看福建"。作为中国仿石漆产业的发源地与核心集聚区,福建诞生了一批推动行业标准化、规范化发展的中坚力量。卓艺美仿石漆便是其中的代表,凭借二十余年的行业深耕与…

2026/8/11 7:58:48 阅读更多 →
Godot PCK文件深度解析:独立工具开发与自动化资源打包实战

Godot PCK文件深度解析:独立工具开发与自动化资源打包实战

1. 项目概述:为什么我们需要一个独立的PCK文件处理工具?如果你在Godot引擎里做过项目发布,尤其是涉及到DLC、热更新或者Mod支持,那你肯定对PCK文件不陌生。官方文档里把它叫做“资源包”,本质上就是一个.pck后缀的压缩…

2026/8/11 7:58:48 阅读更多 →
储能孤岛系统设计与Matlab仿真实践

储能孤岛系统设计与Matlab仿真实践

1. 项目概述:储能孤岛系统的现实意义与技术挑战 在新能源电力系统领域,孤岛系统正成为解决偏远地区供电和电网弹性的重要方案。这类系统不依赖主电网运行,而是通过本地发电单元(如光伏、风电)配合储能装置实现自给自足…

2026/8/11 7:58:48 阅读更多 →

最新新闻

终极指南:如何用猫抓插件一键下载网页视频资源

终极指南:如何用猫抓插件一键下载网页视频资源

终极指南:如何用猫抓插件一键下载网页视频资源 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法保存网页中的精彩视频而烦恼吗…

2026/8/11 13:53:13 阅读更多 →
OpCore-Simplify:现代黑苹果EFI配置的智能化解决方案

OpCore-Simplify:现代黑苹果EFI配置的智能化解决方案

OpCore-Simplify:现代黑苹果EFI配置的智能化解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 对于黑苹果爱好者而言,Op…

2026/8/11 13:53:13 阅读更多 →
微搭低代码平台在订单管理系统中的实践与优化

微搭低代码平台在订单管理系统中的实践与优化

1. 项目背景与核心价值 去年帮某商学院落地MBA培训管理系统时,订单管理模块的混乱让我印象深刻——销售用Excel登记、财务用金蝶核对、教务用纸质单据确认,三套系统间的数据断层导致每月对账平均要耗费72个人工时。这正是我们选择在微搭低代码平台上重构…

2026/8/11 13:53:13 阅读更多 →
Dart语言在Flutter与OpenHarmony开发中的核心作用与优化实践

Dart语言在Flutter与OpenHarmony开发中的核心作用与优化实践

1. 为什么Dart对FlutterOpenHarmony如此重要? 在移动应用开发领域,Flutter框架因其跨平台特性而广受欢迎,而OpenHarmony作为新兴操作系统平台,二者的结合为开发者提供了更广阔的应用场景。Dart语言作为Flutter的官方开发语言&…

2026/8/11 13:53:13 阅读更多 →
Unity引擎打造汽车3D智能座舱:技术实现与性能优化全解析

Unity引擎打造汽车3D智能座舱:技术实现与性能优化全解析

1. 项目概述:当汽车座舱变成一个可探索的虚拟世界最近,汽车圈和游戏引擎圈的交集地带,发生了一件挺有意思的事。吉祥汽车在泰国市场搞了个大动作,发布了一款新车,但最吸引我注意的,不是它的续航或马力&…

2026/8/11 13:53:13 阅读更多 →
Electron实现字符串转图片的完整方案与优化实践

Electron实现字符串转图片的完整方案与优化实践

1. 为什么Electron需要字符串转图片功能? 在桌面应用开发中,我们经常遇到需要将文本内容转换为图像的场景。比如生成分享海报、保存聊天记录为图片、导出报表数据等。Electron作为跨平台桌面应用开发框架,实现这个功能尤为实用。 最近接手一…

2026/8/11 13:52:12 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →