首页 > 解决方案 > 如何提取从网站上抓取的 Json 数据

问题描述

我使用 Beautiful soup 从网站中提取数据。内容采用 JSON 格式,我需要提取所有 display_name 值。我不知道如何导航和打印需要保存在 CSV 中的值。

我尝试使用一些像这样的数组示例

for productoslvl in soup2.findAll('script',{'id' :'searchResult'}):

    element = jsons[0]['display_name']
    print (element)

但我不断收到 KeyError

这是 JSON 数据:

{
    'page_size': -1,
    'refinements': [{
        'display_name': 'Brand',
        'values': [{
            'display_name': 'Acqua Di Parma',
            'status': 4,
            'value': 900096
        }],
        'type': 'checkboxes'
    }, {
        'display_name': 'Bristle Type',
        'values': [{
            'display_name': 'Addictive',
            'status': 1,
            'value': 14578019
        }, {
            'display_name': 'Casual',
            'status': 1,
            'value': 14578020
        }, {
            'display_name': 'Chic',
            'status': 1,
            'value': 14301148
        }, {
            'display_name': 'Polished',
            'status': 1,
            'value': 14578022
        }],
        'type': 'checkboxes'
    }, {
        'display_name': 'Coverage',
        'values': [{
            'display_name': 'Balanced',
            'status': 1,
            'value': 14301025
        }, {
            'display_name': 'Light',
            'status': 1,
            'value': 14577894
        }, {
            'display_name': 'Rich',
            'status': 1,
            'value': 14577895
        }],
        'type': 'checkboxes'
    }, {
        'display_name': 'Formulation',
        'values': [{
            'display_name': 'Cream',
            'status': 1,
            'value': 100069
        }, {
            'display_name': 'Spray',
            'status': 1,
            'value': 100072
        }],
        'type': 'checkboxes'
    }

标签: pythonjsonweb-scrapingbeautifulsoupweb-crawler

解决方案


推荐阅读