繁体   English   中英

Python 发布 GraphQL 查询未返回正确的 json 数据

[英]Python posting GraphQL queries not returning correct json data

我正在尝试为 Lululemon 网站编写 web 刮板。 我进行了一些检查,似乎任何产品类别网页都从 graphQl 查询中获取数据。 我正在尝试使用 python 请求库来复制这些查询。

到目前为止,这是我的代码

import requests
import json

f = open('data.json')
payload = json.load(f)
url = 'https://shop.lululemon.com/snb/graphql'

response = requests.post(url, json=payload)

print(response.text)

'data.json' 包含 json qraphQL 查询数据,这些数据是我在检查 Firefox 上的过程时从工作查询中发现的。 这是它包含的内容:

{"query":"query getCategoryDetails($category: String!, $nValue: String!, $sl: String!, $locale: String!, $Ns: String, $storeId: String, $pageSize: Int, $page: Int, $onlyStore: Boolean) {\n  categoryDetails(\n    category: $category\n    nValue: $nValue\n    locale: $locale\n    sl: $sl\n    Ns: $Ns\n    page: $page\n    pageSize: $pageSize\n    storeId: $storeId\n    onlyStore: $onlyStore\n  ) {\n    activeCategory\n    categoryLabel\n    fusionExperimentId\n    fusionExperimentVariant\n    fusionQueryId\n    h1Title\n    isBopisEnabled\n    isFusionQuery\n    isWMTM\n    name\n    results: totalProducts\n    totalProductPages\n    currentPage\n    type\n    bopisProducts {\n      allAvailableSizes\n      currencyCode\n      defaultSku\n      displayName\n      listPrice\n      parentCategoryUnifiedId\n      productOnSale: onSale\n      productSalePrice: salePrice\n      pdpUrl\n      productCoverage\n      repositoryId: productId\n      productId\n      inStore\n      unifiedId\n      skuStyleOrder {\n        colorGroup\n        colorId\n        colorName\n        inStore\n        size\n        sku\n        skuStyleOrderId\n        styleId01\n        styleId02\n        styleId\n        __typename\n      }\n      swatches {\n        primaryImage\n        hoverImage\n        url\n        colorId\n        inStore\n        __typename\n      }\n      __typename\n    }\n    storeInfo {\n      totalInStoreProducts\n      totalInStoreProductPages\n      storeId\n      __typename\n    }\n    products {\n      allAvailableSizes\n      currencyCode\n      defaultSku\n      displayName\n      listPrice\n      parentCategoryUnifiedId\n      productOnSale: onSale\n      productSalePrice: salePrice\n      pdpUrl\n      productCoverage\n      repositoryId: productId\n      productId\n      inStore\n      unifiedId\n      skuStyleOrder {\n        colorGroup\n        colorId\n        colorName\n        inStore\n        size\n        sku\n        skuStyleOrderId\n        styleId01\n        styleId02\n        styleId\n        __typename\n      }\n      swatches {\n        primaryImage\n        hoverImage\n        url\n        colorId\n        inStore\n        __typename\n      }\n      __typename\n    }\n    seoLinks {\n      next\n      prev\n      self\n      __typename\n    }\n    __typename\n  }\n}\n","operationName":"getCategoryDetails","variables":{"nValue":"N-1z0xcmkZ8t6","category":"sale","page":4,"pageSize":9,"storeId":null,"sl":"US","locale":"en_US","onlyStore":false,"forceMemberCheck":false}}

执行此代码时,我收到打印消息“GET query missing.”。 如果我检查状态码是 400。我真的很困惑,因为我能够在检查 Firefox 时重新执行此查询,它会返回正确的 JSON 数据。 任何人都知道我可能做错了什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM