七里-c 2023-06-14 11:08 采纳率: 0%
浏览 9

python 爬虫 请求这样的json怎么拿到里面的options

python 爬虫 请求这样的json怎么拿到里面的options 试了
productWeb = requests.get ( jsonurl,cookies=cookies,headers=headers )
ProductData = productWeb.json ()
print(ProductData[1])
print(ProductData["productDataWithOptions"])都拿不到里面的东西


```python
{
    'isValidated': False,
    'productDataWithOptions': {
        
        
        'nonSellableMinPurchasePrice': None,
        'nonSellablePercentSaved': 0,
        'options': [
            {
                'displayOrder': 1,
                'name': 'CushionColor',
                'optionDisplayType': 'Thumbnail',
                'optionID': 602,
                'optionImageDriverFlag': True,
                'optionLayoutType': 'GRID',
                'values': [
                    {
                        'availableFlag': True,
                        'maxDisplayPrice': 1734.99,
                        'maxFromSalePrice': 0,
                        'maxListPrice': 3259.99,
                        'maxOurPrice': 1734.99,
                        'maxOversizeItemFee': 0,
                        'minDisplayPrice': 1734.99,
                        'minFromSalePrice': 0,
                        'minListPrice': 3259.99,
                        'minOurPrice': 1734.99,
                        'minOversizeItemFee': 0,
                        'optionImg': '//content.haycdn.com/mgen/options: TKCL290_602_Beige.jpg',
                        'optionValueID': 161254043,
                        'percentSaved': 0,
                        'personalizationNotRequired': False,
                        'priceFlag': 'NORMAL',
                        'selectedFlag': False,
                        'swatchImg': None,
                        'temporaryPriceEndDate': None,
                        'text': 'Beige',
                        'valueOrder': 3
                    }
                    
                ],
                'isSelected': False,
                'selectedValueIndex': -1,
                'swatchImages': [

                ],
                'valuesSamePrice': False,
                'numAvailableValues': 11,
                'isRequired': True,
                'declineOptionText': None,
                'layoutType': 'GRID',
                'shouldDisableGridView': False
            }
        ],
        'optionSkus': [

        ],
        'pageName': 'tkclassicsflorencewicker7piecepatioconversationsetwithendtableand2setsofcushioncovers',
        'parentFirstReviewEligibleFlag': False,
        'parentFreeShippingFlag': True,
        'parentIsFastShipping': False,
        'parentShippingDisplayFlag': True,
        'partnerOnlyFlag': False,
        'percentSaved': 3,
        'personalization': 'no',
        'personalizationCharLimit': '0',
        'prefix': '',
        'prefixHayneedle': None,
        'priceFlag': 'NORMAL',
        'primarySite': 669,
        'productID': 'TKCL290',
        'productBanners': None,
        'promotions': [

        ],
        'rebateAmount': 0,
        'rebateFlag': False,
        'rebateID': 0,
        'relatedPreconfigSku': '',
        'returnPolicy': 'Youmayreturnmostnew,
        unused,
         'sellableFlag': True,
         'spinImageFlag': False,
        'status': 'IN_STOCK',
        'suffixHayneedle': None,
        'supplierAddendum': None,
        'temporaryPriceEndDate': None,
        'variationsInStock': 11,
        'warranty': None,
        'isNewProduct': False
    },
    'oneOptionSelected': False,
    'optionImageDriver': '',
    'requiredPersonalizationIDs': [

    ],
    'hasPersonalization': False,
    'selectedVariation': None,
    'selectedVariationName': '',
    'loyaltyPoints': None,
    'displayPrice': None
}


```

  • 写回答

3条回答 默认 最新

  • 大师兄6668 Python领域新星创作者 2023-06-14 11:19
    关注

    根据你提供的 json,ProductData 实际上是一个字典对象,因此可以使用字典的键来访问其值。而 productDataWithOptions 键对应的值也是一个字典,其中包含了包含 options 的键值对。因此,你可以像下面这样访问 options 列表:

    productWeb = requests.get(jsonurl, cookies=cookies, headers=headers)
    productData = productWeb.json()
    options = productData['productDataWithOptions']['options']
    print(options)
    

    这将会输出 options 列表中包含的所有元素。如果你只想访问列表中的第一个元素,你可以使用索引 0(Python 中的列表索引从 0 开始):

    firstOption = productData['productDataWithOptions']['options'][0]
    print(firstOption)
    

    这将输出第一个选项中包含的所有信息。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月14日

悬赏问题

  • ¥15 传感网应用开发单片机实训
  • ¥15 Delphi 关于sAlphaImageList使用问题
  • ¥15 寻找将CAJ格式文档转txt文本的方案
  • ¥20 数电设计提问求帮助,出租车计费器
  • ¥15 shein测试开发会问些啥我是写java的
  • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
  • ¥15 opnet仿真网络协议遇到问题
  • ¥15 在安装python的机器学习程序包scikit-learn(1.1版本)时遇到如下问题
  • ¥15 要用 STM8L050J3M3TR 输出1路PWM 没有输出 不知道是不是 复用IO需要配置还是 定时器初始化的问题
  • ¥15 Qt交叉编译代码后用得到的qmake来构建程序,无法找到designer模块