如何从JSON文件中获取属性

2024-05-12 09:00:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习Python Scrapy,我正在浏览一些在线商店网站。当我分析产品页面时,我想得到颜色变化和尺寸变化。数据是JSON格式的

我使用RE来获得“颜色”和“尺寸”:

colors = re.findall('"propertyValueDisplayName":"(.*?)"',response.content.decode())
for color in colors:
    item["color"] = color

我得到了颜色和尺寸列表,例如[黑”,“白”,“S”,“M”,“L”]

但我要颜色和尺寸分开,例如[黑”,“白”], 当我提取尺寸变化时,[“S”,“M”,“L”]

代码如下:


           "id": 0,
            "name": "SKUModule",
            "productSKUPropertyList": [{
                "isShowTypeColor": true,
                "order": 1,
                "showType": "colour_atla",
                "showTypeColor": true,
                "skuPropertyId": 14,
                "skuPropertyName": "Color",
                "skuPropertyValues": [{
                    "propertyValueDefinitionName": "Black",
                    "propertyValueDisplayName": "Black",
                    "propertyValueId": 771,
                    "propertyValueIdLong": 771,
                    "propertyValueName": "Beige",
                    "skuColorValue": "#F8F7E7",
                    "skuPropertyImagePath": "https://ae01.alicdn.com/kf/HTB1ptOiX2vsK1Rjy0Fiq6zwtXXab/2018-Hot-Eroic-Underwear-Sex-Dress-Erotico-Sexy-Costumes-Lingerie-Rose-Pink-Backless-Halter-Women-Babydoll.jpg_640x640.jpg",
                    "skuPropertyImageSummPath": "https://ae01.alicdn.com/kf/HTB1ptOiX2vsK1Rjy0Fiq6zwtXXab/2018-Hot-Eroic-Underwear-Sex-Dress-Erotico-Sexy-Costumes-Lingerie-Rose-Pink-Backless-Halter-Women-Babydoll.jpg_50x50.jpg",
                    "skuPropertyTips": "Black",
                    "skuPropertyValueShowOrder": 1,
                    "skuPropertyValueTips": "Black"
                }, {
                    "propertyValueDefinitionName": "White",
                    "propertyValueDisplayName": "White",
                    "propertyValueId": 193,
                    "propertyValueIdLong": 193,
                    "propertyValueName": "Black",
                    "skuColorValue": "#000000",
                    "skuPropertyImagePath": "https://ae01.alicdn.com/kf/HTB1sLGhX5YrK1Rjy0Fdq6ACvVXaJ/2018-Hot-Eroic-Underwear-Sex-Dress-Erotico-Sexy-Costumes-Lingerie-Rose-Pink-Backless-Halter-Women-Babydoll.jpg_640x640.jpg",
                    "skuPropertyImageSummPath": "https://ae01.alicdn.com/kf/HTB1sLGhX5YrK1Rjy0Fdq6ACvVXaJ/2018-Hot-Eroic-Underwear-Sex-Dress-Erotico-Sexy-Costumes-Lingerie-Rose-Pink-Backless-Halter-Women-Babydoll.jpg_50x50.jpg",
                    "skuPropertyTips": "White",
                    "skuPropertyValueShowOrder": 1,
                    "skuPropertyValueTips": "White"
                }]
            }, {
                "isShowTypeColor": false,
                "order": 2,
                "showType": "none",
                "showTypeColor": false,
                "skuPropertyId": 5,
                "skuPropertyName": "Size",
                "skuPropertyValues": [{
                    "propertyValueDisplayName": "S",
                    "propertyValueId": 100014064,
                    "propertyValueIdLong": 100014064,
                    "propertyValueName": "S",
                    "skuPropertyTips": "S",
                    "skuPropertyValueShowOrder": 2,
                    "skuPropertyValueTips": "S"
                }, {
                    "propertyValueDisplayName": "M",
                    "propertyValueId": 361386,
                    "propertyValueIdLong": 361386,
                    "propertyValueName": "M",
                    "skuPropertyTips": "M",
                    "skuPropertyValueShowOrder": 2,
                    "skuPropertyValueTips": "M"
                }, {
                    "propertyValueDisplayName": "L",
                    "propertyValueId": 361385,
                    "propertyValueIdLong": 361385,
                    "propertyValueName": "L",
                    "skuPropertyTips": "L",
                    "skuPropertyValueShowOrder": 2,
                    "skuPropertyValueTips": "L"
                }]
            }],
            "skuPriceList": [{
                "skuAttr": "14:193#White;5:361385",
                "skuId": 66477180418,
                "skuPropIds": "193,361385",
                "skuVal": {
                    "actSkuCalPrice": "3.20",
                    "actSkuMultiCurrencyCalPrice": "3.2",
                    "actSkuMultiCurrencyDisplayPrice": "3.20",
                    "availQuantity": 624,
                    "inventory": 624,
                    "isActivity": true,
                    "optionalWarrantyPrice": [],
                    "skuActivityAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.20",
                        "value": 3.2
                    },
                    "skuAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.64",
                        "value": 3.64
                    },
                    "skuCalPrice": "3.64",
                    "skuMultiCurrencyCalPrice": "3.64",
                    "skuMultiCurrencyDisplayPrice": "3.64"
                }
            }, {
                "skuAttr": "14:193#White;5:100014064",
                "skuId": 66477180416,
                "skuPropIds": "193,100014064",
                "skuVal": {
                    "actSkuCalPrice": "3.20",
                    "actSkuMultiCurrencyCalPrice": "3.2",
                    "actSkuMultiCurrencyDisplayPrice": "3.20",
                    "availQuantity": 605,
                    "inventory": 605,
                    "isActivity": true,
                    "optionalWarrantyPrice": [],
                    "skuActivityAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.20",
                        "value": 3.2
                    },
                    "skuAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.64",
                        "value": 3.64
                    },
                    "skuCalPrice": "3.64",
                    "skuMultiCurrencyCalPrice": "3.64",
                    "skuMultiCurrencyDisplayPrice": "3.64"
                }
            }, {
                "skuAttr": "14:193#White;5:361386",
                "skuId": 66477180417,
                "skuPropIds": "193,361386",
                "skuVal": {
                    "actSkuCalPrice": "3.20",
                    "actSkuMultiCurrencyCalPrice": "3.2",
                    "actSkuMultiCurrencyDisplayPrice": "3.20",
                    "availQuantity": 619,
                    "inventory": 619,
                    "isActivity": true,
                    "optionalWarrantyPrice": [],
                    "skuActivityAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.20",
                        "value": 3.2
                    },
                    "skuAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.64",
                        "value": 3.64
                    },
                    "skuCalPrice": "3.64",
                    "skuMultiCurrencyCalPrice": "3.64",
                    "skuMultiCurrencyDisplayPrice": "3.64"
                }
            }, {
                "skuAttr": "14:771#Black;5:361386",
                "skuId": 66477180414,
                "skuPropIds": "771,361386",
                "skuVal": {
                    "actSkuCalPrice": "3.20",
                    "actSkuMultiCurrencyCalPrice": "3.2",
                    "actSkuMultiCurrencyDisplayPrice": "3.20",
                    "availQuantity": 600,
                    "inventory": 600,
                    "isActivity": true,
                    "optionalWarrantyPrice": [],
                    "skuActivityAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.20",
                        "value": 3.2
                    },
                    "skuAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.64",
                        "value": 3.64
                    },
                    "skuCalPrice": "3.64",
                    "skuMultiCurrencyCalPrice": "3.64",
                    "skuMultiCurrencyDisplayPrice": "3.64"
                }
            }, {
                "skuAttr": "14:771#Black;5:361385",
                "skuId": 66477180415,
                "skuPropIds": "771,361385",
                "skuVal": {
                    "actSkuCalPrice": "3.20",
                    "actSkuMultiCurrencyCalPrice": "3.2",
                    "actSkuMultiCurrencyDisplayPrice": "3.20",
                    "availQuantity": 608,
                    "inventory": 608,
                    "isActivity": true,
                    "optionalWarrantyPrice": [],
                    "skuActivityAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.20",
                        "value": 3.2
                    },
                    "skuAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.64",
                        "value": 3.64
                    },
                    "skuCalPrice": "3.64",
                    "skuMultiCurrencyCalPrice": "3.64",
                    "skuMultiCurrencyDisplayPrice": "3.64"
                }
            }, {
                "skuAttr": "14:771#Black;5:100014064",
                "skuId": 66477180413,
                "skuPropIds": "771,100014064",
                "skuVal": {
                    "actSkuCalPrice": "3.20",
                    "actSkuMultiCurrencyCalPrice": "3.2",
                    "actSkuMultiCurrencyDisplayPrice": "3.20",
                    "availQuantity": 599,
                    "inventory": 599,
                    "isActivity": true,
                    "optionalWarrantyPrice": [],
                    "skuActivityAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.20",
                        "value": 3.2
                    },
                    "skuAmount": {
                        "currency": "USD",
                        "formatedAmount": "US $3.64",
                        "value": 3.64
                    },
                    "skuCalPrice": "3.64",
                    "skuMultiCurrencyCalPrice": "3.64",
                    "skuMultiCurrencyDisplayPrice": "3.64"
                }
            }],
            "warrantyDetailJson": "[]"
        },

如何分别获取颜色和大小数据


Tags: truevaluecurrencyjpgusblackusdwhite
1条回答
网友
1楼 · 发布于 2024-05-12 09:00:47

假设提供的json是来自请求的正确json响应。下面的代码可以工作

productSKUPropertyList = response.json()['productSKUPropertyList']
for sku in productSKUPropertyList:
    colors.append(sku['skuPropertyValues']['propertyValueDisplayName']) 
print colors

请试试这个。或者做必要的修改

相关问题 更多 >