七里-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 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急