[英]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.