Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从使用相同名称的站点中提取变量_Python_Json_Regex - Fatal编程技术网

Python 从使用相同名称的站点中提取变量

Python 从使用相同名称的站点中提取变量,python,json,regex,Python,Json,Regex,基本上,我现在只想从sortedOptions部分提取所有SKUs。我被告知是json,不确定这是否正确。现在我只拉第一个。我需要指定什么来提取所有这些内容? 我最初尝试使用正则表达式,但没有提取任何信息,然后我被告知这是json,我需要使用json。到目前为止,这是我唯一能够从网站上获取任何信息的方法 然后,我的下一步是将股票状态和名称仅拉入同一部分 代码: 来自站点的输出: { "ID": "281460", "SKU": "281460", "isVisible": true, "isOp

基本上,我现在只想从
sortedOptions
部分提取所有
SKU
s。我被告知是json,不确定这是否正确。现在我只拉第一个。我需要指定什么来提取所有这些内容? 我最初尝试使用正则表达式,但没有提取任何信息,然后我被告知这是json,我需要使用json。到目前为止,这是我唯一能够从网站上获取任何信息的方法

然后,我的下一步是将
股票状态
名称
仅拉入同一部分

代码:

来自站点的输出:

{
"ID": "281460",
"SKU": "281460",
"isVisible": true,
"isOption": false,
"parentSKU": null,
"trackingSKU": "281460",
"name": "NIKE Air Vapormax",
"model": null,
"brand": {
"id": 
"ID": "9D63FD8C31DBD53AB2A9D51F4D9DBBCA",
"name": "NIKE",
"clientID": null,
"sortOrder": null,
"image": null,
"target": "",
"filters": {
"brandname": "nike"
}
},
"sortedOptions": [
{
"name": "5.5",
"product": {
"SKU": "281460.463725",
"isDefault": false,
"price": {
"amount": "180.00",
"currency": "GBP"
},
"previousPrice": null,
"RRP": {
"amount": "180.00",
"currency": "GBP"
},
"costPrice": null,
"taxCode": null,
"taxRate": null,
"stockStatus": "IN STOCK",
"colour": "",
"colourDescription": "GRY/GRY-SPECK",
"size": null,
"exactSize": null,
"sortOrder": "1",
"optionTypes": [
"UK Size"
]
},
"isLeaf": true
},
{
"name": "6",
"product": {
"SKU": "281460.595347",
"isDefault": false,
"price": {
"amount": "180.00",
"currency": "GBP"
},
"previousPrice": null,
"RRP": {
"amount": "180.00",
"currency": "GBP"
},
"costPrice": null,
"taxCode": null,
"taxRate": null,
"stockStatus": "IN STOCK",
"colour": "",
"colourDescription": "GRY/GRY-SPECK",
"size": null,
"exactSize": null,
"sortOrder": "2",
"optionTypes": [
"UK Size"
]
},
"isLeaf": true
},
{
"name": "6.5",
"product": {
"SKU": "281460.463895",
"isDefault": false,
"price": {
"amount": "180.00",
"currency": "GBP"
},
"previousPrice": null,
"RRP": {
"amount": "180.00",
"currency": "GBP"
},
"costPrice": null,
"taxCode": null,
"taxRate": null,
"stockStatus": "IN STOCK",
"colour": "",
"colourDescription": "GRY/GRY-SPECK",
"size": null,
"exactSize": null,
"sortOrder": "3",
"optionTypes": [
"UK Size"
]
},
"isLeaf": true
},
{
"name": "7.5",
"product": {
"SKU": "281460.595350",
"isDefault": false,
"price": {
"amount": "180.00",
"currency": "GBP"
},
"previousPrice": null,
"RRP": {
"amount": "180.00",
"currency": "GBP"
},
"costPrice": null,
"taxCode": null,
"taxRate": null,
"stockStatus": "IN STOCK",
"colour": "",
"colourDescription": "GRY/GRY-SPECK",
"size": null,
"exactSize": null,
"sortOrder": "5",
"optionTypes": [
"UK Size"
]
},
"isLeaf": true
},
{
"name": "8",
"product": {
"SKU": "281460.595352",
"isDefault": false,
"price": {
"amount": "180.00",
"currency": "GBP"
},
"previousPrice": null,
"RRP": {
"amount": "180.00",
"currency": "GBP"
},
"costPrice": null,
"taxCode": null,
"taxRate": null,
"stockStatus": "IN STOCK",
"colour": "",
"colourDescription": "GRY/GRY-SPECK",
"size": null,
"exactSize": null,
"sortOrder": "6",
"optionTypes": [
"UK Size"
]
},
"isLeaf": true
},
{
"name": "9",
"product": {
"SKU": "281460.595359",
"isDefault": false,
"price": {
"amount": "180.00",
"currency": "GBP"
},
"previousPrice": null,
"RRP": {
"amount": "180.00",
"currency": "GBP"
},
"costPrice": null,
"taxCode": null,
"taxRate": null,
"stockStatus": "IN STOCK",
"colour": "",
"colourDescription": "GRY/GRY-SPECK",
"size": null,
"exactSize": null,
"sortOrder": "8",
"optionTypes": [
"UK Size"
]
},
"isLeaf": true
},

您提供的JSON无效。无论如何,我假设“sortedOptions”是一个列表。所以这应该会启发你:

for option in parsed_json['sortedOptions']:
    print option.keys()

要获得更完整的答案,请提供有效的json。提供的一个tou是而不是。提示:使用
curl
wget

为什么要将转换后的对象转换为JSON字符串,然后再转换为对象?这给了我一个错误,指示它需要是字符串,如果您有更直接的方法,请告诉我。这是我能够从此页面提取信息的唯一方法。您的代码不起作用。@coldspeed当我尝试运行您的代码时,上面的代码输出此NIKE Air Vapormax 281460。行
r=adapter.send(request,**kwargs)
将导致
请求。异常。SSLError:[SSL:CERTIFICATE\u VERIFY\u FAILED]证书验证失败(_ssl.c:661)
错误。谢谢,我根据您所说的使用了此选项并使其正常工作--“对于数据中的选项['sortedOptions']:打印(选项['product']['SKU'])”
for option in parsed_json['sortedOptions']:
    print option.keys()