【问题标题】:How to add dictionary element from beautifulsoup to json file如何将beautifulsoup中的字典元素添加到json文件中
【发布时间】:2017-06-14 23:49:48
【问题描述】:

你能帮我如何从字典导入 json 文件吗?我已经从网络上获取了所有标签,但仍然无法保存所有标签。这是我的代码

array= []
data = {}
for divdata in soup.findAll('div', {"class": "ratio9_8 box_img fl mr10"}):
    for div in divdata.findAll('div', {'class': 'img_con lqd'}):
        for getatag in div.findAll('a', {'data-category': 'WP Kanal Berita'},href = True):
            for getimgtag in getatag.findAll('img',title=True,src=True):
                array.append(getimgtag['title'])
                array.append(getimgtag['src'])
                array.append(getatag['href'])
                data['title'] = array[0]
                data['image'] = array[1]
                data['link'] = array[2]
with open('data.json', 'w') as outfile:
    json.dump(data, outfile)

运行程序时,我只得到一本字典

{"title": "......", "image": ".....", "link": "...."}

【问题讨论】:

    标签: json python-3.x dictionary beautifulsoup


    【解决方案1】:

    将您的输出语句放在您分配数据的循环中。您正在覆盖每次迭代的数据。如果您将代码更改为:

    array= []
    data = {}
    for divdata in soup.findAll('div', {"class": "ratio9_8 box_img fl mr10"}):
        for div in divdata.findAll('div', {'class': 'img_con lqd'}):
            for getatag in div.findAll('a', {'data-category': 'WP Kanal Berita'},href = True):
                for getimgtag in getatag.findAll('img',title=True,src=True):
                    array.append(getimgtag['title'])
                    array.append(getimgtag['src'])
                    array.append(getatag['href'])
                    data['title'] = array[0]
                    data['image'] = array[1]
                    data['link'] = array[2]
                    with open('data.json', 'a') as outfile:
                        json.dump(data, outfile)
    

    它应该给你你想要的。

    或者你可以这样做:

    array= []
    data = {}
    data_list = []
    for divdata in soup.findAll('div', {"class": "ratio9_8 box_img fl mr10"}):
        for div in divdata.findAll('div', {'class': 'img_con lqd'}):
            for getatag in div.findAll('a', {'data-category': 'WP Kanal Berita'},href = True):
                for getimgtag in getatag.findAll('img',title=True,src=True):
                    array.append(getimgtag['title'])
                    array.append(getimgtag['src'])
                    array.append(getatag['href'])
                    data['title'] = array[0]
                    data['image'] = array[1]
                    data['link'] = array[2]
                    data_list.append(data)
    data = {'data_list': data_list}
    with open('data.json', 'w') as outfile:
        json.dump(data, outfile)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-23
      • 2014-04-13
      • 2018-05-31
      • 2017-04-08
      • 2015-03-21
      • 2023-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多