这是我的代码:
from urllib.request import urlopen
import json
import requests
url = 'https://production-us-adidasgroup.demandware.net/s/adidas-US/dw/shop/v15_6/products/(CQ1862)?client_id=392f521c-cf82-4c24-8ee4-97b4bfe926c5&expand=availability,variations,prices&callback=jQuery311046436681352330944_1508679685699&_=1508679685720.json'
s = requests.session()
res = s.get(url)
json_dict = res.json()
qty = json_dict['inventory']['ats']
print(qty)
我正在尝试从网址解析'ats',但一直遇到错误:
simplejson.scanner.JSONDecodeError:期望值:第1行第1列 (char 0)
我认为这是因为在网址中第一行没有价值。有没有办法跳过这个?我知道我没有使用我导入的一些模块。
答案 0 :(得分:0)
问题是您收到的JSONP响应包含一个函数名称。如果您curl
该网址,您会看到回复以/**/jQuery311046436681352330944_1508679685699({
开头。这与您在网址中可以看到的值相同:callback=jQuery311046436681352330944_1508679685699
要摆脱这种情况,请从网址中删除callback
参数。请改用https://production-us-adidasgroup.demandware.net/s/adidas-US/dw/shop/v15_6/products/(CQ1862)?client_id=392f521c-cf82-4c24-8ee4-97b4bfe926c5&expand=availability,variations,prices&_=1508679685720.json
。