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

Python采集闲鱼商品详情并返回JSON数据全攻略

引言

在二手交易平台中,闲鱼拥有海量商品信息。通过Python采集这些数据并结构化输出为JSON格式,可实现商品监控、价格分析、竞品调研等应用。本文将详细解析三种主流采集方案,并提供可直接运行的代码示例。

方案一:API接口直连(推荐)

实施步骤

  1. 获取API密钥

    • 注册阿里开放平台账号,创建应用获取app_keyapp_secret
    • 申请闲鱼商品详情API权限(需企业认证)
  2. 构造请求参数

    import requests
    import hashlib
    import time
    app_key = "YOUR_APP_KEY"
    app_secret = "YOUR_APP_SECRET"
    item_id = "1234567890" # 商品ID
    # 生成签名
    def generate_sign(params, secret):
    sorted_params = sorted(params.items())
    sign_str = secret + "".join(f"{k}{v}" for k,v in sorted_params) + secret
    return hashlib.md5(sign_str.encode()).hexdigest().upper()
    # 构建请求
    url = "https://api.xianyu.com/item/detail"
    timestamp = time.strftime("%Y-%m-%d %H:%M:%S")
    params = {
    "app_key": app_key,
    "item_id": item_id,
    "timestamp": timestamp
    }
    params["sign"] = generate_sign(params, app_secret)
  3. 处理响应数据

    response = requests.get(url, params=params)
    if response.status_code == 200:
    data = response.json()
    # 提取核心字段
    item_data = {
    "title": data["data"]["title"],
    "price": float(data["data"]["price"]),
    "description": data["data"]["description"],
    "images": data["data"]["images"],
    "seller": data["data"]["seller"]["nick"]
    }
    # 生成JSON
    json_output = json.dumps({"status": "success", "data": item_data}, ensure_ascii=False, indent=2)
    print(json_output)

优势

  • 数据结构规范,无需解析HTML
  • 更新频率稳定,兼容性佳
  • 支持批量数据获取

方案二:动态页面解析(备选)

适用场景

无API权限时的替代方案,需处理动态加载内容

技术实现

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
# 配置无头浏览器
chrome_options = Options()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(options=chrome_options)
# 模拟访问商品详情页
url = "https://detail.xianyu.com/item.htm?id=1234567890"
driver.get(url)
time.sleep(3) # 等待页面加载
# 提取商品信息
title = driver.find_element("xpath", '//h1[@class="title-main"]').text
price = driver.find_element("xpath", '//span[@class="price-main"]').text
description = driver.find_element("xpath", '//div[@class="desc-content"]').text
# 关闭浏览器
driver.quit()

反爬处理技巧

  • 随机User-Agent轮换
  • 代理IP池使用
  • 请求间隔随机化
  • Cookie池管理

方案三:网络请求直抓(基础)

基础代码框架

import requests
from bs4 import BeautifulSoup
import json
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
response = requests.get("https://s.2.taobao.com/search?q=手机", headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
products = []
for item in soup.select('.item-container'):
products.append({
"title": item.select_one('.title').text.strip(),
"price": item.select_one('.price').text,
"link": item.select_one('a')['href']
})
# 生成JSON
with open('products.json', 'w', encoding='utf-8') as f:
json.dump(products, f, ensure_ascii=False, indent=2)

数据处理与存储

JSON数据结构示例

{
"status": "success",
"data": {
"title": "iPhone 13 Pro Max",
"price": 5899.00,
"description": "99新,无拆修,带原装充电器",
"images": [
"https://img.xianyu.com/item/1234567890_1.jpg",
"https://img.xianyu.com/item/1234567890_2.jpg"
],
"seller": "数码专家"
}
}

存储方案对比

存储方式适用场景优势
JSON文件小数据量格式统一,跨平台兼容
数据库持续采集支持查询,数据持久化
CSV文件表格数据便于Excel处理

总结

本文提供了三种闲鱼商品采集方案,其中API直连方案最为稳定高效,动态解析方案适用于无API权限场景,基础网络请求方案适合快速验证。实际使用时需根据具体需求选择方案,并严格遵守平台规则和法律法规。通过合理的数据采集和处理,可构建高效的二手商品监控系统,为商业决策提供数据支持。

http://www.dtcms.com/a/427714.html

相关文章:

  • 在ideal中访问页面时出现 HTTP 404 - Not Found
  • 文山建设局网站网站可以做软著吗
  • 个人网站建立内容wordpress建数据库步骤
  • 数造科技于2025全球数据管理峰会斩获多项殊荣
  • 建立网站成本最低做网站 做手机app要学什么软件
  • 多普勒超声胎心信号处理
  • 学习Python中Selenium模块的基本用法(17:使用ActionChains操作键盘)
  • 保证git直线提交(rebase)而非创建分支(merge)
  • 用vscode做一个简单的扫雷小游戏
  • 建设银行个人官方网站phpcms网站seo怎么做
  • 二维凸包——Andrew 算法学习笔记
  • 北京网站建设小程序开发360网站建设的目标是什么
  • 河南省建筑市场一体化平台整站优化系统
  • A模块 系统与网络安全 第四门课 弹性交换网络-3
  • 企业电子商务网站平台建设公司概况简介
  • WSL安装并配置到pyCharm
  • 国庆假期小知识:旗帜为何会迎风飘扬
  • 冀教版三年级上册英语-学习思路和引导方法
  • Cesium 内置变量 czm_ellipsoidInverseRadii
  • 做塑胶网站需要什么建设部网站被黑
  • 树莓派:微雪显示器7寸触摸屏使用
  • Spring AI alibaba Prompt模板Advisor自定义
  • 深圳龙华企业网站设计微信推广小程序怎么做
  • 什么是SEM?深入解析其核心优势
  • 主动学习和数据蒸馏在整个多模态大模型流程中的定位与价值
  • 计算机网路-OSPF协议
  • 使用网站效果网站建设用户体验
  • 【Rust GUI开发入门】编写一个本地音乐播放器(12. 国际化应用-多语言支持)
  • 温州企业网站设计制作一个网站多少钱啊
  • 网站开发卖东西网上找工程平台有哪些