You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python请求OpenSea页面获取商品价格及OpenGraph结构处理求助

OpenSea商品价格数据提取解决方案

你提到的请求并非OpenGraph结构,而是OpenSea前端使用的GraphQL查询架构,这类请求有动态签名、参数过期校验规则,直接复用浏览器抓包导出的代码通常无法生效,可按照以下两种优先级方案实现需求:

方案1:调用OpenSea官方公开API(最稳定,推荐)

OpenSea提供官方公开接口用于检索NFT资产,不需要处理前端复杂的反爬和参数规则,Python调用示例如下:

import requests

# 密钥可在OpenSea开发者平台免费申请
OPENSEA_API_KEY = "替换为你自己的API密钥"
BASE_URL = "https://api.opensea.io/api/v2/assets"

params = {
    "collection": "neon-district-season-one-item",
    "query": "mimir assault",
    "sort_by": "price",
    "sort_order": "asc",
    "string_traits": [
        {"name": "Armor Slot", "values": ["Body"]},
        {"name": "rarity", "values": ["Common"]}
    ],
    "limit": 1
}

headers = {
    "accept": "application/json",
    "X-API-KEY": OPENSEA_API_KEY
}

response = requests.get(BASE_URL, params=params, headers=headers)
data = response.json()
# 直接获取首个条目的挂牌价
first_item_price = data["assets"][0]["listing_price"]
print(f"首个商品价格:{first_item_price}")
  • 官方API普通个人调用的限流为每秒4次,足以覆盖常规使用需求

方案2:无头浏览器模拟页面抓取(适合小批量调用)

如果不需要高频请求,可直接用无头浏览器加载页面后提取渲染完成的价格数据,无需处理复杂的接口规则,示例用Playwright实现:

from playwright.sync_api import sync_playwright

TARGET_URL = "https://opensea.io/assets/neon-district-season-one-item?search[query]=mimir%20assault&search[sortAscending]=true&search[sortBy]=PRICE&search[stringTraits][0][name]=Armor%20Slot&search[stringTraits][0][values][0]=Body&search[stringTraits][1][name]=rarity&search[stringTraits][1][values][0]=Common"

with sync_playwright() as p:
    # 启动无头浏览器
    browser = p.chromium.launch(headless=True)
    # 构造常规浏览器请求头,避免被反爬拦截
    page = browser.new_page(user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
    page.goto(TARGET_URL, wait_until="networkidle")
    # 提取首个商品的价格字段
    first_item_price = page.locator(".Price--amount").first.inner_text()
    print(f"首个商品价格:{first_item_price}")
    browser.close()
  • 该方案的调用效率低于官方API,适合单日请求量低于1000次的场景使用

额外注意事项

如果坚持使用自行抓包的GraphQL请求,需要注意每次请求的cursor游标、请求签名、Cookie校验字段均为动态生成,无法长期复用,开发和维护成本远高于以上两种方案。

内容的提问来源于stack exchange,提问作者Abubillo Sanz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:48:04